diff options
Diffstat (limited to 'engine/startmenu.asm')
-rwxr-xr-x | engine/startmenu.asm | 218 |
1 files changed, 110 insertions, 108 deletions
diff --git a/engine/startmenu.asm b/engine/startmenu.asm index 1c7768850..a40aa734e 100755 --- a/engine/startmenu.asm +++ b/engine/startmenu.asm @@ -422,7 +422,7 @@ StartMenu_Quit: ; 128f0 ; Retire from the bug catching contest. ld hl, .EndTheContestText - call Function12cf5 + call StartMenuYesNo jr c, .DontEndContest ld a, BANK(BugCatchingContestReturnToGateScript) ld hl, BugCatchingContestReturnToGateScript @@ -444,7 +444,7 @@ StartMenu_Save: ; 1290b ; Save the game. call BufferScreen - callba Function14a1a + callba SaveMenu jr nc, .asm_12919 ld a, 0 ret @@ -468,8 +468,8 @@ StartMenu_Status: ; 12928 ; Player status. call FadeToMenu - callba Function25105 - call Function2b3c + callba TrainerCard + call ReturnToCallingMenu ld a, 0 ret ; 12937 @@ -483,7 +483,7 @@ StartMenu_Pokedex: ; 12937 call FadeToMenu callba Pokedex - call Function2b3c + call ReturnToCallingMenu .asm_12949 ld a, 0 @@ -494,8 +494,8 @@ StartMenu_Pokedex: ; 12937 StartMenu_Pokegear: ; 1294c call FadeToMenu - callba Function90b8d - call Function2b3c + callba PokeGear + call ReturnToCallingMenu ld a, 0 ret ; 1295b @@ -507,12 +507,13 @@ StartMenu_Pack: ; 1295b callba Pack ld a, [wcf66] and a - jr nz, .asm_12970 - call Function2b3c + jr nz, .used_item + call ReturnToCallingMenu ld a, 0 ret -.asm_12970 - call Function2b4d + +.used_item + call ExitAllMenus ld a, 4 ret ; 12976 @@ -532,9 +533,9 @@ StartMenu_Pokemon: ; 12976 call ClearBGPalettes .menu - callba Function5004f - callba Function50405 - callba Function503e0 + callba LoadPartyMenuGFX + callba InitPartyMenuWithCancel + callba InitPartyMenuGFX .menunoreload callba WritePartyMenuTilemap @@ -556,19 +557,19 @@ StartMenu_Pokemon: ; 12976 jr z, .quit .return - call Function2b3c + call ReturnToCallingMenu ld a, 0 ret .quit ld a, b push af - call Function2b4d + call ExitAllMenus pop af ret ; 129d5 -Function129d5: ; 129d5 +HasNoItems: ; 129d5 ld a, [NumItems] and a ret nz @@ -580,15 +581,15 @@ Function129d5: ; 129d5 ret nz ld hl, TMsHMs ld b, NUM_TMS + NUM_HMS -.asm_129e9 +.loop ld a, [hli] and a - jr nz, .asm_129f2 + jr nz, .done dec b - jr nz, .asm_129e9 + jr nz, .loop scf ret -.asm_129f2 +.done and a ret @@ -663,7 +664,7 @@ UnknownText_0x12a5b: ; 0x12a5b CantUseItem: ; 12a60 ld hl, CantUseItemText - call Function2012 + call MenuTextBoxWaitButton ret ; 12a67 @@ -683,7 +684,7 @@ PartyMonItemName: ; 12a6c CancelPokemonAction: ; 12a79 - callba Function50405 + callba InitPartyMenuWithCancel callba Function8ea71 ld a, 1 ret @@ -745,10 +746,10 @@ SwitchPartyMons: ; 12aec ld a, [CurPartyMon] inc a - ld [wd0e3], a + ld [wSwitchMon], a callba Function8ea8c - callba Function5042d + callba InitPartyMenuNoCancel ld a, 4 ld [PartyMenuActionText], a @@ -757,7 +758,7 @@ SwitchPartyMons: ; 12aec hlcoord 0, 1 ld bc, 20 * 2 - ld a, [wd0e3] + ld a, [wSwitchMon] dec a call AddNTimes ld [hl], "▷" @@ -774,9 +775,9 @@ SwitchPartyMons: ; 12aec xor a ld [PartyMenuActionText], a - callba Function5004f - callba Function50405 - callba Function503e0 + callba LoadPartyMenuGFX + callba InitPartyMenuWithCancel + callba InitPartyMenuGFX ld a, 1 ret @@ -882,7 +883,7 @@ Function12bd9: ; 12bd9 jr .asm_12c08 .asm_12bf4 - call Function12cea + call GiveItemToPokemon ld hl, MadeHoldText call MenuTextBoxBackup call GivePartyItem @@ -897,17 +898,17 @@ Function12bd9: ; 12bd9 ld [wd265], a call GetItemName ld hl, SwitchAlreadyHoldingText - call Function12cf5 + call StartMenuYesNo jr c, .asm_12c4b - call Function12cea + call GiveItemToPokemon ld a, [wd265] push af ld a, [CurItem] ld [wd265], a pop af ld [CurItem], a - call Function12cdf + call ReceiveItemFromPokemon jr nc, .asm_12c3c ld hl, TookAndMadeHoldText @@ -920,7 +921,7 @@ Function12bd9: ; 12bd9 .asm_12c3c ld a, [wd265] ld [CurItem], a - call Function12cdf + call ReceiveItemFromPokemon ld hl, ItemStorageIsFullText call MenuTextBoxBackup @@ -936,10 +937,10 @@ GivePartyItem: ; 12c4c ld [hl], a ld d, a callba ItemIsMail - jr nc, .asm_12c5f - call Function12cfe + jr nc, .done + call ComposeMailMessage -.asm_12c5f +.done ret ; 12c60 @@ -953,7 +954,7 @@ TakePartyItem: ; 12c60 jr z, .asm_12c8c ld [CurItem], a - call Function12cdf + call ReceiveItemFromPokemon jr nc, .asm_12c94 callba ItemIsMail @@ -1045,7 +1046,7 @@ GetPartyItemLocation: ; 12cd7 ; 12cdf -Function12cdf: ; 12cdf +ReceiveItemFromPokemon: ; 12cdf ld a, $1 ld [wItemQuantityChangeBuffer], a ld hl, NumItems @@ -1053,28 +1054,28 @@ Function12cdf: ; 12cdf ; 12cea -Function12cea: ; 12cea (4:6cea) +GiveItemToPokemon: ; 12cea (4:6cea) ld a, $1 ld [wItemQuantityChangeBuffer], a ld hl, NumItems jp TossItem -Function12cf5: ; 12cf5 +StartMenuYesNo: ; 12cf5 call MenuTextBox call YesNoBox jp ExitMenu ; 12cfe -Function12cfe: ; 12cfe (4:6cfe) - ld de, wd002 - callba Function11e75 +ComposeMailMessage: ; 12cfe (4:6cfe) + ld de, wTempMailMessage + callba _ComposeMailMessage ld hl, PlayerName - ld de, wd023 - ld bc, $a + ld de, wTempMailAuthor + ld bc, NAME_LENGTH - 1 call CopyBytes ld hl, PlayerID - ld bc, $2 + ld bc, 2 call CopyBytes ld a, [CurPartySpecies] ld [de], a @@ -1082,14 +1083,14 @@ Function12cfe: ; 12cfe (4:6cfe) ld a, [CurItem] ld [de], a ld a, [CurPartyMon] - ld hl, sPartyScratch1 - ld bc, SCRATCHMON_STRUCT_LENGTH + ld hl, sPartyMail + ld bc, MAIL_STRUCT_LENGTH call AddNTimes ld d, h ld e, l - ld hl, wd002 - ld bc, SCRATCHMON_STRUCT_LENGTH - ld a, BANK(sPartyScratch1) + ld hl, wTempMail + ld bc, MAIL_STRUCT_LENGTH + ld a, BANK(sPartyMail) call GetSRAMBank call CopyBytes call CloseSRAM @@ -1127,11 +1128,11 @@ MonMailAction: ; 12d45 .take ld hl, .sendmailtopctext - call Function12cf5 + call StartMenuYesNo jr c, .RemoveMailToBag ld a, [CurPartyMon] ld b, a - callba Function4456e + callba SendMailToPC jr c, .MailboxFull ld hl, .sentmailtopctext call MenuTextBoxBackup @@ -1144,12 +1145,12 @@ MonMailAction: ; 12d45 .RemoveMailToBag ld hl, .mailwilllosemessagetext - call Function12cf5 + call StartMenuYesNo jr c, .done call GetPartyItemLocation ld a, [hl] ld [CurItem], a - call Function12cdf + call ReceiveItemFromPokemon jr nc, .BagIsFull call GetPartyItemLocation ld [hl], $0 @@ -1240,14 +1241,14 @@ OpenPartyStats: ; 12e00 MonMenu_Cut: ; 12e1b callba CutFunction - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] cp $1 - jr nz, .asm_12e2d + jr nz, .Fail ld b, $4 ld a, $2 ret -.asm_12e2d +.Fail ld a, $3 ret ; 12e30 @@ -1255,160 +1256,161 @@ MonMenu_Cut: ; 12e1b MonMenu_Fly: ; 12e30 callba FlyFunction - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] cp $2 - jr z, .asm_12e4c + jr z, .Fail cp $0 - jr z, .asm_12e4f + jr z, .Error callba MobileFn_1060b5 ld b, $4 ld a, $2 ret -.asm_12e4c +.Fail ld a, $3 ret -.asm_12e4f +.Error ld a, $0 ret -.asm_12e52 +.Unused ld a, $1 ret ; 12e55 MonMenu_Flash: ; 12e55 callba Functionc8ac - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] cp $1 - jr nz, .asm_12e67 + jr nz, .Fail ld b, $4 ld a, $2 ret -.asm_12e67 +.Fail ld a, $3 ret ; 12e6a MonMenu_Strength: ; 12e6a callba StrengthFunction - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] cp $1 - jr nz, .asm_12e7c + jr nz, .Fail ld b, $4 ld a, $2 ret -.asm_12e7c +.Fail ld a, $3 ret ; 12e7f MonMenu_Whirlpool: ; 12e7f callba WhirlpoolFunction - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] cp $1 - jr nz, .asm_12e91 + jr nz, .Fail ld b, $4 ld a, $2 ret -.asm_12e91 +.Fail ld a, $3 ret ; 12e94 MonMenu_Waterfall: ; 12e94 callba Functioncade - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] cp $1 - jr nz, .asm_12ea6 + jr nz, .Fail ld b, $4 ld a, $2 ret -.asm_12ea6 +.Fail ld a, $3 ret ; 12ea9 MonMenu_Teleport: ; 12ea9 callba TeleportFunction - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] and a - jr z, .asm_12eba + jr z, .Fail ld b, $4 ld a, $2 ret -.asm_12eba +.Fail ld a, $3 ret ; 12ebd MonMenu_Surf: ; 12ebd callba SurfFunction - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] and a - jr z, .asm_12ece + jr z, .Fail ld b, $4 ld a, $2 ret -.asm_12ece +.Fail ld a, $3 ret ; 12ed1 MonMenu_Dig: ; 12ed1 callba DigFunction - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] cp $1 - jr nz, .asm_12ee3 + jr nz, .Fail ld b, $4 ld a, $2 ret -.asm_12ee3 +.Fail ld a, $3 ret ; 12ee6 MonMenu_Softboiled_MilkDrink: ; 12ee6 - call Function12f05 - jr nc, .asm_12ef3 - callba Functionf3df - jr .asm_12ef9 + call .CheckMonHasEnoughHP + jr nc, .NotEnoughHP + callba Softboiled_MilkDrinkFunction + jr .finish -.asm_12ef3 - ld hl, UnknownText_0x12f00 +.NotEnoughHP + ld hl, .Text_NotEnoughHP call PrintText -.asm_12ef9 +.finish xor a ld [PartyMenuActionText], a ld a, $3 ret ; 12f00 -UnknownText_0x12f00: ; 0x12f00 +.Text_NotEnoughHP: ; 0x12f00 ; Not enough HP! text_jump UnknownText_0x1c1ce3 db "@" ; 0x12f05 -Function12f05: ; 12f05 +.CheckMonHasEnoughHP: ; 12f05 +; Need to have at least (MaxHP / 5) HP left. ld a, MON_MAXHP call GetPartyParamLocation ld a, [hli] ld [hDividend + 0], a ld a, [hl] ld [hDividend + 1], a - ld a, $5 + ld a, 5 ld [hDivisor], a - ld b, $2 + ld b, 2 call Divide ld a, MON_HP + 1 call GetPartyParamLocation @@ -1422,28 +1424,28 @@ Function12f05: ; 12f05 MonMenu_Headbutt: ; 12f26 callba HeadbuttFunction - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] cp $1 - jr nz, .asm_12f38 + jr nz, .Fail ld b, $4 ld a, $2 ret -.asm_12f38 +.Fail ld a, $3 ret ; 12f3b MonMenu_RockSmash: ; 12f3b callba RockSmashFunction - ld a, [wd0ec] + ld a, [wFieldMoveSucceeded] cp $1 - jr nz, .asm_12f4d + jr nz, .Fail ld b, $4 ld a, $2 ret -.asm_12f4d +.Fail ld a, $3 ret ; 12f50 @@ -1474,7 +1476,7 @@ Function12f5b: ; 12f5b Function12f73: ; 12f73 call SetUpMoveScreenBG ld de, Unknown_12fb2 - call Function1bb1 + call InitMenu3 call Function131ef ld hl, wcfa5 set 6, [hl] @@ -1503,7 +1505,7 @@ Function12f9f: ; 12f9f Function12fa0: ; 12fa0 push af xor a - ld [wd0e3], a + ld [wSwitchMon], a ld hl, wcfa5 res 6, [hl] call ClearSprites @@ -1541,7 +1543,7 @@ MoveScreenLoop: ; 12fd5 call SetUpMoveScreenBG call Function132d3 ld de, Unknown_13163 - call Function1bb1 + call InitMenu3 .loop call Function131ef ld hl, wcfa5 @@ -1759,7 +1761,7 @@ SetUpMoveScreenBG: ; 13172 xor a ld [hBGMapMode], a callba Functionfb571 - callba InefficientlyClear121BytesAtwc300 + callba ClearSpriteAnims ld a, [CurPartyMon] ld e, a ld d, $0 @@ -1793,7 +1795,7 @@ SetUpMoveScreenBG: ; 13172 call PrintLevel ld hl, PlayerHPPal call SetHPPal - ld b, $e + ld b, SCGB_0E call GetSGBLayout hlcoord 16, 0 lb bc, 1, 3 |