summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rw-r--r--main.asm1128
1 files changed, 275 insertions, 853 deletions
diff --git a/main.asm b/main.asm
index 3a26cb862..8d09f0022 100644
--- a/main.asm
+++ b/main.asm
@@ -607,7 +607,7 @@ Function5ebf: ; 5ebf
.asm_5ecf
call Function1e35
- call Function1cbb
+ call MenuBox
call Function1c89
ret
; 5ed9
@@ -840,7 +840,7 @@ OakText7: ; 0x606f
NamePlayer: ; 0x6074
callba MovePlayerPicRight
callba ShowPlayerNamingChoices
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
jr z, .NewName
call StorePlayerName
@@ -886,7 +886,7 @@ NamePlayer: ; 0x6074
Function60e9: ; Unreferenced
call LoadMenuDataHeader
call InterpretMenu2
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
call Function1db8
call WriteBackup
@@ -1737,7 +1737,7 @@ ForgetMove: ; 65d3
ld [wcfa3], a
ld a, $1
ld [wcfa4], a
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld [wcfaa], a
ld a, $3
ld [wcfa8], a
@@ -1755,7 +1755,7 @@ ForgetMove: ; 65d3
bit 1, a
jr nz, .cancel
push hl
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld c, a
ld b, 0
@@ -8620,7 +8620,7 @@ Functiondcb6: ; dcb6
pop hl
pop de
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
push af
ld a, [MonType]
push af
@@ -8633,7 +8633,7 @@ Functiondcb6: ; dcb6
ld a, BOXMON
ld [MonType], a
ld a, b
- ld [wcfa9], a
+ ld [MenuSelection2], a
push bc
push hl
push de
@@ -8657,7 +8657,7 @@ Functiondcb6: ; dcb6
pop af
ld [MonType], a
pop af
- ld [wcfa9], a
+ ld [MenuSelection2], a
ret
; dd21
@@ -9776,14 +9776,14 @@ Functione443: ; e443 (3:6443)
ld hl, MenuDataHeader_0xe46f
call LoadMenuDataHeader
ld a, $1
-.asm_e44b
+.loop
ld [wMenuCursorBuffer], a
call SetPalettes
xor a
ld [wcf76], a
ld [hBGMapMode], a ; $ff00+$d4
call Function1e5d
- jr c, .asm_e46b
+ jr c, .cancel
ld a, [wMenuCursorBuffer]
push af
ld a, [MenuSelection]
@@ -9791,8 +9791,8 @@ Functione443: ; e443 (3:6443)
rst JumpTable
pop bc
ld a, b
- jr nc, .asm_e44b
-.asm_e46b
+ jr nc, .loop
+.cancel
call WriteBackup
ret
; e46f (3:646f)
@@ -13147,7 +13147,7 @@ PokemonActionSubmenu: ; 12a88
hlcoord 1, 15
lb bc, 2, 18
call ClearBox
- callba Function24d19
+ callba MonSubmenu
call GetCurNick
ld a, [MenuSelection]
ld hl, .Actions
@@ -13166,26 +13166,26 @@ PokemonActionSubmenu: ; 12a88
ret
.Actions
- dbw 1, Function12e1b ; Cut
- dbw 2, Function12e30 ; Fly
- dbw 3, Function12ebd ; Surf
- dbw 4, Function12e6a ; Strength
- dbw 6, Function12e55 ; Flash
- dbw 7, Function12e7f ; Whirlpool
- dbw 8, Function12ed1 ; Dig
- dbw 9, Function12ea9 ; Teleport
- dbw 10, Function12ee6 ; Softboiled
- dbw 13, Function12ee6 ; MilkDrink
- dbw 11, Function12f26 ; Headbutt
- dbw 5, Function12e94 ; Waterfall
- dbw 12, Function12f3b ; RockSmash
- dbw 14, Function12f50 ; SweetScent
- dbw 15, OpenPartyStats
- dbw 16, SwitchPartyMons
- dbw 17, GiveTakePartyMonItem
- dbw 18, CancelPokemonAction
- dbw 19, Function12fba ; move
- dbw 20, MonMailAction ; mail
+ dbw MONMENU_CUT, Function12e1b ; Cut
+ dbw MONMENU_FLY, Function12e30 ; Fly
+ dbw MONMENU_SURF, Function12ebd ; Surf
+ dbw MONMENU_STRENGTH, Function12e6a ; Strength
+ dbw MONMENU_FLASH, Function12e55 ; Flash
+ dbw MONMENU_WHIRLPOOL, Function12e7f ; Whirlpool
+ dbw MONMENU_DIG, Function12ed1 ; Dig
+ dbw MONMENU_TELEPORT, Function12ea9 ; Teleport
+ dbw MONMENU_SOFTBOILED, Function12ee6 ; Softboiled
+ dbw MONMENU_MILKDRINK, Function12ee6 ; MilkDrink
+ dbw MONMENU_HEADBUTT, Function12f26 ; Headbutt
+ dbw MONMENU_WATERFALL, Function12e94 ; Waterfall
+ dbw MONMENU_ROCKSMASH, Function12f3b ; RockSmash
+ dbw MONMENU_SWEETSCENT, Function12f50 ; SweetScent
+ dbw MONMENU_STATS, OpenPartyStats
+ dbw MONMENU_SWITCH, SwitchPartyMons
+ dbw MONMENU_ITEM, GiveTakePartyMonItem
+ dbw MONMENU_CANCEL, CancelPokemonAction
+ dbw MONMENU_MOVE, Function12fba ; move
+ dbw MONMENU_MAIL, MonMailAction ; mail
; 12aec
@@ -13260,7 +13260,7 @@ GiveTakePartyMonItem: ; 12b60
ld de, wd050
ld bc, $b
call CopyBytes
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp 1
jr nz, .asm_12ba0
@@ -13566,7 +13566,7 @@ MonMailAction: ; 12d45
; Interpret the menu.
jp c, .done
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $1
jr z, .read
cp $2
@@ -14039,7 +14039,7 @@ Function12fd5: ; 12fd5
and a
jp z, Function13154
ld a, [wd0e3]
- ld [wcfa9], a
+ ld [MenuSelection2], a
xor a
ld [wd0e3], a
hlcoord 1, 2
@@ -14118,7 +14118,7 @@ Function12fd5: ; 12fd5
ld a, [wd0e3]
and a
jr nz, .asm_130de
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld [wd0e3], a
call Function1bee
jp .asm_13018
@@ -14165,7 +14165,7 @@ Function12fd5: ; 12fd5
Function1313a: ; 1313a
push hl
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld c, a
ld b, $0
@@ -14283,7 +14283,7 @@ Function13235: ; 13235
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
call AddNTimes
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld c, a
ld b, $0
@@ -18372,7 +18372,7 @@ Function15985: ; 0x15985
call Function350c
ld a, [wd0e4]
ld [wd0dd], a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld [wd0d7], a
pop af
ld [wc2ce], a
@@ -18664,7 +18664,7 @@ StandardMart: ; 15b47
call CopyMenuDataHeader
call InterpretMenu2
jr c, .quit
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $1
jr z, .buy
cp $2
@@ -18948,7 +18948,7 @@ Function15cef: ; 15cef
call Function350c
ld a, [wd0e4]
ld [WalkingY], a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld [WalkingX], a
call SpeechTextBox
ld a, [wcf73]
@@ -22003,591 +22003,7 @@ StringBufferPointers:: ; 24000
dw BattleMonNick
; 2400e
-Function2400e:: ; 2400e
- ld hl, Function1c66
- ld a, [wcf94]
- rst FarCall
- call Function24085
- call UpdateSprites
- call Function321c
- call Function2408f
- ret
-; 24022
-
-Function24022:: ; 24022
- ld hl, Function1c66
- ld a, [wcf94]
- rst FarCall
- call Function24085
- callba MobileTextBorder
- call UpdateSprites
- call Function321c
- call Function2408f
- ret
-; 2403c
-
-Function2403c:: ; 2403c
- ld hl, Function1c66
- ld a, [wcf94]
- rst FarCall
- call Function24085
- callba MobileTextBorder
- call UpdateSprites
- call Function321c
- call Function2411a
- ld hl, wcfa5
- set 7, [hl]
-.asm_2405a
- call DelayFrame
- callba Function10032e
- ld a, [wcd2b]
- and a
- jr nz, .asm_24076
- call Function241ba
- ld a, [wcfa8]
- and c
- jr z, .asm_2405a
- call Function24098
- ret
-
-.asm_24076
- ld a, [wcfa4]
- ld c, a
- ld a, [wcfa3]
- call SimpleMultiply
- ld [wMenuCursorBuffer], a
- and a
- ret
-; 24085
-
-
-
-Function24085: ; 24085
- xor a
- ld [hBGMapMode], a
- call Function1cbb
- call Function240db
- ret
-; 2408f
-
-Function2408f: ; 2408f
- call Function2411a
- call Function1bc9
- call Function1ff8
-
-Function24098: ; 24098
- ld a, [wcf91]
- bit 1, a
- jr z, .asm_240a6
- call Function1bdd
- bit 2, a
- jr nz, .asm_240c9
-
-.asm_240a6
- ld a, [wcf91]
- bit 0, a
- jr nz, .asm_240b4
- call Function1bdd
- bit 1, a
- jr nz, .asm_240cb
-
-.asm_240b4
- ld a, [wcfa4]
- ld c, a
- ld a, [wcfa9]
- dec a
- call SimpleMultiply
- ld c, a
- ld a, [wcfaa]
- add c
- ld [wMenuCursorBuffer], a
- and a
- ret
-
-.asm_240c9
- scf
- ret
-
-.asm_240cb
- scf
- ret
-; 240cd
-
-Function240cd: ; 240cd
- ld a, [wcf92]
- and $f
- ret
-; 240d3
-
-Function240d3: ; 240d3
- ld a, [wcf92]
- swap a
- and $f
- ret
-; 240db
-
-Function240db: ; 240db
- ld hl, wcf95
- ld e, [hl]
- inc hl
- ld d, [hl]
- call Function1cc6
- call GetTileCoord
- call Function240d3
- ld b, a
-.asm_240eb
- push bc
- push hl
- call Function240cd
- ld c, a
-.asm_240f1
- push bc
- ld a, [wcf94]
- call Function201c
- inc de
- ld a, [wcf93]
- ld c, a
- ld b, $0
- add hl, bc
- pop bc
- dec c
- jr nz, .asm_240f1
- pop hl
- ld bc, $28
- add hl, bc
- pop bc
- dec b
- jr nz, .asm_240eb
- ld hl, wcf98
- ld a, [hli]
- ld h, [hl]
- ld l, a
- or h
- ret z
- ld a, [wcf97]
- rst FarCall
- ret
-; 2411a
-
-
-Function2411a: ; 2411a (9:411a)
- call Function1cc6
- ld a, b
- ld [wcfa1], a
- dec c
- ld a, c
- ld [wcfa2], a
- call Function240d3
- ld [wcfa3], a
- call Function240cd
- ld [wcfa4], a
- call Function24179
- call Function2418a
- call Function24193
- ld a, [wcfa4]
- ld e, a
- ld a, [wMenuCursorBuffer]
- ld b, a
- xor a
- ld d, $0
-.asm_24146
- inc d
- add e
- cp b
- jr c, .asm_24146
- sub e
- ld c, a
- ld a, b
- sub c
- and a
- jr z, .asm_24157
- cp e
- jr z, .asm_24159
- jr c, .asm_24159
-.asm_24157
- ld a, $1
-.asm_24159
- ld [wcfaa], a
- ld a, [wcfa3]
- ld e, a
- ld a, d
- and a
- jr z, .asm_24169
- cp e
- jr z, .asm_2416b
- jr c, .asm_2416b
-.asm_24169
- ld a, $1
-.asm_2416b
- ld [wcfa9], a
- xor a
- ld [wcfab], a
- ld [wcfac], a
- ld [wcfad], a
- ret
-; 24179
-
-Function24179: ; 24179
- xor a
- ld hl, wcfa5
- ld [hli], a
- ld [hld], a
- ld a, [wcf91]
- bit 5, a
- ret z
- set 5, [hl]
- set 4, [hl]
- ret
-; 2418a
-
-Function2418a: ; 2418a
- ld a, [wcf93]
- or $20
- ld [wcfa7], a
- ret
-; 24193
-
-Function24193: ; 24193
- ld hl, wcf91
- ld a, $1
- bit 0, [hl]
- jr nz, .asm_2419e
- or $2
-
-.asm_2419e
- bit 1, [hl]
- jr z, .asm_241a4
- or $4
-
-.asm_241a4
- ld [wcfa8], a
- ret
-; 241a8
-
-
-Function241a8:: ; 241a8
- call Function24329
-Function241ab:: ; 241ab
- ld hl, wcfa6
- res 7, [hl]
- ld a, [hBGMapMode]
- push af
- call Function24216
- pop af
- ld [hBGMapMode], a
- ret
-; 241ba
-
-Function241ba: ; 241ba
- ld hl, wcfa6
- res 7, [hl]
- ld a, [hBGMapMode]
- push af
- call Function2431a
- call Function24249
- jr nc, .asm_241cd
- call Function24270
-
-.asm_241cd
- pop af
- ld [hBGMapMode], a
- call Function1bdd
- ld c, a
- ret
-; 241d5
-
-
-Function241d5: ; 241d5
- call Function24329
-.asm_241d8
- call Function2431a
- call Function10402d ; BUG: This function is in another bank.
- call Function241fa
- jr nc, .asm_241f9
- call Function24270
- jr c, .asm_241f9
- ld a, [wcfa5]
- bit 7, a
- jr nz, .asm_241f9
- call Function1bdd
- ld c, a
- ld a, [wcfa8]
- and c
- jr z, .asm_241d8
-
-.asm_241f9
- ret
-; 241fa
-
-Function241fa: ; 241fa
-.asm_241fa
- call Function24259
- ret c
- ld c, $1
- ld b, $3
- call Function10062d ; BUG: This function is in another bank.
- ret c
- callba Function100337
- ret c
- ld a, [wcfa5]
- bit 7, a
- jr z, .asm_241fa
- and a
- ret
-; 24216
-
-
-Function24216: ; 24216
-.asm_24216
- call Function2431a
- call Function24238
- call Function24249
- jr nc, .asm_24237
- call Function24270
- jr c, .asm_24237
- ld a, [wcfa5]
- bit 7, a
- jr nz, .asm_24237
- call Function1bdd
- ld b, a
- ld a, [wcfa8]
- and b
- jr z, .asm_24216
-
-.asm_24237
- ret
-; 24238
-
-Function24238: ; 24238
- ld a, [hOAMUpdate]
- push af
- ld a, $1
- ld [hOAMUpdate], a
- call WaitBGMap
- pop af
- ld [hOAMUpdate], a
- xor a
- ld [hBGMapMode], a
- ret
-; 24249
-
-Function24249: ; 24249
-.asm_24249
- call RTC
- call Function24259
- ret c
- ld a, [wcfa5]
- bit 7, a
- jr z, .asm_24249
- and a
- ret
-; 24259
-
-Function24259: ; 24259
- ld a, [wcfa5]
- bit 6, a
- jr z, .asm_24266
- callab Function8cf62
-
-.asm_24266
- call JoyTextDelay
- call Function1bdd
- and a
- ret z
- scf
- ret
-; 24270
-
-Function24270: ; 24270
- call Function1bdd
- bit 0, a
- jp nz, Function24318
- bit 1, a
- jp nz, Function24318
- bit 2, a
- jp nz, Function24318
- bit 3, a
- jp nz, Function24318
- bit 4, a
- jr nz, .asm_242fa
- bit 5, a
- jr nz, .asm_242dc
- bit 6, a
- jr nz, .asm_242be
- bit 7, a
- jr nz, .asm_242a0
- and a
- ret
-
-.asm_24299: ; 24299
- ld hl, wcfa6
- set 7, [hl]
- scf
- ret
-
-.asm_242a0
- ld hl, wcfa9
- ld a, [wcfa3]
- cp [hl]
- jr z, .asm_242ac
- inc [hl]
- xor a
- ret
-
-.asm_242ac
- ld a, [wcfa5]
- bit 5, a
- jr nz, .asm_242ba
- bit 3, a
- jp nz, .asm_24299
- xor a
- ret
-
-.asm_242ba
- ld [hl], $1
- xor a
- ret
-
-.asm_242be
- ld hl, wcfa9
- ld a, [hl]
- dec a
- jr z, .asm_242c8
- ld [hl], a
- xor a
- ret
-
-.asm_242c8
- ld a, [wcfa5]
- bit 5, a
- jr nz, .asm_242d6
- bit 2, a
- jp nz, .asm_24299
- xor a
- ret
-
-.asm_242d6
- ld a, [wcfa3]
- ld [hl], a
- xor a
- ret
-
-.asm_242dc
- ld hl, wcfaa
- ld a, [hl]
- dec a
- jr z, .asm_242e6
- ld [hl], a
- xor a
- ret
-
-.asm_242e6
- ld a, [wcfa5]
- bit 4, a
- jr nz, .asm_242f4
- bit 1, a
- jp nz, .asm_24299
- xor a
- ret
-
-.asm_242f4
- ld a, [wcfa4]
- ld [hl], a
- xor a
- ret
-
-.asm_242fa
- ld hl, wcfaa
- ld a, [wcfa4]
- cp [hl]
- jr z, .asm_24306
- inc [hl]
- xor a
- ret
-
-.asm_24306
- ld a, [wcfa5]
- bit 4, a
- jr nz, .asm_24314
- bit 0, a
- jp nz, .asm_24299
- xor a
- ret
-
-.asm_24314
- ld [hl], $1
- xor a
- ret
-; 24318
-
-Function24318: ; 24318
- xor a
- ret
-; 2431a
-
-Function2431a: ; 2431a
- ld hl, wcfac
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [hl]
- cp $ed
- jr nz, Function24329
- ld a, [wcfab]
- ld [hl], a
-
-Function24329: ; 24329
- ld a, [wcfa1]
- ld b, a
- ld a, [wcfa2]
- ld c, a
- call GetTileCoord
- ld a, [wcfa7]
- swap a
- and $f
- ld c, a
- ld a, [wcfa9]
- ld b, a
- xor a
- dec b
- jr z, .asm_24348
-.asm_24344
- add c
- dec b
- jr nz, .asm_24344
-
-.asm_24348
- ld c, $14
- call AddNTimes
- ld a, [wcfa7]
- and $f
- ld c, a
- ld a, [wcfaa]
- ld b, a
- xor a
- dec b
- jr z, .asm_2435f
-.asm_2435b
- add c
- dec b
- jr nz, .asm_2435b
-
-.asm_2435f
- ld c, a
- add hl, bc
- ld a, [hl]
- cp $ed
- jr z, .asm_2436b
- ld [wcfab], a
- ld [hl], $ed
-
-.asm_2436b
- ld a, l
- ld [wcfac], a
- ld a, h
- ld [wcfad], a
- ret
-; 24374
+INCLUDE "engine/menu.asm"
_BackUpTiles:: ; 24374
ld a, [rSVBK]
@@ -22778,7 +22194,7 @@ UnknownText_0x24468: ; 24468
; 2446d
Function2446d:: ; 2446d
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
ld b, a
ld hl, wcfa1
ld a, [wMenuBorderTopCoord]
@@ -22792,7 +22208,7 @@ Function2446d:: ; 2446d
ld a, [wMenuBorderLeftCoord]
inc a
ld [hli], a
- ld a, [wcf92]
+ ld a, [wMenuData2Items]
ld [hli], a
ld a, $1
ld [hli], a
@@ -22824,7 +22240,7 @@ Function2446d:: ; 2446d
and a
jr z, .asm_244b7
ld c, a
- ld a, [wcf92]
+ ld a, [wMenuData2Items]
cp c
jr nc, .asm_244b9
@@ -22862,7 +22278,7 @@ Function244c3: ; 0x244c3
Pokepic:: ; 244e3
ld hl, MenuDataHeader_0x24547
call CopyMenuDataHeader
- call Function1cbb
+ call MenuBox
call UpdateSprites
call Function321c
ld b, $12
@@ -23079,7 +22495,7 @@ MenuJoyAction: ; 24609
.a_button: ; 24644
call Function1bee
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
call Function248d5
ld a, [MenuSelection]
@@ -23105,10 +22521,10 @@ MenuJoyAction: ; 24609
; 24673
.select: ; 24673
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
bit 7, a
jp z, xor_a_dec_a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
call Function248d5
ld a, [MenuSelection]
@@ -23123,7 +22539,7 @@ MenuJoyAction: ; 24609
; 24695
.start: ; 24695
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
bit 6, a
jp z, xor_a_dec_a
ld a, START
@@ -23135,7 +22551,7 @@ MenuJoyAction: ; 24609
ld hl, wcfa6
bit 7, [hl]
jp z, xor_a_dec_a
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
bit 3, a
jp z, xor_a_dec_a
ld a, D_LEFT
@@ -23147,7 +22563,7 @@ MenuJoyAction: ; 24609
ld hl, wcfa6
bit 7, [hl]
jp z, xor_a_dec_a
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
bit 2, a
jp z, xor_a_dec_a
ld a, D_RIGHT
@@ -23175,7 +22591,7 @@ MenuJoyAction: ; 24609
bit 7, [hl]
jp z, xor_a
ld hl, wd0e4
- ld a, [wcf92]
+ ld a, [wMenuData2Items]
add [hl]
ld b, a
ld a, [wd144]
@@ -23191,7 +22607,7 @@ MenuJoyAction: ; 24609
Function246fc: ; 246fc
ld a, [wd0e4]
ld c, a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
add c
ld c, a
ret
@@ -23202,7 +22618,7 @@ Function24706: ; 24706 (9:4706)
ld de, SCREEN_WIDTH
add hl, de
ld de, 2 * SCREEN_WIDTH
- ld a, [wcf92]
+ ld a, [wMenuData2Items]
.asm_24713
ld [hl], " "
add hl, de
@@ -23219,8 +22635,8 @@ Function2471a: ; 2471a
ld a, [wcf95]
call GetFarByte
ld [wd144], a
-; if ([wd144] + 1) < [wcf92] + [wd0e4]: [wd0e4] = max(([wd144] + 1) - [wcf92], 0)
- ld a, [wcf92]
+; if ([wd144] + 1) < [wMenuData2Items] + [wd0e4]: [wd0e4] = max(([wd144] + 1) - [wMenuData2Items], 0)
+ ld a, [wMenuData2Items]
ld c, a
ld a, [wd0e4]
add c
@@ -23229,7 +22645,7 @@ Function2471a: ; 2471a
inc a
cp c
jr nc, .skip
- ld a, [wcf92]
+ ld a, [wMenuData2Items]
ld c, a
ld a, [wd144]
inc a
@@ -23263,7 +22679,7 @@ Function2471a: ; 2471a
; 24764
Function24764: ; 24764
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
ld c, a
ld a, [wd144]
ld b, a
@@ -23273,7 +22689,7 @@ Function24764: ; 24764
ld a, [wMenuBorderLeftCoord]
add $0
ld [wcfa2], a
- ld a, [wcf92]
+ ld a, [wMenuData2Items]
cp b
jr c, .asm_24786
jr z, .asm_24786
@@ -23325,7 +22741,7 @@ Function24764: ; 24764
ld a, $1
.asm_247ca
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld a, $1
ld [wcfaa], a
xor a
@@ -23353,7 +22769,7 @@ Function247dd: ; 247dd
Function247f0: ; 247f0
call Function1cf1
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
bit 4, a
jr z, .asm_2480d
ld a, [wd0e4]
@@ -23370,7 +22786,7 @@ Function247f0: ; 247f0
call GetMemTileCoord
ld bc, $15
add hl, bc
- ld a, [wcf92]
+ ld a, [wMenuData2Items]
ld b, a
ld c, $0
.asm_2481a
@@ -23393,7 +22809,7 @@ Function247f0: ; 247f0
ld a, c
cp b
jr nz, .asm_2481a
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
bit 4, a
jr z, .asm_24850
ld a, [wMenuBorderBottomCoord]
@@ -23407,7 +22823,7 @@ Function247f0: ; 247f0
ret
.asm_24851
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
bit 0, a
jr nz, .asm_24866
ld de, .string_2485f
@@ -23455,7 +22871,7 @@ Function2488b: ; 2488b
cp b
jr nc, .asm_248b7
ld c, a
- ld a, [wcf92]
+ ld a, [wMenuData2Items]
add c
cp b
jr c, .asm_248b7
@@ -23479,7 +22895,7 @@ Function2488b: ; 2488b
; 248b8
Function248b8: ; 248b8
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
bit 5, a
ret z
bit 1, a
@@ -23489,7 +22905,7 @@ Function248b8: ; 248b8
ret nz
.asm_248c7
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
call Function248d5
ld hl, wcf9e
@@ -23847,7 +23263,7 @@ Function24af8: ; 24af8
call Function1e2e
Function24b01: ; 24b01
- call Function1cbb
+ call MenuBox
call GetMemTileCoord
ld de, $15
add hl, de
@@ -24095,41 +23511,41 @@ MonMenuOptionStrings: ; 24caf
MonMenuOptions: ; 24cd9
; Moves
- db 0, 1, CUT
- db 0, 2, FLY
- db 0, 3, SURF
- db 0, 4, STRENGTH
- db 0, 6, FLASH
- db 0, 5, WATERFALL
- db 0, 7, WHIRLPOOL
- db 0, 8, DIG
- db 0, 9, TELEPORT
- db 0, 10, SOFTBOILED
- db 0, 11, HEADBUTT
- db 0, 12, ROCK_SMASH
- db 0, 13, MILK_DRINK
- db 0, 14, SWEET_SCENT
+ db MONMENU_FIELD_MOVE, MONMENU_CUT, CUT
+ db MONMENU_FIELD_MOVE, MONMENU_FLY, FLY
+ db MONMENU_FIELD_MOVE, MONMENU_SURF, SURF
+ db MONMENU_FIELD_MOVE, MONMENU_STRENGTH, STRENGTH
+ db MONMENU_FIELD_MOVE, MONMENU_FLASH, FLASH
+ db MONMENU_FIELD_MOVE, MONMENU_WATERFALL, WATERFALL
+ db MONMENU_FIELD_MOVE, MONMENU_WHIRLPOOL, WHIRLPOOL
+ db MONMENU_FIELD_MOVE, MONMENU_DIG, DIG
+ db MONMENU_FIELD_MOVE, MONMENU_TELEPORT, TELEPORT
+ db MONMENU_FIELD_MOVE, MONMENU_SOFTBOILED, SOFTBOILED
+ db MONMENU_FIELD_MOVE, MONMENU_HEADBUTT, HEADBUTT
+ db MONMENU_FIELD_MOVE, MONMENU_ROCKSMASH, ROCK_SMASH
+ db MONMENU_FIELD_MOVE, MONMENU_MILKDRINK, MILK_DRINK
+ db MONMENU_FIELD_MOVE, MONMENU_SWEETSCENT, SWEET_SCENT
; Options
- db 1, 15, 1 ; STATS
- db 1, 16, 2 ; SWITCH
- db 1, 17, 3 ; ITEM
- db 1, 18, 4 ; CANCEL
- db 1, 19, 5 ; MOVE
- db 1, 20, 6 ; MAIL
- db 1, 21, 7 ; ERROR!
+ db MONMENU_MENUOPTION, MONMENU_STATS, 1 ; STATS
+ db MONMENU_MENUOPTION, MONMENU_SWITCH, 2 ; SWITCH
+ db MONMENU_MENUOPTION, MONMENU_ITEM, 3 ; ITEM
+ db MONMENU_MENUOPTION, MONMENU_CANCEL, 4 ; CANCEL
+ db MONMENU_MENUOPTION, MONMENU_MOVE, 5 ; MOVE
+ db MONMENU_MENUOPTION, MONMENU_MAIL, 6 ; MAIL
+ db MONMENU_MENUOPTION, MONMENU_ERROR, 7 ; ERROR!
- db $ff
+ db -1
; 24d19
-Function24d19: ; 24d19
+MonSubmenu: ; 24d19
xor a
ld [hBGMapMode], a
- call Function24dd4
+ call GetMonSubmenuItems
callba Function8ea4a
- ld hl, MenuDataHeader_0x24d3f
+ ld hl, .MenuDataHeader
call LoadMenuDataHeader
- call Function24d47
+ call .GetTopCoord
call PopulateMonMenu
ld a, 1
@@ -24141,7 +23557,7 @@ Function24d19: ; 24d19
ret
; 24d3f
-MenuDataHeader_0x24d3f: ; 24d3f
+.MenuDataHeader: ; 24d3f
db $40 ; tile backup
db 00, 06 ; start coords
db 17, 19 ; end coords
@@ -24149,7 +23565,8 @@ MenuDataHeader_0x24d3f: ; 24d3f
db 1 ; default option
; 24d47
-Function24d47: ; 24d47
+.GetTopCoord: ; 24d47
+; TopCoord = 1 + BottomCoord - 2 * (NumSubmenuItems + 1)
ld a, [Buffer1]
inc a
add a
@@ -24158,16 +23575,16 @@ Function24d47: ; 24d47
sub b
inc a
ld [wMenuBorderTopCoord], a
- call Function1cbb
+ call MenuBox
ret
; 24d59
MonMenuLoop: ; 24d59
.loop
- ld a, $a0
- ld [wcf91], a
- ld a, [Buffer1]
- ld [wcf92], a
+ ld a, $a0 ; flags
+ ld [wMenuData2Flags], a
+ ld a, [Buffer1] ; items
+ ld [wMenuData2Items], a
call Function1c10
ld hl, wcfa5
set 6, [hl]
@@ -24182,11 +23599,11 @@ MonMenuLoop: ; 24d59
jr .loop
.cancel
- ld a, 18 ; CANCEL
+ ld a, MONMENU_CANCEL ; CANCEL
ret
.select
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld c, a
ld b, 0
@@ -24242,14 +23659,14 @@ GetMonMenuString: ; 24db0
ret
; 24dd4
-Function24dd4: ; 24dd4
- call Function24e68
+GetMonSubmenuItems: ; 24dd4
+ call ResetMonSubmenu
ld a, [CurPartySpecies]
cp EGG
jr z, .egg
ld a, [wLinkMode]
and a
- jr nz, .skip
+ jr nz, .skip_moves
ld a, MON_MOVES
call GetPartyParamLocation
ld d, h
@@ -24262,10 +23679,10 @@ Function24dd4: ; 24dd4
and a
jr z, .next
push hl
- call Function24e52
+ call IsFieldMove
pop hl
jr nc, .next
- call Function24e83
+ call AddMonMenuItem
.next
pop de
@@ -24274,13 +23691,13 @@ Function24dd4: ; 24dd4
dec c
jr nz, .loop
-.skip
- ld a, $f
- call Function24e83
- ld a, $10
- call Function24e83
- ld a, $13
- call Function24e83
+.skip_moves
+ ld a, MONMENU_STATS
+ call AddMonMenuItem
+ ld a, MONMENU_SWITCH
+ call AddMonMenuItem
+ ld a, MONMENU_MOVE
+ call AddMonMenuItem
ld a, [wLinkMode]
and a
jr nz, .skip2
@@ -24290,66 +23707,66 @@ Function24dd4: ; 24dd4
ld d, [hl]
callba ItemIsMail
pop hl
- ld a, $14
+ ld a, MONMENU_MAIL
jr c, .ok
- ld a, $11
+ ld a, MONMENU_ITEM
.ok
- call Function24e83
+ call AddMonMenuItem
.skip2
ld a, [Buffer1]
- cp $8
+ cp NUM_MON_SUBMENU_ITEMS
jr z, .ok2
- ld a, $12
- call Function24e83
+ ld a, MONMENU_CANCEL
+ call AddMonMenuItem
.ok2
- call Function24e76
+ call TerminateMonSubmenu
ret
.egg
- ld a, $f
- call Function24e83
- ld a, $10
- call Function24e83
- ld a, $12
- call Function24e83
- call Function24e76
+ ld a, MONMENU_STATS
+ call AddMonMenuItem
+ ld a, MONMENU_SWITCH
+ call AddMonMenuItem
+ ld a, MONMENU_CANCEL
+ call AddMonMenuItem
+ call TerminateMonSubmenu
ret
; 24e52
-Function24e52: ; 24e52
+IsFieldMove: ; 24e52
ld b, a
ld hl, MonMenuOptions
-.asm_24e56
+.next
ld a, [hli]
- cp $ff
- jr z, .asm_24e67
- cp $1
- jr z, .asm_24e67
+ cp -1
+ jr z, .nope
+ cp MONMENU_MENUOPTION
+ jr z, .nope
ld d, [hl]
inc hl
ld a, [hli]
cp b
- jr nz, .asm_24e56
+ jr nz, .next
ld a, d
scf
-.asm_24e67
+.nope
ret
; 24e68
-Function24e68: ; 24e68
+ResetMonSubmenu: ; 24e68
xor a
ld [Buffer1], a
ld hl, Buffer2
- ld bc, 9
+ ld bc, NUM_MON_SUBMENU_ITEMS + 1
call ByteFill
ret
; 24e76
-Function24e76: ; 24e76
+TerminateMonSubmenu: ; 24e76
ld a, [Buffer1]
ld e, a
ld d, $0
@@ -24359,7 +23776,7 @@ Function24e76: ; 24e76
ret
; 24e83
-Function24e83: ; 24e83
+AddMonMenuItem: ; 24e83
push hl
push de
push af
@@ -24383,12 +23800,12 @@ Function24e99: ; 24e99
call CopyMenuDataHeader
xor a
ld [hBGMapMode], a
- call Function1cbb
+ call MenuBox
call UpdateSprites
call Function1c89
call WaitBGMap
call Function1c66
- ld a, [wcf91]
+ ld a, [wMenuData2Flags]
bit 7, a
jr z, .asm_24ed0
call Function1c10
@@ -24684,7 +24101,7 @@ Function2500e: ; 2500e
; 25072
Function25072: ; 25072
- call Function1cbb
+ call MenuBox
call GetMemTileCoord
ld de, $15
add hl, de
@@ -25700,7 +25117,7 @@ _KrisDecorationMenu: ; 0x2675c
ld [wMenuCursorBuffer], a
call Function26806
call Function1e5d
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld [wd1ef], a
jr c, .asm_2678e
ld a, [MenuSelection]
@@ -26646,7 +26063,7 @@ DecoAction_AskWhichSide: ; 26e70
call ExitMenu
call Function1c66
jr c, .nope
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp 3
jr z, .nope
ld [Buffer2], a
@@ -28435,7 +27852,7 @@ rept 3
endr
ld [hl], a
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
inc a
ld [wcf56], a
jp Function2888b
@@ -28480,7 +27897,7 @@ Function28835: ; 28835
.asm_2885b
bit 6, a
jr z, .asm_28883
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld b, a
ld a, [OTPartyCount]
cp b
@@ -28496,7 +27913,7 @@ Function28835: ; 28835
pop bc
pop hl
ld a, [PartyCount]
- ld [wcfa9], a
+ ld [MenuSelection2], a
jr Function2888b
.asm_28883
@@ -28544,7 +27961,7 @@ Function288c5: ; 288c5
.asm_288d9
bit 7, a
jr z, .asm_288fe
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
jp nz, Function2891c
ld a, $1
@@ -28558,13 +27975,13 @@ Function288c5: ; 288c5
pop bc
pop hl
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
jp Function28803
.asm_288fe
bit 6, a
jr z, Function2891c
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld b, a
ld a, [PartyCount]
cp b
@@ -28589,7 +28006,7 @@ Function2891c: ; 2891c
Function28926: ; 28926
call LoadTileMapToTempTileMap
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
push af
hlcoord 0, 15
ld b, $1
@@ -28614,7 +28031,7 @@ Function28926: ; 28926
ld a, $1
ld [wcfa2], a
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld [wcfaa], a
ld a, $20
ld [wcfa7], a
@@ -28628,7 +28045,7 @@ Function28926: ; 28926
jr z, .asm_289cd
.asm_28983
pop af
- ld [wcfa9], a
+ ld [MenuSelection2], a
call Call_LoadTempTileMapToTileMap
jp Function2888b
@@ -28646,7 +28063,7 @@ Function28926: ; 28926
ld a, $b
ld [wcfa2], a
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld [wcfaa], a
ld a, $20
ld [wcfa7], a
@@ -28662,7 +28079,7 @@ Function28926: ; 28926
.asm_289cd
pop af
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld a, $4
ld [wd263], a
callab Function50db9
@@ -28681,7 +28098,7 @@ Function28926: ; 28926
.asm_289fe
call Function1bee
pop af
- ld [wcfa9], a
+ ld [MenuSelection2], a
dec a
ld [DefaultFlypoint], a
ld [wcf56], a
@@ -28765,7 +28182,7 @@ UnknownText_0x28ac4: ; 0x28ac4
Function28ac9: ; 28ac9
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $1
jp nz, Function2891c
call Function1bf7
@@ -28795,12 +28212,12 @@ Function28ade: ; 28ade
bit 6, a
jr z, .asm_28b03
ld a, [OTPartyCount]
- ld [wcfa9], a
+ ld [MenuSelection2], a
jp Function28803
.asm_28b03
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
jp Function2888b
.asm_28b0b
@@ -28931,7 +28348,7 @@ Function28b87: ; 28b87
ld a, $3
ld [wcfa8], a
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld [wcfaa], a
callba Function4d354
call Function1bd3
@@ -28941,7 +28358,7 @@ Function28b87: ; 28b87
pop af
bit 1, a
jr nz, .asm_28c33
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
jr z, .asm_28c54
@@ -33601,7 +33018,7 @@ Function2c8d3: ; 2c8d3 (b:48d3)
ld [wcfa8], a
ld a, [wTMHMPocketCursor]
inc a
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld a, $1
ld [wcfaa], a
jr Function2c946
@@ -33610,7 +33027,7 @@ Function2c915: ; 2c915 (b:4915)
call Function2c9e2
call Function1bc9
ld b, a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld [wTMHMPocketCursor], a
xor a
@@ -33650,7 +33067,7 @@ Function2c946: ; 2c946 (b:4946)
Function2c974: ; 2c974 (b:4974)
call Function2cad6
call Function2cb2a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld b, a
ld a, [wd0e2]
@@ -33662,7 +33079,7 @@ Function2c974: ; 2c974 (b:4974)
Function2c98a: ; 2c98a (b:498a)
call Function2cab5
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld b, a
.asm_2c991
inc c
@@ -36576,7 +35993,7 @@ Function44806: ; 0x44806
call Function350c
ld a, [wd0e4]
ld [OBPals + 8 * 6], a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld [wd0f1], a
ld a, [wcf73]
cp $2
@@ -36595,7 +36012,7 @@ Function4484a: ; 0x4484a
call InterpretMenu2
call ExitMenu
jr c, .asm_44860
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld hl, .JumpTable
rst JumpTable
@@ -36904,14 +36321,14 @@ Function4802f: ; 4802f (12:402f)
call Function3200
call SetPalettes
call Function1bc9
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld b, [hl]
push bc
jr asm_4815f
Function48157: ; 48157 (12:4157)
call Function1bd3
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld b, [hl]
push bc
@@ -37004,7 +36421,7 @@ String_48202: ; 48202
Function4820d: ; 4820d (12:420d)
call Function1bee
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld a, [hl]
push af
ld a, [DefaultFlypoint]
@@ -37095,7 +36512,7 @@ asm_4828d: ; 4828d (12:428d)
call ExitMenu
bit 0, a
jp z, Function4840c
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld a, [hl]
ld hl, Strings_484fb
cp $1
@@ -37204,7 +36621,7 @@ Function48383: ; 48383 (12:4383)
ld [wd0e4], a
jr .asm_483af
.asm_483af
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld a, [hl]
ld [wMenuCursorBuffer], a
scf
@@ -37282,7 +36699,7 @@ Function4840c: ; 4840c (12:440c)
call PlaceString
call Function486bf
pop bc
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld [hl], b
ld a, [DefaultFlypoint]
bit 6, a
@@ -38010,7 +37427,7 @@ Function48a3a: ; 48a3a (12:4a3a)
ld a, $b
ld [wcfa2], a
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
hlcoord 10, 8
ld b, $4
ld c, $8
@@ -38025,7 +37442,7 @@ Function48a3a: ; 48a3a (12:4a3a)
pop af
bit 1, a
jp nz, Function48a9a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $1
jr z, .asm_48a98
ld a, [wd003]
@@ -38630,7 +38047,7 @@ InitGender: ; 48dcb (12:4dcb)
call Function3200
call InterpretMenu2
call WriteBackup
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld [PlayerGender], a
ld c, 10
@@ -40219,14 +39636,14 @@ Function49f16: ; 49f16
call Function3200
call SetPalettes
call Function1bc9
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld b, [hl]
push bc
jr .asm_49f5d
.asm_49f55
call Function1bd3
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld b, [hl]
push bc
@@ -40238,7 +39655,7 @@ Function49f16: ; 49f16
jr .asm_49f97
.asm_49f67
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld a, [hl]
cp $1
jp z, Function4a098
@@ -40262,7 +39679,7 @@ Function49f16: ; 49f16
ret
.asm_49f97
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld a, [hl]
dec a
ld hl, MobileStrings2
@@ -40280,7 +39697,7 @@ Function49f16: ; 49f16
.asm_49fb7
call Function4a071
pop bc
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld [hl], b
ld b, $a
ld c, $1
@@ -40460,7 +39877,7 @@ Function4a149: ; 4a149 (12:6149)
ld b, $4
ld c, $12
call TextBox
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld hl, Strings_4a23d
call GetNthString
@@ -40475,14 +39892,14 @@ Function4a149: ; 4a149 (12:6149)
callba Function104148
call SetPalettes
call Function1bc9
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld b, [hl]
push bc
jr asm_4a19d
Function4a195: ; 4a195 (12:6195)
call Function1bd3
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld b, [hl]
push bc
@@ -40493,7 +39910,7 @@ asm_4a19d: ; 4a19d (12:619d)
jr nz, .asm_4a1ba
jr .asm_4a1bc
.asm_4a1a7
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld a, [hl]
cp $1
jp z, Function4a20e
@@ -40505,7 +39922,7 @@ asm_4a19d: ; 4a19d (12:619d)
pop bc
ret
.asm_4a1bc
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld a, [hl]
dec a
ld hl, Strings_4a23d
@@ -40522,7 +39939,7 @@ asm_4a19d: ; 4a19d (12:619d)
.asm_4a1db
call Function4a373
pop bc
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld [hl], b
lb bc, 6, 1
hlcoord 2, 3
@@ -40551,7 +39968,7 @@ Function4a221: ; 4a221 (12:6221)
jr c, Function4a239
call Function4a373
ld a, $2
- ld [wcfa9], a
+ ld [MenuSelection2], a
jr .asm_4a235
.asm_4a235
pop bc
@@ -40603,7 +40020,7 @@ Function4a28a: ; 4a28a (12:628a)
pop af
bit 1, a
jr nz, .asm_4a33b
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $2
jr z, .asm_4a2f0
cp $3
@@ -40629,7 +40046,7 @@ Function4a28a: ; 4a28a (12:628a)
call InterpretMenu2
bit 1, a
jr nz, .asm_4a338
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $2
jr z, .asm_4a338
ld a, $5
@@ -40904,14 +40321,14 @@ Function4a4c4: ; 4a4c4 (12:64c4)
call Function3200
call SetPalettes
call Function1bc9
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld b, [hl]
push bc
jr asm_4a54d
Function4a545: ; 4a545 (12:6545)
call Function1bd3
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld b, [hl]
push bc
@@ -40922,7 +40339,7 @@ asm_4a54d: ; 4a54d (12:654d)
jr nz, .asm_4a574
jr .asm_4a57e
.asm_4a557
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld a, [hl]
cp $1
jp z, Function4a6ab
@@ -40940,7 +40357,7 @@ asm_4a54d: ; 4a54d (12:654d)
call ClearTileMap
jp Function49f0a
.asm_4a57e
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld a, [hl]
dec a
add a
@@ -40968,7 +40385,7 @@ asm_4a54d: ; 4a54d (12:654d)
Function4a5b0: ; 4a5b0 (12:65b0)
call Function4a680
pop bc
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld [hl], b
ld b, $a
ld c, $1
@@ -41859,11 +41276,11 @@ Function4ab1a: ; 4ab1a
ld a, [PartyCount]
inc a
ld b, a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld [wd0d8], a
cp b
jr z, .asm_4ab7e
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld [CurPartyMon], a
ld c, a
@@ -41880,7 +41297,7 @@ Function4ab1a: ; 4ab1a
ret
.asm_4ab6d
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld [wd0d8], a
.asm_4ab73
ld de, SFX_READ_TEXT_2
@@ -41946,7 +41363,7 @@ Function4abc3: ; 4abc3
jr z, .asm_4abd5
ld a, [PartyCount]
inc a
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld a, $1
ld [wcfaa], a
jr .asm_4ac29
@@ -41954,30 +41371,30 @@ Function4abc3: ; 4abc3
.asm_4abd5
bit 6, a
jr z, .asm_4abeb
- ld a, [wcfa9]
- ld [wcfa9], a
+ ld a, [MenuSelection2]
+ ld [MenuSelection2], a
and a
jr nz, .asm_4ac29
ld a, [PartyCount]
inc a
- ld [wcfa9], a
+ ld [MenuSelection2], a
jr .asm_4ac29
.asm_4abeb
bit 7, a
jr z, .asm_4ac08
- ld a, [wcfa9]
- ld [wcfa9], a
+ ld a, [MenuSelection2]
+ ld [MenuSelection2], a
ld a, [PartyCount]
rept 2
inc a
endr
ld b, a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp b
jr nz, .asm_4ac29
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
jr .asm_4ac29
.asm_4ac08
@@ -41987,7 +41404,7 @@ endr
jr z, .asm_4ac56
.asm_4ac10
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld b, a
ld a, [PartyCount]
inc a
@@ -42015,7 +41432,7 @@ endr
dec a
jr nz, .asm_4ac3b
ld [hl], $7f
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld b, a
ld a, [PartyCount]
inc a
@@ -42079,19 +41496,19 @@ MenuDataHeader_0x4aca2: ; 0x4aca2
Function4acaa: ; 4acaa
.asm_4acaa
ld a, $a0
- ld [wcf91], a
+ ld [wMenuData2Flags], a
ld a, [wd019]
bit 1, a
jr z, .asm_4acc2
ld a, $2
- ld [wcf92], a
+ ld [wMenuData2Items], a
ld a, $c
ld [wMenuBorderTopCoord], a
jr .asm_4accc
.asm_4acc2
ld a, $4
- ld [wcf92], a
+ ld [wMenuData2Items], a
ld a, $8
ld [wMenuBorderTopCoord], a
@@ -42120,7 +41537,7 @@ Function4acaa: ; 4acaa
ld a, [wd019]
bit 1, a
jr nz, .asm_4ad0e
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $1
jr z, Function4ad17
cp $2
@@ -42130,7 +41547,7 @@ Function4acaa: ; 4acaa
jr .asm_4acf3
.asm_4ad0e
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $1
jr z, Function4ad56
jr .asm_4acf3
@@ -42280,7 +41697,7 @@ Function4adf7: ; 4adf7
ret z
ld a, [PartyCount]
inc a
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld a, $1
ld [wcfaa], a
ld a, [wd019]
@@ -42322,7 +41739,7 @@ Function4ae1f: ; 4ae1f
call Function4ae5e
pop af
jr c, .asm_4ae57
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $2
jr z, .asm_4ae57
and a
@@ -42330,7 +41747,7 @@ Function4ae1f: ; 4ae1f
.asm_4ae57
ld a, $2
- ld [wcfa9], a
+ ld [MenuSelection2], a
scf
ret
; 4ae5e
@@ -42747,14 +42164,14 @@ INCBIN "gfx/shrink2.2bpp.lz"
; 4d319
Function4d319: ; 4d319
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld [CurPartyMon], a
call LowVolume
predef StatsScreenInit
ld a, [CurPartyMon]
inc a
- ld [wcfa9], a
+ ld [MenuSelection2], a
call ClearScreen
call WhiteBGMap
call MaxVolume
@@ -42860,7 +42277,7 @@ _ResetClock: ; 4d3b1
call CopyMenuDataHeader
call InterpretMenu2
ret c
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $1
ret z
call ClockResetPassword
@@ -43136,7 +42553,7 @@ Function4d54c: ; 4d54c
call CopyMenuDataHeader
call InterpretMenu2
ret c
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $1
ret z
callba EmptyAllSRAMBanks
@@ -46621,7 +46038,7 @@ Function50405: ; 50405
ld a, $1
.asm_50424
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld a, $3
ld [wcfa8], a
ret
@@ -46642,7 +46059,7 @@ Function5042d: ; 0x5042d
.asm_50444
ld a, $1
.asm_50446
- ld [wcfa9], a
+ ld [MenuSelection2], a
ld a, $3
ld [wcfa8], a
ret
@@ -46667,7 +46084,7 @@ PartyMenuSelect: ; 0x50457
ld a, [PartyCount]
inc a
ld b, a
- ld a, [wcfa9] ; menu selection?
+ ld a, [MenuSelection2] ; menu selection?
cp b
jr z, .exitmenu ; CANCEL
ld [wd0d8], a
@@ -46675,7 +46092,7 @@ PartyMenuSelect: ; 0x50457
ld b, a
bit 1, b
jr nz, .exitmenu ; B button?
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld [CurPartyMon], a
ld c, a
@@ -47825,7 +47242,7 @@ endr
push bc
push hl
push de
- ld hl, wcfa9
+ ld hl, MenuSelection2
ld a, [hl]
push af
ld [hl], b
@@ -48302,7 +47719,7 @@ Function50f12:
dec a
ld [wd1ec], a
ld b, a
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld [Buffer2], a ; wd1eb (aliases: MovementType)
cp b
@@ -52958,7 +52375,7 @@ Function84817: ; 84817 (21:4817)
ld de, String_84865
call PlaceString
ld a, [wd007]
- ld bc, 9
+ ld bc, BOX_NAME_LENGTH
ld hl, wBoxNames
call AddNTimes
ld d, h
@@ -53939,7 +53356,7 @@ ShowPlayerNamingChoices: ; 88297
.GotGender
call LoadMenuDataHeader
call InterpretMenu2
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
call Function1db8
call WriteBackup
@@ -55770,7 +55187,7 @@ endr
ret
.one: ; 8d2a2 (23:52a2)
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld hl, $
add hl, bc
cp [hl]
@@ -55821,7 +55238,7 @@ endr
ret
.three: ; 8d2ea (23:52ea)
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld hl, $
add hl, bc
cp [hl]
@@ -58462,7 +57879,7 @@ GetGFXUnlessMobile: ; 8ea3f
Function8ea4a: ; 8ea4a
ld hl, wPartyMonMenuIconAnims
ld e, $6
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld d, a
.loop
ld a, [hl]
@@ -63720,7 +63137,7 @@ Function9307c: ; 9307c (24:707c)
call InterpretMenu2
call WriteBackup
ret c
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
ld b, a
ld a, $4
sub b
@@ -63803,7 +63220,7 @@ Function930e9: ; 930e9 (24:70e9)
call LoadMenuTextBox
lb bc, 14, 12
call PlaceYesNoBox
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
call WriteBackup
and a
@@ -69533,7 +68950,7 @@ Functione20e5: ; e20e5
; e2101
Functione2101: ; e2101
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
ld l, a
ld h, 0
@@ -69850,18 +69267,18 @@ Functione245d: ; e245d (38:645d)
ld de, PCString_WhatsUp
call Functione2a6e
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
call Functione298d
ret
Functione247d: ; e247d (38:647d)
ld hl, BillsPCDepositMenuDataHeader
call CopyMenuDataHeader
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
call Function1d4b
call InterpretMenu2
jp c, BillsPCDepositFuncCancel
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
and $3
ld e, a
@@ -69914,14 +69331,14 @@ BillsPCDepositFuncRelease: ; e24e0 (38:64e0)
jr c, BillsPCDepositFuncCancel
call Functione2f5f
jr c, BillsPCDepositFuncCancel
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
push af
ld de, PCString_ReleasePKMN
call Functione2a6e
call LoadMenuDataHeader_0x1d75
lb bc, 14, 11
call PlaceYesNoBox
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
call ExitMenu
and a
@@ -69945,7 +69362,7 @@ BillsPCDepositFuncRelease: ; e24e0 (38:64e0)
ld de, PCString_WhatsUp
call Functione2a6e
pop af
- ld [wcfa9], a
+ ld [MenuSelection2], a
ret
BillsPCDepositFuncCancel: ; e2537 (38:6537)
@@ -70115,18 +69532,18 @@ Functione2655: ; e2655 (38:6655)
ld de, PCString_WhatsUp
call Functione2a6e
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
call Functione298d
ret
BillsPC_Withdraw: ; e2675 (38:6675)
ld hl, .MenuDataHeader
call CopyMenuDataHeader
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
call Function1d4b
call InterpretMenu2
jp c, .cancel
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
and 3
ld e, a
@@ -70175,7 +69592,7 @@ endr
ret
.release: ; e26d8 (38:66d8)
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
push af
call Functione2f5f
jr c, .FailedRelease
@@ -70184,7 +69601,7 @@ endr
call LoadMenuDataHeader_0x1d75
lb bc, 14, 11
call PlaceYesNoBox
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
call ExitMenu
and a
@@ -70208,7 +69625,7 @@ endr
ld de, PCString_WhatsUp
call Functione2a6e
pop af
- ld [wcfa9], a
+ ld [MenuSelection2], a
ret
.cancel: ; e272b (38:672b)
@@ -70376,7 +69793,7 @@ Functione283d: ; e283d
ld de, PCString_WhatsUp
call Functione2a6e
ld a, $1
- ld [wcfa9], a
+ ld [MenuSelection2], a
call Functione298d
ret
; e285d
@@ -70384,11 +69801,11 @@ Functione283d: ; e283d
Functione285d: ; e285d
ld hl, MenuDataHeader_0xe28c3
call CopyMenuDataHeader
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
call Function1d4b
call InterpretMenu2
jp c, Functione28bd
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
dec a
and 3
ld e, a
@@ -70758,7 +70175,7 @@ Functione2a8e: ; e2a8e (38:6a8e)
.gotbox
dec a
ld hl, wBoxNames
- ld bc, 9
+ ld bc, BOX_NAME_LENGTH
call AddNTimes
ld e, l
ld d, h
@@ -72116,8 +71533,12 @@ Functione35aa_menudataheader: ; 0xe35f1
; e3609
.boxes: ; e3609
- db 14
- db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
+ db NUM_BOXES
+x = 1
+rept NUM_BOXES
+ db x
+x = x + 1
+endr
db -1
; e3619
@@ -72125,14 +71546,14 @@ Functione35aa_menudataheader: ; 0xe35f1
push de
ld a, [MenuSelection]
dec a
- call Functione3626
+ call GetBoxName
pop hl
call PlaceString
ret
; e3626
-Functione3626: ; e3626 (38:7626)
- ld bc, 9
+GetBoxName: ; e3626 (38:7626)
+ ld bc, BOX_NAME_LENGTH
ld hl, wBoxNames
call AddNTimes
ld d, h
@@ -72166,6 +71587,7 @@ String_e3663: ; e3663
; e3668
String_e3668: ; e3668
+ ; db "/20@"
db "/"
db "0" + MONS_PER_BOX / 10 ; "2"
db "0" + MONS_PER_BOX % 10 ; "0"
@@ -72241,7 +71663,7 @@ Functione36cf: ; e36cf (38:76cf)
call PlaceString
ld a, [wCurBox]
and $f
- call Functione3626
+ call GetBoxName
hlcoord 11, 2
call PlaceString
ret
@@ -72257,7 +71679,7 @@ Functione36f9: ; e36f9 (38:76f9)
call InterpretMenu2
call ExitMenu
ret c
- ld a, [wcfa9]
+ ld a, [MenuSelection2]
cp $1
jr z, .asm_e3734
cp $2
@@ -72305,7 +71727,7 @@ Functione36f9: ; e36f9 (38:76f9)
call LoadFontsBattleExtra
ld a, [MenuSelection]
dec a
- call Functione3626
+ call GetBoxName
ld e, l
ld d, h
ld hl, DefaultFlypoint
@@ -72313,7 +71735,7 @@ Functione36f9: ; e36f9 (38:76f9)
call InitString
ld a, [MenuSelection]
dec a
- call Functione3626
+ call GetBoxName
ld de, DefaultFlypoint
call CopyName2
ret
@@ -75526,8 +74948,8 @@ GFX_f8ae0: ; f8ae0
INCBIN "gfx/unknown/0f8ae0.2bpp"
; f8b10
-GFX_f8b10: ; f8b10
-INCBIN "gfx/unknown/0f8b10.2bpp"
+ExpBarGFX: ; f8b10
+INCBIN "gfx/battle/expbar.2bpp"
; f8ba0
TownMapGFX: ; f8ba0
@@ -75683,9 +75105,9 @@ Functionfb50d: ; fb50d
ld hl, VTiles2 tile $73
lb bc, BANK(GFX_f8ae0), 6
call Functionddc
- ld de, GFX_f8b10
+ ld de, ExpBarGFX
ld hl, VTiles2 tile $55
- lb bc, BANK(GFX_f8b10), 9
+ lb bc, BANK(ExpBarGFX), 9
call Functiondc9
ld de, GFX_f9214 + $90
ld hl, VTiles2 tile $5e
@@ -75708,9 +75130,9 @@ Functionfb53e: ; fb53e
ld hl, VTiles2 tile $76
lb bc, BANK(GFX_f8ae0), 2
call Functionddc
- ld de, GFX_f8b10
+ ld de, ExpBarGFX
ld hl, VTiles2 tile $55
- lb bc, BANK(GFX_f8b10), 8
+ lb bc, BANK(ExpBarGFX), 8
call Functiondc9
Functionfb571: ; fb571