aboutsummaryrefslogtreecommitdiffstats
path: root/engine/menus
diff options
context:
space:
mode:
authordannye <33dannye@gmail.com>2024-09-25 00:45:00 -0500
committerdannye <33dannye@gmail.com>2024-09-25 00:45:00 -0500
commita02a98ee7ada1a658e28698484058be2796dc0df (patch)
tree945986054565bd8b5212fc755415096050d1d3a8 /engine/menus
parentUse long option flags for rgbgfx, same as tools/gfx (diff)
parentUse `const_skip` (diff)
downloadpokeyellow-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.asm12
-rw-r--r--engine/menus/draw_start_menu.asm12
-rw-r--r--engine/menus/league_pc.asm14
-rw-r--r--engine/menus/link_menu.asm64
-rw-r--r--engine/menus/main_menu.asm40
-rw-r--r--engine/menus/naming_screen.asm18
-rw-r--r--engine/menus/options.asm12
-rw-r--r--engine/menus/party_menu.asm16
-rw-r--r--engine/menus/pc.asm20
-rw-r--r--engine/menus/players_pc.asm28
-rw-r--r--engine/menus/pokedex.asm74
-rw-r--r--engine/menus/save.asm23
-rw-r--r--engine/menus/start_sub_menus.asm58
-rw-r--r--engine/menus/text_box.asm44
-rw-r--r--engine/menus/unused_input.asm2
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]