diff options
Diffstat (limited to 'engine')
80 files changed, 3858 insertions, 1697 deletions
diff --git a/engine/anim_hp_bar.asm b/engine/anim_hp_bar.asm index c00a97921..c8a543ba1 100755 --- a/engine/anim_hp_bar.asm +++ b/engine/anim_hp_bar.asm @@ -1,46 +1,46 @@ _AnimateHPBar: ; d627 - call Functiond65f - jr c, .do_player - call Functiond670 -.enemy_loop + call .IsMaximumMoreThan48Pixels + jr c, .MoreThan48Pixels + call .ComputePixels +.ShortAnimLoop: push bc push hl - call Functiond6e2 + call ShortAnim_UpdateVariables pop hl pop bc push af push bc push hl - call Functiond730 - call Functiond7c9 + call ShortHPBarAnim_UpdateTiles + call HPBarAnim_BGMapUpdate pop hl pop bc pop af - jr nc, .enemy_loop + jr nc, .ShortAnimLoop ret -.do_player - call Functiond670 -.player_loop +.MoreThan48Pixels: + call .ComputePixels +.LongAnimLoop: push bc push hl - call Functiond6f5 + call LongAnim_UpdateVariables pop hl pop bc ret c push af push bc push hl - call Functiond749 - call Functiond7c9 + call LongHPBarAnim_UpdateTiles + call HPBarAnim_BGMapUpdate pop hl pop bc pop af - jr nc, .player_loop + jr nc, .LongAnimLoop ret ; d65f -Functiond65f: ; d65f +.IsMaximumMoreThan48Pixels: ; d65f ld a, [Buffer2] and a jr nz, .player @@ -55,7 +55,7 @@ Functiond65f: ; d65f ret ; d670 -Functiond670: ; d670 +.ComputePixels: ; d670 ; Buffer1-2: Max HP ; Buffer3-4: Old HP ; Buffer5-6: New HP @@ -72,7 +72,7 @@ Functiond670: ; d670 pop hl call ComputeHPBarPixels ld a, e - ld [wd1f1], a + ld [wCurHPBarPixels], a ld a, [Buffer5] ld c, a @@ -84,7 +84,7 @@ Functiond670: ; d670 ld d, a call ComputeHPBarPixels ld a, e - ld [wd1f2], a + ld [wNewHPBarPixels], a push hl ld hl, Buffer3 @@ -103,15 +103,15 @@ Functiond670: ; d670 ld a, d sbc b ld d, a - jr c, .asm_d6c1 + jr c, .negative ld a, [Buffer3] ld [wd1f5], a ld a, [Buffer5] ld [wd1f6], a ld bc, 1 - jr .asm_d6d9 + jr .got_direction -.asm_d6c1 +.negative ld a, [Buffer3] ld [wd1f6], a ld a, [Buffer5] @@ -123,8 +123,8 @@ Functiond670: ; d670 ld a, d xor $ff ld d, a - ld bc, rIE -.asm_d6d9 + ld bc, -1 +.got_direction ld a, d ld [wd1f3], a ld a, e @@ -132,25 +132,25 @@ Functiond670: ; d670 ret ; d6e2 -Functiond6e2: ; d6e2 - ld hl, wd1f1 - ld a, [wd1f2] +ShortAnim_UpdateVariables: ; d6e2 + ld hl, wCurHPBarPixels + ld a, [wNewHPBarPixels] cp [hl] - jr nz, .asm_d6ed + jr nz, .not_finished scf ret -.asm_d6ed +.not_finished ld a, c add [hl] ld [hl], a - call Functiond839 + call ShortHPBar_CalcPixelFrame and a ret ; d6f5 -Functiond6f5: ; d6f5 -.asm_d6f5 +LongAnim_UpdateVariables: ; d6f5 +.loop ld hl, Buffer3 ld a, [hli] ld e, a @@ -158,22 +158,22 @@ Functiond6f5: ; d6f5 ld d, a ld a, e cp [hl] - jr nz, .asm_d707 + jr nz, .next inc hl ld a, d cp [hl] - jr nz, .asm_d707 + jr nz, .next scf ret -.asm_d707 +.next ld l, e ld h, d add hl, bc ld a, l ld [Buffer3], a ld a, h - ld [wd1ed], a + ld [Buffer4], a push hl push de push bc @@ -186,40 +186,45 @@ Functiond6f5: ; d6f5 ld c, a ld a, [hli] ld b, a + ; This routine is buggy. The result from ComputeHPBarPixels is stored + ; in e. However, the pop de opcode deletes this result before it is even + ; used. The game then proceeds as though it never deleted that output. + ; To fix, uncomment the line below. call ComputeHPBarPixels + ; ld a, e pop bc pop de pop hl - ld a, e - ld hl, wd1f1 + ld a, e ; Comment or delete this line to fix the above bug. + ld hl, wCurHPBarPixels cp [hl] - jr z, .asm_d6f5 + jr z, .loop ld [hl], a and a ret ; d730 -Functiond730: ; d730 - call Functiond784 +ShortHPBarAnim_UpdateTiles: ; d730 + call HPBarAnim_UpdateHPRemaining ld d, $6 ld a, [wWhichHPBar] and $1 ld b, a - ld a, [wd1f1] + ld a, [wCurHPBarPixels] ld e, a ld c, a push de - call Functiond771 + call HPBarAnim_RedrawHPBar pop de - call Functiond7b4 + call HPBarAnim_PaletteUpdate ret ; d749 -Functiond749: ; d749 - call Functiond784 +LongHPBarAnim_UpdateTiles: ; d749 + call HPBarAnim_UpdateHPRemaining ld a, [Buffer3] ld c, a - ld a, [wd1ed] + ld a, [Buffer4] ld b, a ld a, [Buffer1] ld e, a @@ -232,20 +237,20 @@ Functiond749: ; d749 and $1 ld b, a push de - call Functiond771 + call HPBarAnim_RedrawHPBar pop de - call Functiond7b4 + call HPBarAnim_PaletteUpdate ret ; d771 -Functiond771: ; d771 +HPBarAnim_RedrawHPBar: ; d771 ld a, [wWhichHPBar] cp $2 jr nz, .skip - ld a, $28 + ld a, 2 * SCREEN_WIDTH add l ld l, a - ld a, $0 + ld a, 0 adc h ld h, a .skip @@ -253,17 +258,17 @@ Functiond771: ; d771 ret ; d784 -Functiond784: ; d784 +HPBarAnim_UpdateHPRemaining: ; d784 ld a, [wWhichHPBar] and a ret z cp $1 jr z, .load_15 - ld de, $16 + ld de, SCREEN_WIDTH + 2 jr .loaded_de .load_15 - ld de, $15 + ld de, SCREEN_WIDTH + 1 .loaded_de push hl add hl, de @@ -275,7 +280,7 @@ endr dec hl ld a, [Buffer3] ld [StringBuffer2 + 1], a - ld a, [wd1ed] + ld a, [Buffer4] ld [StringBuffer2], a ld de, StringBuffer2 lb bc, 2, 3 @@ -284,7 +289,7 @@ endr ret ; d7b4 -Functiond7b4: ; d7b4 +HPBarAnim_PaletteUpdate: ; d7b4 ld a, [hCGB] and a ret z @@ -296,7 +301,7 @@ Functiond7b4: ; d7b4 ret ; d7c9 -Functiond7c9: ; d7c9 +HPBarAnim_BGMapUpdate: ; d7c9 ld a, [hCGB] and a jr nz, .cgb @@ -312,13 +317,13 @@ Functiond7c9: ; d7c9 jr z, .load_1 ld a, [CurPartyMon] cp $3 - jr nc, .c_is_1 + jr nc, .bottom_half_of_screen ld c, $0 - jr .c_is_0 + jr .got_third -.c_is_1 +.bottom_half_of_screen ld c, $1 -.c_is_0 +.got_third push af cp $2 jr z, .skip_delay @@ -370,14 +375,14 @@ Functiond7c9: ; d7c9 ret ; d839 -Functiond839: ; d839 +ShortHPBar_CalcPixelFrame: ; d839 ld a, [Buffer1] ld c, a ld b, 0 ld hl, 0 - ld a, [wd1f1] + ld a, [wCurHPBarPixels] cp 6 * 8 - jr nc, .coppy_buffer + jr nc, .return_max and a jr z, .return_zero call AddNTimes @@ -423,7 +428,7 @@ Functiond839: ; d839 ld [Buffer3], a ret -.coppy_buffer +.return_max ld a, [Buffer1] ld [Buffer3], a ret diff --git a/engine/battle_start.asm b/engine/battle_start.asm index 6fb64e9b1..d2ead2757 100644 --- a/engine/battle_start.asm +++ b/engine/battle_start.asm @@ -1,5 +1,5 @@ Predef_StartBattle: ; 8c20f - call Function8c26d + call .InitGFX ld a, [rBGP] ld [wBGP], a ld a, [rOBP0] @@ -52,15 +52,15 @@ Predef_StartBattle: ; 8c20f ret ; 8c26d -Function8c26d: ; 8c26d +.InitGFX: ; 8c26d ld a, [wLinkMode] cp LINK_MOBILE jr z, .mobile callba Function6454 call UpdateSprites call DelayFrame - call Function8c2a0 - call Function8cf4f + call .NonMobile_LoadPokeballTiles + call BattleStart_LoadEDTile jr .resume .mobile @@ -81,7 +81,7 @@ Function8c26d: ; 8c26d ret ; 8c2a0 -Function8c2a0: ; 8c2a0 +.NonMobile_LoadPokeballTiles: ; 8c2a0 call LoadTrainerBattlePokeballTiles hlbgcoord 0, 0 call Function8c2cf @@ -148,7 +148,7 @@ FlashyTransitionToBattle: ; 8c314 jumptable .dw, wJumptableIndex ; 8c323 -.dw: ; 8c323 (23:4323) +.dw ; 8c323 (23:4323) dw StartTrainerBattle_DetermineWhichAnimation ; 00 ; Animation 1: cave @@ -279,7 +279,7 @@ StartTrainerBattle_Flash: ; 8c3ab (23:43ab) ret ; 8c3db (23:43db) -.pals: ; 8c3db +.pals ; 8c3db db %11111001 ; 3321 db %11111110 ; 3332 db %11111111 ; 3333 @@ -411,7 +411,7 @@ endr ret ; 8c490 (23:4490) -.spintable: ; 8c490 +.spintable ; 8c490 spintable_entry UPPER_LEFT, 1, 1, 6 spintable_entry UPPER_LEFT, 2, 0, 3 spintable_entry UPPER_LEFT, 3, 1, 0 @@ -435,7 +435,7 @@ endr db -1 ; 8c4f5 -.load: ; 8c4f5 (23:44f5) +.load ; 8c4f5 (23:44f5) ld a, [hli] ld e, a ld a, [hli] @@ -489,11 +489,11 @@ endr jr .loop ; 8c538 (23:4538) -.wedge1: db 2, 3, 5, 4, 9, -1 -.wedge2: db 1, 1, 2, 2, 4, 2, 4, 2, 3, -1 -.wedge3: db 2, 1, 3, 1, 4, 1, 4, 1, 4, 1, 3, 1, 2, 1, 1, 1, 1, -1 -.wedge4: db 4, 1, 4, 0, 3, 1, 3, 0, 2, 1, 2, 0, 1, -1 -.wedge5: db 4, 0, 3, 0, 3, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, -1 +.wedge1 db 2, 3, 5, 4, 9, -1 +.wedge2 db 1, 1, 2, 2, 4, 2, 4, 2, 3, -1 +.wedge3 db 2, 1, 3, 1, 4, 1, 4, 1, 4, 1, 3, 1, 2, 1, 1, 1, 1, -1 +.wedge4 db 4, 1, 4, 0, 3, 1, 3, 0, 2, 1, 2, 0, 1, -1 +.wedge5 db 4, 0, 3, 0, 3, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, -1 ; 8c578 StartTrainerBattle_SetUpForRandomScatterOutro: ; 8c578 (23:4578) @@ -663,13 +663,13 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) ld a, $1 ld [hCGBPalUpdate], a call DelayFrame - call Function8cf4f + call BattleStart_LoadEDTile -.nextscene: ; 8c673 (23:4673) +.nextscene ; 8c673 (23:4673) call StartTrainerBattle_NextScene ret -.copypals: ; 8c677 (23:4677) +.copypals ; 8c677 (23:4677) ld de, UnknBGPals + 7 palettes call .copy ld de, BGPals + 7 palettes @@ -682,7 +682,7 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) call .copy ld de, OBPals + 7 palettes -.copy: ; 8c698 (23:4698) +.copy ; 8c698 (23:4698) push hl ld bc, 1 palettes call CopyBytes @@ -690,20 +690,20 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) ret ; 8c6a1 (23:46a1) -.daypals: ; 8c6a1 +.daypals ; 8c6a1 RGB 31, 18, 29 RGB 31, 11, 15 RGB 31, 05, 05 RGB 07, 07, 07 ; 8c6a9 -.nightpals: ; 8c6a9 +.nightpals ; 8c6a9 RGB 31, 18, 29 RGB 31, 05, 05 RGB 31, 05, 05 RGB 31, 05, 05 -.loadpokeballgfx: +.loadpokeballgfx ld a, [OtherTrainerClass] ld de, PokeBallTransition ret @@ -742,7 +742,7 @@ WipeLYOverrides: ; 8c6d8 ret ; 8c6ef -.wipe: ; 8c6ef +.wipe ; 8c6ef xor a ld c, SCREEN_HEIGHT_PX .loop @@ -792,7 +792,7 @@ StartTrainerBattle_DrawSineWave: ; 8c6f7 (23:46f7) ret ; 8c728 (23:4728) -.sinewave: ; 8c728 +.sinewave ; 8c728 sine_wave $100 ; 8c768 @@ -833,7 +833,7 @@ StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768) ret ; 8c792 (23:4792) -.boxes: ; 8c792 +.boxes ; 8c792 zoombox 4, 2, 8, 8 zoombox 6, 4, 7, 7 zoombox 8, 6, 6, 6 diff --git a/engine/billspc.asm b/engine/billspc.asm index 3090ca0c2..5e9e7393b 100755 --- a/engine/billspc.asm +++ b/engine/billspc.asm @@ -42,7 +42,7 @@ _DepositPKMN: ; e2391 (38:6391) jp [hl] .Jumptable: ; e23df (38:63df) - + dw .Init dw .HandleJoypad dw .WhatsUp @@ -151,7 +151,7 @@ endr jp [hl] BillsPCDepositJumptable: ; e24a1 (38:64a1) - + dw BillsPCDepositFuncDeposit ; Deposit Pokemon dw BillsPCDepositFuncStats ; Pokemon Stats dw BillsPCDepositFuncRelease ; Release Pokemon @@ -310,7 +310,7 @@ _WithdrawPKMN: ; e2583 (38:6583) jp [hl] .Jumptable: ; e25d2 (38:65d2) - + dw .Init dw .Joypad dw .PrepSubmenu @@ -419,14 +419,14 @@ endr ld l, a jp [hl] -.dw: ; e2699 (38:6699) #mark +.dw ; e2699 (38:6699) #mark dw .withdraw ; Withdraw dw .stats ; Stats dw .release ; Release dw .cancel ; Cancel -.withdraw: ; e26a1 (38:66a1) +.withdraw ; e26a1 (38:66a1) call BillsPC_CheckMail_PreventBlackout jp c, .cancel call TryWithdrawPokemon @@ -437,12 +437,12 @@ endr ld [wBillsPC_CursorPosition], a ld [wBillsPC_ScrollPosition], a ret -.FailedWithdraw +.FailedWithdraw: ld de, PCString_WhatsUp call BillsPC_PlaceString ret -.stats: ; e26c0 (38:66c0) +.stats ; e26c0 (38:66c0) call LoadStandardMenuDataHeader call BillsPC_StatsScreen call ExitMenu @@ -453,7 +453,7 @@ endr call BillsPC_ApplyPalettes ret -.release: ; e26d8 (38:66d8) +.release ; e26d8 (38:66d8) ld a, [wMenuCursorY] push af call BillsPC_IsMonAnEgg @@ -483,14 +483,14 @@ endr ld [wBillsPC_ScrollPosition], a pop af ret -.FailedRelease +.FailedRelease: ld de, PCString_WhatsUp call BillsPC_PlaceString pop af ld [wMenuCursorY], a ret -.cancel: ; e272b (38:672b) +.cancel ; e272b (38:672b) ld a, $0 ld [wJumptableIndex], a ret @@ -562,7 +562,7 @@ _MovePKMNWithoutMail: ; e2759 ; e27ac .Jumptable: ; e27ac - + dw .Init dw .Joypad dw .PrepSubmenu @@ -1664,21 +1664,21 @@ BillsPC_CheckMail_PreventBlackout: ; e2f18 (38:6f18) ld a, [wBillsPC_MonHasMail] and a jr nz, .HasMail -.Okay +.Okay: and a ret -.HasMail +.HasMail: ld de, PCString_RemoveMail jr .NotOkay -.AllOthersFainted +.AllOthersFainted: ld de, PCString_NoMoreUsablePKMN jr .NotOkay -.ItsYourLastPokemon +.ItsYourLastPokemon: ld de, PCString_ItsYourLastPKMN -.NotOkay +.NotOkay: call BillsPC_PlaceString ld de, SFX_WRONG call WaitPlaySFX @@ -1918,7 +1918,7 @@ TryWithdrawPokemon: ; e30fa (38:70fa) and a ret -.PartyFull +.PartyFull: ld de, PCString_PartyFull call BillsPC_PlaceString ld de, SFX_WRONG @@ -2021,7 +2021,7 @@ endr jp [hl] ; e322a -.dw_return: ; e322a +.dw_return ; e322a pop af ld e, a callba Function14ad5 @@ -2033,7 +2033,7 @@ endr ; e3245 .Jumptable: ; e3245 - + dw .BoxToBox dw .PartyToBox dw .BoxToParty @@ -2226,7 +2226,7 @@ endr ret ; e33a6 (38:73a6) -.boxes: ; e33a6 +.boxes ; e33a6 ; bank, address dba sBox1 dba sBox2 @@ -2352,7 +2352,7 @@ _ChangeBox_menudataheader: ; 0xe35f1 db 1 ; default option ; 0xe35f9 -.menudata2: ; 0xe35f9 +.menudata2 ; 0xe35f9 db $22 ; flags db 4, 0 db 1 @@ -2362,7 +2362,7 @@ _ChangeBox_menudataheader: ; 0xe35f1 dba BillsPC_PrintBoxCountAndCapacity ; e3609 -.boxes: ; e3609 +.boxes ; e3609 db NUM_BOXES x = 1 rept NUM_BOXES @@ -2372,7 +2372,7 @@ endr db -1 ; e3619 -.boxnames: ; e3619 +.boxnames ; e3619 push de ld a, [MenuSelection] dec a @@ -2416,7 +2416,7 @@ BillsPC_PrintBoxCountAndCapacity: ; e3632 db "#MON@" ; e3668 -.out_of_20: ; e3668 +.out_of_20 ; e3668 ; db "/20@" db "/" db "0" + MONS_PER_BOX / 10 ; "2" @@ -2466,7 +2466,7 @@ endr ret ; e36a5 (38:76a5) -.boxbanks: ; e36a5 +.boxbanks ; e36a5 dba sBox1 dba sBox2 dba sBox3 @@ -2519,7 +2519,7 @@ BillsPC_ChangeBoxSubmenu: ; e36f9 (38:76f9) and a ret -.Print +.Print: call GetBoxCount and a jr z, .EmptyBox @@ -2533,12 +2533,12 @@ BillsPC_ChangeBoxSubmenu: ; e36f9 (38:76f9) and a ret -.EmptyBox +.EmptyBox: call BillsPC_PlaceEmptyBoxString_SFX and a ret -.Switch +.Switch: ld a, [MenuSelection] dec a ld e, a @@ -2548,7 +2548,7 @@ BillsPC_ChangeBoxSubmenu: ; e36f9 (38:76f9) callba ChangeBoxSaveGame ret -.Name +.Name: ld b, $4 ; box ld de, wd002 callba NamingScreen diff --git a/engine/billspctop.asm b/engine/billspctop.asm new file mode 100755 index 000000000..115c90385 --- /dev/null +++ b/engine/billspctop.asm @@ -0,0 +1,388 @@ +_BillsPC: ; e3fd + call .CheckCanUsePC + ret c + call .LogIn + call .UseBillsPC + jp .LogOut + +.CheckCanUsePC: ; e40a (3:640a) + ld a, [PartyCount] + and a + ret nz + ld hl, .Text_GottaHavePokemon + call MenuTextBoxBackup + scf + ret + +.Text_GottaHavePokemon: ; 0xe417 + ; You gotta have #MON to call! + text_jump UnknownText_0x1c1006 + db "@" + +.LogIn: ; e41c (3:641c) + xor a + ld [hBGMapMode], a + call LoadStandardMenuDataHeader + call ClearPCItemScreen + ld hl, Options + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + ld hl, .Text_What + call PrintText + pop af + ld [Options], a + call LoadFontsBattleExtra + ret + +.Text_What: ; 0xe43a + ; What? + text_jump UnknownText_0x1c1024 + db "@" + +.LogOut: ; e43f (3:643f) + call CloseSubmenu + ret + +.UseBillsPC: ; e443 (3:6443) + ld hl, .MenuDataHeader + call LoadMenuDataHeader + ld a, $1 +.loop + ld [wMenuCursorBuffer], a + call SetPalettes + xor a + ld [wWhichIndexSet], a + ld [hBGMapMode], a + call DoNthMenu + jr c, .cancel + ld a, [wMenuCursorBuffer] + push af + ld a, [MenuSelection] + ld hl, .Jumptable + rst JumpTable + pop bc + ld a, b + jr nc, .loop +.cancel + call CloseWindow + ret + +.MenuDataHeader: ; 0xe46f + db $40 ; flags + db 00, 00 ; start coords + db 17, 19 ; end coords + dw .MenuData2 + db 1 ; default option + +.MenuData2: ; 0xe477 + db $80 ; flags + db 0 ; items + dw .items + dw PlaceMenuStrings + dw .strings + +.strings ; e47f + db "WITHDRAW <PK><MN>@" + db "DEPOSIT <PK><MN>@" + db "CHANGE BOX@" + db "MOVE <PK><MN> W/O MAIL@" + db "SEE YA!@" + +.Jumptable: ; e4ba (3:64ba) + dw BillsPC_WithdrawMenu + dw BillsPC_DepositMenu + dw BillsPC_ChangeBoxMenu + dw BillsPC_MovePKMNMenu + dw BillsPC_SeeYa + +.items ; e4c4 + db 5 + db 0 ; WITHDRAW + db 1; DEPOSIT + db 2 ; CHANGE BOX + db 3 ; MOVE PKMN + db 4 ; SEE YA! + db -1 + +BillsPC_SeeYa: ; e4cb + scf + ret + +BillsPC_MovePKMNMenu: ; e4cd + call LoadStandardMenuDataHeader + callba IsAnyMonHoldingMail + jr nc, .no_mail + ld hl, .Text_MonHoldingMail + call PrintText + jr .quit + +.no_mail + callba StartMovePkmnWOMail_SaveGame + jr c, .quit + callba _MovePKMNWithoutMail + call ReturnToMapFromSubmenu + call ClearPCItemScreen + +.quit + call CloseWindow + and a + ret + +.Text_MonHoldingMail: ; 0xe4f9 + ; There is a #MON holding MAIL. Please remove the MAIL. + text_jump UnknownText_0x1c102b + db "@" + +BillsPC_DepositMenu: ; e4fe (3:64fe) + call LoadStandardMenuDataHeader + callba _DepositPKMN + call ReturnToMapFromSubmenu + call ClearPCItemScreen + call CloseWindow + and a + ret + +Functione512: ; unused + ld a, [PartyCount] + and a + jr z, .no_pkmn + cp 2 + jr c, .only_one_pkmn + and a + ret + +.no_pkmn + ld hl, .Text_NoPKMN + call MenuTextBoxBackup + scf + ret + +.only_one_pkmn + ld hl, .Text_ItsYourLastPKMN + call MenuTextBoxBackup + scf + ret + +.Text_NoPKMN: ; 0xe52e + ; You don't have a single #MON! + text_jump UnknownText_0x1c1062 + db "@" + +.Text_ItsYourLastPKMN: ; 0xe533 + ; You can't deposit your last #MON! + text_jump UnknownText_0x1c1080 + db "@" + +CheckCurPartyMonFainted: ; e538 + ld hl, PartyMon1HP + ld de, PARTYMON_STRUCT_LENGTH + ld b, $0 +.loop + ld a, [CurPartyMon] + cp b + jr z, .skip + ld a, [hli] + or [hl] + jr nz, .notfainted + dec hl + +.skip + inc b + ld a, [PartyCount] + cp b + jr z, .done + add hl, de + jr .loop + +.done + scf + ret + +.notfainted + and a + ret + +BillsPC_WithdrawMenu: ; e559 (3:6559) + call LoadStandardMenuDataHeader + callba _WithdrawPKMN + call ReturnToMapFromSubmenu + call ClearPCItemScreen + call CloseWindow + and a + ret + +Functione56d: ; unused + ld a, [PartyCount] + cp PARTY_LENGTH + jr nc, .asm_e576 + and a + ret + +.asm_e576 + ld hl, UnknownText_0xe57e + call MenuTextBoxBackup + scf + ret + +UnknownText_0xe57e: ; 0xe57e + ; You can't take any more #MON. + text_jump UnknownText_0x1c10a2 + db "@" + +BillsPC_ChangeBoxMenu: ; e583 (3:6583) + callba _ChangeBox + and a + ret + +ClearPCItemScreen: ; e58b + call DisableSpriteUpdates + xor a + ld [hBGMapMode], a + call ClearBGPalettes + call ClearSprites + hlcoord 0, 0 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, " " + call ByteFill + hlcoord 0,0 + lb bc, 10, 18 + call TextBox + hlcoord 0,12 + lb bc, 4, 18 + call TextBox + call WaitBGMap2 + call SetPalettes ; load regular palettes? + ret + +CopyBoxmonToTempMon: ; e5bb + ld a, [CurPartyMon] + ld hl, sBoxMon1Species + ld bc, BOXMON_STRUCT_LENGTH + call AddNTimes + ld de, TempMonSpecies + ld bc, BOXMON_STRUCT_LENGTH + ld a, BANK(sBoxMon1Species) + call GetSRAMBank + call CopyBytes + call CloseSRAM + ret + +Functione5d9: ; unreferenced + ld a, [wCurBox] + cp b + jr z, .same_box + ld a, b + ld hl, .BoxAddrs + ld bc, 3 + call AddNTimes + ld a, [hli] + push af + ld a, [hli] + ld h, [hl] + ld l, a + pop af + jr .okay + +.same_box + ld a, BANK(sBoxCount) + ld hl, sBoxCount + +.okay + call GetSRAMBank + ld a, [hl] + ld bc, 1 + MONS_PER_BOX + 1 + add hl, bc + ld b, a + ld c, $0 + ld de, wc608 + ld a, b + and a + jr z, .empty_box +.loop + push hl + push bc + ld a, c + ld bc, 0 + add hl, bc + ld bc, BOXMON_STRUCT_LENGTH + call AddNTimes + ld a, [hl] + ld [de], a + inc de + ld [CurSpecies], a + call GetBaseData + pop bc + pop hl + + push hl + push bc + ld a, c + ld bc, MONS_PER_BOX * (BOXMON_STRUCT_LENGTH + NAME_LENGTH) + add hl, bc + call SkipNames + call CopyBytes + pop bc + pop hl + + push hl + push bc + ld a, c + ld bc, MON_LEVEL + add hl, bc + ld bc, BOXMON_STRUCT_LENGTH + call AddNTimes + ld a, [hl] + ld [de], a + inc de + pop bc + pop hl + + push hl + push bc + ld a, c + ld bc, MON_DVS + add hl, bc + ld bc, BOXMON_STRUCT_LENGTH + call AddNTimes + ld a, [hli] + and $f0 + ld b, a + ld a, [hl] + and $f0 + swap a + or b + ld b, a + ld a, [BaseGender] + cp b + ld a, $1 + jr c, .okay2 + xor a +.okay2 + ld [de], a + inc de + pop bc + pop hl + + inc c + dec b + jr nz, .loop +.empty_box + call CloseSRAM + ret + +.BoxAddrs: ; e66e + dba sBox1 + dba sBox2 + dba sBox3 + dba sBox4 + dba sBox5 + dba sBox6 + dba sBox7 + dba sBox8 + dba sBox9 + dba sBox10 + dba sBox11 + dba sBox12 + dba sBox13 + dba sBox14 diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm index cfe4d9a1c..b6f41743e 100755 --- a/engine/breeding/egg.asm +++ b/engine/breeding/egg.asm @@ -166,11 +166,11 @@ CheckBreedmonCompatibility: ; 16e1d cp c jr z, .Compatible -.Incompatible +.Incompatible: and a ret -.Compatible +.Compatible: scf ret ; 16f3e @@ -215,7 +215,7 @@ HatchEggs: ; 16f70 (5:6f70) xor a ld [CurPartyMon], a -.loop: ; 16f7a (5:6f7a) +.loop ; 16f7a (5:6f7a) ld a, [de] inc de cp -1 @@ -348,7 +348,7 @@ HatchEggs: ; 16f70 (5:6f70) ld bc, PKMN_NAME_LENGTH call CopyBytes -.next: ; 1707d (5:707d) +.next ; 1707d (5:707d) ld hl, CurPartyMon inc [hl] pop hl @@ -357,7 +357,7 @@ HatchEggs: ; 16f70 (5:6f70) pop de jp .loop -.done: ; 1708a (5:708a) +.done ; 1708a (5:708a) ret ; 1708b (5:708b) @@ -989,7 +989,7 @@ DayCareMonPrintEmptyString: ; 174b5 ret ; 174b9 -.string: ; 174b9 +.string ; 174b9 db "@" ; 174ba diff --git a/engine/buena_phone_scripts.asm b/engine/buena_phone_scripts.asm index 0aad5e0ba..858ce5540 100644 --- a/engine/buena_phone_scripts.asm +++ b/engine/buena_phone_scripts.asm @@ -21,12 +21,12 @@ BuenaPhoneScript_CheckTimeOfDay1: buttonsound end -.morn: +.morn writetext UnknownText_0xa0c28 buttonsound end -.day: +.day writetext UnknownText_0xa0c72 buttonsound end @@ -46,12 +46,12 @@ BuenaPhoneScript_CheckTimeOfDay2: buttonsound end -.morn: +.morn writetext UnknownText_0xa0d96 buttonsound end -.day: +.day writetext UnknownText_0xa0dcf buttonsound end @@ -90,62 +90,62 @@ BuenaPhoneScript_Random2: if_equal 12, .twelve if_equal 13, .thirteen -.zero: +.zero writetext UnknownText_0xa0efb jump .finish -.one: +.one writetext UnknownText_0xa0fcf jump .finish -.two: +.two writetext UnknownText_0xa109d jump .finish -.three: +.three writetext UnknownText_0xa1143 jump .finish -.four: +.four writetext UnknownText_0xa1244 jump .finish -.five: +.five writetext UnknownText_0xa1318 jump .finish -.six: +.six writetext UnknownText_0xa13d8 jump .finish -.seven: +.seven writetext UnknownText_0xa1488 jump .finish -.eight: +.eight writetext UnknownText_0xa15de jump .finish -.nine: +.nine writetext UnknownText_0xa1717 jump .finish -.ten: +.ten writetext UnknownText_0xa183d jump .finish -.eleven: +.eleven writetext UnknownText_0xa19b1 jump .finish -.twelve: +.twelve writetext UnknownText_0xa1ac0 jump .finish -.thirteen: +.thirteen writetext UnknownText_0xa1bed -.finish: +.finish end BuenaPhoneScript_Random1: @@ -154,15 +154,15 @@ BuenaPhoneScript_Random1: if_equal 1, .one if_equal 2, .two -.zero: +.zero writetext UnknownText_0xa1c88 end -.one: +.one writetext UnknownText_0xa1d5f end -.two: +.two writetext UnknownText_0xa1e2f end ; a0c28 diff --git a/engine/card_flip.asm b/engine/card_flip.asm index 9aeb94aec..2c334fc25 100755 --- a/engine/card_flip.asm +++ b/engine/card_flip.asm @@ -50,7 +50,7 @@ _CardFlip: ; e00ee (38:40ee) ld [wCardFlipCursorX], a ld de, MUSIC_GAME_CORNER call PlayMusic -.MasterLoop +.MasterLoop: ld a, [wJumptableIndex] bit 7, a jr nz, .leavethegame @@ -81,7 +81,7 @@ endr ; e01a0 (38:41a0) .Jumptable: ; e01a0 - + dw .AskPlayWithThree dw .DeductCoins dw .ChooseACard @@ -107,7 +107,7 @@ endr call .Increment ret -.SaidNo +.SaidNo: ld a, 7 ld [wJumptableIndex], a ret @@ -311,7 +311,7 @@ endr call .Increment ret -.Continue +.Continue: ld a, [wCardFlipNumCardsPlayed] inc a ld [wCardFlipNumCardsPlayed], a @@ -325,10 +325,10 @@ endr call PrintText jr .LoopAround -.KeepTheCurrentDeck +.KeepTheCurrentDeck: call CardFlip_BlankDiscardedCardSlot -.LoopAround +.LoopAround: ld a, 1 ld [wJumptableIndex], a ret @@ -401,7 +401,7 @@ GetCoordsOfChosenCard: ; e03ac bcpixel 2, 3 jr .done -.BottomCard +.BottomCard: hlcoord 2, 6 bcpixel 8, 3 @@ -659,7 +659,7 @@ CardFlip_BlankDiscardedCardSlot: ; e0534 ; e0553 .Jumptable: ; e0553 - + dw .Level1 dw .Level2 dw .Level3 @@ -848,7 +848,7 @@ CardFlip_CheckWinCondition: ; e0637 ; e0643 .Jumptable: ; e0643 - + dw .Impossible dw .Impossible dw .PikaJiggly @@ -1270,7 +1270,7 @@ ChooseCard_HandleJoypad: ; e089c ret ; e08b8 -.d_left: ; e08b8 +.d_left ; e08b8 ld hl, wCardFlipCursorX ld a, [wCardFlipCursorY] and a @@ -1309,7 +1309,7 @@ endr jp .play_sound ; e08ef -.d_right: ; e08ef +.d_right ; e08ef ld hl, wCardFlipCursorX ld a, [wCardFlipCursorY] and a @@ -1331,7 +1331,7 @@ rept 2 endr jr .play_sound -.d_up: ; e090a +.d_up ; e090a ld hl, wCardFlipCursorY ld a, [wCardFlipCursorX] and a @@ -1369,7 +1369,7 @@ endr ld [wCardFlipCursorX], a jr .play_sound -.d_down: ; e093d +.d_down ; e093d ld hl, wCardFlipCursorY ld a, [wCardFlipCursorX] and a @@ -1391,7 +1391,7 @@ rept 2 inc [hl] endr -.play_sound: ; e0959 +.play_sound ; e0959 ld de, SFX_POKEBALLS_PLACED_ON_TABLE call PlaySFX ret @@ -1684,7 +1684,7 @@ CardFlip_InitAttrPals: ; e0c37 (38:4c37) ret ; e0c93 (38:4c93) -.palettes: ; e0c93 +.palettes ; e0c93 RGB 31, 31, 31 RGB 17, 07, 31 RGB 06, 19, 08 diff --git a/engine/clock_reset.asm b/engine/clock_reset.asm index 20f46ce12..546cc8c13 100755 --- a/engine/clock_reset.asm +++ b/engine/clock_reset.asm @@ -220,7 +220,7 @@ RestartClock: ; 20021 (8:4021) ret ; 20160 (8:4160) -.unreferenced: ; 20160 +.unreferenced ; 20160 ld a, [Buffer3] ld b, a call Coord2Tile diff --git a/engine/color.asm b/engine/color.asm index 57f616955..faf102867 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -5,10 +5,8 @@ SHINY_ATK_BIT EQU 5 SHINY_DEF_VAL EQU 10 SHINY_SPD_VAL EQU 10 SHINY_SPC_VAL EQU 10 -LO_NYBBLE EQU $0f -HI_NYBBLE EQU $f0 -CheckShininess: ; 8a68 +CheckShininess: ; Check if a mon is shiny by DVs at bc. ; Return carry if shiny. @@ -22,33 +20,31 @@ CheckShininess: ; 8a68 ; Defense ld a, [hli] - and LO_NYBBLE + and $f cp SHINY_DEF_VAL jr nz, .NotShiny ; Speed ld a, [hl] - and HI_NYBBLE + and $f0 cp SHINY_SPD_VAL << 4 jr nz, .NotShiny ; Special ld a, [hl] - and LO_NYBBLE + and $f cp SHINY_SPC_VAL jr nz, .NotShiny -.Shiny +.Shiny: scf ret -.NotShiny +.NotShiny: and a ret -; 8a88 - -CheckContestMon: ; 8a88 +CheckContestMon: ; Check a mon's DVs at hl in the bug catching contest. ; Return carry if its DVs are good enough to place in the contest. @@ -59,7 +55,7 @@ CheckContestMon: ; 8a88 ; Defense ld a, [hli] - and LO_NYBBLE + and $f cp 10 jr c, .Bad @@ -70,21 +66,19 @@ CheckContestMon: ; 8a88 ; Special ld a, [hl] - and LO_NYBBLE + and $f cp 10 jr c, .Bad -.Good +.Good: scf ret -.Bad +.Bad: and a ret -; 8aa4 - -Function8aa4: ; 8aa4 +Function8aa4: push de push bc ld hl, PalPacket_9ce6 @@ -106,16 +100,13 @@ Function8aa4: ; 8aa4 ld hl, BlkPacket_9a86 call Function9809 ret -; 8ad1 - -InitPartyMenuPalettes: ; 8ad1 +InitPartyMenuPalettes: ld hl, PalPacket_9c56 + 1 call CopyFourPalettes call InitPartyMenuOBPals call WipeAttrMap ret -; 8ade SGB_ApplyPartyMenuHPPals: ; 8ade SGB layout $fc ld hl, wHPPals @@ -142,9 +133,8 @@ SGB_ApplyPartyMenuHPPals: ; 8ade SGB layout $fc pop de ld [hl], e ret -; 8b07 -Function8b07: ; 8b07 +Function8b07: ; Unreferenced call CheckCGB ret z @@ -165,21 +155,19 @@ Function8b07: ; 8b07 ld [hCGBPalUpdate], a ret -.BGPal +.BGPal: RGB 31, 31, 31 RGB 18, 23, 31 RGB 15, 20, 31 RGB 00, 00, 00 -.OBPal +.OBPal: RGB 31, 31, 31 RGB 31, 31, 12 RGB 08, 16, 28 RGB 00, 00, 00 -; 8b3f - -Function8b3f: ; 8b3f +Function8b3f: ; Unreferenced call CheckCGB ret nz @@ -188,9 +176,8 @@ Function8b3f: ; 8b3f ret z ld hl, BlkPacket_9a86 jp Function9809 -; 8b4d -Function8b4d: ; 8b4d +Function8b4d: call CheckCGB jr nz, .cgb ld a, [hSGB] @@ -204,9 +191,8 @@ Function8b4d: ; 8b4d ld a, $3b call GetPredefPal jp LoadHLPaletteIntoDE -; 8b67 -Function8b67: ; 8b67 +Function8b67: call CheckCGB jr nz, .cgb ld a, [hSGB] @@ -220,9 +206,8 @@ Function8b67: ; 8b67 ld a, $3c call GetPredefPal jp LoadHLPaletteIntoDE -; 8b81 -Function8b81: ; 8b81 +Function8b81: call CheckCGB jr nz, .asm_8bb2 ld a, [hSGB] @@ -253,9 +238,8 @@ Function8b81: ; 8b81 call GetMonPalettePointer_ call LoadPalette_White_Col1_Col2_Black ret -; 8bbd -Function8bbd: ; 8bbd +Function8bbd: ld a, [TrainerClass] call GetTrainerPalettePointer ld a, e @@ -290,9 +274,8 @@ asm_8bd7 pop hl call LoadPalette_White_Col1_Col2_Black ret -; 8bec -Function8bec: ; 8bec +Function8bec: ld a, [hCGB] and a jr nz, .asm_8bf7 @@ -321,9 +304,8 @@ Function8bec: ; 8bec call FillBoxCGB call LoadEDTile ret -; 8c1d -ApplyMonOrTrainerPals: ; 8c1d +ApplyMonOrTrainerPals: call CheckCGB ret z ld a, e @@ -344,9 +326,8 @@ ApplyMonOrTrainerPals: ; 8c1d call ApplyAttrMap call ApplyPals ret -; 8c43 -ApplyHPBarPals: ; 8c43 +ApplyHPBarPals: ld a, [wWhichHPBar] and a jr z, .Enemy @@ -356,11 +337,11 @@ ApplyHPBarPals: ; 8c43 jr z, .PartyMenu ret -.Enemy +.Enemy: ld de, BGPals + 2 palettes + 2 jr .okay -.Player +.Player: ld de, BGPals + 3 palettes + 2 .okay @@ -377,7 +358,7 @@ ApplyHPBarPals: ; 8c43 ld [hCGBPalUpdate], a ret -.PartyMenu +.PartyMenu: ld e, c inc e hlcoord 11, 1, AttrMap @@ -395,9 +376,8 @@ ApplyHPBarPals: ; 8c43 ld a, e call FillBoxCGB ret -; 8c8a -LoadStatsScreenPals: ; 8c8a +LoadStatsScreenPals: call CheckCGB ret z ld hl, StatsScreenPals @@ -420,9 +400,8 @@ LoadStatsScreenPals: ; 8c8a call ApplyPals ld a, $1 ret -; 8cb4 -Function8cb4: ; 8cb4 +Function8cb4: ld l, e ld h, 0 rept 3 @@ -463,9 +442,8 @@ endr call WipeAttrMap call ApplyAttrMap ret -; 8d05 -Palettes_8d05: ; 8d05 +Palettes_8d05: RGB 20, 31, 11 RGB 31, 19, 00 RGB 31, 10, 09 @@ -516,12 +494,9 @@ Palettes_8d05: ; 8d05 RGB 00, 21, 00 RGB 00, 00, 00 -; 8d55 - INCLUDE "predef/cgb.asm" - -Function95f0: ; 95f0 +Function95f0: ld hl, Palette_9608 ld de, UnknBGPals ld bc, 8 @@ -531,22 +506,18 @@ Function95f0: ; 95f0 call WipeAttrMap call ApplyAttrMap ret -; 9608 -Palette_9608: ; 9608 +Palette_9608: RGB 31, 31, 31 RGB 09, 31, 31 RGB 10, 12, 31 RGB 00, 03, 19 -; 9610 - - -CopyFourPalettes: ; 9610 +CopyFourPalettes: ld de, UnknBGPals ld c, $4 -CopyPalettes: ; 9615 +CopyPalettes: .loop push bc ld a, [hli] @@ -559,9 +530,8 @@ CopyPalettes: ; 9615 dec c jr nz, .loop ret -; 9625 -GetPredefPal: ; 9625 +GetPredefPal: ld l, a ld h, $0 rept 3 ; multiply by 8 @@ -570,9 +540,8 @@ endr ld bc, Palettes_9df6 add hl, bc ret -; 9630 -LoadHLPaletteIntoDE: ; 9630 +LoadHLPaletteIntoDE: ld a, [rSVBK] push af ld a, $5 @@ -587,9 +556,8 @@ LoadHLPaletteIntoDE: ; 9630 pop af ld [rSVBK], a ret -; 9643 -LoadPalette_White_Col1_Col2_Black: ; 9643 +LoadPalette_White_Col1_Col2_Black: ld a, [rSVBK] push af ld a, $5 @@ -619,9 +587,8 @@ LoadPalette_White_Col1_Col2_Black: ; 9643 pop af ld [rSVBK], a ret -; 9663 -FillBoxCGB: ; 9663 +FillBoxCGB: .row push bc push hl @@ -636,9 +603,8 @@ FillBoxCGB: ; 9663 dec b jr nz, .row ret -; 9673 -Function9673: ; 9673 +Function9673: push af push bc push de @@ -667,27 +633,23 @@ endr pop bc pop af ret -; 9699 - -WipeAttrMap: ; 9699 +WipeAttrMap: hlcoord 0, 0, AttrMap ld bc, SCREEN_WIDTH * SCREEN_HEIGHT xor a call ByteFill ret -; 96a4 -ApplyPals: ; 96a4 +ApplyPals: ld hl, UnknBGPals ld de, BGPals ld bc, 16 palettes ld a, $5 call FarCopyWRAM ret -; 96b3 -ApplyAttrMap: ; 96b3 +ApplyAttrMap: ld a, [rLCDC] bit 7, a jr z, .UpdateVBank1 @@ -703,7 +665,7 @@ ApplyAttrMap: ; 96b3 ld [hBGMapMode], a ret -.UpdateVBank1 +.UpdateVBank1: hlcoord 0, 0, AttrMap debgcoord 0, 0 ld b, SCREEN_HEIGHT @@ -728,7 +690,6 @@ ApplyAttrMap: ; 96b3 ld a, $0 ld [rVBK], a ret -; 96f3 CGB_ApplyPartyMenuHPPals: ; 96f3 CGB layout $fc ld hl, wHPPals @@ -755,19 +716,16 @@ CGB_ApplyPartyMenuHPPals: ; 96f3 CGB layout $fc ld a, e call FillBoxCGB ret -; 971a - -InitPartyMenuOBPals: ; 971a +InitPartyMenuOBPals: ld hl, Palettes_b681 ld de, UnknOBPals ld bc, 2 palettes ld a, $5 call FarCopyWRAM ret -; 9729 -GetBattlemonBackpicPalettePointer: ; 9729 +GetBattlemonBackpicPalettePointer: push de callba GetPartyMonDVs ld c, l @@ -776,9 +734,8 @@ GetBattlemonBackpicPalettePointer: ; 9729 call GetPlayerOrMonPalettePointer pop de ret -; 973a -GetEnemyFrontpicPalettePointer: ; 973a +GetEnemyFrontpicPalettePointer: push de callba GetEnemyMonDVs ld c, l @@ -787,9 +744,8 @@ GetEnemyFrontpicPalettePointer: ; 973a call GetFrontpicPalettePointer pop de ret -; 974b -GetPlayerOrMonPalettePointer: ; 974b +GetPlayerOrMonPalettePointer: and a jp nz, GetMonNormalOrShinyPalettePointer ld a, [wPlayerSpriteSetupFlags] @@ -804,14 +760,13 @@ GetPlayerOrMonPalettePointer: ; 974b .male ld hl, PlayerPalette ret -; 9764 -GetFrontpicPalettePointer: ; 9764 +GetFrontpicPalettePointer: and a jp nz, GetMonNormalOrShinyPalettePointer ld a, [TrainerClass] -GetTrainerPalettePointer: ; 976b +GetTrainerPalettePointer: ld l, a ld h, 0 add hl,hl @@ -819,14 +774,12 @@ GetTrainerPalettePointer: ; 976b ld bc, TrainerPalettes add hl, bc ret -; 9775 -GetMonPalettePointer_: ; 9775 +GetMonPalettePointer_: call GetMonPalettePointer ret -; 9779 -Function9779: mobile ; 9779 +Function9779: mobile call CheckCGB ret z ld hl, Palettes_979c @@ -844,9 +797,8 @@ Function9779: mobile ; 9779 ld a, $5 call FarCopyWRAM ret -; 979c -Palettes_979c: ; 979c +Palettes_979c: RGB 31, 31, 31 RGB 25, 25, 25 RGB 13, 13, 13 @@ -877,9 +829,7 @@ Palettes_979c: ; 979c RGB 20, 15, 03 RGB 00, 00, 00 -; 97cc - -Function97cc: ; 97cc +Function97cc: call CheckCGB ret z ld a, $90 @@ -891,9 +841,8 @@ Function97cc: ; 97cc call GetPredefPal call Function97e5 ret -; 97e5 -Function97e5: ; 97e5 +Function97e5: ld c, 1 palettes .loop ld a, [hli] @@ -901,9 +850,8 @@ Function97e5: ; 97e5 dec c jr nz, .loop ret -; 97ee -GetMonPalettePointer: ; 97ee +GetMonPalettePointer: ld l, a ld h, $0 rept 3 @@ -912,9 +860,8 @@ endr ld bc, PokemonPalettes add hl, bc ret -; 97f9 -GetMonNormalOrShinyPalettePointer: ; 97f9 +GetMonNormalOrShinyPalettePointer: push bc call GetMonPalettePointer pop bc @@ -926,9 +873,8 @@ rept 4 inc hl endr ret -; 9809 -Function9809: ; 9809 +Function9809: ld a, [wcfbe] push af set 7, a @@ -937,9 +883,8 @@ Function9809: ; 9809 pop af ld [wcfbe], a ret -; 981a -PushSGBPals: ; 981a +PushSGBPals: ld a, [hl] and $7 ret z @@ -978,9 +923,8 @@ PushSGBPals: ; 981a dec b jr nz, .loop ret -; 9853 -Function9853: ; 9853 +Function9853: call CheckCGB ret nz di @@ -1010,10 +954,8 @@ Function9853: ; 9853 ld [wcfbe], a ei ret -; 9890 - -Function9890:: ; 9890 +Function9890:: call CheckCGB ret z ld a, $1 @@ -1056,7 +998,7 @@ Function9890:: ; 9890 ld [rSVBK], a ret -.LoadWhitePals +.LoadWhitePals: ld c, 4 * 16 .loop ld a, $7fff % $100 @@ -1066,9 +1008,8 @@ Function9890:: ; 9890 dec c jr nz, .loop ret -; 98eb -Function98eb: ; 98eb +Function98eb: ld hl, .PalPacketPointerTable ld c, 9 .loop @@ -1084,9 +1025,8 @@ Function98eb: ; 98eb dec c jr nz, .loop ret -; 98ff -.PalPacketPointerTable: ; 98ff +.PalPacketPointerTable: dw PalPacket_9d56 dw PalPacket_9d76 dw PalPacket_9d86 @@ -1096,9 +1036,8 @@ Function98eb: ; 98eb dw PalPacket_9dc6 dw PalPacket_9dd6 dw PalPacket_9de6 -; 9911 -Function9911: ; 9911 +Function9911: di xor a ld [rJOYP], a @@ -1111,32 +1050,28 @@ Function9911: ; 9911 call PushSGBPals ei ret -; 992c -Function992c: ; 992c +Function992c: call .LoadSGBBorderPointers push de call Function9a24 pop hl call Function99d8 ret -; 9938 -.LoadSGBBorderPointers: ; 9938 +.LoadSGBBorderPointers: ld hl, SGBBorder ld de, SGBBorderMap ret -; 993f -Function993f: ; 993f +Function993f: ld hl, VTiles0 ld bc, $2000 xor a call ByteFill ret -; 994a -Function994a: ; 994a +Function994a: ld hl, PalPacket_9d26 call PushSGBPals call SGBDelayCycles @@ -1180,15 +1115,13 @@ endr call Function99ab scf ret -; 99ab -Function99ab: ; 99ab +Function99ab: ld hl, PalPacket_9d16 call PushSGBPals jp SGBDelayCycles -; 99b4 -Function99b4: ; 99b4 +Function99b4: call DisableLCD ld a, $e4 ld [rBGP], a @@ -1204,9 +1137,8 @@ Function99b4: ; 99b4 xor a ld [rBGP], a ret -; 99d8 -Function99d8: ; 99d8 +Function99d8: call DisableLCD ld a, $e4 ld [rBGP], a @@ -1239,9 +1171,8 @@ Function99d8: ; 99d8 xor a ld [rBGP], a ret -; 9a24 -Function9a24: ; 9a24 +Function9a24: call DisableLCD ld a, %11100100 ld [rBGP], a @@ -1264,7 +1195,6 @@ Function9a24: ; 9a24 xor a ld [rBGP], a ret -; 9a52 CopyData: ; 0x9a52 ; copy bc bytes of data from hl to de @@ -1310,7 +1240,7 @@ DrawDefaultTiles: ; 0x9a64 ret ; 0x9a7a -SGBDelayCycles: ; 9a7a +SGBDelayCycles: ld de, 7000 .wait nop @@ -1321,51 +1251,47 @@ SGBDelayCycles: ; 9a7a or e jr nz, .wait ret -; 9a86 -BlkPacket_9a86: ; 9a86 +BlkPacket_9a86: db $21, $01, $03, $00, $00, $00, $13, $11, $00, $00, $00, $00, $00, $00, $00, $00 -BlkPacket_9a96: ; 9a96 +BlkPacket_9a96: db $21, $01, $07, $05, $00, $0a, $13, $0d, $00, $00, $00, $00, $00, $00, $00, $00 -BlkPacket_9aa6: ; 9a86 +BlkPacket_9aa6: db $22, $05, $07, $0a, $00, $0c, $13, $11, $03, $05, $01, $00, $0a, $03, $03, $00 db $0a, $08, $13, $0a, $03, $0a, $00, $04, $08, $0b, $03, $0f, $0b, $00, $13, $07 -BlkPacket_9ac6: ; 9a86 +BlkPacket_9ac6: db $21, $01, $07, $05, $00, $01, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00 -BlkPacket_9ad6: ; 9a86 +BlkPacket_9ad6: db $21, $01, $07, $05, $0b, $01, $13, $02, $00, $00, $00, $00, $00, $00, $00, $00 -BlkPacket_9ae6: ; 9a86 +BlkPacket_9ae6: db $21, $01, $07, $05, $01, $01, $08, $08, $00, $00, $00, $00, $00, $00, $00, $00 -BlkPacket_9af6: ; 9a86 +BlkPacket_9af6: db $21, $01, $07, $05, $07, $05, $0d, $0b, $00, $00, $00, $00, $00, $00, $00, $00 -BlkPacket_9b06: ; 9a86 +BlkPacket_9b06: db $22, $05, $03, $05, $00, $00, $13, $0b, $03, $0a, $00, $04, $13, $09, $02, $0f db $00, $06, $13, $07, $03, $00, $04, $04, $0f, $09, $03, $00, $00, $0c, $13, $11 -BlkPacket_9b26: ; 9a86 +BlkPacket_9b26: db $23, $07, $07, $10, $00, $00, $02, $0c, $02, $00, $0c, $00, $12, $01, $02, $00 db $0c, $02, $12, $03, $02, $00, $0c, $04, $12, $05, $02, $00, $0c, $06, $12, $07 db $02, $00, $0c, $08, $12, $09, $02, $00, $0c, $0a, $12, $0b, $00, $00, $00, $00 -BlkPacket_9b56: ; 9a86 +BlkPacket_9b56: db $22, $03, $07, $20, $00, $00, $13, $04, $03, $0f, $00, $06, $13, $11, $03, $05 db $0f, $01, $12, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 -BlkPacket_9b76: ; 9a86 +BlkPacket_9b76: db $21, $01, $07, $10, $00, $00, $13, $05, $00, $00, $00, $00, $00, $00, $00, $00 -BlkPacket_9b86: ; 9a86 +BlkPacket_9b86: db $21, $02, $07, $0a, $00, $04, $13, $0d, $03, $05, $00, $06, $13, $0b, $00, $00 -; 9b96 - -; 9b96 PalPacket_9b96: db $51, $48, $00, $49, $00, $4a, $00, $4b, $00, $00, $00, $00, $00, $00, $00, $00 PalPacket_9ba6: db $51, $2b, $00, $24, $00, $20, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 @@ -1405,9 +1331,8 @@ PalPacket_9db6: db $79, $31, $08, $00, $0b, $0c, $a5, $ca, $c9, $7e, $d0, $06, $ PalPacket_9dc6: db $79, $26, $08, $00, $0b, $39, $cd, $48, $0c, $d0, $34, $a5, $c9, $c9, $80, $d0 PalPacket_9dd6: db $79, $1b, $08, $00, $0b, $ea, $ea, $ea, $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0 PalPacket_9de6: db $79, $10, $08, $00, $0b, $4c, $20, $08, $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea -; 9df6 -Palettes_9df6: ; 9df6 +Palettes_9df6: RGB 31, 31, 31 RGB 22, 25, 19 RGB 16, 21, 30 @@ -1803,9 +1728,7 @@ Palettes_9df6: ; 9df6 RGB 21, 21, 21 RGB 31, 31, 31 -; a06e - -SGBBorderMap: ; a06e +SGBBorderMap: db $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $14,$14, $15,$14, $16,$14, $17,$14, $17,$54, $16,$54, $15,$54, $14,$54, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14 db $01,$14, $02,$14, $03,$14, $03,$54, $02,$54, $01,$54, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $24,$14, $25,$14, $26,$14, $07,$14, $07,$54, $26,$54, $25,$54, $24,$54, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$54, $01,$14, $02,$14, $03,$14, $03,$54, $02,$54, $01,$54 db $11,$14, $12,$14, $13,$14, $13,$54, $12,$54, $11,$54, $10,$54, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $24,$14, $34,$14, $35,$14, $35,$54, $34,$54, $33,$54, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $10,$14, $11,$14, $12,$14, $13,$14, $13,$54, $12,$54, $11,$54 @@ -1834,9 +1757,8 @@ SGBBorderMap: ; a06e db $25,$14, $26,$14, $07,$14, $07,$54, $26,$54, $25,$54, $24,$54, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $01,$14, $02,$14, $03,$14, $03,$54, $02,$54, $01,$54, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $24,$14, $25,$14, $26,$14, $07,$14, $07,$54, $26,$54, $25,$54 db $33,$14, $34,$14, $35,$14, $35,$54, $34,$54, $24,$54, $07,$54, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $10,$14, $11,$14, $12,$14, $13,$14, $13,$54, $12,$54, $11,$54, $10,$54, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $24,$14, $34,$14, $35,$14, $35,$54, $34,$54, $33,$54 db $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $20,$14, $21,$14, $22,$14, $23,$14, $23,$54, $22,$54, $21,$54, $20,$54, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14, $07,$14 -; a49e -SGBBorderPalettes: ; a49e +SGBBorderPalettes: RGB 24, 06, 06 RGB 24, 24, 26 RGB 14, 15, 20 @@ -1917,13 +1839,10 @@ SGBBorderPalettes: ; a49e RGB 31, 31, 25 RGB 31, 31, 25 -; a51e - -SGBBorder: ; a51e +SGBBorder: INCBIN "gfx/misc/sgb_border.2bpp" -; a8be -Palettes_a8be: ; a8be +Palettes_a8be: RGB 30, 26, 15 RGB 00, 23, 00 @@ -1933,23 +1852,19 @@ Palettes_a8be: ; a8be RGB 30, 26, 15 RGB 31, 00, 00 -Palettes_a8ca: ; a8ca +Palettes_a8ca: RGB 30, 26, 15 RGB 04, 17, 31 -; a8ce -; a8ce INCLUDE "gfx/pics/palette_pointers.asm" -; b0ce -; b0ce INCLUDE "gfx/trainers/palette_pointers.asm" -; b1de -LoadMapPals: ; b1de +LoadMapPals: callba LoadSpecialMapPalette jr c, .got_pals + ; Which palette group is based on whether we're outside or inside ld a, [wPermission] and 7 ld e, a @@ -1960,16 +1875,18 @@ LoadMapPals: ; b1de ld a, [hli] ld h, [hl] ld l, a + ; Futher refine by time of day ld a, [TimeOfDayPal] and 3 -rept 3 add a -endr + add a + add a ld e, a ld d, 0 add hl, de ld e, l ld d, h + ; Switch to palettes WRAM bank ld a, [rSVBK] push af ld a, $5 @@ -1977,14 +1894,14 @@ endr ld hl, UnknBGPals ld b, 8 .outer_loop - ld a, [de] + ld a, [de] ; lookup index for TilesetBGPalette push de push hl ld l, a ld h, 0 -rept 3 - add hl,hl -endr + add hl, hl + add hl, hl + add hl, hl ld de, TilesetBGPalette add hl, de ld e, l @@ -2042,43 +1959,41 @@ endr ld a, $5 call FarCopyWRAM ret -; b279 - -.TilesetColorsPointers: ; b279 - dw TilesetColors1 - dw TilesetColors1 - dw TilesetColors1 - dw TilesetColors2 - dw TilesetColors3 - dw TilesetColors4 - dw TilesetColors2 - dw TilesetColors3 -; b289 - -TilesetColors1: ; b289 - db $00, $01, $02, $28, $04, $05, $06, $07 - db $08, $09, $0a, $28, $0c, $0d, $0e, $0f - db $10, $11, $12, $29, $14, $15, $16, $17 - db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f - -TilesetColors2: ; b289 - db $20, $21, $22, $23, $24, $25, $26, $07 - db $20, $21, $22, $23, $24, $25, $26, $07 - db $10, $11, $12, $13, $14, $15, $16, $07 - db $18, $19, $1a, $1b, $1c, $1d, $1e, $07 - -TilesetColors3: ; b289 - db $00, $01, $02, $03, $04, $05, $06, $07 - db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f - db $10, $11, $12, $13, $14, $15, $16, $17 - db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f - -TilesetColors4: ; b289 - db $00, $01, $02, $03, $04, $05, $06, $07 - db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f - db $10, $11, $12, $13, $14, $15, $16, $17 - db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f -; b309 + +.TilesetColorsPointers: + dw .OutdoorColors ; unused + dw .OutdoorColors ; TOWN + dw .OutdoorColors ; ROUTE + dw .IndoorColors ; INDOOR + dw .DungeonColors ; CAVE + dw .Perm5Colors ; PERM_5 + dw .IndoorColors ; GATE + dw .DungeonColors ; DUNGEON + +; Valid indices: $00 - $29 +.OutdoorColors: + db $00, $01, $02, $28, $04, $05, $06, $07 ; morn + db $08, $09, $0a, $28, $0c, $0d, $0e, $0f ; day + db $10, $11, $12, $29, $14, $15, $16, $17 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark + +.IndoorColors: + db $20, $21, $22, $23, $24, $25, $26, $07 ; morn + db $20, $21, $22, $23, $24, $25, $26, $07 ; day + db $10, $11, $12, $13, $14, $15, $16, $07 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $07 ; dark + +.DungeonColors: + db $00, $01, $02, $03, $04, $05, $06, $07 ; morn + db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day + db $10, $11, $12, $13, $14, $15, $16, $17 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark + +.Perm5Colors: + db $00, $01, $02, $03, $04, $05, $06, $07 ; morn + db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day + db $10, $11, $12, $13, $14, $15, $16, $17 ; nite + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark Palette_b309: ; b309 mobile RGB 31, 31, 31 @@ -2086,26 +2001,22 @@ Palette_b309: ; b309 mobile RGB 30, 10, 06 RGB 00, 00, 00 -; b311 - Palette_b311: ; b311 not mobile RGB 31, 31, 31 RGB 17, 19, 31 RGB 14, 16, 31 RGB 00, 00, 00 -; b319 - -TilesetBGPalette: ; b319 +TilesetBGPalette: INCLUDE "tilesets/bg.pal" -MapObjectPals:: ; b469 +MapObjectPals:: INCLUDE "tilesets/ob.pal" -RoofPals: ; b569 +RoofPals: INCLUDE "tilesets/roof.pal" -Palettes_b641: ; b641 +Palettes_b641: RGB 27, 31, 27 RGB 21, 21, 21 RGB 13, 13, 13 @@ -2146,9 +2057,7 @@ Palettes_b641: ; b641 RGB 07, 07, 12 RGB 00, 00, 00 -; b681 - -Palettes_b681: ; b681 +Palettes_b681: RGB 27, 31, 27 RGB 31, 19, 10 RGB 31, 07, 04 @@ -2219,8 +2128,7 @@ Palettes_b681: ; b681 RGB 20, 15, 03 RGB 07, 07, 07 - -Palettes_b6f1: ; b6f1 +Palettes_b6f1: RGB 31, 31, 31 RGB 18, 23, 31 RGB 15, 20, 31 @@ -2246,8 +2154,7 @@ Palettes_b6f1: ; b6f1 RGB 18, 23, 31 RGB 00, 00, 00 - -Palettes_b719: ; b719 +Palettes_b719: RGB 31, 31, 31 RGB 07, 06, 03 RGB 07, 06, 03 @@ -2258,9 +2165,7 @@ Palettes_b719: ; b719 RGB 26, 22, 00 RGB 00, 00, 00 -; b729 - -MalePokegearPals: ; b729 +MalePokegearPals: RGB 28, 31, 20 RGB 21, 21, 21 RGB 13, 13, 13 @@ -2291,9 +2196,7 @@ MalePokegearPals: ; b729 RGB 15, 07, 00 RGB 31, 00, 00 -; b759 - -FemalePokegearPals: ; b759 +FemalePokegearPals: RGB 28, 31, 20 RGB 21, 21, 21 RGB 13, 13, 13 @@ -2324,9 +2227,7 @@ FemalePokegearPals: ; b759 RGB 15, 07, 00 RGB 31, 00, 00 -; b789 - -Palettes_b789: ; b789 +Palettes_b789: RGB 31, 31, 31 RGB 30, 22, 24 RGB 18, 18, 18 @@ -2347,9 +2248,7 @@ Palettes_b789: ; b789 RGB 18, 18, 18 RGB 00, 00, 00 -; b7a9 - -Palettes_b7a9: ; b7a9 +Palettes_b7a9: RGB 31, 31, 31 RGB 24, 25, 28 RGB 24, 24, 09 @@ -2430,4 +2329,3 @@ Palettes_b7a9: ; b7a9 RGB 00, 00, 00 RGB 00, 00, 00 -; b829 diff --git a/engine/credits.asm b/engine/credits.asm index fc5fb8818..9074b9c65 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -269,7 +269,7 @@ endr .Jumptable: ; 109937 (42:5937) - + dw ParseCredits dw Credits_Next dw Credits_Next @@ -350,17 +350,17 @@ ParseCredits: ; 1099aa ld hl, wJumptableIndex bit 7, [hl] jp nz, .done - + ; Wait until the timer has run out to parse the next command. ld hl, CreditsTimer ld a, [hl] and a jr z, .parse - + ; One tick has passed. dec [hl] jp .done - + .parse ; First, let's clear the current text display, ; starting from line 5. @@ -370,12 +370,12 @@ ParseCredits: ; 1099aa ld bc, 20 * 12 ld a, " " call ByteFill - + ; Then read the script. - + .loop call .get - + ; Commands: cp CREDITS_END jp z, .end @@ -391,9 +391,9 @@ ParseCredits: ; 1099aa jr z, .wait2 cp CREDITS_THEEND jr z, .theend - + ; If it's not a command, it's a string identifier. - + push af ld e, a ld d, 0 @@ -405,27 +405,27 @@ endr ld d, [hl] ld e, a pop af - + ; Strings spanning multiple lines have special cases. - + cp COPYRIGHT jr z, .copyright - + cp STAFF jr c, .staff - + ; The rest start from line 6. hlcoord 0, 6 jr .print - + .copyright hlcoord 2, 6 jr .print - + .staff hlcoord 0, 6 - + .print ; Print strings spaced every two lines. call .get @@ -433,12 +433,12 @@ endr call AddNTimes call PlaceString jr .loop - + .theend ; Display "The End" graphic. call Credits_TheEnd jr .loop - + .scene ; Update the scene number and corresponding palette. call .get @@ -448,13 +448,13 @@ endr call GetCreditsPalette call SetPalettes ; update hw pal registers jr .loop - + .clear ; Clear the banner. ld a, $ff ld [wCreditsBorderFrame], a ; frame jr .loop - + .music ; Play the credits music. ld de, MUSIC_CREDITS @@ -465,26 +465,26 @@ endr pop de call PlayMusic jp .loop - + .wait2 ; Wait for some amount of ticks. call .get ld [CreditsTimer], a jr .done - + .wait ; Wait for some amount of ticks, and do something else. call .get ld [CreditsTimer], a - + xor a ld [hBGMapThird], a ld a, 1 ld [hBGMapMode], a - + .done jp Credits_Next - + .end ; Stop execution. ld hl, wJumptableIndex @@ -507,7 +507,7 @@ endr ld d, a ld hl, CreditsScript add hl, de - + inc de ld a, e ld [CreditsPos], a @@ -614,14 +614,14 @@ endr GetCreditsPalette: ; 109b2c call .GetPalAddress - + push hl ld a, 0 call .UpdatePals pop hl ret - -.GetPalAddress + +.GetPalAddress: ; Each set of palette data is 24 bytes long. ld a, [wCreditsBorderMon] ; scene and 3 @@ -635,10 +635,10 @@ GetCreditsPalette: ; 109b2c add hl, de ; * 3 add hl, de ret - -.UpdatePals + +.UpdatePals: ; Update the first three colors in both palette buffers. - + push af push hl add UnknBGPals % $100 @@ -648,7 +648,7 @@ GetCreditsPalette: ; 109b2c ld d, a ld bc, 24 call CopyBytes - + pop hl pop af add BGPals % $100 diff --git a/engine/crystal_intro.asm b/engine/crystal_intro.asm index df3b297a3..2be7a375e 100755 --- a/engine/crystal_intro.asm +++ b/engine/crystal_intro.asm @@ -129,7 +129,7 @@ endr jp [hl] ; e467f -.dw: ; e467f +.dw ; e467f dw PlaceGameFreakPresents_0 dw PlaceGameFreakPresents_1 dw PlaceGameFreakPresents_2 @@ -154,7 +154,7 @@ PlaceGameFreakPresents_1: ; e468d inc [hl] ret -.PlaceGameFreak +.PlaceGameFreak: ld [hl], 0 ld hl, .GAME_FREAK decoord 5, 10 @@ -166,7 +166,7 @@ PlaceGameFreakPresents_1: ; e468d ret ; e46af -.GAME_FREAK +.GAME_FREAK: ; G A M E _ F R E A K db 0, 1, 2, 3, 13, 4, 5, 3, 1, 6 .end @@ -383,7 +383,7 @@ CrystalIntro: ; e48ac ld a, [hVBlank] push af call .InitRAMAddrs -.loop: ; e48bc +.loop ; e48bc call JoyTextDelay ld a, [hJoyLast] and BUTTONS @@ -396,7 +396,7 @@ CrystalIntro: ; e48ac call DelayFrame jp .loop -.ShutOffMusic +.ShutOffMusic: ld de, MUSIC_NONE call PlayMusic @@ -547,7 +547,7 @@ IntroScene2: ; e49d6 (39:49d6) ld de, SFX_INTRO_UNOWN_1 call PlaySFX pop af -.DontPlaySound +.DontPlaySound: ld [wcf65], a xor a call CrystalIntro_UnownFade @@ -686,27 +686,27 @@ IntroScene6: ; e4af7 (39:4af7) jr z, .FirstUnown jr .NoUnown -.FirstUnown +.FirstUnown: push af depixel 7, 15 call CrystalIntro_InitUnownAnim ld de, SFX_INTRO_UNOWN_2 call PlaySFX pop af -.NoUnown +.NoUnown: ld [wcf65], a xor a call CrystalIntro_UnownFade ret -.SecondUnown +.SecondUnown: push af depixel 14, 6 call CrystalIntro_InitUnownAnim ld de, SFX_INTRO_UNOWN_1 call PlaySFX pop af -.StopUnown +.StopUnown: ld [wcf65], a ld a, $1 call CrystalIntro_UnownFade @@ -1347,7 +1347,7 @@ IntroScene20: ; e5019 (39:5019) ld [hSCY], a ret -.AppearUnown +.AppearUnown: sub $18 ld c, a and $3 @@ -1827,7 +1827,7 @@ endr ret ; e538d (39:538d) -.pal1: ; e538d +.pal1 ; e538d RGB 24, 12, 09 RGB 31, 31, 31 RGB 12, 00, 31 @@ -1835,7 +1835,7 @@ endr ; e5395 -.pal2: ; e5395 +.pal2 ; e5395 RGB 24, 12, 09 RGB 31, 31, 31 RGB 31, 31, 31 @@ -1952,7 +1952,7 @@ Intro_Scene16_AnimateSuicune: ; e5441 (39:5441) jr z, .PrepareForSuicuneSwap ret -.PrepareForSuicuneSwap +.PrepareForSuicuneSwap: xor a ld [hBGMapMode], a ret diff --git a/engine/debug.asm b/engine/debug.asm index d69cd254b..a02f536db 100755 --- a/engine/debug.asm +++ b/engine/debug.asm @@ -1365,7 +1365,7 @@ endr jp [hl] ; 82301 -.dw: ; 82301 +.dw ; 82301 dw Function82309 dw Function82339 dw Function8234b diff --git a/engine/decorations.asm b/engine/decorations.asm index 774a8589a..4bd99c0a5 100755 --- a/engine/decorations.asm +++ b/engine/decorations.asm @@ -52,7 +52,7 @@ _KrisDecorationMenu: ; 0x2675c dw .pointers ; 0x267aa -.pointers: ; 267aa +.pointers ; 267aa dw DecoBedMenu, .bed dw DecoCarpetMenu, .carpet dw DecoPlantMenu, .plant @@ -127,7 +127,7 @@ _KrisDecorationMenu: ; 0x2675c ret ; 26855 (9:6855) -.dw: ; 26855 +.dw ; 26855 dwb FindOwnedBeds, 0 ; bed dwb FindOwnedCarpets, 1 ; carpet dwb FindOwnedPlants, 2 ; plant @@ -211,7 +211,7 @@ FindOwnedBeds: ; 268bd jp FindOwnedDecosInCategory ; 268c5 -.beds: ; 268c5 +.beds ; 268c5 db DECO_FEATHERY_BED ; 2 db DECO_PINK_BED ; 3 db DECO_POLKADOT_BED ; 4 @@ -232,7 +232,7 @@ FindOwnedCarpets: ; 268d2 jp FindOwnedDecosInCategory ; 268da -.carpets: ; 268da +.carpets ; 268da db DECO_RED_CARPET ; 7 db DECO_BLUE_CARPET ; 8 db DECO_YELLOW_CARPET ; 9 @@ -253,7 +253,7 @@ FindOwnedPlants: ; 268e7 jp FindOwnedDecosInCategory ; 268ef -.plants: ; 268ef +.plants ; 268ef db DECO_MAGNAPLANT ; c db DECO_TROPICPLANT ; d db DECO_JUMBOPLANT ; e @@ -273,7 +273,7 @@ FindOwnedPosters: ; 268fb jp FindOwnedDecosInCategory ; 26903 -.posters: ; 26903 +.posters ; 26903 db DECO_TOWN_MAP ; 10 db DECO_PIKACHU_POSTER ; 11 db DECO_CLEFAIRY_POSTER ; 12 @@ -294,7 +294,7 @@ FindOwnedConsoles: ; 26910 jp FindOwnedDecosInCategory ; 26918 -.consoles: ; 26918 +.consoles ; 26918 db DECO_FAMICOM ; 15 db DECO_SNES ; 16 db DECO_N64 ; 17 @@ -315,7 +315,7 @@ FindOwnedOrnaments: ; 26925 jp FindOwnedDecosInCategory ; 2692d -.ornaments: ; 2692d +.ornaments ; 2692d db DECO_PIKACHU_DOLL ; 1e db DECO_SURF_PIKACHU_DOLL ; 1f db DECO_CLEFAIRY_DOLL ; 20 @@ -355,7 +355,7 @@ FindOwnedBigDolls: ; 2694d jp FindOwnedDecosInCategory ; 26955 -.big_dolls: ; 26955 +.big_dolls ; 26955 db DECO_BIG_SNORLAX_DOLL ; 1a db DECO_BIG_ONIX_DOLL ; 1b db DECO_BIG_LAPRAS_DOLL ; 1c @@ -656,37 +656,37 @@ GetDecoName: ; 26c72 ; 26c8c -.invalid: ; 26c8c +.invalid ; 26c8c ret ; 26c8d -.plant: ; 26c8d +.plant ; 26c8d ld a, e jr .getdeconame -.bed: ; 26c90 +.bed ; 26c90 call .plant ld a, _BED jr .getdeconame -.carpet: ; 26c97 +.carpet ; 26c97 call .plant ld a, _CARPET jr .getdeconame -.poster: ; 26c9e +.poster ; 26c9e ld a, e call .getpokename ld a, _POSTER jr .getdeconame -.doll: ; 26ca6 +.doll ; 26ca6 ld a, e call .getpokename ld a, _DOLL jr .getdeconame -.bigdoll: ; 26cae +.bigdoll ; 26cae push de ld a, BIG_ call .getdeconame @@ -694,25 +694,25 @@ GetDecoName: ; 26c72 ld a, e jr .getpokename -.unused: ; 26cb8 +.unused ; 26cb8 push de call .getdeconame pop de ld a, e jr .getdeconame -.getpokename: ; 26cc0 +.getpokename ; 26cc0 push bc ld [wd265], a call GetPokemonName pop bc jr .copy -.getdeconame: ; 26cca +.getdeconame ; 26cca call ._getdeconame jr .copy -._getdeconame: ; 26ccf +._getdeconame ; 26ccf push bc ld hl, DecorationNames call GetNthString @@ -721,7 +721,7 @@ GetDecoName: ; 26c72 pop bc ret -.copy: ; 26cda +.copy ; 26cda ld h, b ld l, c call CopyName2 @@ -957,7 +957,7 @@ DecoAction_SetItUp_Ornament: ; 26de3 ret ; 26e33 -.getwhichside: ; 26e33 +.getwhichside ; 26e33 ld a, [MenuSelection] ld b, a ld a, [wd1ed] diff --git a/engine/dummy_game.asm b/engine/dummy_game.asm index 116ad9439..bb5377d8f 100755 --- a/engine/dummy_game.asm +++ b/engine/dummy_game.asm @@ -6,7 +6,7 @@ _DummyGame: ; e1e5b (38:5e5b) jr nc, .loop ret -.LoadGFXAndPals +.LoadGFXAndPals: call DisableLCD ld b, SCGB_08 call GetSGBLayout @@ -42,7 +42,7 @@ _DummyGame: ; e1e5b (38:5e5b) call DmgToCgbObjPal0 ret -.JumptableLoop +.JumptableLoop: ld a, [wJumptableIndex] bit 7, a jr nz, .quit @@ -56,10 +56,10 @@ _DummyGame: ; e1e5b (38:5e5b) scf ret -.ExecuteJumptable +.ExecuteJumptable: jumptable .Jumptable, wJumptableIndex -.Jumptable +.Jumptable: dw .RestartGame dw .ResetBoard dw .InitBoardTilemapAndCursorObject @@ -70,13 +70,13 @@ _DummyGame: ; e1e5b (38:5e5b) dw .RevealAll dw .AskPlayAgain -.RestartGame +.RestartGame: call DummyGame_InitStrings ld hl, wJumptableIndex inc [hl] ret -.ResetBoard +.ResetBoard: call ret_e00ed jr nc, .proceed ld hl, wJumptableIndex @@ -95,7 +95,7 @@ rept 4 endr ld [hl], a ld [wDummyGameNumCardsMatched], a -.InitBoardTilemapAndCursorObject +.InitBoardTilemapAndCursorObject: ld hl, wDummyGameCounter ld a, [hl] cp 45 @@ -117,7 +117,7 @@ endr inc [hl] ret -.CheckTriesRemaining +.CheckTriesRemaining: ld a, [wDummyGameNumberTriesRemaining] hlcoord 17, 0 add "0" @@ -136,7 +136,7 @@ endr ld [wcf64], a ld hl, wJumptableIndex inc [hl] -.PickCard1 +.PickCard1: ld a, [wcf64] and a ret z @@ -160,7 +160,7 @@ endr inc [hl] ret -.PickCard2 +.PickCard2: ld a, [wcf64] and a ret z @@ -185,7 +185,7 @@ endr ld [wDummyGameCounter], a ld hl, wJumptableIndex inc [hl] -.DelayPickAgain +.DelayPickAgain: ld hl, wDummyGameCounter ld a, [hl] and a @@ -193,19 +193,19 @@ endr dec [hl] ret -.PickAgain +.PickAgain: call DummyGame_CheckMatch ld a, $3 ld [wJumptableIndex], a ret -.RevealAll +.RevealAll: ld a, [hJoypadPressed] and A_BUTTON ret z xor a ld [wDummyGameCounter], a -.RevelationLoop +.RevelationLoop: ld hl, wDummyGameCounter ld a, [hl] cp 45 @@ -231,7 +231,7 @@ endr call WaitPressAorB_BlinkCursor ld hl, wJumptableIndex inc [hl] -.AskPlayAgain +.AskPlayAgain: call ret_e00ed jr nc, .restart ld hl, wJumptableIndex @@ -310,7 +310,7 @@ DummyGame_CheckMatch: ; e2010 call PrintText ret -.VictoryText +.VictoryText: start_asm push bc hlcoord 2, 13 diff --git a/engine/events.asm b/engine/events.asm index 9b701be8a..3bcac8925 100644 --- a/engine/events.asm +++ b/engine/events.asm @@ -456,7 +456,7 @@ DoMapTrigger: ; 968ec rept 4 add hl, de endr - + call GetMapScriptHeaderBank call GetFarHalfword call GetMapScriptHeaderBank @@ -541,11 +541,11 @@ OWPlayerInput: ; 96974 call CheckMenuOW jr c, .Action -.NoAction +.NoAction: xor a ret -.Action +.Action: push af callba Function80422 pop af @@ -581,7 +581,7 @@ TryObjectEvent: ; 969b5 xor a ret -.IsObject +.IsObject: call PlayTalkObject ld a, [hObjectStructIndexBuffer] call GetObjectStruct @@ -687,7 +687,7 @@ TryReadSign: ; 96a38 xor a ret -.IsSign +.IsSign: ld a, [EngineBuffer3] ld hl, .signs rst JumpTable @@ -887,11 +887,11 @@ CheckMenuOW: ; 96b30 scf ret -.NoMenu +.NoMenu: xor a ret -.Select +.Select: call PlayTalkObject ld a, BANK(SelectMenuScript) ld hl, SelectMenuScript @@ -918,11 +918,11 @@ SelectMenuCallback: ; 96b66 end ; 96b72 -.Script ; 96b72 +.Script: ; 96b72 ptjump wQueuedScriptBank ; 96b75 -.Asm ; 96b75 +.Asm: ; 96b75 ptcallasm wQueuedScriptBank end ; 96b79 @@ -994,7 +994,7 @@ CountStep: ; 96b79 ret ; 96bd3 -.unreferenced: ; 96bd3 +.unreferenced ; 96bd3 ld a, 7 scf ret diff --git a/engine/events_2.asm b/engine/events_2.asm index ec5026e40..2e7c37c92 100644 --- a/engine/events_2.asm +++ b/engine/events_2.asm @@ -191,13 +191,13 @@ ChooseWildEncounter_BugContest:: ; 97d31 ld hl, ContestMons ld de, 4 -.CheckMon +.CheckMon: sub [hl] jr c, .GotMon add hl, de jr .CheckMon -.GotMon +.GotMon: inc hl ; Species @@ -218,7 +218,7 @@ ChooseWildEncounter_BugContest:: ; 97d31 ld a, d jr .GotLevel -.RandomLevel +.RandomLevel: ; Get a random level between the min and max. ld c, a inc c @@ -227,7 +227,7 @@ ChooseWildEncounter_BugContest:: ; 97d31 call SimpleDivide add d -.GotLevel +.GotLevel: ld [CurPartyLevel], a xor a @@ -330,7 +330,7 @@ DoBikeStep:: ; 97db3 scf ret -.NoCall +.NoCall: xor a ret ; 97df9 @@ -519,13 +519,13 @@ CmdQueue_Type4: ; 97ebc dw .one ; 97ec3 -.zero: ; 97ec3 +.zero ; 97ec3 ld a, [hSCY] ld hl, 4 add hl, bc ld [hl], a call CmdQueueAnonJT_Increment -.one: ; 97ecd +.one ; 97ecd ld hl, 1 add hl, bc ld a, [hl] @@ -566,11 +566,11 @@ CmdQueue_Type3: ; 97ef9 dw .two ; 97f02 -.zero: ; 97f02 +.zero ; 97f02 call .IsPlayerFacingDown jr z, .PlayerNotFacingDown call CmdQueueAnonJT_Increment -.one: ; 97f0a +.one ; 97f0a call .IsPlayerFacingDown jr z, .PlayerNotFacingDown call CmdQueueAnonJT_Increment @@ -582,7 +582,7 @@ CmdQueue_Type3: ; 97ef9 ret ; 97f1b -.two: ; 97f1b +.two ; 97f1b call .IsPlayerFacingDown jr z, .PlayerNotFacingDown call CmdQueueAnonJT_Decrement diff --git a/engine/events_3.asm b/engine/events_3.asm index 68e6e0d34..b1c142a27 100755 --- a/engine/events_3.asm +++ b/engine/events_3.asm @@ -8,7 +8,7 @@ ReturnFromMapSetupScript:: ; b8000 ret ; b800a -.inefficientcallba: ; b800a +.inefficientcallba ; b800a ld a, [MapGroup] ld b, a ld a, [MapNumber] diff --git a/engine/evolution_animation.asm b/engine/evolution_animation.asm index 1561c70fa..dc0ddd8f6 100755 --- a/engine/evolution_animation.asm +++ b/engine/evolution_animation.asm @@ -259,7 +259,7 @@ endr ret ; 4e794 -.check_statused: ; 4e794 +.check_statused ; 4e794 ld a, [CurPartyMon] ld hl, PartyMon1Species call GetPartyLocation @@ -296,7 +296,7 @@ endr ret ; 4e7cf -.balls_of_light: ; 4e7cf +.balls_of_light ; 4e7cf ld hl, wJumptableIndex ld a, [hl] cp 32 diff --git a/engine/evolve.asm b/engine/evolve.asm index b04a245e0..db7d7e946 100755 --- a/engine/evolve.asm +++ b/engine/evolve.asm @@ -336,7 +336,7 @@ endr ; XXX pop hl -.ReturnToMap +.ReturnToMap: pop de pop bc pop hl @@ -514,17 +514,17 @@ FillMoves: ; 424e1 ld a, [hli] ld h, [hl] ld l, a -.GoToAttacks +.GoToAttacks: ld a, [hli] and a jr nz, .GoToAttacks jr .GetLevel -.NextMove +.NextMove: pop de -.GetMove +.GetMove: inc hl -.GetLevel +.GetLevel: ld a, [hli] and a jp z, .done @@ -539,10 +539,10 @@ FillMoves: ; 424e1 cp b jr nc, .GetMove -.CheckMove +.CheckMove: push de ld c, NUM_MOVES -.CheckRepeat +.CheckRepeat: ld a, [de] inc de cp [hl] @@ -552,7 +552,7 @@ FillMoves: ; 424e1 pop de push de ld c, NUM_MOVES -.CheckSlot +.CheckSlot: ld a, [de] and a jr z, .LearnMove @@ -576,10 +576,10 @@ FillMoves: ; 424e1 call ShiftMoves pop de -.ShiftedMove +.ShiftedMove: pop hl -.LearnMove +.LearnMove: ld a, [hl] ld [de], a ld a, [Buffer1] diff --git a/engine/healmachineanim.asm b/engine/healmachineanim.asm index b4e0be1cf..01ed6d652 100755 --- a/engine/healmachineanim.asm +++ b/engine/healmachineanim.asm @@ -122,7 +122,7 @@ endr ret ; 123db -.dummy_5: ; 123db +.dummy_5 ; 123db ret ; 123dc @@ -168,7 +168,7 @@ INCBIN "gfx/unknown/0123fc.2bpp" ret ; 12451 -.palettes: ; 12451 +.palettes ; 12451 RGB 31, 31, 31 RGB 31, 19, 10 RGB 31, 07, 01 diff --git a/engine/health.asm b/engine/health.asm new file mode 100755 index 000000000..1c926f677 --- /dev/null +++ b/engine/health.asm @@ -0,0 +1,110 @@ +HealParty: ; c658 + xor a + ld [CurPartyMon], a + ld hl, PartySpecies +.loop + ld a, [hli] + cp -1 + jr z, .done + cp EGG + jr z, .next + + push hl + call HealPartyMon + pop hl + +.next + ld a, [CurPartyMon] + inc a + ld [CurPartyMon], a + jr .loop + +.done + ret + +HealPartyMon: ; c677 + ld a, MON_SPECIES + call GetPartyParamLocation + ld d, h + ld e, l + + ld hl, MON_STATUS + add hl, de + xor a + ld [hli], a + ld [hl], a + + ld hl, MON_MAXHP + add hl, de + + ; bc = MON_HP + ld b, h + ld c, l + dec bc + dec bc + + ld a, [hli] + ld [bc], a + inc bc + ld a, [hl] + ld [bc], a + + callba RestoreAllPP + ret + +ComputeHPBarPixels: ; c699 +; e = bc * (6 * 8) / de + ld a, b + or c + jr z, .zero + push hl + xor a + ld [hMultiplicand + 0], a + ld a, b + ld [hMultiplicand + 1], a + ld a, c + ld [hMultiplicand + 2], a + ld a, 6 * 8 + ld [hMultiplier], a + call Multiply + ; We need de to be under 256 because hDivisor is only 1 byte. + ld a, d + and a + jr z, .divide + ; divide de and hProduct by 4 + srl d + rr e + srl d + rr e + ld a, [hProduct + 2] + ld b, a + ld a, [hProduct + 3] + srl b + rr a + srl b + rr a + ld [hDividend + 3], a + ld a, b + ld [hDividend + 2], a +.divide + ld a, e + ld [hDivisor], a + ld b, 4 + call Divide + ld a, [hQuotient + 2] + ld e, a + pop hl + and a + ret nz + ld e, 1 + ret + +.zero + ld e, 0 + ret + +AnimateHPBar: ; c6e0 + call WaitBGMap + call _AnimateHPBar + call WaitBGMap + ret diff --git a/engine/init_gender.asm b/engine/init_gender.asm index 5de576c2a..ff5babdf9 100755 --- a/engine/init_gender.asm +++ b/engine/init_gender.asm @@ -67,7 +67,7 @@ TextJump_AreYouABoyOrAreYouAGirl: ; 0x48e0f InitGenderScreen: ; 48e14 (12:4e14) ld a, $10 ld [MusicFade], a - ld a, $0 + ld a, MUSIC_NONE ld [MusicFadeIDLo], a ld a, $0 ld [MusicFadeIDHi], a diff --git a/engine/intro_menu.asm b/engine/intro_menu.asm index 6ece8e384..ea5c9296a 100755 --- a/engine/intro_menu.asm +++ b/engine/intro_menu.asm @@ -30,7 +30,7 @@ PrintDayOfWeek: ; 5b05 ret ; 5b1c -.Days ; 5b1c +.Days: ; 5b1c db "SUN@" db "MON@" db "TUES@" @@ -40,7 +40,7 @@ PrintDayOfWeek: ; 5b05 db "SATUR@" ; 5b40 -.Day ; 5b40 +.Day: ; 5b40 db "DAY@" ; 5b44 @@ -270,7 +270,7 @@ SetDefaultBoxNames: ; 5ca6 jr c, .loop ret -.Box +.Box: db "BOX@" ; 5cd3 @@ -285,7 +285,7 @@ InitializeMagikarpHouse: ; 5cd3 ret ; 5ce3 -.Ralph ; 5ce3 +.Ralph: ; 5ce3 db "RALPH@" ; 5ce9 @@ -305,15 +305,15 @@ InitializeNPCNames: ; 5ce9 ld hl, .Green ld de, GreensName -.Copy +.Copy: ld bc, NAME_LENGTH call CopyBytes ret -.Rival db "???@" -.Red db "RED@" -.Green db "GREEN@" -.Mom db "MOM@" +.Rival: db "???@" +.Red: db "RED@" +.Green: db "GREEN@" +.Mom: db "MOM@" ; 5d23 InitializeWorld: ; 5d23 @@ -365,13 +365,13 @@ Continue: ; 5d65 call CloseWindow jr .FailToLoad -.Check1Pass +.Check1Pass: call Continue_CheckRTC_RestartClock jr nc, .Check2Pass call CloseWindow jr .FailToLoad -.Check2Pass +.Check2Pass: ld a, $8 ld [MusicFade], a ld a, MUSIC_NONE % $100 @@ -394,10 +394,10 @@ Continue: ; 5d65 ld [hMapEntryMethod], a jp FinishContinueFunction -.FailToLoad +.FailToLoad: ret -.SpawnAfterE4 +.SpawnAfterE4: ld a, SPAWN_NEW_BARK ld [DefaultSpawnpoint], a call PostCreditsSpawn @@ -460,7 +460,7 @@ ConfirmContinue: ; 5e34 scf ret -.PressA +.PressA: ret ; 5e48 @@ -496,7 +496,7 @@ FinishContinueFunction: ; 5e5d jr z, .AfterRed jp Reset -.AfterRed +.AfterRed: call SpawnAfterRed jr .loop ; 5e85 @@ -609,7 +609,7 @@ Continue_DisplayBadgesDexPlayerName: ; 5f1c pop hl ret -.Player +.Player: db "<PLAYER>@" ; 5f40 @@ -794,7 +794,7 @@ NamePlayer: ; 0x6074 callba MovePlayerPicLeft ret -.NewName +.NewName: ld b, 1 ld de, PlayerName callba NamingScreen @@ -819,13 +819,13 @@ NamePlayer: ; 0x6074 bit 0, a jr z, .Male ld de, .Kris -.Male +.Male: call InitName ret -.Chris +.Chris: db "CHRIS@@@@@@" -.Kris +.Kris: db "KRIS@@@@@@@" ; 60e9 @@ -1127,7 +1127,7 @@ TitleScreenScene: ; 62a3 dw TitleScreenEnd ; 62b7 -.NextScene ; Unreferenced +.NextScene: ; Unreferenced ld hl, wJumptableIndex inc [hl] ret diff --git a/engine/items.asm b/engine/items.asm new file mode 100755 index 000000000..81c080dda --- /dev/null +++ b/engine/items.asm @@ -0,0 +1,584 @@ +_ReceiveItem:: ; d1d5 + call DoesHLEqualNumItems + jp nz, PutItemInPocket + push hl + call CheckItemPocket + pop de + ld a, [wItemAttributeParamBuffer] + dec a + ld hl, .Pockets + rst JumpTable + ret + +.Pockets: ; d1e9 + dw .Item + dw .KeyItem + dw .Ball + dw .TMHM + +.Item: ; d1f1 + ld h, d + ld l, e + jp PutItemInPocket + +.KeyItem: ; d1f6 + ld h, d + ld l, e + jp ReceiveKeyItem + +.Ball: ; d1fb + ld hl, NumBalls + jp PutItemInPocket + +.TMHM: ; d201 + ld h, d + ld l, e + ld a, [CurItem] + ld c, a + call GetTMHMNumber + jp ReceiveTMHM + +_TossItem:: ; d20d + call DoesHLEqualNumItems + jr nz, .remove + push hl + call CheckItemPocket + pop de + ld a, [wItemAttributeParamBuffer] + dec a + ld hl, .Pockets + rst JumpTable + ret + +.Pockets: + dw .Item + dw .KeyItem + dw .Ball + dw .TMHM + +.Ball: ; d228 + ld hl, NumBalls + jp RemoveItemFromPocket + +.TMHM: ; d22e + ld h, d + ld l, e + ld a, [CurItem] + ld c, a + call GetTMHMNumber + jp TossTMHM + +.KeyItem: ; d23a + ld h, d + ld l, e + jp TossKeyItem + +.Item: ; d23f + ld h, d + ld l, e + +.remove + jp RemoveItemFromPocket + +_CheckItem:: ; d244 + call DoesHLEqualNumItems + jr nz, .nope + push hl + call CheckItemPocket + pop de + ld a, [wItemAttributeParamBuffer] + dec a + ld hl, .Pockets + rst JumpTable + ret + +.Pockets: + dw .Item + dw .KeyItem + dw .Ball + dw .TMHM + +.Ball: ; d25f + ld hl, NumBalls + jp CheckTheItem + +.TMHM: ; d265 + ld h, d + ld l, e + ld a, [CurItem] + ld c, a + call GetTMHMNumber + jp CheckTMHM + +.KeyItem: ; d271 + ld h, d + ld l, e + jp CheckKeyItems + +.Item: ; d276 + ld h, d + ld l, e + +.nope + jp CheckTheItem + +DoesHLEqualNumItems: ; d27b + ld a, l + cp NumItems % $100 + ret nz + ld a, h + cp NumItems / $100 + ret + +GetPocketCapacity: ; d283 + ld c, MAX_ITEMS + ld a, e + cp NumItems % $100 + jr nz, .not_bag + ld a, d + cp NumItems / $100 + ret z + +.not_bag + ld c, MAX_PC_ITEMS + ld a, e + cp PCItems % $100 + jr nz, .not_pc + ld a, d + cp PCItems / $100 + ret z + +.not_pc + ld c, MAX_BALLS + ret + +PutItemInPocket: ; d29c + ld d, h + ld e, l + inc hl + ld a, [CurItem] + ld c, a + ld b, 0 +.loop + ld a, [hli] + cp -1 + jr z, .terminator + cp c + jr nz, .next + ld a, 99 + sub [hl] + add b + ld b, a + ld a, [wItemQuantityChangeBuffer] + cp b + jr z, .ok + jr c, .ok + +.next + inc hl + jr .loop + +.terminator + call GetPocketCapacity + ld a, [de] + cp c + jr c, .ok + and a + ret + +.ok + ld h, d + ld l, e + ld a, [CurItem] + ld c, a + ld a, [wItemQuantityChangeBuffer] + ld [wItemQuantityBuffer], a +.loop2 + inc hl + ld a, [hli] + cp -1 + jr z, .terminator2 + cp c + jr nz, .loop2 + ld a, [wItemQuantityBuffer] + add [hl] + cp 100 + jr nc, .newstack + ld [hl], a + jr .done + +.newstack + ld [hl], 99 + sub 99 + ld [wItemQuantityBuffer], a + jr .loop2 + +.terminator2 + dec hl + ld a, [CurItem] + ld [hli], a + ld a, [wItemQuantityBuffer] + ld [hli], a + ld [hl], -1 + ld h, d + ld l, e + inc [hl] + +.done + scf + ret + +RemoveItemFromPocket: ; d2ff + ld d, h + ld e, l + ld a, [hli] + ld c, a + ld a, [CurItemQuantity] + cp c + jr nc, .ok ; memory + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, [CurItem] + cp [hl] + inc hl + jr z, .skip + ld h, d + ld l, e + inc hl + +.ok + ld a, [CurItem] + ld b, a +.loop + ld a, [hli] + cp b + jr z, .skip + cp -1 + jr z, .nope + inc hl + jr .loop + +.skip + ld a, [wItemQuantityChangeBuffer] + ld b, a + ld a, [hl] + sub b + jr c, .nope + ld [hl], a + ld [wItemQuantityBuffer], a + and a + jr nz, .yup + dec hl + ld b, h + ld c, l + inc hl + inc hl +.loop2 + ld a, [hli] + ld [bc], a + inc bc + cp -1 + jr nz, .loop2 + ld h, d + ld l, e + dec [hl] + +.yup + scf + ret + +.nope + and a + ret + +CheckTheItem: ; d349 + ld a, [CurItem] + ld c, a +.loop + inc hl + ld a, [hli] + cp -1 + jr z, .done + cp c + jr nz, .loop + scf + ret + +.done + and a + ret + +ReceiveKeyItem: ; d35a + ld hl, NumKeyItems + ld a, [hli] + cp MAX_KEY_ITEMS + jr nc, .nope + ld c, a + ld b, 0 + add hl, bc + ld a, [CurItem] + ld [hli], a + ld [hl], -1 + ld hl, NumKeyItems + inc [hl] + scf + ret + +.nope + and a + ret + +TossKeyItem: ; d374 + ld a, [wd107] + ld e, a + ld d, 0 + ld hl, NumKeyItems + ld a, [hl] + cp e + jr nc, .ok + call .Toss + ret nc + jr .ok2 + +.ok + dec [hl] + inc hl + add hl, de + +.ok2 + ld d, h + ld e, l + inc hl +.loop + ld a, [hli] + ld [de], a + inc de + cp -1 + jr nz, .loop + scf + ret + +.Toss: ; d396 + ld hl, NumKeyItems + ld a, [CurItem] + ld c, a +.loop3 + inc hl + ld a, [hl] + cp c + jr z, .ok3 + cp -1 + jr nz, .loop3 + xor a + ret + +.ok3 + ld a, [NumKeyItems] + dec a + ld [NumKeyItems], a + scf + ret + +CheckKeyItems: ; d3b1 + ld a, [CurItem] + ld c, a + ld hl, KeyItems +.loop + ld a, [hli] + cp c + jr z, .done + cp -1 + jr nz, .loop + and a + ret + +.done + scf + ret + +ReceiveTMHM: ; d3c4 + dec c + ld b, 0 + ld hl, TMsHMs + add hl, bc + ld a, [wItemQuantityChangeBuffer] + add [hl] + cp 100 + jr nc, .toomany + ld [hl], a + scf + ret + +.toomany + and a + ret + +TossTMHM: ; d3d8 + dec c + ld b, 0 + ld hl, TMsHMs + add hl, bc + ld a, [wItemQuantityChangeBuffer] + ld b, a + ld a, [hl] + sub b + jr c, .nope + ld [hl], a + ld [wItemQuantityBuffer], a + jr nz, .yup + ld a, [wTMHMPocketScrollPosition] + and a + jr z, .yup + dec a + ld [wTMHMPocketScrollPosition], a + +.yup + scf + ret + +.nope + and a + ret + +CheckTMHM: ; d3fb + dec c + ld b, $0 + ld hl, TMsHMs + add hl, bc + ld a, [hl] + and a + ret z + scf + ret + +GetTMHMNumber:: ; d407 +; Return the number of a TM/HM by item id c. + + ld a, c + +; Skip any dummy items. + cp ITEM_C3 ; TM04-05 + jr c, .done + cp ITEM_DC ; TM28-29 + jr c, .skip + + dec a +.skip + dec a +.done + sub TM01 + inc a + ld c, a + ret + +GetNumberedTMHM: ; d417 +; Return the item id of a TM/HM by number c. + + ld a, c + +; Skip any gaps. + cp ITEM_C3 - (TM01 - 1) + jr c, .done + cp ITEM_DC - (TM01 - 1) - 1 + jr c, .skip_one + +.skip_two + inc a +.skip_one + inc a +.done + add TM01 + dec a + ld c, a + ret + +_CheckTossableItem:: ; d427 +; Return 1 in wItemAttributeParamBuffer and carry if CurItem can't be removed from the bag. + ld a, ITEMATTR_PERMISSIONS + call GetItemAttr + bit 7, a + jr nz, ItemAttr_ReturnCarry + and a + ret + +CheckSelectableItem: ; d432 +; Return 1 in wItemAttributeParamBuffer and carry if CurItem can't be selected. + ld a, ITEMATTR_PERMISSIONS + call GetItemAttr + bit 6, a + jr nz, ItemAttr_ReturnCarry + and a + ret + +CheckItemPocket:: ; d43d +; Return the pocket for CurItem in wItemAttributeParamBuffer. + ld a, ITEMATTR_POCKET + call GetItemAttr + and $f + ld [wItemAttributeParamBuffer], a + ret + +CheckItemContext: ; d448 +; Return the context for CurItem in wItemAttributeParamBuffer. + ld a, ITEMATTR_HELP + call GetItemAttr + and $f + ld [wItemAttributeParamBuffer], a + ret + +CheckItemMenu: ; d453 +; Return the menu for CurItem in wItemAttributeParamBuffer. + ld a, ITEMATTR_HELP + call GetItemAttr + swap a + and $f + ld [wItemAttributeParamBuffer], a + ret + +GetItemAttr: ; d460 +; Get attribute a of CurItem. + + push hl + push bc + + ld hl, ItemAttributes + ld c, a + ld b, 0 + add hl, bc + + xor a + ld [wItemAttributeParamBuffer], a + + ld a, [CurItem] + dec a + ld c, a + ld a, NUM_ITEMATTRS + call AddNTimes + ld a, BANK(ItemAttributes) + call GetFarByte + + pop bc + pop hl + ret + +ItemAttr_ReturnCarry: ; d47f + ld a, 1 + ld [wItemAttributeParamBuffer], a + scf + ret + +GetItemPrice: ; d486 +; Return the price of CurItem in de. + push hl + push bc + ld a, ITEMATTR_PRICE + call GetItemAttr + ld e, a + ld a, ITEMATTR_PRICE_HI + call GetItemAttr + ld d, a + pop bc + pop hl + ret diff --git a/engine/learn.asm b/engine/learn.asm index 64e73c910..d2751235f 100755 --- a/engine/learn.asm +++ b/engine/learn.asm @@ -243,7 +243,7 @@ Text_1_2_and_Poof: ; 6684 ld hl, .PoofForgot ret -.PoofForgot +.PoofForgot: ; Poof! <MON> forgot <MOVE>. And… text_jump UnknownText_0x1c574e db "@" diff --git a/engine/link.asm b/engine/link.asm index e425ce4d8..14c9c2f4d 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -204,7 +204,7 @@ Gen2ToGen2LinkComms: ; 28177 ld a, $81 ld [rSC], a -.Player1 +.Player1: ld de, MUSIC_NONE call PlayMusic ld c, 3 @@ -1127,7 +1127,7 @@ TimeCapsule_ReplaceTeruSama: ; 28771 pop hl ret -.TimeCapsuleAlt ; 28785 +.TimeCapsuleAlt: ; 28785 ; Pokémon traded from RBY do not have held items, so GSC usually interprets the ; catch rate as an item. However, if the catch rate appears in this table, the ; item associated with the table entry is used instead. diff --git a/engine/link_trade.asm b/engine/link_trade.asm index 395f1f3d3..4f0198549 100755 --- a/engine/link_trade.asm +++ b/engine/link_trade.asm @@ -75,7 +75,7 @@ _LinkTextbox: ; 16d61d ret ; 16d640 -.draw_border: ; 16d640 +.draw_border ; 16d640 push hl ld a, $30 ld [hli], a @@ -107,7 +107,7 @@ _LinkTextbox: ; 16d61d ret ; 16d66d -.fill_row: ; 16d66d +.fill_row ; 16d66d ld d, c .loop4 ld [hli], a diff --git a/engine/mail.asm b/engine/mail.asm index 133a2976e..840e0a925 100755 --- a/engine/mail.asm +++ b/engine/mail.asm @@ -322,7 +322,7 @@ _KrisMailBoxMenu: ; 0x447a0 jp MenuTextBoxBackup ; 0x447b4 -.EmptyMailboxText ; 0x447b4 +.EmptyMailboxText: ; 0x447b4 text_jump _EmptyMailboxText db "@" @@ -431,13 +431,13 @@ MailboxPC: ; 0x44806 ret ; 0x44861 -.JumpTable +.JumpTable: dw .ReadMail dw .PutInPack dw .AttachMail dw .Cancel -.ReadMail ; 0x44869 +.ReadMail: ; 0x44869 call FadeToMenu ld a, [MenuSelection] dec a @@ -446,7 +446,7 @@ MailboxPC: ; 0x44806 jp CloseSubmenu ; 0x44877 -.PutInPack ; 0x44877 +.PutInPack: ; 0x44877 ld hl, .MessageLostText call MenuTextBox call YesNoBox @@ -472,15 +472,15 @@ MailboxPC: ; 0x44806 jp MenuTextBoxBackup ; 0x448ac -.PutAwayText ; 0x448ac +.PutAwayText: ; 0x448ac text_jump ClearedMailPutAwayText db "@" -.PackFullText ; 0x448b1 +.PackFullText: ; 0x448b1 text_jump MailPackFullText db "@" -.MessageLostText ; 0x448b6 +.MessageLostText: ; 0x448b6 text_jump MailMessageLostText db "@" @@ -497,7 +497,7 @@ MailboxPC: ; 0x44806 jp CloseSRAM ; 0x448d2 -.AttachMail ; 0x448d2 +.AttachMail: ; 0x448d2 call FadeToMenu xor a ld [PartyMenuActionText], a @@ -542,19 +542,19 @@ MailboxPC: ; 0x44806 jp CloseSubmenu ; 0x4493c -.HoldingMailText ; 0x4493c +.HoldingMailText: ; 0x4493c text_jump MailAlreadyHoldingItemText db "@" -.EggText ; 0x44941 +.EggText: ; 0x44941 text_jump MailEggText db "@" -.MailMovedText ; 0x44946 +.MailMovedText: ; 0x44946 text_jump MailMovedFromBoxText db "@" -.Cancel +.Cancel: ret .TopMenuDataHeader: ; 0x4494c @@ -564,7 +564,7 @@ MailboxPC: ; 0x44806 dw .TopMenuData2 db 1 ; default option -.TopMenuData2 +.TopMenuData2: db %00010000 ; flags db 4, 0 ; rows/columns? db 1 ; horizontal spacing? @@ -580,7 +580,7 @@ MailboxPC: ; 0x44806 dw .SubMenuData2 db 1 ; default option -.SubMenuData2 +.SubMenuData2: db %10000000 ; flags db 4 ; items db "READ MAIL@" diff --git a/engine/main_menu.asm b/engine/main_menu.asm index 637253c12..bad1682c7 100755 --- a/engine/main_menu.asm +++ b/engine/main_menu.asm @@ -54,7 +54,7 @@ MainMenu: ; 49cdc db "MOBILE STUDIUM@" .Jumptable: ; 0x49d60 - + dw MainMenu_Continue dw MainMenu_NewGame dw MainMenu_Options @@ -202,7 +202,7 @@ MainMenuJoypadLoop: ; 49de4 ld a, [w2DMenuFlags1] set 5, a ld [w2DMenuFlags1], a - call Function1f1a + call GetScrollingMenuJoypad ld a, [wMenuJoypad] cp B_BUTTON jr z, .b_button @@ -250,7 +250,7 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09 call TextBox ret -.TimeFail +.TimeFail: call SpeechTextBox ret ; 49e3d @@ -291,11 +291,11 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09 ret ; 49e7f -.TimeNotSet ; 49e7f +.TimeNotSet: ; 49e7f db "TIME NOT SET@" ; 49e8c -.UnusedText ; 49e8c +.UnusedText: ; 49e8c ; Clock time unknown text_jump UnknownText_0x1c5182 db "@" @@ -317,7 +317,7 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09 ret ; 49ea8 -.Days +.Days: db "SUN@" db "MON@" db "TUES@" @@ -325,7 +325,7 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09 db "THURS@" db "FRI@" db "SATUR@" -.Day +.Day: db "DAY@" ; 49ed0 diff --git a/engine/map_object_action.asm b/engine/map_object_action.asm index b7f98e8d7..63748ce6a 100755 --- a/engine/map_object_action.asm +++ b/engine/map_object_action.asm @@ -191,7 +191,7 @@ Function453f: ; 453f ret ; 456a -.Directions ; 456a +.Directions: ; 456a db OW_DOWN, OW_RIGHT, OW_UP, OW_LEFT ; 456e diff --git a/engine/map_objects.asm b/engine/map_objects.asm index a0ae8bcf2..7a38f3ffe 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -37,7 +37,7 @@ Function437b: ; 437b call .HandleObjectAction ret -.CheckObjectStillVisible +.CheckObjectStillVisible: ld hl, OBJECT_FLAGS2 add hl, bc res 6, [hl] @@ -107,7 +107,7 @@ Function437b: ; 437b and a ret -.HandleStepType +.HandleStepType: ld hl, OBJECT_STEP_TYPE add hl, bc ld a, [hl] @@ -144,7 +144,7 @@ Function437b: ; 437b .bit5 ret -.HandleObjectAction +.HandleObjectAction: ld hl, OBJECT_FLAGS1 add hl, bc bit INVISIBLE, [hl] @@ -534,7 +534,7 @@ MapObjectMovementPattern: ; 47dd rst JumpTable ret -.Pointers ; 47e9 +.Pointers: ; 47e9 dw .Null_00 ; 00 dw .RandomWalkY ; 01 dw .RandomWalkX ; 02 @@ -564,29 +564,29 @@ MapObjectMovementPattern: ; 47dd dw .MovementBoulderDust ; 1a dw .MovementShakingGrass ; 1b -.Null_00 +.Null_00: ret -.RandomWalkY +.RandomWalkY: call Random ld a, [hRandomAdd] and %00000001 jp .RandomWalkContinue -.RandomWalkX +.RandomWalkX: call Random ld a, [hRandomAdd] and %00000001 or %00000010 jp .RandomWalkContinue -.RandomWalkXY +.RandomWalkXY: call Random ld a, [hRandomAdd] and %00000011 jp .RandomWalkContinue -.RandomSpin1 +.RandomSpin1: call Random ld a, [hRandomAdd] and %00001100 @@ -595,7 +595,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], a jp RandomStepDuration_Slow -.RandomSpin2 +.RandomSpin2: ld hl, OBJECT_FACING add hl, bc ld a, [hl] @@ -611,7 +611,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], a jp RandomStepDuration_Fast -.Standing +.Standing: call Function462a call EndSpriteMovement ld hl, OBJECT_ACTION @@ -622,48 +622,48 @@ MapObjectMovementPattern: ; 47dd ld [hl], STEP_TYPE_05 ret -.ObeyDPad +.ObeyDPad: ld hl, Function5000 jp HandleMovementData -.Movement08 +.Movement08: ld hl, Function5015 jp HandleMovementData -.Movement09 +.Movement09: ld hl, Function5026 jp HandleMovementData -.Movement0a +.Movement0a: jp _GetMovementPerson -.Movement0b +.Movement0b: jp _GetMovementPerson -.Movement0c +.Movement0c: jp _GetMovementPerson -.Movement0d +.Movement0d: ld hl, Function5000 jp HandleMovementData -.Movement0e +.Movement0e: jp _GetMovementPerson -.Follow +.Follow: ld hl, GetFollowerNextMovementByte jp HandleMovementData -.Script +.Script: ld hl, GetMovementByte jp HandleMovementData -.Strength +.Strength: call MovementAnonymousJumptable dw .Strength_Start dw .Strength_Stop -.Strength_Start +.Strength_Start: ld hl, OBJECT_NEXT_TILE add hl, bc ld a, [hl] @@ -701,13 +701,13 @@ MapObjectMovementPattern: ; 47dd .on_pit call IncrementObjectMovementByteIndex -.Strength_Stop +.Strength_Stop: ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], STANDING ret -.FollowNotExact +.FollowNotExact: ld hl, OBJECT_NEXT_MAP_X add hl, bc ld d, [hl] @@ -769,7 +769,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], PERSON_ACTION_STAND ret -.MovementBigStanding +.MovementBigStanding: call EndSpriteMovement ld hl, OBJECT_DIRECTION_WALKING add hl, bc @@ -782,7 +782,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], STEP_TYPE_04 ret -.MovementBouncing +.MovementBouncing: call EndSpriteMovement ld hl, OBJECT_DIRECTION_WALKING add hl, bc @@ -795,22 +795,22 @@ MapObjectMovementPattern: ; 47dd ld [hl], STEP_TYPE_04 ret -.MovementSpinCounterclockwise +.MovementSpinCounterclockwise: call MovementAnonymousJumptable dw .MovementSpinInit dw .MovementSpinRepeat dw .MovementSpinTurnLeft -.MovementSpinClockwise +.MovementSpinClockwise: call MovementAnonymousJumptable dw .MovementSpinInit dw .MovementSpinRepeat dw .MovementSpinTurnRight -.MovementSpinInit +.MovementSpinInit: call EndSpriteMovement call IncrementObjectMovementByteIndex -.MovementSpinRepeat +.MovementSpinRepeat: ld hl, OBJECT_ACTION add hl, bc ld [hl], PERSON_ACTION_STAND @@ -827,23 +827,23 @@ MapObjectMovementPattern: ; 47dd call IncrementObjectMovementByteIndex ret -.MovementSpinTurnLeft +.MovementSpinTurnLeft: ld de, .DirectionData_Counterclockwise call .MovementSpinNextFacing jr .MovementSpinCounterclockwise -.DirectionData_Counterclockwise ; 49c0 +.DirectionData_Counterclockwise: ; 49c0 db OW_RIGHT, OW_LEFT, OW_DOWN, OW_UP -.MovementSpinTurnRight +.MovementSpinTurnRight: ld de, .DirectionData_Clockwise call .MovementSpinNextFacing jr .MovementSpinClockwise -.DirectionData_Clockwise ; 49cc +.DirectionData_Clockwise: ; 49cc db OW_LEFT, OW_RIGHT, OW_UP, OW_DOWN -.MovementSpinNextFacing +.MovementSpinNextFacing: ld hl, OBJECT_FACING add hl, bc ld a, [hl] @@ -860,7 +860,7 @@ MapObjectMovementPattern: ; 47dd call DecrementObjectMovementByteIndex ret -.MovementShadow +.MovementShadow: call ._MovementShadow_Grass_Emote_BoulderDust ld hl, OBJECT_ACTION add hl, bc @@ -896,7 +896,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], STEP_TYPE_TRACKING_OBJECT ret -.MovementEmote +.MovementEmote: call EndSpriteMovement call ._MovementShadow_Grass_Emote_BoulderDust ld hl, OBJECT_ACTION @@ -916,7 +916,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], STEP_TYPE_TRACKING_OBJECT ret -.MovementBoulderDust +.MovementBoulderDust: call EndSpriteMovement call ._MovementShadow_Grass_Emote_BoulderDust ld hl, OBJECT_ACTION @@ -960,7 +960,7 @@ MapObjectMovementPattern: ; 47dd db 6, 2 db -6, 2 -.MovementShakingGrass +.MovementShakingGrass: call EndSpriteMovement call ._MovementShadow_Grass_Emote_BoulderDust ld hl, OBJECT_ACTION @@ -978,7 +978,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], STEP_TYPE_TRACKING_OBJECT ret -._MovementShadow_Grass_Emote_BoulderDust +._MovementShadow_Grass_Emote_BoulderDust: ld hl, OBJECT_RANGE add hl, bc ld a, [hl] @@ -994,7 +994,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], d ret -.MovementScreenShake +.MovementScreenShake: call EndSpriteMovement ld hl, OBJECT_ACTION add hl, bc @@ -1014,7 +1014,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], STEP_TYPE_15 ret -._MovementScreenShake +._MovementScreenShake: ld d, a and %00111111 ld e, a @@ -1031,7 +1031,7 @@ MapObjectMovementPattern: ; 47dd add a jr .loop -.RandomWalkContinue +.RandomWalkContinue: call InitStep call Function6ec1 ; check whether the object can move in that direction jr c, .NewDuration @@ -1054,7 +1054,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], STEP_TYPE_PLAYER_WALK ret -.NewDuration +.NewDuration: call EndSpriteMovement call Function462a RandomStepDuration_Slow: ; 4b1d @@ -1131,7 +1131,7 @@ NPCJump: ; 4b86 dw .Jump dw .Land -.Jump +.Jump: call AddStepVector call UpdateJumpPosition ld hl, OBJECT_STEP_DURATION @@ -1146,7 +1146,7 @@ NPCJump: ; 4b86 call IncrementObjectStructField28 ret -.Land +.Land: call AddStepVector call UpdateJumpPosition ld hl, OBJECT_STEP_DURATION @@ -1219,7 +1219,7 @@ TeleportFrom: ; 4c18 dw .DoSpinRise ; 4c23 -.InitSpin +.InitSpin: ld hl, OBJECT_STEP_FRAME add hl, bc ld [hl], 0 @@ -1227,7 +1227,7 @@ TeleportFrom: ; 4c18 add hl, bc ld [hl], 16 call IncrementObjectStructField28 -.DoSpin +.DoSpin: ld hl, OBJECT_ACTION add hl, bc ld [hl], PERSON_ACTION_SPIN @@ -1238,7 +1238,7 @@ TeleportFrom: ; 4c18 call IncrementObjectStructField28 ret -.InitSpinRise +.InitSpinRise: ld hl, OBJECT_STEP_FRAME add hl, bc ld [hl], 0 @@ -1252,7 +1252,7 @@ TeleportFrom: ; 4c18 add hl, bc res 3, [hl] call IncrementObjectStructField28 -.DoSpinRise +.DoSpinRise: ld hl, OBJECT_ACTION add hl, bc ld [hl], PERSON_ACTION_SPIN @@ -1292,7 +1292,7 @@ TeleportTo: ; 4c89 dw .FinishStep ; 4c9a -.InitWait +.InitWait: ld hl, OBJECT_ACTION add hl, bc ld [hl], PERSON_ACTION_00 @@ -1303,13 +1303,13 @@ TeleportTo: ; 4c89 ret ; 4caa -.DoWait +.DoWait: ld hl, OBJECT_STEP_DURATION add hl, bc dec [hl] ret nz call IncrementObjectStructField28 -.InitDescent +.InitDescent: ld hl, OBJECT_STEP_FRAME add hl, bc ld [hl], 0 @@ -1323,7 +1323,7 @@ TeleportTo: ; 4c89 ret ; 4cc9 -.DoDescent +.DoDescent: ld hl, OBJECT_ACTION add hl, bc ld [hl], PERSON_ACTION_SPIN @@ -1343,7 +1343,7 @@ TeleportTo: ; 4c89 dec [hl] ret nz call IncrementObjectStructField28 -.InitFinalSpin +.InitFinalSpin: ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], 16 @@ -1351,7 +1351,7 @@ TeleportTo: ; 4c89 ret ; 4cf5 -.DoFinalSpin +.DoFinalSpin: ld hl, OBJECT_ACTION add hl, bc ld [hl], PERSON_ACTION_SPIN @@ -1359,7 +1359,7 @@ TeleportTo: ; 4c89 add hl, bc dec [hl] ret nz -.FinishStep +.FinishStep: ld hl, OBJECT_STEP_FRAME add hl, bc ld [hl], 0 @@ -1381,7 +1381,7 @@ Skyfall: ; 4d14 dw .Finish ; 4d1f -.Init +.Init: ld hl, OBJECT_ACTION add hl, bc ld [hl], PERSON_ACTION_00 @@ -1389,7 +1389,7 @@ Skyfall: ; 4d14 add hl, bc ld [hl], 16 call IncrementObjectStructField28 -.Step +.Step: ld hl, OBJECT_STEP_DURATION add hl, bc dec [hl] @@ -1407,7 +1407,7 @@ Skyfall: ; 4d14 add hl, bc ld [hl], 16 call IncrementObjectStructField28 -.Fall +.Fall: ld hl, OBJECT_31 add hl, bc inc [hl] @@ -1424,7 +1424,7 @@ Skyfall: ; 4d14 dec [hl] ret nz call IncrementObjectStructField28 -.Finish +.Finish: ld hl, OBJECT_STEP_FRAME add hl, bc ld [hl], 0 @@ -1444,7 +1444,7 @@ GotBiteStep: ; 4d7e dw .Run ; 4d85 -.Init +.Init: ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], 8 @@ -1452,7 +1452,7 @@ GotBiteStep: ; 4d7e add hl, bc ld [hl], 0 call IncrementObjectStructField28 -.Run +.Run: ld hl, OBJECT_SPRITE_Y_OFFSET add hl, bc ld a, [hl] @@ -1476,7 +1476,7 @@ RockSmashStep: ; 4daf jp WaitStep_InPlace ; 4db5 -.Step +.Step: ld hl, OBJECT_STEP_DURATION add hl, bc ld a, [hl] @@ -1548,7 +1548,7 @@ StepType05: ; 4e0c dw .Reset dw StepType04 -.Reset +.Reset: call RestoreDefaultMovement call GetInitialFacing ld hl, OBJECT_FACING @@ -1740,13 +1740,13 @@ StepType15: ; 4f33 dw .Init dw .Run -.Init +.Init: xor a ld hl, OBJECT_29 add hl, bc ld [hl], a call IncrementObjectStructField28 -.Run +.Run: ld hl, OBJECT_29 add hl, bc ld d, [hl] @@ -1772,7 +1772,7 @@ StepType15: ; 4f33 call DeleteMapObject ret -.GetSign +.GetSign: ld hl, OBJECT_30 add hl, bc and 1 @@ -1801,7 +1801,7 @@ SkyfallTop: ; 4f83 dw .Init dw .Run -.Init +.Init: ld hl, OBJECT_ACTION add hl, bc ld [hl], PERSON_ACTION_10 @@ -1942,7 +1942,7 @@ HandleMovementData: ; 5041 jr nz, .loop ret -.StorePointer +.StorePointer: ld a, l ld [wMovementPointer], a ld a, h @@ -2037,7 +2037,7 @@ GetFollowerNextMovementByte: ; 54e6 ld a, movement_step_sleep_1 ret -.CancelFollowIfLeaderMissing +.CancelFollowIfLeaderMissing: ld a, [wObjectFollow_Leader] cp -1 jr z, .nope @@ -2068,7 +2068,7 @@ SpawnShadow: ; 5529 pop bc ret -.ShadowObject +.ShadowObject: ; vtile, palette, movement db $00, PAL_OW_SILVER, SPRITEMOVEDATA_SHADOW ; 5538 @@ -2080,7 +2080,7 @@ SpawnStrengthBoulderDust: ; 5538 pop bc ret -.BoulderDustObject +.BoulderDustObject: db $00, PAL_OW_SILVER, SPRITEMOVEDATA_BOULDERDUST ; 5547 SpawnEmote: ; 5547 @@ -2091,7 +2091,7 @@ SpawnEmote: ; 5547 pop bc ret -.EmoteObject +.EmoteObject: db $00, PAL_OW_SILVER, SPRITEMOVEDATA_EMOTE ; 5556 ShakeGrass: ; 5556 @@ -2116,7 +2116,7 @@ ShakeScreen: ; 5565 pop bc ret -.ScreenShakeObject +.ScreenShakeObject: db $00, PAL_OW_SILVER, SPRITEMOVEDATA_SCREENSHAKE ; 5579 DespawnEmote: ; 5579 @@ -2127,7 +2127,7 @@ DespawnEmote: ; 5579 pop bc ret -.DeleteEmote +.DeleteEmote: ld de, ObjectStructs ld a, NUM_OBJECT_STRUCTS .loop @@ -2475,7 +2475,7 @@ HandleNPCStep:: ; 576a call .DoStepsForAllObjects ret -.ResetStepVector +.ResetStepVector: xor a ld [wPlayerStepVectorX], a ld [wPlayerStepVectorY], a @@ -2484,7 +2484,7 @@ HandleNPCStep:: ; 576a ld [wPlayerStepDirection], a ret -.DoStepsForAllObjects +.DoStepsForAllObjects: ld bc, ObjectStructs xor a .loop @@ -2871,7 +2871,7 @@ PRIORITY_HIGH EQU $30 call .InitSpritesByPriority ret -.DeterminePriorities +.DeterminePriorities: xor a ld hl, wMovementPointer ld bc, NUM_OBJECT_STRUCTS @@ -2924,7 +2924,7 @@ PRIORITY_HIGH EQU $30 jr nz, .loop ret -.InitSpritesByPriority +.InitSpritesByPriority: ld hl, wMovementPointer .next_sprite ld a, [hli] @@ -2943,7 +2943,7 @@ PRIORITY_HIGH EQU $30 pop bc jr .next_sprite -.InitSprite +.InitSprite: ld hl, OBJECT_SPRITE_TILE add hl, bc ld a, [hl] @@ -3069,7 +3069,7 @@ PRIORITY_HIGH EQU $30 scf ret -.GetObjectStructPointer +.GetObjectStructPointer: ld c, a ld b, 0 ld hl, .Addresses @@ -3080,7 +3080,7 @@ PRIORITY_HIGH EQU $30 ld b, [hl] ret -.Addresses ; 5ace +.Addresses: ; 5ace dw PlayerStruct dw Object1Struct dw Object2Struct diff --git a/engine/map_setup.asm b/engine/map_setup.asm index 8fa768c87..952c12ac1 100644 --- a/engine/map_setup.asm +++ b/engine/map_setup.asm @@ -248,7 +248,7 @@ MapSetupCommands: ; 15440 dba EnterMapMusic ; 07 dba ForceMapMusic ; 08 dba FadeInMusic ; 09 - dba LoadBlockData ; 0a + dba LoadBlockData ; 0a (callback 1) dba LoadNeighboringBlockData ; 0b dba SaveScreen ; 0c dba BufferScreen ; 0d diff --git a/engine/mart.asm b/engine/mart.asm index 5ee700951..f756d3bc2 100755 --- a/engine/mart.asm +++ b/engine/mart.asm @@ -143,7 +143,7 @@ GetMart: ; 15b31 ld de, DefaultMart ret -.IsAMart +.IsAMart: ld hl, Marts rept 2 add hl, de @@ -165,7 +165,7 @@ StandardMart: ; 15b47 jr nz, .loop ret -.MartFunctions +.MartFunctions: dw .HowMayIHelpYou dw .TopMenu dw .Buy @@ -241,7 +241,7 @@ FarReadMart: ; 15bbb ld h, [hl] ld l, a ld de, CurMart -.CopyMart +.CopyMart: ld a, [MartPointerBank] call GetFarByte ld [de], a @@ -251,7 +251,7 @@ FarReadMart: ; 15bbb jr nz, .CopyMart ld hl, wMartItem1BCD ld de, CurMart + 1 -.ReadMartItem +.ReadMartItem: ld a, [de] inc de cp -1 @@ -299,7 +299,7 @@ GetMartPrice: ; 15bf0 ret ; 15c1a -.CharToNybble ; 15c1a +.CharToNybble: ; 15c1a ld a, [de] inc de cp " " @@ -427,7 +427,7 @@ endr ret ; 15cb0 -.MartTextFunctionPointers ; 15cb0 +.MartTextFunctionPointers: ; 15cb0 dwb .StandardMartPointers, 0 dwb .HerbShopPointers, 0 dwb .BargainShopPointers, 1 @@ -592,7 +592,7 @@ endr and a ret -.SoldOut +.SoldOut: ld a, MARTTEXT_SOLD_OUT call LoadBuyMenuText call JoyWaitAorB @@ -651,7 +651,7 @@ MenuDataHeader_Buy: ; 0x15e18 db 1 ; default option ; 0x15e20 -.menudata2: ; 0x15e20 +.menudata2 ; 0x15e20 db $30 ; pointers db 4, 8 ; rows, columns db 1 ; horizontal spacing @@ -846,7 +846,7 @@ SellMenu: ; 15eb3 ret ; 15eee -.dw: ; 15eee +.dw ; 15eee dw .try_sell dw .cant_buy dw .cant_buy @@ -856,12 +856,12 @@ SellMenu: ; 15eb3 dw .try_sell ; 15efc -.cant_buy: ; 15efc +.cant_buy ; 15efc ret ; 15efd -.try_sell: ; 15efd +.try_sell ; 15efd callba _CheckTossableItem ld a, [wItemAttributeParamBuffer] and a @@ -936,7 +936,7 @@ MenuDataHeader_BuySell: ; 0x15f88 db 1 ; default option ; 0x15f90 -.menudata2: ; 0x15f90 +.menudata2 ; 0x15f90 db $80 ; strings db 3 ; items db "BUY@" diff --git a/engine/menu.asm b/engine/menu.asm index 074b2a28c..870ca89bf 100755 --- a/engine/menu.asm +++ b/engine/menu.asm @@ -414,7 +414,7 @@ _2DMenuInterpretJoypad: ; 24270 and a ret -.set_bit_7: ; 24299 +.set_bit_7 ; 24299 ld hl, w2DMenuFlags2 set 7, [hl] scf @@ -515,7 +515,7 @@ _2DMenuInterpretJoypad: ; 24270 ret ; 24318 -.a_b_start_select: ; 24318 +.a_b_start_select ; 24318 xor a ret ; 2431a @@ -654,7 +654,7 @@ _PushWindow:: ; 24374 ret ; 243cd -.copy: ; 243cd +.copy ; 243cd call GetMenuBoxDims inc b inc c @@ -681,7 +681,7 @@ _PushWindow:: ; 24374 ret ; 243e7 -.ret: ; 243e7 +.ret ; 243e7 ret ; 243e8 @@ -763,7 +763,7 @@ Error_Cant_ExitMenu: ; 2445d ld hl, .Text_NoWindowsAvailableForPopping call PrintText call WaitBGMap -.InfiniteLoop +.InfiniteLoop: jr .InfiniteLoop ; 24468 diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm index 5e41cd4a1..4b7f03bfb 100755 --- a/engine/mon_icons.asm +++ b/engine/mon_icons.asm @@ -14,7 +14,7 @@ LoadOverworldMonIcon: ; 8e82b ret ; 8e83f -Function8e83f: ; 8e83f +LoadMenuMonIcon: ; 8e83f push hl push de push bc @@ -28,9 +28,8 @@ Function8e83f: ; 8e83f .LoadIcon: ; 8e849 ld d, 0 ld hl, .Jumptable -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a @@ -39,13 +38,13 @@ endr .Jumptable: ; 8e854 (23:6854) - dw Function8e8d5 ; init - dw Function8e961 - dw Function8e97d - dw Trade_LoadMonIconGFX - dw Function8e898 - dw Mobile_InitPartyMenuBGPal71 - dw .GetPartyMenuMonIcon + dw Function8e8d5 ; party menu + dw Function8e961 ; naming screen + dw Function8e97d ; moves (?) + dw Trade_LoadMonIconGFX ; trade + dw Function8e898 ; mobile + dw Mobile_InitPartyMenuBGPal71 ; mobile + dw .GetPartyMenuMonIcon ; unused .GetPartyMenuMonIcon: ; 8e862 (23:6862) @@ -89,7 +88,7 @@ Function8e898: ; 8e898 (23:6898) call Function8e8d5 ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc - ld a, $0 + ld a, SPRITE_ANIM_SEQ_NULL ld [hl], a ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc @@ -106,7 +105,7 @@ Mobile_InitPartyMenuBGPal71: ; 8e8b1 (23:68b1) call SetPartyMonIconAnimSpeed ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc - ld a, $0 + ld a, SPRITE_ANIM_SEQ_NULL ld [hl], a ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc @@ -203,7 +202,7 @@ SetPartyMonIconAnimSpeed: ; 8e936 (23:6936) ld [hl], a ret -.getspeed: ; 8e94c (23:694c) +.getspeed ; 8e94c (23:694c) callba PlacePartymonHPBar call GetHPPal ld e, d @@ -214,7 +213,7 @@ SetPartyMonIconAnimSpeed: ; 8e936 (23:6936) ret ; 8e95e (23:695e) -.speeds: ; 8e95e +.speeds ; 8e95e db $00, $40, $80 ; 8e961 @@ -229,7 +228,7 @@ Function8e961: ; 8e961 (23:6961) call InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc - ld [hl], $0 + ld [hl], SPRITE_ANIM_SEQ_NULL ret Function8e97d: ; 8e97d (23:697d) diff --git a/engine/mon_menu.asm b/engine/mon_menu.asm index f560b1b15..a6dcf0eb7 100755 --- a/engine/mon_menu.asm +++ b/engine/mon_menu.asm @@ -148,7 +148,7 @@ GetMonMenuString: ; 24db0 call GetMoveName ret -.NotMove +.NotMove: inc hl ld a, [hl] dec a diff --git a/engine/money.asm b/engine/money.asm index aa1d7b696..874821814 100755 --- a/engine/money.asm +++ b/engine/money.asm @@ -191,7 +191,7 @@ GiveCoins:: ; 1606f ret ; 1608d -.maxcoins: ; 1608d +.maxcoins ; 1608d bigdw 9999 ; 1608f diff --git a/engine/move_mon.asm b/engine/move_mon.asm index 0a8c340ed..310eab8c2 100755 --- a/engine/move_mon.asm +++ b/engine/move_mon.asm @@ -655,7 +655,7 @@ SentGetPkmnIntoFromBox: ; db3f dec a ld b, a call Functiondcb6 -.CloseSRAM_And_ClearCarryFlag +.CloseSRAM_And_ClearCarryFlag: call CloseSRAM and a ret @@ -1032,7 +1032,7 @@ SentPkmnIntoBox: ; de6e ret ; df42 -.full: ; df42 +.full ; df42 call CloseSRAM and a ret @@ -1481,30 +1481,30 @@ endr pop bc jr .GotDV -.Attack +.Attack: ld a, [hl] swap a and $f jr .GotDV -.Defense +.Defense: ld a, [hl] and $f jr .GotDV -.Speed +.Speed: inc hl ld a, [hl] swap a and $f jr .GotDV -.Special +.Special: inc hl ld a, [hl] and $f -.GotDV +.GotDV: ld d, 0 add e ld e, a diff --git a/engine/movement.asm b/engine/movement.asm index ca3ac55b5..5a05aab49 100644 --- a/engine/movement.asm +++ b/engine/movement.asm @@ -55,8 +55,8 @@ MovementPointers: ; 5075 dw Movement_fast_jump_step_up ; 35 dw Movement_fast_jump_step_left ; 36 dw Movement_fast_jump_step_right ; 37 - dw Movement_38 ; 38 - dw Movement_39 ; 39 + dw Movement_remove_sliding ; 38 + dw Movement_set_sliding ; 39 dw Movement_remove_fixed_facing ; 3a dw Movement_fix_facing ; 3b dw Movement_show_person ; 3c @@ -85,7 +85,7 @@ MovementPointers: ; 5075 dw Movement_hide_emote ; 53 dw Movement_show_emote ; 54 dw Movement_step_shake ; 55 - dw Movement_56 ; 56 + dw Movement_tree_shake ; 56 dw Movement_rock_smash ; 57 dw Movement_return_dig ; 58 dw Movement_skyfall_top ; 59 @@ -353,7 +353,7 @@ Movement_step_bump: ; 525f ret ; 5279 -Movement_56: ; 5279 +Movement_tree_shake: ; 5279 ld a, 24 ld hl, OBJECT_STEP_DURATION add hl, bc @@ -373,14 +373,14 @@ Movement_56: ; 5279 ret ; 5293 -Movement_38: ; 5293 +Movement_remove_sliding: ; 5293 ld hl, OBJECT_FLAGS1 add hl, bc res SLIDING, [hl] jp ContinueReadingMovement ; 529c -Movement_39: ; 529c +Movement_set_sliding: ; 529c ld hl, OBJECT_FLAGS1 add hl, bc set SLIDING, [hl] diff --git a/engine/mysterygift.asm b/engine/mysterygift.asm index 0360bc74f..5e6d317ba 100755 --- a/engine/mysterygift.asm +++ b/engine/mysterygift.asm @@ -198,9 +198,9 @@ DoMysteryGift: ; 1048ba (41:48ba) inc hl dec d jr .loop -.Yes +.Yes: scf -.No +.No: jp CloseSRAM .AddMysteryGiftPartnerID: ; 104a56 (41:4a56) @@ -1350,7 +1350,7 @@ Function105153: ; 105153 (41:5153) .Load16GFX: ; 105236 (41:5236) ld b, 16 -.gfx_loop: ; 105238 (41:5238) +.gfx_loop ; 105238 (41:5238) ld [hli], a inc a dec b @@ -1368,7 +1368,7 @@ Function105153: ; 105153 (41:5153) .Load14Column: ; 105246 (41:5246) ld b, 14 -.col_loop: ; 105248 (41:5248) +.col_loop ; 105248 (41:5248) ld [hl], a ld de, SCREEN_WIDTH add hl, de @@ -1651,7 +1651,7 @@ Function1057d7: ; 1057d7 (41:57d7) .Load12Row: ; 1058ce (41:58ce) ld b, 12 -.row_loop: ; 1058d0 (41:58d0) +.row_loop ; 1058d0 (41:58d0) ld [hli], a inc a dec b @@ -1669,7 +1669,7 @@ Function1057d7: ; 1057d7 (41:57d7) .Load14Column: ; 1058de (41:58de) ld b, 14 -.column_loop: ; 1058e0 (41:58e0) +.column_loop ; 1058e0 (41:58e0) ld [hl], a ld de, SCREEN_WIDTH add hl, de diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm index ac56ec250..d9fe253fb 100755 --- a/engine/namingscreen.asm +++ b/engine/namingscreen.asm @@ -88,10 +88,10 @@ endr .Pokemon: ; 1173e (4:573e) ld a, [CurPartySpecies] ld [wd265], a - ld hl, Function8e83f - ld a, BANK(Function8e83f) + ld hl, LoadMenuMonIcon + ld a, BANK(LoadMenuMonIcon) ld e, $1 - rst FarCall ; ; indirect jump to Function8e83f (8e83f (23:683f)) + rst FarCall ; ; indirect jump to LoadMenuMonIcon (8e83f (23:683f)) ld a, [CurPartySpecies] ld [wd265], a call GetPokemonName @@ -211,7 +211,7 @@ endr ; 11839 (4:5839) -.oTomodachi_no_namae_sutoringu: ; 11839 +.oTomodachi_no_namae_sutoringu ; 11839 db "おともだち の なまえは?@" ; 11847 @@ -1076,7 +1076,7 @@ _ComposeMailMessage: ; 11e75 (mail?) INCBIN "gfx/icon/mail2.2bpp" ; 11f74 -.initwNamingScreenMaxNameLength: ; 11f74 (4:5f74) +.initwNamingScreenMaxNameLength ; 11f74 (4:5f74) ld a, MAIL_MSG_LENGTH + 1 ld [wNamingScreenMaxNameLength], a ret @@ -1176,7 +1176,7 @@ endr dw .init_blinking_cursor dw .process_joypad -.init_blinking_cursor: ; 1201b (4:601b) +.init_blinking_cursor ; 1201b (4:601b) depixel 9, 2 ld a, SPRITE_ANIM_INDEX_09 call _InitSpriteAnimStruct @@ -1194,7 +1194,7 @@ endr inc [hl] ret -.process_joypad: ; 1203a (4:603a) +.process_joypad ; 1203a (4:603a) ld hl, hJoyPressed ; $ffa7 ld a, [hl] and A_BUTTON diff --git a/engine/options_menu.asm b/engine/options_menu.asm index f6d8392d9..00799395a 100755 --- a/engine/options_menu.asm +++ b/engine/options_menu.asm @@ -52,7 +52,7 @@ _OptionsMenu: ; e41d0 call DelayFrames jr .joypad_loop -.ExitOptions +.ExitOptions: ld de, SFX_TRANSACTION call PlaySFX call WaitSFX @@ -94,7 +94,7 @@ endr jp [hl] ; jump to the code of the current highlighted item ; e42e5 -.Pointers +.Pointers: dw Options_TextSpeed dw Options_BattleScene dw Options_BattleStyle @@ -118,29 +118,29 @@ Options_TextSpeed: ; e42f5 jr c, .Increase ld c, FAST_TEXT +- 1 -.Increase +.Increase: inc c ld a, e jr .Save -.LeftPressed +.LeftPressed: ld a, c and a jr nz, .Decrease ld c, SLOW_TEXT + 1 -.Decrease +.Decrease: dec c ld a, d -.Save +.Save: ld b, a ld a, [Options] and $f0 or b ld [Options], a -.NonePressed +.NonePressed: ld b, 0 ld hl, .Strings rept 2 @@ -155,16 +155,16 @@ endr ret ; e4331 -.Strings +.Strings: dw .Fast dw .Mid dw .Slow -.Fast +.Fast: db "FAST@" -.Mid +.Mid: db "MID @" -.Slow +.Slow: db "SLOW@" ; e4346 @@ -203,35 +203,35 @@ Options_BattleScene: ; e4365 jr nz, .ToggleOn jr .ToggleOff -.LeftPressed +.LeftPressed: bit BATTLE_SCENE, [hl] jr z, .ToggleOff jr .ToggleOn -.NonePressed +.NonePressed: bit BATTLE_SCENE, [hl] jr z, .ToggleOn jr .ToggleOff -.ToggleOn +.ToggleOn: res BATTLE_SCENE, [hl] ld de, .On jr .Display -.ToggleOff +.ToggleOff: set BATTLE_SCENE, [hl] ld de, .Off -.Display +.Display: hlcoord 11, 5 call PlaceString and a ret ; e4398 -.On +.On: db "ON @" -.Off +.Off: db "OFF@" ; e43a0 @@ -247,34 +247,34 @@ Options_BattleStyle: ; e43a0 jr nz, .ToggleShift jr .ToggleSet -.LeftPressed +.LeftPressed: bit BATTLE_SHIFT, [hl] jr z, .ToggleSet jr .ToggleShift -.NonePressed +.NonePressed: bit BATTLE_SHIFT, [hl] jr nz, .ToggleSet -.ToggleShift +.ToggleShift: res BATTLE_SHIFT, [hl] ld de, .Shift jr .Display -.ToggleSet +.ToggleSet: set BATTLE_SHIFT, [hl] ld de, .Set -.Display +.Display: hlcoord 11, 7 call PlaceString and a ret ; e43d1 -.Shift +.Shift: db "SHIFT@" -.Set +.Set: db "SET @" ; e43dd @@ -290,41 +290,41 @@ Options_Sound: ; e43dd jr nz, .SetMono jr .SetStereo -.LeftPressed +.LeftPressed: bit STEREO, [hl] jr z, .SetStereo jr .SetMono -.NonePressed +.NonePressed: bit STEREO, [hl] jr nz, .ToggleStereo jr .ToggleMono -.SetMono +.SetMono: res STEREO, [hl] call RestartMapMusic -.ToggleMono +.ToggleMono: ld de, .Mono jr .Display -.SetStereo +.SetStereo: set STEREO, [hl] call RestartMapMusic -.ToggleStereo +.ToggleStereo: ld de, .Stereo -.Display +.Display: hlcoord 11, 9 call PlaceString and a ret ; e4416 -.Mono +.Mono: db "MONO @" -.Stereo +.Stereo: db "STEREO@" ; e4424 @@ -341,26 +341,26 @@ Options_Print: ; e4424 jr c, .Increase ld c, -1 -.Increase +.Increase: inc c ld a, e jr .Save -.LeftPressed +.LeftPressed: ld a, c and a jr nz, .Decrease ld c, 5 -.Decrease +.Decrease: dec c ld a, d -.Save +.Save: ld b, a ld [GBPrinter], a -.NonePressed +.NonePressed: ld b, $0 ld hl, .Strings rept 2 @@ -375,22 +375,22 @@ endr ret ; e445a -.Strings +.Strings: dw .Lightest dw .Lighter dw .Normal dw .Darker dw .Darkest -.Lightest +.Lightest: db "LIGHTEST@" -.Lighter +.Lighter: db "LIGHTER @" -.Normal +.Normal: db "NORMAL @" -.Darker +.Darker: db "DARKER @" -.Darkest +.Darkest: db "DARKEST @" ; e4491 @@ -409,22 +409,22 @@ GetPrinterSetting: ; e4491 lb de, PRINT_LIGHTER, PRINT_DARKER ; the 2 values next to this setting ret -.IsLightest +.IsLightest: ld c, 0 lb de, PRINT_DARKEST, PRINT_LIGHTER ; the 2 values next to this setting ret -.IsLight +.IsLight: ld c, 1 lb de, PRINT_LIGHTEST, PRINT_NORMAL ; the 2 values next to this setting ret -.IsDark +.IsDark: ld c, 3 lb de, PRINT_NORMAL, PRINT_DARKEST ; the 2 values next to this setting ret -.IsDarkest +.IsDarkest: ld c, 4 lb de, PRINT_DARKER, PRINT_LIGHTEST ; the 2 values next to this setting ret @@ -441,34 +441,34 @@ Options_MenuAccount: ; e44c1 jr nz, .ToggleOff jr .ToggleOn -.LeftPressed +.LeftPressed: bit MENU_ACCOUNT, [hl] jr z, .ToggleOn jr .ToggleOff -.NonePressed +.NonePressed: bit MENU_ACCOUNT, [hl] jr nz, .ToggleOn -.ToggleOff +.ToggleOff: res MENU_ACCOUNT, [hl] ld de, .Off jr .Display -.ToggleOn +.ToggleOn: set MENU_ACCOUNT, [hl] ld de, .On -.Display +.Display: hlcoord 11, 13 call PlaceString and a ret ; e44f2 -.Off +.Off: db "OFF@" -.On +.On: db "ON @" ; e44fa @@ -483,16 +483,16 @@ Options_Frame: ; e44fa and a ret -.RightPressed +.RightPressed: ld a, [hl] inc a jr .Save -.LeftPressed +.LeftPressed: ld a, [hl] dec a -.Save +.Save: and $7 ld [hl], a UpdateFrame: ; e4512 @@ -512,7 +512,7 @@ Options_Cancel: ; e4520 and a ret -.Exit +.Exit: scf ret ; e452a @@ -527,7 +527,7 @@ OptionsControl: ; e452a and a ret -.DownPressed +.DownPressed: ld a, [hl] ; load the cursor position to a cp $7 ; maximum number of items in option menu jr nz, .CheckFive @@ -535,17 +535,17 @@ OptionsControl: ; e452a scf ret -.CheckFive ; I have no idea why this exists... +.CheckFive: ; I have no idea why this exists... cp $5 jr nz, .Increase ld [hl], $5 -.Increase +.Increase: inc [hl] scf ret -.UpPressed +.UpPressed: ld a, [hl] cp $6 jr nz, .NotSix @@ -553,12 +553,12 @@ OptionsControl: ; e452a scf ret -.NotSix +.NotSix: and a jr nz, .Decrease ld [hl], $8 ; number of option items +1 -.Decrease +.Decrease: dec [hl] scf ret diff --git a/engine/overworld.asm b/engine/overworld.asm index e1d50d0b8..5e12b09a2 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -95,14 +95,14 @@ GetPlayerSprite: ; 14183 ld [PlayerObjectSprite], a ret -.Chris +.Chris: db PLAYER_NORMAL, SPRITE_CHRIS db PLAYER_BIKE, SPRITE_CHRIS_BIKE db PLAYER_SURF, SPRITE_SURF db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU db $ff -.Kris +.Kris: db PLAYER_NORMAL, SPRITE_KRIS db PLAYER_BIKE, SPRITE_KRIS_BIKE db PLAYER_SURF, SPRITE_SURF @@ -241,11 +241,11 @@ GetMonSprite: ; 14259 jr nc, .Variable jr .Icon -.Normal +.Normal: and a ret -.Icon +.Icon: sub SPRITE_POKEMON ld e, a ld d, 0 @@ -261,7 +261,7 @@ GetMonSprite: ; 14259 .wBreedMon2 ld a, [wBreedMon2Species] -.Mon +.Mon: ld e, a and a jr z, .NoBreedmon @@ -273,7 +273,7 @@ GetMonSprite: ; 14259 scf ret -.Variable +.Variable: sub SPRITE_VARS ld e, a ld d, 0 @@ -283,7 +283,7 @@ GetMonSprite: ; 14259 and a jp nz, GetMonSprite -.NoBreedmon +.NoBreedmon: ld a, 1 ld l, 1 ld h, 0 @@ -410,7 +410,7 @@ LoadSpriteGFX: ; 14306 .done ret -.LoadSprite +.LoadSprite: call GetSprite ld a, l ret @@ -424,7 +424,7 @@ SortUsedSprites: ; 1431e ld c, SPRITE_GFX_LIST_CAPACITY ld de, UsedSprites + (SPRITE_GFX_LIST_CAPACITY - 1) * 2 -.FindLastSprite +.FindLastSprite: ld a, [de] and a jr nz, .FoundLastSprite @@ -433,7 +433,7 @@ rept 2 endr dec c jr nz, .FindLastSprite -.FoundLastSprite +.FoundLastSprite: dec c jr z, .quit @@ -443,12 +443,12 @@ endr inc de ld hl, UsedSprites + 1 -.CheckSprite +.CheckSprite: push bc push de push hl -.CheckFollowing +.CheckFollowing: ld a, [de] cp [hl] jr nc, .loop @@ -499,7 +499,7 @@ ArrangeUsedSprites: ; 14355 ld hl, UsedSprites ld c, SPRITE_GFX_LIST_CAPACITY ld b, 0 -.FirstTableLength +.FirstTableLength: ; Keep going until the end of the list. ld a, [hli] and a @@ -523,11 +523,11 @@ ArrangeUsedSprites: ; 14355 dec c jr nz, .FirstTableLength -.SecondTable +.SecondTable: ; The second tile table starts at tile $80. ld b, $80 dec hl -.SecondTableLength +.SecondTableLength: ; Keep going until the end of the list. ld a, [hli] and a @@ -565,11 +565,11 @@ GetSpriteLength: ; 14386 ld a, 12 ret -.AnyDirection +.AnyDirection: ld a, 12 ret -.OneDirection +.OneDirection: ld a, 4 ret ; 1439b diff --git a/engine/pack.asm b/engine/pack.asm index 8d1b63232..ff80dce23 100644 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -28,7 +28,7 @@ Pack: ; 10000 ; 10030 .Jumptable: ; 10030 (4:4030) - + dw .InitGFX ; 0 dw .InitItemsPocket ; 1 dw .ItemsPocketMenu ; 2 @@ -163,7 +163,7 @@ Pack: ; 10000 ; 0x10137 .Jumptable1: ; 10137 - + dw .UseItem dw QuitItemSubmenu @@ -328,7 +328,7 @@ MenuDataHeader_UsableKeyItem: ; 0x10249 ; 0x1026a Jumptable_UseGiveTossRegisterQuit: ; 1026a - + dw UseItem dw GiveItem dw TossMenu @@ -354,7 +354,7 @@ MenuDataHeader_UsableItem: ; 0x10274 ; 0x10291 Jumptable_UseGiveTossQuit: ; 10291 - + dw UseItem dw GiveItem dw TossMenu @@ -377,7 +377,7 @@ MenuDataHeader_UnusableItem: ; 0x10299 ; 0x102ac Jumptable_UseQuit: ; 102ac - + dw UseItem dw QuitItemSubmenu ; 102b0 @@ -399,7 +399,7 @@ MenuDataHeader_UnusableKeyItem: ; 0x102b0 ; 0x102c7 Jumptable_UseRegisterQuit: ; 102c7 - + dw UseItem dw RegisterItem dw QuitItemSubmenu @@ -423,7 +423,7 @@ MenuDataHeader_HoldableKeyItem: ; 0x102cd ; 0x102ea Jumptable_GiveTossRegisterQuit: ; 102ea - + dw GiveItem dw TossMenu dw RegisterItem @@ -447,7 +447,7 @@ MenuDataHeader_HoldableItem: ; 0x102f2 ; 0x1030b Jumptable_GiveTossQuit: ; 1030b - + dw GiveItem dw TossMenu dw QuitItemSubmenu @@ -462,8 +462,8 @@ UseItem: ; 10311 ret ; 1031f -.dw: ; 1031f (4:431f) - +.dw ; 1031f (4:431f) + dw .Oak dw .Oak dw .Oak @@ -494,7 +494,7 @@ UseItem: ; 10311 call Pack_InitColors ret -.NoPokemon +.NoPokemon: ld hl, TextJump_YouDontHaveAPkmn call Pack_PrintTextNoScroll ret @@ -694,7 +694,7 @@ BattlePack: ; 10493 ; 104c3 .Jumptable: ; 104c3 (4:44c3) - + dw .InitGFX ; 0 dw .InitItemsPocket ; 1 dw .ItemsPocketMenu ; 2 @@ -833,7 +833,7 @@ TMHMSubmenu: ; 105dc (4:45dc) ld de, .UsableJumptable jr .proceed -.NoUse +.NoUse: ld hl, .UnusableMenuDataHeader ld de, .UnusableJumptable .proceed @@ -865,7 +865,7 @@ TMHMSubmenu: ; 105dc (4:45dc) ; 0x10614 .UsableJumptable: ; 10614 - + dw .Use dw .Quit ; 10618 @@ -885,7 +885,7 @@ TMHMSubmenu: ; 105dc (4:45dc) ; 0x10627 .UnusableJumptable: ; 10627 - + dw .Quit ; 10629 @@ -897,7 +897,7 @@ TMHMSubmenu: ; 105dc (4:45dc) ret .ItemFunctionJumptable: ; 10637 (4:4637) - + dw .Oak dw .Oak dw .Oak @@ -941,12 +941,12 @@ TMHMSubmenu: ; 105dc (4:45dc) jr z, .Oak cp $2 jr z, .didnt_use_item -.quit_run_script: ; 1067e (4:467e) +.quit_run_script ; 1067e (4:467e) ld a, 10 ld [wJumptableIndex], a ret -.didnt_use_item: ; 10684 (4:4684) +.didnt_use_item ; 10684 (4:4684) xor a ld [wItemEffectSucceeded], a ret @@ -1002,7 +1002,7 @@ DepositSellPack: ; 106be ; 106d1 .Jumptable: ; 106d1 (4:46d1) - + dw .ItemsPocket dw .BallsPocket dw .KeyItemsPocket @@ -1148,8 +1148,8 @@ TutorialPack: ; 107bb ; 107e1 -.dw: ; 107e1 (4:47e1) - +.dw ; 107e1 (4:47e1) + dw .Items dw .Balls dw .KeyItems @@ -1495,7 +1495,7 @@ DrawPocketName: ; 109bb ret ; 109e1 -.tilemap: ; 109e1 +.tilemap ; 109e1 db $00, $04, $04, $04, $01 ; top border db $06, $07, $08, $09, $0a ; Items db $02, $05, $05, $05, $03 ; bottom border diff --git a/engine/party_menu.asm b/engine/party_menu.asm index b9048da10..934e1458a 100644 --- a/engine/party_menu.asm +++ b/engine/party_menu.asm @@ -263,7 +263,7 @@ PlacePartyMonLevel: ; 50176 ld [hli], a lb bc, PRINTNUM_RIGHTALIGN | 1, 2 ; jr .okay -.ThreeDigits +.ThreeDigits: lb bc, PRINTNUM_RIGHTALIGN | 1, 3 ; .okay call PrintNum @@ -359,11 +359,11 @@ PlacePartyMonTMHMCompatibility: ; 501e0 ret ; 50221 -.string_able: ; 50221 +.string_able ; 50221 db "ABLE@" ; 50226 -.string_not_able: ; 50226 +.string_not_able ; 50226 db "NOT ABLE@" ; 5022f @@ -448,10 +448,10 @@ endr ret ; 502a3 -.string_able: ; 502a3 +.string_able ; 502a3 db "ABLE@" ; 502a8 -.string_not_able: ; 502a8 +.string_not_able ; 502a8 db "NOT ABLE@" ; 502b1 @@ -496,15 +496,15 @@ PlacePartyMonGender: ; 502b1 ret ; 502ee -.male: ; 502ee +.male ; 502ee db "♂…MALE@" ; 502f5 -.female: ; 502f5 +.female ; 502f5 db "♀…FEMALE@" ; 502fe -.unknown: ; 502fe +.unknown ; 502fe db "…UNKNOWN@" ; 50307 @@ -658,8 +658,8 @@ InitPartyMenuGFX: ; 503e0 .loop push bc push hl - ld hl, Function8e83f - ld a, BANK(Function8e83f) + ld hl, LoadMenuMonIcon + ld a, BANK(LoadMenuMonIcon) ld e, $0 rst FarCall ld a, [hObjectStructIndexBuffer] @@ -752,8 +752,8 @@ PartyMenuSelect: ; 0x50457 ld [wPartyMenuCursor], a ld a, [hJoyLast] ld b, a - bit 1, b - jr nz, .exitmenu ; B button? + bit B_BUTTON_F, b + jr nz, .exitmenu ; B button ld a, [wMenuCursorY] dec a ld [CurPartyMon], a diff --git a/engine/phone.asm b/engine/phone.asm index 1a3023bf1..7f96dd2c3 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -60,7 +60,7 @@ Phone_FindOpenSlot: ; 9002d xor a ret -.FoundOpenSpace +.FoundOpenSpace: dec hl scf ret @@ -153,7 +153,7 @@ CheckPhoneCall:: ; 90074 (24:4074) xor a ret -.timecheck: ; 900a6 (24:40a6) +.timecheck ; 900a6 (24:40a6) callba CheckReceiveCallTimer ret @@ -196,7 +196,7 @@ ChooseRandomCaller: ; 900bf (24:40bf) scf ret -.NothingToSample +.NothingToSample: xor a ret @@ -288,12 +288,12 @@ endr call CallScript scf ret -.NoPhoneCall +.NoPhoneCall: xor a ret ; 90173 (24:4173) -.script: ; 0x90173 +.script ; 0x90173 pause 30 jump Script_ReceivePhoneCall ; 0x90178 @@ -363,7 +363,7 @@ Function90199: ; 90199 (24:4199) ld hl, PhoneScript_JustTalkToThem jr .DoPhoneCall -.GetPhoneScript +.GetPhoneScript: ld hl, PHONE_CONTACT_SCRIPT1_BANK add hl, de ld b, [hl] @@ -374,13 +374,13 @@ Function90199: ; 90199 (24:4199) ld l, a jr .DoPhoneCall -.OutOfArea +.OutOfArea: ld b, BANK(UnknownScript_0x90209) ld de, UnknownScript_0x90209 call ExecuteCallbackScript ret -.DoPhoneCall +.DoPhoneCall: ld a, b ld [wd002], a ld a, l @@ -430,10 +430,10 @@ LoadCallerScript: ; 9020d (24:420d) WrongNumber: ; 90233 db TRAINER_NONE, PHONE_00 dba .script -.script: +.script writetext .text end -.text: +.text ; Huh? Sorry, wrong number! text_jump UnknownText_0x1c5565 db "@" @@ -451,22 +451,20 @@ Script_ReceivePhoneCall: ; 0x90241 ; 0x90255 Script_SpecialBillCall:: ; 0x90255 - callasm Function9025c + callasm .LoadBillScript jump Script_ReceivePhoneCall -; 0x9025c -Function9025c: ; 9025c +.LoadBillScript: ld e, PHONE_BILL jp LoadCallerScript ; 90261 UnknownScript_0x90261: ; 0x90261 - callasm Function9026a + callasm .LoadElmScript pause 30 jump Script_ReceivePhoneCall -; 0x9026a -Function9026a: ; 9026a +.LoadElmScript: ld e, PHONE_ELM jp LoadCallerScript ; 9026f @@ -494,7 +492,6 @@ Phone_CallerTextboxWithName: ; 90292 (24:4292) call Function90363 ret - PhoneCall:: ; 9029a ld a, b ld [PhoneScriptBank], a @@ -697,7 +694,7 @@ GetCallerName: ; 903a9 (24:43a9) call PlaceString ret -.NotTrainer +.NotTrainer: push hl ld c, b ld b, 0 @@ -721,12 +718,12 @@ NonTrainerCallerNames: ; 903d6 dw .elm dw .buena -.none: db "----------@" -.mom: db "MOM:@" -.bill: db "BILL:@" -.elm: db "PROF.ELM:@" -.bikeshop: db "BIKE SHOP:@" -.buena: db "BUENA:", $22, " DISC JOCKEY@" +.none db "----------@" +.mom db "MOM:@" +.bill db "BILL:@" +.elm db "PROF.ELM:@" +.bikeshop db "BIKE SHOP:@" +.buena db "BUENA:", $22, " DISC JOCKEY@" ; 90423 Phone_GetTrainerName: ; 90423 (24:4423) diff --git a/engine/phone_scripts.asm b/engine/phone_scripts.asm index bcfec65e0..f57404cb1 100644 --- a/engine/phone_scripts.asm +++ b/engine/phone_scripts.asm @@ -3137,7 +3137,7 @@ PhoneScript_MonFlavorText: .TooEnergetic: farjump .unnecessary -.unnecessary: +.unnecessary farwritetext UnknownText_0x1b522b buttonsound farjump PhoneScript_HangupText_Male diff --git a/engine/player_movement.asm b/engine/player_movement.asm index 80c5e6edc..d02d1e5b2 100755 --- a/engine/player_movement.asm +++ b/engine/player_movement.asm @@ -11,7 +11,7 @@ DoPlayerMovement:: ; 80000 ld [wPlayerNextMovement], a ret -.GetDPad +.GetDPad: ld a, [hJoyDown] ld [CurInput], a @@ -32,7 +32,7 @@ DoPlayerMovement:: ; 80000 ret ; 8002d -.TranslateIntoMovement +.TranslateIntoMovement: ld a, [PlayerState] cp PLAYER_NORMAL jr z, .Normal @@ -45,7 +45,7 @@ DoPlayerMovement:: ; 80000 cp PLAYER_SLIP jr z, .Ice -.Normal +.Normal: call .CheckForced call .GetAction call .CheckTile @@ -60,7 +60,7 @@ DoPlayerMovement:: ; 80000 ret c jr .NotMoving -.Surf +.Surf: call .CheckForced call .GetAction call .CheckTile @@ -71,7 +71,7 @@ DoPlayerMovement:: ; 80000 ret c jr .NotMoving -.Ice +.Ice: call .CheckForced call .GetAction call .CheckTile @@ -88,12 +88,12 @@ DoPlayerMovement:: ; 80000 cp STANDING jr z, .HitWall call .BumpSound -.HitWall +.HitWall: call .StandInPlace xor a ret -.NotMoving +.NotMoving: ld a, [WalkingDirection] cp STANDING jr z, .Standing @@ -103,12 +103,12 @@ DoPlayerMovement:: ; 80000 and a jr nz, .CantMove call .BumpSound -.CantMove +.CantMove: call ._WalkInPlace xor a ret -.Standing +.Standing: call .StandInPlace xor a ret @@ -121,12 +121,12 @@ DoPlayerMovement:: ; 80000 ld a, [PlayerStandingTile] ld c, a call CheckWhirlpoolTile - jr c, .asm_800c4 + jr c, .not_whirlpool ld a, 3 scf ret -.asm_800c4 +.not_whirlpool and $f0 cp $30 ; moving water jr z, .water @@ -347,7 +347,7 @@ DoPlayerMovement:: ; 80000 scf ret -.ExitWater +.ExitWater: call .GetOutOfWater call PlayMapMusic ld a, STEP_WALK @@ -386,7 +386,7 @@ DoPlayerMovement:: ; 80000 scf ret -.DontJump +.DontJump: xor a ret @@ -442,11 +442,11 @@ DoPlayerMovement:: ; 80000 xor a ret -.EdgeWarps +.EdgeWarps: db $70, $78, $76, $7e ; 8025f -.DoStep +.DoStep: ld e, a ld d, 0 ld hl, .Steps @@ -473,7 +473,7 @@ DoPlayerMovement:: ; 80000 ld a, 4 ret -.Steps +.Steps: dw .SlowStep dw .NormalStep dw .FastStep @@ -483,42 +483,42 @@ DoPlayerMovement:: ; 80000 dw .BackJumpStep dw .InPlace -.SlowStep +.SlowStep: slow_step_down slow_step_up slow_step_left slow_step_right -.NormalStep +.NormalStep: step_down step_up step_left step_right -.FastStep +.FastStep: big_step_down big_step_up big_step_left big_step_right -.JumpStep +.JumpStep: jump_step_down jump_step_up jump_step_left jump_step_right -.SlideStep +.SlideStep: fast_slide_step_down fast_slide_step_up fast_slide_step_left fast_slide_step_right -.BackJumpStep +.BackJumpStep: jump_step_up jump_step_down jump_step_right jump_step_left -.TurningStep +.TurningStep: turn_step_down turn_step_up turn_step_left turn_step_right -.InPlace +.InPlace: db $80 + movement_turn_head_down db $80 + movement_turn_head_up db $80 + movement_turn_head_left @@ -719,7 +719,7 @@ DoPlayerMovement:: ; 80000 xor a ret -.NotWalkable +.NotWalkable: scf ret ; 803b4 @@ -741,7 +741,7 @@ DoPlayerMovement:: ; 80000 and a ret -.NotSurfable +.NotSurfable: scf ret ; 803ca @@ -779,16 +779,16 @@ DoPlayerMovement:: ; 80000 jr .Neither -.Water +.Water: xor a ret -.Land +.Land: ld a, 1 and a ret -.Neither +.Neither: scf ret ; 803ee diff --git a/engine/player_object.asm b/engine/player_object.asm new file mode 100755 index 000000000..930d71b3e --- /dev/null +++ b/engine/player_object.asm @@ -0,0 +1,856 @@ +BlankScreen: ; 8000 + call DisableSpriteUpdates + xor a + ld [hBGMapMode], a + call ClearBGPalettes + call ClearSprites + hlcoord 0, 0 + ld bc, TileMapEnd - TileMap + ld a, " " + call ByteFill + hlcoord 0, 0, AttrMap + ld bc, AttrMapEnd - AttrMap + ld a, $7 + call ByteFill + call WaitBGMap2 + call SetPalettes + ret + +SpawnPlayer: ; 8029 + ld a, -1 + ld [wObjectFollow_Leader], a + ld [wObjectFollow_Follower], a + ld a, $0 + ld hl, PlayerObjectTemplate + call CopyPlayerObjectTemplate + ld b, $0 + call PlayerSpawn_ConvertCoords + ld a, $0 + call GetMapObject + ld hl, MAPOBJECT_COLOR + add hl, bc + ln e, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT + ld a, [wPlayerSpriteSetupFlags] + bit 2, a + jr nz, .ok + ld a, [PlayerGender] + bit 0, a + jr z, .ok + ln e, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT + +.ok + ld [hl], e + ld a, $0 + ld [hMapObjectIndexBuffer], a + ld bc, MapObjects + ld a, $0 + ld [hObjectStructIndexBuffer], a + ld de, ObjectStructs + call CopyMapObjectToObjectStruct + ld a, PLAYER + ld [wCenteredObject], a + ret + +PlayerObjectTemplate: ; 8071 +; A dummy map object used to initialize the player object. +; Shorter than the actual amount copied by two bytes. +; Said bytes seem to be unused. + person_event SPRITE_CHRIS, -4, -4, SPRITEMOVEDATA_PLAYER, 15, 15, -1, -1, 0, PERSONTYPE_SCRIPT, 0, 0, -1 + +CopyDECoordsToMapObject:: ; 807e + push de + ld a, b + call GetMapObject + pop de + ld hl, MAPOBJECT_X_COORD + add hl, bc + ld [hl], d + ld hl, MAPOBJECT_Y_COORD + add hl, bc + ld [hl], e + ret + +PlayerSpawn_ConvertCoords: ; 808f + push bc + ld a, [XCoord] + add 4 + ld d, a + ld a, [YCoord] + add 4 + ld e, a + pop bc + call CopyDECoordsToMapObject + ret + +WritePersonXY:: ; 80a1 + ld a, b + call CheckObjectVisibility + ret c + + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + ld d, [hl] + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + ld e, [hl] + ld a, [hMapObjectIndexBuffer] + ld b, a + call CopyDECoordsToMapObject + and a + ret + +RefreshPlayerCoords: ; 80b8 + ld a, [XCoord] + add 4 + ld d, a + ld hl, PlayerStandingMapX + sub [hl] + ld [hl], d + ld hl, MapObjects + MAPOBJECT_X_COORD + ld [hl], d + ld hl, PlayerLastMapX + ld [hl], d + ld d, a + ld a, [YCoord] + add 4 + ld e, a + ld hl, PlayerStandingMapY + sub [hl] + ld [hl], e + ld hl, MapObjects + MAPOBJECT_Y_COORD + ld [hl], e + ld hl, PlayerLastMapY + ld [hl], e + ld e, a + ld a, [wObjectFollow_Leader] + cp $0 + ret nz ; wtf + ret + +CopyObjectStruct:: ; 80e7 + call CheckObjectMask + and a + ret nz ; masked + + ld hl, ObjectStructs + OBJECT_STRUCT_LENGTH * 1 + ld a, 1 + ld de, OBJECT_STRUCT_LENGTH +.loop + ld [hObjectStructIndexBuffer], a + ld a, [hl] + and a + jr z, .done + add hl, de + ld a, [hObjectStructIndexBuffer] + inc a + cp NUM_OBJECT_STRUCTS + jr nz, .loop + scf + ret ; overflow + +.done + ld d, h + ld e, l + call CopyMapObjectToObjectStruct + ld hl, VramState + bit 7, [hl] + ret z + + ld hl, OBJECT_FLAGS2 + add hl, de + set 5, [hl] + ret + +CopyMapObjectToObjectStruct: ; 8116 + call .CopyMapObjectToTempObject + call CopyTempObjectToObjectStruct + ret + +.CopyMapObjectToTempObject: ; 811d + ld a, [hObjectStructIndexBuffer] + ld hl, MAPOBJECT_OBJECT_STRUCT_ID + add hl, bc + ld [hl], a + + ld a, [hMapObjectIndexBuffer] + ld [wTempObjectCopyMapObjectIndex], a + + ld hl, MAPOBJECT_SPRITE + add hl, bc + ld a, [hl] + ld [wTempObjectCopySprite], a + + call GetSpriteVTile + ld [wTempObjectCopySpriteVTile], a + + ld a, [hl] + call GetSpritePalette + ld [wTempObjectCopyPalette], a + + ld hl, MAPOBJECT_COLOR + add hl, bc + ld a, [hl] + and $f0 + jr z, .skip_color_override + swap a + and $7 ; OAM_PALETTE + ld [wTempObjectCopyPalette], a + +.skip_color_override + ld hl, MAPOBJECT_MOVEMENT + add hl, bc + ld a, [hl] + ld [wTempObjectCopyMovement], a + + ld hl, MAPOBJECT_RANGE + add hl, bc + ld a, [hl] + ld [wTempObjectCopyRange], a + + ld hl, MAPOBJECT_X_COORD + add hl, bc + ld a, [hl] + ld [wTempObjectCopyX], a + + ld hl, MAPOBJECT_Y_COORD + add hl, bc + ld a, [hl] + ld [wTempObjectCopyY], a + + ld hl, MAPOBJECT_RADIUS + add hl, bc + ld a, [hl] + ld [wTempObjectCopyRadius], a + ret + +InitializeVisibleSprites: ; 8177 + ld bc, MapObjects + OBJECT_LENGTH + ld a, 1 +.loop + ld [hMapObjectIndexBuffer], a + ld hl, MAPOBJECT_SPRITE + add hl, bc + ld a, [hl] + and a + jr z, .next + + ld hl, MAPOBJECT_OBJECT_STRUCT_ID + add hl, bc + ld a, [hl] + cp -1 + jr nz, .next + + ld a, [XCoord] + ld d, a + ld a, [YCoord] + ld e, a + + ld hl, MAPOBJECT_X_COORD + add hl, bc + ld a, [hl] + add 1 + sub d + jr c, .next + + cp MAPOBJECT_SCREEN_WIDTH + jr nc, .next + + ld hl, MAPOBJECT_Y_COORD + add hl, bc + ld a, [hl] + add 1 + sub e + jr c, .next + + cp MAPOBJECT_SCREEN_HEIGHT + jr nc, .next + + push bc + call CopyObjectStruct + pop bc + jp c, .ret + +.next + ld hl, OBJECT_LENGTH + add hl, bc + ld b, h + ld c, l + ld a, [hMapObjectIndexBuffer] + inc a + cp NUM_OBJECTS + jr nz, .loop + ret + +.ret ; 81c9 + ret + +CheckObjectEnteringVisibleRange:: ; 81ca + nop + ld a, [wPlayerStepDirection] + cp STANDING + ret z + ld hl, .dw + rst JumpTable + ret + +.dw ; 81d6 + dw .Down + dw .Up + dw .Left + dw .Right + +.Up: ; 81de + ld a, [YCoord] + sub 1 + jr .Vertical + +.Down: ; 81e5 + ld a, [YCoord] + add 9 +.Vertical: ; 81ea + ld d, a + ld a, [XCoord] + ld e, a + ld bc, MapObjects + OBJECT_LENGTH + ld a, 1 +.loop_v + ld [hMapObjectIndexBuffer], a + ld hl, MAPOBJECT_SPRITE + add hl, bc + ld a, [hl] + and a + jr z, .next_v + ld hl, MAPOBJECT_Y_COORD + add hl, bc + ld a, d + cp [hl] + jr nz, .next_v + ld hl, MAPOBJECT_OBJECT_STRUCT_ID + add hl, bc + ld a, [hl] + cp -1 + jr nz, .next_v + ld hl, MAPOBJECT_X_COORD + add hl, bc + ld a, [hl] + add 1 + sub e + jr c, .next_v + cp MAPOBJECT_SCREEN_WIDTH + jr nc, .next_v + push de + push bc + call CopyObjectStruct + pop bc + pop de + +.next_v + ld hl, OBJECT_LENGTH + add hl, bc + ld b, h + ld c, l + ld a, [hMapObjectIndexBuffer] + inc a + cp NUM_OBJECTS + jr nz, .loop_v + ret + +.Left: ; 8232 + ld a, [XCoord] + sub 1 + jr .Horizontal + +.Right: ; 8239 + ld a, [XCoord] + add 10 +.Horizontal: ; 823e + ld e, a + ld a, [YCoord] + ld d, a + ld bc, MapObjects + OBJECT_LENGTH + ld a, 1 +.loop_h + ld [hMapObjectIndexBuffer], a + ld hl, MAPOBJECT_SPRITE + add hl, bc + ld a, [hl] + and a + jr z, .next_h + ld hl, MAPOBJECT_X_COORD + add hl, bc + ld a, e + cp [hl] + jr nz, .next_h + ld hl, MAPOBJECT_OBJECT_STRUCT_ID + add hl, bc + ld a, [hl] + cp -1 + jr nz, .next_h + ld hl, MAPOBJECT_Y_COORD + add hl, bc + ld a, [hl] + add 1 + sub d + jr c, .next_h + cp MAPOBJECT_SCREEN_HEIGHT + jr nc, .next_h + push de + push bc + call CopyObjectStruct + pop bc + pop de + +.next_h + ld hl, OBJECT_LENGTH + add hl, bc + ld b, h + ld c, l + ld a, [hMapObjectIndexBuffer] + inc a + cp NUM_OBJECTS + jr nz, .loop_h + ret + +CopyTempObjectToObjectStruct: ; 8286 + ld a, [wTempObjectCopyMapObjectIndex] + ld hl, OBJECT_MAP_OBJECT_INDEX + add hl, de + ld [hl], a + + ld a, [wTempObjectCopyMovement] + call CopySpriteMovementData + + ld a, [wTempObjectCopyPalette] + ld hl, OBJECT_PALETTE + add hl, de + or [hl] + ld [hl], a + + ld a, [wTempObjectCopyY] + call .InitYCoord + + ld a, [wTempObjectCopyX] + call .InitXCoord + + ld a, [wTempObjectCopySprite] + ld hl, OBJECT_SPRITE + add hl, de + ld [hl], a + + ld a, [wTempObjectCopySpriteVTile] + ld hl, OBJECT_SPRITE_TILE + add hl, de + ld [hl], a + + ld hl, OBJECT_STEP_TYPE + add hl, de + ld [hl], STEP_TYPE_00 + + ld hl, OBJECT_FACING_STEP + add hl, de + ld [hl], STANDING + + ld a, [wTempObjectCopyRadius] + call .InitRadius + + ld a, [wTempObjectCopyRange] + ld hl, OBJECT_RANGE + add hl, de + ld [hl], a + + and a + ret + +.InitYCoord: ; 82d5 + ld hl, OBJECT_INIT_Y + add hl, de + ld [hl], a + + ld hl, OBJECT_NEXT_MAP_Y + add hl, de + ld [hl], a + + ld hl, YCoord + sub [hl] + and $f + swap a + ld hl, wFollowNotExactPersonY + sub [hl] + ld hl, OBJECT_SPRITE_Y + add hl, de + ld [hl], a + ret + +.InitXCoord: ; 82f1 + ld hl, OBJECT_INIT_X + add hl, de + ld [hl], a + ld hl, OBJECT_NEXT_MAP_X + add hl, de + ld [hl], a + ld hl, XCoord + sub [hl] + and $f + swap a + ld hl, wFollowNotExactPersonX + sub [hl] + ld hl, OBJECT_SPRITE_X + add hl, de + ld [hl], a + ret + +.InitRadius: ; 830d + ld h, a + inc a + and $f + ld l, a + ld a, h + add $10 + and $f0 + or l + ld hl, OBJECT_RADIUS + add hl, de + ld [hl], a + ret + +TrainerWalkToPlayer: ; 831e + ld a, [hLastTalked] + call InitMovementBuffer + ld a, movement_step_sleep_1 + call AppendToMovementBuffer + ld a, [wd03f] + dec a + jr z, .TerminateStep + ld a, [hLastTalked] + ld b, a + ld c, PLAYER + ld d, 1 + call .GetPathToPlayer + call DecrementMovementBufferCount + +.TerminateStep: + ld a, movement_step_end + call AppendToMovementBuffer + ret + +.GetPathToPlayer: ; 8341 + push de + push bc +; get player object struct, load to de + ld a, c + call GetMapObject + ld hl, MAPOBJECT_OBJECT_STRUCT_ID + add hl, bc + ld a, [hl] + call GetObjectStruct + ld d, b + ld e, c + +; get last talked object struct, load to bc + pop bc + ld a, b + call GetMapObject + ld hl, MAPOBJECT_OBJECT_STRUCT_ID + add hl, bc + ld a, [hl] + call GetObjectStruct + +; get last talked coords, load to bc + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + ld a, [hl] + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + ld c, [hl] + ld b, a + +; get player coords, load to de + ld hl, OBJECT_NEXT_MAP_X + add hl, de + ld a, [hl] + ld hl, OBJECT_NEXT_MAP_Y + add hl, de + ld e, [hl] + ld d, a + + pop af + call ComputePathToWalkToPlayer + ret + +Special_SurfStartStep: ; 8379 + call InitMovementBuffer + call .GetMovementData + call AppendToMovementBuffer + ld a, movement_step_end + call AppendToMovementBuffer + ret + +.GetMovementData: ; 8388 + ld a, [PlayerDirection] + srl a + srl a + and 3 + ld e, a + ld d, 0 + ld hl, .movement_data + add hl, de + ld a, [hl] + ret + +.movement_data + slow_step_down + slow_step_up + slow_step_left + slow_step_right + +FollowNotExact:: ; 839e + push bc + ld a, c + call CheckObjectVisibility + ld d, b + ld e, c + pop bc + ret c + + ld a, b + call CheckObjectVisibility + ret c + +; Person 2 is now in bc, person 1 is now in de + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + ld a, [hl] + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + ld c, [hl] + ld b, a + + ld hl, OBJECT_NEXT_MAP_X + add hl, de + ld a, [hl] + cp b + jr z, .same_x + jr c, .to_the_left + inc b + jr .continue + +.to_the_left + dec b + jr .continue + +.same_x + ld hl, OBJECT_NEXT_MAP_Y + add hl, de + ld a, [hl] + cp c + jr z, .continue + jr c, .below + inc c + jr .continue + +.below + dec c + +.continue + ld hl, OBJECT_NEXT_MAP_X + add hl, de + ld [hl], b + ld a, b + ld hl, XCoord + sub [hl] + and $f + swap a + ld hl, wFollowNotExactPersonX + sub [hl] + ld hl, OBJECT_SPRITE_X + add hl, de + ld [hl], a + ld hl, OBJECT_NEXT_MAP_Y + add hl, de + ld [hl], c + ld a, c + ld hl, YCoord + sub [hl] + and $f + swap a + ld hl, wFollowNotExactPersonY + sub [hl] + ld hl, OBJECT_SPRITE_Y + add hl, de + ld [hl], a + ld a, [hObjectStructIndexBuffer] + ld hl, OBJECT_RANGE + add hl, de + ld [hl], a + ld hl, OBJECT_MOVEMENTTYPE + add hl, de + ld [hl], SPRITEMOVEDATA_FOLLOWNOTEXACT + ld hl, OBJECT_STEP_TYPE + add hl, de + ld [hl], STEP_TYPE_00 + ret + +GetRelativeFacing:: ; 8417 +; Determines which way map object e would have to turn to face map object d. Returns carry if it's impossible for whatever reason. + ld a, d + call GetMapObject + ld hl, MAPOBJECT_OBJECT_STRUCT_ID + add hl, bc + ld a, [hl] + cp NUM_OBJECT_STRUCTS + jr nc, .carry + ld d, a + ld a, e + call GetMapObject + ld hl, MAPOBJECT_OBJECT_STRUCT_ID + add hl, bc + ld a, [hl] + cp NUM_OBJECT_STRUCTS + jr nc, .carry + ld e, a + call .GetFacing_e_relativeto_d + ret + +.carry + scf + ret + +.GetFacing_e_relativeto_d: ; 8439 +; Determines which way object e would have to turn to face object d. Returns carry if it's impossible. +; load the coordinates of object d into bc + ld a, d + call GetObjectStruct + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + ld a, [hl] + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + ld c, [hl] + ld b, a + push bc +; load the coordinates of object e into de + ld a, e + call GetObjectStruct + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + ld d, [hl] + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + ld e, [hl] + pop bc +; |x1 - x2| + ld a, b + sub d + jr z, .same_x_1 + jr nc, .b_right_of_d_1 + cpl + inc a + +.b_right_of_d_1 +; |y1 - y2| + ld h, a + ld a, c + sub e + jr z, .same_y_1 + jr nc, .c_below_e_1 + cpl + inc a + +.c_below_e_1 +; |y1 - y2| - |x1 - x2| + sub h + jr c, .same_y_1 + +.same_x_1 +; compare the y coordinates + ld a, c + cp e + jr z, .same_x_and_y + jr c, .c_directly_below_e +; c directly above e + ld d, DOWN + and a + ret + +.c_directly_below_e + ld d, UP + and a + ret + +.same_y_1 + ld a, b + cp d + jr z, .same_x_and_y + jr c, .b_directly_right_of_d +; b directly left of d + ld d, RIGHT + and a + ret + +.b_directly_right_of_d + ld d, LEFT + and a + ret + +.same_x_and_y + scf + ret + +QueueFollowerFirstStep: ; 848a + call .QueueFirstStep + jr c, .same + ld [wFollowMovementQueue], a + xor a + ld [wFollowerMovementQueueLength], a + ret + +.same + ld a, -1 + ld [wFollowerMovementQueueLength], a + ret + +.QueueFirstStep: + ld a, [wObjectFollow_Leader] + call GetObjectStruct + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + ld d, [hl] + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + ld e, [hl] + ld a, [wObjectFollow_Follower] + call GetObjectStruct + ld hl, OBJECT_NEXT_MAP_X + add hl, bc + ld a, d + cp [hl] + jr z, .check_y + jr c, .left + and a + ld a, movement_step_right + ret + +.left + and a + ld a, movement_step_left + ret + +.check_y + ld hl, OBJECT_NEXT_MAP_Y + add hl, bc + ld a, e + cp [hl] + jr z, .same_xy + jr c, .up + and a + ld a, movement_step_down + ret + +.up + and a + ld a, movement_step_up + ret + +.same_xy + scf + ret diff --git a/engine/player_step.asm b/engine/player_step.asm index d0ae42451..48abcecbc 100755 --- a/engine/player_step.asm +++ b/engine/player_step.asm @@ -59,7 +59,7 @@ HandlePlayerStep: ; d4e5 (3:54e5) ret .Jumptable: ; d4f2 (3:54f2) - + dw GetMovementPermissions dw BufferScreen dw .mobile @@ -73,14 +73,14 @@ HandlePlayerStep: ; d4e5 (3:54e5) dw .fail1 dw .fail1 -.fail1: ; d508 (3:5508) +.fail1 ; d508 (3:5508) ret -.mobile: ; d509 (3:5509) +.mobile ; d509 (3:5509) callba MobileFn_10602e ret -.fail2: ; d510 (3:5510) +.fail2 ; d510 (3:5510) ret UpdatePlayerCoords: ; d511 (3:5511) diff --git a/engine/pokecenter_pc.asm b/engine/pokecenter_pc.asm index a75798709..f6b970ede 100755 --- a/engine/pokecenter_pc.asm +++ b/engine/pokecenter_pc.asm @@ -2,9 +2,9 @@ PokemonCenterPC: ; 1559a call PC_CheckPartyForPokemon ret c call PC_PlayBootSound - ld hl, UnknownText_0x15a27 + ld hl, PokeCenterPCText_BootedUpPC call PC_DisplayText - ld hl, UnknownText_0x15a2c + ld hl, PokeCenterPCText_AccessWhosePC call PC_DisplayTextWaitMenu ld hl, .TopMenu call LoadMenuDataHeader @@ -25,40 +25,35 @@ PokemonCenterPC: ; 1559a call ExitMenu call CloseWindow ret -; 155d6 -.TopMenu: ; 0x155d6 +.TopMenu: db $48 ; flags db 00, 00 ; start coords db 12, 15 ; end coords dw .MenuData2 db 1 ; default option -; 0x155de -.MenuData2: ; 0x155de +.MenuData2: db $a0 ; flags db 0 ; items dw .WhichPC dw PlaceNthMenuStrings dw .JumpTable -; 0x155e6 -.JumpTable: ; 155e6 +.JumpTable: dw PlayersPC, .String_PlayersPC dw BillsPC, .String_BillsPC dw OaksPC, .String_OaksPC dw HallOfFamePC, .String_HallOfFame dw TurnOffPC, .String_TurnOff -; 155fa -.String_PlayersPC: db "<PLAYER>'s PC@" -.String_BillsPC: db "BILL's PC@" -.String_OaksPC: db "PROF.OAK's PC@" -.String_HallOfFame: db "HALL OF FAME@" -.String_TurnOff: db "TURN OFF@" -; 1562c +.String_PlayersPC: db "<PLAYER>'s PC@" +.String_BillsPC: db "BILL's PC@" +.String_OaksPC: db "PROF.OAK's PC@" +.String_HallOfFame: db "HALL OF FAME@" +.String_TurnOff: db "TURN OFF@" -.WhichPC: ; 1562c +.WhichPC: ; before pokedex db 3 ; items db 1, 0, 4 ; bill's, player's, turn off @@ -73,9 +68,8 @@ PokemonCenterPC: ; 1559a db 5 ; items db 1, 0, 2, 3, 4 ; bill's, player's, oak's, hall of fame, turn off db -1 -; 1563e -.ChooseWhichPCListToUse: ; 1563e +.ChooseWhichPCListToUse: call CheckReceivedDex jr nz, .got_dex ld a, $0 @@ -96,13 +90,12 @@ PC_CheckPartyForPokemon: ; 15650 ret nz ld de, SFX_CHOOSE_PC_OPTION call PlaySFX - ld hl, UnknownText_0x15663 + ld hl, .MustHavePokemonToUse call PC_DisplayText scf ret -; 15663 -UnknownText_0x15663: ; 0x15663 +.MustHavePokemonToUse: ; Bzzzzt! You must have a #MON to use this! text_jump UnknownText_0x1c1328 db "@" @@ -110,7 +103,7 @@ UnknownText_0x15663: ; 0x15663 BillsPC: ; 15668 call PC_PlayChoosePCSound - ld hl, UnknownText_0x15a31 + ld hl, PokeCenterPCText_AccessedBillsPC call PC_DisplayText callba _BillsPC and a @@ -119,7 +112,7 @@ BillsPC: ; 15668 PlayersPC: ; 15679 call PC_PlayChoosePCSound - ld hl, UnknownText_0x15a36 + ld hl, PokeCenterPCText_AccessedOwnPC call PC_DisplayText ld b, $0 call _PlayersPC @@ -129,7 +122,7 @@ PlayersPC: ; 15679 OaksPC: ; 15689 call PC_PlayChoosePCSound - ld hl, UnknownText_0x15a3b + ld hl, PokeCenterPCText_AccessedOaksPC call PC_DisplayText callba ProfOaksPC and a @@ -146,7 +139,7 @@ HallOfFamePC: ; 1569a ; 156ab TurnOffPC: ; 156ab - ld hl, UnknownText_0x15a40 + ld hl, PokeCenterPCText_LinkClosed call PrintText scf ret @@ -166,7 +159,7 @@ PC_PlayChoosePCSound: ; 156c2 ld de, SFX_CHOOSE_PC_OPTION jr PC_WaitPlaySFX -Function156c7: ; 156c7 +PC_PlaySwapItemsSound: ; 156c7 ld de, SFX_SWITCH_POKEMON call PC_WaitPlaySFX ld de, SFX_SWITCH_POKEMON @@ -218,8 +211,8 @@ _PlayersPC: ; 15704 Function15715: ; 15715 xor a - ld [wd0d7], a - ld [wd0dd], a + ld [wPCItemsCursor], a + ld [wPCItemsScrollPosition], a ld hl, KrissPCMenuData call LoadMenuDataHeader .asm_15722 @@ -245,14 +238,14 @@ KrissPCMenuData: ; 0x15736 dw .KrissPCMenuData2 db 1 ; default selected option -.KrissPCMenuData2 +.KrissPCMenuData2: db %10100000 ; bit7 db 0 ; # items? dw .KrissPCMenuList1 dw PlaceNthMenuStrings dw .KrissPCMenuPointers -.KrissPCMenuPointers ; 0x15746 +.KrissPCMenuPointers: ; 0x15746 dw KrisWithdrawItemMenu, .WithdrawItem dw KrisDepositItemMenu, .DepositItem dw KrisTossItemMenu, .TossItem @@ -261,13 +254,13 @@ KrissPCMenuData: ; 0x15736 dw KrisLogOffMenu, .LogOff dw KrisLogOffMenu, .TurnOff -.WithdrawItem db "WITHDRAW ITEM@" -.DepositItem db "DEPOSIT ITEM@" -.TossItem db "TOSS ITEM@" -.MailBox db "MAIL BOX@" -.Decoration db "DECORATION@" -.TurnOff db "TURN OFF@" -.LogOff db "LOG OFF@" +.WithdrawItem: db "WITHDRAW ITEM@" +.DepositItem: db "DEPOSIT ITEM@" +.TossItem: db "TOSS ITEM@" +.MailBox: db "MAIL BOX@" +.Decoration: db "DECORATION@" +.TurnOff: db "TURN OFF@" +.LogOff: db "LOG OFF@" WITHDRAW_ITEM EQU 0 DEPOSIT_ITEM EQU 1 @@ -277,7 +270,7 @@ DECORATION EQU 4 TURN_OFF EQU 5 LOG_OFF EQU 6 -.KrissPCMenuList1 +.KrissPCMenuList1: db 5 db WITHDRAW_ITEM db DEPOSIT_ITEM @@ -286,7 +279,7 @@ LOG_OFF EQU 6 db TURN_OFF db -1 -.KrissPCMenuList2 +.KrissPCMenuList2: db 6 db WITHDRAW_ITEM db DEPOSIT_ITEM @@ -316,19 +309,18 @@ UnknownText_0x157cc: ; 0x157cc KrisWithdrawItemMenu: ; 0x157d1 call LoadStandardMenuDataHeader callba ClearPCItemScreen -.asm_157da - call Function15985 - jr c, .asm_157e4 - call Function157e9 - jr .asm_157da +.loop + call PCItemsJoypad + jr c, .quit + call .Submenu + jr .loop -.asm_157e4 +.quit call CloseSubmenu xor a ret -; 0x157e9 -Function157e9: ; 0x157e9 +.Submenu: ; check if the item has a quantity callba _CheckTossableItem ld a, [wItemAttributeParamBuffer] @@ -351,7 +343,7 @@ Function157e9: ; 0x157e9 .withdraw ld a, [wItemQuantityChangeBuffer] ld [Buffer1], a ; quantity - ld a, [wd107] + ld a, [CurItemQuantity] ld [Buffer2], a ld hl, NumItems call ReceiveItem @@ -359,7 +351,7 @@ Function157e9: ; 0x157e9 ld a, [Buffer1] ld [wItemQuantityChangeBuffer], a ld a, [Buffer2] - ld [wd107], a + ld [CurItemQuantity], a ld hl, PCItems call TossItem predef PartyMonItemName @@ -370,45 +362,42 @@ Function157e9: ; 0x157e9 call ExitMenu ret -.PackFull +.PackFull: ld hl, .NoRoomText call MenuTextBoxBackup ret .done ret -; 0x15850 -.HowManyText ; 0x15850 +.HowManyText: ; 0x15850 text_jump _KrissPCHowManyWithdrawText db "@" -.WithdrewText ; 0x15855 +.WithdrewText: ; 0x15855 text_jump _KrissPCWithdrewItemsText db "@" -.NoRoomText ; 0x1585a +.NoRoomText: ; 0x1585a text_jump _KrissPCNoRoomWithdrawText db "@" - KrisTossItemMenu: ; 0x1585f call LoadStandardMenuDataHeader callba ClearPCItemScreen -.asm_15868 - call Function15985 - jr c, .asm_15878 +.loop + call PCItemsJoypad + jr c, .quit ld de, PCItems - callba Function129f4 - jr .asm_15868 + callba TossItemFromPC + jr .loop -.asm_15878 +.quit call CloseSubmenu xor a ret ; 0x1587d - KrisDecorationMenu: ; 0x1587d callba _KrisDecorationMenu ld a, c @@ -418,54 +407,48 @@ KrisDecorationMenu: ; 0x1587d ret ; 0x15888 - KrisLogOffMenu: ; 0x15888 xor a scf ret ; 0x1588b - KrisDepositItemMenu: ; 0x1588b - call Function158b8 - jr c, .asm_158b6 + call .CheckItemsInBag + jr c, .nope call DisableSpriteUpdates call LoadStandardMenuDataHeader callba DepositSellInitPackBuffers -.asm_1589c +.loop callba DepositSellPack ld a, [wcf66] and a - jr z, .asm_158b3 - call Function158cc + jr z, .close + call .TryDepositItem callba CheckRegisteredItem - jr .asm_1589c + jr .loop -.asm_158b3 +.close call CloseSubmenu -.asm_158b6 +.nope xor a ret -; 0x158b8 -Function158b8: ; 0x158b8 +.CheckItemsInBag: callba HasNoItems ret nc - ld hl, UnknownText_0x158c7 + ld hl, .NoItemsInBag call MenuTextBoxBackup scf ret -; 0x158c7 -UnknownText_0x158c7: ; 0x158c7 +.NoItemsInBag: ; No items here! text_jump UnknownText_0x1c13df db "@" -; 0x158cc - -Function158cc: ; 0x158cc +.TryDepositItem: ld a, [wSpriteUpdatesEnabled] push af ld a, $0 @@ -477,9 +460,8 @@ Function158cc: ; 0x158cc pop af ld [wSpriteUpdatesEnabled], a ret -; 0x158e7 -.dw: ; 0x158e7 +.dw dw .tossable dw .no_toss dw .no_toss @@ -488,32 +470,31 @@ Function158cc: ; 0x158cc dw .tossable dw .tossable -.no_toss: +.no_toss ret -.tossable: +.tossable ld a, [Buffer1] push af ld a, [Buffer2] push af - call Function1590a + call .DepositItem_ pop af ld [Buffer2], a pop af ld [Buffer1], a ret -; 0x1590a -Function1590a: ; 0x1590a +.DepositItem_: callba _CheckTossableItem ld a, [wItemAttributeParamBuffer] and a - jr z, .asm_1591d + jr z, .AskQuantity ld a, $1 ld [wItemQuantityChangeBuffer], a - jr .asm_15933 + jr .DepositItem -.asm_1591d +.AskQuantity: ld hl, .HowManyText call MenuTextBox callba SelectQuantityToToss @@ -521,20 +502,20 @@ Function1590a: ; 0x1590a call ExitMenu call ExitMenu pop af - jr c, .asm_1596c + jr c, .DeclinedToDeposit -.asm_15933 +.DepositItem: ld a, [wItemQuantityChangeBuffer] ld [Buffer1], a - ld a, [wd107] + ld a, [CurItemQuantity] ld [Buffer2], a ld hl, PCItems call ReceiveItem - jr nc, .asm_15965 + jr nc, .NoRoomInPC ld a, [Buffer1] ld [wItemQuantityChangeBuffer], a ld a, [Buffer2] - ld [wd107], a + ld [CurItemQuantity], a ld hl, NumItems call TossItem predef PartyMonItemName @@ -542,117 +523,110 @@ Function1590a: ; 0x1590a call PrintText ret -.asm_15965 +.NoRoomInPC: ld hl, .NoRoomText call PrintText ret -.asm_1596c +.DeclinedToDeposit: and a ret -; 0x1596e - -.HowManyText ; 0x1596e +.HowManyText: ; 0x1596e text_jump _KrissPCHowManyDepositText db "@" -.DepositText ; 0x15973 +.DepositText: ; 0x15973 text_jump _KrissPCDepositItemsText db "@" -.NoRoomText ; 0x15978 +.NoRoomText: ; 0x15978 text_jump _KrissPCNoRoomDepositText db "@" - KrisMailBoxMenu: ; 0x1597d callba _KrisMailBoxMenu xor a ret ; 0x15985 - -Function15985: ; 0x15985 +PCItemsJoypad: ; 0x15985 xor a - ld [wd0e3], a -.asm_15989 + ld [wSwitchItem], a +.loop ld a, [wSpriteUpdatesEnabled] push af ld a, $0 ld [wSpriteUpdatesEnabled], a - ld hl, MenuData15a08 + ld hl, .PCItemsMenuData call CopyMenuDataHeader hlcoord 0, 0 - ld b, $a - ld c, $12 + ld b, 10 + ld c, 18 call TextBox - ld a, [wd0d7] + ld a, [wPCItemsCursor] ld [wMenuCursorBuffer], a - ld a, [wd0dd] + ld a, [wPCItemsScrollPosition] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] - ld [wd0dd], a + ld [wPCItemsScrollPosition], a ld a, [wMenuCursorY] - ld [wd0d7], a + ld [wPCItemsCursor], a pop af ld [wSpriteUpdatesEnabled], a - ld a, [wd0e3] + ld a, [wSwitchItem] and a - jr nz, .asm_159d8 + jr nz, .moving_stuff_around ld a, [wMenuJoypad] - cp $2 - jr z, .asm_15a06 - cp $1 - jr z, .asm_159fb - cp $4 - jr z, .asm_159f2 - jr .asm_159f8 - -.asm_159d8 + cp B_BUTTON + jr z, .b_1 + cp A_BUTTON + jr z, .a_1 + cp SELECT + jr z, .select_1 + jr .next + +.moving_stuff_around ld a, [wMenuJoypad] - cp $2 - jr z, .asm_159e9 - cp $1 - jr z, .asm_159ef - cp $4 - jr z, .asm_159ef - jr .asm_159f8 - -.asm_159e9 + cp B_BUTTON + jr z, .b_2 + cp A_BUTTON + jr z, .a_select_2 + cp SELECT + jr z, .a_select_2 + jr .next + +.b_2 xor a - ld [wd0e3], a - jr .asm_159f8 + ld [wSwitchItem], a + jr .next -.asm_159ef - call Function156c7 - -.asm_159f2 +.a_select_2 + call PC_PlaySwapItemsSound +.select_1 callba SwitchItemsInBag +.next + jp .loop -.asm_159f8 - jp .asm_15989 - -.asm_159fb - callba Function24706 +.a_1 + callba ScrollingMenu_ClearLeftColumn call PlaceHollowCursor and a ret -.asm_15a06 +.b_1 scf ret -; 0x15a08 -MenuData15a08: ; 0x15a08 +.PCItemsMenuData: db %01000000 db 1, 4 ; start coords db 10, 18 ; end coords dw .MenuData2 db 1 ; default option -.MenuData2 +.MenuData2: db %10110000 db 4, 8 ; rows/cols? db 2 ; horizontal spacing? @@ -667,38 +641,37 @@ PC_DisplayText: ; 15a20 ret ; 15a27 - -UnknownText_0x15a27: ; 0x15a27 +PokeCenterPCText_BootedUpPC: ; 0x15a27 ; turned on the PC. text_jump UnknownText_0x1c144d db "@" ; 0x15a2c -UnknownText_0x15a2c: ; 0x15a2c +PokeCenterPCText_AccessWhosePC: ; 0x15a2c ; Access whose PC? text_jump UnknownText_0x1c1462 db "@" ; 0x15a31 -UnknownText_0x15a31: ; 0x15a31 +PokeCenterPCText_AccessedBillsPC: ; 0x15a31 ; BILL's PC accessed. #MON Storage System opened. text_jump UnknownText_0x1c1474 db "@" ; 0x15a36 -UnknownText_0x15a36: ; 0x15a36 +PokeCenterPCText_AccessedOwnPC: ; 0x15a36 ; Accessed own PC. Item Storage System opened. text_jump UnknownText_0x1c14a4 db "@" ; 0x15a3b -UnknownText_0x15a3b: ; 0x15a3b +PokeCenterPCText_AccessedOaksPC: ; 0x15a3b ; PROF.OAK's PC accessed. #DEX Rating System opened. text_jump UnknownText_0x1c14d2 db "@" ; 0x15a40 -UnknownText_0x15a40: ; 0x15a40 +PokeCenterPCText_LinkClosed: ; 0x15a40 ; … Link closed… text_jump UnknownText_0x1c1505 db "@" diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 0ba14cd79..761b38874 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -2407,7 +2407,7 @@ Pokedex_LoadSelectedMonTiles: ; 4143b predef GetFrontpic ret -.QuestionMark +.QuestionMark: ld a, BANK(sScratch) call GetSRAMBank callba LoadQuestionMarkPic @@ -2481,12 +2481,12 @@ Pokedex_LoadGFX: ; 414b7 callba LoadSGBPokedexGFX jr .LoadPokedexSlowpokeLZ -.LoadPokedexLZ +.LoadPokedexLZ: ld hl, PokedexLZ ld de, VTiles2 tile $31 call Decompress -.LoadPokedexSlowpokeLZ +.LoadPokedexSlowpokeLZ: ld hl, PokedexSlowpokeLZ ld de, VTiles0 call Decompress @@ -2614,7 +2614,7 @@ Pokedex_SetBGMapMode_3ifDMG_4ifCGB: ; 41aeb (10:5aeb) and a jr z, .DMG call Pokedex_SetBGMapMode4 -.DMG +.DMG: call Pokedex_SetBGMapMode3 ret diff --git a/engine/pokegear.asm b/engine/pokegear.asm index 44127fafc..c2e73180a 100755 --- a/engine/pokegear.asm +++ b/engine/pokegear.asm @@ -198,12 +198,12 @@ TownMap_InitCursorAndPlayerIconPositions: ; 90d70 (24:4d70) ld a, [BackupMapNumber] ld c, a call GetWorldMapLocation -.LoadLandmark +.LoadLandmark: ld [wPokegearMapPlayerIconLandmark], a ld [wPokegearMapCursorLandmark], a ret -.FastShip +.FastShip: ld [wPokegearMapPlayerIconLandmark], a ld a, NEW_BARK_TOWN ld [wPokegearMapCursorLandmark], a @@ -940,7 +940,7 @@ PokegearPhone_MakePhoneCall: ; 911eb (24:51eb) ; 9124c (24:524c) -.dotdotdot: ; 0x9124c +.dotdotdot ; 0x9124c ; text_jump UnknownText_0x1c5824 db "@" @@ -1240,7 +1240,7 @@ PokegearPhoneContactSubmenu: ; 91342 (24:5342) ld hl, PokegearText_WhomToCall call PrintText call WaitBGMap -.CancelDelete +.CancelDelete: scf ret @@ -1525,7 +1525,7 @@ RadioChannels: dbw 80, .EvolutionRadio db -1 -.PkmnTalkAndPokedexShow +.PkmnTalkAndPokedexShow: ; Pokédex Show in the morning ; Oak's Pokémon Talk in the afternoon and evening @@ -1536,28 +1536,28 @@ RadioChannels: jp z, LoadStation_PokedexShow jp LoadStation_OaksPokemonTalk -.PokemonMusic +.PokemonMusic: call .InJohto jr nc, .NoSignal jp LoadStation_PokemonMusic -.LuckyChannel +.LuckyChannel: call .InJohto jr nc, .NoSignal jp LoadStation_LuckyChannel -.BuenasPassword +.BuenasPassword: call .InJohto jr nc, .NoSignal jp LoadStation_BuenasPassword -.RuinsOfAlphRadio +.RuinsOfAlphRadio: ld a, [wPokegearMapPlayerIconLandmark] cp RUINS_OF_ALPH jr nz, .NoSignal jp LoadStation_UnownRadio -.PlacesAndPeople +.PlacesAndPeople: call .InJohto jr c, .NoSignal ld a, [wPokegearFlags] @@ -1565,7 +1565,7 @@ RadioChannels: jr z, .NoSignal jp LoadStation_PlacesAndPeople -.LetsAllSing +.LetsAllSing: call .InJohto jr c, .NoSignal ld a, [wPokegearFlags] @@ -1573,7 +1573,7 @@ RadioChannels: jr z, .NoSignal jp LoadStation_LetsAllSing -.PokeFluteRadio +.PokeFluteRadio: call .InJohto jr c, .NoSignal ld a, [wPokegearFlags] @@ -1581,7 +1581,7 @@ RadioChannels: jr z, .NoSignal jp LoadStation_PokeFluteRadio -.EvolutionRadio +.EvolutionRadio: ; This station airs in the Lake of Rage area when Rocket are still in Mahogany. ld a, [StatusFlags] bit 4, a @@ -1596,11 +1596,11 @@ RadioChannels: .ok jp LoadStation_EvolutionRadio -.NoSignal +.NoSignal: call NoRadioStation ret -.InJohto +.InJohto: ; if in Johto or on the S.S. Aqua, set carry ; otherwise clear carry @@ -2185,7 +2185,7 @@ FlyMapScroll: ; 91b73 jr nz, .ScrollPrev ret -.ScrollNext +.ScrollNext: ld hl, wd002 ld a, [hl] cp d @@ -2193,13 +2193,13 @@ FlyMapScroll: ; 91b73 ld a, e dec a ld [hl], a -.NotAtEndYet +.NotAtEndYet: inc [hl] call CheckIfVisitedFlypoint jr z, .ScrollNext jr .Finally -.ScrollPrev +.ScrollPrev: ld hl, wd002 ld a, [hl] cp e @@ -2207,11 +2207,11 @@ FlyMapScroll: ; 91b73 ld a, d inc a ld [hl], a -.NotAtStartYet +.NotAtStartYet: dec [hl] call CheckIfVisitedFlypoint jr z, .ScrollPrev -.Finally +.Finally: call TownMapBubble call WaitBGMap xor a @@ -2261,13 +2261,13 @@ TownMapBubble: ; 91bb5 call .Name ; Up/down arrows hlcoord 18, 1 - ld [hl], $34 + ld [hl], $34 ret -.Where +.Where: db "Where?@" -.Name +.Name: ; We need the map location of the default flypoint ld a, [wd002] ld l, a @@ -2398,11 +2398,11 @@ FlyMap: ; 91c90 ld a, [BackupMapNumber] ld c, a call GetWorldMapLocation -.CheckRegion +.CheckRegion: ; The first 46 locations are part of Johto. The rest are in Kanto cp KANTO_LANDMARK jr nc, .KantoFlyMap -.JohtoFlyMap +.JohtoFlyMap: ; Note that .NoKanto should be modified in tandem with this branch push af ; Start from New Bark Town @@ -2420,7 +2420,7 @@ FlyMap: ; 91c90 call TownMapPlayerIcon ret -.KantoFlyMap +.KantoFlyMap: ; The event that there are no flypoints enabled in a map is not ; accounted for. As a result, if you attempt to select a flypoint @@ -2457,7 +2457,7 @@ FlyMap: ; 91c90 call TownMapPlayerIcon ret -.NoKanto +.NoKanto: ; If Indigo Plateau hasn't been visited, we use Johto's map instead ; Start from New Bark Town @@ -2470,7 +2470,7 @@ FlyMap: ; 91c90 ld [EndFlypoint], a call FillJohtoMap pop af -.MapHud +.MapHud: call TownMapBubble call TownMapPals hlbgcoord 0, 0 ; BG Map 0 @@ -2685,7 +2685,7 @@ _Area: ; 91d11 ld b, d ld de, .PlayerOAM ld hl, Sprites -.ShowPlayerLoop +.ShowPlayerLoop: ld a, [de] cp $80 jr z, .clear_oam @@ -2770,7 +2770,7 @@ _Area: ; 91d11 callba GetPlayerIcon ret -.FastShip +.FastShip: ld de, FastShipGFX ld b, BANK(FastShipGFX) ret @@ -2841,7 +2841,7 @@ TownMapPals: ; 91f13 ; The palette data is condensed to nybbles, ; least-significant first. - ld hl, TownMapPalMap + ld hl, .PalMap srl a jr c, .odd ; Even-numbered tile ids take the bottom nybble... @@ -2878,13 +2878,20 @@ TownMapPals: ; 91f13 jr nz, .loop ret -TownMapPalMap: - dn 1, 1, 2, 1, 2, 2, 0, 0, 1, 1, 1, 3, 5, 4, 5, 4 - dn 1, 1, 2, 1, 2, 2, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0 - dn 1, 1, 2, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - dn 0, 0, 0, 0, 4, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0 - dn 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3 - dn 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0 +.PalMap: +townmappals: MACRO +rept _NARG / 2 + dn \2, \1 + shift + shift +endr +endm + townmappals 1, 1, 1, 2, 2, 2, 0, 0, 1, 1, 3, 1, 4, 5, 4, 5 + townmappals 1, 1, 1, 2, 2, 2, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0 + townmappals 1, 1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + townmappals 0, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0 + townmappals 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0 + townmappals 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0 ; 91f7b TownMapMon: ; 91f7b diff --git a/engine/printer.asm b/engine/printer.asm index ae1edd9d2..876e59efc 100755 --- a/engine/printer.asm +++ b/engine/printer.asm @@ -32,7 +32,7 @@ endr .Jumptable: ; 84031 (21:4031) - + dw Function84077 dw Function84143 dw Function84120 @@ -443,7 +443,7 @@ _PrinterReceive:: ; 842db .Jumptable: ; 842ea (21:42ea) - + dw Function8432f dw Function84330 dw Function84339 diff --git a/engine/printnum.asm b/engine/printnum.asm new file mode 100755 index 000000000..4ef7721c8 --- /dev/null +++ b/engine/printnum.asm @@ -0,0 +1,300 @@ +_PrintNum:: ; c4c7 +; Print c digits of the b-byte value from de to hl. +; Allows 2 to 7 digits. For 1-digit numbers, add +; the value to char "0" instead of calling PrintNum. +; Some extra flags can be given in bits 5-7 of b. +; Bit 5: money if set (unless left-aligned without leading zeros) +; Bit 6: right-aligned if set +; Bit 7: print leading zeros if set + + push bc + + bit 5, b + jr z, .main + bit 7, b + jr nz, .moneyflag + bit 6, b + jr z, .main + +.moneyflag ; 101xxxxx or 011xxxxx + ld a, "¥" + ld [hli], a + res 5, b ; 100xxxxx or 010xxxxx + +.main + xor a + ld [hPrintNum1], a + ld [hPrintNum2], a + ld [hPrintNum3], a + ld a, b + and $f + cp 1 + jr z, .byte + cp 2 + jr z, .word +; maximum 3 bytes +.long + ld a, [de] + ld [hPrintNum2], a + inc de + ld a, [de] + ld [hPrintNum3], a + inc de + ld a, [de] + ld [hPrintNum4], a + jr .start + +.word + ld a, [de] + ld [hPrintNum3], a + inc de + ld a, [de] + ld [hPrintNum4], a + jr .start + +.byte + ld a, [de] + ld [hPrintNum4], a + +.start + push de + + ld d, b + ld a, c + swap a + and $f + ld e, a + ld a, c + and $f + ld b, a + ld c, 0 + cp 2 + jr z, .two + cp 3 + jr z, .three + cp 4 + jr z, .four + cp 5 + jr z, .five + cp 6 + jr z, .six + +.seven + ld a, 1000000 / $10000 % $100 + ld [hPrintNum5], a + ld a, 1000000 / $100 % $100 + ld [hPrintNum6], a + ld a, 1000000 % $100 + ld [hPrintNum7], a + call .PrintDigit + call .AdvancePointer + +.six + ld a, 100000 / $10000 % $100 + ld [hPrintNum5], a + ld a, 100000 / $100 % $100 + ld [hPrintNum6], a + ld a, 100000 % $100 + ld [hPrintNum7], a + call .PrintDigit + call .AdvancePointer + +.five + xor a + ld [hPrintNum5], a + ld a, 10000 / $100 + ld [hPrintNum6], a + ld a, 10000 % $100 + ld [hPrintNum7], a + call .PrintDigit + call .AdvancePointer + +.four + xor a + ld [hPrintNum5], a + ld a, 1000 / $100 + ld [hPrintNum6], a + ld a, 1000 % $100 + ld [hPrintNum7], a + call .PrintDigit + call .AdvancePointer + +.three + xor a + ld [hPrintNum5], a + xor a + ld [hPrintNum6], a + ld a, 100 + ld [hPrintNum7], a + call .PrintDigit + call .AdvancePointer + +.two + dec e + jr nz, .two_skip + ld a, "0" + ld [hPrintNum1], a +.two_skip + + ld c, 0 + ld a, [hPrintNum4] +.mod_10 + cp 10 + jr c, .modded_10 + sub 10 + inc c + jr .mod_10 +.modded_10 + + ld b, a + ld a, [hPrintNum1] + or c + jr nz, .money + call .PrintLeadingZero + jr .money_leading_zero + +.money + call .PrintYen + push af + ld a, "0" + add c + ld [hl], a + pop af + ld [hPrintNum1], a + inc e + dec e + jr nz, .money_leading_zero + inc hl + ld [hl], $f2 ; XXX + +.money_leading_zero + call .AdvancePointer + call .PrintYen + ld a, "0" + add b + ld [hli], a + + pop de + pop bc + ret + +.PrintYen: ; c5ba + push af + ld a, [hPrintNum1] + and a + jr nz, .stop + bit 5, d + jr z, .stop + ld a, "¥" + ld [hli], a + res 5, d + +.stop + pop af + ret + +.PrintDigit: ; c5cb (3:45cb) + dec e + jr nz, .ok + ld a, "0" + ld [hPrintNum1], a +.ok + ld c, 0 +.loop + ld a, [hPrintNum5] + ld b, a + ld a, [hPrintNum2] + ld [hPrintNum8], a + cp b + jr c, .skip1 + sub b + ld [hPrintNum2], a + ld a, [hPrintNum6] + ld b, a + ld a, [hPrintNum3] + ld [hPrintNum9], a + cp b + jr nc, .skip2 + ld a, [hPrintNum2] + or 0 + jr z, .skip3 + dec a + ld [hPrintNum2], a + ld a, [hPrintNum3] +.skip2 + sub b + ld [hPrintNum3], a + ld a, [hPrintNum7] + ld b, a + ld a, [hPrintNum4] + ld [hPrintNum10], a + cp b + jr nc, .skip4 + ld a, [hPrintNum3] + and a + jr nz, .skip5 + ld a, [hPrintNum2] + and a + jr z, .skip6 + dec a + ld [hPrintNum2], a + xor a +.skip5 + dec a + ld [hPrintNum3], a + ld a, [hPrintNum4] +.skip4 + sub b + ld [hPrintNum4], a + inc c + jr .loop +.skip6 + ld a, [hPrintNum9] + ld [hPrintNum3], a +.skip3 + ld a, [hPrintNum8] + ld [hPrintNum2], a +.skip1 + ld a, [hPrintNum1] + or c + jr z, .PrintLeadingZero + ld a, [hPrintNum1] + and a + jr nz, .done + bit 5, d + jr z, .done + ld a, "¥" + ld [hli], a + res 5, d +.done + ld a, "0" + add c + ld [hl], a + ld [hPrintNum1], a + inc e + dec e + ret nz + inc hl + ld [hl], "·" + ret + +.PrintLeadingZero: ; c644 +; prints a leading zero unless they are turned off in the flags + bit 7, d ; print leading zeroes? + ret z + ld [hl], "0" + ret + +.AdvancePointer: ; c64a +; increments the pointer unless leading zeroes are not being printed, +; the number is left-aligned, and no nonzero digits have been printed yet + bit 7, d ; print leading zeroes? + jr nz, .inc + bit 6, d ; left alignment or right alignment? + jr z, .inc + ld a, [hPrintNum1] + and a + ret z +.inc + inc hl + ret diff --git a/engine/radio.asm b/engine/radio.asm index e7498a1c8..678fc05d5 100644 --- a/engine/radio.asm +++ b/engine/radio.asm @@ -372,7 +372,7 @@ OaksPkmnTalk8: ld a, OAKS_POKEMON_TALK_9 jp NextRadioLine -.Descriptors +.Descriptors: dw .sweetadorably dw .wigglyslickly dw .aptlynamed @@ -492,7 +492,7 @@ OaksPkmnTalk9: .ok jp NextRadioLine -.Descriptors +.Descriptors: dw .cute dw .weird dw .pleasant @@ -896,7 +896,7 @@ BenFernMusic5: ld hl, BenFernText2A jr z, .SunTueThurSun ld hl, BenFernText2B -.SunTueThurSun +.SunTueThurSun: ld a, POKEMON_MUSIC_6 jp NextRadioLine @@ -906,7 +906,7 @@ BenFernMusic6: ld hl, BenFernText3A jr z, .SunTueThurSun ld hl, BenFernText3B -.SunTueThurSun +.SunTueThurSun: ld a, POKEMON_MUSIC_7 jp NextRadioLine @@ -921,7 +921,7 @@ StartPokemonMusicChannel: and 1 jr z, .SunTueThurSun ld de, MUSIC_POKEMON_LULLABY -.SunTueThurSun +.SunTueThurSun: callab RadioMusicRestartDE ret @@ -1235,7 +1235,7 @@ PeoplePlaces5: .ok jp NextRadioLine -.Descriptors +.Descriptors: dw PnP_cute dw PnP_lazy dw PnP_happy @@ -1352,7 +1352,7 @@ PeoplePlaces6: ; Places ld a, PLACES_AND_PEOPLE_7 jp NextRadioLine -.Maps +.Maps: map PALLET_TOWN map ROUTE_22 map PEWTER_CITY @@ -1392,7 +1392,7 @@ PeoplePlaces7: .ok jp PrintRadioLine -.Descriptors +.Descriptors: dw PnP_cute dw PnP_lazy dw PnP_happy @@ -1538,7 +1538,7 @@ BuenasPassword1: jp z, BuenasPassword20 jp BuenasPassword8 -.PlayPassword +.PlayPassword: call StartRadioStation ld a, [hBGMapMode] push af @@ -1594,7 +1594,7 @@ BuenasPassword4: ; Set the flag so that we don't generate a new password this week. ld hl, WeeklyFlags set 7, [hl] -.AlreadyGotIt +.AlreadyGotIt: ld c, a call GetBuenasPassword ld hl, BuenaRadioText4 @@ -1638,29 +1638,29 @@ GetBuenasPassword: ld c, [hl] ret -.StringFunctionJumpTable +.StringFunctionJumpTable: dw .Mon dw .Item dw .Move dw .RawString -.Mon +.Mon: call .GetTheIndex call GetPokemonName ret -.Item +.Item: call .GetTheIndex call GetItemName ret -.Move +.Move: call .GetTheIndex call GetMoveName ret -.GetTheIndex +.GetTheIndex: ld h, 0 ld l, c add hl, de @@ -1668,7 +1668,7 @@ GetBuenasPassword: ld [wNamedObjectIndexBuffer], a ret -.RawString +.RawString: ; Get the string from the table... ld a, c and a diff --git a/engine/scripting.asm b/engine/scripting.asm index 42d060e9b..078ce8931 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -582,7 +582,7 @@ GiveItemScript: ; 96f77 itemnotify end -.Full +.Full: buttonsound pocketisfull end @@ -681,19 +681,19 @@ GetPocketName: ; 96ffe call CopyName2 ret -.Pockets +.Pockets: dw .Item dw .Key dw .Ball dw .TM -.Item +.Item: db "ITEM POCKET@" -.Key +.Key: db "KEY POCKET@" -.Ball +.Ball: db "BALL POCKET@" -.TM +.TM: db "TM POCKET@" ; 97051 @@ -1425,12 +1425,12 @@ ShowEmoteScript: ; 973b6 applymovement2 .Hide end -.Show +.Show: show_emote step_sleep_1 step_end -.Hide +.Hide: hide_emote step_sleep_1 step_end @@ -1455,7 +1455,7 @@ Script_earthquake: ; 973c7 jp ScriptCall ; 973e6 -.script: ; 973e6 +.script ; 973e6 applymovement PLAYER, wd002 end ; 973eb diff --git a/engine/scrolling_menu.asm b/engine/scrolling_menu.asm index b09453239..08a718df1 100755 --- a/engine/scrolling_menu.asm +++ b/engine/scrolling_menu.asm @@ -22,7 +22,7 @@ _ScrollingMenu:: ; 245cb jr .loop ; 245d6 -.exit: ; 245d6 +.exit ; 245d6 call MenuClickSound ld [wMenuJoypad], a ld a, 0 @@ -30,7 +30,7 @@ _ScrollingMenu:: ; 245cb ret ; 245e1 -.zero: ; 245e1 +.zero ; 245e1 call ScrollingMenu_InitDisplay ld a, 1 ld [hBGMapMode], a @@ -84,13 +84,13 @@ ScrollingMenuJoyAction: ; 24609 jr .loop ; 24640 -.unreferenced: ; unreferenced +.unreferenced ; unreferenced ld a, -1 and a ret ; 24644 -.a_button: ; 24644 +.a_button ; 24644 call PlaceHollowCursor ld a, [wMenuCursorY] dec a @@ -111,13 +111,13 @@ ScrollingMenuJoyAction: ; 24609 ret ; 2466f -.b_button: ; 2466f +.b_button ; 2466f ld a, B_BUTTON scf ret ; 24673 -.select: ; 24673 +.select ; 24673 ld a, [wMenuData2Flags] bit 7, a jp z, xor_a_dec_a @@ -135,7 +135,7 @@ ScrollingMenuJoyAction: ; 24609 ret ; 24695 -.start: ; 24695 +.start ; 24695 ld a, [wMenuData2Flags] bit 6, a jp z, xor_a_dec_a @@ -144,7 +144,7 @@ ScrollingMenuJoyAction: ; 24609 ret ; 246a1 -.d_left: ; 246a1 +.d_left ; 246a1 ld hl, w2DMenuFlags2 bit 7, [hl] jp z, xor_a_dec_a @@ -156,7 +156,7 @@ ScrollingMenuJoyAction: ; 24609 ret ; 246b5 -.d_right: ; 246b5 +.d_right ; 246b5 ld hl, w2DMenuFlags2 bit 7, [hl] jp z, xor_a_dec_a @@ -168,7 +168,7 @@ ScrollingMenuJoyAction: ; 24609 ret ; 246c9 -.d_up: ; 246c9 +.d_up ; 246c9 ld hl, w2DMenuFlags2 bit 7, [hl] jp z, xor_a @@ -183,7 +183,7 @@ ScrollingMenuJoyAction: ; 24609 jp xor_a_dec_a ; 246df -.d_down: ; 246df +.d_down ; 246df ld hl, w2DMenuFlags2 bit 7, [hl] jp z, xor_a @@ -210,17 +210,17 @@ ScrollingMenu_GetCursorPosition: ; 246fc ret ; 24706 -Function24706: ; 24706 (9:4706) +ScrollingMenu_ClearLeftColumn: ; 24706 (9:4706) call MenuBoxCoord2Tile ld de, SCREEN_WIDTH add hl, de ld de, 2 * SCREEN_WIDTH ld a, [wMenuData2_ScrollingMenuHeight] -.asm_24713 +.loop ld [hl], " " add hl, de dec a - jr nz, .asm_24713 + jr nz, .loop ret InitScrollingMenuCursor: ; 2471a diff --git a/engine/selectmenu.asm b/engine/selectmenu.asm index ce2ff8eb7..4e461a68e 100755 --- a/engine/selectmenu.asm +++ b/engine/selectmenu.asm @@ -4,7 +4,7 @@ SelectMenu:: ; 13327 jr c, .NotRegistered jp UseRegisteredItem -.NotRegistered +.NotRegistered: call OpenText ld b, BANK(ItemMayBeRegisteredText) ld hl, ItemMayBeRegisteredText @@ -32,13 +32,13 @@ CheckRegisteredItem: ; 13345 rst JumpTable ret -.Pockets +.Pockets: dw .CheckItem dw .CheckBall dw .CheckKeyItem dw .CheckTMHM -.CheckItem +.CheckItem: ld hl, NumItems call .CheckRegisteredNo jr c, .NoRegisteredItem @@ -53,7 +53,7 @@ endr and a ret -.CheckKeyItem +.CheckKeyItem: ld a, [RegisteredItem] ld hl, KeyItems ld de, 1 @@ -64,7 +64,7 @@ endr and a ret -.CheckBall +.CheckBall: ld hl, NumBalls call .CheckRegisteredNo jr nc, .NoRegisteredItem @@ -78,10 +78,10 @@ endr jr c, .NoRegisteredItem ret -.CheckTMHM +.CheckTMHM: jr .NoRegisteredItem -.NoRegisteredItem +.NoRegisteredItem: xor a ld [WhichRegisteredItem], a ld [RegisteredItem], a @@ -90,7 +90,7 @@ endr ; 133a6 -.CheckRegisteredNo ; 133a6 +.CheckRegisteredNo: ; 133a6 ld a, [WhichRegisteredItem] and REGISTERED_NUMBER dec a @@ -100,13 +100,13 @@ endr and a ret -.NotEnoughItems +.NotEnoughItems: scf ret ; 133b6 -.IsSameItem ; 133b6 +.IsSameItem: ; 133b6 ld a, [RegisteredItem] cp [hl] jr nz, .NotSameItem @@ -114,7 +114,7 @@ endr and a ret -.NotSameItem +.NotSameItem: scf ret ; 133c3 @@ -128,7 +128,7 @@ UseRegisteredItem: ; 133c3 rst JumpTable ret -.SwitchTo +.SwitchTo: dw .CantUse dw .NoFunction dw .NoFunction @@ -138,7 +138,7 @@ UseRegisteredItem: ; 133c3 dw .Overworld ; 133df -.NoFunction ; 133df +.NoFunction: ; 133df call OpenText call CantUseItem call CloseText @@ -146,7 +146,7 @@ UseRegisteredItem: ; 133c3 ret ; 133ea -.Current ; 133ea +.Current: ; 133ea call OpenText call DoItemEffect call CloseText @@ -154,7 +154,7 @@ UseRegisteredItem: ; 133c3 ret ; 133f5 -.Party ; 133f5 +.Party: ; 133f5 call RefreshScreen call FadeToMenu call DoItemEffect @@ -164,7 +164,7 @@ UseRegisteredItem: ; 133c3 ret ; 13406 -.Overworld ; 13406 +.Overworld: ; 13406 call RefreshScreen ld a, 1 ld [wUsingItemWithSelect], a @@ -180,7 +180,7 @@ UseRegisteredItem: ; 133c3 ret ; 13422 -.CantUse ; 13422 +.CantUse: ; 13422 call RefreshScreen ._cantuse diff --git a/engine/sine.asm b/engine/sine.asm new file mode 100755 index 000000000..89a905d2e --- /dev/null +++ b/engine/sine.asm @@ -0,0 +1,50 @@ +_Sine:: ; 84d9 +; A simple sine function. +; Return d * sin(e) in hl. + +; e is a signed 6-bit value. + ld a, e + and %111111 + cp %100000 + jr nc, .negative + + call .ApplySineWave + ld a, h + ret + +.negative + and %011111 + call .ApplySineWave + ld a, h + xor -1 + inc a + ret + +.ApplySineWave: ; 84ef + ld e, a + ld a, d + ld d, 0 + ld hl, .sinewave + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld hl, 0 + +; Factor amplitude +.multiply + srl a + jr nc, .even + add hl, de +.even + sla e + rl d + and a + jr nz, .multiply + ret + +.sinewave ; 850b +; A $20-word table representing a sine wave. +; 90 degrees is index $10 at a base amplitude of $100. + sine_wave $100 diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index 2520a9a24..c31dbd2b3 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -213,7 +213,7 @@ endr SlotsJumptable: ; 92844 (24:6844) jumptable .Jumptable, wJumptableIndex -.Jumptable +.Jumptable: dw Slots_Init ; 00 dw Slots_BetAndStart ; 01 dw Slots_WaitStart ; 02 @@ -358,7 +358,7 @@ Slots_FlashIfWin: ; 92955 (24:6955) call Slots_Next ret -.GotIt +.GotIt: call Slots_Next ld a, 16 ld [wcf64], a @@ -800,8 +800,8 @@ Function92bd4: ; 92bd4 (24:6bd4) ; 92be4 (24:6be4) -.dw: ; 92be4 - +.dw ; 92be4 + dw ReelAction_DoNothing ; 00 dw Slots_StopReelIgnoreJoypad ; 01 dw ReelAction_QuadrupleRate ; 02 @@ -893,7 +893,7 @@ Slots_StopReelIgnoreJoypad: ; 92c4c dec [hl] ret -.EndReel +.EndReel: ld hl, wReel1ReelAction - wReel1 add hl, bc ld a, $0 @@ -914,7 +914,7 @@ ReelAction_StopReel1: ; 92c5e dec [hl] call .CheckForBias ret nz -.NoBias +.NoBias: call Slots_StopReel ret @@ -955,7 +955,7 @@ ReelAction_StopReel2: ; 92c86 dec [hl] ret -.NoBias +.NoBias: call Slots_StopReel ret @@ -975,7 +975,7 @@ ReelAction_StopReel3: ; 92ca9 dec [hl] ret -.NoMatch +.NoMatch: ld a, [wSlotBias] cp SLOTS_NOMATCH jr z, .NoBias @@ -987,7 +987,7 @@ ReelAction_StopReel3: ; 92ca9 dec [hl] ret -.NoBias +.NoBias: call Slots_StopReel ret @@ -1177,7 +1177,7 @@ ReelAction_DropReel: ; 92dca call Slots_StopReel ret -.EggAgain +.EggAgain: ld hl, wReel1SpinRate - wReel1 add hl, bc ld [hl], $0 @@ -1234,7 +1234,7 @@ ReelAction_WaitDropReel: ; 92e31 dec [hl] ret -.DropReel +.DropReel: ld hl, wReel1ReelAction - wReel1 add hl, bc dec [hl] @@ -1323,25 +1323,25 @@ Slots_CheckMatchedFirstTwoReels: ; 92e94 ; 92ebd .Jumptable: ; 92ebd - + dw .zero dw .one dw .two dw .three ; 92ec5 -.three: ; 92ec5 +.three ; 92ec5 call .CheckUpwardsDiag call .CheckDownwardsDiag -.two: ; 92ecb +.two ; 92ecb call .CheckBottomRow call .CheckTopRow -.one: ; 92ed1 +.one ; 92ed1 call .CheckMiddleRow -.zero: ; 92ed4 +.zero ; 92ed4 ret ; 92ed5 @@ -1438,25 +1438,25 @@ Slots_CheckMatchedAllThreeReels: ; 92f1d ; 92f48 .Jumptable: ; 92f48 - + dw .zero dw .one dw .two dw .three ; 92f50 -.three: ; 92f50 +.three ; 92f50 call .CheckUpwardsDiag call .CheckDownwardsDiag -.two: ; 92f56 +.two ; 92f56 call .CheckBottomRow call .CheckTopRow -.one: ; 92f5c +.one ; 92f5c call .CheckMiddleRow -.zero: ; 92f5f +.zero ; 92f5f ret ; 92f60 @@ -1706,7 +1706,7 @@ Slots_AskBet: ; 9307c (24:707c) call PrintText jr .loop -.Start +.Start: ld hl, Coins + 1 ld a, [hl] sub c @@ -1815,7 +1815,7 @@ SlotGetPayout: ; 93124 (24:7124) callba MobileFn_105fe3 ret -.PayoutTable +.PayoutTable: dw 300 dw 50 dw 6 @@ -1839,7 +1839,7 @@ SlotPayoutText: ; 93158 (24:7158) callba MobileFn_105fd0 ret -.MatchedSomething +.MatchedSomething: srl a ld e, a ld d, 0 @@ -1961,13 +1961,13 @@ SlotMachine_AnimateGolem: ; 9321d (24:721d) jp [hl] .Jumptable: ; 9322d (24:722d) - + dw .init dw .fall dw .roll -.init: ; 93233 (24:7233) +.init ; 93233 (24:7233) ld hl, SPRITEANIMSTRUCT_0E add hl, bc ld a, [hl] @@ -1992,7 +1992,7 @@ SlotMachine_AnimateGolem: ; 9321d (24:721d) add hl, bc ld [hl], $0 -.fall: ; 93259 (24:7259) +.fall ; 93259 (24:7259) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -2021,7 +2021,7 @@ SlotMachine_AnimateGolem: ; 9321d (24:721d) call Slots_PlaySFX ret -.roll: ; 93289 (24:7289) +.roll ; 93289 (24:7289) ld hl, SPRITEANIMSTRUCT_XOFFSET add hl, bc ld a, [hl] @@ -2062,13 +2062,13 @@ Slots_AnimateChansey: ; 932ac (24:72ac) jp [hl] .Jumptable: ; 932bc (24:72bc) - + dw .walk dw .one dw .two -.walk: ; 932c2 (24:72c2) +.walk ; 932c2 (24:72c2) ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -2088,7 +2088,7 @@ Slots_AnimateChansey: ; 932ac (24:72ac) ld a, $1 ld [wcf64], a -.one: ; 932e0 (24:72e0) +.one ; 932e0 (24:72e0) ld a, [wcf64] cp $2 jr z, .retain @@ -2106,7 +2106,7 @@ Slots_AnimateChansey: ; 932ac (24:72ac) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld [hl], $8 -.two: ; 932fc (24:72fc) +.two ; 932fc (24:72fc) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] diff --git a/engine/specials.asm b/engine/specials.asm index 79c413fb5..c15422750 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -578,7 +578,7 @@ SpecialSnorlaxAwake: ; 0xc43d ld [ScriptVar], a ret -.ProximityCoords +.ProximityCoords: ; x, y db 33, 8 ; left db 34, 10 ; below diff --git a/engine/sprite_anims.asm b/engine/sprite_anims.asm index 50eb61df6..5addaad5d 100755 --- a/engine/sprite_anims.asm +++ b/engine/sprite_anims.asm @@ -13,7 +13,7 @@ DoAnimFrame: ; 8d24b ; 8d25b .Jumptable: ; 8d25b (23:525b) - + dw .Null ; null dw .one ; bouncing mon icon dw .two ; bouncing mon icon, selected @@ -54,7 +54,7 @@ DoAnimFrame: ; 8d24b .Null: ; 8d2a1 (23:52a1) ret -.one: ; 8d2a2 (23:52a2) +.one ; 8d2a2 (23:52a2) ld a, [wMenuCursorY] ld hl, SPRITEANIMSTRUCT_INDEX @@ -71,7 +71,7 @@ DoAnimFrame: ; 8d24b ld [hl], $0 ret -.two: ; 8d2b9 (23:52b9) +.two ; 8d2b9 (23:52b9) ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld [hl], 8 * 3 @@ -113,7 +113,7 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.three: ; 8d2ea (23:52ea) +.three ; 8d2ea (23:52ea) ld a, [wMenuCursorY] ld hl, SPRITEANIMSTRUCT_INDEX @@ -132,7 +132,7 @@ DoAnimFrame: ; 8d24b ld [hl], 8 * 3 ret -.four: ; 8d302 (23:5302) +.four ; 8d302 (23:5302) call .anonymous_dw jp [hl] ; 8d306 (23:5306) @@ -142,7 +142,7 @@ DoAnimFrame: ; 8d24b dw .four_one ; 8d30a -.four_zero: ; 8d30a +.four_zero ; 8d30a call .IncrementSpriteAnimStruct0B ld hl, SPRITEANIMSTRUCT_INDEX @@ -160,7 +160,7 @@ DoAnimFrame: ; 8d24b add hl, bc ld [hl], a -.four_one: ; 8d321 +.four_one ; 8d321 ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -203,7 +203,7 @@ DoAnimFrame: ; 8d24b ret ; 8d35a -.twentyfive: ; 8d35a (23:535a) +.twentyfive ; 8d35a (23:535a) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -217,11 +217,11 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.namingscreencursor: ; 8d36c (23:536c) +.namingscreencursor ; 8d36c (23:536c) callab NamingScreen_AnimateCursor ret -.mailcompositioncursor: ; 8d373 (23:5373) +.mailcompositioncursor ; 8d373 (23:5373) callab ComposeMail_AnimateCursor ret @@ -229,7 +229,7 @@ DoAnimFrame: ; 8d24b callab GameFreakLogoJumper ret -.seven: ; 8d381 (23:5381) +.seven ; 8d381 (23:5381) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -279,7 +279,7 @@ DoAnimFrame: ; 8d24b call DeinitializeSprite ret -.eight: ; 8d3c3 (23:53c3) +.eight ; 8d3c3 (23:53c3) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hli] @@ -404,19 +404,19 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.thirteen: ; 8d46e (23:546e) +.thirteen ; 8d46e (23:546e) callab ret_e00ed ret -.fifteen: ; 8d475 (23:5475) +.fifteen ; 8d475 (23:5475) callab AnimatePokegearModeIndicatorArrow ret -.fourteen: ; 8d47c (23:547c) +.fourteen ; 8d47c (23:547c) callab DummyGame_InterpretJoypad_AnimateCursor ret -.sixteen: ; 8d483 (23:5483) +.sixteen ; 8d483 (23:5483) call .anonymous_dw jp [hl] ; 8d487 (23:5487) @@ -430,7 +430,7 @@ DoAnimFrame: ; 8d24b dw .sixteen_five ; 8d493 -.sixteen_zero: ; 8d493 +.sixteen_zero ; 8d493 ld a, $14 call _ReinitSpriteAnimFrame @@ -444,7 +444,7 @@ DoAnimFrame: ; 8d24b ret ; 8d4a5 -.sixteen_two: ; 8d4a5 +.sixteen_two ; 8d4a5 ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -460,7 +460,7 @@ DoAnimFrame: ; 8d24b add hl, bc ld [hl], $40 -.sixteen_three: ; 8d4b8 +.sixteen_three ; 8d4b8 ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -481,7 +481,7 @@ DoAnimFrame: ; 8d24b jr .sixteen_five ; 8d4d5 -.sixteen_one: ; 8d4d5 +.sixteen_one ; 8d4d5 ld hl, SPRITEANIMSTRUCT_0B add hl, bc ld [hl], $4 @@ -496,7 +496,7 @@ DoAnimFrame: ; 8d24b ret ; 8d4e8 -.sixteen_four: ; 8d4e8 +.sixteen_four ; 8d4e8 ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld a, [hl] @@ -542,12 +542,12 @@ DoAnimFrame: ; 8d24b call .IncrementSpriteAnimStruct0B ret -.sixteen_five: ; 8d526 +.sixteen_five ; 8d526 call DeinitializeSprite ret ; 8d52a -.seventeen: ; 8d52a (23:552a) +.seventeen ; 8d52a (23:552a) ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -565,7 +565,7 @@ DoAnimFrame: ; 8d24b call DeinitializeSprite ret -.eighteen: ; 8d543 (23:5543) +.eighteen ; 8d543 (23:5543) callab Function29676 ret @@ -610,7 +610,7 @@ DoAnimFrame: ; 8d24b callab AnimateTuningKnob ret -.twentyone: ; 8d57f (23:557f) +.twentyone ; 8d57f (23:557f) ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld e, [hl] @@ -749,15 +749,15 @@ endr ld [hl], a ret -.twentyseven: ; 8d630 (23:5630) +.twentyseven ; 8d630 (23:5630) callba Function108bc7 ret -.twentyeight: ; 8d637 (23:5637) +.twentyeight ; 8d637 (23:5637) callba Function108be0 ret -.twentynine: ; 8d63e (23:563e) +.twentynine ; 8d63e (23:563e) ld a, [wcf65] and a jr nz, .asm_8d645 @@ -784,7 +784,7 @@ endr call _ReinitSpriteAnimFrame ret -.thirty: ; 8d666 (23:5666) +.thirty ; 8d666 (23:5666) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -803,7 +803,7 @@ endr .asm_8d67f ret -.thirtytwo: ; 8d680 (23:5680) +.thirtytwo ; 8d680 (23:5680) ld hl, SPRITEANIMSTRUCT_0B add hl, bc ld d, [hl] @@ -830,7 +830,7 @@ endr ld [hl], a ret -.thirtythree: ; 8d6a2 (23:56a2) +.thirtythree ; 8d6a2 (23:56a2) ld a, [wcf64] cp $40 ret nz @@ -838,7 +838,7 @@ endr call _ReinitSpriteAnimFrame ret -.thirtyfour: ; 8d6ae (23:56ae) +.thirtyfour ; 8d6ae (23:56ae) ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] @@ -846,15 +846,15 @@ endr ld [hl], a ret -.twentysix: ; 8d6b7 (23:56b7) +.twentysix ; 8d6b7 (23:56b7) callba Function11d0b6 ret -.thirtyone: ; 8d6be (23:56be) +.thirtyone ; 8d6be (23:56be) callba UpdateCelebiPosition ret -.anonymous_dw: ; 8d6c5 (23:56c5) +.anonymous_dw ; 8d6c5 (23:56c5) ld hl, [sp+$0] ld e, [hl] inc hl diff --git a/engine/sprites.asm b/engine/sprites.asm index 666ac992d..5755c6d8f 100755 --- a/engine/sprites.asm +++ b/engine/sprites.asm @@ -173,7 +173,7 @@ endr ld [hli], a inc de ; Look up the third field from the table in the wSpriteAnimDict array (10x2). -; Take the value and load it in +; Take the value and load it in ld a, [de] call GetSpriteAnimVTile ld [hli], a @@ -649,7 +649,7 @@ Sprites_Sine: ; 8e72c ret ; 8e75d -.sinewave: ; 8e75d +.sinewave ; 8e75d sine_wave $100 diff --git a/engine/startmenu.asm b/engine/startmenu.asm index 25a3eee39..b2b82bd6a 100755 --- a/engine/startmenu.asm +++ b/engine/startmenu.asm @@ -12,7 +12,7 @@ StartMenu:: ; 125cd ld hl, .MenuDataHeader jr z, .GotMenuData ld hl, .ContestMenuDataHeader -.GotMenuData +.GotMenuData: call LoadMenuDataHeader call .SetUpMenuItems @@ -28,14 +28,14 @@ StartMenu:: ; 125cd call UpdateTimePals jr .Select -.Reopen +.Reopen: call UpdateSprites call UpdateTimePals call .SetUpMenuItems ld a, [wd0d2] ld [wMenuCursorBuffer], a -.Select +.Select: call .GetInput jr c, .Exit call .DrawMenuAccount @@ -57,7 +57,7 @@ StartMenu:: ; 125cd ld l, a jp [hl] -.MenuReturns +.MenuReturns: dw .Reopen dw .Exit dw .ExitMenuCallFuncCloseText @@ -66,7 +66,7 @@ StartMenu:: ; 125cd dw .ReturnEnd dw .ReturnRedraw -.Exit +.Exit: ld a, [hOAMUpdate] push af ld a, 1 @@ -74,14 +74,14 @@ StartMenu:: ; 125cd call LoadFontsExtra pop af ld [hOAMUpdate], a -.ReturnEnd +.ReturnEnd: call ExitMenu -.ReturnEnd2 +.ReturnEnd2: call CloseText call UpdateTimePals ret -.GetInput +.GetInput: ; Return carry on exit, and no-carry on selection. xor a ld [hBGMapMode], a @@ -91,7 +91,7 @@ StartMenu:: ; 125cd ld [MenuSelection], a .loop call .PrintMenuAccount - call Function1f1a + call GetScrollingMenuJoypad ld a, [wMenuJoypad] cp B_BUTTON jr z, .b @@ -107,21 +107,21 @@ StartMenu:: ; 125cd ret ; 12691 -.ExitMenuRunScript ; 12691 +.ExitMenuRunScript: ; 12691 call ExitMenu ld a, HMENURETURN_SCRIPT ld [hMenuReturn], a ret ; 12699 -.ExitMenuRunScriptCloseText ; 12699 +.ExitMenuRunScriptCloseText: ; 12699 call ExitMenu ld a, HMENURETURN_SCRIPT ld [hMenuReturn], a jr .ReturnEnd2 ; 126a2 -.ExitMenuCallFuncCloseText ; 126a2 +.ExitMenuCallFuncCloseText: ; 126a2 call ExitMenu ld hl, wQueuedScriptAddr ld a, [hli] @@ -132,12 +132,12 @@ StartMenu:: ; 125cd jr .ReturnEnd2 ; 126b1 -.ReturnRedraw ; 126b1 +.ReturnRedraw: ; 126b1 call .Clear jp .Reopen ; 126b7 -.Clear ; 126b7 +.Clear: ; 126b7 call ClearBGPalettes call Call_ExitMenu call ReloadTilesetAndPalettes @@ -151,28 +151,28 @@ StartMenu:: ; 125cd ; 126d3 -.MenuDataHeader +.MenuDataHeader: db $40 ; tile backup db 0, 10 ; start coords db 17, 19 ; end coords dw .MenuData db 1 ; default selection -.ContestMenuDataHeader +.ContestMenuDataHeader: db $40 ; tile backup db 2, 10 ; start coords db 17, 19 ; end coords dw .MenuData db 1 ; default selection -.MenuData +.MenuData: db %10101000 ; x padding, wrap around, start can close dn 0, 0 ; rows, columns dw MenuItemsList dw .MenuString dw .Items -.Items +.Items: dw StartMenu_Pokedex, .PokedexString, .PokedexDesc dw StartMenu_Pokemon, .PartyString, .PartyDesc dw StartMenu_Pack, .PackString, .PackDesc @@ -183,45 +183,45 @@ StartMenu:: ; 125cd dw StartMenu_Pokegear, .PokegearString, .PokegearDesc dw StartMenu_Quit, .QuitString, .QuitDesc -.PokedexString db "#DEX@" -.PartyString db "#MON@" -.PackString db "PACK@" -.StatusString db "<PLAYER>@" -.SaveString db "SAVE@" -.OptionString db "OPTION@" -.ExitString db "EXIT@" -.PokegearString db $24, "GEAR@" -.QuitString db "QUIT@" - -.PokedexDesc db "#MON" +.PokedexString: db "#DEX@" +.PartyString: db "#MON@" +.PackString: db "PACK@" +.StatusString: db "<PLAYER>@" +.SaveString: db "SAVE@" +.OptionString: db "OPTION@" +.ExitString: db "EXIT@" +.PokegearString: db $24, "GEAR@" +.QuitString: db "QUIT@" + +.PokedexDesc: db "#MON" next "database@" -.PartyDesc db "Party ", $4a +.PartyDesc: db "Party ", $4a next "status@" -.PackDesc db "Contains" +.PackDesc: db "Contains" next "items@" -.PokegearDesc db "Trainer's" +.PokegearDesc: db "Trainer's" next "key device@" -.StatusDesc db "Your own" +.StatusDesc: db "Your own" next "status@" -.SaveDesc db "Save your" +.SaveDesc: db "Save your" next "progress@" -.OptionDesc db "Change" +.OptionDesc: db "Change" next "settings@" -.ExitDesc db "Close this" +.ExitDesc: db "Close this" next "menu@" -.QuitDesc db "Quit and" +.QuitDesc: db "Quit and" next "be judged.@" -.OpenMenu ; 127e5 +.OpenMenu: ; 127e5 ld a, [MenuSelection] call .GetMenuAccountTextPointer ld a, [hli] @@ -230,7 +230,7 @@ StartMenu:: ; 125cd jp [hl] ; 127ef -.MenuString ; 127ef +.MenuString: ; 127ef push de ld a, [MenuSelection] call .GetMenuAccountTextPointer @@ -244,7 +244,7 @@ StartMenu:: ; 125cd ret ; 12800 -.MenuDesc ; 12800 +.MenuDesc: ; 12800 push de ld a, [MenuSelection] cp $ff @@ -265,7 +265,7 @@ endr ; 12819 -.GetMenuAccountTextPointer ; 12819 +.GetMenuAccountTextPointer: ; 12819 ld e, a ld d, 0 ld hl, wMenuData2PointerTableAddr @@ -279,7 +279,7 @@ endr ; 12829 -.SetUpMenuItems ; 12829 +.SetUpMenuItems: ; 12829 xor a ld [wWhichIndexSet], a call .FillMenuList @@ -340,7 +340,7 @@ endr ; 1288d -.FillMenuList ; 1288d +.FillMenuList: ; 1288d xor a ld hl, MenuItemsList ld [hli], a @@ -352,18 +352,18 @@ endr ret ; 128a0 -.AppendMenuList ; 128a0 +.AppendMenuList: ; 128a0 ld [de], a inc de inc c ret ; 128a4 -.DrawMenuAccount_ ; 128a4 +.DrawMenuAccount_: ; 128a4 jp .DrawMenuAccount ; 128a7 -.PrintMenuAccount ; 128a7 +.PrintMenuAccount: ; 128a7 call .IsMenuAccountOn ret z call .DrawMenuAccount @@ -371,7 +371,7 @@ endr jp .MenuDesc ; 128b4 -.DrawMenuAccount ; 128b4 +.DrawMenuAccount: ; 128b4 call .IsMenuAccountOn ret z hlcoord 0, 13 @@ -383,13 +383,13 @@ endr jp TextBoxPalette ; 128cb -.IsMenuAccountOn ; 128cb +.IsMenuAccountOn: ; 128cb ld a, [Options2] and 1 ret ; 128d1 -.DrawBugContestStatusBox ; 128d1 +.DrawBugContestStatusBox: ; 128d1 ld hl, StatusFlags2 bit 2, [hl] ; bug catching contest ret z @@ -397,7 +397,7 @@ endr ret ; 128de -.DrawBugContestStatus ; 128de +.DrawBugContestStatus: ; 128de ld hl, StatusFlags2 bit 2, [hl] ; bug catching contest jr nz, .contest @@ -428,11 +428,11 @@ StartMenu_Quit: ; 128f0 ld a, 4 ret -.DontEndContest +.DontEndContest: ld a, 0 ret -.EndTheContestText +.EndTheContestText: text_jump UnknownText_0x1c1a6c db "@" ; 1290b @@ -591,70 +591,66 @@ HasNoItems: ; 129d5 and a ret -Function129f4: ; 129f4 +TossItemFromPC: ; 129f4 push de call PartyMonItemName callba _CheckTossableItem ld a, [wItemAttributeParamBuffer] and a - jr nz, .asm_12a3f - ld hl, UnknownText_0x12a45 + jr nz, .key_item + ld hl, .TossHowMany call MenuTextBox callba SelectQuantityToToss push af call CloseWindow call ExitMenu pop af - jr c, .asm_12a42 - ld hl, UnknownText_0x12a4a + jr c, .quit + ld hl, .ConfirmToss call MenuTextBox call YesNoBox push af call ExitMenu pop af - jr c, .asm_12a42 + jr c, .quit pop hl ld a, [wd107] call TossItem call PartyMonItemName - ld hl, UnknownText_0x12a4f + ld hl, .TossedThisMany call MenuTextBox call ExitMenu and a ret -.asm_12a3f - call Function12a54 -.asm_12a42 + +.key_item + call .CantToss +.quit pop hl scf ret -; 12a45 (4:6a45) -UnknownText_0x12a45: ; 0x12a45 +.TossHowMany: ; Toss out how many @ (S)? text_jump UnknownText_0x1c1a90 db "@" -; 0x12a4a -UnknownText_0x12a4a: ; 0x12a4a +.ConfirmToss: ; Throw away @ @ (S)? text_jump UnknownText_0x1c1aad db "@" -; 0x12a4f -UnknownText_0x12a4f: ; 0x12a4f +.TossedThisMany: ; Discarded @ (S). text_jump UnknownText_0x1c1aca db "@" -; 0x12a54 -Function12a54: ; 12a54 (4:6a54) - ld hl, UnknownText_0x12a5b +.CantToss: + ld hl, .TooImportantToToss call MenuTextBoxBackup ret -; 12a5b (4:6a5b) -UnknownText_0x12a5b: ; 0x12a5b +.TooImportantToToss: ; That's too impor- tant to toss out! text_jump UnknownText_0x1c1adf db "@" @@ -711,7 +707,7 @@ PokemonActionSubmenu: ; 12a88 ld a, 0 ret -.Actions +.Actions: dbw MONMENU_CUT, MonMenu_Cut ; Cut dbw MONMENU_FLY, MonMenu_Fly ; Fly dbw MONMENU_SURF, MonMenu_Surf ; Surf @@ -780,7 +776,7 @@ SwitchPartyMons: ; 12aec ld a, 1 ret -.DontSwitch +.DontSwitch: xor a ld [PartyMenuActionText], a call CancelPokemonAction @@ -830,7 +826,7 @@ GiveTakePartyMonItem: ; 12b60 ; 12ba9 -.GiveItem: ; 12ba9 +.GiveItem: callba DepositSellInitPackBuffers @@ -986,7 +982,7 @@ GiveTakeItemMenuData: ; 12c9b dw .Items db 1 ; default option -.Items +.Items: db %10000000 ; x padding db 2 ; # items db "GIVE@" @@ -1136,12 +1132,12 @@ MonMailAction: ; 12d45 call MenuTextBoxBackup jr .done -.MailboxFull +.MailboxFull: ld hl, .mailboxfulltext call MenuTextBoxBackup jr .done -.RemoveMailToBag +.RemoveMailToBag: ld hl, .mailwilllosemessagetext call StartMenuYesNo jr c, .done @@ -1157,7 +1153,7 @@ MonMailAction: ; 12d45 call MenuTextBoxBackup jr .done -.BagIsFull +.BagIsFull: ld hl, .bagfulltext call MenuTextBoxBackup jr .done @@ -1168,7 +1164,7 @@ MonMailAction: ; 12d45 ; 12dc9 -.MenuDataHeader: ; 0x12dc9 +.MenuDataHeader: db $40 ; flags db 10, 12 ; start coords db 17, 19 ; end coords @@ -1176,7 +1172,7 @@ MonMailAction: ; 12d45 db 1 ; default option ; 0x12dd1 -.MenuData2: ; 0x12dd1 +.MenuData2: db $80 ; flags db 3 ; items db "READ@" @@ -1185,37 +1181,37 @@ MonMailAction: ; 12d45 ; 0x12de2 -.mailwilllosemessagetext: ; 0x12de2 +.mailwilllosemessagetext ; The MAIL will lose its message. OK? text_jump UnknownText_0x1c1c22 db "@" ; 0x12de7 -.tookmailfrommontext: ; 0x12de7 +.tookmailfrommontext ; MAIL detached from <POKEMON>. text_jump UnknownText_0x1c1c47 db "@" ; 0x12dec -.bagfulltext: ; 0x12dec +.bagfulltext ; There's no space for removing MAIL. text_jump UnknownText_0x1c1c62 db "@" ; 0x12df1 -.sendmailtopctext: ; 0x12df1 +.sendmailtopctext ; Send the removed MAIL to your PC? text_jump UnknownText_0x1c1c86 db "@" ; 0x12df6 -.mailboxfulltext: ; 0x12df6 +.mailboxfulltext ; Your PC's MAILBOX is full. text_jump UnknownText_0x1c1ca9 db "@" ; 0x12dfb -.sentmailtopctext: ; 0x12dfb +.sentmailtopctext ; The MAIL was sent to your PC. text_jump UnknownText_0x1c1cc4 db "@" @@ -1246,7 +1242,7 @@ MonMenu_Cut: ; 12e1b ld a, $2 ret -.Fail +.Fail: ld a, $3 ret ; 12e30 @@ -1264,15 +1260,15 @@ MonMenu_Fly: ; 12e30 ld a, $2 ret -.Fail +.Fail: ld a, $3 ret -.Error +.Error: ld a, $0 ret -.Unused +.Unused: ld a, $1 ret ; 12e55 @@ -1286,7 +1282,7 @@ MonMenu_Flash: ; 12e55 ld a, $2 ret -.Fail +.Fail: ld a, $3 ret ; 12e6a @@ -1300,7 +1296,7 @@ MonMenu_Strength: ; 12e6a ld a, $2 ret -.Fail +.Fail: ld a, $3 ret ; 12e7f @@ -1314,7 +1310,7 @@ MonMenu_Whirlpool: ; 12e7f ld a, $2 ret -.Fail +.Fail: ld a, $3 ret ; 12e94 @@ -1328,7 +1324,7 @@ MonMenu_Waterfall: ; 12e94 ld a, $2 ret -.Fail +.Fail: ld a, $3 ret ; 12ea9 @@ -1342,7 +1338,7 @@ MonMenu_Teleport: ; 12ea9 ld a, $2 ret -.Fail +.Fail: ld a, $3 ret ; 12ebd @@ -1356,7 +1352,7 @@ MonMenu_Surf: ; 12ebd ld a, $2 ret -.Fail +.Fail: ld a, $3 ret ; 12ed1 @@ -1370,7 +1366,7 @@ MonMenu_Dig: ; 12ed1 ld a, $2 ret -.Fail +.Fail: ld a, $3 ret ; 12ee6 @@ -1381,7 +1377,7 @@ MonMenu_Softboiled_MilkDrink: ; 12ee6 callba Softboiled_MilkDrinkFunction jr .finish -.NotEnoughHP +.NotEnoughHP: ld hl, .Text_NotEnoughHP call PrintText @@ -1392,13 +1388,13 @@ MonMenu_Softboiled_MilkDrink: ; 12ee6 ret ; 12f00 -.Text_NotEnoughHP: ; 0x12f00 +.Text_NotEnoughHP: ; Not enough HP! text_jump UnknownText_0x1c1ce3 db "@" ; 0x12f05 -.CheckMonHasEnoughHP: ; 12f05 +.CheckMonHasEnoughHP: ; Need to have at least (MaxHP / 5) HP left. ld a, MON_MAXHP call GetPartyParamLocation @@ -1429,7 +1425,7 @@ MonMenu_Headbutt: ; 12f26 ld a, $2 ret -.Fail +.Fail: ld a, $3 ret ; 12f3b @@ -1443,7 +1439,7 @@ MonMenu_RockSmash: ; 12f3b ld a, $2 ret -.Fail +.Fail: ld a, $3 ret ; 12f50 @@ -1471,7 +1467,7 @@ ChooseMoveToDelete: ; 12f5b ret ; 12f73 -.asm_12f73: ; 12f73 +.asm_12f73 call SetUpMoveScreenBG ld de, DeleteMoveScreenAttrs call SetMenuAttributes @@ -1480,27 +1476,27 @@ ChooseMoveToDelete: ; 12f5b set 6, [hl] jr .asm_12f93 -.asm_12f86: ; 12f86 +.asm_12f86 call ScrollingMenuJoypad bit 1, a jp nz, .asm_12f9f bit 0, a jp nz, .asm_12f9c -.asm_12f93: ; 12f93 +.asm_12f93 call PrepareToPlaceMoveData call PlaceMoveData jp .asm_12f86 ; 12f9c -.asm_12f9c: ; 12f9c +.asm_12f9c and a jr .asm_12fa0 -.asm_12f9f: ; 12f9f +.asm_12f9f scf -.asm_12fa0: ; 12fa0 +.asm_12fa0 push af xor a ld [wSwitchMon], a @@ -1583,7 +1579,7 @@ MoveScreenLoop: ; 12fd5 ld de, String_1316b call PlaceString jp .joy_loop -.b_button: ; 13038 +.b_button call PlayClickSFX call WaitSFX ld a, [wMoveSwapBuffer] @@ -1600,7 +1596,7 @@ MoveScreenLoop: ; 12fd5 jp .loop ; 1305b -.d_right: ; 1305b +.d_right ld a, [wMoveSwapBuffer] and a jp nz, .joy_loop @@ -1615,7 +1611,7 @@ MoveScreenLoop: ; 12fd5 jp z, .joy_loop jp MoveScreenLoop -.d_left: ; 13075 +.d_left ld a, [wMoveSwapBuffer] and a jp nz, .joy_loop @@ -1665,7 +1661,7 @@ MoveScreenLoop: ; 12fd5 jr .cycle_left_loop ; 130c6 -.a_button: ; 130c6 +.a_button call PlayClickSFX call WaitSFX ld a, [wMoveSwapBuffer] @@ -1716,7 +1712,7 @@ MoveScreenLoop: ; 12fd5 jp .loop ; 1313a -.copy_move: ; 1313a +.copy_move push hl ld a, [wMenuCursorY] dec a @@ -1739,7 +1735,7 @@ MoveScreenLoop: ; 12fd5 ret ; 13154 -.exit: ; 13154 +.exit xor a ld [wMoveSwapBuffer], a ld hl, w2DMenuFlags1 @@ -1776,7 +1772,7 @@ SetUpMoveScreenBG: ; 13172 ld a, [hl] ld [wd265], a ld e, $2 - callba Function8e83f + callba LoadMenuMonIcon hlcoord 0, 1 ld b, 9 ld c, 18 diff --git a/engine/stats_screen.asm b/engine/stats_screen.asm index 32b75069a..e3bc6069c 100755 --- a/engine/stats_screen.asm +++ b/engine/stats_screen.asm @@ -100,7 +100,7 @@ StatsScreenBattle: ; 4dcf7 ; 4dd2a StatsScreenPointerTable: ; 4dd2a - + dw MonStatsInit ; regular pokémon dw EggStatsInit ; egg dw StatsScreenWaitCry @@ -369,7 +369,7 @@ StatsScreen_JoypadAction: ; 4de54 (13:5e54) call StatsScreen_SetJumptableIndex ret -.b_button: ; 4dee4 (13:5ee4) +.b_button ; 4dee4 (13:5ee4) ld h, 7 call StatsScreen_SetJumptableIndex ret @@ -535,7 +535,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) ret .Jumptable: ; 4e00d (13:600d) - + dw .PinkPage dw .GreenPage dw .BluePage @@ -559,7 +559,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) jr z, .NotImmuneToPkrs hlcoord 8, 8 ld [hl], "." -.NotImmuneToPkrs +.NotImmuneToPkrs: ld a, [MonType] cp BOXMON jr z, .StatusOK @@ -570,12 +570,12 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) pop hl jr nz, .done_status jr .StatusOK -.HasPokerus +.HasPokerus: ld de, .PkrsStr hlcoord 1, 13 call PlaceString jr .done_status -.StatusOK +.StatusOK: ld de, .OK_str call PlaceString .done_status @@ -628,7 +628,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) jr z, .AtMaxLevel inc a ld [TempMonLevel], a -.AtMaxLevel +.AtMaxLevel: call PrintLevel pop af ld [TempMonLevel], a @@ -657,7 +657,7 @@ endr ld [Buffer1], a ; wd1ea (aliases: MagikarpLength) ret -.AlreadyAtMaxLevel +.AlreadyAtMaxLevel: ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength) xor a rept 2 @@ -747,7 +747,7 @@ endr ld de, SCREEN_WIDTH ld b, 10 ld a, $31 -.BluePageVerticalDivider +.BluePageVerticalDivider: ld [hl], a add hl, de dec b @@ -863,7 +863,7 @@ StatsScreen_PlaceFrontpic: ; 4e226 (13:6226) call .get_animation ret -.get_animation: ; 4e289 (13:6289) +.get_animation ; 4e289 (13:6289) ld a, [CurPartySpecies] call IsAPokemon ret c @@ -1101,7 +1101,7 @@ StatsScreen_LoadPageIndicators: ; 4e4cd (13:64cd) hlcoord 15, 5 jr z, .load_square hlcoord 17, 5 -.load_square: ; 4e4f7 (13:64f7) +.load_square ; 4e4f7 (13:64f7) push bc ld [hli], a inc a diff --git a/engine/std_scripts.asm b/engine/std_scripts.asm index 7baa90eea..9c9542cf4 100644 --- a/engine/std_scripts.asm +++ b/engine/std_scripts.asm @@ -252,37 +252,37 @@ DayToTextScript: if_equal SATURDAY, .Saturday stringtotext .SundayText, 0 end -.Monday +.Monday: stringtotext .MondayText, 0 end -.Tuesday +.Tuesday: stringtotext .TuesdayText, 0 end -.Wednesday +.Wednesday: stringtotext .WednesdayText, 0 end -.Thursday +.Thursday: stringtotext .ThursdayText, 0 end -.Friday +.Friday: stringtotext .FridayText, 0 end -.Saturday +.Saturday: stringtotext .SaturdayText, 0 end -.SundayText +.SundayText: db "SUNDAY@" -.MondayText +.MondayText: db "MONDAY@" -.TuesdayText +.TuesdayText: db "TUESDAY@" -.WednesdayText +.WednesdayText: db "WEDNESDAY@" -.ThursdayText +.ThursdayText: db "THURSDAY@" -.FridayText +.FridayText: db "FRIDAY@" -.SaturdayText +.SaturdayText: db "SATURDAY@" GoldenrodRocketsScript: @@ -643,64 +643,64 @@ AskNumber1MScript: if_equal PHONE_BLACKBELT_KENJI, .Kenji if_equal PHONE_HIKER_PARRY, .Parry -.Jack +.Jack: farwritetext JackAskNumber1Text end -.Huey +.Huey: farwritetext HueyAskNumber1Text end -.Gaven +.Gaven: farwritetext GavenAskNumber1Text end -.Jose +.Jose: farwritetext JoseAskNumber1Text end -.Joey +.Joey: farwritetext JoeyAskNumber1Text end -.Wade +.Wade: farwritetext WadeAskNumber1Text end -.Ralph +.Ralph: farwritetext RalphAskNumber1Text end -.Anthony +.Anthony: farwritetext AnthonyAskNumber1Text end -.Todd +.Todd: farwritetext ToddAskNumber1Text end -.Irwin +.Irwin: farwritetext IrwinAskNumber1Text end -.Arnie +.Arnie: farwritetext ArnieAskNumber1Text end -.Alan +.Alan: farwritetext AlanAskNumber1Text end -.Chad +.Chad: farwritetext ChadAskNumber1Text end -.Derek +.Derek: farwritetext DerekAskNumber1Text end -.Tully +.Tully: farwritetext TullyAskNumber1Text end -.Brent +.Brent: farwritetext BrentAskNumber1Text end -.Vance +.Vance: farwritetext VanceAskNumber1Text end -.Wilton +.Wilton: farwritetext WiltonAskNumber1Text end -.Kenji +.Kenji: farwritetext KenjiAskNumber1Text end -.Parry +.Parry: farwritetext ParryAskNumber1Text end @@ -728,64 +728,64 @@ AskNumber2MScript: if_equal PHONE_BLACKBELT_KENJI, .Kenji if_equal PHONE_HIKER_PARRY, .Parry -.Jack +.Jack: farwritetext JackAskNumber2Text end -.Huey +.Huey: farwritetext HueyAskNumber2Text end -.Gaven +.Gaven: farwritetext GavenAskNumber2Text end -.Jose +.Jose: farwritetext JoseAskNumber2Text end -.Joey +.Joey: farwritetext JoeyAskNumber2Text end -.Wade +.Wade: farwritetext WadeAskNumber2Text end -.Ralph +.Ralph: farwritetext RalphAskNumber2Text end -.Anthony +.Anthony: farwritetext AnthonyAskNumber2Text end -.Todd +.Todd: farwritetext ToddAskNumber2Text end -.Irwin +.Irwin: farwritetext IrwinAskNumber2Text end -.Arnie +.Arnie: farwritetext ArnieAskNumber2Text end -.Alan +.Alan: farwritetext AlanAskNumber2Text end -.Chad +.Chad: farwritetext ChadAskNumber2Text end -.Derek +.Derek: farwritetext DerekAskNumber2Text end -.Tully +.Tully: farwritetext TullyAskNumber2Text end -.Brent +.Brent: farwritetext BrentAskNumber2Text end -.Vance +.Vance: farwritetext VanceAskNumber2Text end -.Wilton +.Wilton: farwritetext WiltonAskNumber2Text end -.Kenji +.Kenji: farwritetext KenjiAskNumber2Text end -.Parry +.Parry: farwritetext ParryAskNumber2Text end @@ -819,102 +819,102 @@ NumberAcceptedMScript: if_equal PHONE_BLACKBELT_KENJI, .Kenji if_equal PHONE_HIKER_PARRY, .Parry -.Jack +.Jack: farwritetext JackNumberAcceptedText waitbutton closetext end -.Huey +.Huey: farwritetext HueyNumberAcceptedText waitbutton closetext end -.Gaven +.Gaven: farwritetext GavenNumberAcceptedText waitbutton closetext end -.Jose +.Jose: farwritetext JoseNumberAcceptedText waitbutton closetext end -.Joey +.Joey: farwritetext JoeyNumberAcceptedText waitbutton closetext end -.Wade +.Wade: farwritetext WadeNumberAcceptedText waitbutton closetext end -.Ralph +.Ralph: farwritetext RalphNumberAcceptedText waitbutton closetext end -.Anthony +.Anthony: farwritetext AnthonyNumberAcceptedText waitbutton closetext end -.Todd +.Todd: farwritetext ToddNumberAcceptedText waitbutton closetext end -.Irwin +.Irwin: farwritetext IrwinNumberAcceptedText waitbutton closetext end -.Arnie +.Arnie: farwritetext ArnieNumberAcceptedText waitbutton closetext end -.Alan +.Alan: farwritetext AlanNumberAcceptedText waitbutton closetext end -.Chad +.Chad: farwritetext ChadNumberAcceptedText waitbutton closetext end -.Derek +.Derek: farwritetext DerekNumberAcceptedText waitbutton closetext end -.Tully +.Tully: farwritetext TullyNumberAcceptedText waitbutton closetext end -.Brent +.Brent: farwritetext BrentNumberAcceptedText waitbutton closetext end -.Vance +.Vance: farwritetext VanceNumberAcceptedText waitbutton closetext end -.Wilton +.Wilton: farwritetext WiltonNumberAcceptedText waitbutton closetext end -.Kenji +.Kenji: farwritetext KenjiNumberAcceptedText waitbutton closetext end -.Parry +.Parry: farwritetext ParryNumberAcceptedText waitbutton closetext @@ -943,102 +943,102 @@ NumberDeclinedMScript: if_equal PHONE_BLACKBELT_KENJI, .Kenji if_equal PHONE_HIKER_PARRY, .Parry -.Jack +.Jack: farwritetext JackNumberDeclinedText waitbutton closetext end -.Huey +.Huey: farwritetext HueyNumberDeclinedText waitbutton closetext end -.Gaven +.Gaven: farwritetext GavenNumberDeclinedText waitbutton closetext end -.Jose +.Jose: farwritetext JoseNumberDeclinedText waitbutton closetext end -.Joey +.Joey: farwritetext JoeyNumberDeclinedText waitbutton closetext end -.Wade +.Wade: farwritetext WadeNumberDeclinedText waitbutton closetext end -.Ralph +.Ralph: farwritetext RalphNumberDeclinedText waitbutton closetext end -.Anthony +.Anthony: farwritetext AnthonyNumberDeclinedText waitbutton closetext end -.Todd +.Todd: farwritetext ToddNumberDeclinedText waitbutton closetext end -.Irwin +.Irwin: farwritetext IrwinNumberDeclinedText waitbutton closetext end -.Arnie +.Arnie: farwritetext ArnieNumberDeclinedText waitbutton closetext end -.Alan +.Alan: farwritetext AlanNumberDeclinedText waitbutton closetext end -.Chad +.Chad: farwritetext ChadNumberDeclinedText waitbutton closetext end -.Derek +.Derek: farwritetext DerekNumberDeclinedText waitbutton closetext end -.Tully +.Tully: farwritetext TullyNumberDeclinedText waitbutton closetext end -.Brent +.Brent: farwritetext BrentNumberDeclinedText waitbutton closetext end -.Vance +.Vance: farwritetext VanceNumberDeclinedText waitbutton closetext end -.Wilton +.Wilton: farwritetext WiltonNumberDeclinedText waitbutton closetext end -.Kenji +.Kenji: farwritetext KenjiNumberDeclinedText waitbutton closetext end -.Parry +.Parry: farwritetext ParryNumberDeclinedText waitbutton closetext @@ -1067,102 +1067,102 @@ PhoneFullMScript: if_equal PHONE_BLACKBELT_KENJI, .Kenji if_equal PHONE_HIKER_PARRY, .Parry -.Jack +.Jack: farwritetext JackPhoneFullText waitbutton closetext end -.Huey +.Huey: farwritetext HueyPhoneFullText waitbutton closetext end -.Gaven +.Gaven: farwritetext GavenPhoneFullText waitbutton closetext end -.Jose +.Jose: farwritetext JosePhoneFullText waitbutton closetext end -.Joey +.Joey: farwritetext JoeyPhoneFullText waitbutton closetext end -.Wade +.Wade: farwritetext WadePhoneFullText waitbutton closetext end -.Ralph +.Ralph: farwritetext RalphPhoneFullText waitbutton closetext end -.Anthony +.Anthony: farwritetext AnthonyPhoneFullText waitbutton closetext end -.Todd +.Todd: farwritetext ToddPhoneFullText waitbutton closetext end -.Irwin +.Irwin: farwritetext IrwinPhoneFullText waitbutton closetext end -.Arnie +.Arnie: farwritetext ArniePhoneFullText waitbutton closetext end -.Alan +.Alan: farwritetext AlanPhoneFullText waitbutton closetext end -.Chad +.Chad: farwritetext ChadPhoneFullText waitbutton closetext end -.Derek +.Derek: farwritetext DerekPhoneFullText waitbutton closetext end -.Tully +.Tully: farwritetext TullyPhoneFullText waitbutton closetext end -.Brent +.Brent: farwritetext BrentPhoneFullText waitbutton closetext end -.Vance +.Vance: farwritetext VancePhoneFullText waitbutton closetext end -.Wilton +.Wilton: farwritetext WiltonPhoneFullText waitbutton closetext end -.Kenji +.Kenji: farwritetext KenjiPhoneFullText waitbutton closetext end -.Parry +.Parry: farwritetext ParryPhoneFullText waitbutton closetext @@ -1188,87 +1188,87 @@ RematchMScript: if_equal PHONE_FISHER_WILTON, .Wilton if_equal PHONE_HIKER_PARRY, .Parry -.Jack +.Jack: farwritetext JackRematchText waitbutton closetext end -.Huey +.Huey: farwritetext HueyRematchText waitbutton closetext end -.Gaven +.Gaven: farwritetext GavenRematchText waitbutton closetext end -.Jose +.Jose: farwritetext JoseRematchText waitbutton closetext end -.Joey +.Joey: farwritetext JoeyRematchText waitbutton closetext end -.Wade +.Wade: farwritetext WadeRematchText waitbutton closetext end -.Ralph +.Ralph: farwritetext RalphRematchText waitbutton closetext end -.Anthony +.Anthony: farwritetext AnthonyRematchText waitbutton closetext end -.Todd +.Todd: farwritetext ToddRematchText waitbutton closetext end -.Arnie +.Arnie: farwritetext ArnieRematchText waitbutton closetext end -.Alan +.Alan: farwritetext AlanRematchText waitbutton closetext end -.Chad +.Chad: farwritetext ChadRematchText waitbutton closetext end -.Tully +.Tully: farwritetext TullyRematchText waitbutton closetext end -.Brent +.Brent: farwritetext BrentRematchText waitbutton closetext end -.Vance +.Vance: farwritetext VanceRematchText waitbutton closetext end -.Wilton +.Wilton: farwritetext WiltonRematchText waitbutton closetext end -.Parry +.Parry: farwritetext ParryRematchText waitbutton closetext @@ -1284,31 +1284,31 @@ GiftMScript: if_equal PHONE_FISHER_WILTON, .Wilton if_equal PHONE_BLACKBELT_KENJI, .Kenji -.Jose +.Jose: farwritetext JoseGiftText buttonsound end -.Wade +.Wade: farwritetext WadeGiftText buttonsound end -.Alan +.Alan: farwritetext AlanGiftText buttonsound end -.Derek +.Derek: farwritetext DerekGiftText buttonsound end -.Tully +.Tully: farwritetext TullyGiftText buttonsound end -.Wilton +.Wilton: farwritetext WiltonGiftText buttonsound end -.Kenji +.Kenji: farwritetext KenjiGiftText buttonsound end @@ -1327,57 +1327,57 @@ PackFullMScript: if_equal PHONE_BLACKBELT_KENJI, .Kenji if_equal PHONE_HIKER_PARRY, .Parry -.Huey +.Huey: farwritetext HueyPackFullText waitbutton closetext end -.Jose +.Jose: farwritetext JosePackFullText waitbutton closetext end -.Joey +.Joey: farwritetext JoeyPackFullText waitbutton closetext end -.Wade +.Wade: farwritetext WadePackFullText waitbutton closetext end -.Alan +.Alan: farwritetext AlanPackFullText waitbutton closetext end -.Derek +.Derek: farwritetext DerekPackFullText waitbutton closetext end -.Tully +.Tully: farwritetext TullyPackFullText waitbutton closetext end -.Vance +.Vance: farwritetext VancePackFullText waitbutton closetext end -.Wilton +.Wilton: farwritetext WiltonPackFullText waitbutton closetext end -.Kenji +.Kenji: farwritetext KenjiPackFullText waitbutton closetext end -.Parry +.Parry: farwritetext ParryPackFullText waitbutton closetext @@ -1391,19 +1391,19 @@ RematchGiftMScript: if_equal PHONE_BIRDKEEPER_VANCE, .Vance if_equal PHONE_HIKER_PARRY, .Parry -.Huey +.Huey: farwritetext HueyRematchGiftText buttonsound end -.Joey +.Joey: farwritetext JoeyRematchGiftText buttonsound end -.Vance +.Vance: farwritetext VanceRematchGiftText buttonsound end -.Parry +.Parry: farwritetext ParryRematchGiftText buttonsound end @@ -1419,28 +1419,28 @@ AskNumber1FScript: if_equal PHONE_PICNICKER_TIFFANY, .Tiffany if_equal PHONE_PICNICKER_ERIN, .Erin -.Beverly +.Beverly: farwritetext BeverlyAskNumber1Text end -.Beth +.Beth: farwritetext BethAskNumber1Text end -.Reena +.Reena: farwritetext ReenaAskNumber1Text end -.Liz +.Liz: farwritetext LizAskNumber1Text end -.Gina +.Gina: farwritetext GinaAskNumber1Text end -.Dana +.Dana: farwritetext DanaAskNumber1Text end -.Tiffany +.Tiffany: farwritetext TiffanyAskNumber1Text end -.Erin +.Erin: farwritetext ErinAskNumber1Text end @@ -1455,28 +1455,28 @@ AskNumber2FScript: if_equal PHONE_PICNICKER_TIFFANY, .Tiffany if_equal PHONE_PICNICKER_ERIN, .Erin -.Beverly +.Beverly: farwritetext BeverlyAskNumber2Text end -.Beth +.Beth: farwritetext BethAskNumber2Text end -.Reena +.Reena: farwritetext ReenaAskNumber2Text end -.Liz +.Liz: farwritetext LizAskNumber2Text end -.Gina +.Gina: farwritetext GinaAskNumber2Text end -.Dana +.Dana: farwritetext DanaAskNumber2Text end -.Tiffany +.Tiffany: farwritetext TiffanyAskNumber2Text end -.Erin +.Erin: farwritetext ErinAskNumber2Text end @@ -1498,42 +1498,42 @@ NumberAcceptedFScript: ; 0xbcbd3 if_equal PHONE_PICNICKER_TIFFANY, .Tiffany if_equal PHONE_PICNICKER_ERIN, .Erin -.Beverly +.Beverly: farwritetext BeverlyNumberAcceptedText waitbutton closetext end -.Beth +.Beth: farwritetext BethNumberAcceptedText waitbutton closetext end -.Reena +.Reena: farwritetext ReenaNumberAcceptedText waitbutton closetext end -.Liz +.Liz: farwritetext LizNumberAcceptedText waitbutton closetext end -.Gina +.Gina: farwritetext GinaNumberAcceptedText waitbutton closetext end -.Dana +.Dana: farwritetext DanaNumberAcceptedText waitbutton closetext end -.Tiffany +.Tiffany: farwritetext TiffanyNumberAcceptedText waitbutton closetext end -.Erin +.Erin: farwritetext ErinNumberAcceptedText waitbutton closetext @@ -1550,42 +1550,42 @@ NumberDeclinedFScript: if_equal PHONE_PICNICKER_TIFFANY, .Tiffany if_equal PHONE_PICNICKER_ERIN, .Erin -.Beverly +.Beverly: farwritetext BeverlyNumberDeclinedText waitbutton closetext end -.Beth +.Beth: farwritetext BethNumberDeclinedText waitbutton closetext end -.Reena +.Reena: farwritetext ReenaNumberDeclinedText waitbutton closetext end -.Liz +.Liz: farwritetext LizNumberDeclinedText waitbutton closetext end -.Gina +.Gina: farwritetext GinaNumberDeclinedText waitbutton closetext end -.Dana +.Dana: farwritetext DanaNumberDeclinedText waitbutton closetext end -.Tiffany +.Tiffany: farwritetext TiffanyNumberDeclinedText waitbutton closetext end -.Erin +.Erin: farwritetext ErinNumberDeclinedText waitbutton closetext @@ -1602,42 +1602,42 @@ PhoneFullFScript: if_equal PHONE_PICNICKER_TIFFANY, .Tiffany if_equal PHONE_PICNICKER_ERIN, .Erin -.Beverly +.Beverly: farwritetext BeverlyPhoneFullText waitbutton closetext end -.Beth +.Beth: farwritetext BethPhoneFullText waitbutton closetext end -.Reena +.Reena: farwritetext ReenaPhoneFullText waitbutton closetext end -.Liz +.Liz: farwritetext LizPhoneFullText waitbutton closetext end -.Gina +.Gina: farwritetext GinaPhoneFullText waitbutton closetext end -.Dana +.Dana: farwritetext DanaPhoneFullText waitbutton closetext end -.Tiffany +.Tiffany: farwritetext TiffanyPhoneFullText waitbutton closetext end -.Erin +.Erin: farwritetext ErinPhoneFullText waitbutton closetext @@ -1653,37 +1653,37 @@ RematchFScript: if_equal PHONE_PICNICKER_TIFFANY, .Tiffany if_equal PHONE_PICNICKER_ERIN, .Erin -.Beth +.Beth: farwritetext BethRematchText waitbutton closetext end -.Reena +.Reena: farwritetext ReenaRematchText waitbutton closetext end -.Liz +.Liz: farwritetext LizRematchText waitbutton closetext end -.Gina +.Gina: farwritetext GinaRematchText waitbutton closetext end -.Dana +.Dana: farwritetext DanaRematchText waitbutton closetext end -.Tiffany +.Tiffany: farwritetext TiffanyRematchText waitbutton closetext end -.Erin +.Erin: farwritetext ErinRematchText waitbutton closetext @@ -1696,19 +1696,19 @@ GiftFScript: if_equal PHONE_LASS_DANA, .Dana if_equal PHONE_PICNICKER_TIFFANY, .Tiffany -.Beverly +.Beverly: farwritetext BeverlyGiftText buttonsound end -.Gina +.Gina: farwritetext GinaGiftText buttonsound end -.Dana +.Dana: farwritetext DanaGiftText buttonsound end -.Tiffany +.Tiffany: farwritetext TiffanyGiftText buttonsound end @@ -1721,27 +1721,27 @@ PackFullFScript: if_equal PHONE_PICNICKER_TIFFANY, .Tiffany if_equal PHONE_PICNICKER_ERIN, .Erin -.Beverly +.Beverly: farwritetext BeverlyPackFullText waitbutton closetext end -.Gina +.Gina: farwritetext GinaPackFullText waitbutton closetext end -.Dana +.Dana: farwritetext DanaPackFullText waitbutton closetext end -.Tiffany +.Tiffany: farwritetext TiffanyPackFullText waitbutton closetext end -.Erin +.Erin: farwritetext ErinPackFullText waitbutton closetext @@ -1751,7 +1751,7 @@ RematchGiftFScript: checkcode VAR_CALLERID if_equal PHONE_PICNICKER_ERIN, .Erin -.Erin +.Erin: opentext farwritetext ErinRematchGiftText buttonsound @@ -1807,7 +1807,7 @@ GameCornerCoinVendorScript: ; 0xbcdcd CoinVendor_IntroScript: ; 0xbcde0 farwritetext CoinVendor_IntroText -.loop: ; 0xbcde4 +.loop ; 0xbcde4 special Special_DisplayMoneyAndCoinBalance loadmenudata .MenuDataHeader verticalmenu @@ -1867,14 +1867,14 @@ CoinVendor_IntroScript: ; 0xbcde0 ; 0xbce54 -.MenuDataHeader +.MenuDataHeader: db $40 ; flags db 04, 00 ; start coords db 11, 15 ; end coords dw .MenuData2 db 1 ; default option -.MenuData2 +.MenuData2: db $80 ; flags db 3 ; items db " 50 : ¥1000@" @@ -1894,13 +1894,13 @@ HappinessCheckScript: closetext end -.KindaHappy +.KindaHappy: farwritetext HappinessText2 waitbutton closetext end -.Unhappy +.Unhappy: farwritetext HappinessText1 waitbutton closetext diff --git a/engine/switch_items.asm b/engine/switch_items.asm index d1c8aa66c..0d4512876 100755 --- a/engine/switch_items.asm +++ b/engine/switch_items.asm @@ -242,7 +242,7 @@ endr ; 24a91 (9:4a91) -.spacing_dws: ; 24a91 +.spacing_dws ; 24a91 dw 0, 1, 2 ; 24a97 diff --git a/engine/tile_events.asm b/engine/tile_events.asm index a6794e817..c1ae93363 100755 --- a/engine/tile_events.asm +++ b/engine/tile_events.asm @@ -21,17 +21,17 @@ CheckDirectionalWarp:: ; 149af ; Else, set carry (immediate warp). ld a, [PlayerStandingTile] cp $70 ; Warp on down - jr z, .not_warp + jr z, .directional cp $76 ; Warp on left - jr z, .not_warp + jr z, .directional cp $78 ; Warp on up - jr z, .not_warp + jr z, .directional cp $7e ; Warp on right - jr z, .not_warp + jr z, .directional scf ret -.not_warp +.directional xor a ret ; 149c6 @@ -44,7 +44,7 @@ CheckWarpFacingDown: ; 149c6 ret ; 149d3 -.blocks: ; 149d3 +.blocks ; 149d3 db $71 ; door db $79 db $7a ; stairs @@ -65,7 +65,7 @@ CheckGrassCollision:: ; 149dd ret ; 149ea -.blocks: ; 149ea +.blocks ; 149ea db $08 db $18 ; tall grass db $14 ; tall grass @@ -87,7 +87,7 @@ CheckCutCollision: ; 149f5 ret ; 14a00 -.blocks: ; 14a00 +.blocks ; 14a00 db $12 ; cut tree db $1a ; cut tree db $10 ; tall grass diff --git a/engine/time.asm b/engine/time.asm index 4240522c2..255346c0a 100755 --- a/engine/time.asm +++ b/engine/time.asm @@ -30,7 +30,7 @@ NextCallReceiveDelay: ; 113e9 jp RestartReceiveCallDelay ; 113fd -.ReceiveCallDelays +.ReceiveCallDelays: db 20, 10, 5, 3 ; 11401 @@ -124,16 +124,14 @@ endr jr z, .RestartKenjiBreakCountdown dec [hl] jr nz, .DontRestartKenjiBreakCountdown - -.RestartKenjiBreakCountdown +.RestartKenjiBreakCountdown: call Special_SampleKenjiBreakCountdown - -.DontRestartKenjiBreakCountdown +.DontRestartKenjiBreakCountdown: jr RestartDailyResetTimer ; 11485 Special_SampleKenjiBreakCountdown: ; 11485 -; Generate a random number between 3 and 5 +; Generate a random number between 3 and 6 call Random and 3 add 3 diff --git a/engine/timeofdaypals.asm b/engine/timeofdaypals.asm index 4ed000af2..1bfc2457b 100644 --- a/engine/timeofdaypals.asm +++ b/engine/timeofdaypals.asm @@ -215,7 +215,7 @@ ReplaceTimeOfDayPals: ; 8c0e5 ld [wTimeOfDayPalset], a ret -.DarkCave +.DarkCave: ld a, [StatusFlags] bit 2, a ; Flash jr nz, .UsedFlash @@ -223,7 +223,7 @@ ReplaceTimeOfDayPals: ; 8c0e5 ld [wTimeOfDayPalset], a ret -.UsedFlash +.UsedFlash: ld a, %10101010 ; 2, 2, 2, 2 ld [wTimeOfDayPalset], a ret @@ -254,31 +254,31 @@ endr jp [hl] ; 8c126 -.TimePalettes +.TimePalettes: dw .MorningPalette dw .DayPalette dw .NitePalette dw .DarknessPalette -.MorningPalette +.MorningPalette: ld a, [wTimeOfDayPalset] and %00000011 ; 0 ret -.DayPalette +.DayPalette: ld a, [wTimeOfDayPalset] and %00001100 ; 1 srl a srl a ret -.NitePalette +.NitePalette: ld a, [wTimeOfDayPalset] and %00110000 ; 2 swap a ret -.DarknessPalette +.DarknessPalette: ld a, [wTimeOfDayPalset] and %11000000 ; 3 rlca @@ -381,8 +381,8 @@ endr db %00000000, %00000000, %00000000 .day - db %11111111, %11111111, %11111111 - db %11111110, %11111110, %11111110 + db %11111111, %11111111, %11111111 + db %11111110, %11111110, %11111110 db %11111001, %11100100, %11100100 db %11100100, %11010000, %11010000 db %10010000, %10000000, %10000000 diff --git a/engine/timeset.asm b/engine/timeset.asm index 8f212bc4d..fd6b2de94 100755 --- a/engine/timeset.asm +++ b/engine/timeset.asm @@ -63,7 +63,7 @@ InitClock: ; 90672 (24:4672) ld c, 10 call DelayFrames -.SetHourLoop +.SetHourLoop: call JoyTextDelay call SetHour jr nc, .SetHourLoop @@ -78,7 +78,7 @@ InitClock: ; 90672 (24:4672) call .ClearScreen jr .loop -.HourIsSet +.HourIsSet: ld hl, Text_HowManyMinutes call PrintText hlcoord 11, 7 @@ -93,7 +93,7 @@ InitClock: ; 90672 (24:4672) ld c, 10 call DelayFrames -.SetMinutesLoop +.SetMinutesLoop: call JoyTextDelay call SetMinutes jr nc, .SetMinutesLoop @@ -108,7 +108,7 @@ InitClock: ; 90672 (24:4672) call .ClearScreen jr .HourIsSet -.MinutesAreSet +.MinutesAreSet: call SetTimeOfDay ld hl, OakText_ResponseToSetTime call PrintText @@ -150,7 +150,7 @@ SetHour: ; 90795 (24:4795) and a jr nz, .DecreaseThroughMidnight ld a, 23 + 1 -.DecreaseThroughMidnight +.DecreaseThroughMidnight: dec a ld [hl], a jr .okay @@ -161,7 +161,7 @@ SetHour: ; 90795 (24:4795) cp 23 jr c, .AdvanceThroughMidnight ld a, -1 -.AdvanceThroughMidnight +.AdvanceThroughMidnight: inc a ld [hl], a @@ -176,7 +176,7 @@ SetHour: ; 90795 (24:4795) and a ret -.Confirm +.Confirm: scf ret @@ -368,30 +368,30 @@ OakText_ResponseToSetTime: ; 0x908b8 jr c, .MORN cp 18 jr c, .DAY -.NITE +.NITE: ld hl, .sodark ret -.MORN +.MORN: ld hl, .overslept ret -.DAY +.DAY: ld hl, .yikes ret ; 908ec (24:48ec) -.overslept: ; 0x908ec +.overslept ; 0x908ec ; ! I overslept! text_jump UnknownText_0x1bc326 db "@" ; 0x908f1 -.yikes: ; 0x908f1 +.yikes ; 0x908f1 ; ! Yikes! I over- slept! text_jump UnknownText_0x1bc336 db "@" ; 0x908f6 -.sodark: ; 0x908f6 +.sodark ; 0x908f6 ; ! No wonder it's so dark! text_jump UnknownText_0x1bc34f db "@" diff --git a/engine/title.asm b/engine/title.asm index ab82b77b2..30804fbe8 100644 --- a/engine/title.asm +++ b/engine/title.asm @@ -3,39 +3,39 @@ _TitleScreen: ; 10ed67 call ClearBGPalettes call ClearSprites call ClearTileMap - + ; Turn BG Map update off xor a ld [hBGMapMode], a - + ; Reset timing variables ld hl, wJumptableIndex ld [hli], a ; cf63 ; Scene? ld [hli], a ; cf64 ld [hli], a ; cf65 ; Timer lo ld [hl], a ; cf66 ; Timer hi - + ; Turn LCD off call DisableLCD - - + + ; VRAM bank 1 ld a, 1 ld [rVBK], a - - + + ; Decompress running Suicune gfx ld hl, TitleSuicuneGFX ld de, VTiles1 call Decompress - - + + ; Clear screen palettes hlbgcoord 0, 0 ld bc, 20 bgrows xor a call ByteFill - + ; Fill tile palettes: @@ -77,94 +77,94 @@ _TitleScreen: ; 10ed67 ld bc, 2 bgrows ld a, 6 call ByteFill - + ; 'CRYSTAL VERSION' hlbgcoord 5, 9 ld bc, NAME_LENGTH ; length of version text ld a, 1 call ByteFill - + ; Suicune gfx hlbgcoord 0, 12 ld bc, 6 bgrows ; the rest of the screen ld a, 8 call ByteFill - - + + ; Back to VRAM bank 0 ld a, $0 ld [rVBK], a - - + + ; Decompress logo ld hl, TitleLogoGFX ld de, VTiles1 call Decompress - + ; Decompress background crystal ld hl, TitleCrystalGFX ld de, VTiles0 call Decompress - - + + ; Clear screen tiles hlbgcoord 0, 0 ld bc, 64 bgrows ld a, " " call ByteFill - + ; Draw Pokemon logo hlcoord 0, 3 lb bc, 7, 20 ld d, $80 ld e, $14 call DrawTitleGraphic - + ; Draw copyright text hlbgcoord 3, 0, VBGMap1 lb bc, 1, 13 ld d, $c ld e, $10 call DrawTitleGraphic - + ; Initialize running Suicune? ld d, $0 call LoadSuicuneFrame - + ; Initialize background crystal call InitializeBackground - + ; Save WRAM bank ld a, [rSVBK] push af ; WRAM bank 5 ld a, 5 ld [rSVBK], a - + ; Update palette colors ld hl, TitleScreenPalettes ld de, UnknBGPals ld bc, 4 * 32 call CopyBytes - + ld hl, TitleScreenPalettes ld de, BGPals ld bc, 4 * 32 call CopyBytes - + ; Restore WRAM bank pop af ld [rSVBK], a - - + + ; LY/SCX trickery starts here - + ld a, [rSVBK] push af ld a, 5 ; BANK(LYOverrides) ld [rSVBK], a - + ; Make alternating lines come in from opposite sides ; ( This part is actually totally pointless, you can't @@ -180,30 +180,30 @@ _TitleScreen: ; 10ed67 inc hl dec b jr nz, .loop - + ; Make sure the rest of the buffer is empty ld hl, LYOverrides + 80 xor a ld bc, LYOverridesEnd - (LYOverrides + 80) call ByteFill - + ; Let LCD Stat know we're messing around with SCX ld a, rSCX - rJOYP ld [hFFC6], a - + pop af ld [rSVBK], a - - + + ; Reset audio call ChannelsOff call EnableLCD - + ; Set sprite size to 8x16 ld a, [rLCDC] set 2, a ld [rLCDC], a - + ld a, +112 ld [hSCX], a ld a, 8 @@ -212,21 +212,21 @@ _TitleScreen: ; 10ed67 ld [hWX], a ld a, -112 ld [hWY], a - + ld a, $1 ld [hCGBPalUpdate], a - + ; Update BG Map 0 (bank 0) ld [hBGMapMode], a - + xor a ld [UnknBGPals + 2], a - + ; Play starting sound effect call SFXChannelsOff ld de, SFX_TITLE_SCREEN_ENTRANCE call PlaySFX - + ret ; 10eea7 @@ -371,7 +371,7 @@ AnimateTitleCrystal: ; 10ef32 ld a, [hl] cp 6 + $10 ret z - + ; Move all 30 parts of the crystal down by 2 ld c, 30 .loop @@ -383,7 +383,7 @@ rept 3 endr dec c jr nz, .loop - + ret ; 10ef46 @@ -405,78 +405,78 @@ TitleScreenPalettes: RGB 19, 00, 00 RGB 15, 08, 31 RGB 15, 08, 31 - + RGB 00, 00, 00 RGB 31, 31, 31 RGB 15, 16, 31 RGB 31, 01, 13 - + RGB 00, 00, 00 RGB 07, 07, 07 RGB 31, 31, 31 RGB 02, 03, 30 - + RGB 00, 00, 00 RGB 13, 13, 13 RGB 31, 31, 18 RGB 02, 03, 30 - + RGB 00, 00, 00 RGB 19, 19, 19 RGB 29, 28, 12 RGB 02, 03, 30 - + RGB 00, 00, 00 RGB 25, 25, 25 RGB 28, 25, 06 RGB 02, 03, 30 - + RGB 00, 00, 00 RGB 31, 31, 31 RGB 26, 21, 00 RGB 02, 03, 30 - + RGB 00, 00, 00 RGB 11, 11, 19 RGB 31, 31, 31 RGB 00, 00, 00 - + ; OBJ RGB 00, 00, 00 RGB 10, 00, 15 RGB 17, 05, 22 RGB 19, 09, 31 - + RGB 31, 31, 31 RGB 00, 00, 00 RGB 00, 00, 00 RGB 00, 00, 00 - + RGB 31, 31, 31 RGB 00, 00, 00 RGB 00, 00, 00 RGB 00, 00, 00 - + RGB 31, 31, 31 RGB 00, 00, 00 RGB 00, 00, 00 RGB 00, 00, 00 - + RGB 31, 31, 31 RGB 00, 00, 00 RGB 00, 00, 00 RGB 00, 00, 00 - + RGB 31, 31, 31 RGB 00, 00, 00 RGB 00, 00, 00 RGB 00, 00, 00 - + RGB 31, 31, 31 RGB 00, 00, 00 RGB 00, 00, 00 RGB 00, 00, 00 - + RGB 31, 31, 31 RGB 00, 00, 00 RGB 00, 00, 00 diff --git a/engine/tmhm2.asm b/engine/tmhm2.asm index 94de4f3e3..289857623 100755 --- a/engine/tmhm2.asm +++ b/engine/tmhm2.asm @@ -59,12 +59,12 @@ AskTeachTMHM: ; 2c7bf (b:47bf) cp HM01 jr c, .TM ld hl, Text_BootedHM ; Booted up an HM -.TM +.TM: call PrintText ld hl, Text_ItContained call PrintText call YesNoBox -.NotTMHM +.NotTMHM: pop bc ld a, b ld [Options], a @@ -374,7 +374,7 @@ TMHM_DisplayPocketItems: ; 2c9e2 (b:49e2) call PrintNum jr .okay -.HM +.HM: push af sub NUM_TMS ld [wd265], a @@ -421,7 +421,7 @@ TMHM_DisplayPocketItems: ; 2c9e2 (b:49e2) jr nz, .loop2 jr .done -.NotTMHM +.NotTMHM: call TMHMPocket_GetCurrentLineCoord rept 3 inc hl diff --git a/engine/trade/animation.asm b/engine/trade/animation.asm index 719a230ff..91e190075 100755 --- a/engine/trade/animation.asm +++ b/engine/trade/animation.asm @@ -155,7 +155,7 @@ RunTradeAnimSequence: ; 28fa1 ld a, $0 ld [rVBK], a -.NotCGB +.NotCGB: hlbgcoord 0, 0 ld bc, sScratch - VBGMap0 ld a, " " @@ -1440,7 +1440,7 @@ LoadTradeBallAndCableGFX: ; 2982b LoadTradeBubbleGFX: ; 2985a call DelayFrame ld e, $3 - callab Function8e83f + callab LoadMenuMonIcon ld de, TradeBubbleGFX ld hl, VTiles0 tile $72 lb bc, BANK(TradeBubbleGFX), $4 diff --git a/engine/trainer_card.asm b/engine/trainer_card.asm index 4898d657a..b6fac7f7c 100755 --- a/engine/trainer_card.asm +++ b/engine/trainer_card.asm @@ -118,7 +118,7 @@ TrainerCard_Page1_Joypad: ; 251d7 (9:51d7) ld [wJumptableIndex], a ret -.KantoCheck +.KantoCheck: ; unreferenced ld a, [KantoBadges] and a @@ -164,7 +164,7 @@ TrainerCard_Page2_Joypad: ; 25221 (9:5221) ld [wJumptableIndex], a ret -.KantoCheck +.KantoCheck: ; unreferenced ld a, [KantoBadges] and a @@ -173,7 +173,7 @@ TrainerCard_Page2_Joypad: ; 25221 (9:5221) ld [wJumptableIndex], a ret -.Quit +.Quit: ld a, $6 ld [wJumptableIndex], a ret @@ -289,11 +289,11 @@ TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a) call ClearBox ret -.Dex_PlayTime +.Dex_PlayTime: db "#DEX" next "PLAY TIME@@" -.Badges +.Badges: db " BADGES▶@" .StatusTilemap: ; 25366 @@ -540,7 +540,7 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448) ; 254a7 (9:54a7) -.facing1: ; 254a7 +.facing1 ; 254a7 ; y, x, tile, OAM attributes db 0, 0, 0, 0 db 0, 8, 1, 0 @@ -548,7 +548,7 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448) db 8, 8, 3, 0 db -1 -.facing2: ; 254b8 +.facing2 ; 254b8 db 0, 0, 1, X_FLIP db 0, 8, 0, X_FLIP db 8, 0, 3, X_FLIP diff --git a/engine/unown_puzzle.asm b/engine/unown_puzzle.asm index cf8b78618..ada5244a7 100755 --- a/engine/unown_puzzle.asm +++ b/engine/unown_puzzle.asm @@ -188,7 +188,7 @@ endr ; e12d9 .Jumptable: ; e12d9 - + dw .Function ; e12db @@ -321,7 +321,7 @@ UnownPuzzle_A: ; e1376 ld [wHoldingUnownPuzzlePiece], a ret -.TryPlacePiece +.TryPlacePiece: call UnownPuzzle_CheckCurrentTileOccupancy and a jr nz, UnownPuzzle_InvalidAction @@ -546,7 +546,7 @@ RedrawUnownPuzzlePieces: ; e14d9 ld hl, .OAM_HoldingPiece jr .load -.NoPiece +.NoPiece: ld hl, .OAM_NotHoldingPiece .load diff --git a/engine/variables.asm b/engine/variables.asm index 0f6cfc2c2..3ddfce8d6 100755 --- a/engine/variables.asm +++ b/engine/variables.asm @@ -28,7 +28,7 @@ endr call _de_ ret -.loadstringbuffer2: ; 8066c (20:466c) +.loadstringbuffer2 ; 8066c (20:466c) ld de, StringBuffer2 ld [de], a ret diff --git a/engine/warp_connection.asm b/engine/warp_connection.asm index 6d7e00181..9d1f35479 100755 --- a/engine/warp_connection.asm +++ b/engine/warp_connection.asm @@ -277,7 +277,7 @@ Function1047a3: ; 1047a3 (41:47a3) decoord 0, 0, AttrMap ld a, $1 ld [rVBK], a -.copy: +.copy hlbgcoord 0, 0 ld c, SCREEN_WIDTH ld b, SCREEN_HEIGHT diff --git a/engine/wildmons.asm b/engine/wildmons.asm index f6643d6c3..140de9205 100755 --- a/engine/wildmons.asm +++ b/engine/wildmons.asm @@ -103,7 +103,7 @@ endr .SearchMapForMon: ; 2a088 inc hl -.ScanMapLoop +.ScanMapLoop: push af ld a, [wNamedObjectIndexBuffer] cp [hl] @@ -128,7 +128,7 @@ endr ld c, a hlcoord 0, 0 ld de, SCREEN_WIDTH * SCREEN_HEIGHT -.AppendNestLoop +.AppendNestLoop: ld a, [hli] cp c jr z, .found_nest @@ -459,7 +459,7 @@ _SwarmWildmonCheck scf ret -.CheckYanma +.CheckYanma: push hl ld hl, SwarmFlags bit 3, [hl] @@ -611,7 +611,7 @@ endr scf ret -.DontEncounterRoamMon +.DontEncounterRoamMon: pop hl and a ret @@ -631,7 +631,7 @@ UpdateRoamMons: ; 2a30d ld a, c ld [wRoamMon1MapNumber], a -.SkipRaikou +.SkipRaikou: ld a, [wRoamMon2MapGroup] cp GROUP_N_A jr z, .SkipEntei @@ -644,7 +644,7 @@ UpdateRoamMons: ; 2a30d ld a, c ld [wRoamMon2MapNumber], a -.SkipEntei +.SkipEntei: ld a, [wRoamMon3MapGroup] cp GROUP_N_A jr z, .SkipSuicune @@ -657,7 +657,7 @@ UpdateRoamMons: ; 2a30d ld a, c ld [wRoamMon3MapNumber], a -.SkipSuicune +.SkipSuicune: jp _BackUpMapIndices ; 2a355 @@ -729,7 +729,7 @@ JumpRoamMons: ; 2a394 ld [wRoamMon1MapGroup], a ld a, c ld [wRoamMon1MapNumber], a -.SkipRaikou +.SkipRaikou: ld a, [wRoamMon2MapGroup] cp GROUP_N_A @@ -739,7 +739,7 @@ JumpRoamMons: ; 2a394 ld [wRoamMon2MapGroup], a ld a, c ld [wRoamMon2MapNumber], a -.SkipEntei +.SkipEntei: ld a, [wRoamMon3MapGroup] cp GROUP_N_A @@ -749,7 +749,7 @@ JumpRoamMons: ; 2a394 ld [wRoamMon3MapGroup], a ld a, c ld [wRoamMon3MapNumber], a -.SkipSuicune +.SkipSuicune: jp _BackUpMapIndices @@ -852,7 +852,7 @@ RandomPhoneRareWildMon: ; 2a4ab call LookUpWildmonsForMapDE jr nc, .done -.GetGrassmon +.GetGrassmon: push hl ld bc, 5 + 4 * 2 ; Location of the level of the 5th wild Pokemon in that map add hl, bc @@ -908,7 +908,7 @@ endr ld [ScriptVar], a ret -.SawRareMonText +.SawRareMonText: ; I just saw some rare @ in @ . I'll call you if I see another rare #MON, OK? text_jump UnknownText_0x1bd34b db "@" |