diff options
Diffstat (limited to 'engine')
-rwxr-xr-x | engine/billspc.asm | 48 | ||||
-rwxr-xr-x | engine/decorations.asm | 6 | ||||
-rwxr-xr-x | engine/dummy_game.asm | 2 | ||||
-rwxr-xr-x | engine/init_gender.asm | 4 | ||||
-rwxr-xr-x | engine/intro_menu.asm | 8 | ||||
-rwxr-xr-x | engine/learn.asm | 8 | ||||
-rwxr-xr-x | engine/link.asm | 50 | ||||
-rwxr-xr-x | engine/mail.asm | 8 | ||||
-rwxr-xr-x | engine/main_menu.asm | 76 | ||||
-rwxr-xr-x | engine/mart.asm | 8 | ||||
-rwxr-xr-x | engine/menu.asm | 755 | ||||
-rwxr-xr-x | engine/mon_icons.asm | 2 | ||||
-rwxr-xr-x | engine/mon_menu.asm | 12 | ||||
-rw-r--r-- | engine/pack.asm | 30 | ||||
-rw-r--r-- | engine/party_menu.asm | 10 | ||||
-rwxr-xr-x | engine/pokecenter_pc.asm | 6 | ||||
-rwxr-xr-x | engine/printer.asm | 116 | ||||
-rwxr-xr-x | engine/rtc.asm | 210 | ||||
-rw-r--r-- | engine/save.asm | 2 | ||||
-rw-r--r-- | engine/scripting.asm | 14 | ||||
-rwxr-xr-x | engine/slot_machine.asm | 6 | ||||
-rwxr-xr-x | engine/sprite_anims.asm | 4 | ||||
-rwxr-xr-x | engine/startmenu.asm | 22 | ||||
-rwxr-xr-x | engine/stats_screen.asm | 4 | ||||
-rw-r--r-- | engine/std_scripts.asm | 2 | ||||
-rwxr-xr-x | engine/tile_events.asm | 110 | ||||
-rwxr-xr-x | engine/tmhm2.asm | 12 |
27 files changed, 1057 insertions, 478 deletions
diff --git a/engine/billspc.asm b/engine/billspc.asm index 33792477a..4346746f5 100755 --- a/engine/billspc.asm +++ b/engine/billspc.asm @@ -123,18 +123,18 @@ Functione245d: ; e245d (38:645d) ld de, PCString_WhatsUp call Functione2a6e ld a, $1 - ld [MenuSelection2], a + ld [wMenuCursorY], a call Functione298d ret Functione247d: ; e247d (38:647d) ld hl, BillsPCDepositMenuDataHeader call CopyMenuDataHeader - ld a, [MenuSelection2] + ld a, [wMenuCursorY] call Function1d4b - call InterpretMenu2 + call VerticalMenu jp c, BillsPCDepositFuncCancel - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a and $3 ld e, a @@ -187,14 +187,14 @@ BillsPCDepositFuncRelease: ; e24e0 (38:64e0) jr c, BillsPCDepositFuncCancel call Functione2f5f jr c, BillsPCDepositFuncCancel - ld a, [MenuSelection2] + ld a, [wMenuCursorY] push af ld de, PCString_ReleasePKMN call Functione2a6e call LoadStandardMenuDataHeader lb bc, 14, 11 call PlaceYesNoBox - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a call ExitMenu and a @@ -218,7 +218,7 @@ BillsPCDepositFuncRelease: ; e24e0 (38:64e0) ld de, PCString_WhatsUp call Functione2a6e pop af - ld [MenuSelection2], a + ld [wMenuCursorY], a ret BillsPCDepositFuncCancel: ; e2537 (38:6537) @@ -388,18 +388,18 @@ Functione2655: ; e2655 (38:6655) ld de, PCString_WhatsUp call Functione2a6e ld a, $1 - ld [MenuSelection2], a + ld [wMenuCursorY], a call Functione298d ret BillsPC_Withdraw: ; e2675 (38:6675) ld hl, .MenuDataHeader call CopyMenuDataHeader - ld a, [MenuSelection2] + ld a, [wMenuCursorY] call Function1d4b - call InterpretMenu2 + call VerticalMenu jp c, .cancel - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a and 3 ld e, a @@ -448,7 +448,7 @@ endr ret .release: ; e26d8 (38:66d8) - ld a, [MenuSelection2] + ld a, [wMenuCursorY] push af call Functione2f5f jr c, .FailedRelease @@ -457,7 +457,7 @@ endr call LoadStandardMenuDataHeader lb bc, 14, 11 call PlaceYesNoBox - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a call ExitMenu and a @@ -481,7 +481,7 @@ endr ld de, PCString_WhatsUp call Functione2a6e pop af - ld [MenuSelection2], a + ld [wMenuCursorY], a ret .cancel: ; e272b (38:672b) @@ -649,7 +649,7 @@ Functione283d: ; e283d ld de, PCString_WhatsUp call Functione2a6e ld a, $1 - ld [MenuSelection2], a + ld [wMenuCursorY], a call Functione298d ret ; e285d @@ -657,11 +657,11 @@ Functione283d: ; e283d Functione285d: ; e285d ld hl, MenuDataHeader_0xe28c3 call CopyMenuDataHeader - ld a, [MenuSelection2] + ld a, [wMenuCursorY] call Function1d4b - call InterpretMenu2 + call VerticalMenu jp c, Functione28bd - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a and 3 ld e, a @@ -1764,11 +1764,11 @@ Functione2f95: ; e2f95 (38:6f95) ld hl, hJoyPressed ; $ffa7 ld a, [hl] and A_BUTTON | B_BUTTON | D_RIGHT | D_LEFT - ld [wcf73], a + ld [wMenuJoypad], a jr nz, .pressed_a_b_right_left ld a, [hl] and D_DOWN | D_UP - ld [wcf73], a + ld [wMenuJoypad], a jr nz, .pressed_down_up jr .pressed_a_b_right_left @@ -1791,7 +1791,7 @@ Functione2f95: ; e2f95 (38:6f95) .asm_e2fd1 xor a - ld [wcf73], a + ld [wMenuJoypad], a ret Functione2fd6: ; e2fd6 (38:6fd6) @@ -2367,7 +2367,7 @@ _ChangeBox: ; e35aa (38:75aa) lb bc, 8, 9 call TextBox call HandleScrollingMenu - ld a, [wcf73] + ld a, [wMenuJoypad] cp $2 jr z, .done call Functione37af @@ -2549,10 +2549,10 @@ String_e36f1: ; e36f1 Functione36f9: ; e36f9 (38:76f9) ld hl, .MenuDataHeader call LoadMenuDataHeader - call InterpretMenu2 + call VerticalMenu call ExitMenu ret c - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp $1 jr z, .Switch cp $2 diff --git a/engine/decorations.asm b/engine/decorations.asm index ef8ee76dd..794552a70 100755 --- a/engine/decorations.asm +++ b/engine/decorations.asm @@ -19,7 +19,7 @@ _KrisDecorationMenu: ; 0x2675c ld [wMenuCursorBuffer], a call .FindCategoriesWithOwnedDecos call DoNthMenu - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wd1ef], a jr c, .exit_menu ld a, [MenuSelection] @@ -401,7 +401,7 @@ PopulateDecoCategoryMenu: ; 2695b xor a ld [wMenuScrollPosition], a call HandleScrollingMenu - ld a, [wcf73] + ld a, [wMenuJoypad] cp 2 jr z, .no_action_2 call DoDecorationAction2 @@ -1009,7 +1009,7 @@ DecoAction_AskWhichSide: ; 26e70 call ExitMenu call CopyMenuData2 jr c, .nope - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp 3 jr z, .nope ld [Buffer2], a diff --git a/engine/dummy_game.asm b/engine/dummy_game.asm index cc188598f..e10633c88 100755 --- a/engine/dummy_game.asm +++ b/engine/dummy_game.asm @@ -416,7 +416,7 @@ Functione20e5: ; e20e5 ; e2101 Functione2101: ; e2101 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld l, a ld h, 0 diff --git a/engine/init_gender.asm b/engine/init_gender.asm index 9fda68a3c..9fc575520 100755 --- a/engine/init_gender.asm +++ b/engine/init_gender.asm @@ -33,9 +33,9 @@ InitGender: ; 48dcb (12:4dcb) ld hl, .MenuDataHeader call LoadMenuDataHeader call WaitBGMap2 - call InterpretMenu2 + call VerticalMenu call WriteBackup - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld [PlayerGender], a ld c, 10 diff --git a/engine/intro_menu.asm b/engine/intro_menu.asm index 1ec4d86d5..7c80f1005 100755 --- a/engine/intro_menu.asm +++ b/engine/intro_menu.asm @@ -547,7 +547,7 @@ Continue_LoadMenuHeader: ; 5ebf .pokedex_header call Function1e35 call MenuBox - call Function1c89 + call PlaceVerticalMenuItems ret ; 5ed9 @@ -783,7 +783,7 @@ OakText7: ; 0x606f NamePlayer: ; 0x6074 callba MovePlayerPicRight callba ShowPlayerNamingChoices - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a jr z, .NewName call StorePlayerName @@ -828,8 +828,8 @@ NamePlayer: ; 0x6074 Function60e9: ; Unreferenced call LoadMenuDataHeader - call InterpretMenu2 - ld a, [MenuSelection2] + call VerticalMenu + ld a, [wMenuCursorY] dec a call CopyNameFromMenu call WriteBackup diff --git a/engine/learn.asm b/engine/learn.asm index f6df570e7..634c29512 100755 --- a/engine/learn.asm +++ b/engine/learn.asm @@ -155,8 +155,8 @@ ForgetMove: ; 65d3 ld [wcfa3], a ld a, $1 ld [wcfa4], a - ld [MenuSelection2], a - ld [wcfaa], a + ld [wMenuCursorY], a + ld [wMenuCursorX], a ld a, $3 ld [wcfa8], a ld a, $20 @@ -165,7 +165,7 @@ ForgetMove: ; 65d3 ld [wcfa6], a ld a, $20 ld [wcfa7], a - call Function1bc9 + call StaticMenuJoypad push af call Call_LoadTempTileMapToTileMap pop af @@ -173,7 +173,7 @@ ForgetMove: ; 65d3 bit 1, a jr nz, .cancel push hl - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld c, a ld b, 0 diff --git a/engine/link.asm b/engine/link.asm index 2255133cb..677c503fa 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -1219,7 +1219,7 @@ rept 3 endr ld [hl], a ld a, $1 - ld [MenuSelection2], a + ld [wMenuCursorY], a inc a ld [wPlayerLinkAction], a jp Function2888b @@ -1239,7 +1239,7 @@ Function28803: ; 28803 ld a, $6 ld [wcfa2], a ld a, $1 - ld [wcfaa], a + ld [wMenuCursorX], a ld a, $10 ld [wcfa7], a ld a, $20 @@ -1264,7 +1264,7 @@ Function28835: ; 28835 .asm_2885b bit 6, a jr z, .asm_28883 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld b, a ld a, [OTPartyCount] cp b @@ -1280,7 +1280,7 @@ Function28835: ; 28835 pop bc pop hl ld a, [PartyCount] - ld [MenuSelection2], a + ld [wMenuCursorY], a jr Function2888b .asm_28883 @@ -1304,7 +1304,7 @@ Function2888b: ; 2888b ld a, $6 ld [wcfa2], a ld a, $1 - ld [wcfaa], a + ld [wMenuCursorX], a ld a, $10 ld [wcfa7], a ld a, $20 @@ -1328,7 +1328,7 @@ Function288c5: ; 288c5 .asm_288d9 bit 7, a jr z, .asm_288fe - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a jp nz, Function2891c ld a, $1 @@ -1342,13 +1342,13 @@ Function288c5: ; 288c5 pop bc pop hl ld a, $1 - ld [MenuSelection2], a + ld [wMenuCursorY], a jp Function28803 .asm_288fe bit 6, a jr z, Function2891c - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld b, a ld a, [PartyCount] cp b @@ -1373,7 +1373,7 @@ Function2891c: ; 2891c Function28926: ; 28926 call LoadTileMapToTempTileMap - ld a, [MenuSelection2] + ld a, [wMenuCursorY] push af hlcoord 0, 15 ld b, $1 @@ -1398,21 +1398,21 @@ Function28926: ; 28926 ld a, $1 ld [wcfa2], a ld a, $1 - ld [MenuSelection2], a - ld [wcfaa], a + ld [wMenuCursorY], a + ld [wMenuCursorX], a ld a, $20 ld [wcfa7], a xor a ld [wcfa5], a ld [wcfa6], a - call Function1bd3 + call ScrollingMenuJoypad bit 4, a jr nz, .asm_2898d bit 1, a jr z, .asm_289cd .asm_28983 pop af - ld [MenuSelection2], a + ld [wMenuCursorY], a call Call_LoadTempTileMapToTileMap jp Function2888b @@ -1430,14 +1430,14 @@ Function28926: ; 28926 ld a, $b ld [wcfa2], a ld a, $1 - ld [MenuSelection2], a - ld [wcfaa], a + ld [wMenuCursorY], a + ld [wMenuCursorX], a ld a, $20 ld [wcfa7], a xor a ld [wcfa5], a ld [wcfa6], a - call Function1bd3 + call ScrollingMenuJoypad bit 5, a jp nz, .asm_28946 bit 1, a @@ -1446,7 +1446,7 @@ Function28926: ; 28926 .asm_289cd pop af - ld [MenuSelection2], a + ld [wMenuCursorY], a ld a, $4 ld [wd263], a callab Function50db9 @@ -1465,7 +1465,7 @@ Function28926: ; 28926 .asm_289fe call Function1bee pop af - ld [MenuSelection2], a + ld [wMenuCursorY], a dec a ld [wd002], a ld [wPlayerLinkAction], a @@ -1549,7 +1549,7 @@ UnknownText_0x28ac4: ; 0x28ac4 Function28ac9: ; 28ac9 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp $1 jp nz, Function2891c call Function1bf7 @@ -1579,12 +1579,12 @@ Function28ade: ; 28ade bit 6, a jr z, .asm_28b03 ld a, [OTPartyCount] - ld [MenuSelection2], a + ld [wMenuCursorY], a jp Function28803 .asm_28b03 ld a, $1 - ld [MenuSelection2], a + ld [wMenuCursorY], a jp Function2888b .asm_28b0b @@ -1715,17 +1715,17 @@ Function28b87: ; 28b87 ld a, $3 ld [wcfa8], a ld a, $1 - ld [MenuSelection2], a - ld [wcfaa], a + ld [wMenuCursorY], a + ld [wMenuCursorX], a callba Function4d354 - call Function1bd3 + call ScrollingMenuJoypad push af call Call_ExitMenu call WaitBGMap2 pop af bit 1, a jr nz, .asm_28c33 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a jr z, .asm_28c54 diff --git a/engine/mail.asm b/engine/mail.asm index 6eef16a8c..f8619c9f6 100755 --- a/engine/mail.asm +++ b/engine/mail.asm @@ -402,10 +402,10 @@ MailboxPC: ; 0x44806 call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [OBPals + 8 * 6], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wCurMessageIndex], a - ld a, [wcf73] + ld a, [wMenuJoypad] cp $2 jr z, .exit call Function4484a @@ -419,10 +419,10 @@ MailboxPC: ; 0x44806 Function4484a: ; 0x4484a ld hl, MenuData44964 call LoadMenuDataHeader - call InterpretMenu2 + call VerticalMenu call ExitMenu jr c, .exit - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld hl, .JumpTable rst JumpTable diff --git a/engine/main_menu.asm b/engine/main_menu.asm index 01432dc04..9225945ef 100755 --- a/engine/main_menu.asm +++ b/engine/main_menu.asm @@ -202,7 +202,7 @@ Function49de4: ; 49de4 set 5, a ld [wcfa5], a call Function1f1a - ld a, [wcf73] + ld a, [wMenuJoypad] cp $2 jr z, .asm_49e07 cp $1 @@ -390,15 +390,15 @@ Function49f16: ; 49f16 call PlaceString call WaitBGMap2 call SetPalettes - call Function1bc9 - ld hl, MenuSelection2 + call StaticMenuJoypad + ld hl, wMenuCursorY ld b, [hl] push bc jr .asm_49f5d .asm_49f55 - call Function1bd3 - ld hl, MenuSelection2 + call ScrollingMenuJoypad + ld hl, wMenuCursorY ld b, [hl] push bc @@ -410,7 +410,7 @@ Function49f16: ; 49f16 jr .asm_49f97 .asm_49f67 - ld hl, MenuSelection2 + ld hl, wMenuCursorY ld a, [hl] cp $1 jp z, Function4a098 @@ -421,7 +421,7 @@ Function49f16: ; 49f16 cp $4 jp z, Function4a100 ld a, $1 - call Function1ff8 + call MenuClickSound .asm_49f84 pop bc @@ -434,7 +434,7 @@ Function49f16: ; 49f16 ret .asm_49f97 - ld hl, MenuSelection2 + ld hl, wMenuCursorY ld a, [hl] dec a ld hl, MobileStrings2 @@ -452,7 +452,7 @@ Function49f16: ; 49f16 .asm_49fb7 call Function4a071 pop bc - ld hl, MenuSelection2 + ld hl, wMenuCursorY ld [hl], b ld b, $a ld c, $1 @@ -529,7 +529,7 @@ endr Function4a098: ; 4a098 (12:6098) ld a, $2 - call Function1ff8 + call MenuClickSound call Function1bee call WaitBGMap call LoadStandardMenuDataHeader @@ -542,13 +542,13 @@ Function4a098: ; 4a098 (12:6098) Function4a0b9: ; 4a0b9 (12:60b9) ld a, $2 - call Function1ff8 + call MenuClickSound pop bc jp Function4a4c4 Function4a0c2: ; 4a0c2 (12:60c2) ld a, $2 - call Function1ff8 + call MenuClickSound ld a, BANK(sPlayerData) call GetSRAMBank ld hl, sPlayerData + PlayerName - wPlayerData @@ -574,7 +574,7 @@ Function4a0c2: ; 4a0c2 (12:60c2) Function4a100: ; 4a100 (12:6100) ld a, $2 - call Function1ff8 + call MenuClickSound call ClearBGPalettes call Function4a13b call ClearBGPalettes @@ -630,7 +630,7 @@ Function4a149: ; 4a149 (12:6149) ld b, $4 ld c, $12 call TextBox - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld hl, Strings_4a23d call GetNthString @@ -644,15 +644,15 @@ Function4a149: ; 4a149 (12:6149) call PlaceString callba Function104148 call SetPalettes - call Function1bc9 - ld hl, MenuSelection2 + call StaticMenuJoypad + ld hl, wMenuCursorY ld b, [hl] push bc jr asm_4a19d Function4a195: ; 4a195 (12:6195) - call Function1bd3 - ld hl, MenuSelection2 + call ScrollingMenuJoypad + ld hl, wMenuCursorY ld b, [hl] push bc @@ -663,19 +663,19 @@ asm_4a19d: ; 4a19d (12:619d) jr nz, .asm_4a1ba jr .asm_4a1bc .asm_4a1a7 - ld hl, MenuSelection2 + ld hl, wMenuCursorY ld a, [hl] cp $1 jp z, Function4a20e cp $2 jp z, Function4a221 ld a, $1 - call Function1ff8 + call MenuClickSound .asm_4a1ba pop bc ret .asm_4a1bc - ld hl, MenuSelection2 + ld hl, wMenuCursorY ld a, [hl] dec a ld hl, Strings_4a23d @@ -692,7 +692,7 @@ asm_4a19d: ; 4a19d (12:619d) .asm_4a1db call Function4a373 pop bc - ld hl, MenuSelection2 + ld hl, wMenuCursorY ld [hl], b lb bc, 6, 1 hlcoord 2, 3 @@ -708,7 +708,7 @@ String_4a1ef: ; 4a1ef Function4a20e: ; 4a20e (12:620e) ld a, $1 - call Function1ff8 + call MenuClickSound callba Function1719c8 call ClearBGPalettes call DelayFrame @@ -716,12 +716,12 @@ Function4a20e: ; 4a20e (12:620e) Function4a221: ; 4a221 (12:6221) ld a, $1 - call Function1ff8 + call MenuClickSound call Function4a28a jr c, Function4a239 call Function4a373 ld a, $2 - ld [MenuSelection2], a + ld [wMenuCursorY], a jr .asm_4a235 .asm_4a235 pop bc @@ -767,13 +767,13 @@ Function4a28a: ; 4a28a (12:628a) call PlaceString callba Function104148 call Function4a118 - call Function1bd3 + call ScrollingMenuJoypad push af call PlayClickSFX pop af bit 1, a jr nz, .asm_4a33b - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp $2 jr z, .asm_4a2f0 cp $3 @@ -796,10 +796,10 @@ Function4a28a: ; 4a28a (12:628a) callba Function104148 ld hl, MenuDataHeader_0x4a362 call LoadMenuDataHeader - call InterpretMenu2 + call VerticalMenu bit 1, a jr nz, .asm_4a338 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp $2 jr z, .asm_4a338 ld a, $5 @@ -1073,15 +1073,15 @@ Function4a4c4: ; 4a4c4 (12:64c4) call PlaceString call WaitBGMap2 call SetPalettes - call Function1bc9 - ld hl, MenuSelection2 + call StaticMenuJoypad + ld hl, wMenuCursorY ld b, [hl] push bc jr asm_4a54d Function4a545: ; 4a545 (12:6545) - call Function1bd3 - ld hl, MenuSelection2 + call ScrollingMenuJoypad + ld hl, wMenuCursorY ld b, [hl] push bc @@ -1092,7 +1092,7 @@ asm_4a54d: ; 4a54d (12:654d) jr nz, .asm_4a574 jr .asm_4a57e .asm_4a557 - ld hl, MenuSelection2 + ld hl, wMenuCursorY ld a, [hl] cp $1 jp z, Function4a6ab @@ -1103,14 +1103,14 @@ asm_4a54d: ; 4a54d (12:654d) cp $4 jp z, Function4a6ab ld a, $1 - call Function1ff8 + call MenuClickSound .asm_4a574 pop bc call ClearBGPalettes call ClearTileMap jp Function49f0a .asm_4a57e - ld hl, MenuSelection2 + ld hl, wMenuCursorY ld a, [hl] dec a add a @@ -1138,7 +1138,7 @@ asm_4a54d: ; 4a54d (12:654d) Function4a5b0: ; 4a5b0 (12:65b0) call Function4a680 pop bc - ld hl, MenuSelection2 + ld hl, wMenuCursorY ld [hl], b ld b, $a ld c, $1 @@ -1206,7 +1206,7 @@ endr Function4a6ab: ; 4a6ab (12:66ab) ld a, $2 - call Function1ff8 + call MenuClickSound call ClearBGPalettes ld b, SCGB_08 call GetSGBLayout diff --git a/engine/mart.asm b/engine/mart.asm index 3437ef984..7d92e468b 100755 --- a/engine/mart.asm +++ b/engine/mart.asm @@ -185,9 +185,9 @@ StandardMart: ; 15b47 .TopMenu: ; 15b6e ld hl, MenuDataHeader_BuySell call CopyMenuDataHeader - call InterpretMenu2 + call VerticalMenu jr c, .quit - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp $1 jr z, .buy cp $2 @@ -481,10 +481,10 @@ BuyMenuLoop: ; 15cef call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wd045 + 1], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wd045], a call SpeechTextBox - ld a, [wcf73] + ld a, [wMenuJoypad] cp B_BUTTON jr z, .set_carry cp A_BUTTON diff --git a/engine/menu.asm b/engine/menu.asm index 22ca2b214..152be1992 100755 --- a/engine/menu.asm +++ b/engine/menu.asm @@ -1,54 +1,57 @@ -Function2400e:: ; 2400e +_2DMenu_:: ; 2400e ld hl, CopyMenuData2 - ld a, [wcf94] + ld a, [wMenuData2_2DMenuItemStringsBank] rst FarCall - call Function24085 + + call Draw2DMenu call UpdateSprites call ApplyTilemap - call Function2408f + call Get2DMenuSelection ret ; 24022 -Function24022:: ; 24022 +_InterpretBattleMenu:: ; 24022 ld hl, CopyMenuData2 - ld a, [wcf94] + ld a, [wMenuData2_2DMenuItemStringsBank] rst FarCall - call Function24085 + + call Draw2DMenu callba MobileTextBorder call UpdateSprites call ApplyTilemap - call Function2408f + call Get2DMenuSelection ret ; 2403c -Function2403c:: ; 2403c +_InterpretMobileMenu:: ; 2403c ld hl, CopyMenuData2 - ld a, [wcf94] + ld a, [wMenuData2_2DMenuItemStringsBank] rst FarCall - call Function24085 + + call Draw2DMenu callba MobileTextBorder call UpdateSprites call ApplyTilemap - call Function2411a - ld hl, wcfa5 + call Init2DMenuCursorPosition + ld hl, w2DMenuFlags1 set 7, [hl] -.asm_2405a +.loop call DelayFrame callba Function10032e ld a, [wcd2b] and a - jr nz, .asm_24076 - call Function241ba - ld a, [wcfa8] + jr nz, .quit + call MobileMenuJoypad + ld a, [w2DMenuFlags4] and c - jr z, .asm_2405a - call Function24098 + jr z, .loop + call Mobile_GetMenuSelection ret -.asm_24076 - ld a, [wcfa4] +.quit + ld a, [w2DMenuNumCols] ld c, a - ld a, [wcfa3] + ld a, [w2DMenuNumRows] call SimpleMultiply ld [wMenuCursorBuffer], a and a @@ -57,174 +60,173 @@ Function2403c:: ; 2403c -Function24085: ; 24085 +Draw2DMenu: ; 24085 xor a ld [hBGMapMode], a call MenuBox - call Function240db + call Place2DMenuItemStrings ret ; 2408f -Function2408f: ; 2408f - call Function2411a - call Function1bc9 - call Function1ff8 - -Function24098: ; 24098 +Get2DMenuSelection: ; 2408f + call Init2DMenuCursorPosition + call StaticMenuJoypad + call MenuClickSound +Mobile_GetMenuSelection: ; 24098 ld a, [wMenuData2Flags] bit 1, a - jr z, .asm_240a6 - call Function1bdd - bit 2, a - jr nz, .asm_240c9 + jr z, .skip + call GetMenuJoypad + bit SELECT_F, a + jr nz, .quit1 -.asm_240a6 +.skip ld a, [wMenuData2Flags] bit 0, a - jr nz, .asm_240b4 - call Function1bdd - bit 1, a - jr nz, .asm_240cb + jr nz, .skip2 + call GetMenuJoypad + bit B_BUTTON_F, a + jr nz, .quit2 -.asm_240b4 - ld a, [wcfa4] +.skip2 + ld a, [w2DMenuNumCols] ld c, a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a call SimpleMultiply ld c, a - ld a, [wcfaa] + ld a, [wMenuCursorX] add c ld [wMenuCursorBuffer], a and a ret -.asm_240c9 +.quit1 scf ret -.asm_240cb +.quit2 scf ret ; 240cd -Function240cd: ; 240cd +GetMenuNumberOfColumns: ; 240cd ld a, [wMenuData2Items] and $f ret ; 240d3 -Function240d3: ; 240d3 +GetMenuNumberOfRows: ; 240d3 ld a, [wMenuData2Items] swap a and $f ret ; 240db -Function240db: ; 240db - ld hl, wcf95 +Place2DMenuItemStrings: ; 240db + ld hl, wMenuData2_2DMenuItemStringsAddr ld e, [hl] inc hl ld d, [hl] call GetMenuTextStartCoord call Coord2Tile - call Function240d3 + call GetMenuNumberOfRows ld b, a -.asm_240eb +.row push bc push hl - call Function240cd + call GetMenuNumberOfColumns ld c, a -.asm_240f1 +.col push bc - ld a, [wcf94] - call Function201c + ld a, [wMenuData2_2DMenuItemStringsBank] + call Place2DMenuItemName inc de - ld a, [wcf93] + ld a, [wMenuData2Spacing] ld c, a - ld b, $0 + ld b, 0 add hl, bc pop bc dec c - jr nz, .asm_240f1 + jr nz, .col pop hl - ld bc, $28 + ld bc, 2 * SCREEN_WIDTH add hl, bc pop bc dec b - jr nz, .asm_240eb - ld hl, wcf98 + jr nz, .row + ld hl, wMenuData2_2DMenuFunctionAddr ld a, [hli] ld h, [hl] ld l, a or h ret z - ld a, [wcf97] + ld a, [wMenuData2_2DMenuFunctionBank] rst FarCall ret ; 2411a -Function2411a: ; 2411a (9:411a) +Init2DMenuCursorPosition: ; 2411a (9:411a) call GetMenuTextStartCoord ld a, b - ld [wcfa1], a + ld [w2DMenuCursorInitY], 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 [w2DMenuCursorInitX], a + call GetMenuNumberOfRows + ld [w2DMenuNumRows], a + call GetMenuNumberOfColumns + ld [w2DMenuNumCols], a + call .InitFlags_a + call .InitFlags_b + call .InitFlags_c + ld a, [w2DMenuNumCols] ld e, a ld a, [wMenuCursorBuffer] ld b, a xor a - ld d, $0 -.asm_24146 + ld d, 0 +.loop inc d add e cp b - jr c, .asm_24146 + jr c, .loop sub e ld c, a ld a, b sub c and a - jr z, .asm_24157 + jr z, .reset1 cp e - jr z, .asm_24159 - jr c, .asm_24159 -.asm_24157 - ld a, $1 -.asm_24159 - ld [wcfaa], a - ld a, [wcfa3] + jr z, .okay1 + jr c, .okay1 +.reset1 + ld a, 1 +.okay1 + ld [wMenuCursorX], a + ld a, [w2DMenuNumRows] ld e, a ld a, d and a - jr z, .asm_24169 + jr z, .reset2 cp e - jr z, .asm_2416b - jr c, .asm_2416b -.asm_24169 - ld a, $1 -.asm_2416b - ld [MenuSelection2], a + jr z, .okay2 + jr c, .okay2 +.reset2 + ld a, 1 +.okay2 + ld [wMenuCursorY], a xor a - ld [wcfab], a - ld [wcfac], a - ld [wcfad], a + ld [wCursorOffCharacter], a + ld [wCursorCurrentTile], a + ld [wCursorCurrentTile + 1], a ret ; 24179 -Function24179: ; 24179 +.InitFlags_a: ; 24179 xor a - ld hl, wcfa5 + ld hl, w2DMenuFlags1 ld [hli], a ld [hld], a ld a, [wMenuData2Flags] @@ -235,89 +237,85 @@ Function24179: ; 24179 ret ; 2418a -Function2418a: ; 2418a - ld a, [wcf93] - or $20 - ld [wcfa7], a +.InitFlags_b: ; 2418a + ld a, [wMenuData2Spacing] + or %00100000 + ld [w2DMenuFlags3], a ret ; 24193 -Function24193: ; 24193 +.InitFlags_c: ; 24193 ld hl, wMenuData2Flags - ld a, $1 + ld a, %001 bit 0, [hl] - jr nz, .asm_2419e - or $2 - -.asm_2419e + jr nz, .skip + or %010 +.skip bit 1, [hl] - jr z, .asm_241a4 - or $4 - -.asm_241a4 - ld [wcfa8], a + jr z, .skip2 + or %100 +.skip2 + ld [w2DMenuFlags4], a ret ; 241a8 -Function241a8:: ; 241a8 - call Function24329 -Function241ab:: ; 241ab - ld hl, wcfa6 +_StaticMenuJoypad:: ; 241a8 + call Place2DMenuCursor +_ScrollingMenuJoypad:: ; 241ab + ld hl, w2DMenuFlags2 res 7, [hl] ld a, [hBGMapMode] push af - call Function24216 + call MenuJoypadLoop pop af ld [hBGMapMode], a ret ; 241ba -Function241ba: ; 241ba - ld hl, wcfa6 +MobileMenuJoypad: ; 241ba + ld hl, w2DMenuFlags2 res 7, [hl] ld a, [hBGMapMode] push af - call Function2431a - call Function24249 - jr nc, .asm_241cd - call Function24270 - -.asm_241cd + call Move2DMenuCursor + call Do2DMenuRTCJoypad + jr nc, .skip_joypad + call _2DMenuInterpretJoypad +.skip_joypad pop af ld [hBGMapMode], a - call Function1bdd + call GetMenuJoypad ld c, a ret ; 241d5 Function241d5: ; 241d5 - call Function24329 +; Unreferenced + call Place2DMenuCursor .loop - call Function2431a + call Move2DMenuCursor call Function10402d ; BUG: This function is in another bank. ; Pointer in current bank (9) is bogus. - call Function241fa + call .loop2 jr nc, .done - call Function24270 + call _2DMenuInterpretJoypad jr c, .done - ld a, [wcfa5] + ld a, [w2DMenuFlags1] bit 7, a jr nz, .done - call Function1bdd + call GetMenuJoypad ld c, a - ld a, [wcfa8] + ld a, [w2DMenuFlags4] and c jr z, .loop .done ret -; 241fa -Function241fa: ; 241fa -.loop - call Function24259 +.loop2 + call Menu_WasButtonPressed ret c ld c, 1 ld b, 3 @@ -326,36 +324,36 @@ Function241fa: ; 241fa ret c callba Function100337 ret c - ld a, [wcfa5] + ld a, [w2DMenuFlags1] bit 7, a - jr z, .loop + jr z, .loop2 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] +MenuJoypadLoop: ; 24216 +.loop + call Move2DMenuCursor + call .BGMap_OAM + call Do2DMenuRTCJoypad + jr nc, .done + call _2DMenuInterpretJoypad + jr c, .done + ld a, [w2DMenuFlags1] bit 7, a - jr nz, .asm_24237 - call Function1bdd + jr nz, .done + call GetMenuJoypad ld b, a - ld a, [wcfa8] + ld a, [w2DMenuFlags4] and b - jr z, .asm_24216 + jr z, .loop -.asm_24237 +.done ret ; 24238 -Function24238: ; 24238 +.BGMap_OAM: ; 24238 ld a, [hOAMUpdate] push af ld a, $1 @@ -368,220 +366,479 @@ Function24238: ; 24238 ret ; 24249 -Function24249: ; 24249 -.asm_24249 +Do2DMenuRTCJoypad: ; 24249 +.loopRTC call RTC - call Function24259 + call Menu_WasButtonPressed ret c - ld a, [wcfa5] + ld a, [w2DMenuFlags1] bit 7, a - jr z, .asm_24249 + jr z, .loopRTC and a ret ; 24259 -Function24259: ; 24259 - ld a, [wcfa5] +Menu_WasButtonPressed: ; 24259 + ld a, [w2DMenuFlags1] bit 6, a - jr z, .asm_24266 + jr z, .skip_to_joypad callab PlaySpriteAnimationsAndDelayFrame -.asm_24266 +.skip_to_joypad call JoyTextDelay - call Function1bdd + call GetMenuJoypad 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 +_2DMenuInterpretJoypad: ; 24270 + call GetMenuJoypad + bit A_BUTTON_F, a + jp nz, .a_b_start_select + bit B_BUTTON_F, a + jp nz, .a_b_start_select + bit SELECT_F, a + jp nz, .a_b_start_select + bit START_F, a + jp nz, .a_b_start_select + bit D_RIGHT_F, a + jr nz, .d_right + bit D_LEFT_F, a + jr nz, .d_left + bit D_UP_F, a + jr nz, .d_up + bit D_DOWN_F, a + jr nz, .d_down and a ret -.asm_24299: ; 24299 - ld hl, wcfa6 +.set_bit_7: ; 24299 + ld hl, w2DMenuFlags2 set 7, [hl] scf ret -.asm_242a0 - ld hl, MenuSelection2 - ld a, [wcfa3] +.d_down + ld hl, wMenuCursorY + ld a, [w2DMenuNumRows] cp [hl] - jr z, .asm_242ac + jr z, .check_wrap_around_down inc [hl] xor a ret -.asm_242ac - ld a, [wcfa5] +.check_wrap_around_down + ld a, [w2DMenuFlags1] bit 5, a - jr nz, .asm_242ba + jr nz, .wrap_around_down bit 3, a - jp nz, .asm_24299 + jp nz, .set_bit_7 xor a ret -.asm_242ba +.wrap_around_down ld [hl], $1 xor a ret -.asm_242be - ld hl, MenuSelection2 +.d_up + ld hl, wMenuCursorY ld a, [hl] dec a - jr z, .asm_242c8 + jr z, .check_wrap_around_up ld [hl], a xor a ret -.asm_242c8 - ld a, [wcfa5] +.check_wrap_around_up + ld a, [w2DMenuFlags1] bit 5, a - jr nz, .asm_242d6 + jr nz, .wrap_around_up bit 2, a - jp nz, .asm_24299 + jp nz, .set_bit_7 xor a ret -.asm_242d6 - ld a, [wcfa3] +.wrap_around_up + ld a, [w2DMenuNumRows] ld [hl], a xor a ret -.asm_242dc - ld hl, wcfaa +.d_left + ld hl, wMenuCursorX ld a, [hl] dec a - jr z, .asm_242e6 + jr z, .check_wrap_around_left ld [hl], a xor a ret -.asm_242e6 - ld a, [wcfa5] +.check_wrap_around_left + ld a, [w2DMenuFlags1] bit 4, a - jr nz, .asm_242f4 + jr nz, .wrap_around_left bit 1, a - jp nz, .asm_24299 + jp nz, .set_bit_7 xor a ret -.asm_242f4 - ld a, [wcfa4] +.wrap_around_left + ld a, [w2DMenuNumCols] ld [hl], a xor a ret -.asm_242fa - ld hl, wcfaa - ld a, [wcfa4] +.d_right + ld hl, wMenuCursorX + ld a, [w2DMenuNumCols] cp [hl] - jr z, .asm_24306 + jr z, .check_wrap_around_right inc [hl] xor a ret -.asm_24306 - ld a, [wcfa5] +.check_wrap_around_right + ld a, [w2DMenuFlags1] bit 4, a - jr nz, .asm_24314 + jr nz, .wrap_around_right bit 0, a - jp nz, .asm_24299 + jp nz, .set_bit_7 xor a ret -.asm_24314 +.wrap_around_right ld [hl], $1 xor a ret ; 24318 -Function24318: ; 24318 +.a_b_start_select: ; 24318 xor a ret ; 2431a -Function2431a: ; 2431a - ld hl, wcfac +Move2DMenuCursor: ; 2431a + ld hl, wCursorCurrentTile ld a, [hli] ld h, [hl] ld l, a ld a, [hl] - cp $ed - jr nz, Function24329 - ld a, [wcfab] + cp "▶" + jr nz, Place2DMenuCursor + ld a, [wCursorOffCharacter] ld [hl], a - -Function24329: ; 24329 - ld a, [wcfa1] +Place2DMenuCursor: ; 24329 + ld a, [w2DMenuCursorInitY] ld b, a - ld a, [wcfa2] + ld a, [w2DMenuCursorInitX] ld c, a call Coord2Tile - ld a, [wcfa7] + ld a, [w2DMenuFlags3] swap a and $f ld c, a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld b, a xor a dec b - jr z, .asm_24348 -.asm_24344 + jr z, .got_row +.row_loop add c dec b - jr nz, .asm_24344 + jr nz, .row_loop -.asm_24348 - ld c, $14 +.got_row + ld c, SCREEN_WIDTH call AddNTimes - ld a, [wcfa7] + ld a, [w2DMenuFlags3] and $f ld c, a - ld a, [wcfaa] + ld a, [wMenuCursorX] ld b, a xor a dec b - jr z, .asm_2435f -.asm_2435b + jr z, .got_col +.col_loop add c dec b - jr nz, .asm_2435b + jr nz, .col_loop -.asm_2435f +.got_col ld c, a add hl, bc ld a, [hl] - cp $ed - jr z, .asm_2436b - ld [wcfab], a - ld [hl], $ed + cp "▶" + jr z, .cursor_on + ld [wCursorOffCharacter], a + ld [hl], "▶" -.asm_2436b +.cursor_on ld a, l - ld [wcfac], a + ld [wCursorCurrentTile], a ld a, h - ld [wcfad], a + ld [wCursorCurrentTile + 1], a ret ; 24374 + +_BackUpTiles:: ; 24374 +; Push the window + ld a, [rSVBK] + push af + ld a, $7 + ld [rSVBK], a + + ld hl, wWindowStackPointer + ld e, [hl] + inc hl + ld d, [hl] + push de + + ld b, $10 + ld hl, wMenuFlags +.loop + ld a, [hli] + ld [de], a + dec de + dec b + jr nz, .loop + +; If bit 6 or 7 of the menu flags is set, set bit 0 of the address +; at 7:[wWindowStackPointer], and draw the menu using the coordinates from the header. +; Otherwise, reset bit 0 of 7:[wWindowStackPointer]. + ld a, [wMenuFlags] + bit 6, a + jr nz, .bit_6 + bit 7, a + jr z, .not_bit_7 + +.bit_6 + ld hl, wWindowStackPointer + ld a, [hli] + ld h, [hl] + ld l, a + set 0, [hl] + call MenuBoxCoord2Tile + call .copy + call MenuBoxCoord2Attr + call .copy + jr .done + +.not_bit_7 + pop hl ; last-pushed register was de + push hl + ld a, [hld] + ld l, [hl] + ld h, a + res 0, [hl] + +.done + pop hl + call .ret ; empty function + ld a, h + ld [de], a + dec de + ld a, l + ld [de], a + dec de + ld hl, wWindowStackPointer + ld [hl], e + inc hl + ld [hl], d + + pop af + ld [rSVBK], a + ld hl, wWindowStackSize + inc [hl] + ret +; 243cd + +.copy: ; 243cd + call GetMenuBoxDims + inc b + inc c + call .ret ; empty function + +.row + push bc + push hl + +.col + ld a, [hli] + ld [de], a + dec de + dec c + jr nz, .col + + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, .row + + ret +; 243e7 + +.ret: ; 243e7 + ret +; 243e8 + +_ExitMenu:: ; 243e8 + xor a + ld [hBGMapMode], a + + ld a, [rSVBK] + push af + ld a, $7 + ld [rSVBK], a + + call GetWindowStackTop + ld a, l + or h + jp z, Error_Cant_ExitMenu + ld a, l + ld [wWindowStackPointer], a + ld a, h + ld [wWindowStackPointer + 1], a + call PopWindow + ld a, [wMenuFlags] + bit 0, a + jr z, .next + ld d, h + ld e, l + call RestoreTileBackup + +.next + call GetWindowStackTop + ld a, h + or l + jr z, .done + call PopWindow + +.done + pop af + ld [rSVBK], a + ld hl, wWindowStackSize + dec [hl] + ret +; 24423 + +Function24423: ; 24423 + ld a, [VramState] + bit 0, a + ret z + xor a + call GetSRAMBank + hlcoord 0, 0 + ld de, sScratch + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call CopyBytes + call CloseSRAM + call OverworldTextModeSwitch + xor a + call GetSRAMBank + ld hl, sScratch + decoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT +.asm_2444c + ld a, [hl] + cp $61 + jr c, .asm_24452 + ld [de], a + +.asm_24452 + inc hl + inc de + dec bc + ld a, c + or b + jr nz, .asm_2444c + call CloseSRAM + ret +; 2445d + +Error_Cant_ExitMenu: ; 2445d + ld hl, .Text_NoWindowsAvailableForPopping + call PrintText + call WaitBGMap +.InfiniteLoop + jr .InfiniteLoop +; 24468 + +.Text_NoWindowsAvailableForPopping: ; 24468 + text_jump UnknownText_0x1c46b7 + db "@" +; 2446d + +_InitVerticalMenuCursor:: ; 2446d + ld a, [wMenuData2Flags] + ld b, a + ld hl, w2DMenuCursorInitY + ld a, [wMenuBorderTopCoord] + inc a + bit 6, b + jr nz, .skip_offset + inc a +.skip_offset + ld [hli], a +; w2DMenuCursorInitX + ld a, [wMenuBorderLeftCoord] + inc a + ld [hli], a +; w2DMenuNumRows + ld a, [wMenuData2Items] + ld [hli], a +; w2DMenuNumCols + ld a, 1 + ld [hli], a +; w2DMenuFlags1 + ld [hl], $0 + bit 5, b + jr z, .skip_bit_5 + set 5, [hl] +.skip_bit_5 + ld a, [wMenuFlags] + bit 4, a + jr z, .skip_bit_6 + set 6, [hl] +.skip_bit_6 + inc hl +; w2DMenuFlags2 + xor a + ld [hli], a +; w2DMenuFlags3 + ld a, %00100000 + ld [hli], a +; w2DMenuFlags4 + ld a, %001 + bit 0, b + jr nz, .skip_bit_1 + add %010 +.skip_bit_1 + ld [hli], a +; wMenuCursorY + ld a, [wMenuCursorBuffer] + and a + jr z, .load_at_the_top + ld c, a + ld a, [wMenuData2Items] + cp c + jr nc, .load_position +.load_at_the_top + ld c, 1 +.load_position + ld [hl], c + inc hl +; wMenuCursorX + ld a, 1 + ld [hli], a +; wCursorOffCharacter, wCursorCurrentTile + xor a +rept 3 + ld [hli], a +endr + ret +; 244c3 diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm index ebab47750..883dbdc96 100755 --- a/engine/mon_icons.asm +++ b/engine/mon_icons.asm @@ -363,7 +363,7 @@ GetGFXUnlessMobile: ; 8ea3f FreezeMonIcons: ; 8ea4a ld hl, wSpriteAnimationStructs ld e, PARTY_LENGTH - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld d, a .loop ld a, [hl] diff --git a/engine/mon_menu.asm b/engine/mon_menu.asm index 4c9fb2b89..b58b2e2bc 100755 --- a/engine/mon_menu.asm +++ b/engine/mon_menu.asm @@ -85,10 +85,10 @@ MonMenuLoop: ; 24d59 ld [wMenuData2Flags], a ld a, [Buffer1] ; items ld [wMenuData2Items], a - call Function1c10 + call InitVerticalMenuCursor ld hl, wcfa5 set 6, [hl] - call Function1bc9 + call StaticMenuJoypad ld de, SFX_READ_TEXT_2 call PlaySFX ld a, [hJoyPressed] @@ -103,7 +103,7 @@ MonMenuLoop: ; 24d59 ret .select - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld c, a ld b, 0 @@ -301,16 +301,16 @@ BattleMonMenu: ; 24e99 ld [hBGMapMode], a call MenuBox call UpdateSprites - call Function1c89 + call PlaceVerticalMenuItems call WaitBGMap call CopyMenuData2 ld a, [wMenuData2Flags] bit 7, a jr z, .set_carry - call Function1c10 + call InitVerticalMenuCursor ld hl, wcfa5 set 6, [hl] - call Function1bc9 + call StaticMenuJoypad ld de, SFX_READ_TEXT_2 call PlaySFX ld a, [hJoyPressed] diff --git a/engine/pack.asm b/engine/pack.asm index efcead9de..33d44a745 100644 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -72,7 +72,7 @@ Pack: ; 10000 call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wItemsPocketScrollPosition], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wItemsPocketCursor], a ld b, $7 ld c, $3 @@ -100,7 +100,7 @@ Pack: ; 10000 call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wKeyItemsPocketScrollPosition], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wKeyItemsPocketCursor], a ld b, $3 ld c, $7 @@ -140,11 +140,11 @@ Pack: ; 10000 .load_jump push de call LoadMenuDataHeader - call InterpretMenu2 + call VerticalMenu call ExitMenu pop hl ret c - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a call Pack_GetJumptablePointer jp [hl] @@ -233,7 +233,7 @@ Pack: ; 10000 call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wBallsPocketScrollPosition], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wBallsPocketCursor], a ld b, $1 ld c, $5 @@ -302,11 +302,11 @@ Pack: ; 10000 .build_menu push de call LoadMenuDataHeader - call InterpretMenu2 + call VerticalMenu call ExitMenu pop hl ret c - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a call Pack_GetJumptablePointer jp [hl] @@ -737,7 +737,7 @@ BattlePack: ; 10493 call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wItemsPocketScrollPosition], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wItemsPocketCursor], a ld b, $7 ld c, $3 @@ -765,7 +765,7 @@ BattlePack: ; 10493 call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wKeyItemsPocketScrollPosition], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wKeyItemsPocketCursor], a ld b, $3 ld c, $7 @@ -816,7 +816,7 @@ BattlePack: ; 10493 call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wBallsPocketScrollPosition], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wBallsPocketCursor], a ld b, $1 ld c, $5 @@ -841,11 +841,11 @@ TMHMSubmenu: ; 105dc (4:45dc) .proceed push de call LoadMenuDataHeader - call InterpretMenu2 + call VerticalMenu call ExitMenu pop hl ret c - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a call Pack_GetJumptablePointer jp [hl] @@ -1021,7 +1021,7 @@ DepositSellPack: ; 106be call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wItemsPocketScrollPosition], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wItemsPocketCursor], a ret @@ -1037,7 +1037,7 @@ DepositSellPack: ; 106be call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wKeyItemsPocketScrollPosition], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wKeyItemsPocketCursor], a ret @@ -1062,7 +1062,7 @@ DepositSellPack: ; 106be call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wBallsPocketScrollPosition], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wBallsPocketCursor], a ret diff --git a/engine/party_menu.asm b/engine/party_menu.asm index 5d28eb949..4aa71ecf7 100644 --- a/engine/party_menu.asm +++ b/engine/party_menu.asm @@ -696,7 +696,7 @@ InitPartyMenuWithCancel: ; 50405 ld a, $1 .done - ld [MenuSelection2], a + ld [wMenuCursorY], a ld a, A_BUTTON | B_BUTTON ld [wcfa8], a ret @@ -718,7 +718,7 @@ InitPartyMenuNoCancel: ; 0x5042d .skip ld a, $1 .done - ld [MenuSelection2], a + ld [wMenuCursorY], a ld a, A_BUTTON | B_BUTTON ld [wcfa8], a ret @@ -738,12 +738,12 @@ PartyMenuAttributes: ; 5044f PartyMenuSelect: ; 0x50457 ; sets carry if exitted menu. - call Function1bc9 + call StaticMenuJoypad call Function1bee ld a, [PartyCount] inc a ld b, a - ld a, [MenuSelection2] ; menu selection? + ld a, [wMenuCursorY] ; menu selection? cp b jr z, .exitmenu ; CANCEL ld [wPartyMenuCursor], a @@ -751,7 +751,7 @@ PartyMenuSelect: ; 0x50457 ld b, a bit 1, b jr nz, .exitmenu ; B button? - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld [CurPartyMon], a ld c, a diff --git a/engine/pokecenter_pc.asm b/engine/pokecenter_pc.asm index 75f1daeec..8f18e8814 100755 --- a/engine/pokecenter_pc.asm +++ b/engine/pokecenter_pc.asm @@ -594,14 +594,14 @@ Function15985: ; 0x15985 call HandleScrollingMenu ld a, [wMenuScrollPosition] ld [wd0dd], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wd0d7], a pop af ld [wSpriteUpdatesEnabled], a ld a, [wd0e3] and a jr nz, .asm_159d8 - ld a, [wcf73] + ld a, [wMenuJoypad] cp $2 jr z, .asm_15a06 cp $1 @@ -611,7 +611,7 @@ Function15985: ; 0x15985 jr .asm_159f8 .asm_159d8 - ld a, [wcf73] + ld a, [wMenuJoypad] cp $2 jr z, .asm_159e9 cp $1 diff --git a/engine/printer.asm b/engine/printer.asm index 5db2f9ff2..53eefc1aa 100755 --- a/engine/printer.asm +++ b/engine/printer.asm @@ -20,7 +20,7 @@ Function84022: ; 84022 ld a, [wJumptableIndex] ld e, a ld d, 0 - ld hl, Jumptable_84031 + ld hl, .Jumptable rept 2 add hl, de endr @@ -31,27 +31,28 @@ endr ; 84031 -Jumptable_84031: ; 84031 (21:4031) - dw Function84077 - dw Function84143 - dw Function84120 - dw Function84099 - dw Function84180 - dw Function8412e - dw Function840c5 - dw Function84180 - dw Function84120 - dw Function840de - dw Function84180 - dw Function84120 - dw Function841a1 - dw Function84063 - dw Function8406d - dw Function84120 - dw Function84103 - dw Function84071 - dw Function841b0 - dw Function841b3 +.Jumptable: ; 84031 (21:4031) + jumptable_start + jumptable Function84077 + jumptable Function84143 + jumptable Function84120 + jumptable Function84099 + jumptable Function84180 + jumptable Function8412e + jumptable Function840c5 + jumptable Function84180 + jumptable Function84120 + jumptable Function840de + jumptable Function84180 + jumptable Function84120 + jumptable Function841a1 + jumptable Function84063 + jumptable Function8406d + jumptable Function84120 + jumptable Function84103 + jumptable Function84071 + jumptable Function841b0 + jumptable Function841b3 Function84059: ; 84059 (21:4059) @@ -427,12 +428,12 @@ Unknown_842d5: db 15, 0, $00, 0, 15, 0 ; unused ; 842db -Function842db:: ; 842db +_PrinterReceive:: ; 842db ld a, [wc2d5] add a ld e, a ld d, 0 - ld hl, Jumptable_842ea + ld hl, .Jumptable add hl, de ld a, [hli] ld h, [hl] @@ -441,39 +442,40 @@ Function842db:: ; 842db ; 842ea -Jumptable_842ea: ; 842ea (21:42ea) - dw Function8432f - dw Function84330 - dw Function84339 - dw Function84343 - dw Function8434d - dw Function84357 - dw Function84361 - dw Function8438b - dw Function84395 - dw Function8439f - dw Function843a8 - dw Function843b6 - dw Function84330 - dw Function843c0 - dw Function843c9 - dw Function843c9 - dw Function843c9 - dw Function843c0 - dw Function843c9 - dw Function8439f - dw Function843a8 - dw Function843e6 - dw Function84330 - dw Function843d2 - dw Function843c9 - dw Function843c9 - dw Function843c9 - dw Function843d2 - dw Function843c9 - dw Function8439f - dw Function843a8 - dw Function843b6 +.Jumptable: ; 842ea (21:42ea) + jumptable_start + jumptable Function8432f + jumptable Function84330 + jumptable Function84339 + jumptable Function84343 + jumptable Function8434d + jumptable Function84357 + jumptable Function84361 + jumptable Function8438b + jumptable Function84395 + jumptable Function8439f + jumptable Function843a8 + jumptable Function843b6 + jumptable Function84330 + jumptable Function843c0 + jumptable Function843c9 + jumptable Function843c9 + jumptable Function843c9 + jumptable Function843c0 + jumptable Function843c9 + jumptable Function8439f + jumptable Function843a8 + jumptable Function843e6 + jumptable Function84330 + jumptable Function843d2 + jumptable Function843c9 + jumptable Function843c9 + jumptable Function843c9 + jumptable Function843d2 + jumptable Function843c9 + jumptable Function8439f + jumptable Function843a8 + jumptable Function843b6 Function8432a: ; 8432a (21:432a) diff --git a/engine/rtc.asm b/engine/rtc.asm new file mode 100755 index 000000000..0007e8225 --- /dev/null +++ b/engine/rtc.asm @@ -0,0 +1,210 @@ +StopRTC: ; Unreferenced??? + ld a, SRAM_ENABLE + ld [MBC3SRamEnable], a + call LatchClock + ld a, RTC_DH + ld [MBC3SRamBank], a + ld a, [MBC3RTC] + set 6, a ; halt + ld [MBC3RTC], a + call CloseSRAM + ret +; 14019 + +StartRTC: ; 14019 + ld a, SRAM_ENABLE + ld [MBC3SRamEnable], a + call LatchClock + ld a, RTC_DH + ld [MBC3SRamBank], a + ld a, [MBC3RTC] + res 6, a ; halt + ld [MBC3RTC], a + call CloseSRAM + ret +; 14032 + +GetTimeOfDay:: ; 14032 +; get time of day based on the current hour + ld a, [hHours] ; hour + ld hl, TimesOfDay + +.check +; if we're within the given time period, +; get the corresponding time of day + cp [hl] + jr c, .match +; else, get the next entry +rept 2 + inc hl +endr +; try again + jr .check + +.match +; get time of day + inc hl + ld a, [hl] + ld [TimeOfDay], a + ret +; 14044 + +TimesOfDay: ; 14044 +; hours for the time of day +; 04-09 morn | 10-17 day | 18-03 nite + db 04, NITE + db 10, MORN + db 18, DAY + db 24, NITE + db -1, MORN +; 1404e + +Unknown_1404e: ; Unreferenced + db 20, 2 + db 40, 0 + db 60, 1 + db -1, 0 +; 14056 + +StageRTCTimeForSave: ; 14056 + call UpdateTime + ld hl, wRTC + ld a, [CurDay] + ld [hli], a + ld a, [hHours] + ld [hli], a + ld a, [hMinutes] + ld [hli], a + ld a, [hSeconds] + ld [hli], a + ret +; 1406a + +SaveRTC: ; 1406a + ld a, $a + ld [MBC3SRamEnable], a + call LatchClock + ld hl, MBC3RTC + ld a, $c + ld [MBC3SRamBank], a + res 7, [hl] + ld a, BANK(sRTCStatusFlags) + ld [MBC3SRamBank], a + xor a + ld [sRTCStatusFlags], a + call CloseSRAM + ret +; 14089 + +StartClock:: ; 14089 + call GetClock + call Function1409b + call FixDays + jr nc, .skip_set + ; bit 5: Day count exceeds 139 + ; bit 6: Day count exceeds 255 + call RecordRTCStatus ; set flag on sRTCStatusFlags + +.skip_set + call StartRTC + ret +; 1409b + +Function1409b: ; 1409b + ld hl, hRTCDayHi + bit 7, [hl] + jr nz, .set_bit_7 + bit 6, [hl] + jr nz, .set_bit_7 + xor a + ret + +.set_bit_7 + ; Day count exceeds 16383 + ld a, %10000000 + call RecordRTCStatus ; set bit 7 on sRTCStatusFlags + ret +; 140ae + +Function140ae: ; 140ae + call CheckRTCStatus + ld c, a + and %11000000 ; Day count exceeded 255 or 16383 + jr nz, .time_overflow + + ld a, c + and %00100000 ; Day count exceeded 139 + jr z, .dont_update + + call UpdateTime + ld a, [wRTC + 0] + ld b, a + ld a, [CurDay] + cp b + jr c, .dont_update + +.time_overflow + callba ClearDailyTimers + callba Function170923 +; mobile + ld a, $5 + call GetSRAMBank + ld a, [$aa8c] + inc a + ld [$aa8c], a + ld a, [$b2fa] + inc a + ld [$b2fa], a + call CloseSRAM + ret + +.dont_update + xor a + ret +; 140ed + +Function140ed:: ; 140ed + call GetClock + call FixDays + ld hl, hRTCSeconds + ld de, StartSecond + + ld a, [StringBuffer2 + 3] + sub [hl] + dec hl + jr nc, .okay_secs + add 60 +.okay_secs + ld [de], a + dec de + + ld a, [StringBuffer2 + 2] + sbc [hl] + dec hl + jr nc, .okay_mins + add 60 +.okay_mins + ld [de], a + dec de + + ld a, [StringBuffer2 + 1] + sbc [hl] + dec hl + jr nc, .okay_hrs + add 24 +.okay_hrs + ld [de], a + dec de + + ld a, [StringBuffer2] + sbc [hl] + dec hl + jr nc, .okay_days + add 140 + ld c, 7 + call SimpleDivide + +.okay_days + ld [de], a + ret +; 1412a diff --git a/engine/save.asm b/engine/save.asm index 9fcba708a..65faabb7a 100644 --- a/engine/save.asm +++ b/engine/save.asm @@ -213,7 +213,7 @@ SaveTheGame_yesorno: ; 14baf call LoadMenuTextBox lb bc, 0, 7 call PlaceYesNoBox - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a call WriteBackup push af diff --git a/engine/scripting.asm b/engine/scripting.asm index d85cabe05..83d4e8a04 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -160,8 +160,8 @@ ENDC dw Script_buttonsound ; 55 dw Script_pokepic ; 56 dw Script_closepokepic ; 57 - dw Script_interpretmenu ; 58 - dw Script_interpretmenu2 ; 59 + dw Script__2dmenu ; 58 + dw Script_verticalmenu ; 59 dw Script_loadpikachudata ; 5a dw Script_randomwildmon ; 5b dw Script_loadmemtrainer ; 5c @@ -510,13 +510,13 @@ Script_closepokepic: ; 96f29 ret ; 96f30 -Script_interpretmenu2: ; 96f30 +Script_verticalmenu: ; 96f30 ; script command 0x59 ld a, [ScriptBank] - ld hl, InterpretMenu2 + ld hl, VerticalMenu rst FarCall - ld a, [MenuSelection2] + ld a, [wMenuCursorY] jr nc, .ok xor a .ok @@ -524,11 +524,11 @@ Script_interpretmenu2: ; 96f30 ret ; 96f41 -Script_interpretmenu: ; 96f41 +Script__2dmenu: ; 96f41 ; script command 0x58 ld a, [ScriptBank] - ld hl, InterpretMenu + ld hl, _2DMenu rst FarCall ld a, [wMenuCursorBuffer] jr nc, .ok diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index b5fceb0b6..91d8b3035 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -1714,10 +1714,10 @@ Slots_AskBet: ; 9307c (24:707c) call PrintText ld hl, .MenuDataHeader call LoadMenuDataHeader - call InterpretMenu2 + call VerticalMenu call WriteBackup ret c - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld b, a ld a, 4 sub b @@ -1803,7 +1803,7 @@ Slots_AskPlayAgain: ; 930e9 (24:70e9) call LoadMenuTextBox lb bc, 14, 12 call PlaceYesNoBox - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a call WriteBackup and a diff --git a/engine/sprite_anims.asm b/engine/sprite_anims.asm index 54af5db37..79faa7606 100755 --- a/engine/sprite_anims.asm +++ b/engine/sprite_anims.asm @@ -57,7 +57,7 @@ endr ret .one: ; 8d2a2 (23:52a2) - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld hl, SPRITEANIMSTRUCT_INDEX add hl, bc @@ -116,7 +116,7 @@ endr ret .three: ; 8d2ea (23:52ea) - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld hl, SPRITEANIMSTRUCT_INDEX add hl, bc diff --git a/engine/startmenu.asm b/engine/startmenu.asm index b9f5462d7..546aff1d9 100755 --- a/engine/startmenu.asm +++ b/engine/startmenu.asm @@ -93,7 +93,7 @@ endr .loop call .PrintMenuAccount call Function1f1a - ld a, [wcf73] + ld a, [wMenuJoypad] cp B_BUTTON jr z, .b cp A_BUTTON @@ -799,7 +799,7 @@ GiveTakePartyMonItem: ; 12b60 ld hl, GiveTakeItemMenuData call LoadMenuDataHeader - call InterpretMenu2 + call VerticalMenu call ExitMenu jr c, .cancel @@ -808,7 +808,7 @@ GiveTakePartyMonItem: ; 12b60 ld de, wd050_MonNick ld bc, PKMN_NAME_LENGTH call CopyBytes - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp 1 jr nz, .take @@ -1109,12 +1109,12 @@ MonMailAction: ; 12d45 ; Show the READ/TAKE/QUIT menu. ld hl, .MenuDataHeader call LoadMenuDataHeader - call InterpretMenu2 + call VerticalMenu call ExitMenu ; Interpret the menu. jp c, .done - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp $1 jr z, .read cp $2 @@ -1483,7 +1483,7 @@ ChooseMoveToDelete: ; 12f5b jr .asm_12f93 .asm_12f86: ; 12f86 - call Function1bd3 + call ScrollingMenuJoypad bit 1, a jp nz, .asm_12f9f bit 0, a @@ -1551,7 +1551,7 @@ MoveScreenLoop: ; 12fd5 jr .skip_joy .joy_loop - call Function1bd3 + call ScrollingMenuJoypad bit 1, a jp nz, .b_button bit 0, a @@ -1589,7 +1589,7 @@ MoveScreenLoop: ; 12fd5 jp z, .exit ld a, [wMoveSwapBuffer] - ld [MenuSelection2], a + ld [wMenuCursorY], a xor a ld [wMoveSwapBuffer], a hlcoord 1, 2 @@ -1669,7 +1669,7 @@ MoveScreenLoop: ; 12fd5 ld a, [wMoveSwapBuffer] and a jr nz, .place_move - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wMoveSwapBuffer], a call Function1bee jp .moving_move @@ -1716,7 +1716,7 @@ MoveScreenLoop: ; 12fd5 .copy_move: ; 1313a push hl - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld c, a ld b, $0 @@ -1834,7 +1834,7 @@ PrepareToPlaceMoveData: ; 13235 ld bc, PARTYMON_STRUCT_LENGTH ld a, [CurPartyMon] call AddNTimes - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld c, a ld b, $0 diff --git a/engine/stats_screen.asm b/engine/stats_screen.asm index 84e1cf9ea..fe5b4664b 100755 --- a/engine/stats_screen.asm +++ b/engine/stats_screen.asm @@ -253,10 +253,10 @@ Function4de2c: ; 4de2c (13:5e2c) pop bc pop de pop hl - ld a, [wcf73] + ld a, [wMenuJoypad] and $c0 jr nz, .set_carry - ld a, [wcf73] + ld a, [wMenuJoypad] jr .clear_flags .notbreedmon diff --git a/engine/std_scripts.asm b/engine/std_scripts.asm index f0fae969b..c7e368c7c 100644 --- a/engine/std_scripts.asm +++ b/engine/std_scripts.asm @@ -1811,7 +1811,7 @@ CoinVendor_IntroScript: ; 0xbcde0 CoinVendor_SellCoinsMenuScript: ; 0xbcde4 special Special_DisplayMoneyAndCoinBalance loadmenudata CoinVendor_MenuDataHeader - interpretmenu2 + verticalmenu writebackup if_equal $1, CoinVendor_Buy50CoinsScript if_equal $2, CoinVendor_Buy500CoinsScript diff --git a/engine/tile_events.asm b/engine/tile_events.asm new file mode 100755 index 000000000..8a6f2bc66 --- /dev/null +++ b/engine/tile_events.asm @@ -0,0 +1,110 @@ +CheckWarpCollision:: ; 1499a +; Is this tile a warp? + ld a, [PlayerNextTile] + cp $60 + jr z, .warp + cp $68 + jr z, .warp + and $f0 + cp $70 + jr z, .warp + and a + ret + +.warp + scf + ret +; 149af + +CheckDirectionalWarp:: ; 149af +; If this is a directional warp, clear carry (press the designated button to warp). +; Else, set carry (immediate warp). + ld a, [PlayerNextTile] + cp $70 ; Warp on down + jr z, .not_warp + cp $76 ; Warp on left + jr z, .not_warp + cp $78 ; Warp on up + jr z, .not_warp + cp $7e ; Warp on right + jr z, .not_warp + scf + ret + +.not_warp + xor a + ret +; 149c6 + +CheckWarpFacingDown: ; 149c6 + ld de, 1 + ld hl, .blocks + ld a, [PlayerNextTile] + call IsInArray + ret +; 149d3 + +.blocks: ; 149d3 + db $71 ; door + db $79 + db $7a ; stairs + db $73 + db $7b ; cave entrance + db $74 + db $7c ; warp pad + db $75 + db $7d + db -1 +; 149dd + +CheckGrassCollision:: ; 149dd + ld a, [PlayerNextTile] + ld hl, .blocks + ld de, 1 + call IsInArray + ret +; 149ea + +.blocks: ; 149ea + db $08 + db $18 ; tall grass + db $14 ; tall grass + db $28 + db $29 + db $48 + db $49 + db $4a + db $4b + db $4c + db -1 +; 149f5 + +CheckCutCollision: ; 149f5 + ld a, c + ld hl, .blocks + ld de, 1 + call IsInArray + ret +; 14a00 + +.blocks: ; 14a00 + db $12 ; cut tree + db $1a ; cut tree + db $10 ; tall grass + db $18 ; tall grass + db $14 ; tall grass + db $1c ; tall grass + db -1 +; 14a07 + +Function14a07:: ; 14a07 + ld a, [PlayerNextTile] + ld de, $1f + cp $71 ; door + ret z + ld de, $13 + cp $7c ; warp pad + ret z + ld de, $23 + ret +; 14a1a diff --git a/engine/tmhm2.asm b/engine/tmhm2.asm index d9e05fb8c..9834fba7f 100755 --- a/engine/tmhm2.asm +++ b/engine/tmhm2.asm @@ -220,16 +220,16 @@ TMHM_PocketLoop: ; 2c8d3 (b:48d3) ld [wcfa8], a ld a, [wTMHMPocketCursor] inc a - ld [MenuSelection2], a + ld [wMenuCursorY], a ld a, $1 - ld [wcfaa], a + ld [wMenuCursorX], a jr TMHM_ShowTMMoveDescription TMHM_JoypadLoop: ; 2c915 (b:4915) call TMHM_DisplayPocketItems - call Function1bc9 + call StaticMenuJoypad ld b, a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld [wTMHMPocketCursor], a xor a @@ -268,7 +268,7 @@ TMHM_ShowTMMoveDescription: ; 2c946 (b:4946) TMHM_ChooseTMorHM: ; 2c974 (b:4974) call TMHM_PlaySFX_ReadText2 call CountTMsHMs ; This stores the count to wd265. - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld b, a ld a, [wTMHMPocketScrollPosition] @@ -279,7 +279,7 @@ TMHM_ChooseTMorHM: ; 2c974 (b:4974) jr z, _TMHM_ExitPack ; our cursor was hovering over CANCEL TMHM_CheckHoveringOverCancel: ; 2c98a (b:498a) call TMHM_GetCurrentPocketPosition - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld b, a .loop inc c |