diff options
| author | dannye <33dannye@gmail.com> | 2024-09-25 00:45:00 -0500 |
|---|---|---|
| committer | dannye <33dannye@gmail.com> | 2024-09-25 00:45:00 -0500 |
| commit | a02a98ee7ada1a658e28698484058be2796dc0df (patch) | |
| tree | 945986054565bd8b5212fc755415096050d1d3a8 /engine/menus | |
| parent | Use long option flags for rgbgfx, same as tools/gfx (diff) | |
| parent | Use `const_skip` (diff) | |
| download | pokeyellow-a02a98ee7ada1a658e28698484058be2796dc0df.tar.gz pokeyellow-a02a98ee7ada1a658e28698484058be2796dc0df.tar.xz pokeyellow-a02a98ee7ada1a658e28698484058be2796dc0df.zip | |
Merge branch 'master' of https://github.com/pret/pokered
Diffstat (limited to 'engine/menus')
| -rw-r--r-- | engine/menus/display_text_id_init.asm | 12 | ||||
| -rw-r--r-- | engine/menus/draw_start_menu.asm | 12 | ||||
| -rw-r--r-- | engine/menus/league_pc.asm | 14 | ||||
| -rw-r--r-- | engine/menus/link_menu.asm | 64 | ||||
| -rw-r--r-- | engine/menus/main_menu.asm | 40 | ||||
| -rw-r--r-- | engine/menus/naming_screen.asm | 18 | ||||
| -rw-r--r-- | engine/menus/options.asm | 12 | ||||
| -rw-r--r-- | engine/menus/party_menu.asm | 16 | ||||
| -rw-r--r-- | engine/menus/pc.asm | 20 | ||||
| -rw-r--r-- | engine/menus/players_pc.asm | 28 | ||||
| -rw-r--r-- | engine/menus/pokedex.asm | 74 | ||||
| -rw-r--r-- | engine/menus/save.asm | 23 | ||||
| -rw-r--r-- | engine/menus/start_sub_menus.asm | 58 | ||||
| -rw-r--r-- | engine/menus/text_box.asm | 44 | ||||
| -rw-r--r-- | engine/menus/unused_input.asm | 2 |
15 files changed, 220 insertions, 217 deletions
diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index 17f290b4..74fb5800 100644 --- a/engine/menus/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm @@ -3,9 +3,9 @@ DisplayTextIDInit:: xor a ld [wListMenuID], a ld a, [wAutoTextBoxDrawingControl] - bit 0, a + bit BIT_NO_AUTO_TEXT_BOX, a jr nz, .skipDrawingTextBoxBorder - ldh a, [hSpriteIndexOrTextID] ; text ID (or sprite ID) + ldh a, [hTextID] and a jr nz, .notStartMenu ; if text ID is 0 (i.e. the start menu) @@ -28,10 +28,10 @@ DisplayTextIDInit:: call TextBoxBorder .skipDrawingTextBoxBorder ld hl, wFontLoaded - set 0, [hl] - ld hl, wFlags_0xcd60 - bit 4, [hl] - res 4, [hl] + set BIT_FONT_LOADED, [hl] + ld hl, wMiscFlags + bit BIT_NO_SPRITE_UPDATES, [hl] + res BIT_NO_SPRITE_UPDATES, [hl] jr nz, .skipMovingSprites call UpdateSprites .skipMovingSprites diff --git a/engine/menus/draw_start_menu.asm b/engine/menus/draw_start_menu.asm index 7ca75ecb..cb2e5988 100644 --- a/engine/menus/draw_start_menu.asm +++ b/engine/menus/draw_start_menu.asm @@ -21,8 +21,8 @@ DrawStartMenu:: ld [wLastMenuItem], a xor a ld [wMenuWatchMovingOutOfBounds], a - ld hl, wd730 - set 6, [hl] ; no pauses between printing each letter + ld hl, wStatusFlags5 + set BIT_NO_TEXT_DELAY, [hl] hlcoord 12, 2 CheckEvent EVENT_GOT_POKEDEX ; case for not having pokedex @@ -40,8 +40,8 @@ DrawStartMenu:: call PrintStartMenuItem ld de, wPlayerName ; player's name call PrintStartMenuItem - ld a, [wd72e] - bit 6, a ; is the player using the link feature? + ld a, [wStatusFlags4] + bit BIT_LINK_CONNECTED, a ; case for not using link feature ld de, StartMenuSaveText jr z, .printSaveOrResetText @@ -53,8 +53,8 @@ DrawStartMenu:: call PrintStartMenuItem ld de, StartMenuExitText call PlaceString - ld hl, wd730 - res 6, [hl] ; turn pauses between printing letters back on + ld hl, wStatusFlags5 + res BIT_NO_TEXT_DELAY, [hl] ret StartMenuPokedexText: diff --git a/engine/menus/league_pc.asm b/engine/menus/league_pc.asm index 882565ca..b9151084 100644 --- a/engine/menus/league_pc.asm +++ b/engine/menus/league_pc.asm @@ -1,8 +1,8 @@ PKMNLeaguePC: ld hl, AccessedHoFPCText call PrintText - ld hl, wd730 - set 6, [hl] + ld hl, wStatusFlags5 + set BIT_NO_TEXT_DELAY, [hl] push hl ld a, [wUpdateSpritesEnabled] push af @@ -44,7 +44,7 @@ PKMNLeaguePC: pop af ld [wUpdateSpritesEnabled], a pop hl - res 6, [hl] + res BIT_NO_TEXT_DELAY, [hl] call GBPalWhiteOutWithDelay3 call ClearScreen call RunDefaultPaletteCommand @@ -57,7 +57,7 @@ LeaguePCShowTeam: call LeaguePCShowMon call WaitForTextScrollButtonPress ldh a, [hJoyHeld] - bit 1, a + bit BIT_B_BUTTON, a jr nz, .exit ld hl, wHallOfFame + HOF_MON ld de, wHallOfFame @@ -83,13 +83,13 @@ LeaguePCShowMon: ld hl, wHallOfFame ld a, [hli] ld [wHoFMonSpecies], a - ld [wcf91], a - ld [wd0b5], a + ld [wCurPartySpecies], a + ld [wCurSpecies], a ld [wBattleMonSpecies2], a ld [wWholeScreenPaletteMonSpecies], a ld a, [hli] ld [wHoFMonLevel], a - ld de, wcd6d + ld de, wNameBuffer ld bc, NAME_LENGTH call CopyData ld b, SET_PAL_POKEMON_WHOLE_SCREEN diff --git a/engine/menus/link_menu.asm b/engine/menus/link_menu.asm index 170d5d64..e0f39eda 100644 --- a/engine/menus/link_menu.asm +++ b/engine/menus/link_menu.asm @@ -22,9 +22,9 @@ Func_f531b:: call TextBoxBorder call UpdateSprites xor a - ld [wUnusedCD37], a - ld [wd72d], a - ld [wd11e], a + ld [wUnusedLinkMenuByte], a + ld [wCableClubDestinationMap], a + ld [wNamedObjectIndex], a ld hl, wTopMenuItemY ld a, $2 ld [hli], a @@ -90,7 +90,7 @@ Func_f531b:: jr z, .asm_f53df .asm_f53d1 ld a, $1 - ld [wd11e], a + ld [wNamedObjectIndex], a ld a, b ld [wLinkMenuSelectionSendBuffer], a and $3 @@ -310,21 +310,21 @@ PetitCup:: jp z, DuplicateSpecies dec hl ld a, [hl] - ld [wcf91], a + ld [wCurPartySpecies], a push hl callfar Func_3b10f pop hl jp c, asm_f56ad inc hl ld a, [hl] - ld [wcf91], a + ld [wCurPartySpecies], a push hl callfar Func_3b10f pop hl jp c, asm_f56ad inc hl ld a, [hl] - ld [wcf91], a + ld [wCurPartySpecies], a push hl callfar Func_3b10f pop hl @@ -343,19 +343,19 @@ PetitCup:: ld hl, PokedexEntryPointers add hl, bc add hl, bc - ld de, wcd6d + ld de, wNameBuffer ld bc, $2 ld a, BANK(PokedexEntryPointers) call FarCopyData - ld hl, wcd6d + ld hl, wNameBuffer ld a, [hli] ld h, [hl] ld l, a - ld de, wcd6d + ld de, wNameBuffer ld bc, $14 ld a, BANK(PokedexEntryPointers) call FarCopyData - ld hl, wcd6d + ld hl, wNameBuffer .loop2 ld a, [hli] cp "@" @@ -483,7 +483,7 @@ asm_f5689:: pop af pop bc pop hl - ld [wd11e], a + ld [wNamedObjectIndex], a call GetMonName ld hl, ColosseumHeightText call PrintText @@ -494,7 +494,7 @@ asm_f569b:: pop af pop bc pop hl - ld [wd11e], a + ld [wNamedObjectIndex], a call GetMonName ld hl, ColosseumWeightText call PrintText @@ -503,7 +503,7 @@ asm_f569b:: asm_f56ad:: ld a, [hl] - ld [wd11e], a + ld [wNamedObjectIndex], a call GetMonName ld hl, ColosseumEvolvedText call PrintText @@ -635,8 +635,8 @@ ColosseumIneligibleText:: LinkMenu: xor a ld [wLetterPrintingDelayFlags], a - ld hl, wd72e - set 6, [hl] + ld hl, wStatusFlags4 + set BIT_LINK_CONNECTED, [hl] ld hl, TextTerminator_f5a16 call PrintText call SaveScreenTilesToBuffer1 @@ -650,20 +650,26 @@ LinkMenu: ld de, TradeCenterText call PlaceString xor a - ld [wUnusedCD37], a - ld [wd72d], a - ld [wd11e], a + ld [wUnusedLinkMenuByte], a + ld [wCableClubDestinationMap], a + ld [wNamedObjectIndex], a ld hl, wTopMenuItemY - ld a, $5 + ld a, 5 ld [hli], a - ld a, $6 + assert wTopMenuItemY + 1 == wTopMenuItemX + ld a, 6 ld [hli], a + assert wTopMenuItemX + 1 == wCurrentMenuItem xor a ld [hli], a inc hl - ld a, $3 + assert wCurrentMenuItem + 2 == wMaxMenuItem + ld a, 3 ld [hli], a + assert wMaxMenuItem + 1 == wMenuWatchedKeys + assert 2 == B_BUTTON ld [hli], a + assert wMenuWatchedKeys + 1 == wLastMenuItem xor a ld [hl], a .waitForInputLoop @@ -716,7 +722,7 @@ LinkMenu: jr z, .doneChoosingMenuSelection .useEnemyMenuSelection ld a, $1 - ld [wd11e], a + ld [wNamedObjectIndex], a ld a, b ld [wLinkMenuSelectionSendBuffer], a and $3 @@ -769,12 +775,12 @@ LinkMenu: jr nz, .next ld a, TRADE_CENTER .next - ld [wd72d], a + ld [wCableClubDestinationMap], a ld hl, ColosseumPleaseWaitText call PrintText ld c, 50 call DelayFrames - ld hl, wd732 + ld hl, wStatusFlags6 res BIT_DEBUG_MODE, [hl] ld a, [wDefaultMap] ld [wDestinationMap], a @@ -796,13 +802,13 @@ LinkMenu: ld hl, ColosseumCanceledText vc_hook Wireless_net_stop call PrintText - ld hl, wd72e - res 6, [hl] + ld hl, wStatusFlags4 + res BIT_LINK_CONNECTED, [hl] vc_hook Wireless_net_end ret .asm_f5963 - ld a, [wd11e] + ld a, [wNamedObjectIndex] and a jr nz, .asm_f5974 ld b, " " @@ -847,7 +853,7 @@ LinkMenu: xor a ld [wUnknownSerialCounter], a ld [wUnknownSerialCounter+1], a - ld a, [wd11e] + ld a, [wNamedObjectIndex] and a jr z, .asm_f59cd ld b, " " diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 06f3c2a7..817205a9 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -21,14 +21,14 @@ MainMenu: ld [hli], a ld [hl], a ld [wDefaultMap], a - ld hl, wd72e - res 6, [hl] + ld hl, wStatusFlags4 + res BIT_LINK_CONNECTED, [hl] call ClearScreen call RunDefaultPaletteCommand call LoadTextBoxTilePatterns call LoadFontTilePatterns - ld hl, wd730 - set 6, [hl] + ld hl, wStatusFlags5 + set BIT_NO_TEXT_DELAY, [hl] ld a, [wSaveFileStatus] cp 1 jr z, .noSaveFile @@ -48,8 +48,8 @@ MainMenu: ld de, NewGameText call PlaceString .next2 - ld hl, wd730 - res 6, [hl] + ld hl, wStatusFlags5 + res BIT_NO_TEXT_DELAY, [hl] call UpdateSprites xor a ld [wCurrentMenuItem], a @@ -83,13 +83,13 @@ MainMenu: cp 1 jp z, StartNewGame call DisplayOptionMenu - ld a, 1 + ld a, TRUE ld [wOptionsInitialized], a jp .mainMenuLoop .choseContinue call DisplayContinueGameInfo ld hl, wCurrentMapScriptFlags - set 5, [hl] + set BIT_CUR_MAP_LOADED_1, [hl] .inputLoop xor a ldh [hJoyPressed], a @@ -100,7 +100,7 @@ MainMenu: bit BIT_A_BUTTON, a jr nz, .pressedA bit BIT_B_BUTTON, a - jp nz, .mainMenuLoop ; pressed B + jp nz, .mainMenuLoop jr .inputLoop .pressedA call GBPalWhiteOutWithDelay3 @@ -112,18 +112,18 @@ MainMenu: ld a, [wNumHoFTeams] and a jp z, SpecialEnterMap - ld a, [wCurMap] ; map ID + ld a, [wCurMap] cp HALL_OF_FAME jp nz, SpecialEnterMap xor a ld [wDestinationMap], a - ld hl, wd732 - set 2, [hl] ; fly warp or dungeon warp + ld hl, wStatusFlags6 + set BIT_FLY_OR_DUNGEON_WARP, [hl] call PrepareForSpecialWarp jp SpecialEnterMap InitOptions: - ld a, TEXT_DELAY_FAST + ld a, 1 << BIT_FAST_TEXT_DELAY ld [wLetterPrintingDelayFlags], a ld a, TEXT_DELAY_MEDIUM ld [wOptions], a @@ -145,11 +145,9 @@ NotEnoughMemoryText: text_end StartNewGame: - ld hl, wd732 - ; Ensure debug mode is not used when - ; starting a regular new game. - ; Debug mode persists in saved games for - ; both debug and non-debug builds, and is + ld hl, wStatusFlags6 + ; Ensure debug mode is not used when starting a regular new game. + ; Debug mode persists in saved games for both debug and non-debug builds, and is ; only reset here by the main menu. res BIT_DEBUG_MODE, [hl] ; fallthrough @@ -166,9 +164,9 @@ SpecialEnterMap:: ldh [hJoyPressed], a ldh [hJoyHeld], a ldh [hJoy5], a - ld [wd72d], a - ld hl, wd732 - set 0, [hl] ; count play time + ld [wCableClubDestinationMap], a + ld hl, wStatusFlags6 + set BIT_GAME_TIMER_COUNTING, [hl] call ResetPlayerSpriteData ld c, 20 call DelayFrames diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index 7969cdda..9d477b34 100644 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -7,8 +7,8 @@ AskName: hlcoord 0, 0 lb bc, 4, 11 call z, ClearScreenArea ; only if in wild battle - ld a, [wcf91] - ld [wd11e], a + ld a, [wCurPartySpecies] + ld [wNamedObjectIndex], a call GetMonName ld hl, DoYouWantToNicknameText call PrintText @@ -44,7 +44,7 @@ AskName: .declinedNickname ld d, h ld e, l - ld hl, wcd6d + ld hl, wNameBuffer ld bc, NAME_LENGTH jp CopyData @@ -82,8 +82,8 @@ DisplayNameRaterScreen:: DisplayNamingScreen: push hl - ld hl, wd730 - set 6, [hl] + ld hl, wStatusFlags5 + set BIT_NO_TEXT_DELAY, [hl] call GBPalWhiteOutWithDelay3 call ClearScreen call UpdateSprites @@ -165,8 +165,8 @@ DisplayNamingScreen: call GBPalNormal xor a ld [wAnimCounter], a - ld hl, wd730 - res 6, [hl] + ld hl, wStatusFlags5 + res BIT_NO_TEXT_DELAY, [hl] ld a, [wIsInBattle] and a jp z, LoadTextBoxTilePatterns @@ -472,12 +472,12 @@ PrintNamingText: ld de, RivalsTextString dec a jr z, .notNickname - ld a, [wcf91] + ld a, [wCurPartySpecies] ld [wMonPartySpriteSpecies], a push af farcall WriteMonPartySpriteOAMBySpecies pop af - ld [wd11e], a + ld [wNamedObjectIndex], a call GetMonName hlcoord 4, 1 call PlaceString diff --git a/engine/menus/options.asm b/engine/menus/options.asm index e2c02e42..a2a96dd6 100644 --- a/engine/menus/options.asm +++ b/engine/menus/options.asm @@ -43,9 +43,9 @@ OptionMenuJumpTable: OptionsMenu_TextSpeed: call GetTextSpeed ldh a, [hJoy5] - bit 4, a ; right + bit BIT_D_RIGHT, a jr nz, .pressedRight - bit 5, a + bit BIT_D_LEFT, a jr nz, .pressedLeft jr .nonePressed .pressedRight @@ -193,9 +193,9 @@ OptionsMenu_SpeakerSettings: swap a ld c, a ldh a, [hJoy5] - bit 4, a + bit BIT_D_RIGHT, a jr nz, .pressedRight - bit 5, a + bit BIT_D_LEFT, a jr nz, .pressedLeft jr .asm_41dca .pressedRight @@ -248,9 +248,9 @@ Earphone3SoundText: OptionsMenu_GBPrinterBrightness: call Func_41e7b ldh a, [hJoy5] - bit 4, a + bit BIT_D_RIGHT, a jr nz, .pressedRight - bit 5, a + bit BIT_D_LEFT, a jr nz, .pressedLeft jr .asm_41e32 .pressedRight diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index 022ae206..169a0ac7 100644 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -78,12 +78,12 @@ RedrawPartyMenu_:: push hl ld bc, SCREEN_WIDTH + 1 ; down 1 row and right 1 column ldh a, [hUILayoutFlags] - set 0, a + set BIT_PARTY_MENU_HP_BAR, a ldh [hUILayoutFlags], a add hl, bc predef DrawHP2 ; draw HP bar and prints current / max HP ldh a, [hUILayoutFlags] - res 0, a + res BIT_PARTY_MENU_HP_BAR, a ldh [hUILayoutFlags], a call SetPartyMenuHPBarColor ; color the HP bar (on SGB) pop hl @@ -129,19 +129,19 @@ RedrawPartyMenu_:: rl b ld c, a add hl, bc - ld de, wcd6d + ld de, wEvoDataBuffer ld a, BANK(EvosMovesPointerTable) ld bc, 2 call FarCopyData - ld hl, wcd6d + ld hl, wEvoDataBuffer ld a, [hli] ld h, [hl] ld l, a - ld de, wcd6d + ld de, wEvoDataBuffer ld a, BANK(EvosMovesPointerTable) ld bc, 4 * 3 + 1 ; enough for Eevee's three 4-byte evolutions and 0 terminator call FarCopyData - ld hl, wcd6d + ld hl, wEvoDataBuffer ld de, .notAbleToEvolveText ; loop through the pokemon's evolution entries .checkEvolutionsLoop @@ -180,11 +180,11 @@ RedrawPartyMenu_:: ld b, SET_PAL_PARTY_MENU call RunPaletteCommand .printMessage - ld hl, wd730 + ld hl, wStatusFlags5 ld a, [hl] push af push hl - set 6, [hl] ; turn off letter printing delay + set BIT_NO_TEXT_DELAY, [hl] ld a, [wPartyMenuTypeOrMessageID] ; message ID cp FIRST_PARTY_MENU_TEXT_ID jr nc, .printItemUseMessage diff --git a/engine/menus/pc.asm b/engine/menus/pc.asm index 6a15eaa5..33dd3c2c 100644 --- a/engine/menus/pc.asm +++ b/engine/menus/pc.asm @@ -5,14 +5,14 @@ ActivatePC:: ld hl, TurnedOnPC1Text call PrintText call WaitForSoundToFinish - ld hl, wFlags_0xcd60 - set 3, [hl] + ld hl, wMiscFlags + set BIT_USING_GENERIC_PC, [hl] call LoadScreenTilesFromBuffer2 call Delay3 PCMainMenu: farcall DisplayPCMainMenu - ld hl, wFlags_0xcd60 - set 5, [hl] + ld hl, wMiscFlags + set BIT_NO_MENU_BUTTON_SOUND, [hl] call HandleMenuInput bit BIT_B_BUTTON, a jp nz, LogOff @@ -48,9 +48,9 @@ PCMainMenu: jp z, PKMNLeague ;if current menu item id is 3, it's pkmnleague jp LogOff ;otherwise, it's 4, and you're logging off .playersPC - ld hl, wFlags_0xcd60 - res 5, [hl] - set 3, [hl] + ld hl, wMiscFlags + res BIT_NO_MENU_BUTTON_SOUND, [hl] + set BIT_USING_GENERIC_PC, [hl] ld a, SFX_ENTER_PC call PlaySound call WaitForSoundToFinish @@ -93,9 +93,9 @@ LogOff: ld a, SFX_TURN_OFF_PC call PlaySound call WaitForSoundToFinish - ld hl, wFlags_0xcd60 - res 3, [hl] - res 5, [hl] + ld hl, wMiscFlags + res BIT_USING_GENERIC_PC, [hl] + res BIT_NO_MENU_BUTTON_SOUND, [hl] ret TurnedOnPC1Text: diff --git a/engine/menus/players_pc.asm b/engine/menus/players_pc.asm index 1fac030b..630b8f87 100644 --- a/engine/menus/players_pc.asm +++ b/engine/menus/players_pc.asm @@ -5,8 +5,8 @@ PlayerPC:: xor a ld [wBagSavedMenuItem], a ld [wParentMenuItem], a - ld a, [wFlags_0xcd60] - bit 3, a ; accessing player's PC through another PC? + ld a, [wMiscFlags] + bit BIT_USING_GENERIC_PC, a jr nz, PlayerPCMenu ; accessing it directly ld a, SFX_TURN_ON_PC @@ -15,12 +15,12 @@ PlayerPC:: call PrintText PlayerPCMenu: - ld hl, wd730 - set 6, [hl] + ld hl, wStatusFlags5 + set BIT_NO_TEXT_DELAY, [hl] ld a, [wParentMenuItem] ld [wCurrentMenuItem], a - ld hl, wFlags_0xcd60 - set 5, [hl] + ld hl, wMiscFlags + set BIT_NO_MENU_BUTTON_SOUND, [hl] call LoadScreenTilesFromBuffer2 hlcoord 0, 0 lb bc, 8, 14 @@ -49,7 +49,7 @@ PlayerPCMenu: ld hl, WhatDoYouWantText call PrintText call HandleMenuInput - bit 1, a + bit BIT_B_BUTTON, a jp nz, ExitPlayerPC call PlaceUnfilledArrowMenuCursor ld a, [wCurrentMenuItem] @@ -62,22 +62,22 @@ PlayerPCMenu: jp z, PlayerPCToss ExitPlayerPC: - ld a, [wFlags_0xcd60] - bit 3, a ; accessing player's PC through another PC? + ld a, [wMiscFlags] + bit BIT_USING_GENERIC_PC, a jr nz, .next ; accessing it directly ld a, SFX_TURN_OFF_PC call PlaySound call WaitForSoundToFinish .next - ld hl, wFlags_0xcd60 - res 5, [hl] + ld hl, wMiscFlags + res BIT_NO_MENU_BUTTON_SOUND, [hl] call LoadScreenTilesFromBuffer2 xor a ld [wListScrollOffset], a ld [wBagSavedMenuItem], a - ld hl, wd730 - res 6, [hl] + ld hl, wStatusFlags5 + res BIT_NO_TEXT_DELAY, [hl] xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a ret @@ -224,7 +224,7 @@ PlayerPCToss: ld a, [wIsKeyItem] and a jr nz, .next - ld a, [wcf91] + ld a, [wCurItem] call IsItemHM jr c, .next ; if it's not a key item, there can be more than one of the item diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 899b70ed..f4637cd0 100644 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -9,7 +9,7 @@ ShowPokedexMenu: ld [wListScrollOffset], a ld [wLastMenuItem], a inc a - ld [wd11e], a + ld [wPokedexNum], a ldh [hJoy7], a .setUpGraphics callfar LoadPokedexTilePatterns @@ -37,7 +37,7 @@ ShowPokedexMenu: ld [wCurrentMenuItem], a ld [wLastMenuItem], a ldh [hJoy7], a - ld [wUnusedCD3A], a + ld [wUnusedOverrideSimulatedJoypadStatesIndex], a ld [wOverrideSimulatedJoypadStatesMask], a pop af ld [wListScrollOffset], a @@ -72,8 +72,8 @@ HandlePokedexSideMenu: push af add b inc a - ld [wd11e], a - ld a, [wd11e] + ld [wPokedexNum], a + ld a, [wPokedexNum] push af ld a, [wDexMaxSeenMon] push af ; this doesn't need to be preserved @@ -124,7 +124,7 @@ ENDC pop af ld [wDexMaxSeenMon], a pop af - ld [wd11e], a + ld [wPokedexNum], a pop af ld [wListScrollOffset], a pop af @@ -157,7 +157,7 @@ ENDC ; play pokemon cry .choseCry - ld a, [wd11e] + ld a, [wPokedexNum] call GetCryData call PlaySound jr .handleMenuInput @@ -172,8 +172,8 @@ ENDC push af xor a ldh [hTileAnimations], a - ld a, [wd11e] - ld [wcf91], a + ld a, [wPokedexNum] + ld [wCurPartySpecies], a callfar PrintPokedexEntry xor a ldh [hAutoBGTransferEnabled], a @@ -359,7 +359,7 @@ Pokedex_PlacePokemonList: call ClearScreenArea hlcoord 1, 3 ld a, [wListScrollOffset] - ld [wd11e], a + ld [wPokedexNum], a ld d, 7 ld a, [wDexMaxSeenMon] cp 7 @@ -370,17 +370,17 @@ Pokedex_PlacePokemonList: ; loop to print pokemon pokedex numbers and names ; if the player has owned the pokemon, it puts a pokeball beside the name .printPokemonLoop - ld a, [wd11e] + ld a, [wPokedexNum] inc a - ld [wd11e], a + ld [wPokedexNum], a push af push de push hl ld de, -SCREEN_WIDTH add hl, de - ld de, wd11e + ld de, wPokedexNum lb bc, LEADING_ZEROES | 1, 3 - call PrintNumber ; print the pokedex number + call PrintNumber ld de, SCREEN_WIDTH add hl, de dec hl @@ -413,7 +413,7 @@ Pokedex_PlacePokemonList: add hl, bc pop de pop af - ld [wd11e], a + ld [wPokedexNum], a dec d jr nz, .printPokemonLoop ld a, 01 @@ -423,10 +423,10 @@ Pokedex_PlacePokemonList: ; tests if a pokemon's bit is set in the seen or owned pokemon bit fields ; INPUT: -; [wd11e] = pokedex number +; [wPokedexNum] = pokedex number ; hl = address of bit field IsPokemonBitSet: - ld a, [wd11e] + ld a, [wPokedexNum] dec a ld c, a ld b, FLAG_TEST @@ -444,8 +444,8 @@ ShowPokedexData: ; function to display pokedex data from inside the pokedex ShowPokedexDataInternal: - ld hl, wd72c - set 1, [hl] + ld hl, wStatusFlags2 + set BIT_NO_AUDIO_FADE_OUT, [hl] ld a, $33 ; 3/7 volume ldh [rNR50], a ldh a, [hTileAnimations] @@ -453,13 +453,13 @@ ShowPokedexDataInternal: xor a ldh [hTileAnimations], a call GBPalWhiteOut ; zero all palettes - ld a, [wd11e] ; pokemon ID - ld [wcf91], a + ld a, [wPokedexNum] + ld [wCurPartySpecies], a push af ld b, SET_PAL_POKEDEX call RunPaletteCommand pop af - ld [wd11e], a + ld [wPokedexNum], a call DrawDexEntryOnScreen call c, Pokedex_PrintFlavorTextAtRow11 .waitForButtonPress @@ -474,8 +474,8 @@ ShowPokedexDataInternal: call RunDefaultPaletteCommand call LoadTextBoxTilePatterns call GBPalNormal - ld hl, wd72c - res 1, [hl] + ld hl, wStatusFlags2 + res BIT_NO_AUDIO_FADE_OUT, [hl] ld a, $77 ; max volume ldh [rNR50], a ret @@ -537,7 +537,7 @@ DrawDexEntryOnScreen: call PlaceString ld hl, PokedexEntryPointers - ld a, [wd11e] + ld a, [wPokedexNum] dec a ld e, a ld d, 0 @@ -553,7 +553,7 @@ DrawDexEntryOnScreen: ld h, b ld l, c push de - ld a, [wd11e] + ld a, [wPokedexNum] push af call IndexToPokedex @@ -562,16 +562,16 @@ DrawDexEntryOnScreen: ld [hli], a ld a, "<DOT>" ld [hli], a - ld de, wd11e + ld de, wPokedexNum lb bc, LEADING_ZEROES | 1, 3 call PrintNumber ; print pokedex number ld hl, wPokedexOwned call IsPokemonBitSet pop af - ld [wd11e], a - ld a, [wcf91] - ld [wd0b5], a + ld [wPokedexNum], a + ld a, [wCurPartySpecies] + ld [wCurSpecies], a pop de push af @@ -584,8 +584,8 @@ DrawDexEntryOnScreen: call GetMonHeader ; load pokemon picture location hlcoord 1, 1 call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture - ld a, [wcf91] - call PlayCry ; play pokemon cry + ld a, [wCurPartySpecies] + call PlayCry pop hl pop de @@ -712,10 +712,10 @@ DrawTileLine: INCLUDE "data/pokemon/dex_entries.asm" PokedexToIndex: - ; converts the Pokédex number at wd11e to an index + ; converts the Pokédex number at [wPokedexNum] to an index push bc push hl - ld a, [wd11e] + ld a, [wPokedexNum] ld b, a ld c, 0 ld hl, PokedexOrder @@ -727,23 +727,23 @@ PokedexToIndex: jr nz, .loop ld a, c - ld [wd11e], a + ld [wPokedexNum], a pop hl pop bc ret IndexToPokedex: - ; converts the index number at wd11e to a Pokédex number + ; converts the index number at [wPokedexNum] to a Pokédex number push bc push hl - ld a, [wd11e] + ld a, [wPokedexNum] dec a ld hl, PokedexOrder ld b, 0 ld c, a add hl, bc ld a, [hl] - ld [wd11e], a + ld [wPokedexNum], a pop hl pop bc ret diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 5b7cebc5..a2760d0a 100644 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -1,6 +1,5 @@ LoadSAV: -;(if carry -> write -;"the file data is destroyed") +; if carry, write "the file data is destroyed" call ClearScreen call LoadFontTilePatterns call LoadTextBoxTilePatterns @@ -13,15 +12,15 @@ LoadSAV: ld a, $2 ; good checksum jr .goodsum .badsum - ld hl, wd730 + ld hl, wStatusFlags5 push hl - set 6, [hl] + set BIT_NO_TEXT_DELAY, [hl] ld hl, FileDataDestroyedText call PrintText ld c, 100 call DelayFrames pop hl - res 6, [hl] + res BIT_NO_TEXT_DELAY, [hl] ld a, $1 ; bad checksum .goodsum ld [wSaveFileStatus], a @@ -65,7 +64,7 @@ LoadSAV0: ld bc, wMainDataEnd - wMainDataStart call CopyData ld hl, wCurMapTileset - set 7, [hl] + set BIT_NO_PREVIOUS_MAP, [hl] ld hl, sSpriteData ld de, wSpriteDataStart ld bc, wSpriteDataEnd - wSpriteDataStart @@ -341,15 +340,15 @@ ChangeBox:: and a ret nz ; return if No was chosen ld hl, wCurrentBoxNum - bit 7, [hl] ; is it the first time player is changing the box? + bit BIT_HAS_CHANGED_BOXES, [hl] ; is it the first time player is changing the box? call z, EmptyAllSRAMBoxes ; if so, empty all boxes in SRAM call DisplayChangeBoxMenu call UpdateSprites ld hl, hUILayoutFlags - set 1, [hl] + set BIT_DOUBLE_SPACED_MENU, [hl] call HandleMenuInput ld hl, hUILayoutFlags - res 1, [hl] + res BIT_DOUBLE_SPACED_MENU, [hl] bit BIT_B_BUTTON, a ret nz ld a, $b6 @@ -361,7 +360,7 @@ ChangeBox:: ld hl, wBoxDataStart call CopyBoxToOrFromSRAM ; copy old box from WRAM to SRAM ld a, [wCurrentMenuItem] - set 7, a + set BIT_HAS_CHANGED_BOXES, a ld [wCurrentBoxNum], a call GetBoxSRAMLocation ld de, wBoxDataStart @@ -433,12 +432,12 @@ DisplayChangeBoxMenu: lb bc, 12, 7 call TextBoxBorder ld hl, hUILayoutFlags - set 2, [hl] + set BIT_SINGLE_SPACED_LINES, [hl] ld de, BoxNames hlcoord 13, 1 call PlaceString ld hl, hUILayoutFlags - res 2, [hl] + res BIT_SINGLE_SPACED_LINES, [hl] ld a, [wCurrentBoxNum] and $7f cp 9 diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index 3e8ce5d1..04032dfd 100644 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -142,12 +142,12 @@ StartMenu_Pokemon:: jp .loop .canFly call ChooseFlyDestination - ld a, [wd732] - bit 3, a ; did the player decide to fly? + ld a, [wStatusFlags6] + bit BIT_FLY_WARP, a jr nz, .asm_5d4c call LoadFontTilePatterns - ld hl, wd72e - set 1, [hl] + ld hl, wStatusFlags4 + set BIT_UNKNOWN_4_1, [hl] jp StartMenu_Pokemon .asm_5d4c call Func_1510 @@ -164,11 +164,11 @@ StartMenu_Pokemon:: bit BIT_SOULBADGE, a jp z, .newBadgeRequired farcall IsSurfingAllowed - ld hl, wd728 - bit 1, [hl] - res 1, [hl] + ld hl, wStatusFlags1 + bit BIT_SURF_ALLOWED, [hl] + res BIT_SURF_ALLOWED, [hl] jp z, .loop - ld a, [wcf91] + ld a, [wCurPartySpecies] cp STARTER_PIKACHU jr z, .surfingPikachu ld a, $1 @@ -178,7 +178,7 @@ StartMenu_Pokemon:: .continue ld [wd473], a ld a, SURFBOARD - ld [wcf91], a + ld [wCurItem], a ld [wPseudoItemID], a call UseItem ld a, [wActionResultOrTookBattleTurn] @@ -193,7 +193,7 @@ StartMenu_Pokemon:: .strength bit BIT_RAINBOWBADGE, a jp z, .newBadgeRequired - predef PrintStrengthTxt + predef PrintStrengthText call GBPalWhiteOutWithDelay3 jp .goBackToMap .flash @@ -210,7 +210,7 @@ StartMenu_Pokemon:: text_end .dig ld a, ESCAPE_ROPE - ld [wcf91], a + ld [wCurItem], a ld [wPseudoItemID], a call UseItem ld a, [wActionResultOrTookBattleTurn] @@ -230,13 +230,13 @@ StartMenu_Pokemon:: .canTeleport ld hl, .warpToLastPokemonCenterText call PrintText - ld hl, wd732 - set 3, [hl] - set 6, [hl] + ld hl, wStatusFlags6 + set BIT_FLY_WARP, [hl] + set BIT_ESCAPE_WARP, [hl] call Func_1510 - ld hl, wd72e - set 1, [hl] - res 4, [hl] + ld hl, wStatusFlags4 + set BIT_UNKNOWN_4_1, [hl] + res BIT_NO_BATTLES, [hl] ld c, 60 call DelayFrames call GBPalWhiteOutWithDelay3 @@ -276,7 +276,7 @@ StartMenu_Pokemon:: ld a, [wPartyAndBillsPCSavedMenuItem] push af ld a, POTION - ld [wcf91], a + ld [wCurItem], a ld [wPseudoItemID], a call UseItem pop af @@ -354,7 +354,7 @@ StartMenu_Item:: call PlaceUnfilledArrowMenuCursor xor a ld [wMenuItemToSwap], a - ld a, [wcf91] + ld a, [wCurItem] cp BICYCLE jp z, .useOrTossItem .notBicycle1 @@ -381,15 +381,15 @@ StartMenu_Item:: jr z, .useOrTossItem jp ItemMenuLoop .useOrTossItem ; if the player made the choice to use or toss the item - ld a, [wcf91] - ld [wd11e], a + ld a, [wCurItem] + ld [wNamedObjectIndex], a call GetItemName call CopyToStringBuffer - ld a, [wcf91] + ld a, [wCurItem] cp BICYCLE jr nz, .notBicycle2 - ld a, [wd732] - bit 5, a + ld a, [wStatusFlags6] + bit BIT_ALWAYS_ON_BIKE, a jr z, .useItem_closeMenu ld hl, CannotGetOffHereText call PrintText @@ -400,14 +400,14 @@ StartMenu_Item:: jr nz, .tossItem ; use item ld [wPseudoItemID], a ; a must be 0 due to above conditional jump - ld a, [wcf91] + ld a, [wCurItem] cp HM01 jr nc, .useItem_partyMenu ld hl, UsableItems_CloseMenu ld de, 1 call IsInArray jr c, .useItem_closeMenu - ld a, [wcf91] + ld a, [wCurItem] ld hl, UsableItems_PartyMenu ld de, 1 call IsInArray @@ -443,7 +443,7 @@ StartMenu_Item:: ld a, [wIsKeyItem] and a jr nz, .skipAskingQuantity - ld a, [wcf91] + ld a, [wCurItem] call IsItemHM jr c, .skipAskingQuantity call DisplayChooseQuantityMenu @@ -657,8 +657,8 @@ TrainerInfo_DrawVerticalLine: ret StartMenu_SaveReset:: - ld a, [wd72e] - bit 6, a ; is the player using the link feature? + ld a, [wStatusFlags4] + bit BIT_LINK_CONNECTED, a jp nz, Init predef SaveSAV ; save the game call LoadScreenTilesFromBuffer2 ; restore saved screen diff --git a/engine/menus/text_box.asm b/engine/menus/text_box.asm index 697fe507..43428f67 100644 --- a/engine/menus/text_box.asm +++ b/engine/menus/text_box.asm @@ -37,14 +37,14 @@ DisplayTextBoxID_:: call TextBoxBorder pop hl call GetTextBoxIDText - ld a, [wd730] + ld a, [wStatusFlags5] push af - ld a, [wd730] - set 6, a ; no pauses between printing each letter - ld [wd730], a + ld a, [wStatusFlags5] + set BIT_NO_TEXT_DELAY, a + ld [wStatusFlags5], a call PlaceString pop af - ld [wd730], a + ld [wStatusFlags5], a call UpdateSprites ret @@ -128,8 +128,8 @@ GetAddressOfScreenCoords: INCLUDE "data/text_boxes.asm" DisplayMoneyBox: - ld hl, wd730 - set 6, [hl] + ld hl, wStatusFlags5 + set BIT_NO_TEXT_DELAY, [hl] ld a, MONEY_BOX_TEMPLATE ld [wTextBoxID], a call DisplayTextBoxID @@ -140,17 +140,17 @@ DisplayMoneyBox: ld de, wPlayerMoney ld c, $a3 call PrintBCDNumber - ld hl, wd730 - res 6, [hl] + ld hl, wStatusFlags5 + res BIT_NO_TEXT_DELAY, [hl] ret CurrencyString: db " ¥@" DoBuySellQuitMenu: - ld a, [wd730] - set 6, a ; no printing delay - ld [wd730], a + ld a, [wStatusFlags5] + set BIT_NO_TEXT_DELAY, a + ld [wStatusFlags5], a xor a ld [wChosenMenuItem], a ld a, BUY_SELL_QUIT_MENU_TEMPLATE @@ -168,9 +168,9 @@ DoBuySellQuitMenu: ld [wCurrentMenuItem], a ld [wLastMenuItem], a ld [wMenuWatchMovingOutOfBounds], a - ld a, [wd730] - res 6, a ; turn on the printing delay - ld [wd730], a + ld a, [wStatusFlags5] + res BIT_NO_TEXT_DELAY, a + ld [wStatusFlags5], a call HandleMenuInput call PlaceUnfilledArrowMenuCursor bit BIT_A_BUTTON, a @@ -204,9 +204,9 @@ DoBuySellQuitMenu: ; hl = address where the text box border should be drawn DisplayTwoOptionMenu: push hl - ld a, [wd730] - set 6, a ; no printing delay - ld [wd730], a + ld a, [wStatusFlags5] + set BIT_NO_TEXT_DELAY, a + ld [wStatusFlags5], a ; pointless because both values are overwritten before they are read xor a @@ -226,8 +226,8 @@ DisplayTwoOptionMenu: ld [wMenuWatchMovingOutOfBounds], a push hl ld hl, wTwoOptionMenuID - bit 7, [hl] ; select second menu item by default? - res 7, [hl] + bit BIT_SECOND_MENU_OPTION_DEFAULT, [hl] + res BIT_SECOND_MENU_OPTION_DEFAULT, [hl] jr z, .storeCurrentMenuItem inc a .storeCurrentMenuItem @@ -278,8 +278,8 @@ DisplayTwoOptionMenu: call PlaceString xor a ld [wTwoOptionMenuID], a - ld hl, wd730 - res 6, [hl] ; turn on the printing delay + ld hl, wStatusFlags5 + res BIT_NO_TEXT_DELAY, [hl] call HandleMenuInput pop hl bit BIT_B_BUTTON, a diff --git a/engine/menus/unused_input.asm b/engine/menus/unused_input.asm index 6fe44b0b..15a0af34 100644 --- a/engine/menus/unused_input.asm +++ b/engine/menus/unused_input.asm @@ -42,7 +42,7 @@ HandleMenuInputPokemonSelectionDuplicate: ; unreferenced ld [wCurrentMenuItem], a ; move selected menu item up one space jr .checkOtherKeys .checkIfDownPressed - bit 7, a + bit BIT_D_DOWN, a jr z, .checkOtherKeys .downPressed ld a, [wCurrentMenuItem] |
