diff options
-rw-r--r-- | src/constants/script_constants.asm | 3 | ||||
-rw-r--r-- | src/engine/bank04.asm | 1049 | ||||
-rw-r--r-- | src/engine/challenge_machine.asm | 26 | ||||
-rw-r--r-- | src/engine/credits.asm | 12 | ||||
-rw-r--r-- | src/engine/duel/animations/core.asm | 6 | ||||
-rw-r--r-- | src/engine/duel/animations/screen_effects.asm | 24 | ||||
-rw-r--r-- | src/engine/duel/core.asm | 14 | ||||
-rw-r--r-- | src/engine/game_loop.asm | 2 | ||||
-rw-r--r-- | src/engine/intro.asm | 2 | ||||
-rw-r--r-- | src/engine/link/link_duel.asm | 2 | ||||
-rw-r--r-- | src/engine/menus/card_album.asm | 4 | ||||
-rw-r--r-- | src/engine/menus/deck_machine.asm | 6 | ||||
-rw-r--r-- | src/engine/menus/deck_selection.asm | 4 | ||||
-rw-r--r-- | src/engine/menus/start.asm | 24 | ||||
-rw-r--r-- | src/engine/overworld/overworld.asm | 25 | ||||
-rw-r--r-- | src/engine/overworld/scripting.asm | 10 | ||||
-rw-r--r-- | src/engine/sequences/credits_sequence_commands.asm | 8 | ||||
-rw-r--r-- | src/engine/sgb.asm | 2 | ||||
-rw-r--r-- | src/engine/unused_copyright.asm | 6 | ||||
-rw-r--r-- | src/engine/unused_save_validation.asm | 4 | ||||
-rw-r--r-- | src/home/load_animation.asm | 6 | ||||
-rw-r--r-- | src/text/text3.asm | 60 | ||||
-rw-r--r-- | src/text/text_offsets.asm | 60 | ||||
-rw-r--r-- | src/wram.asm | 11 |
24 files changed, 708 insertions, 662 deletions
diff --git a/src/constants/script_constants.asm b/src/constants/script_constants.asm index 3a44694..3372266 100644 --- a/src/constants/script_constants.asm +++ b/src/constants/script_constants.asm @@ -304,4 +304,5 @@ NUM_MEDALS EQU 8 ; total number of packs that are obtained through the PC NUM_PC_PACKS EQU 15 -PACK_OPENED EQU %10000000 +PACK_UNOPENED_F EQU 7 +PACK_UNOPENED EQU 1 << PACK_UNOPENED_F diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index 0dfe388..f5a4856 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -1,4 +1,5 @@ -Func_10000: ; 10000 (4:4000) +; empties screen in preparation to draw some menu +InitMenuScreen: ld a, $0 ld [wTileMapFill], a call EmptyScreen @@ -11,13 +12,12 @@ Func_10000: ; 10000 (4:4000) ldh [hSCY], a ld a, [wLCDC] bit LCDC_ENABLE_F, a - jr nz, .asm_10025 + jr nz, .skip_clear_scroll xor a ldh [rSCX], a ldh [rSCY], a - -.asm_10025 - call Func_1288c +.skip_clear_scroll + call SetDefaultPalettes call ZeroObjectPositions ld a, $1 ld [wVBlankOAMCopyToggle], a @@ -25,7 +25,7 @@ Func_10000: ; 10000 (4:4000) ; saves all pals to SRAM, then fills them with white. ; after flushing, it loads back the saved pals from SRAM. -FlashWhiteScreen: ; 10031 (4:4031) +FlashWhiteScreen: ldh a, [hBankSRAM] push af @@ -33,7 +33,7 @@ FlashWhiteScreen: ; 10031 (4:4031) call BankswitchSRAM call CopyPalsToSRAMBuffer call DisableSRAM - call Func_10b28 + call SetWhitePalettes call FlushAllPalettes call EnableLCD call DoFrameIfLCDEnabled @@ -45,10 +45,10 @@ FlashWhiteScreen: ; 10031 (4:4031) call DisableSRAM ret -_PauseMenu_Status: ; 10059 (4:4059) +_PauseMenu_Status: ld a, [wd291] push af - call Func_10000 + call InitMenuScreen xor a ld [wMedalScreenYOffset], a call LoadCollectedMedalTilemaps @@ -56,21 +56,21 @@ _PauseMenu_Status: ; 10059 (4:4059) lb bc, 20, 8 call DrawRegularTextBox ld hl, StatusScreenLabels - call Func_111b3 - ld bc, $101 - call Func_1029a - ld bc, $c04 - call Func_1024a - ld bc, $d06 - call Func_101cd + call PrintLabels + lb bc, 1, 1 + call DrawPauseMenuPlayerPortrait + lb bc, 12, 4 + call PrintAlbumProgress + lb bc, 13, 6 + call PrintPlayTime call FlashWhiteScreen - ld a, $0b - call Func_12863 + ld a, A_BUTTON | B_BUTTON | START + call WaitUntilKeysArePressed pop af ld [wd291], a ret -StatusScreenLabels: ; 10095 (4:4095) +StatusScreenLabels: db 7, 2 tx PlayerStatusNameText @@ -82,42 +82,42 @@ StatusScreenLabels: ; 10095 (4:4095) db $ff -_PauseMenu_Diary: ; 100a2 (4:40a2) +_PauseMenu_Diary: ld a, [wd291] push af - call Func_10000 + call InitMenuScreen lb de, 0, 0 lb bc, 20, 12 call DrawRegularTextBox - ld hl, Unknown_100f7 - call Func_111b3 - ld bc, $103 - call Func_1029a - ld bc, $c08 - call Func_1024a - ld bc, $d0a - call Func_101cd + ld hl, DiaryScreenLabels + call PrintLabels + lb bc, 1, 3 + call DrawPauseMenuPlayerPortrait + lb bc, 12, 8 + call PrintAlbumProgress + lb bc, 13, 10 + call PrintPlayTime lb bc, 16, 6 - call Func_1027c + call PrintMedalCount call FlashWhiteScreen ldtx hl, PlayerDiarySaveQuestionText call YesOrNoMenuWithText_SetCursorToYes - jr c, .asm_100ec + jr c, .cancel farcall BackupPlayerPosition call SaveAndBackupData ld a, SFX_56 call PlaySFX ldtx hl, PlayerDiarySaveConfirmText - jr .asm_100ef -.asm_100ec + jr .print_result_text +.cancel ldtx hl, PlayerDiarySaveCancelText -.asm_100ef +.print_result_text call PrintScrollableText_NoTextBoxLabel pop af ld [wd291], a ret -Unknown_100f7: ; 100f7 (4:40f7) +DiaryScreenLabels: db 5, 1 tx PlayerDiaryTitleText @@ -135,7 +135,7 @@ Unknown_100f7: ; 100f7 (4:40f7) db $ff -LoadCollectedMedalTilemaps: ; 1010c (4:410c) +LoadCollectedMedalTilemaps: xor a ld [wd291], a lb de, 0, 8 @@ -156,14 +156,16 @@ LoadCollectedMedalTilemaps: ; 1010c (4:410c) ld a, EVENT_MEDAL_FLAGS farcall GetEventValue or a - jr z, .asm_1017e + jr z, .done ; no medals? + +; load tilemaps of only the collected medals ld c, NUM_MEDALS -.asm_10140 +.loop_medals push bc push hl push af bit 7, a - jr z, .asm_10157 + jr z, .skip_medal ld b, [hl] inc hl ld a, [wMedalScreenYOffset] @@ -173,7 +175,7 @@ LoadCollectedMedalTilemaps: ; 1010c (4:410c) ld a, [hli] ld [wCurTilemap], a farcall LoadTilemap_ToVRAM -.asm_10157 +.skip_medal pop af rlca pop hl @@ -181,7 +183,8 @@ LoadCollectedMedalTilemaps: ; 1010c (4:410c) add hl, bc pop bc dec c - jr nz, .asm_10140 + jr nz, .loop_medals + ld a, $80 ld [wd4ca], a xor a @@ -193,10 +196,10 @@ LoadCollectedMedalTilemaps: ; 1010c (4:410c) ld [wd4cb], a ld a, $76 farcall SetBGPAndLoadedPal -.asm_1017e +.done ret -MedalCoordsAndTilemaps: ; 1017f (4:417f) +MedalCoordsAndTilemaps: ; x, y, tilemap db 1, 10, TILEMAP_GRASS_MEDAL db 6, 10, TILEMAP_SCIENCE_MEDAL @@ -207,7 +210,7 @@ MedalCoordsAndTilemaps: ; 1017f (4:417f) db 11, 14, TILEMAP_ROCK_MEDAL db 16, 14, TILEMAP_FIGHTING_MEDAL -FlashReceivedMedal: ; 10197 (4:4197) +FlashReceivedMedal: xor a ld [wd291], a ld hl, MedalCoordsAndTilemaps @@ -242,7 +245,7 @@ FlashReceivedMedal: ; 10197 (4:4197) farcall LoadTilemap_ToVRAM ret -Func_101cd: ; 101cd (4:41cd) +PrintPlayTime: ld a, [wPlayTimeCounter + 2] ld [wPlayTimeHourMinutes], a ld a, [wPlayTimeCounter + 3] @@ -250,18 +253,18 @@ Func_101cd: ; 101cd (4:41cd) ld a, [wPlayTimeCounter + 4] ld [wPlayTimeHourMinutes + 2], a ; fallthrough -Func_101df: ; 101df (4:41df) +PrintPlayTime_SkipUpdateTime: push bc ld a, [wPlayTimeHourMinutes + 1] ld l, a ld a, [wPlayTimeHourMinutes + 2] ld h, a - call Func_10217 + call ConvertWordToNumericalDigits pop bc push bc call BCCoordToBGMap0Address - ld hl, wd4b4 - ld b, $03 + ld hl, wDecimalChars + ld b, 3 call SafeCopyDataHLtoDE ld a, [wPlayTimeHourMinutes] add 100 @@ -269,45 +272,49 @@ Func_101df: ; 101df (4:41df) ld a, 0 adc 0 ld h, a - call Func_10217 + call ConvertWordToNumericalDigits pop bc ld a, b - add $04 + add 4 ld b, a call BCCoordToBGMap0Address - ld hl, wd4b4 + 1 - ld b, $02 + ld hl, wDecimalChars + 1 + ld b, 2 call SafeCopyDataHLtoDE ret -Func_10217: ; 10217 (4:4217) - ld de, wd4b4 - ld bc, -100 - call Func_1023b - ld bc, -10 - call Func_1023b - ld a, l - add $20 +; input: +; hl = value to convert +ConvertWordToNumericalDigits: + ld de, wDecimalChars + ld bc, -100 ; hundreds + call .GetNumberSymbol + ld bc, -10 ; tens + call .GetNumberSymbol + ld a, l ; ones + add SYM_0 ld [de], a - ld hl, wd4b4 - ld c, $02 -.asm_1022f + +; remove leading zeroes + ld hl, wDecimalChars + ld c, 2 +.loop_digits ld a, [hl] - cp $20 - jr nz, .asm_1023a - ld [hl], $00 + cp SYM_0 + jr nz, .done ; reached a non-zero digit? + ld [hl], SYM_SPACE inc hl dec c - jr nz, .asm_1022f -.asm_1023a + jr nz, .loop_digits +.done ret -Func_1023b: ; 1023b (4:423b) - ld a, $1f -.asm_1023d +.GetNumberSymbol + ld a, SYM_0 - 1 +.loop inc a add hl, bc - jr c, .asm_1023d + jr c, .loop ld [de], a inc de ld a, l @@ -318,57 +325,60 @@ Func_1023b: ; 1023b (4:423b) ld h, a ret -Func_1024a: ; 1024a (4:424a) +; prints album progress in coords bc +PrintAlbumProgress: push bc call GetCardAlbumProgress pop bc ; fallthrough -Func_1024f: ; 1024f (4:424f) +PrintAlbumProgress_SkipGetProgress: push bc push de push bc - ld l, d + ld l, d ; number of different cards collected ld h, $00 - call Func_10217 + call ConvertWordToNumericalDigits pop bc call BCCoordToBGMap0Address - ld hl, wd4b4 - ld b, $03 + ld hl, wDecimalChars + ld b, 3 call SafeCopyDataHLtoDE pop de - ld l, e + ld l, e ; total number of cards ld h, $00 - call Func_10217 + call ConvertWordToNumericalDigits pop bc ld a, b - add $04 + add 4 ld b, a call BCCoordToBGMap0Address - ld hl, wd4b4 - ld b, $03 + ld hl, wDecimalChars + ld b, 3 call SafeCopyDataHLtoDE ret -Func_1027c: ; 1027c (4:427c) +; prints the number of medals collected in bc +PrintMedalCount: push bc farcall TryGiveMedalPCPacks ld a, EVENT_MEDAL_COUNT farcall GetEventValue ld l, a ld h, $00 - call Func_10217 + call ConvertWordToNumericalDigits pop bc call BCCoordToBGMap0Address - ld hl, wd4b4 + 2 - ld b, $01 + ld hl, wDecimalChars + 2 + ld b, 1 call SafeCopyDataHLtoDE ret -Func_1029a: ; 1029a (4:429a) +; bc = coordinates +DrawPauseMenuPlayerPortrait: call DrawPlayerPortrait ret -ShowMedalReceivedScreen: ; 1029e (4:429e) +ShowMedalReceivedScreen: sub $8 ld c, a ld [wWhichMedal], a @@ -380,7 +390,7 @@ ShowMedalReceivedScreen: ; 1029e (4:429e) call PlaySong farcall SetMainSGBBorder call DisableLCD - call Func_10000 + call InitMenuScreen ld a, -6 ld [wMedalScreenYOffset], a call LoadCollectedMedalTilemaps @@ -419,7 +429,7 @@ ShowMedalReceivedScreen: ; 1029e (4:429e) ld [wd291], a ret -MasterMedalNames: ; 1030b (4:430b) +MasterMedalNames: tx GrassClubMapNameText tx ScienceClubMapNameText tx FireClubMapNameText @@ -429,13 +439,13 @@ MasterMedalNames: ; 1030b (4:430b) tx RockClubMapNameText tx FightingClubMapNameText -GiveBoosterPack: ; 1031b (4:431b) +GiveBoosterPack: ld c, a ld a, [wd291] push af push bc call DisableLCD - call Func_10000 + call InitMenuScreen xor a ld [wTextBoxFrameType], a pop bc @@ -482,7 +492,7 @@ GiveBoosterPack: ; 1031b (4:431b) ldtx hl, CheckedCardsInBoosterPackText call PrintScrollableText_NoTextBoxLabel call DisableLCD - call Func_1288c + call SetDefaultPalettes call ZeroObjectPositions ld a, $1 ld [wVBlankOAMCopyToggle], a @@ -495,7 +505,7 @@ GiveBoosterPack: ; 1031b (4:431b) ld [wd291], a ret -BoosterTypes: ; 103a5 (4:43a5) +BoosterTypes: db BOOSTER_COLOSSEUM ; BOOSTER_COLOSSEUM_NEUTRAL db BOOSTER_COLOSSEUM ; BOOSTER_COLOSSEUM_GRASS db BOOSTER_COLOSSEUM ; BOOSTER_COLOSSEUM_FIRE @@ -526,7 +536,7 @@ BoosterTypes: ; 103a5 (4:43a5) db BOOSTER_COLOSSEUM ; BOOSTER_ENERGY_GRASS_PSYCHIC db BOOSTER_COLOSSEUM ; BOOSTER_ENERGY_RANDOM -BoosterScenesAndNameTexts: ; 103c2 (4:43c2) +BoosterScenesAndNameTexts: db SCENE_COLOSSEUM_BOOSTER, SCENE_COLOSSEUM_BOOSTER tx ColosseumBoosterText @@ -539,14 +549,14 @@ BoosterScenesAndNameTexts: ; 103c2 (4:43c2) db SCENE_LABORATORY_BOOSTER, SCENE_LABORATORY_BOOSTER tx LaboratoryBoosterText -_PauseMenu_Exit: ; 103d2 (4:43d2) +_PauseMenu_Exit: ret -Duel_Init: ; 103d3 (4:43d3) +Duel_Init: ld a, [wd291] push af call DisableLCD - call Func_10000 + call InitMenuScreen ld a, $4 ld [wTextBoxFrameType], a lb de, 0, 12 @@ -568,8 +578,8 @@ Duel_Init: ; 103d3 (4:43d3) ld [wTxRam2_b], a ld a, [wOpponentName + 1] ld [wTxRam2_b + 1], a - ld hl, OpponentTitleAndNameTextCoords - call Func_111b3 ; LoadDuelistName + ld hl, OpponentTitleAndNameLabel + call PrintLabels ; LoadDuelistName pop hl ld a, [hli] ld [wTxRam2], a @@ -577,14 +587,13 @@ Duel_Init: ; 103d3 (4:43d3) ld a, [hli] ld [wTxRam2 + 1], a or c - jr z, .asm_10425 - ld hl, OpponentDeckNameTextCoords - call Func_111b3 ; LoadDeckName - -.asm_10425 + jr z, .skip_deck_name + ld hl, OpponentDeckNameLabel + call PrintLabels ; LoadDeckName +.skip_deck_name lb bc, 7, 3 ld a, [wOpponentPortrait] - call Func_3e2a ; LoadDuelistPortrait + call DrawOpponentPortrait ld a, [wMatchStartTheme] call PlaySong call FlashWhiteScreen @@ -594,22 +603,22 @@ Duel_Init: ; 103d3 (4:43d3) call SetCursorParametersForTextBox call WaitForButtonAorB call WaitForSongToFinish - call Func_10ab4 ; fade out + call FadeScreenToWhite ; fade out pop af ld [wd291], a ret -OpponentTitleAndNameTextCoords: ; 10451 (4:4451) +OpponentTitleAndNameLabel: db 1, 14 tx OpponentTitleAndNameText db $ff -OpponentDeckNameTextCoords: ; 10456 (4:4456) +OpponentDeckNameLabel: db 1, 16 tx OpponentDeckNameText db $ff -OpponentTitlesAndDeckNames: ; 1045b (4:445b) +OpponentTitlesAndDeckNames: tx TechText tx SamsPracticeDeckName @@ -769,10 +778,10 @@ OpponentTitlesAndDeckNames: ; 1045b (4:445b) tx StrangeLifeformText tx ImakuniDeckName -_PCMenu_Glossary: ; 1052f (4:452f) +_PCMenu_Glossary: ld a, [wd291] push af - call Func_10000 + call InitMenuScreen lb de, $30, $ff call SetupText call FlashWhiteScreen @@ -781,7 +790,7 @@ _PCMenu_Glossary: ; 1052f (4:452f) ld [wd291], a ret -_PauseMenu_Config: ; 10548 (4:4548) +_PauseMenu_Config: ld a, [wd291] push af ld a, [wLineSeparation] @@ -790,27 +799,27 @@ _PauseMenu_Config: ; 10548 (4:4548) ld [wConfigExitSettingsCursorPos], a ld a, 1 ld [wLineSeparation], a - call Func_10000 + call InitMenuScreen lb de, 0, 3 lb bc, 20, 5 call DrawRegularTextBox lb de, 0, 9 lb bc, 20, 5 call DrawRegularTextBox - ld hl, Unknown_105bc - call Func_111b3 - call Func_105cd + ld hl, ConfigScreenLabels + call PrintLabels + call GetConfigCursorPositions ld a, 0 - call ShowRightArrowCursor + call ShowConfigMenuCursor ld a, 1 - call ShowRightArrowCursor + call ShowConfigMenuCursor xor a ld [wCursorBlinkTimer], a call FlashWhiteScreen .asm_10588 call DoFrameIfLCDEnabled ld a, [wConfigCursorYPos] - call Func_10649 + call UpdateConfigMenuCursor ld hl, wCursorBlinkTimer inc [hl] call ConfigScreenHandleDPadInput @@ -826,14 +835,14 @@ _PauseMenu_Config: ; 10548 (4:4548) .asm_105ab ld a, SFX_02 call PlaySFX - call Func_10606 + call SaveConfigSettings pop af ld [wLineSeparation], a pop af ld [wd291], a ret -Unknown_105bc: ; 105bc (4:45bc) +ConfigScreenLabels: db 1, 1 tx ConfigMenuTitleText @@ -848,10 +857,13 @@ Unknown_105bc: ; 105bc (4:45bc) db $ff -Func_105cd: ; 105cd (4:45cd) +; checks the current saved configuration settings +; and sets wConfigMessageSpeedCursorPos and wConfigDuelAnimationCursorPos +; to the right positions for those values +GetConfigCursorPositions: call EnableSRAM - ld c, $00 - ld hl, Unknown_10644 + ld c, 0 + ld hl, TextDelaySettings .loop ld a, [sTextSpeed] cp [hl] @@ -859,45 +871,45 @@ Func_105cd: ; 105cd (4:45cd) inc hl inc c ld a, c - cp $04 + cp 4 jr c, .loop .match ld a, c ld [wConfigMessageSpeedCursorPos], a ld a, [sSkipDelayAllowed] - and $01 + and $1 rlca ld c, a ld a, [wAnimationsDisabled] - and $01 + and $1 or c ld c, a ld b, $00 - ld hl, Unknown_10602 + ld hl, DuelAnimationSettingsIndices add hl, bc ld a, [hl] ld [wConfigDuelAnimationCursorPos], a call DisableSRAM ret -; indexes into Unknown_1063c -; $00: show all -; $01: skip some -; $02: none -Unknown_10602: ; 10602 (4:4602) - db $00 ; skip delay allowed = false, animations disabled = false - db $00 ; skip delay allowed = false, animations disabled = true (unused) - db $01 ; skip delay allowed = true, animations disabled = false - db $02 ; skip delay allowed = true, animations disabled = true +; indexes into DuelAnimationSettings +; 0: show all +; 1: skip some +; 2: none +DuelAnimationSettingsIndices: + db 0 ; skip delay allowed = false, animations disabled = false + db 0 ; skip delay allowed = false, animations disabled = true (unused) + db 1 ; skip delay allowed = true, animations disabled = false + db 2 ; skip delay allowed = true, animations disabled = true -Func_10606: ; 10606 (4:4606) +SaveConfigSettings: call EnableSRAM ld a, [wConfigDuelAnimationCursorPos] - and $03 + and %11 rlca ld c, a ld b, $00 - ld hl, Unknown_1063c + ld hl, DuelAnimationSettings add hl, bc ld a, [hli] ld [wAnimationsDisabled], a @@ -908,7 +920,7 @@ Func_10606: ; 10606 (4:4606) ld a, [wConfigMessageSpeedCursorPos] ld c, a ld b, $00 - ld hl, Unknown_10644 + ld hl, TextDelaySettings add hl, bc call EnableSRAM ld a, [hl] @@ -917,7 +929,7 @@ Func_10606: ; 10606 (4:4606) call DisableSRAM ret -Unknown_1063c: ; 1063c (4:463c) +DuelAnimationSettings: ; animation disabled, skip delay allowed db FALSE, FALSE ; show all db FALSE, TRUE ; skip some @@ -925,38 +937,38 @@ Unknown_1063c: ; 1063c (4:463c) db FALSE, FALSE ; unused ; text printing delay -Unknown_10644: ; 10644 (4:4644) +TextDelaySettings: ; slow to fast db 6, 4, 2, 1, 0 -Func_10649: ; 10649 (4:4649) +UpdateConfigMenuCursor: push af ld a, [wCursorBlinkTimer] and $10 - jr z, .asm_10654 + jr z, .show pop af - jr HideRightArrowCursor -.asm_10654 + jr HideConfigMenuCursor +.show pop af - jr ShowRightArrowCursor + jr ShowConfigMenuCursor ; can be fallthrough -ShowRightArrowCursor: ; 10657 (4:4657) +ShowConfigMenuCursor: push bc ld c, a ld a, SYM_CURSOR_R - call Func_10669 + call DrawConfigMenuCursor pop bc ret -HideRightArrowCursor: ; 10660 (4:4660) +HideConfigMenuCursor: push bc ld c, a ld a, SYM_SPACE - call Func_10669 + call DrawConfigMenuCursor pop bc ret -Func_10669: ; 10669 (4:4669) +DrawConfigMenuCursor: push af sla c ld b, $00 @@ -983,12 +995,12 @@ Func_10669: ; 10669 (4:4669) call WriteByteToBGMap0 ret -ConfigScreenCursorPositions: ; 10688 (4:4688) +ConfigScreenCursorPositions: dw MessageSpeedCursorPositions dw DuelAnimationsCursorPositions dw ExitSettingsCursorPosition -MessageSpeedCursorPositions: ; 1068e (4:468e) +MessageSpeedCursorPositions: dw wConfigMessageSpeedCursorPos db 5, 6 db 7, 6 @@ -996,19 +1008,19 @@ MessageSpeedCursorPositions: ; 1068e (4:468e) db 11, 6 db 13, 6 -DuelAnimationsCursorPositions: ; 1069a (4:469a) +DuelAnimationsCursorPositions: dw wConfigDuelAnimationCursorPos db 1, 12 db 7, 12 db 15, 12 -ExitSettingsCursorPosition: ; 106a2 (4:46a2) +ExitSettingsCursorPosition: dw wConfigExitSettingsCursorPos db 1, 16 db 0 -ConfigScreenHandleDPadInput: ; 106a7 (4:46a7) +ConfigScreenHandleDPadInput: ldh a, [hDPadHeld] and D_PAD ret z @@ -1016,28 +1028,28 @@ ConfigScreenHandleDPadInput: ; 106a7 (4:46a7) ld hl, ConfigScreenDPadHandlers jp JumpToFunctionInTable -ConfigScreenDPadHandlers: ; 106b6 (4:46b6) +ConfigScreenDPadHandlers: dw ConfigScreenDPadUp ; up dw ConfigScreenDPadRight ; right dw ConfigScreenDPadDown ; down dw ConfigScreenDPadLeft ; left -ConfigScreenDPadUp: ; 106be (4:46be) +ConfigScreenDPadUp: ld a, -1 jr ConfigScreenDPadDown.up_or_down -ConfigScreenDPadDown: ; 106c2 (4:46c2) +ConfigScreenDPadDown: ld a, 1 .up_or_down push af ld a, [wConfigCursorYPos] cp 2 jr z, .hide_cursor - call ShowRightArrowCursor + call ShowConfigMenuCursor jr .skip .hide_cursor ; hide "exit settings" cursor if leaving bottom row - call HideRightArrowCursor + call HideConfigMenuCursor .skip ld a, [wConfigCursorYPos] ld b, a @@ -1060,99 +1072,106 @@ ConfigScreenDPadDown: ; 106c2 (4:46c2) ld a, [hl] ld [wCursorBlinkTimer], a ld a, [wConfigCursorYPos] - call Func_10649 + call UpdateConfigMenuCursor ld a, SFX_01 call PlaySFX ret -Unknown_106ff: ; 106ff (4:46ff) +Unknown_106ff: db $18 ; message speed, start hidden db $18 ; duel animation, start hidden db $8 ; exit settings, start visible -ConfigScreenDPadRight: ; 10702 (4:4702) - ld a, $01 +ConfigScreenDPadRight: + ld a, 1 jr ConfigScreenDPadLeft.left_or_right -ConfigScreenDPadLeft: ; 10706 (4:4706) - ld a, $ff +ConfigScreenDPadLeft: + ld a, -1 .left_or_right push af ld a, [wConfigCursorYPos] - call HideRightArrowCursor + call HideConfigMenuCursor pop af - call Func_1071e + call .ApplyPosChange ld a, [wConfigCursorYPos] - call ShowRightArrowCursor + call ShowConfigMenuCursor xor a ld [wCursorBlinkTimer], a ret -Func_1071e: ; 1071e (4:471e) +; a = 1 for right, -1 for left +.ApplyPosChange push af ld a, [wConfigCursorYPos] ld c, a add a - add c + add c ; *3 ld c, a ld b, $00 - ld hl, Unknown_1074d + ld hl, .MaxCursorPositions add hl, bc ld a, [hli] ld e, a ld a, [hli] ld d, a - ld c, [hl] + ld c, [hl] ; max value ld a, [de] ld b, a pop af - add b + add b ; apply pos change cp c - jr c, .asm_10742 - jr z, .asm_10742 + jr c, .got_new_pos + jr z, .got_new_pos cp $80 - jr c, .asm_10741 + jr c, .wrap_around + ; wrap to last ld a, c - jr .asm_10742 -.asm_10741 + jr .got_new_pos +.wrap_around + ; wrap to first xor a -.asm_10742 +.got_new_pos ld [de], a ld a, c or a - jr z, .asm_1074c + jr z, .skip_sfx ld a, SFX_01 call PlaySFX -.asm_1074c +.skip_sfx ret -Unknown_1074d: ; 1074d (4:474d) +.MaxCursorPositions: ; x pos variable, max x value - dwb wConfigMessageSpeedCursorPos, 4 + dwb wConfigMessageSpeedCursorPos, 4 dwb wConfigDuelAnimationCursorPos, 2 - dwb wConfigExitSettingsCursorPos, 0 + dwb wConfigExitSettingsCursorPos, 0 -Func_10756: ; 10756 (4:4756) +; clears all PC packs in WRAM +; and then gives the 1st pack +; this doesn't clear in SRAM so +; it's not done to clear PC pack data +InitPCPacks: push hl push bc xor a ld [wPCPackSelection], a ld hl, wPCPacks ld c, NUM_PC_PACKS -.asm_10761 +.loop_packs ld [hli], a dec c - jr nz, .asm_10761 + jr nz, .loop_packs ld a, $1 call TryGivePCPack pop bc pop hl ret -_PCMenu_ReadMail: ; 1076d (4:476d) +_PCMenu_ReadMail: ld a, [wd291] push af - call Func_10000 + call InitMenuScreen lb de, $30, $ff call SetupText lb de, 0, 0 @@ -1161,17 +1180,17 @@ _PCMenu_ReadMail: ; 1076d (4:476d) lb de, 0, 12 lb bc, 20, 6 call DrawRegularTextBox - ld hl, Unknown_107d2 - call Func_111b3 - call Func_10996 + ld hl, MailScreenLabels + call PrintLabels + call PrintObtainedPCPacks xor a ld [wCursorBlinkTimer], a call FlashWhiteScreen .asm_1079c call DoFrameIfLCDEnabled ld a, [wPCPackSelection] - call Func_1097c - call Func_10a05 + call UpdateMailMenuCursor + call BlinkUnopenedPCPacks ld hl, wCursorBlinkTimer inc [hl] call PCMailHandleDPadInput @@ -1186,23 +1205,23 @@ _PCMenu_ReadMail: ; 1076d (4:476d) ret ; unreferenced? -Unknown_107c2: ; 107c2 (4:47c2) +Unknown_107c2: db $01, $00, $00, $4a, $21, $b5, $42, $e0 db $03, $4a, $29, $94, $52, $fF, $7f, $00 -Unknown_107d2: ; 107d2 (4:47d2) +MailScreenLabels: db 1, 0 - tx Text0359 + tx MailText db 1, 14 - tx Text035a + tx WhichMailWouldYouLikeToReadText db 0, 20 - tx Text035b + tx MailNumbersText db $ff -PCMailHandleDPadInput: ; 107df (4:47df) +PCMailHandleDPadInput: ldh a, [hDPadHeld] and D_PAD ret z @@ -1210,7 +1229,7 @@ PCMailHandleDPadInput: ; 107df (4:47df) ld [wPCLastDirectionPressed], a ld a, [wPCPackSelection] push af - call Func_10989 + call HideMailMenuCursor .asm_107f2 ld a, [wPCPackSelection] add a @@ -1238,12 +1257,12 @@ PCMailHandleDPadInput: ; 107df (4:47df) ld a, SFX_01 call PlaySFX .asm_1081d - call Func_10985 + call ShowMailMenuCursor xor a ld [wCursorBlinkTimer], a ret -PCMailTransitionTable: ; 10825 (4:4825) +PCMailTransitionTable: ; up, right, down, left db $0c, $01, $03, $02 ; mail 1 db $0d, $02, $04, $00 ; mail 2 @@ -1261,14 +1280,14 @@ PCMailTransitionTable: ; 10825 (4:4825) db $0a, $0e, $01, $0c ; mail 14 db $0b, $0c, $02, $0d ; mail 15 -PCMailHandleAInput: ; 10861 (4:4861) +PCMailHandleAInput: ldh a, [hKeysPressed] and A_BUTTON ret z ld a, SFX_02 call PlaySFX - call Func_10996 - call Func_10985 + call PrintObtainedPCPacks + call ShowMailMenuCursor ld a, [wPCPackSelection] ld c, a ld b, $00 @@ -1290,19 +1309,19 @@ PCMailHandleAInput: ; 10861 (4:4861) ld h, [hl] ld l, a ld a, [wPCPackSelection] - call Func_109ab + call GetPCPackNameTextID call PrintScrollableText_WithTextBoxLabel call TryOpenPCMailBoosterPack - call Func_10000 + call InitMenuScreen lb de, $30, $ff call SetupText lb de, 0, 0 lb bc, 20, 12 call DrawRegularTextBox - ld hl, Unknown_107d2 - call Func_111b3 - call Func_10996 - call Func_10985 + ld hl, MailScreenLabels + call PrintLabels + call PrintObtainedPCPacks + call ShowMailMenuCursor call FlashWhiteScreen pop hl inc hl @@ -1312,18 +1331,18 @@ PCMailHandleAInput: ; 10861 (4:4861) or h jr z, .no_page_two ld a, [wPCPackSelection] - call Func_109ab + call GetPCPackNameTextID call PrintScrollableText_WithTextBoxLabel .no_page_two lb de, 0, 12 lb bc, 20, 6 call DrawRegularTextBox - ld hl, Unknown_107d2 - call Func_111b3 + ld hl, MailScreenLabels + call PrintLabels call DoFrameIfLCDEnabled ret -PCMailTextPages: ; 108e0 (4:48e0) +PCMailTextPages: ; unused dw NULL dw NULL @@ -1388,11 +1407,11 @@ PCMailTextPages: ; 108e0 (4:48e0) tx Text0418 dw NULL -TryOpenPCMailBoosterPack: ; 10920 (4:4920) +TryOpenPCMailBoosterPack: xor a ld [wAnotherBoosterPack], a ld a, [wSelectedPCPack] - bit 7, a + bit PACK_UNOPENED_F, a jr z, .booster_already_open and $7f add a @@ -1415,14 +1434,14 @@ TryOpenPCMailBoosterPack: ; 10920 (4:4920) ret .booster_already_open - call Func_10000 + call InitMenuScreen lb de, $30, $ff call SetupText ldtx hl, Text0419 call PrintScrollableText_NoTextBoxLabel jr .done -PCMailBoosterPacks: ; 1095c (4:495c) +PCMailBoosterPacks: db $00, $00 ; unused db BOOSTER_COLOSSEUM_NEUTRAL, $00 ; mail 1 db BOOSTER_LABORATORY_PSYCHIC, $00 ; mail 2 @@ -1440,47 +1459,52 @@ PCMailBoosterPacks: ; 1095c (4:495c) db BOOSTER_MYSTERY_TRAINER_COLORLESS, $00 ; mail 14 db BOOSTER_LABORATORY_TRAINER, $00 ; mail 15 -Func_1097c: ; 1097c (4:497c) +UpdateMailMenuCursor: ld a, [wCursorBlinkTimer] and $10 - jr z, Func_10985 - jr Func_10989 -Func_10985: ; 10985 (4:4985) + jr z, ShowMailMenuCursor + jr HideMailMenuCursor +ShowMailMenuCursor: ld a, SYM_CURSOR_R - jr Func_1098d -Func_10989: ; 10989 (4:4989) + jr DrawMailMenuCursor +HideMailMenuCursor: ld a, SYM_SPACE - jr Func_1098d -Func_1098d: ; 1098d (4:498d) + jr DrawMailMenuCursor ; can be fallthrough +DrawMailMenuCursor: push af - call Func_10a41 + call GePCPackSelectionCoordinates pop af call WriteByteToBGMap0 ret -Func_10996: ; 10996 (4:4996) - ld e, $00 +; prints all the PC packs that player +; has already obtained +PrintObtainedPCPacks: + ld e, $0 ld hl, wPCPacks -.asm_1099b +.loop_packs ld a, [hl] or a - jr z, .asm_109a3 + jr z, .next_pack ld a, e - call Func_109d7 -.asm_109a3 + call PrintPCPackName +.next_pack inc hl inc e ld a, e - cp $0f - jr c, .asm_1099b + cp NUM_PC_PACKS + jr c, .loop_packs ret -Func_109ab: ; 109ab (4:49ab) +; outputs in de the text ID +; corresponding to the name +; of the mail in input a +GetPCPackNameTextID: push hl add a ld e, a ld d, $00 - ld hl, Unknown_109b9 + ld hl, .PCPackNameTextIDs add hl, de ld e, [hl] inc hl @@ -1488,33 +1512,35 @@ Func_109ab: ; 109ab (4:49ab) pop hl ret -Unknown_109b9: ; 109b9 (4:49b9) - tx Text035d - tx Text035e - tx Text035f - tx Text0360 - tx Text0361 - tx Text0362 - tx Text0363 - tx Text0364 - tx Text0365 - tx Text0366 - tx Text0367 - tx Text0368 - tx Text0369 - tx Text036a - tx Text036b - -Func_109d7: ; 109d7 (4:49d7) +.PCPackNameTextIDs: + tx Mail1Text + tx Mail2Text + tx Mail3Text + tx Mail4Text + tx Mail5Text + tx Mail6Text + tx Mail7Text + tx Mail8Text + tx Mail9Text + tx Mail10Text + tx Mail11Text + tx Mail12Text + tx Mail13Text + tx Mail14Text + tx Mail15Text + +; prints on screen the name of +; the PC pack from input in a +PrintPCPackName: push hl push bc push de push af - call Func_109ab + call GetPCPackNameTextID ld l, e ld h, d pop af - call Func_10a2f + call GetPCPackCoordinates ld e, c ld d, b call InitTextPrinting @@ -1524,62 +1550,72 @@ Func_109d7: ; 109d7 (4:49d7) pop hl ret -Func_109f0: ; 109f0 (4:49f0) +; prints empty characters on screen +; corresponding to the PC pack in a +; this is to create the blinking +; effect of unopened PC packs +PrintEmptyPCPackName: push hl push bc push de - call Func_10a2f + call GetPCPackCoordinates ld e, c ld d, b call InitTextPrinting - ldtx hl, Text035c + ldtx hl, EmptyMailNameText call PrintTextNoDelay pop de pop bc pop hl ret -Func_10a05: ; 10a05 (4:4a05) +BlinkUnopenedPCPacks: ld e, $00 ld hl, wPCPacks -.asm_10a0a +.loop_packs ld a, [hl] or a - jr z, .asm_10a27 - bit 7, a - jr z, .asm_10a27 + jr z, .next_pack + bit PACK_UNOPENED_F, a + jr z, .next_pack ld a, [wCursorBlinkTimer] and $0c - jr z, .asm_10a23 + jr z, .show cp $0c - jr nz, .asm_10a27 + jr nz, .next_pack +; hide ld a, e - call Func_109f0 - jr .asm_10a27 -.asm_10a23 + call PrintEmptyPCPackName + jr .next_pack +.show ld a, e - call Func_109d7 -.asm_10a27 + call PrintPCPackName +.next_pack inc hl inc e ld a, e - cp $0f - jr c, .asm_10a0a + cp NUM_PC_PACKS + jr c, .loop_packs ret -Func_10a2f: ; 10a2f (4:4a2f) +; outputs in bc the coordinates +; corresponding to the PC pack in a +GetPCPackCoordinates: ld c, a ld a, [wPCPackSelection] push af ld a, c ld [wPCPackSelection], a - call Func_10a41 + call GePCPackSelectionCoordinates inc b pop af ld [wPCPackSelection], a ret -Func_10a41: ; 10a41 (4:4a41) +; outputs in bc the coordinates +; corresponding to the PC pack +; that is stored in wPCPackSelection +GePCPackSelectionCoordinates: push hl ld a, [wPCPackSelection] add a @@ -1593,7 +1629,7 @@ Func_10a41: ; 10a41 (4:4a41) pop hl ret -PCMailCoordinates: ; 10a52 (4:4a52) +PCMailCoordinates: db 1, 2 ; mail 1 db 7, 2 ; mail 2 db 13, 2 ; mail 3 @@ -1611,7 +1647,7 @@ PCMailCoordinates: ; 10a52 (4:4a52) db 13, 10 ; mail 15 ; gives the pc pack described in a -TryGivePCPack: ; 10a70 (4:4a70) +TryGivePCPack: push hl push bc push de @@ -1639,7 +1675,7 @@ TryGivePCPack: ; 10a70 (4:4a70) .foundFreeSlot ld a, b - or PACK_OPENED ; mark pack as unopened + or PACK_UNOPENED ; mark pack as unopened ld [hl], a .quit @@ -1650,7 +1686,7 @@ TryGivePCPack: ; 10a70 (4:4a70) ; writes wd293 with byte depending on console ; every entry in the list is $00 -Func_10a9b: ; 10a9b (4:4a9b) +Func_10a9b: push hl ld a, [wConsole] add LOW(.data_10ab1) @@ -1670,14 +1706,14 @@ Func_10a9b: ; 10a9b (4:4a9b) db $00 ; CONSOLE_SGB db $00 ; CONSOLE_CGB -Func_10ab4: ; 10ab4 (4:4ab4) +FadeScreenToWhite: ld a, [wLCDC] - bit 7, a + bit LCDC_ENABLE_F, a jr z, .lcd_off ld a, [wd293] - ld [wd294], a - ld [wd295], a - ld [wd296], a + ld [wTempBGP], a + ld [wTempOBP0], a + ld [wTempOBP1], a ld de, PALRGB_WHITE ld hl, wTempBackgroundPalettesCGB ld bc, NUM_BACKGROUND_PALETTES palettes @@ -1699,28 +1735,28 @@ Func_10ab4: ; 10ab4 (4:4ab4) call FlushAllPalettes ret -Func_10af9: ; 10af9 (4:4af9) - call BackupPalsAndSetWhite +FadeScreenFromWhite: + call .BackupPalsAndSetWhite call RestoreFirstColorInOBPals call FlushAllPalettes call EnableLCD jp FadeScreenToTempPals -BackupPalsAndSetWhite: ; 10b08 (4:4b08) +.BackupPalsAndSetWhite ld a, [wBGP] - ld [wd294], a + ld [wTempBGP], a ld a, [wOBP0] - ld [wd295], a + ld [wTempOBP0], a ld a, [wOBP1] - ld [wd296], a + ld [wTempOBP1], a ld hl, wBackgroundPalettesCGB ld de, wTempBackgroundPalettesCGB ld bc, NUM_BACKGROUND_PALETTES palettes + NUM_OBJECT_PALETTES palettes call CopyDataHLtoDE_SaveRegisters - jr Func_10b28 ; can be fallthrough + jr SetWhitePalettes ; can be fallthrough ; fills wBackgroundPalettesCGB with white pal -Func_10b28: ; 10b28 (4:4b28) +SetWhitePalettes: ld a, [wd293] ld [wBGP], a ld [wOBP0], a @@ -1733,7 +1769,7 @@ Func_10b28: ; 10b28 (4:4b28) ; gets from backup OB pals the first color ; of each pal and writes them in wObjectPalettesCGB -RestoreFirstColorInOBPals: ; 10b41 (4:4b41) +RestoreFirstColorInOBPals: ld hl, wTempObjectPalettesCGB ld de, wObjectPalettesCGB ld c, NUM_OBJECT_PALETTES @@ -1757,7 +1793,7 @@ RestoreFirstColorInOBPals: ; 10b41 (4:4b41) jr nz, .loop_pals ret -FadeScreenToTempPals: ; 10b5e (4:4b5e) +FadeScreenToTempPals: ld a, [wVBlankCounter] push af ld c, $10 @@ -1781,13 +1817,13 @@ FadeScreenToTempPals: ; 10b5e (4:4b5e) sub b ret -; does something with wBGP given wd294 +; does something with wBGP given wTempBGP ; mixes them into a single value? -Func_10b85: ; 10b85 (4:4b85) +Func_10b85: push bc ld c, $03 ld hl, wBGP - ld de, wd294 + ld de, wTempBGP .asm_10b8e push bc ld b, [hl] @@ -1867,28 +1903,28 @@ Func_10b85: ; 10b85 (4:4b85) db %10 ; b = %11 | c = %10 db %11 ; b = %11 | c = %11 -FadeOBPalIntoTemp: ; 10be1 (4:4be1) +FadeOBPalIntoTemp: push bc ld c, 4 palettes ld hl, wObjectPalettesCGB ld de, wTempObjectPalettesCGB jr FadePalIntoAnother -FadeBGPalIntoTemp1: ; 10bec (4:4bec) +FadeBGPalIntoTemp1: push bc ld c, 2 palettes ld hl, wBackgroundPalettesCGB ld de, wTempBackgroundPalettesCGB jr FadePalIntoAnother -FadeBGPalIntoTemp2: ; 10bf7 (4:4bf7) +FadeBGPalIntoTemp2: push bc ld c, 2 palettes ld hl, wBackgroundPalettesCGB + 4 palettes ld de, wTempBackgroundPalettesCGB + 4 palettes jr FadePalIntoAnother -FadeBGPalIntoTemp3: ; 10c02 (4:4c02) +FadeBGPalIntoTemp3: push bc ld c, 4 palettes ld hl, wBackgroundPalettesCGB @@ -1898,7 +1934,7 @@ FadeBGPalIntoTemp3: ; 10c02 (4:4c02) ; hl = input pal to modify ; de = pal to fade into ; c = number of colors to fade -FadePalIntoAnother: ; 10c0b (4:4c0b) +FadePalIntoAnother: push bc ld a, [de] inc de @@ -2034,22 +2070,24 @@ FadePalIntoAnother: ; 10c0b (4:4c0b) inc a ret -Func_10c96: ; 10c96 (4:4c96) +; fades screen to white then +; if c == 0, fade back in +; keep white otherwise +FlashScreenToWhite: ldh a, [hBankSRAM] push af push bc ld a, BANK("SRAM1") call BankswitchSRAM call CopyPalsToSRAMBuffer - call Func_10ab4 + call FadeScreenToWhite pop bc ld a, c or a - jr nz, .asm_10cb0 + jr nz, .skip_fade_in call LoadPalsFromSRAMBuffer - call Func_10af9 - -.asm_10cb0 + call FadeScreenFromWhite +.skip_fade_in call EnableLCD pop af call BankswitchSRAM @@ -2059,7 +2097,7 @@ Func_10c96: ; 10c96 (4:4c96) ; copies current BG and OP pals, ; wBackgroundPalettesCGB and wObjectPalettesCGB ; to sGfxBuffer2 -CopyPalsToSRAMBuffer: ; 10cbb (4:4cbb) +CopyPalsToSRAMBuffer: ldh a, [hBankSRAM] push af @@ -2090,7 +2128,7 @@ CopyPalsToSRAMBuffer: ; 10cbb (4:4cbb) ; loads BG and OP pals, ; wBackgroundPalettesCGB and wObjectPalettesCGB ; from sGfxBuffer2 -LoadPalsFromSRAMBuffer: ; 10cea (4:4cea) +LoadPalsFromSRAMBuffer: ldh a, [hBankSRAM] push af @@ -2118,13 +2156,13 @@ LoadPalsFromSRAMBuffer: ; 10cea (4:4cea) ; backs up all palettes ; and writes 4 BG pals with white pal -Func_10d17: ; 10d17 (4:4d17) +Func_10d17: ld a, [wBGP] - ld [wd294], a + ld [wTempBGP], a ld a, [wOBP0] - ld [wd295], a + ld [wTempOBP0], a ld a, [wOBP1] - ld [wd296], a + ld [wTempOBP1], a ld hl, wBackgroundPalettesCGB ld de, wTempBackgroundPalettesCGB ld bc, NUM_BACKGROUND_PALETTES palettes + NUM_OBJECT_PALETTES palettes @@ -2142,13 +2180,13 @@ Func_10d17: ; 10d17 (4:4d17) ld [wd317], a ret -Func_10d50: ; 10d50 (4:4d50) +Func_10d50: ld a, [wd293] - ld [wd294], a + ld [wTempBGP], a ld a, [wOBP0] - ld [wd295], a + ld [wTempOBP0], a ld a, [wOBP1] - ld [wd296], a + ld [wTempOBP1], a ld de, PALRGB_WHITE ld hl, wTempBackgroundPalettesCGB ld bc, 4 palettes @@ -2164,7 +2202,7 @@ Func_10d50: ; 10d50 (4:4d50) ; and Flush Palettes ; then decrements wd317 ; does nothing if wd317 is 0 -Func_10d74: ; 10d74 (4:4d74) +Func_10d74: ld a, [wd317] or a ret z @@ -2183,7 +2221,7 @@ Func_10d74: ; 10d74 (4:4d74) ld [wd317], a ret -Unknown_10d98: ; 10d98 (4:4d98) +Unknown_10d98: db 12, 0 ; start menu coords db 8, 14 ; start menu text box dimensions @@ -2198,7 +2236,7 @@ Unknown_10d98: ; 10d98 (4:4d98) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -Unknown_10da9: ; 10da9 (4:4da9) +Unknown_10da9: db 10, 0 ; start menu coords db 10, 12 ; start menu text box dimensions @@ -2213,16 +2251,16 @@ Unknown_10da9: ; 10da9 (4:4da9) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -Func_10dba: ; 10dba (4:4dba) +GiftCenterMenu: ld a, 1 << AUTO_CLOSE_TEXTBOX farcall SetOverworldNPCFlags ld a, [wSelectedGiftCenterMenuItem] ld hl, Unknown_10e17 - farcall InitAndPrintPauseMenu -.asm_10dca + farcall InitAndPrintMenu +.loop_input call DoFrameIfLCDEnabled call HandleMenuInput - jr nc, .asm_10dca + jr nc, .loop_input ld a, e ld [wSelectedGiftCenterMenuItem], a ldh a, [hCurMenuItem] @@ -2240,17 +2278,17 @@ Func_10dba: ; 10dba (4:4dba) pop af ret -Unknown_10df0: ; 10df0 (4:4df0) +Unknown_10df0: dw Func_10dfb dw Func_10dfb dw Func_10dfb dw Func_10dfb dw Func_10dfa -Func_10dfa: ; 10dfa (4:4dfa) +Func_10dfa: ret -Func_10dfb: ; 10dfb (4:4dfb) +Func_10dfb: ld a, [wd10e] add a ld c, a @@ -2263,18 +2301,18 @@ Func_10dfb: ; 10dfb (4:4dfb) ld [wTxRam2 + 1], a ret -Unknown_10e0f: ; 10e0f (4:4e0f) - tx Text0355 - tx Text0356 - tx Text0357 - tx Text0358 +Unknown_10e0f: + tx SendCardText + tx ReceiveCardText + tx SendDeckConfigurationText + tx ReceiveDeckConfigurationText -Unknown_10e17: ; 10e17 (4:4e17) +Unknown_10e17: db 4, 0 ; start menu coords db 16, 12 ; start menu text box dimensions db 6, 2 ; text alignment for InitTextPrinting - tx Text0354 + tx GiftCenterMenuText db $ff db 5, 2 ; cursor x, cursor y @@ -2288,7 +2326,7 @@ INCLUDE "engine/overworld_map.asm" ; prints $ff-terminated list of text to text box ; given 2 bytes for text alignment and 2 bytes for text ID -Func_111b3: ; 111b3 (4:51b3) +PrintLabels: ldh a, [hffb0] push af ld a, $02 @@ -2332,7 +2370,7 @@ Func_111b3: ; 111b3 (4:51b3) inc hl jr .loop_text_print_2 -InitAndPrintPauseMenu: ; 111e9 (4:51e9) +InitAndPrintMenu: push hl push bc push de @@ -2351,7 +2389,7 @@ InitAndPrintPauseMenu: ; 111e9 (4:51e9) call DrawRegularTextBox call DoFrameIfLCDEnabled pop hl - call Func_111b3 + call PrintLabels pop af call InitializeMenuParameters pop de @@ -2362,7 +2400,7 @@ InitAndPrintPauseMenu: ; 111e9 (4:51e9) ; xors sb800 ; this has the effect of invalidating the save data checksum ; which the game interprets as being having no save data -InvalidateSaveData: ; 1120f (4:520f) +InvalidateSaveData: push hl ldh a, [hBankSRAM] @@ -2388,7 +2426,7 @@ InvalidateSaveData: ; 1120f (4:520f) ; saves all data to SRAM, including ; General save data and Album/Deck data ; and backs up in SRAM2 -SaveAndBackupData: ; 11238 (4:5238) +SaveAndBackupData: push de ld de, sGeneralSaveData call SaveGeneralSaveDataFromDE @@ -2399,7 +2437,7 @@ SaveAndBackupData: ; 11238 (4:5238) pop de ret -_SaveGeneralSaveData: ; 1124d (4:524d) +_SaveGeneralSaveData: push de call GetReceivedLegendaryCards ld de, sGeneralSaveData @@ -2410,7 +2448,7 @@ _SaveGeneralSaveData: ; 1124d (4:524d) ret ; de = pointer to general game data in SRAM -SaveGeneralSaveDataFromDE: ; 1125f (4:525f) +SaveGeneralSaveDataFromDE: push hl push bc call EnableSRAM @@ -2431,7 +2469,7 @@ SaveGeneralSaveDataFromDE: ; 1125f (4:525f) ; writes in de total num of cards collected ; and in (de + 1) total num of cards to collect ; also updates wTotalNumCardsCollected and wTotalNumCardsToCollect -UpdateAlbumProgress: ; 1127f (4:527f) +UpdateAlbumProgress: push hl push de push de @@ -2451,7 +2489,7 @@ UpdateAlbumProgress: ; 1127f (4:527f) ; save values that are listed in WRAMToSRAMMapper ; from WRAM to SRAM, and calculate its checksum -CopyGeneralSaveDataToSRAM: ; 11299 (4:5299) +CopyGeneralSaveDataToSRAM: push hl push bc push de @@ -2541,7 +2579,7 @@ CopyGeneralSaveDataToSRAM: ; 11299 (4:5299) ; returns carry if no error ; is found in sBackupGeneralSaveData -ValidateBackupGeneralSaveData: ; 11320 (4:5320) +ValidateBackupGeneralSaveData: push de ldh a, [hBankSRAM] push af @@ -2561,7 +2599,7 @@ ValidateBackupGeneralSaveData: ; 11320 (4:5320) ; returns carry if no error ; is found in sGeneralSaveData -_ValidateGeneralSaveData: ; 11343 (4:5343) +_ValidateGeneralSaveData: push de call EnableSRAM ld de, sGeneralSaveData @@ -2576,7 +2614,7 @@ _ValidateGeneralSaveData: ; 11343 (4:5343) ; validates the general game data saved in SRAM ; de = pointer to general game data in SRAM -ValidateGeneralSaveDataFromDE: ; 1135d (4:535d) +ValidateGeneralSaveDataFromDE: push hl push bc push de @@ -2704,7 +2742,7 @@ ValidateGeneralSaveDataFromDE: ; 1135d (4:535d) pop hl ret -LoadAlbumProgressFromSRAM: ; 1140a (4:540a) +LoadAlbumProgressFromSRAM: push de ld a, [de] ld [wTotalNumCardsCollected], a @@ -2716,7 +2754,7 @@ LoadAlbumProgressFromSRAM: ; 1140a (4:540a) ; first copies data from backup SRAM to main SRAM ; then loads it to WRAM from main SRAM -LoadBackupSaveData: ; 11416 (4:5416) +LoadBackupSaveData: push hl push de call EnableSRAM @@ -2730,7 +2768,7 @@ LoadBackupSaveData: ; 11416 (4:5416) pop hl ret -_LoadGeneralSaveData: ; 11430 (4:5430) +_LoadGeneralSaveData: push de ld de, sGeneralSaveData call LoadGeneralSaveDataFromDE @@ -2738,7 +2776,7 @@ _LoadGeneralSaveData: ; 11430 (4:5430) ret ; de = pointer to save data -LoadGeneralSaveDataFromDE: ; 11439 (4:5439) +LoadGeneralSaveDataFromDE: push hl push bc call EnableSRAM @@ -2819,7 +2857,7 @@ ENDM ; to save and subsequently retrieve them on game load ; also works as a test in order check whether ; the saved values is SRAM are legal, within the given value range -WRAMToSRAMMapper: ; 11498 (4:5498) +WRAMToSRAMMapper: wram_sram_map wMedalCount, 1, $00, $ff ; sMedalCount wram_sram_map wCurOverworldMap, 1, $00, $ff ; sCurOverworldMap wram_sram_map wPlayTimeCounter + 0, 1, $00, $ff ; sPlayTimeCounter @@ -2858,13 +2896,13 @@ WRAMToSRAMMapper: ; 11498 (4:5498) dw NULL ; fills an empty SRAM slot with zero -.EmptySRAMSlot: ; 1156c (4:556c) +.EmptySRAMSlot: db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; save the game ; if c is 0, save the player at their current position ; otherwise, save the player in Mason's lab -_SaveGame: ; 1157c (4:557c) +_SaveGame: ld a, c or a jr nz, .force_mason_lab @@ -2887,7 +2925,7 @@ _SaveGame: ; 1157c (4:557c) call SaveAndBackupData ret -_AddCardToCollectionAndUpdateAlbumProgress: ; 115a3 (4:55a3) +_AddCardToCollectionAndUpdateAlbumProgress: ld [wCardToAddToCollection], a push hl push bc @@ -2915,19 +2953,19 @@ _AddCardToCollectionAndUpdateAlbumProgress: ; 115a3 (4:55a3) pop hl ret -WriteBackupCardAndDeckSaveData: ; 115d4 (4:55d4) +WriteBackupCardAndDeckSaveData: ld bc, sCardAndDeckSaveDataEnd - sCardAndDeckSaveData ld hl, sCardCollection jr WriteDataToBackup -WriteBackupGeneralSaveData: ; 115dc (4:55dc) +WriteBackupGeneralSaveData: ld bc, sGeneralSaveDataEnd - sGeneralSaveData ld hl, sGeneralSaveData ; fallthrough ; bc = number of bytes to copy to backup ; hl = pointer in SRAM of data to backup -WriteDataToBackup: ; 115e2 (4:55e2) +WriteDataToBackup: ldh a, [hBankSRAM] push af .loop @@ -2948,19 +2986,19 @@ WriteDataToBackup: ; 115e2 (4:55e2) call DisableSRAM ret -LoadBackupCardAndDeckSaveData: ; 115ff (4:55ff) +LoadBackupCardAndDeckSaveData: ld bc, sCardAndDeckSaveDataEnd - sCardAndDeckSaveData ld hl, sCardCollection jr LoadDataFromBackup -LoadBackupGeneralSaveData: ; 11607 (4:5607) +LoadBackupGeneralSaveData: ld bc, sGeneralSaveDataEnd - sGeneralSaveData ld hl, sGeneralSaveData ; fallthrough ; bc = number of bytes to load from backup ; hl = pointer in SRAM of backup data -LoadDataFromBackup: ; 1160d (4:560d) +LoadDataFromBackup: ldh a, [hBankSRAM] push af @@ -2985,7 +3023,7 @@ LoadDataFromBackup: ; 1160d (4:560d) INCLUDE "data/map_scripts.asm" ; loads a pointer into hl found on NPCHeaderPointers -GetNPCHeaderPointer: ; 1184a (4:584a) +GetNPCHeaderPointer: rlca add LOW(NPCHeaderPointers) ld l, a @@ -2997,7 +3035,7 @@ GetNPCHeaderPointer: ; 1184a (4:584a) ld l, a ret -LoadNPCSpriteData: ; 11857 (4:5857) +LoadNPCSpriteData: push hl push bc call GetNPCHeaderPointer @@ -3023,7 +3061,7 @@ LoadNPCSpriteData: ; 11857 (4:5857) ret ; Loads Name into wCurrentNPCNameTx and gets Script ptr into bc -GetNPCNameAndScript: ; 1187d (4:587d) +GetNPCNameAndScript: push hl call GetNPCHeaderPointer ld bc, NPC_DATA_SCRIPT_PTR @@ -3040,7 +3078,7 @@ GetNPCNameAndScript: ; 1187d (4:587d) ret ; Sets Dialog Box title to the name of the npc in 'a' -SetNPCDialogName: ; 11893 (4:5893) +SetNPCDialogName: push hl push bc call GetNPCHeaderPointer @@ -3055,7 +3093,7 @@ SetNPCDialogName: ; 11893 (4:5893) ret ; set the opponent name and portrait for the NPC id in register a -SetNPCOpponentNameAndPortrait: ; 118a7 (4:58a7) +SetNPCOpponentNameAndPortrait: push hl push bc call GetNPCHeaderPointer @@ -3072,7 +3110,7 @@ SetNPCOpponentNameAndPortrait: ; 118a7 (4:58a7) ret ; set the deck id and duel theme for the NPC id in register a -SetNPCDeckIDAndDuelTheme: ; 118bf (4:58bf) +SetNPCDeckIDAndDuelTheme: push hl push bc call GetNPCHeaderPointer @@ -3087,7 +3125,7 @@ SetNPCDeckIDAndDuelTheme: ; 118bf (4:58bf) ret ; set the start theme for the NPC id in register a -SetNPCMatchStartTheme: ; 118d3 (4:58d3) +SetNPCMatchStartTheme: push hl push bc push af @@ -3112,7 +3150,7 @@ SetNPCMatchStartTheme: ; 118d3 (4:58d3) INCLUDE "data/npcs.asm" -_GetNPCDuelConfigurations: ; 11f4e (4:5f4e) +_GetNPCDuelConfigurations: push hl push bc push de @@ -3145,7 +3183,7 @@ _GetNPCDuelConfigurations: ; 11f4e (4:5f4e) pop hl ret -_GetChallengeMachineDuelConfigurations: ; 11f7d (4:5f7d) +_GetChallengeMachineDuelConfigurations: push bc push de ld a, [wNPCDuelDeckID] @@ -3180,7 +3218,7 @@ _GetChallengeMachineDuelConfigurations: ; 11f7d (4:5f7d) pop bc ret -DeckIDDuelConfigurations: ; 11fae (4:5fae) +DeckIDDuelConfigurations: db SAMS_PRACTICE_DECK_ID ; deck ID db SAM_PIC ; NPC portrait tx SamNPCName ; name text ID @@ -3551,7 +3589,7 @@ DeckIDDuelConfigurations: ; 11fae (4:5fae) db -1 ; end -OverworldScriptTable: ; 1217b (4:617b) +OverworldScriptTable: dw ScriptCommand_EndScript dw ScriptCommand_CloseAdvancedTextBox dw ScriptCommand_PrintNPCText @@ -3657,7 +3695,7 @@ OverworldScriptTable: ; 1217b (4:617b) dw ScriptCommand_EndScript dw ScriptCommand_EndScript -MultichoiceTextbox_ConfigTable_ChooseDeckToDuelAgainst: ; 1224b (4:624b) +MultichoiceTextbox_ConfigTable_ChooseDeckToDuelAgainst: db $04, $00 ; x, y to start drawing box db $10, $08 ; width, height of box db $06, $02 ; x, y coordinate to start printing next text @@ -3674,7 +3712,7 @@ MultichoiceTextbox_ConfigTable_ChooseDeckToDuelAgainst: ; 1224b (4:624b) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -MultichoiceTextbox_ConfigTable_ChooseDeckStarterDeck: ; 12264 (4:6264) +MultichoiceTextbox_ConfigTable_ChooseDeckStarterDeck: db $04, $00 ; x, y to start drawing box db $10, $08 ; width, height of box db $06, $02 ; x, y coordinate to start printing next text @@ -3691,7 +3729,7 @@ MultichoiceTextbox_ConfigTable_ChooseDeckStarterDeck: ; 12264 (4:6264) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -SamNormalMultichoice_ConfigurationTable: ; 1227d (4:627d) +SamNormalMultichoice_ConfigurationTable: db $0a, $00 ; x, y to start drawing box db $0a, $0a ; width, height of box db $0c, $02 ; x, y coordinate to start printing next text @@ -3704,7 +3742,7 @@ SamNormalMultichoice_ConfigurationTable: ; 1227d (4:627d) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -SamRulesMultichoice_ConfigurationTable: ; 1228e (4:628e) +SamRulesMultichoice_ConfigurationTable: db $06, $00 ; x, y to start drawing box db $0e, $12 ; width, height of box db $08, $02 ; x coordinate to start printing text @@ -3720,7 +3758,7 @@ SamRulesMultichoice_ConfigurationTable: ; 1228e (4:628e) INCLUDE "data/overworld_map/player_movement_paths.asm" ; unreferenced debug menu -Func_12661: ; 12661 (4:6661) +Func_12661: xor a ld [wDebugMenuSelection], a ld [wDebugBoosterSelection], a @@ -3740,7 +3778,7 @@ Func_12661: ; 12661 (4:6661) ld [wLineSeparation], a ld a, [wDebugMenuSelection] ld hl, Unknown_128f7 - call InitAndPrintPauseMenu + call InitAndPrintMenu call EnableLCD .asm_12698 call DoFrameIfLCDEnabled @@ -3756,12 +3794,12 @@ Func_12661: ; 12661 (4:6661) jr c, .asm_1266d ret -Func_126b3: ; 126b3 (4:66b3) +Func_126b3: ldh a, [hCurMenuItem] ld hl, Unknown_126bb jp JumpToFunctionInTable -Unknown_126bb: ; 126bb (4:66bb) +Unknown_126bb: dw _GameLoop dw DebugDuelMode dw MainMenu_ContinueFromDiary @@ -3777,7 +3815,7 @@ Unknown_126bb: ; 126bb (4:66bb) ; usually, the game doesn't loop here at all, since as soon as a main menu option ; is selected, there is no need to come back to the menu. ; the only exception is after returning from Card Pop! -_GameLoop: ; 126d1 (4:66d1) +_GameLoop: call ZeroObjectPositions ld hl, wVBlankOAMCopyToggle inc [hl] @@ -3799,13 +3837,13 @@ _GameLoop: ; 126d1 (4:66d1) scf ret -MainMenuFunctionTable: ; 126fc (4:66fc) +MainMenuFunctionTable: dw MainMenu_CardPop dw MainMenu_ContinueFromDiary dw MainMenu_NewGame dw MainMenu_ContinueDuel -MainMenu_NewGame: ; 12704 (4:6704) +MainMenu_NewGame: farcall Func_c1b1 call DisplayPlayerNamingScreen farcall InitSaveData @@ -3828,7 +3866,7 @@ MainMenu_NewGame: ; 12704 (4:6704) or a ret -MainMenu_ContinueFromDiary: ; 12741 (4:6741) +MainMenu_ContinueFromDiary: ld a, MUSIC_STOP call PlaySong call ValidateBackupGeneralSaveData @@ -3845,7 +3883,7 @@ MainMenu_ContinueFromDiary: ; 12741 (4:6741) or a ret -MainMenu_CardPop: ; 12768 (4:6768) +MainMenu_CardPop: ld a, MUSIC_CARD_POP call PlaySong bank1call DoCardPop @@ -3856,7 +3894,7 @@ MainMenu_CardPop: ; 12768 (4:6768) scf ret -MainMenu_ContinueDuel: ; 1277e (4:677e) +MainMenu_ContinueDuel: ld a, MUSIC_STOP call PlaySong farcall ClearEvents @@ -3868,21 +3906,21 @@ MainMenu_ContinueDuel: ; 1277e (4:677e) or a ret -DebugLookAtSprite: ; 1279a (4:679a) +DebugLookAtSprite: farcall Func_80cd7 scf ret -DebugVEffect: ; 127a0 (4:67a0) +DebugVEffect: farcall Func_80cd6 scf ret -DebugCreateBoosterPack: ; 127a6 (4:67a6) +DebugCreateBoosterPack: .go_back ld a, [wDebugBoosterSelection] ld hl, Unknown_12919 - call InitAndPrintPauseMenu + call InitAndPrintMenu .input_loop_1 call DoFrameIfLCDEnabled call HandleMenuInput @@ -3900,7 +3938,7 @@ DebugCreateBoosterPack: ; 127a6 (4:67a6) ld h, [hl] ld l, a xor a - call InitAndPrintPauseMenu + call InitAndPrintMenu .input_loop_2 call DoFrameIfLCDEnabled call HandleMenuInput @@ -3921,31 +3959,31 @@ DebugCreateBoosterPack: ; 127a6 (4:67a6) scf ret -Unknown_127f1: ; 127f1 (4:67f1) +Unknown_127f1: dw Unknown_1292a dw Unknown_1292a dw Unknown_1293b dw Unknown_1294c dw Unknown_1295d -Unknown_127fb: ; 127fb (4:67fb) +Unknown_127fb: db BOOSTER_COLOSSEUM_NEUTRAL db BOOSTER_EVOLUTION_NEUTRAL db BOOSTER_MYSTERY_NEUTRAL db BOOSTER_LABORATORY_NEUTRAL db BOOSTER_ENERGY_LIGHTNING_FIRE -DebugCredits: ; 12800 (4:6800) +DebugCredits: farcall PlayCreditsSequence scf ret -DebugCGBTest: ; 12806 (4:6806) +DebugCGBTest: farcall Func_1c865 scf ret -DebugSGBFrame: ; 1280c (4:680c) +DebugSGBFrame: call DisableLCD ld a, [wDebugSGBBorder] farcall SetSGBBorder @@ -3959,13 +3997,13 @@ DebugSGBFrame: ; 1280c (4:680c) scf ret -DebugDuelMode: ; 12824 (4:6824) +DebugDuelMode: call EnableSRAM ld a, [sDebugDuelMode] and $01 ld [sDebugDuelMode], a ld hl, Unknown_12908 - call InitAndPrintPauseMenu + call InitAndPrintMenu .input_loop call DoFrameIfLCDEnabled call HandleMenuInput @@ -3979,40 +4017,41 @@ DebugDuelMode: ; 12824 (4:6824) scf ret -DebugStandardBGCharacter: ; 1284c (4:684c) +DebugStandardBGCharacter: ld a, $80 ld de, $0 lb bc, 16, 16 lb hl, 1, 16 call FillRectangle - ld a, $ff - call Func_12863 + ld a, BUTTONS | D_PAD + call WaitUntilKeysArePressed scf ret -DebugQuit: ; 12861 (4:6861) +DebugQuit: or a ret -Func_12863: ; 12863 (4:6863) +; a = keys to escape +WaitUntilKeysArePressed: push bc ld b, a -.asm_12865 +.loop_input push bc call DoFrameIfLCDEnabled pop bc ldh a, [hKeysPressed] and b - jr z, .asm_12865 + jr z, .loop_input pop bc ret -Func_12871: ; 12871 (4:6871) +Func_12871: call ZeroObjectPositions ld a, $01 ld [wVBlankOAMCopyToggle], a call Set_OBJ_8x8 - call Func_1288c + call SetDefaultPalettes xor a ldh [hSCX], a ldh [hSCY], a @@ -4021,7 +4060,10 @@ Func_12871: ; 12871 (4:6871) call SetWindowOff ret -Func_1288c: ; 1288c (4:688c) +; same as SetDefaultConsolePalettes +; but forces all wBGP, wOBP0 and wOBP1 +; to be the defaultm +SetDefaultPalettes: push hl push bc push de @@ -4031,14 +4073,14 @@ Func_1288c: ; 1288c (4:688c) ld [wOBP1], a ld a, 4 ld [wTextBoxFrameType], a - bank1call SetDefaultPalettes + bank1call SetDefaultConsolePalettes call FlushAllPalettes pop de pop bc pop hl ret -DisplayPlayerNamingScreen:: ; 128a9 (4:68a9) +DisplayPlayerNamingScreen:: ; clear the name buffer. ld hl, wNameBuffer ; c500: name buffer. ld bc, NAME_BUFFER_LENGTH @@ -4079,12 +4121,12 @@ DisplayPlayerNamingScreen:: ; 128a9 (4:68a9) textfw3 "MARK" db TX_END, TX_END, TX_END, TX_END -Unknown_128f7: ; 128f7 (4:68f7) +Unknown_128f7: db 0, 0 ; start menu coords db 16, 18 ; start menu text box dimensions db 2, 2 ; text alignment for InitTextPrinting - tx Text037a + tx DebugMenuText db $ff db 1, 2 ; cursor x, cursor y @@ -4094,7 +4136,7 @@ Unknown_128f7: ; 128f7 (4:68f7) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -Unknown_12908: ; 12908 (4:6908) +Unknown_12908: db 10, 0 ; start menu coords db 10, 6 ; start menu text box dimensions @@ -4109,12 +4151,12 @@ Unknown_12908: ; 12908 (4:6908) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -Unknown_12919: ; 12919 (4:6919) +Unknown_12919: db 0, 0 ; start menu coords db 12, 12 ; start menu text box dimensions db 2, 2 ; text alignment for InitTextPrinting - tx Text037c + tx DebugBoosterPackMenuText db $ff db 1, 2 ; cursor x, cursor y @@ -4124,12 +4166,12 @@ Unknown_12919: ; 12919 (4:6919) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -Unknown_1292a: ; 1292a (4:692a) +Unknown_1292a: db 12, 0 ; start menu coords db 4, 16 ; start menu text box dimensions db 14, 2 ; text alignment for InitTextPrinting - tx Text037d + tx DebugBoosterPackColosseumEvolutionMenuText db $ff db 13, 2 ; cursor x, cursor y @@ -4139,12 +4181,12 @@ Unknown_1292a: ; 1292a (4:692a) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -Unknown_1293b: ; 1293b (4:693b) +Unknown_1293b: db 12, 0 ; start menu coords db 4, 14 ; start menu text box dimensions db 14, 2 ; text alignment for InitTextPrinting - tx Text037e + tx DebugBoosterPackMysteryMenuText db $ff db 13, 2 ; cursor x, cursor y @@ -4154,12 +4196,12 @@ Unknown_1293b: ; 1293b (4:693b) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -Unknown_1294c: ; 1294c (4:694c) +Unknown_1294c: db 12, 0 ; start menu coords db 4, 12 ; start menu text box dimensions db 14, 2 ; text alignment for InitTextPrinting - tx Text037f + tx DebugBoosterPackLaboratoryMenuText db $ff db 13, 2 ; cursor x, cursor y @@ -4169,12 +4211,12 @@ Unknown_1294c: ; 1294c (4:694c) db SYM_SPACE ; tile behind cursor dw NULL ; function pointer if non-0 -Unknown_1295d: ; 1295d (4:695d) +Unknown_1295d: db 12, 0 ; start menu coords db 4, 10 ; start menu text box dimensions db 14, 2 ; text alignment for InitTextPrinting - tx Text0380 + tx DebugBoosterPackEnergyMenuText db $ff db 13, 2 ; cursor x, cursor y @@ -4186,15 +4228,14 @@ Unknown_1295d: ; 1295d (4:695d) ; disables all sprite animations ; and clears memory related to sprites -Func_1296e: ; 1296e (4:696e) +Func_1296e: push af ld a, [wd5d7] or a - jr z, .asm_12977 + jr z, .continue pop af ret - -.asm_12977 +.continue pop af push bc push hl @@ -4214,7 +4255,7 @@ Func_1296e: ; 1296e (4:696e) cp SPRITE_ANIM_BUFFER_CAPACITY jr nz, .loop_sprites - call Func_12bf3 + call ClearSpriteVRAMBuffer call ZeroObjectPositions ld hl, wVBlankOAMCopyToggle inc [hl] @@ -4223,7 +4264,7 @@ Func_1296e: ; 1296e (4:696e) ret ; creates a new entry in SpriteAnimBuffer, else loads the sprite if need be -CreateSpriteAndAnimBufferEntry: ; 1299f (4:699f) +CreateSpriteAndAnimBufferEntry: push af ld a, [wd5d7] or a @@ -4263,7 +4304,7 @@ CreateSpriteAndAnimBufferEntry: ; 1299f (4:699f) pop bc ret -FillNewSpriteAnimBufferEntry: ; 129d9 (4:69d9) +FillNewSpriteAnimBufferEntry: push hl push bc push hl @@ -4289,13 +4330,13 @@ FillNewSpriteAnimBufferEntry: ; 129d9 (4:69d9) pop hl ret -DisableCurSpriteAnim: ; 129fa (4:69fa) +DisableCurSpriteAnim: ld a, [wWhichSprite] ; fallthrough ; sets SPRITE_ANIM_ENABLED to false ; of sprite in register a -DisableSpriteAnim: ; 129fd (4:69fd) +DisableSpriteAnim: push af ld a, [wd5d7] or a @@ -4313,7 +4354,7 @@ DisableSpriteAnim: ; 129fd (4:69fd) pop hl ret -GetSpriteAnimCounter: ; 12a13 (4:6a13) +GetSpriteAnimCounter: ld a, [wWhichSprite] push hl push bc @@ -4324,7 +4365,7 @@ GetSpriteAnimCounter: ; 12a13 (4:6a13) pop hl ret -_HandleAllSpriteAnimations: ; 12a21 (4:6a21) +_HandleAllSpriteAnimations: push af ld a, [wd5d7] ; skip animating this frame if enabled or a @@ -4363,7 +4404,7 @@ _HandleAllSpriteAnimations: ; 12a21 (4:6a21) pop af ret -LoadSpriteDataForAnimationFrame: ; 12a5b (4:6a5b) +LoadSpriteDataForAnimationFrame: push hl push bc inc hl @@ -4397,7 +4438,7 @@ LoadSpriteDataForAnimationFrame: ; 12a5b (4:6a5b) ; decrements the given sprite's movement counter (2x if SPRITE_ANIM_FLAG_SPEED is set) ; moves to the next animation frame if necessary -TryHandleSpriteAnimationFrame: ; 12a8b (4:6a8b) +TryHandleSpriteAnimationFrame: push hl push bc push de @@ -4429,7 +4470,7 @@ TryHandleSpriteAnimationFrame: ; 12a8b (4:6a8b) pop hl ret -StartNewSpriteAnimation: ; 12ab5 (4:6ab5) +StartNewSpriteAnimation: push hl push af ld c, SPRITE_ANIM_ID @@ -4440,7 +4481,7 @@ StartNewSpriteAnimation: ; 12ab5 (4:6ab5) ret z ; fallthrough -StartSpriteAnimation: ; 12ac0 (4:6ac0) +StartSpriteAnimation: push hl call LoadSpriteAnimPointers call HandleAnimationFrame @@ -4449,7 +4490,7 @@ StartSpriteAnimation: ; 12ac0 (4:6ac0) ; a = sprite animation ; c = animation counter value -Func_12ac9: ; 12ac9 (4:6ac9) +Func_12ac9: push bc ld b, a ld a, c @@ -4471,7 +4512,7 @@ Func_12ac9: ; 12ac9 (4:6ac9) ; Given an animation ID, fills the current sprite's Animation Pointer and Frame Offset Pointer ; a - Animation ID for current sprite -LoadSpriteAnimPointers: ; 12ae2 (4:6ae2) +LoadSpriteAnimPointers: push bc push af call GetFirstSpriteAnimBufferProperty @@ -4507,7 +4548,7 @@ LoadSpriteAnimPointers: ; 12ae2 (4:6ae2) ; hl - beginning of current sprite_anim_buffer ; Handles a full animation frame using all values in animation structure ; (frame data offset, anim counter, X Mov, Y Mov) -HandleAnimationFrame: ; 12b13 (4:6b13) +HandleAnimationFrame: push bc push de push hl @@ -4574,7 +4615,7 @@ HandleAnimationFrame: ; 12b13 (4:6b13) ; and wVRAMTileOffset ; a - frame offset from Animation Data ; hl - beginning of Sprite Anim Buffer -GetAnimFramePointerFromOffset: ; 12b6a (4:6b6a) +GetAnimFramePointerFromOffset: ld [wVRAMTileOffset], a push hl push bc @@ -4597,7 +4638,7 @@ GetAnimFramePointerFromOffset: ; 12b6a (4:6b6a) ; Sets the animation counter for the current sprite. If the value is zero, loop the animation ; a - new animation counter -SetAnimationCounterAndLoop: ; 12b89 (4:6b89) +SetAnimationCounterAndLoop: push hl push bc ld bc, SPRITE_ANIM_COUNTER @@ -4623,7 +4664,7 @@ SetAnimationCounterAndLoop: ; 12b89 (4:6b89) pop hl ret -Func_12ba7: ; 12ba7 (4:6ba7) +Func_12ba7: push hl push bc push de @@ -4643,7 +4684,7 @@ Func_12ba7: ; 12ba7 (4:6ba7) pop hl ret -Func_12bcd: ; 12bcd (4:6bcd) +Func_12bcd: push hl push bc push de @@ -4664,7 +4705,7 @@ Func_12bcd: ; 12bcd (4:6bcd) ret ; clears wSpriteVRAMBufferSize and wSpriteVRAMBuffer -Func_12bf3: ; 12bf3 (4:6bf3) +ClearSpriteVRAMBuffer: push hl push bc xor a @@ -4681,7 +4722,7 @@ Func_12bf3: ; 12bf3 (4:6bf3) ; gets some value based on the sprite in a and wSpriteVRAMBuffer ; loads the sprites data if it doesn't already exist -Func_12c05: ; 12c05 (4:6c05) +Func_12c05: push hl push bc push de @@ -4752,7 +4793,7 @@ Func_12c05: ; 12c05 (4:6c05) ; d = tile offset in VRAM ; output: ; a = number of tiles in sprite -Func_12c4f: ; 12c4f (4:6c4f) +Func_12c4f: push af xor a ld [wd4cb], a @@ -4762,7 +4803,7 @@ Func_12c4f: ; 12c4f (4:6c4f) farcall Func_8025b ret -Func_12c5e: ; 12c5e (4:6c5e) +Func_12c5e: push hl push bc push de @@ -4794,7 +4835,7 @@ Func_12c5e: ; 12c5e (4:6c5e) ; a = scene ID (SCENE_* constant) ; b = base X position of scene in tiles ; c = base Y position of scene in tiles -_LoadScene: ; 12c7f (4:6c7f) +_LoadScene: push hl push bc push de @@ -4938,7 +4979,7 @@ _LoadScene: ; 12c7f (4:6c7f) pop hl ret -ScenePointers: ; 12d6f (4:6d6f) +ScenePointers: dw Scene_TitleScreen dw Scene_ColosseumBooster dw Scene_EvolutionBooster @@ -4980,21 +5021,21 @@ ScenePointers: ; 12d6f (4:6d6f) ; db animation (non-cgb), animation (cgb), x offset, y offset ; dw 0-terminator -Scene_TitleScreen: ; 12da7 (4:6da7) +Scene_TitleScreen: dw SGBData_TitleScreen dw NULL db PALETTE_25, PALETTE_25, $00 db TILEMAP_TITLE_SCREEN, TILEMAP_TITLE_SCREEN_CGB, $00, $00 db $00 -Scene_JapaneseTitleScreen: ; 12db3 (4:6db3) +Scene_JapaneseTitleScreen: dw SGBData_TitleScreen dw NULL db PALETTE_25, PALETTE_25, $00 db TILEMAP_JAPANESE_TITLE_SCREEN, TILEMAP_JAPANESE_TITLE_SCREEN_CGB, $80, $00 db $00 -Scene_ColosseumBooster: ; 12dbf (4:6dbf) +Scene_ColosseumBooster: dw SGBData_ColosseumBooster dw NULL db PALETTE_108, PALETTE_101, $01 @@ -5004,7 +5045,7 @@ Scene_ColosseumBooster: ; 12dbf (4:6dbf) db $ff, SPRITE_ANIM_189, $00, $00 dw $00 -Scene_EvolutionBooster: ; 12dd4 (4:6dd4) +Scene_EvolutionBooster: dw SGBData_EvolutionBooster dw NULL db PALETTE_108, PALETTE_102, $01 @@ -5014,7 +5055,7 @@ Scene_EvolutionBooster: ; 12dd4 (4:6dd4) db $ff, SPRITE_ANIM_189, $00, $00 dw $00 -Scene_MysteryBooster: ; 12de9 (4:6de9) +Scene_MysteryBooster: dw SGBData_MysteryBooster dw NULL db PALETTE_108, PALETTE_103, $01 @@ -5024,7 +5065,7 @@ Scene_MysteryBooster: ; 12de9 (4:6de9) db $ff, SPRITE_ANIM_189, $00, $00 dw $00 -Scene_LaboratoryBooster: ; 12dfe (4:6dfe) +Scene_LaboratoryBooster: dw SGBData_LaboratoryBooster dw NULL db PALETTE_108, PALETTE_104, $01 @@ -5034,84 +5075,84 @@ Scene_LaboratoryBooster: ; 12dfe (4:6dfe) db $ff, SPRITE_ANIM_189, $00, $00 dw $00 -Scene_CharizardIntro: ; 12e13 (4:6e13) +Scene_CharizardIntro: dw SGBData_CharizardIntro dw NULL db PALETTE_108, PALETTE_105, $01 db TILEMAP_CHARIZARD_INTRO, TILEMAP_CHARIZARD_INTRO_CGB, $80, $00 db $00 -Scene_ScytherIntro: ; 12e1f (4:6e1f) +Scene_ScytherIntro: dw SGBData_ScytherIntro dw NULL db PALETTE_108, PALETTE_106, $01 db TILEMAP_SCYTHER_INTRO, TILEMAP_SCYTHER_INTRO_CGB, $80, $00 db $00 -Scene_AerodactylIntro: ; 12e2b (4:6e2b) +Scene_AerodactylIntro: dw SGBData_AerodactylIntro dw NULL db PALETTE_108, PALETTE_107, $01 db TILEMAP_AERODACTYL_INTRO, TILEMAP_AERODACTYL_INTRO_CGB, $80, $00 db $00 -Scene_GradientBlackAndRed: ; 12e37 (4:6e37) +Scene_GradientBlackAndRed: dw NULL dw NULL db PALETTE_94, PALETTE_94, $00 db TILEMAP_SOLID_TILES_1, TILEMAP_SOLID_TILES_1, $01, $00 db $00 -Scene_GradientWhiteAndRed: ; 12e43 (4:6e43) +Scene_GradientWhiteAndRed: dw NULL dw NULL db PALETTE_95, PALETTE_95, $00 db TILEMAP_SOLID_TILES_1, TILEMAP_SOLID_TILES_1, $01, $00 db $00 -Scene_GradientBlackAndGreen: ; 12e4f (4:6e4f) +Scene_GradientBlackAndGreen: dw NULL dw NULL db PALETTE_96, PALETTE_96, $00 db TILEMAP_SOLID_TILES_1, TILEMAP_SOLID_TILES_1, $01, $00 db $00 -Scene_GradientWhiteAndGreen: ; 12e5b (4:6e5b) +Scene_GradientWhiteAndGreen: dw NULL dw NULL db PALETTE_97, PALETTE_97, $00 db TILEMAP_SOLID_TILES_1, TILEMAP_SOLID_TILES_1, $01, $00 db $00 -Scene_ColorWheel: ; 12e67 (4:6e67) +Scene_ColorWheel: dw NULL dw NULL db PALETTE_98, PALETTE_98, $00 db TILEMAP_SOLID_TILES_2, TILEMAP_SOLID_TILES_2, $01, $00 db $00 -Scene_ColorTest: ; 12e73 (4:6e73) +Scene_ColorTest: dw NULL dw NULL db PALETTE_99, PALETTE_99, $00 db TILEMAP_SOLID_TILES_3, TILEMAP_SOLID_TILES_3, $01, $00 db $00 -Scene_ColorPalette: ; 12e7f (4:6e7f) +Scene_ColorPalette: dw NULL dw NULL db PALETTE_110, PALETTE_110, $00 db TILEMAP_SOLID_TILES_4, TILEMAP_SOLID_TILES_4, $fc, $01 db $00 -Scene_GameBoyLinkConnecting: ; 12e8b (4:6e8b) +Scene_GameBoyLinkConnecting: dw SGBData_GameBoyLink dw NULL db PALETTE_111, PALETTE_111, $00 db TILEMAP_GAMEBOY_LINK_CONNECTING, TILEMAP_GAMEBOY_LINK_CONNECTING_CGB, $90, $00 db $00 -Scene_GameBoyLinkTransmitting: ; 12e97 (4:6e97) +Scene_GameBoyLinkTransmitting: dw SGBData_GameBoyLink dw NULL db PALETTE_111, PALETTE_111, $00 @@ -5121,7 +5162,7 @@ Scene_GameBoyLinkTransmitting: ; 12e97 (4:6e97) db SPRITE_ANIM_179, SPRITE_ANIM_176, $50, $50 dw $00 -Scene_GameBoyLinkNotConnected: ; 12eac (4:6eac) +Scene_GameBoyLinkNotConnected: dw SGBData_GameBoyLink dw NULL db PALETTE_111, PALETTE_111, $00 @@ -5131,7 +5172,7 @@ Scene_GameBoyLinkNotConnected: ; 12eac (4:6eac) db SPRITE_ANIM_180, SPRITE_ANIM_177, $50, $50 dw $00 -Scene_GameBoyPrinterTransmitting: ; 12ec1 (4:6ec1) +Scene_GameBoyPrinterTransmitting: dw SGBData_GameBoyPrinter dw LoadScene_SetGameBoyPrinterAttrBlk db PALETTE_112, PALETTE_112, $00 @@ -5141,7 +5182,7 @@ Scene_GameBoyPrinterTransmitting: ; 12ec1 (4:6ec1) db SPRITE_ANIM_183, SPRITE_ANIM_181, $50, $30 dw $00 -Scene_GameBoyPrinterNotConnected: ; 12ed6 (4:6ed6) +Scene_GameBoyPrinterNotConnected: dw SGBData_GameBoyPrinter dw LoadScene_SetGameBoyPrinterAttrBlk db PALETTE_112, PALETTE_112, $00 @@ -5151,7 +5192,7 @@ Scene_GameBoyPrinterNotConnected: ; 12ed6 (4:6ed6) db SPRITE_ANIM_184, SPRITE_ANIM_182, $50, $30 dw $00 -Scene_CardPop: ; 12eeb (4:6eeb) +Scene_CardPop: dw SGBData_CardPop dw LoadScene_SetCardPopAttrBlk db PALETTE_113, PALETTE_113, $00 @@ -5161,7 +5202,7 @@ Scene_CardPop: ; 12eeb (4:6eeb) db SPRITE_ANIM_187, SPRITE_ANIM_185, $50, $40 dw $00 -Scene_CardPopError: ; 12f00 (4:6f00) +Scene_CardPopError: dw SGBData_CardPop dw LoadScene_SetCardPopAttrBlk db PALETTE_113, PALETTE_113, $00 @@ -5171,35 +5212,35 @@ Scene_CardPopError: ; 12f00 (4:6f00) db SPRITE_ANIM_188, SPRITE_ANIM_186, $50, $40 dw $00 -Scene_Nintendo: ; 12f15 (4:6f15) +Scene_Nintendo: dw NULL dw NULL db PALETTE_27, PALETTE_27, $00 db TILEMAP_NINTENDO, TILEMAP_NINTENDO, $00, $00 db $00 -Scene_Companies: ; 12f21 (4:6f21) +Scene_Companies: dw NULL dw NULL db PALETTE_28, PALETTE_28, $00 db TILEMAP_COMPANIES, TILEMAP_COMPANIES, $00, $00 db $00 -Scene_Copyright: ; 12f2d (4:6f2d) +Scene_Copyright: dw NULL dw NULL db PALETTE_26, PALETTE_26, $00 db TILEMAP_COPYRIGHT, TILEMAP_COPYRIGHT_CGB, $00, $00 db $00 -Scene_JapaneseTitleScreen2: ; 12f39 (4:6f39) +Scene_JapaneseTitleScreen2: dw NULL dw NULL db PALETTE_109, PALETTE_100, $00 db TILEMAP_JAPANESE_TITLE_SCREEN_2, TILEMAP_JAPANESE_TITLE_SCREEN_2_CGB, $01, $00 db $00 -LoadScene_LoadCompressedSGBPacket: ; 12f45 (4:6f45) +LoadScene_LoadCompressedSGBPacket: ld a, [wConsole] cp CONSOLE_SGB ret nz @@ -5215,7 +5256,7 @@ LoadScene_LoadCompressedSGBPacket: ; 12f45 (4:6f45) pop hl ret -LoadScene_LoadSGBPacket: ; 12f5b (4:6f5b) +LoadScene_LoadSGBPacket: ld a, [wConsole] cp CONSOLE_SGB ret nz @@ -5248,7 +5289,7 @@ LoadScene_LoadSGBPacket: ; 12f5b (4:6f5b) pop hl ret -LoadScene_SetGameBoyPrinterAttrBlk: ; 12f8c (4:6f8c) +LoadScene_SetGameBoyPrinterAttrBlk: push hl push bc push de @@ -5259,7 +5300,7 @@ LoadScene_SetGameBoyPrinterAttrBlk: ; 12f8c (4:6f8c) pop hl ret -SGBPacket_GameBoyPrinter: ; 12f99 (4:6f99) +SGBPacket_GameBoyPrinter: sgb ATTR_BLK, 1 db 1 ; number of data sets db ATTR_BLK_CTRL_OUTSIDE | ATTR_BLK_CTRL_LINE | ATTR_BLK_CTRL_INSIDE @@ -5271,7 +5312,7 @@ SGBPacket_GameBoyPrinter: ; 12f99 (4:6f99) ds 6 ; data set 2 ds 2 ; data set 3 -LoadScene_SetCardPopAttrBlk: ; 12fa9 (4:6fa9) +LoadScene_SetCardPopAttrBlk: push hl push bc push de @@ -5282,7 +5323,7 @@ LoadScene_SetCardPopAttrBlk: ; 12fa9 (4:6fa9) pop hl ret -SGBPacket_CardPop: ; 12fb6 (4:6fb6) +SGBPacket_CardPop: sgb ATTR_BLK, 1 db 1 ; number of data sets db ATTR_BLK_CTRL_OUTSIDE | ATTR_BLK_CTRL_LINE | ATTR_BLK_CTRL_INSIDE @@ -5294,16 +5335,16 @@ SGBPacket_CardPop: ; 12fb6 (4:6fb6) ds 6 ; data set 2 ds 2 ; data set 3 -Func_12fc6: ; 12fc6 (4:6fc6) +Func_12fc6: ld a, [wd291] push af push de push bc - ld de, wNamingScreenNamePosition + lb de, $d0, $07 ld a, [wCurTilemap] cp TILEMAP_PLAYER jr z, .asm_12fd9 - ld de, sTextSpeed + lb de, $a0, $06 .asm_12fd9 ld a, e ld [wd291], a @@ -5313,7 +5354,7 @@ Func_12fc6: ; 12fc6 (4:6fc6) add a ld c, a ld b, $00 - ld hl, Unknown_1301e + ld hl, PortraitGfxData add hl, bc ld a, [hli] push hl @@ -5336,13 +5377,13 @@ Func_12fc6: ; 12fc6 (4:6fc6) ld h, [hl] ld l, a pop bc - farcall Func_7041d + farcall SendSGBPortraitPalettes pop de pop af ld [wd291], a ret -Unknown_1301e: ; 1301e (4:701e) +PortraitGfxData: db TILESET_PLAYER, PALETTE_119 dw SGBData_PlayerPortraitPals @@ -5472,7 +5513,7 @@ Unknown_1301e: ; 1301e (4:701e) db TILESET_PLAYER, PALETTE_120 dw SGBData_LinkOpponentPortraitPals -LoadBoosterGfx: ; 130ca (4:70ca) +LoadBoosterGfx: push hl push bc push de @@ -5492,7 +5533,7 @@ LoadBoosterGfx: ; 130ca (4:70ca) pop hl ret -SetBoosterLogoOAM: ; 130e6 (4:70e6) +SetBoosterLogoOAM: ld a, [wConsole] cp CONSOLE_CGB ret nz @@ -5543,7 +5584,7 @@ SetBoosterLogoOAM: ; 130e6 (4:70e6) pop hl ret -BoosterLogoOAM: ; 13132 (4:7132) +BoosterLogoOAM: db $20 db $00, $00, $00, $00 db $00, $08, $01, $00 diff --git a/src/engine/challenge_machine.asm b/src/engine/challenge_machine.asm index 58e675b..1a8dadb 100644 --- a/src/engine/challenge_machine.asm +++ b/src/engine/challenge_machine.asm @@ -36,7 +36,7 @@ ChallengeMachine_Start: ldtx hl, LetUsChooseYourOpponentText call PrintScrollableText_NoTextBoxLabel - call Func_10ab4 + call FadeScreenToWhite call EnableSRAM xor a ld [sPresentConsecutiveWinsBackup], a @@ -92,7 +92,7 @@ ChallengeMachine_Start: .defeated_five_opponents ld hl, sTotalChallengeMachineWins call ChallengeMachine_IncrementHLMax999 - call Func_10ab4 + call FadeScreenToWhite call ChallengeMachine_CheckForNewRecord call ChallengeMachine_DrawScoreScreen call FlashWhiteScreen @@ -124,7 +124,7 @@ ChallengeMachine_Start: call PrintScrollableText_NoTextBoxLabel .quit call ChallengeMachine_PrintFinalConsecutiveWinStreak - call Func_10ab4 + call FadeScreenToWhite call ChallengeMachine_CheckForNewRecord call ChallengeMachine_DrawScoreScreen call FlashWhiteScreen @@ -394,7 +394,7 @@ ChallengeMachine_ShowNewRecord: ret ChallengeMachine_DrawScoreScreen: - call Func_10000 + call InitMenuScreen lb de, $30, $bf call SetupText lb de, 0, 0 @@ -412,13 +412,13 @@ ChallengeMachine_DrawScoreScreen: xor a ld [wTxRam2], a ld [wTxRam2 + 1], a - ld hl, ChallengeMachine_PlayerScoreTexts - call Func_111b3 + ld hl, ChallengeMachine_PlayerScoreLabels + call PrintLabels ld hl, ChallengeMachine_PlayerScoreValues call ChallengeMachine_PrintScores ret -ChallengeMachine_PlayerScoreTexts: +ChallengeMachine_PlayerScoreLabels: db 1, 0 tx ChallengeMachineText @@ -454,7 +454,7 @@ ChallengeMachine_PlayerScoreValues: dw NULL ChallengeMachine_DrawOpponentList: - call Func_10000 + call InitMenuScreen lb de, $30, $bf call SetupText lb de, 0, 0 @@ -463,13 +463,13 @@ ChallengeMachine_DrawOpponentList: lb de, 0, 12 lb bc, 20, 6 call DrawRegularTextBox - ld hl, ChallengeMachine_OpponentNumberTexts - call Func_111b3 + ld hl, ChallengeMachine_OpponentNumberLabels + call PrintLabels call ChallengeMachine_PrintOpponentInfo call ChallengeMachine_PrintDuelResultIcons ret -ChallengeMachine_OpponentNumberTexts: +ChallengeMachine_OpponentNumberLabels: db 1, 0 tx ChallengeMachineText @@ -637,10 +637,10 @@ ChallengeMachine_PrintScores: inc de ld a, [de] ld h, a - call Func_10217 + call ConvertWordToNumericalDigits pop bc call BCCoordToBGMap0Address - ld hl, wd4b4 + ld hl, wDecimalChars ld b, 3 call SafeCopyDataHLtoDE pop hl diff --git a/src/engine/credits.asm b/src/engine/credits.asm index 8ead323..088667a 100644 --- a/src/engine/credits.asm +++ b/src/engine/credits.asm @@ -9,19 +9,19 @@ PlayCreditsSequence: call PlaySong farcall FlashWhiteScreen call SetCreditsSequenceCmdPtr -.asm_1d6c8 +.loop_cmds call DoFrameIfLCDEnabled call Func_1d765 call ExecuteCreditsSequenceCmd ld a, [wSequenceDelay] cp $ff - jr nz, .asm_1d6c8 + jr nz, .loop_cmds call WaitForSongToFinish - ld a, $8 - farcall Func_12863 + ld a, START + farcall WaitUntilKeysArePressed ld a, MUSIC_STOP call PlaySong - farcall Func_10ab4 + farcall FadeScreenToWhite call Func_3ca4 call SetWindowOff call Func_1d758 @@ -37,7 +37,7 @@ Func_1d705: call DisableLCD farcall Func_10a9b call Func_3ca0 - farcall Func_10000 + farcall InitMenuScreen call Func_1d7ee ld hl, Func_3e31 call SetDoFrameFunction diff --git a/src/engine/duel/animations/core.asm b/src/engine/duel/animations/core.asm index 89d072c..142183f 100644 --- a/src/engine/duel/animations/core.asm +++ b/src/engine/duel/animations/core.asm @@ -527,7 +527,7 @@ Func_1cba6: xor a ld [wd4b7], a - ld hl, wd4b4 + ld hl, wDecimalChars ld de, wAnimationQueue + 1 .asm_1cbb3 push hl @@ -588,7 +588,7 @@ Func_1cc03: ld a, [wDuelAnimDamage + 1] ld h, a - ld de, wd4b4 + ld de, wDecimalChars ld bc, -100 call .Func_1cc2f ld bc, -10 @@ -597,7 +597,7 @@ Func_1cc03: ld a, l add $4f ld [de], a - ld hl, wd4b4 + ld hl, wDecimalChars ld c, 2 .asm_1cc23 ld a, [hl] diff --git a/src/engine/duel/animations/screen_effects.asm b/src/engine/duel/animations/screen_effects.asm index 9058071..6d8139c 100644 --- a/src/engine/duel/animations/screen_effects.asm +++ b/src/engine/duel/animations/screen_effects.asm @@ -97,12 +97,12 @@ ShakeScreenX: ld [wd4bc + 1], a ld hl, wScreenAnimUpdatePtr - ld [hl], LOW(.update) + ld [hl], LOW(.Update) inc hl - ld [hl], HIGH(.update) + ld [hl], HIGH(.Update) ret -.update +.Update call DecrementScreenAnimDuration call UpdateShakeOffset jp nc, LoadDefaultScreenAnimationUpdateWhenFinished @@ -125,12 +125,12 @@ ShakeScreenY: ld a, h ld [wd4bc + 1], a ld hl, wScreenAnimUpdatePtr - ld [hl], LOW(.update) + ld [hl], LOW(.Update) inc hl - ld [hl], HIGH(.update) + ld [hl], HIGH(.Update) ret -.update +.Update call DecrementScreenAnimDuration call UpdateShakeOffset jp nc, LoadDefaultScreenAnimationUpdateWhenFinished @@ -186,9 +186,9 @@ DecrementScreenAnimDuration: WhiteFlashScreen: ld hl, wScreenAnimUpdatePtr - ld [hl], LOW(.update) + ld [hl], LOW(.Update) inc hl - ld [hl], HIGH(.update) + ld [hl], HIGH(.Update) ld a, [wBGP] ld [wd4bc], a ; backup the current background pals @@ -204,7 +204,7 @@ WhiteFlashScreen: call SetBGP call FlushAllPalettes -.update +.Update call DecrementScreenAnimDuration ld a, [wScreenAnimDuration] or a @@ -221,9 +221,9 @@ WhiteFlashScreen: DistortScreen: ld hl, wScreenAnimUpdatePtr - ld [hl], LOW(.update) + ld [hl], LOW(.Update) inc hl - ld [hl], HIGH(.update) + ld [hl], HIGH(.Update) xor a ld [wApplyBGScroll], a ld hl, wLCDCFunctionTrampoline + 1 @@ -234,7 +234,7 @@ DistortScreen: ld [wBGScrollMod], a call EnableInt_LYCoincidence -.update +.Update ld a, [wScreenAnimDuration] srl a srl a diff --git a/src/engine/duel/core.asm b/src/engine/duel/core.asm index 10ccdee..5e462bb 100644 --- a/src/engine/duel/core.asm +++ b/src/engine/duel/core.asm @@ -223,7 +223,7 @@ SetupDuel: call ZeroObjectPositionsAndToggleOAMCopy call EmptyScreen call LoadSymbolsFont - call SetDefaultPalettes + call SetDefaultConsolePalettes lb de, $38, $9f call SetupText call EnableLCD @@ -1604,7 +1604,7 @@ DrawDuelistPortraitsAndNames: ; opponent's portrait ld a, [wOpponentPortrait] lb bc, 13, 1 - call Func_3e2a + call DrawOpponentPortrait ; middle line call DrawDuelHorizontalSeparator ret @@ -3965,7 +3965,7 @@ SetSGB3ToCardPalette: jr SetBGP7OrSGB2ToCardPalette.copy_pal_loop SetOBP1OrSGB3ToCardPalette: - ld a, $e4 + ld a, %11100100 ld [wOBP0], a ld a, [wConsole] or a ; CONSOLE_DMG @@ -4125,13 +4125,13 @@ ApplyCardCGBAttributes: ; BGP and OBP0 on DMG ; SGB0 and SGB1 on SGB ; BGP0 to BGP5 and OBP1 on CGB -SetDefaultPalettes: +SetDefaultConsolePalettes: ld a, [wConsole] cp CONSOLE_SGB jr z, .sgb cp CONSOLE_CGB jr z, .cgb - ld a, $e4 + ld a, %11100100 ld [wOBP0], a ld [wBGP], a ld a, $01 ; equivalent to FLUSH_ONE_PAL @@ -4200,7 +4200,7 @@ CGBDefaultPalettes: rgb 28, 0, 0 rgb 0, 0, 0 -; first and last byte of the packet not contained here (see SetDefaultPalettes.sgb) +; first and last byte of the packet not contained here (see SetDefaultConsolePalettes.sgb) Pal01Packet_Default: ; SGB0 rgb 28, 28, 24 @@ -4718,7 +4718,7 @@ DrawLargePictureOfCard: call ZeroObjectPositionsAndToggleOAMCopy call EmptyScreen call LoadSymbolsFont - call SetDefaultPalettes + call SetDefaultConsolePalettes ld a, LARGE_CARD_PICTURE ld [wDuelDisplayedScreen], a call LoadCardOrDuelMenuBorderTiles diff --git a/src/engine/game_loop.asm b/src/engine/game_loop.asm index d6e4fab..fc7def7 100644 --- a/src/engine/game_loop.asm +++ b/src/engine/game_loop.asm @@ -47,7 +47,7 @@ SetupResetBackUpRamScreen: ld [wTileMapFill], a call DisableLCD call LoadSymbolsFont - call SetDefaultPalettes + call SetDefaultConsolePalettes lb de, $38, $7f call SetupText ret diff --git a/src/engine/intro.asm b/src/engine/intro.asm index 8a16b3a..1d2e8ab 100644 --- a/src/engine/intro.asm +++ b/src/engine/intro.asm @@ -1,7 +1,7 @@ PlayIntroSequence: call DisableLCD farcall Func_10a9b - farcall Func_10000 + farcall InitMenuScreen call Func_3ca0 ld hl, HandleAllSpriteAnimations call SetDoFrameFunction diff --git a/src/engine/link/link_duel.asm b/src/engine/link/link_duel.asm index fc484d0..bf7d71d 100644 --- a/src/engine/link/link_duel.asm +++ b/src/engine/link/link_duel.asm @@ -71,7 +71,7 @@ _SetUpAndStartLinkDuel: ldh a, [hWhoseTurn] push af call EmptyScreen - bank1call SetDefaultPalettes + bank1call SetDefaultConsolePalettes ld a, SHUFFLE_DECK ld [wDuelDisplayedScreen], a bank1call DrawDuelistPortraitsAndNames diff --git a/src/engine/menus/card_album.asm b/src/engine/menus/card_album.asm index 4459169..797bc60 100644 --- a/src/engine/menus/card_album.asm +++ b/src/engine/menus/card_album.asm @@ -793,7 +793,7 @@ HandleCardAlbumScreen: call LoadCursorTile call LoadSymbolsFont call LoadDuelCardSymbolTiles - bank1call SetDefaultPalettes + bank1call SetDefaultConsolePalettes lb de, $3c, $ff call SetupText lb de, 1, 1 @@ -898,7 +898,7 @@ HandleCardAlbumScreen: call LoadCursorTile call LoadSymbolsFont call LoadDuelCardSymbolTiles - bank1call SetDefaultPalettes + bank1call SetDefaultConsolePalettes lb de, $3c, $ff call SetupText diff --git a/src/engine/menus/deck_machine.asm b/src/engine/menus/deck_machine.asm index 90f90db..567bcb0 100644 --- a/src/engine/menus/deck_machine.asm +++ b/src/engine/menus/deck_machine.asm @@ -172,7 +172,7 @@ Func_af1d: ld a, $1 ld [wVBlankOAMCopyToggle], a call LoadSymbolsFont - bank1call SetDefaultPalettes + bank1call SetDefaultConsolePalettes lb de, $3c, $bf call SetupText @@ -797,7 +797,7 @@ ClearScreenAndDrawDeckMachineScreen: ld [wVBlankOAMCopyToggle], a call LoadSymbolsFont call LoadDuelCardSymbolTiles - bank1call SetDefaultPalettes + bank1call SetDefaultConsolePalettes lb de, $3c, $ff call SetupText lb de, 0, 0 @@ -2104,7 +2104,7 @@ HandleAutoDeckMenu: ld [wVBlankOAMCopyToggle], a call LoadSymbolsFont call LoadDuelCardSymbolTiles - bank1call SetDefaultPalettes + bank1call SetDefaultConsolePalettes lb de, $3c, $ff call SetupText lb de, 0, 0 diff --git a/src/engine/menus/deck_selection.asm b/src/engine/menus/deck_selection.asm index bac7ffa..1ee2404 100644 --- a/src/engine/menus/deck_selection.asm +++ b/src/engine/menus/deck_selection.asm @@ -67,7 +67,7 @@ EmptyScreenAndLoadFontDuelAndHandCardsIcons: call LoadSymbolsFont call LoadDuelCardSymbolTiles call LoadHandCardsIcon - bank1call SetDefaultPalettes + bank1call SetDefaultConsolePalettes lb de, $3c, $bf call SetupText ret @@ -86,7 +86,7 @@ Func_8d78: call LoadSymbolsFont call LoadDuelCardSymbolTiles call LoadHandCardsIcon - bank1call SetDefaultPalettes + bank1call SetDefaultConsolePalettes lb de, $3c, $bf call SetupText ret diff --git a/src/engine/menus/start.asm b/src/engine/menus/start.asm index 4d46d4a..c2ec77d 100644 --- a/src/engine/menus/start.asm +++ b/src/engine/menus/start.asm @@ -30,7 +30,7 @@ HandleTitleScreen: or a jr nz, .song_playing ; reset back to the opening sequence - farcall Func_10ab4 + farcall FadeScreenToWhite jr .play_opening .song_playing @@ -49,7 +49,7 @@ HandleTitleScreen: jr z, .loop ld a, SFX_02 call PlaySFX - farcall Func_10ab4 + farcall FadeScreenToWhite .start_menu call CheckIfHasSaveData @@ -105,7 +105,7 @@ HandleStartMenu: ld a, MUSIC_PC_MAIN_MENU call PlaySong call DisableLCD - farcall Func_10000 + farcall InitMenuScreen lb de, $30, $8f call SetupText call Func_3ca0 @@ -125,7 +125,7 @@ HandleStartMenu: ld a, 1 ; start at second menu option .init_menu ld hl, wStartMenuParams - farcall InitAndPrintPauseMenu + farcall InitAndPrintMenu farcall FlashWhiteScreen .wait_input @@ -324,10 +324,10 @@ PrintStartMenuDescriptionText: ld d, a ld a, [wTotalNumCardsToCollect] ld e, a - ld bc, $90e - farcall Func_1024f - ld bc, $a10 - farcall Func_101df + lb bc, 9, 14 + farcall PrintAlbumProgress_SkipGetProgress + lb bc, 10, 16 + farcall PrintPlayTime_SkipUpdateTime ret ; asks the player whether it's okay to delete @@ -340,7 +340,7 @@ DeleteSaveDataForNewGame: ret z call DisableLCD - farcall Func_10000 + farcall InitMenuScreen call Func_3ca0 farcall FlashWhiteScreen call DoFrameIfLCDEnabled @@ -365,7 +365,7 @@ AskToContinueFromDiaryWithDuelData: ret z call DisableLCD - farcall Func_10000 + farcall InitMenuScreen call Func_3ca0 farcall FlashWhiteScreen call DoFrameIfLCDEnabled @@ -403,13 +403,13 @@ ShowCardPopCGBDisclaimer: DrawPlayerPortraitAndPrintNewGameText: call DisableLCD farcall Func_10a9b - farcall Func_10000 + farcall InitMenuScreen call Func_3ca0 ld hl, HandleAllSpriteAnimations call SetDoFrameFunction lb bc, 7, 3 farcall $4, DrawPlayerPortrait - farcall Func_10af9 + farcall FadeScreenFromWhite call DoFrameIfLCDEnabled ldtx hl, IsCrazyAboutPokemonAndPokemonCardCollectingText call PrintScrollableText_NoTextBoxLabel diff --git a/src/engine/overworld/overworld.asm b/src/engine/overworld/overworld.asm index 273f275..a3c6ec8 100644 --- a/src/engine/overworld/overworld.asm +++ b/src/engine/overworld/overworld.asm @@ -21,7 +21,7 @@ LoadMap: xor a ld [wd291], a .warp - farcall Func_10ab4 + farcall FadeScreenToWhite call WhiteOutDMGPals call Func_c241 call EmptyScreen @@ -48,7 +48,7 @@ LoadMap: ld [wOverworldTransition], a ld [wOverworldNPCFlags], a call PlayDefaultSong - farcall Func_10af9 + farcall FadeScreenFromWhite call Func_c141 call Func_c17a .overworld_loop @@ -68,7 +68,7 @@ LoadMap: call PlaySFX jp .warp .no_warp - farcall Func_10ab4 + farcall FadeScreenToWhite call Func_c1a0 ld a, [wMatchStartTheme] or a @@ -273,7 +273,7 @@ Func_c1f8: ld a, [sTextSpeed] ld [wTextSpeed], a call DisableSRAM - farcall Func_10756 + farcall InitPCPacks ret BackupPlayerPosition: @@ -365,7 +365,7 @@ Func_c2a3: push bc push de call BackupObjectPalettes - farcall Func_10ab4 + farcall FadeScreenToWhite ld a, 1 << HIDE_ALL_NPC_SPRITES call SetOverworldNPCFlags lb de, $30, $7f @@ -422,7 +422,7 @@ ReturnToOverworld: ld h, a call CallHL2 .no_callback - farcall Func_10af9 + farcall FadeScreenFromWhite pop de pop bc pop hl @@ -536,6 +536,7 @@ DecompressPermissionMap: pop hl ret +; de = coordinates Func_c3ca: push hl push bc @@ -1149,7 +1150,7 @@ PauseMenu: DisplayPauseMenu: ld a, [wSelectedPauseMenuItem] ld hl, Unknown_10d98 - farcall InitAndPrintPauseMenu + farcall InitAndPrintMenu ret PauseMenuPointerTable: @@ -1173,7 +1174,7 @@ PauseMenu_Deck: ldh [hSCX], a ldh [hSCY], a call Set_OBJ_8x16 - farcall Func_1288c + farcall SetDefaultPalettes farcall DeckSelectionMenu call Set_OBJ_8x8 ret @@ -1183,7 +1184,7 @@ PauseMenu_Card: ldh [hSCX], a ldh [hSCY], a call Set_OBJ_8x16 - farcall Func_1288c + farcall SetDefaultPalettes farcall HandlePlayersCardsScreen call Set_OBJ_8x8 ret @@ -1246,7 +1247,7 @@ PointerTable_c846: DisplayPCMenu: ld a, [wSelectedPCMenuItem] ld hl, Unknown_10da9 - farcall InitAndPrintPauseMenu + farcall InitAndPrintMenu ret PCMenu_CardAlbum: @@ -1254,7 +1255,7 @@ PCMenu_CardAlbum: ldh [hSCX], a ldh [hSCY], a call Set_OBJ_8x16 - farcall Func_1288c + farcall SetDefaultPalettes farcall HandleCardAlbumScreen call Set_OBJ_8x8 ret @@ -1272,7 +1273,7 @@ PCMenu_Print: ldh [hSCX], a ldh [hSCY], a call Set_OBJ_8x16 - farcall Func_1288c + farcall SetDefaultPalettes farcall HandlePrinterMenu call Set_OBJ_8x8 call WhiteOutDMGPals diff --git a/src/engine/overworld/scripting.asm b/src/engine/overworld/scripting.asm index 442bb7b..22239df 100644 --- a/src/engine/overworld/scripting.asm +++ b/src/engine/overworld/scripting.asm @@ -996,7 +996,7 @@ ScriptCommand_ShowCardReceivedScreen: .show_card push af - farcall Func_10000 + farcall InitMenuScreen farcall FlashWhiteScreen pop af bank1call ShowPromotionalCardScreen @@ -1646,7 +1646,7 @@ ShowMultichoiceTextbox: ld h, [hl] ld l, a ld a, [wd416] - farcall InitAndPrintPauseMenu + farcall InitAndPrintMenu pop hl inc hl ld a, [hli] @@ -1738,7 +1738,7 @@ ScriptCommand_OpenDeckMachine: xor a ldh [hSCX], a ldh [hSCY], a - farcall Func_1288c + farcall SetDefaultPalettes call EnableLCD pop bc ld a, c @@ -1776,7 +1776,7 @@ ScriptCommand_EnterMap: jp IncreaseScriptPointerBy6 ScriptCommand_FlashScreen: - farcall Func_10c96 + farcall FlashScreenToWhite jp IncreaseScriptPointerBy2 ScriptCommand_SaveGame: @@ -1788,7 +1788,7 @@ ScriptCommand_GiftCenter: or a jr nz, .load_gift_center ; show menu - farcall Func_10dba + farcall GiftCenterMenu ld c, a set_event_value EVENT_GIFT_CENTER_MENU_CHOICE jr .done diff --git a/src/engine/sequences/credits_sequence_commands.asm b/src/engine/sequences/credits_sequence_commands.asm index d80df8b..bb60305 100644 --- a/src/engine/sequences/credits_sequence_commands.asm +++ b/src/engine/sequences/credits_sequence_commands.asm @@ -86,7 +86,7 @@ CreditsSequenceCmd_LoadScene: ; 1d85a (7:585a) xor a ldh [hSCX], a ldh [hSCY], a - farcall Func_1288c + farcall SetDefaultPalettes pop de pop bc ld a, c @@ -104,7 +104,7 @@ CreditsSequenceCmd_LoadBooster: ; 1d878 (7:5878) xor a ldh [hSCX], a ldh [hSCY], a - farcall Func_1288c + farcall SetDefaultPalettes pop de pop bc ld a, c @@ -301,11 +301,11 @@ CreditsSequenceCmd_DisableLCD: ; 1d9db (7:59db) CreditsSequenceCmd_FadeIn: ; 1d9e1 (7:59e1) call DisableLCD call SetWindowOn - farcall Func_10af9 + farcall FadeScreenFromWhite jp AdvanceCreditsSequenceCmdPtrBy2 CreditsSequenceCmd_FadeOut: ; 1d9ee (7:59ee) - farcall Func_10ab4 + farcall FadeScreenToWhite call Func_3ca4 call EnableLCD call DoFrameIfLCDEnabled diff --git a/src/engine/sgb.asm b/src/engine/sgb.asm index 288dc45..1e82e73 100644 --- a/src/engine/sgb.asm +++ b/src/engine/sgb.asm @@ -570,7 +570,7 @@ DecompressSGBPalette: ret ; sends an SGB packet related with palettes -Func_7041d: +SendSGBPortraitPalettes: ld a, [wConsole] cp CONSOLE_SGB ret nz ; exit if not SGB diff --git a/src/engine/unused_copyright.asm b/src/engine/unused_copyright.asm index 31a489b..2ce0afd 100644 --- a/src/engine/unused_copyright.asm +++ b/src/engine/unused_copyright.asm @@ -3,11 +3,11 @@ UnusedCopyrightScreen: ; unreferenced call DisableLCD farcall Func_10a9b - farcall Func_10000 + farcall InitMenuScreen ld bc, $0 ld a, SCENE_COPYRIGHT call LoadScene - farcall Func_10af9 + farcall FadeScreenFromWhite ld bc, 300 .loop_frame push bc @@ -22,5 +22,5 @@ UnusedCopyrightScreen: ; unreferenced or c jr nz, .loop_frame .exit - farcall Func_10ab4 + farcall FadeScreenToWhite ret diff --git a/src/engine/unused_save_validation.asm b/src/engine/unused_save_validation.asm index f26bbcb..5f65e0d 100644 --- a/src/engine/unused_save_validation.asm +++ b/src/engine/unused_save_validation.asm @@ -43,11 +43,11 @@ UnusedSaveDataValidation: ; unreferenced bank1call ZeroObjectPositionsAndToggleOAMCopy call EmptyScreen call LoadSymbolsFont - bank1call SetDefaultPalettes + bank1call SetDefaultConsolePalettes ld a, [wConsole] cp CONSOLE_SGB jr nz, .not_sgb - ld a, $e4 + ld a, %11100100 ld [wOBP0], a ld [wBGP], a ld a, $01 diff --git a/src/home/load_animation.asm b/src/home/load_animation.asm index 46b46ba..777fc3f 100644 --- a/src/home/load_animation.asm +++ b/src/home/load_animation.asm @@ -272,7 +272,7 @@ DrawPlayerPortrait: ld a, TILEMAP_PLAYER ; fallthrough -Func_3e17: +DrawPortrait: ld [wCurTilemap], a ldh a, [hBankROM] push af @@ -284,10 +284,10 @@ Func_3e17: ret ; draws opponent's portrait given in a at b,c -Func_3e2a: +DrawOpponentPortrait: ld [wd61e], a ld a, TILEMAP_OPPONENT - jr Func_3e17 + jr DrawPortrait Func_3e31: ldh a, [hBankROM] diff --git a/src/text/text3.asm b/src/text/text3.asm index 8800a18..1d0f619 100644 --- a/src/text/text3.asm +++ b/src/text/text3.asm @@ -1169,7 +1169,7 @@ TurnedPCOffText: ; 3ea7e (f:6a7e) line "turned the PC off!" done -Text0354: ; 3ea94 (f:6a94) +GiftCenterMenuText: ; 3ea94 (f:6a94) text "Send Card" line "Receive Card" line "Send Deck Configuration" @@ -1177,95 +1177,95 @@ Text0354: ; 3ea94 (f:6a94) line "Exit" done -Text0355: ; 3eae4 (f:6ae4) +SendCardText: ; 3eae4 (f:6ae4) text "Send Card" done -Text0356: ; 3eaef (f:6aef) +ReceiveCardText: ; 3eaef (f:6aef) text "Receive Card" done -Text0357: ; 3eafd (f:6afd) +SendDeckConfigurationText: ; 3eafd (f:6afd) text "Send Deck Configuration" done -Text0358: ; 3eb16 (f:6b16) +ReceiveDeckConfigurationText: ; 3eb16 (f:6b16) text "Receive Deck Configuration" done -Text0359: ; 3eb32 (f:6b32) +MailText: ; 3eb32 (f:6b32) text " Mail <RAMNAME> " done -Text035a: ; 3eb3e (f:6b3e) +WhichMailWouldYouLikeToReadText: ; 3eb3e (f:6b3e) text "Which mail would you like to read?" done -Text035b: ; 3eb62 (f:6b62) +MailNumbersText: ; 3eb62 (f:6b62) text "Mail 0 1 2 3 4 5 6 7 8 9101112131415" done -Text035c: ; 3eb88 (f:6b88) +EmptyMailNameText: ; 3eb88 (f:6b88) textfw0 " " done -Text035d: ; 3eb8e (f:6b8e) +Mail1Text: ; 3eb8e (f:6b8e) text "Mail 1" done -Text035e: ; 3eb96 (f:6b96) +Mail2Text: ; 3eb96 (f:6b96) text "Mail 2" done -Text035f: ; 3eb9e (f:6b9e) +Mail3Text: ; 3eb9e (f:6b9e) text "Mail 3" done -Text0360: ; 3eba6 (f:6ba6) +Mail4Text: ; 3eba6 (f:6ba6) text "Mail 4" done -Text0361: ; 3ebae (f:6bae) +Mail5Text: ; 3ebae (f:6bae) text "Mail 5" done -Text0362: ; 3ebb6 (f:6bb6) +Mail6Text: ; 3ebb6 (f:6bb6) text "Mail 6" done -Text0363: ; 3ebbe (f:6bbe) +Mail7Text: ; 3ebbe (f:6bbe) text "Mail 7" done -Text0364: ; 3ebc6 (f:6bc6) +Mail8Text: ; 3ebc6 (f:6bc6) text "Mail 8" done -Text0365: ; 3ebce (f:6bce) +Mail9Text: ; 3ebce (f:6bce) text "Mail 9" done -Text0366: ; 3ebd6 (f:6bd6) +Mail10Text: ; 3ebd6 (f:6bd6) text "Mail 10" done -Text0367: ; 3ebdf (f:6bdf) +Mail11Text: ; 3ebdf (f:6bdf) text "Mail 11" done -Text0368: ; 3ebe8 (f:6be8) +Mail12Text: ; 3ebe8 (f:6be8) text "Mail 12" done -Text0369: ; 3ebf1 (f:6bf1) +Mail13Text: ; 3ebf1 (f:6bf1) text "Mail 13" done -Text036a: ; 3ebfa (f:6bfa) +Mail14Text: ; 3ebfa (f:6bfa) text "Mail 14" done -Text036b: ; 3ec03 (f:6c03) +Mail15Text: ; 3ec03 (f:6c03) text "Mail 15" done @@ -1374,7 +1374,7 @@ IsCrazyAboutPokemonAndPokemonCardCollectingText: ; 3efc3 (f:6fc3) line "card researcher, Dr. Mason..." done -Text037a: ; 3f147 (f:7147) +DebugMenuText: ; 3f147 (f:7147) text "POWER ON" line "DUEL MODE" line "CONTINUE FROM DIARY" @@ -1393,7 +1393,7 @@ Text037b: ; 3f1ce (f:71ce) line "SKIP" done -Text037c: ; 3f1e0 (f:71e0) +DebugBoosterPackMenuText: ; 3f1e0 (f:71e0) text "COLOSSEUM" line "EVOLUTION" line "MYSTERY" @@ -1401,7 +1401,7 @@ Text037c: ; 3f1e0 (f:71e0) line "Energy" done -Text037d: ; 3f20f (f:720f) +DebugBoosterPackColosseumEvolutionMenuText: ; 3f20f (f:720f) text "1" line "2" line "3" @@ -1411,7 +1411,7 @@ Text037d: ; 3f20f (f:720f) line "7" done -Text037e: ; 3f21e (f:721e) +DebugBoosterPackMysteryMenuText: ; 3f21e (f:721e) text "1" line "2" line "3" @@ -1420,7 +1420,7 @@ Text037e: ; 3f21e (f:721e) line "6" done -Text037f: ; 3f22b (f:722b) +DebugBoosterPackLaboratoryMenuText: ; 3f22b (f:722b) text "1" line "2" line "3" @@ -1428,7 +1428,7 @@ Text037f: ; 3f22b (f:722b) line "5" done -Text0380: ; 3f236 (f:7236) +DebugBoosterPackEnergyMenuText: ; 3f236 (f:7236) text "1" line "2" line "3" diff --git a/src/text/text_offsets.asm b/src/text/text_offsets.asm index ff38daa..902219e 100644 --- a/src/text/text_offsets.asm +++ b/src/text/text_offsets.asm @@ -853,30 +853,30 @@ TextOffsets:: ; 34000 (d:4000) textpointer Text0351 ; 0x0351 textpointer TurnedPCOnText ; 0x0352 textpointer TurnedPCOffText ; 0x0353 - textpointer Text0354 ; 0x0354 - textpointer Text0355 ; 0x0355 - textpointer Text0356 ; 0x0356 - textpointer Text0357 ; 0x0357 - textpointer Text0358 ; 0x0358 - textpointer Text0359 ; 0x0359 - textpointer Text035a ; 0x035a - textpointer Text035b ; 0x035b - textpointer Text035c ; 0x035c - textpointer Text035d ; 0x035d - textpointer Text035e ; 0x035e - textpointer Text035f ; 0x035f - textpointer Text0360 ; 0x0360 - textpointer Text0361 ; 0x0361 - textpointer Text0362 ; 0x0362 - textpointer Text0363 ; 0x0363 - textpointer Text0364 ; 0x0364 - textpointer Text0365 ; 0x0365 - textpointer Text0366 ; 0x0366 - textpointer Text0367 ; 0x0367 - textpointer Text0368 ; 0x0368 - textpointer Text0369 ; 0x0369 - textpointer Text036a ; 0x036a - textpointer Text036b ; 0x036b + textpointer GiftCenterMenuText ; 0x0354 + textpointer SendCardText ; 0x0355 + textpointer ReceiveCardText ; 0x0356 + textpointer SendDeckConfigurationText ; 0x0357 + textpointer ReceiveDeckConfigurationText ; 0x0358 + textpointer MailText ; 0x0359 + textpointer WhichMailWouldYouLikeToReadText ; 0x035a + textpointer MailNumbersText ; 0x035b + textpointer EmptyMailNameText ; 0x035c + textpointer Mail1Text ; 0x035d + textpointer Mail2Text ; 0x035e + textpointer Mail3Text ; 0x035f + textpointer Mail4Text ; 0x0360 + textpointer Mail5Text ; 0x0361 + textpointer Mail6Text ; 0x0362 + textpointer Mail7Text ; 0x0363 + textpointer Mail8Text ; 0x0364 + textpointer Mail9Text ; 0x0365 + textpointer Mail10Text ; 0x0366 + textpointer Mail11Text ; 0x0367 + textpointer Mail12Text ; 0x0368 + textpointer Mail13Text ; 0x0369 + textpointer Mail14Text ; 0x036a + textpointer Mail15Text ; 0x036b textpointer NewGameText ; 0x036c textpointer CardPopContinueDiaryNewGameText ; 0x036d textpointer CardPopContinueDiaryNewGameContinueDuelText ; 0x036e @@ -891,13 +891,13 @@ TextOffsets:: ; 34000 (d:4000) textpointer ContinueFromDiaryText ; 0x0377 textpointer YouCanAccessCardPopOnlyWithGameBoyColorsText ; 0x0378 textpointer IsCrazyAboutPokemonAndPokemonCardCollectingText ; 0x0379 - textpointer Text037a ; 0x037a + textpointer DebugMenuText ; 0x037a textpointer Text037b ; 0x037b - textpointer Text037c ; 0x037c - textpointer Text037d ; 0x037d - textpointer Text037e ; 0x037e - textpointer Text037f ; 0x037f - textpointer Text0380 ; 0x0380 + textpointer DebugBoosterPackMenuText ; 0x037c + textpointer DebugBoosterPackColosseumEvolutionMenuText ; 0x037d + textpointer DebugBoosterPackMysteryMenuText ; 0x037e + textpointer DebugBoosterPackLaboratoryMenuText ; 0x037f + textpointer DebugBoosterPackEnergyMenuText ; 0x0380 textpointer Text0381 ; 0x0381 textpointer Text0382 ; 0x0382 textpointer Text0383 ; 0x0383 diff --git a/src/wram.asm b/src/wram.asm index 2004d57..43326fe 100644 --- a/src/wram.asm +++ b/src/wram.asm @@ -2560,13 +2560,13 @@ wWriteBGMapToSRAM:: ; d292 wd293:: ; d293 ds $1 -wd294:: ; d294 +wTempBGP:: ; d294 ds $1 -wd295:: ; d295 +wTempOBP0:: ; d295 ds $1 -wd296:: ; d296 +wTempOBP1:: ; d296 ds $1 ; temporarily holds the palettes from @@ -2922,7 +2922,10 @@ wDuelAnimDamage:: ; d4b1 wd4b3:: ; d4b3 ds $1 -wd4b4:: ; d4b4 +; stores the character symbols of some +; value that was converted to decimal +; through ConvertWordToNumericalDigits +wDecimalChars:: ; d4b4 ds $3 wd4b7:: ; d4b7 |