diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-10 16:53:37 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-10 16:53:37 -0500 |
commit | d13fb46d405eb1cbc78c4f7c8823cfce5cfdbfab (patch) | |
tree | cc41006e4160aac7de10704bff7eaea30dc81591 | |
parent | ba05bfeafec51b183986ecaacd22c718ec21f56a (diff) |
enum macros/move_anim.asm, resolve battle/anims.asm function labels
41 files changed, 2126 insertions, 2077 deletions
diff --git a/battle/ai/scoring.asm b/battle/ai/scoring.asm index 7dd204978..5445671ac 100644 --- a/battle/ai/scoring.asm +++ b/battle/ai/scoring.asm @@ -2859,7 +2859,7 @@ endr AI_Smart_Stomp: ; 39200 ; 80% chance to encourage this move if the player has used Minimize. - ld a, [wc6fe] + ld a, [wPlayerMinimized] and a ret z diff --git a/battle/anim_commands.asm b/battle/anim_commands.asm index 839449d19..7372899f5 100644 --- a/battle/anim_commands.asm +++ b/battle/anim_commands.asm @@ -353,54 +353,54 @@ endr BattleAnimCommands:: ; cc2a4 (33:42a4) - dw BattleAnimCmd_D0 - dw BattleAnimCmd_D1 - dw BattleAnimCmd_D2 - dw BattleAnimCmd_D3 - dw BattleAnimCmd_D4 - dw BattleAnimCmd_D5 - dw BattleAnimCmd_D6 - dw BattleAnimCmd_D7 - dw BattleAnimCmd_D8 - dw BattleAnimCmd_D9 - dw BattleAnimCmd_DA - dw BattleAnimCmd_DB - dw BattleAnimCmd_DC - dw BattleAnimCmd_DD - dw BattleAnimCmd_DE - dw BattleAnimCmd_DF - dw BattleAnimCmd_E0 - dw BattleAnimCmd_E1 - dw BattleAnimCmd_E2 - dw BattleAnimCmd_E3 - dw BattleAnimCmd_E4 - dw BattleAnimCmd_E5 - dw BattleAnimCmd_E6 + dw BattleAnimCmd_Obj + dw BattleAnimCmd_1GFX + dw BattleAnimCmd_2GFX + dw BattleAnimCmd_3GFX + dw BattleAnimCmd_4GFX + dw BattleAnimCmd_5GFX + dw BattleAnimCmd_IncObj + dw BattleAnimCmd_SetObj + dw BattleAnimCmd_IncBGEffect + dw BattleAnimCmd_EnemyFeetObj + dw BattleAnimCmd_PlayerHeadObj + dw BattleAnimCmd_CheckPokeball + dw BattleAnimCmd_Transform + dw BattleAnimCmd_RaiseSub + dw BattleAnimCmd_DropSub + dw BattleAnimCmd_ResetObp0 + dw BattleAnimCmd_Sound + dw BattleAnimCmd_Cry + dw BattleAnimCmd_MinimizeOpp + dw BattleAnimCmd_OAMOn + dw BattleAnimCmd_OAMOff + dw BattleAnimCmd_ClearObjs + dw BattleAnimCmd_BeatUp dw BattleAnimCmd_E7 - dw BattleAnimCmd_E8 - dw BattleAnimCmd_E9 - dw BattleAnimCmd_EA - dw BattleAnimCmd_EB - dw BattleAnimCmd_EC - dw BattleAnimCmd_ED - dw BattleAnimCmd_EE - dw BattleAnimCmd_EF - dw BattleAnimCmd_F0 - dw BattleAnimCmd_F1 - dw BattleAnimCmd_F2 - dw BattleAnimCmd_F3 - dw BattleAnimCmd_F4 + dw BattleAnimCmd_UpdateActorPic + dw BattleAnimCmd_Minimize + dw BattleAnimCmd_EA ; dummy + dw BattleAnimCmd_EB ; dummy + dw BattleAnimCmd_EC ; dummy + dw BattleAnimCmd_ED ; dummy + dw BattleAnimCmd_JumpAnd + dw BattleAnimCmd_JumpUntil + dw BattleAnimCmd_BGEffect + dw BattleAnimCmd_BGP + dw BattleAnimCmd_OBP0 + dw BattleAnimCmd_OBP1 + dw BattleAnimCmd_ClearSprites dw BattleAnimCmd_F5 dw BattleAnimCmd_F6 dw BattleAnimCmd_F7 - dw BattleAnimCmd_F8 - dw BattleAnimCmd_F9 - dw BattleAnimCmd_FA - dw BattleAnimCmd_FB - dw BattleAnimCmd_FC - dw BattleAnimCmd_FD - dw BattleAnimCmd_FE - dw BattleAnimCmd_FF + dw BattleAnimCmd_JumpIf + dw BattleAnimCmd_SetVar + dw BattleAnimCmd_IncVar + dw BattleAnimCmd_JumpVar + dw BattleAnimCmd_Jump + dw BattleAnimCmd_Loop + dw BattleAnimCmd_Call + dw BattleAnimCmd_Ret BattleAnimCmd_EA: @@ -409,7 +409,7 @@ BattleAnimCmd_EC: BattleAnimCmd_ED: ; cc304 (33:4304) ret -BattleAnimCmd_FF: ; cc305 (33:4305) +BattleAnimCmd_Ret: ; cc305 (33:4305) ld hl, BattleAnimFlags res 1, [hl] ld hl, BattleAnimParent @@ -422,7 +422,7 @@ BattleAnimCmd_FF: ; cc305 (33:4305) ld [hl], d ret -BattleAnimCmd_FE: ; cc317 (33:4317) +BattleAnimCmd_Call: ; cc317 (33:4317) call GetBattleAnimByte ld e, a call GetBattleAnimByte @@ -445,7 +445,7 @@ BattleAnimCmd_FE: ; cc317 (33:4317) set 1, [hl] ret -BattleAnimCmd_FC: ; cc339 (33:4339) +BattleAnimCmd_Jump: ; cc339 (33:4339) call GetBattleAnimByte ld e, a call GetBattleAnimByte @@ -456,7 +456,7 @@ BattleAnimCmd_FC: ; cc339 (33:4339) ld [hl], d ret -BattleAnimCmd_FD: ; cc348 (33:4348) +BattleAnimCmd_Loop: ; cc348 (33:4348) call GetBattleAnimByte ld hl, BattleAnimFlags bit 2, [hl] @@ -497,7 +497,7 @@ endr ld [hl], e ret -BattleAnimCmd_EF: ; cc383 (33:4383) +BattleAnimCmd_JumpUntil: ; cc383 (33:4383) ld hl, wKickCounter ld a, [hl] and a @@ -527,17 +527,17 @@ endr ld [hl], e ret -BattleAnimCmd_F9: ; cc3a6 (33:43a6) +BattleAnimCmd_SetVar: ; cc3a6 (33:43a6) call GetBattleAnimByte ld [BattleAnimVar], a ret -BattleAnimCmd_FA: ; cc3ad (33:43ad) +BattleAnimCmd_IncVar: ; cc3ad (33:43ad) ld hl, BattleAnimVar inc [hl] ret -BattleAnimCmd_FB: ; cc3b2 (33:43b2) +BattleAnimCmd_JumpVar: ; cc3b2 (33:43b2) call GetBattleAnimByte ld hl, BattleAnimVar cp [hl] @@ -566,7 +566,7 @@ endr ld [hl], d ret -BattleAnimCmd_F8: ; cc3d6 (33:43d6) +BattleAnimCmd_JumpIf: ; cc3d6 (33:43d6) call GetBattleAnimByte ld hl, wKickCounter cp [hl] @@ -595,7 +595,7 @@ endr ld [hl], d ret -BattleAnimCmd_EE: ; cc3fa (33:43fa) +BattleAnimCmd_JumpAnd: ; cc3fa (33:43fa) call GetBattleAnimByte ld e, a ld a, [wKickCounter] @@ -624,7 +624,7 @@ endr ld [hl], d ret -BattleAnimCmd_D0: ; cc41f (33:441f) +BattleAnimCmd_Obj: ; cc41f (33:441f) call GetBattleAnimByte ld [BattleAnimTemps], a call GetBattleAnimByte @@ -636,7 +636,7 @@ BattleAnimCmd_D0: ; cc41f (33:441f) call Functioncc9a1 ret -BattleAnimCmd_F0: ; cc43b (33:443b) +BattleAnimCmd_BGEffect: ; cc43b (33:443b) call GetBattleAnimByte ld [BattleAnimTemps], a call GetBattleAnimByte @@ -648,23 +648,23 @@ BattleAnimCmd_F0: ; cc43b (33:443b) call Functionccb4f ret -BattleAnimCmd_F1: ; cc457 (33:4457) +BattleAnimCmd_BGP: ; cc457 (33:4457) call GetBattleAnimByte ld [wcfc7], a ret -BattleAnimCmd_F2: ; cc45e (33:445e) +BattleAnimCmd_OBP0: ; cc45e (33:445e) call GetBattleAnimByte ld [wcfc8], a ret -BattleAnimCmd_F3: ; cc465 (33:4465) +BattleAnimCmd_OBP1: ; cc465 (33:4465) call GetBattleAnimByte ld [wcfc9], a ret -BattleAnimCmd_DF: ; cc46c (33:446c) - ld a, [hSGB] ; $ff00+$e7 +BattleAnimCmd_ResetObp0: ; cc46c (33:446c) + ld a, [hSGB] and a ld a, $e0 jr z, .asm_cc475 @@ -673,7 +673,7 @@ BattleAnimCmd_DF: ; cc46c (33:446c) ld [wcfc8], a ret -BattleAnimCmd_E5: ; cc479 (33:4479) +BattleAnimCmd_ClearObjs: ; cc479 (33:4479) ld hl, OTPartyMon3HP ld a, $a0 .asm_cc47e @@ -683,11 +683,11 @@ BattleAnimCmd_E5: ; cc479 (33:4479) jr nz, .asm_cc47e ret -BattleAnimCmd_D1: -BattleAnimCmd_D2: -BattleAnimCmd_D3: -BattleAnimCmd_D4: -BattleAnimCmd_D5: ; cc485 (33:4485) +BattleAnimCmd_1GFX: +BattleAnimCmd_2GFX: +BattleAnimCmd_3GFX: +BattleAnimCmd_4GFX: +BattleAnimCmd_5GFX: ; cc485 (33:4485) ld a, [BattleAnimByte] and $f ld c, a @@ -722,7 +722,7 @@ endr jr nz, .asm_cc492 ret -BattleAnimCmd_D6: ; cc4c0 (33:44c0) +BattleAnimCmd_IncObj: ; cc4c0 (33:44c0) call GetBattleAnimByte ld e, $a ld bc, OTPartyMon3HP @@ -746,7 +746,7 @@ BattleAnimCmd_D6: ; cc4c0 (33:44c0) inc [hl] ret -BattleAnimCmd_D8: ; cc4e3 (33:44e3) +BattleAnimCmd_IncBGEffect: ; cc4e3 (33:44e3) call GetBattleAnimByte ld e, $5 ld bc, ActiveBGEffects @@ -770,7 +770,7 @@ BattleAnimCmd_D8: ; cc4e3 (33:44e3) inc [hl] ret -BattleAnimCmd_D7: ; cc506 (33:4506) +BattleAnimCmd_SetObj: ; cc506 (33:4506) call GetBattleAnimByte ld e, $a ld bc, OTPartyMon3HP @@ -795,7 +795,7 @@ BattleAnimCmd_D7: ; cc506 (33:4506) ld [hl], a ret -BattleAnimCmd_D9: ; cc52c (33:452c) +BattleAnimCmd_EnemyFeetObj: ; cc52c (33:452c) ld hl, w5_d300 .asm_cc52f @@ -851,7 +851,7 @@ Functioncc561: ; cc561 (33:4561) jr nz, Functioncc561 ret -BattleAnimCmd_DA: ; cc57e (33:457e) +BattleAnimCmd_PlayerHeadObj: ; cc57e (33:457e) ld hl, w5_d300 .asm_cc581 @@ -907,7 +907,7 @@ Functioncc5b3: ; cc5b3 (33:45b3) jr nz, Functioncc5b3 ret -BattleAnimCmd_DB: ; cc5d0 (33:45d0) +BattleAnimCmd_CheckPokeball: ; cc5d0 (33:45d0) callab GetPokeBallWobble ld a, c ld [BattleAnimVar], a @@ -916,15 +916,15 @@ BattleAnimCmd_DB: ; cc5d0 (33:45d0) BattleAnimCmd_E7: ; cc5db (33:45db) ret -BattleAnimCmd_DC: ; cc5dc (33:45dc) - ld a, [rSVBK] ; $ff00+$70 +BattleAnimCmd_Transform: ; cc5dc (33:45dc) + ld a, [rSVBK] push af ld a, 1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, [CurPartySpecies] ; CurPartySpecies push af - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and a jr z, .player @@ -948,13 +948,13 @@ BattleAnimCmd_DC: ; cc5dc (33:45dc) pop af ld [CurPartySpecies], a ; CurPartySpecies pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret -BattleAnimCmd_E8: ; cc622 (33:4622) +BattleAnimCmd_UpdateActorPic: ; cc622 (33:4622) ld de, VTiles0 tile $00 - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and a jr z, .player @@ -971,12 +971,12 @@ BattleAnimCmd_E8: ; cc622 (33:4622) call Request2bpp ret -BattleAnimCmd_DD: ; cc640 (33:4640) +BattleAnimCmd_RaiseSub: ; cc640 (33:4640) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, 1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a call GetSRAMBank @@ -992,7 +992,7 @@ GetSubstitutePic: ; cc64c or b jr nz, .loop - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and a jr z, .player @@ -1037,7 +1037,7 @@ GetSubstitutePic: ; cc64c .done call CloseSRAM pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret CopyMonsterSpriteTile: ; cc6c6 (33:46c6) @@ -1046,18 +1046,18 @@ CopyMonsterSpriteTile: ; cc6c6 (33:46c6) call FarCopyBytes ret -BattleAnimCmd_E2: ; cc6cf (33:46cf) - ld a, [rSVBK] ; $ff00+$70 +BattleAnimCmd_MinimizeOpp: ; cc6cf (33:46cf) + ld a, [rSVBK] push af ld a, $1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a call GetSRAMBank call GetMinimizePic call Request2bpp call CloseSRAM pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret GetMinimizePic: ; cc6e7 (33:46e7) @@ -1071,7 +1071,7 @@ GetMinimizePic: ; cc6e7 (33:46e7) or b jr nz, .loop - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and a jr z, .player @@ -1102,11 +1102,11 @@ MinimizePic: ; cc725 INCBIN "gfx/battle/minimize.2bpp" ; cc735 -BattleAnimCmd_E9: ; cc735 (33:4735) - ld a, [rSVBK] ; $ff00+$70 +BattleAnimCmd_Minimize: ; cc735 (33:4735) + ld a, [rSVBK] push af ld a, $1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a call GetSRAMBank call GetMinimizePic @@ -1114,18 +1114,18 @@ BattleAnimCmd_E9: ; cc735 (33:4735) call Request2bpp call CloseSRAM pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret -BattleAnimCmd_DE: ; cc750 (33:4750) - ld a, [rSVBK] ; $ff00+$70 +BattleAnimCmd_DropSub: ; cc750 (33:4750) + ld a, [rSVBK] push af ld a, $1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, [CurPartySpecies] ; CurPartySpecies push af - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and a jr z, .player @@ -1139,21 +1139,21 @@ BattleAnimCmd_DE: ; cc750 (33:4750) pop af ld [CurPartySpecies], a ; CurPartySpecies pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret -BattleAnimCmd_E6: ; cc776 (33:4776) - ld a, [rSVBK] ; $ff00+$70 +BattleAnimCmd_BeatUp: ; cc776 (33:4776) + ld a, [rSVBK] push af ld a, $1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, [CurPartySpecies] ; CurPartySpecies push af ld a, [wKickCounter] ld [CurPartySpecies], a ; CurPartySpecies - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and a jr z, .player @@ -1175,20 +1175,20 @@ BattleAnimCmd_E6: ; cc776 (33:4776) ld b, $1 call GetSGBLayout pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret -BattleAnimCmd_E3: ; cc7bb (33:47bb) +BattleAnimCmd_OAMOn: ; cc7bb (33:47bb) xor a - ld [hOAMUpdate], a ; $ff00+$d8 + ld [hOAMUpdate], a ret -BattleAnimCmd_E4: ; cc7bf (33:47bf) +BattleAnimCmd_OAMOff: ; cc7bf (33:47bf) ld a, $1 - ld [hOAMUpdate], a ; $ff00+$d8 + ld [hOAMUpdate], a ret -BattleAnimCmd_F4: ; cc7c4 (33:47c4) +BattleAnimCmd_ClearSprites: ; cc7c4 (33:47c4) ld hl, BattleAnimFlags set 3, [hl] ret @@ -1202,7 +1202,7 @@ BattleAnimCmd_F6: ; cc7cb (33:47cb) BattleAnimCmd_F7: ; cc7cc (33:47cc) ret -BattleAnimCmd_E0: ; cc7cd (33:47cd) +BattleAnimCmd_Sound: ; cc7cd (33:47cd) call GetBattleAnimByte ld e, a srl a @@ -1232,7 +1232,7 @@ Datacc7f8: ; cc7f8 ; cc7fc Functioncc7fc: ; cc7fc (33:47fc) - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and a jr nz, .enemy @@ -1244,7 +1244,7 @@ Functioncc7fc: ; cc7fc (33:47fc) xor 1 ret -BattleAnimCmd_E1: ; cc807 (33:4807) +BattleAnimCmd_Cry: ; cc807 (33:4807) call GetBattleAnimByte and 3 ld e, a @@ -1254,12 +1254,12 @@ rept 4 add hl, de endr - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, 1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and a jr nz, .enemy @@ -1316,7 +1316,7 @@ endr .done pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret ; cc871 (33:4871) diff --git a/battle/anim_objects.asm b/battle/anim_objects.asm index 943b550b3..3fc6e7c7d 100644 --- a/battle/anim_objects.asm +++ b/battle/anim_objects.asm @@ -946,14 +946,14 @@ endr Functioncd249: ; cd249 (33:5249) ld hl, Unknown_cd26c - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, [CurItem] ; CurItem ld e, a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a .asm_cd25a ld a, [hli] cp $ff @@ -1694,7 +1694,7 @@ Jumptable_cd66d: ; cd66d (33:566d) Functioncd677: ; cd677 (33:5677) call Functionce72c ld a, $42 - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a ld a, $58 ld [hLCDStatCustom + 1], a ld a, $5e @@ -1753,7 +1753,7 @@ Functioncd6c6: ; cd6c6 (33:56c6) cp $70 jr c, asm_cd6da xor a - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a ld [hLCDStatCustom + 1], a ld [hLCDStatCustom + 2], a @@ -2839,7 +2839,7 @@ Jumptable_cdcc6: ; cdcc6 (33:5cc6) Functioncdcca: ; cdcca (33:5cca) - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and a jr z, .asm_cdcd9 ld hl, $b @@ -3842,7 +3842,7 @@ Jumptable_ce258: ; ce258 (33:6258) Functionce260: ; ce260 (33:6260) call Functionce72c - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and a jr nz, .asm_ce26c ld a, $f0 @@ -3893,7 +3893,7 @@ Functionce29f: ; ce29f (33:629f) srl a ld e, a ld d, $0 - ld a, [hSGB] ; $ff00+$e7 + ld a, [hSGB] and a jr nz, .asm_ce2b6 ld hl, Unknown_ce2c4 diff --git a/battle/anims.asm b/battle/anims.asm index 51b3448b2..d18cfff43 100644 --- a/battle/anims.asm +++ b/battle/anims.asm @@ -303,10 +303,11 @@ BattleAnim_SweetScent2: ; c929c ; c92c1 BattleAnim_ThrowPokeBall: ; c92c1 - anim_jumpif $0, BattleAnim_ThrowPokeBall_branch_c92f2 - anim_jumpif $1, BattleAnim_ThrowPokeBall_branch_c9347 - anim_jumpif $2, BattleAnim_ThrowPokeBall_branch_c9305 - anim_jumpif $4, BattleAnim_ThrowPokeBall_branch_c9326 + anim_jumpif NO_ITEM, .TheTrainerBlockedTheBall + anim_jumpif MASTER_BALL, .MasterBall + anim_jumpif ULTRA_BALL, .UltraBall + anim_jumpif GREAT_BALL, .GreatBall + ; any other ball anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE anim_sound $1a, SFX_THROW_BALL anim_obj $15, 68, 92, $40 @@ -317,10 +318,10 @@ BattleAnim_ThrowPokeBall: ; c92c1 anim_sound $1, SFX_BALL_POOF anim_obj $1c, 136, 64, $10 anim_wait 16 - anim_jump BattleAnim_ThrowPokeBall_branch_c9392 + anim_jump .Shake ; c92f2 -BattleAnim_ThrowPokeBall_branch_c92f2: ; c92f2 +.TheTrainerBlockedTheBall: ; c92f2 anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_HIT anim_sound $1a, SFX_THROW_BALL anim_obj $16, 64, 92, $20 @@ -330,7 +331,7 @@ BattleAnim_ThrowPokeBall_branch_c92f2: ; c92f2 anim_ret ; c9305 -BattleAnim_ThrowPokeBall_branch_c9305: ; c9305 +.UltraBall: ; c9305 anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE anim_sound $1a, SFX_THROW_BALL anim_obj $15, 68, 92, $40 @@ -341,10 +342,10 @@ BattleAnim_ThrowPokeBall_branch_c9305: ; c9305 anim_sound $1, SFX_BALL_POOF anim_obj $1c, 136, 64, $10 anim_wait 16 - anim_jump BattleAnim_ThrowPokeBall_branch_c9392 + anim_jump .Shake ; c9326 -BattleAnim_ThrowPokeBall_branch_c9326: ; c9326 +.GreatBall: ; c9326 anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE anim_sound $1a, SFX_THROW_BALL anim_obj $15, 68, 92, $40 @@ -355,10 +356,10 @@ BattleAnim_ThrowPokeBall_branch_c9326: ; c9326 anim_sound $1, SFX_BALL_POOF anim_obj $1c, 136, 64, $10 anim_wait 16 - anim_jump BattleAnim_ThrowPokeBall_branch_c9392 + anim_jump .Shake ; c9347 -BattleAnim_ThrowPokeBall_branch_c9347: ; c9347 +.MasterBall: ; c9347 anim_3gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE, ANIM_GFX_SPEED anim_sound $1a, SFX_THROW_BALL anim_obj $15, 64, 92, $20 @@ -379,7 +380,7 @@ BattleAnim_ThrowPokeBall_branch_c9347: ; c9347 anim_obj $2b, 136, 56, $36 anim_obj $2b, 136, 56, $37 anim_wait 64 -BattleAnim_ThrowPokeBall_branch_c9392: ; c9392 +.Shake: ; c9392 anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0 anim_wait 8 anim_incobj $2 @@ -393,22 +394,22 @@ BattleAnim_ThrowPokeBall_branch_c9392: ; c9392 anim_wait 32 anim_wait 8 anim_setvar $0 -BattleAnim_ThrowPokeBall_branch_c93aa: ; c93aa +.Loop: ; c93aa anim_wait 48 anim_checkpokeball - anim_jumpvar $1, BattleAnim_ThrowPokeBall_branch_c93bc - anim_jumpvar $2, BattleAnim_ThrowPokeBall_branch_c93be + anim_jumpvar $1, .Click + anim_jumpvar $2, .BreakFree anim_incobj $1 anim_sound $1, SFX_BALL_WIGGLE - anim_jump BattleAnim_ThrowPokeBall_branch_c93aa + anim_jump .Loop ; c93bc -BattleAnim_ThrowPokeBall_branch_c93bc: ; c93bc +.Click: ; c93bc anim_clearsprites anim_ret ; c93be -BattleAnim_ThrowPokeBall_branch_c93be: ; c93be +.BreakFree: ; c93be anim_setobj $1, $b anim_sound $1, SFX_BALL_POOF anim_obj $1c, 136, 64, $10 diff --git a/battle/bg_effects.asm b/battle/bg_effects.asm index f7245ce3b..96e51db2f 100644 --- a/battle/bg_effects.asm +++ b/battle/bg_effects.asm @@ -343,14 +343,14 @@ Functionc81c0: ; c81c0 (32:41c0) call ClearBox pop bc xor a - ld [hBGMapThird], a ; $ff00+$d5 + ld [hBGMapThird], a ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret Functionc81e3: ; c81e3 (32:41e3) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call EndBattleBGEffect ret @@ -441,13 +441,13 @@ Functionc825a: ; c825a (32:425a) .asm_c8271 call ClearBox ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a pop bc ret Functionc827a: ; c827a (32:427a) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call EndBattleBGEffect ret @@ -507,13 +507,13 @@ Functionc82c7: ; c82c7 (32:42c7) .asm_c82de call ClearBox ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a pop bc ret Functionc82e7: ; c82e7 (32:42e7) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call EndBattleBGEffect ret @@ -595,9 +595,9 @@ Functionc831d: ; c831d (32:431d) jr nz, .asm_c8344 .asm_c8355 xor a - ld [hBGMapThird], a ; $ff00+$d5 + ld [hBGMapThird], a ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Functionc80e5 ld hl, $3 add hl, bc @@ -606,7 +606,7 @@ Functionc831d: ; c831d (32:431d) Functionc8365: ; c8365 (32:4365) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld hl, $3 add hl, bc ld a, [hl] @@ -723,7 +723,7 @@ endr .asm_c841d call Functionc80e5 ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret .asm_c8425 call Functionc843b @@ -731,7 +731,7 @@ endr Functionc842a: ; c842a (32:442a) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld hl, $1 add hl, bc ld [hl], $0 @@ -739,7 +739,7 @@ Functionc842a: ; c842a (32:442a) Functionc8434: ; c8434 (32:4434) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call EndBattleBGEffect ret @@ -902,7 +902,7 @@ Functionc854e: ; c854e (32:454e) call Functionc8f69 Functionc8557: ; c8557 (32:4557) - ld a, [hLCDStatCustom] ; $ff00+$c6 + ld a, [hLCDStatCustom] and a ret z push bc @@ -967,7 +967,7 @@ Functionc85a2: ; c85a2 (32:45a2) call Functionc80e5 call Functionc8eca ld a, $42 - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a xor a ld [hLCDStatCustom + 1], a ld a, $5e @@ -1042,7 +1042,7 @@ Functionc8610: ; c8610 (32:4610) call Functionc80e5 call Functionc8eca ld a, $43 - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a xor a ld [hLCDStatCustom + 1], a ld a, $5f @@ -1530,7 +1530,7 @@ Functionc88a5: ; c88a5 (32:48a5) sub d ld d, a ld h, LYOverridesBackup / $100 - ld a, [hSCY] ; $ff00+$d0 + ld a, [hSCY] or a jr nz, .asm_c88d0 ld a, [hLCDStatCustom + 1] @@ -1546,7 +1546,7 @@ Functionc88a5: ; c88a5 (32:48a5) ld l, a ld [hl], $0 .asm_c88d6 - ld a, [hSCY] ; $ff00+$d0 + ld a, [hSCY] ld l, a ld a, [hLCDStatCustom + 1] sub l @@ -1953,7 +1953,7 @@ Functionc8ae5: ; c8ae5 (32:4ae5) ret Functionc8b00: ; c8b00 (32:4b00) - ld a, [hCGB] ; $ff00+$e6 + ld a, [hCGB] and a jr nz, asm_c8b7a call Functionc80d7 ; ; ; call does not return @@ -1969,7 +1969,7 @@ Functionc8b0e: ; c8b0e (32:4b0e) ld a, $e4 call Functionc8ecb ld a, $47 - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a xor a ld [hLCDStatCustom + 1], a ld a, $60 @@ -2266,7 +2266,7 @@ Functionc8cab: ; c8cab (32:4cab) call Functionc80e5 call Functionc8eca ld a, $43 - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a xor a ld [hLCDStatCustom + 1], a ld a, $37 @@ -2307,7 +2307,7 @@ Functionc8ce1: ; c8ce1 (32:4ce1) push af call DelayFrame pop af - ld [hSCY], a ; $ff00+$d0 + ld [hSCY], a xor $ff inc a ld [OTPartyMon3SpclAtk], a @@ -2318,7 +2318,7 @@ Functionc8cf9: ; c8cf9 (32:4cf9) jr nc, .asm_c8cff xor a .asm_c8cff - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ret Functionc8d02: ; c8d02 (32:4d02) @@ -2326,7 +2326,7 @@ Functionc8d02: ; c8d02 (32:4d02) jr nc, .asm_c8d08 xor a .asm_c8d08 - ld [hSCY], a ; $ff00+$d0 + ld [hSCY], a ret Functionc8d0b: ; c8d0b (32:4d0b) @@ -2373,7 +2373,7 @@ Functionc8d3a: ; c8d3a (32:4d3a) jr nc, .asm_c8d53 ld d, $6 call Functionc905d - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld hl, $3 add hl, bc ld a, [hl] @@ -2382,7 +2382,7 @@ Functionc8d3a: ; c8d3a (32:4d3a) ret .asm_c8d53 xor a - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ret Functionc8d57: ; c8d57 (32:4d57) @@ -2410,7 +2410,7 @@ Functionc8d57: ; c8d57 (32:4d57) ret Functionc8d77: ; c8d77 (32:4d77) - ld a, [hCGB] ; $ff00+$e6 + ld a, [hCGB] and a jr nz, asm_c8dd4 push de @@ -2469,7 +2469,7 @@ Functionc8daa: ; c8daa (32:4daa) Functionc8dc9: ; c8dc9 (32:4dc9) call Functionc8f19 ld a, $e4 - ld [rBGP], a ; $ff00+$47 + ld [rBGP], a call EndBattleBGEffect ret asm_c8dd4: ; c8dd4 (32:4dd4) @@ -2563,10 +2563,10 @@ Functionc8e49: ; c8e49 (32:4e49) Functionc8e52: ; c8e52 (32:4e52) ld h, a - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, h push bc push af @@ -2583,17 +2583,17 @@ Functionc8e52: ; c8e52 (32:4e52) call CopyPals pop bc pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a ret Functionc8e7f: ; c8e7f (32:4e7f) ld h, a - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, h push bc push af @@ -2610,9 +2610,9 @@ Functionc8e7f: ; c8e7f (32:4e7f) call CopyPals pop bc pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a ret Functionc8eac: ; c8eac (32:4eac) @@ -2660,7 +2660,7 @@ Functionc8ecb: ; c8ecb (32:4ecb) ret Functionc8ede: ; c8ede (32:4ede) - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a call Functionc9038 jr nz, .asm_c8eea ld de, $36 @@ -2675,7 +2675,7 @@ Functionc8ede: ; c8ede (32:4ede) ret Functionc8ef4: ; c8ef4 (32:4ef4) - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a call Functionc9038 jr nz, .asm_c8f00 ld de, $36 @@ -2695,15 +2695,15 @@ Functionc8f0a: ; c8f0a (32:4f0a) ld [hLCDStatCustom + 2], a call Functionc8eca xor a - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a call EndBattleBGEffect ret Functionc8f19: ; c8f19 (32:4f19) xor a - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a ld a, $e4 - ld [rBGP], a ; $ff00+$47 + ld [rBGP], a ld [wcfc7], a ld [wcfc9], a ld [hLCDStatCustom + 1], a @@ -2902,7 +2902,7 @@ Functionc901b: ; c901b (32:501b) Functionc9038: ; c9038 (32:5038) ld hl, $2 add hl, bc - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and $1 xor [hl] ret @@ -2910,7 +2910,7 @@ Functionc9038: ; c9038 (32:5038) Functionc9042: ; c9042 (32:5042) ld hl, $2 add hl, bc - ld a, [hBattleTurn] ; $ff00+$e4 + ld a, [hBattleTurn] and $1 xor [hl] jr nz, .asm_c9053 @@ -2923,7 +2923,7 @@ Functionc9042: ; c9042 (32:5042) ret Functionc9059: ; c9059 (32:5059) - ld a, [hSGB] ; $ff00+$e7 + ld a, [hSGB] and a ret diff --git a/battle/core.asm b/battle/core.asm index f57940db6..39d7d1102 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -174,8 +174,8 @@ Function3c12f: ; 3c12f ld [wPlayerIsSwitching], a ld [wEnemyIsSwitching], a ld [wd264], a - ld [wc73f], a - ld [wc740], a + ld [wPlayerJustGotFrozen], a + ld [wEnemyJustGotFrozen], a ld [CurDamage], a ld [CurDamage + 1], a @@ -1604,19 +1604,21 @@ HandleFutureSight: ; 3ca26 HanleDefrost: ; 3ca8f ld a, [hLinkPlayerNumber] cp $1 - jr z, .asm_3ca9a - call .asm_3ca9d - jr .asm_3cac9 + jr z, .enemy_first + call .do_player_turn + jr .do_enemy_turn -.asm_3ca9a - call .asm_3cac9 -.asm_3ca9d +.enemy_first + call .do_enemy_turn +.do_player_turn ld a, [BattleMonStatus] bit FRZ, a ret z - ld a, [wc73f] + + ld a, [wPlayerJustGotFrozen] and a ret nz + call BattleRandom cp 10 percent ret nc @@ -1631,11 +1633,11 @@ HanleDefrost: ; 3ca8f ld hl, DefrostedOpponentText jp StdBattleTextBox -.asm_3cac9 +.do_enemy_turn ld a, [EnemyMonStatus] bit FRZ, a ret z - ld a, [wc740] + ld a, [wEnemyJustGotFrozen] and a ret nz call BattleRandom @@ -3654,9 +3656,9 @@ LoadEnemyPkmnToSwitchTo: ; 3d6ca ld hl, EnemyMonHP ld a, [hli] - ld [wc6ea], a + ld [wEnemyHPAtTimeOfPlayerSwitch], a ld a, [hl] - ld [wc6eb], a + ld [wEnemyHPAtTimeOfPlayerSwitch + 1], a ret ; 3d714 @@ -3814,7 +3816,7 @@ endr ld [EnemyProtectCount], a ld [wEnemyRageCounter], a ld [EnemyDisabledMove], a - ld [wc6fa], a + ld [wEnemyMinimized], a ld [wPlayerWrapCount], a ld [wEnemyWrapCount], a ld [EnemyTurnsTaken], a @@ -4317,7 +4319,7 @@ endr ld [PlayerProtectCount], a ld [wPlayerRageCounter], a ld [DisabledMove], a - ld [wc6fe], a + ld [wPlayerMinimized], a ld [wEnemyWrapCount], a ld [wPlayerWrapCount], a ld [PlayerTurnsTaken], a @@ -5166,9 +5168,9 @@ BattleMenu: ; 3e139 ; Auto input: choose "ITEM" ld a, [InputType] or a - jr z, .asm_3e171 + jr z, .skip_dude_pack_select callba _DudeAutoInput_DownA -.asm_3e171 +.skip_dude_pack_select call LoadBattleMenu2 ret c @@ -5242,26 +5244,26 @@ BattleMenu_Pack: ; 3e1c7 callba BattlePack ld a, [wd0ec] and a - jr z, .asm_3e20d - jr .asm_3e209 + jr z, .didnt_use_item + jr .got_item .tutorial callba Function107bb ld a, POKE_BALL ld [CurItem], a call DoItemEffect - jr .asm_3e209 + jr .got_item .contest ld a, PARK_BALL ld [CurItem], a call DoItemEffect -.asm_3e209 +.got_item call Function3e234 ret -.asm_3e20d +.didnt_use_item call ClearPalettes call DelayFrame call Function3ed9f @@ -7862,7 +7864,7 @@ Function3f136: ; 3f136 ld e, a push de ld de, TempMonExp + 2 - call Function3f39c + call CalcExpBar push bc ld hl, TempMonExp + 2 ld a, [wd004] @@ -7950,7 +7952,7 @@ endr push bc ld b, d ld de, TempMonExp + 2 - call Function3f39c + call CalcExpBar ld a, b pop bc ld c, a @@ -7986,7 +7988,7 @@ Function3f22c: ; 3f22c push bc push de hlcoord 17, 11 - call Function3f41c + call PlaceExpBar pop de ld a, $1 ld [hBGMapMode], a @@ -8002,7 +8004,7 @@ Function3f22c: ; 3f22c push bc push de hlcoord 17, 11 - call Function3f41c + call PlaceExpBar pop de ld a, $1 ld [hBGMapMode], a @@ -8030,32 +8032,33 @@ Function3f22c: ; 3f22c SendOutPkmnText: ; 3f26d ld a, [wLinkMode] and a - jr z, .asm_3f27c + jr z, .not_linked ld hl, JumpText_GoPkmn ; If we're in a LinkBattle print just "Go <PlayerMon>" - ld a, [wd264] ; besides this variable is set. which stands for ??? + ld a, [wd264] ; unless this (unidentified) variable is set and a - jr nz, .asm_3f2ce + jr nz, .skip_to_textbox -.asm_3f27c +.not_linked ; Depending on the HP of the enemy Pkmn, the game prints a different text ld hl, EnemyMonHP ld a, [hli] or [hl] ld hl, JumpText_GoPkmn - jr z, .asm_3f2ce + jr z, .skip_to_textbox + ; compute enemy helth remaining as a percentage xor a ld [hMultiplicand + 0], a ld hl, EnemyMonHP ld a, [hli] - ld [wc6ea], a + ld [wEnemyHPAtTimeOfPlayerSwitch], a ld [hMultiplicand + 1], a ld a, [hl] - ld [wc6eb], a + ld [wEnemyHPAtTimeOfPlayerSwitch + 1], a ld [hMultiplicand + 2], a - ld a, $19 + ld a, 25 ld [hMultiplier], a call Multiply ld hl, EnemyMonMaxHP @@ -8066,22 +8069,25 @@ SendOutPkmnText: ; 3f26d srl a rr b ld a, b - ld b, $4 + ld b, 4 ld [hDivisor], a call Divide + ld a, [hQuotient + 2] ld hl, JumpText_GoPkmn - cp $46 - jr nc, .asm_3f2ce + cp 70 + jr nc, .skip_to_textbox + ld hl, JumpText_DoItPkmn - cp $28 - jr nc, .asm_3f2ce + cp 40 + jr nc, .skip_to_textbox + ld hl, JumpText_GoForItPkmn - cp $a - jr nc, .asm_3f2ce - ld hl, JumpText_YourFoesWeakGetmPkmn + cp 10 + jr nc, .skip_to_textbox -.asm_3f2ce + ld hl, JumpText_YourFoesWeakGetmPkmn +.skip_to_textbox jp BattleTextBox ; 3f2d1 @@ -8130,13 +8136,13 @@ TextJump_BattleMonNickComma: ; 3f2fa start_asm ; 3f2ff -Function3f2ff: ; 3f2ff +WithdrawPkmnText: ; 3f2ff ; Print text to withdraw Pkmn ; depending on HP the message is different push de push bc ld hl, EnemyMonHP + 1 - ld de, wc6eb + ld de, wEnemyHPAtTimeOfPlayerSwitch + 1 ld b, [hl] dec hl ld a, [de] @@ -8147,7 +8153,7 @@ Function3f2ff: ; 3f2ff ld a, [de] sbc b ld [hMultiplicand + 1], a - ld a, $19 + ld a, 25 ld [hMultiplier], a call Multiply ld hl, EnemyMonMaxHP @@ -8158,7 +8164,7 @@ Function3f2ff: ; 3f2ff srl a rr b ld a, b - ld b, $4 + ld b, 4 ld [hDivisor], a call Divide pop bc @@ -8169,11 +8175,11 @@ Function3f2ff: ; 3f2ff ret z ld hl, TextJump_ComeBack - cp $1e + cp 30 ret c ld hl, TextJump_OKComeBack - cp $46 + cp 70 ret c ld hl, TextJump_GoodComeBack @@ -8207,23 +8213,23 @@ TextJump_ComeBack: ; 3f35b ; 3f360 -Function3f360: ; 3f360 - ld hl, wc6f0 +HandleSafariAngerEatingStatus: ; unreferenced + ld hl, wSafariMonEating ld a, [hl] and a - jr z, .asm_3f36d + jr z, .angry dec [hl] ld hl, BattleText_WildPkmnIsEating - jr .asm_3f388 + jr .finish -.asm_3f36d - dec hl +.angry + dec hl ; wSafariMonAngerCount ld a, [hl] and a ret z dec [hl] ld hl, BattleText_WildPkmnIsAngry - jr nz, .asm_3f388 + jr nz, .finish push hl ld a, [EnemyMonSpecies] ld [CurSpecies], a @@ -8232,7 +8238,7 @@ Function3f360: ; 3f360 ld [EnemyMonCatchRate], a pop hl -.asm_3f388 +.finish push hl call Call_LoadTempTileMapToTileMap pop hl @@ -8242,19 +8248,22 @@ Function3f360: ; 3f360 FillInExpBar: ; 3f390 push hl - call Function3f39c + call CalcExpBar pop hl - ld de, $0007 + ld de, 7 add hl, de - jp Function3f41c + jp PlaceExpBar ; 3f39c -Function3f39c: ; 3f39c +CalcExpBar: ; 3f39c +; Calculate the percent exp between this level and the next +; Level in b push de ld d, b push de callab CalcExpAtLevel pop de +; exp at current level gets pushed to the stack ld hl, hMultiplicand ld a, [hli] push af @@ -8262,16 +8271,18 @@ Function3f39c: ; 3f39c push af ld a, [hl] push af +; next level inc d callab CalcExpAtLevel - ld hl, hProduct + 3 +; back up the next level exp, and subtract the two levels + ld hl, hMultiplicand + 2 ld a, [hl] - ld [hPrintNum8], a + ld [hMathBuffer + 2], a pop bc sub b ld [hld], a ld a, [hl] - ld [hPrintNum7], a + ld [hMathBuffer + 1], a pop bc sbc b ld [hld], a @@ -8281,21 +8292,24 @@ Function3f39c: ; 3f39c sbc b ld [hl], a pop de - ld hl, hProduct + 2 + + ld hl, hMultiplicand + 1 ld a, [hli] push af ld a, [hl] push af + +; get the amount of exp remaining to the next level ld a, [de] dec de ld c, a - ld a, [hPrintNum8] + ld a, [hMathBuffer + 2] sub c ld [hld], a ld a, [de] dec de ld b, a - ld a, [hPrintNum7] + ld a, [hMathBuffer + 1] sbc b ld [hld], a ld a, [de] @@ -8305,6 +8319,7 @@ Function3f39c: ; 3f39c ld [hld], a xor a ld [hl], a +; multiply by 64 ld a, $40 ld [hMultiplier], a call Multiply @@ -8312,10 +8327,10 @@ Function3f39c: ; 3f39c ld c, a pop af ld b, a -.asm_3f3f4 +.loop ld a, b and a - jr z, .asm_3f40c + jr z, .done srl b rr c ld hl, hProduct @@ -8326,12 +8341,12 @@ Function3f39c: ; 3f39c rr [hl] inc hl rr [hl] - jr .asm_3f3f4 + jr .loop -.asm_3f40c +.done ld a, c ld [hDivisor], a - ld b, $4 + ld b, 4 call Divide ld a, [hQuotient + 2] ld b, a @@ -8341,49 +8356,49 @@ Function3f39c: ; 3f39c ret ; 3f41c -Function3f41c: ; 3f41c - ld c, $8 -.asm_3f41e +PlaceExpBar: ; 3f41c + ld c, $8 ; number of tiles +.loop1 ld a, b sub $8 - jr c, .asm_3f42c + jr c, .next ld b, a - ld a, $6a + ld a, $6a ; full bar ld [hld], a dec c - jr z, .asm_3f43c - jr .asm_3f41e + jr z, .finish + jr .loop1 -.asm_3f42c +.next add $8 - jr z, .asm_3f434 - add $54 - jr .asm_3f436 + jr z, .loop2 + add $54 ; tile to the left of small exp bar tile + jr .skip -.asm_3f434 - ld a, $62 +.loop2 + ld a, $62 ; empty bar -.asm_3f436 +.skip ld [hld], a - ld a, $62 + ld a, $62 ; empty bar dec c - jr nz, .asm_3f434 + jr nz, .loop2 -.asm_3f43c +.finish ret ; 3f43d GetMonBackpic: ; 3f43d ld a, [PlayerSubStatus4] bit SUBSTATUS_SUBSTITUTE, a - ld hl, BattleAnimCmd_DD - jr nz, Function3f46f ; substitute + ld hl, BattleAnimCmd_RaiseSub + jr nz, GetBackpic_DoAnim ; substitute Function3f447: ; 3f447 - ld a, [wc6fe] + ld a, [wPlayerMinimized] and a - ld hl, BattleAnimCmd_E2 - jr nz, Function3f46f + ld hl, BattleAnimCmd_MinimizeOpp + jr nz, GetBackpic_DoAnim ld a, [CurPartySpecies] push af ld a, [BattleMonSpecies] @@ -8397,7 +8412,7 @@ Function3f447: ; 3f447 ret ; 3f46f -Function3f46f: ; 3f46f +GetBackpic_DoAnim: ; 3f46f ld a, [hBattleTurn] push af xor a @@ -8412,14 +8427,14 @@ Function3f46f: ; 3f46f GetMonFrontpic: ; 3f47c ld a, [EnemySubStatus4] bit SUBSTATUS_SUBSTITUTE, a - ld hl, BattleAnimCmd_DD - jr nz, Function3f4b4 + ld hl, BattleAnimCmd_RaiseSub + jr nz, GetFrontpic_DoAnim Function3f486: ; 3f486 - ld a, [wc6fa] + ld a, [wEnemyMinimized] and a - ld hl, BattleAnimCmd_E2 - jr nz, Function3f4b4 + ld hl, BattleAnimCmd_MinimizeOpp + jr nz, GetFrontpic_DoAnim ld a, [CurPartySpecies] push af @@ -8436,7 +8451,7 @@ Function3f486: ; 3f486 ret ; 3f4b4 -Function3f4b4: ; 3f4b4 +GetFrontpic_DoAnim: ; 3f4b4 ld a, [hBattleTurn] push af call SetEnemyTurn diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index 871518331..ed1fb85a1 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -5361,13 +5361,14 @@ BattleCommand_FreezeTarget: ; 36102 callba UseHeldStatusHealingItem ret nz + call OpponentCantMove call EndRechargeOpp - ld hl, wc740 + ld hl, wEnemyJustGotFrozen ld a, [hBattleTurn] and a jr z, .finish - ld hl, wc73f + ld hl, wPlayerJustGotFrozen .finish ld [hl], $1 ret @@ -5582,12 +5583,12 @@ CheckIfStatCanBeRaised: ; 361ef StatUpAnimation: ; 36281 - ld bc, wc6fe + ld bc, wPlayerMinimized ld hl, Function3f447 ld a, [hBattleTurn] and a jr z, .do_player ; 0x3628a $6 - ld bc, wc6fa + ld bc, wEnemyMinimized ld hl, Function3f486 .do_player ld a, BATTLE_VARS_MOVE_ANIM @@ -8338,9 +8339,9 @@ endr jr c, .mimic_anims ld a, [hBattleTurn] and a - ld a, [wc6fe] + ld a, [wPlayerMinimized] jr z, .got_byte - ld a, [wc6fa] + ld a, [wEnemyMinimized] .got_byte and a jr nz, .mimic_anims @@ -9528,11 +9529,11 @@ BattleCommand_MirrorCoat: ; 37c95 BattleCommand_DoubleMinimizeDamage: ; 37ce6 ; doubleminimizedamage - ld hl, wc6fa + ld hl, wEnemyMinimized ld a, [hBattleTurn] and a jr z, .ok - ld hl, wc6fe + ld hl, wPlayerMinimized .ok ld a, [hl] and a diff --git a/battle/misc.asm b/battle/misc.asm index 429e4aae6..d47573df9 100644 --- a/battle/misc.asm +++ b/battle/misc.asm @@ -1,7 +1,7 @@ _DisappearUser: ; fbd54 xor a - ld [hBGMapMode], a ; $ff00+$d4 - ld a, [hBattleTurn] ; $ff00+$e4 + ld [hBGMapMode], a + ld a, [hBattleTurn] and a jr z, .player call GetEnemyFrontpicCoords @@ -21,8 +21,8 @@ _AppearUserLowerSub: ; fbd71 (3e:7d71) AppearUser: ; fbd77 (3e:7d77) xor a - ld [hBGMapMode], a ; $ff00+$d4 - ld a, [hBattleTurn] ; $ff00+$e4 + ld [hBGMapMode], a + ld a, [hBattleTurn] and a jr z, .player call GetEnemyFrontpicCoords @@ -36,7 +36,7 @@ AppearUser: ; fbd77 (3e:7d77) predef FillBox FinishAppearDisappearUser: ; fbd91 (3e:7d91) ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret GetEnemyFrontpicCoords: ; fbd96 (3e:7d96) diff --git a/constants/animation_constants.asm b/constants/animation_constants.asm index 5bc9b7b06..27cb1f319 100644 --- a/constants/animation_constants.asm +++ b/constants/animation_constants.asm @@ -48,53 +48,3 @@ ANIM_BG_WOBBLE_MON EQU $34 const ANIM_MON_UNUSED ; 6 const ANIM_MON_EGG1 ; 7 const ANIM_MON_EGG2 ; 8 - -const_value SET $d0 - const BATTLEANIM_D0 - const BATTLEANIM_D1 - const BATTLEANIM_D2 - const BATTLEANIM_D3 - const BATTLEANIM_D4 - const BATTLEANIM_D5 - const BATTLEANIM_D6 - const BATTLEANIM_D7 - const BATTLEANIM_D8 - const BATTLEANIM_D9 - const BATTLEANIM_DA - const BATTLEANIM_DB - const BATTLEANIM_DC - const BATTLEANIM_DD - const BATTLEANIM_DE - const BATTLEANIM_DF - const BATTLEANIM_E0 - const BATTLEANIM_E1 - const BATTLEANIM_E2 - const BATTLEANIM_E3 - const BATTLEANIM_E4 - const BATTLEANIM_E5 - const BATTLEANIM_E6 - const BATTLEANIM_E7 - const BATTLEANIM_E8 - const BATTLEANIM_E9 - const BATTLEANIM_EA - const BATTLEANIM_EB - const BATTLEANIM_EC - const BATTLEANIM_ED - const BATTLEANIM_EE - const BATTLEANIM_EF - const BATTLEANIM_F0 - const BATTLEANIM_F1 - const BATTLEANIM_F2 - const BATTLEANIM_F3 - const BATTLEANIM_F4 - const BATTLEANIM_F5 - const BATTLEANIM_F6 - const BATTLEANIM_F7 - const BATTLEANIM_F8 - const BATTLEANIM_F9 - const BATTLEANIM_FA - const BATTLEANIM_FB - const BATTLEANIM_FC - const BATTLEANIM_FD - const BATTLEANIM_FE - const BATTLEANIM_FF diff --git a/engine/battle_start.asm b/engine/battle_start.asm index 4b12bb632..181f4135f 100644 --- a/engine/battle_start.asm +++ b/engine/battle_start.asm @@ -254,7 +254,7 @@ StartTrainerBattle_SetUpBGMap: ; 8c3a1 (23:43a1) call StartTrainerBattle_NextScene xor a ld [wcf64], a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret StartTrainerBattle_Flash: ; 8c3ab (23:43ab) @@ -309,10 +309,10 @@ StartTrainerBattle_Flash: ; 8c3ab (23:43ab) StartTrainerBattle_SetUpForWavyOutro: ; 8c3e8 (23:43e8) callba Function5602 ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call StartTrainerBattle_NextScene ld a, $43 - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a xor a ld [hLCDStatCustom + 1], a ld a, $90 @@ -365,7 +365,7 @@ StartTrainerBattle_SineWave: ; 8c408 (23:4408) StartTrainerBattle_SetUpForSpinOutro: ; 8c43d (23:443d) callba Function5602 ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call StartTrainerBattle_NextScene xor a ld [wcf64], a @@ -386,7 +386,7 @@ ENDM StartTrainerBattle_SpinToBlack: ; 8c44f (23:444f) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, [wcf64] ld e, a ld d, 0 @@ -400,7 +400,7 @@ endr ld [wcf65], a call .load ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame ld hl, wcf64 @@ -409,12 +409,12 @@ endr .end ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame call DelayFrame xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $20 ld [wJumptableIndex], a ret @@ -508,12 +508,12 @@ endr StartTrainerBattle_SetUpForRandomScatterOutro: ; 8c578 (23:4578) callba Function5602 ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call StartTrainerBattle_NextScene ld a, $10 ld [wcf64], a ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f) @@ -533,12 +533,12 @@ StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f) .done ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame call DelayFrame xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $20 ld [wJumptableIndex], a ret @@ -580,7 +580,7 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) jp z, .nextscene xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 0, 0, AttrMap ld bc, SCREEN_HEIGHT * SCREEN_WIDTH inc b @@ -636,11 +636,11 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) dec b jr nz, .loop2 - ld a, [hCGB] ; $ff00+$e6 + ld a, [hCGB] and a jr nz, .cgb ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame jr .nextscene @@ -653,10 +653,10 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) jr nz, .daytime ld hl, .nightpals .daytime - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 ; WRAM5 = palettes - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call .copypals push hl ld de, Unkn1Pals + 8 * 7 @@ -667,9 +667,9 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) ld bc, $8 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a call DelayFrame call Function8cf4f @@ -829,7 +829,7 @@ StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768) inc de ld h, a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call .Copy call WaitBGMap jr .loop diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm new file mode 100755 index 000000000..3b71b0601 --- /dev/null +++ b/engine/breeding/egg.asm @@ -0,0 +1,976 @@ +Function16e1d: ; 16e1d + call Function16ed6 + ld c, $0 + jp nc, .asm_16eb7 + ld a, [wBreedMon1Species] + ld [CurPartySpecies], a + ld a, [wBreedMon1DVs] + ld [TempMonDVs], a + ld a, [wBreedMon1DVs + 1] + ld [TempMonDVs + 1], a + ld a, $3 + ld [MonType], a + predef GetGender + jr c, .asm_16e70 + ld b, $1 + jr nz, .asm_16e48 + inc b + +.asm_16e48 + push bc + ld a, [wBreedMon2Species] + ld [CurPartySpecies], a + ld a, [wBreedMon2DVs] + ld [TempMonDVs], a + ld a, [wBreedMon2DVs + 1] + ld [TempMonDVs + 1], a + ld a, $3 + ld [MonType], a + predef GetGender + pop bc + jr c, .asm_16e70 + ld a, $1 + jr nz, .asm_16e6d + inc a + +.asm_16e6d + cp b + jr nz, .asm_16e89 + +.asm_16e70 + ld c, $0 + ld a, [wBreedMon1Species] + cp DITTO + jr z, .asm_16e82 + ld a, [wBreedMon2Species] + cp DITTO + jr nz, .asm_16eb7 + jr .asm_16e89 + +.asm_16e82 + ld a, [wBreedMon2Species] + cp DITTO + jr z, .asm_16eb7 + +.asm_16e89 + call Function16ebc + ld c, $ff + jp z, .asm_16eb7 + ld a, [wBreedMon2Species] + ld b, a + ld a, [wBreedMon1Species] + cp b + ld c, $fe + jr z, .asm_16e9f + ld c, $80 +.asm_16e9f + ld a, [wBreedMon1ID] + ld b, a + ld a, [wBreedMon2ID] + cp b + jr nz, .asm_16eb7 + ld a, [wBreedMon1ID + 1] + ld b, a + ld a, [wBreedMon2ID + 1] + cp b + jr nz, .asm_16eb7 + ld a, c + sub $4d + ld c, a + +.asm_16eb7 + ld a, c + ld [wd265], a + ret +; 16ebc + + +Function16ebc: ; 16ebc (5:6ebc) + ld a, [wBreedMon1DVs] + and $f + ld b, a + ld a, [wBreedMon2DVs] + and $f + cp b + ret nz + ld a, [wBreedMon1DVs + 1] + and $7 + ld b, a + ld a, [wBreedMon2DVs + 1] + and $7 + cp b + ret +; 16ed6 + +Function16ed6: ; 16ed6 + ld a, [wBreedMon2Species] + ld [CurSpecies], a + call GetBaseData + ld a, [BaseEggGroups] + cp $ff + jr z, .asm_16f3a + ld a, [wBreedMon1Species] + ld [CurSpecies], a + call GetBaseData + ld a, [BaseEggGroups] + cp $ff + jr z, .asm_16f3a + ld a, [wBreedMon2Species] + cp DITTO + jr z, .asm_16f3c + ld [CurSpecies], a + call GetBaseData + ld a, [BaseEggGroups] + push af + and $f + ld b, a + pop af + and $f0 + swap a + ld c, a + ld a, [wBreedMon1Species] + cp DITTO + jr z, .asm_16f3c + ld [CurSpecies], a + push bc + call GetBaseData + pop bc + ld a, [BaseEggGroups] + push af + and $f + ld d, a + pop af + and $f0 + swap a + ld e, a + ld a, d + cp b + jr z, .asm_16f3c + cp c + jr z, .asm_16f3c + ld a, e + cp b + jr z, .asm_16f3c + cp c + jr z, .asm_16f3c + +.asm_16f3a + and a + ret + +.asm_16f3c + scf + ret +; 16f3e + +DoEggStep:: ; 16f3e + ld de, PartySpecies + ld hl, PartyMon1Happiness + ld c, 0 +.loop + ld a, [de] + inc de + cp -1 + ret z + cp EGG + jr nz, .next + dec [hl] + jr nz, .next + ld a, 1 + and a + ret + +.next + push de + ld de, PARTYMON_STRUCT_LENGTH + add hl, de + pop de + jr .loop +; 16f5e + +OverworldHatchEgg:: ; 16f5e + call ResetWindow + call LoadPartyMenuDataHeader + call Function16f70 + call Function2b4d + call RestartMapMusic + jp LoadMoveSprites +; 16f70 + +Function16f70: ; 16f70 (5:6f70) + ld de, PartySpecies + ld hl, PartyMon1Happiness + xor a + ld [CurPartyMon], a + +Function16f7a: ; 16f7a (5:6f7a) + ld a, [de] + inc de + cp -1 + jp z, Function1708a + push de + push hl + cp EGG + jp nz, Function1707d + ld a, [hl] + and a + jp nz, Function1707d + ld [hl], $78 + + push de + + callba Function4dbb8 + callba MobileFn_10608d + ld a, [CurPartyMon] + ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld a, [hl] + ld [CurPartySpecies], a + dec a + call SetSeenAndCaughtMon + + ld a, [CurPartySpecies] + cp TOGEPI + jr nz, .nottogepi + ; set the event flag for hatching togepi + ld de, EVENT_TOGEPI_HATCHED + ld b, SET_FLAG + call EventFlagAction +.nottogepi + + pop de + + ld a, [CurPartySpecies] + dec de + ld [de], a + ld [wd265], a + ld [CurSpecies], a + call GetPokemonName + xor a + ld [wd26b], a + call GetBaseData + ld a, [CurPartyMon] + ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + push hl + ld bc, MON_MAXHP + add hl, bc + ld d, h + ld e, l + pop hl + push hl + ld bc, MON_LEVEL + add hl, bc + ld a, [hl] + ld [CurPartyLevel], a + pop hl + push hl + ld bc, MON_STATUS + add hl, bc + xor a + ld [hli], a + ld [hl], a + pop hl + push hl + ld bc, MON_EXP + 2 + add hl, bc + ld b, $0 + predef CalcPkmnStats + pop bc + ld hl, MON_MAXHP + add hl, bc + ld d, h + ld e, l + ld hl, MON_HP + add hl, bc + ld a, [de] + inc de + ld [hli], a + ld a, [de] + ld [hl], a + ld hl, MON_ID + add hl, bc + ld a, [PlayerID] + ld [hli], a + ld a, [PlayerID + 1] + ld [hl], a + ld a, [CurPartyMon] + ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) + ld bc, NAME_LENGTH + call AddNTimes + ld d, h + ld e, l + ld hl, PlayerName + call CopyBytes + ld hl, UnknownText_0x1708b + call PrintText + ld a, [CurPartyMon] + ld hl, PartyMonNicknames + ld bc, PKMN_NAME_LENGTH + call AddNTimes + ld d, h + ld e, l + push de + ld hl, UnknownText_0x170ba + call PrintText + call YesNoBox + pop de + jr c, .nonickname + ld a, $1 + ld [wd26b], a + xor a + ld [MonType], a + push de + ld b, $0 + callba Function116c1 + pop hl + ld de, StringBuffer1 + call InitName + jr Function1707d +.nonickname + ld hl, StringBuffer1 + ld bc, PKMN_NAME_LENGTH + call CopyBytes + +Function1707d: ; 1707d (5:707d) + ld hl, CurPartyMon + inc [hl] + pop hl + ld de, PARTYMON_STRUCT_LENGTH + add hl, de + pop de + jp Function16f7a + +Function1708a: ; 1708a (5:708a) + ret +; 1708b (5:708b) + +UnknownText_0x1708b: ; 0x1708b + ; Huh? @ @ + text_jump UnknownText_0x1c0db0 + start_asm +; 0x17090 + +Function17090: ; 17090 + ld hl, VramState + res 0, [hl] + push hl + push de + push bc + ld a, [CurPartySpecies] + push af + call Function1728f + ld hl, UnknownText_0x170b0 + call PrintText + pop af + ld [CurPartySpecies], a + pop bc + pop de + pop hl + ld hl, UnknownText_0x170b5 + ret +; 170b0 (5:70b0) + +UnknownText_0x170b0: ; 0x170b0 + ; + text_jump UnknownText_0x1c0db8 + db "@" +; 0x170b5 + +UnknownText_0x170b5: ; 0x170b5 + ; came out of its EGG!@ @ + text_jump UnknownText_0x1c0dba + db "@" +; 0x170ba + +UnknownText_0x170ba: ; 0x170ba + ; Give a nickname to @ ? + text_jump UnknownText_0x1c0dd8 + db "@" +; 0x170bf + +Function170bf: ; 170bf + call Function17197 + ld d, h + ld e, l + ld b, NUM_MOVES +.loop + ld a, [de] + and a + jr z, .done + ld hl, wEggMonMoves + ld c, NUM_MOVES +.next + ld a, [de] + cp [hl] + jr z, .skip + inc hl + dec c + jr nz, .next + call Function170e4 + jr nc, .skip + call Function17169 + +.skip + inc de + dec b + jr nz, .loop + +.done + ret +; 170e4 + +Function170e4: ; 170e4 +GLOBAL EggMoves + + push bc + ld a, [wEggMonSpecies] + dec a + ld c, a + ld b, 0 + ld hl, EggMovePointers +rept 2 + add hl, bc +endr + ld a, BANK(EggMovePointers) + call GetFarHalfword +.loop + ld a, BANK(EggMoves) + call GetFarByte + cp -1 + jr z, .found_mon + ld b, a + ld a, [de] + cp b + jr z, .done_carry + inc hl + jr .loop + +.found_mon + call Function1720b + ld b, NUM_MOVES +.loop2 + ld a, [de] + cp [hl] + jr z, .found_eggmove + inc hl + dec b + jr z, .inherit_tmhm + jr .loop2 + +.found_eggmove + ld a, [wEggMonSpecies] + dec a + ld c, a + ld b, 0 + ld hl, EvosAttacksPointers +rept 2 + add hl, bc +endr + ld a, BANK(EvosAttacksPointers) + call GetFarHalfword +.loop3 + ld a, BANK(EvosAttacks) + call GetFarByte + inc hl + and a + jr nz, .loop3 +.loop4 + ld a, BANK(EvosAttacks) + call GetFarByte + and a + jr z, .inherit_tmhm + inc hl + ld a, BANK(EvosAttacks) + call GetFarByte + ld b, a + ld a, [de] + cp b + jr z, .done_carry + inc hl + jr .loop4 + +.inherit_tmhm + ld hl, TMHMMoves +.loop5 + ld a, BANK(TMHMMoves) + call GetFarByte + inc hl + and a + jr z, .done + ld b, a + ld a, [de] + cp b + jr nz, .loop5 + ld [wd262], a + predef CanLearnTMHMMove + ld a, c + and a + jr z, .done + +.done_carry + pop bc + scf + ret + +.done + pop bc + and a + ret +; 17169 + +Function17169: ; 17169 + push de + push bc + ld a, [de] + ld b, a + ld hl, wEggMonMoves + ld c, NUM_MOVES +.loop + ld a, [hli] + and a + jr z, .done + dec c + jr nz, .loop + ld de, wEggMonMoves + ld hl, wEggMonMoves + 1 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + +.done + dec hl + ld [hl], b + ld hl, wEggMonMoves + ld de, wEggMonPP + predef FillPP + pop bc + pop de + ret +; 17197 + +Function17197: ; 17197 + ld hl, wBreedMon2Moves + ld a, [wBreedMon1Species] + cp DITTO + jr z, .ditto1 + ld a, [wBreedMon2Species] + cp DITTO + jr z, .ditto2 + ld a, [wDittoInDaycare] + and a + ret z + ld hl, wBreedMon1Moves + ret + +.ditto1 + ld a, [CurPartySpecies] + push af + ld a, [wBreedMon2Species] + ld [CurPartySpecies], a + ld a, [wBreedMon2DVs] + ld [TempMonDVs], a + ld a, [wBreedMon2DVs + 1] + ld [TempMonDVs + 1], a + ld a, $3 + ld [MonType], a + predef GetGender + jr c, .inherit_mon2_moves + jr nz, .inherit_mon2_moves + jr .inherit_mon1_moves + +.ditto2 + ld a, [CurPartySpecies] + push af + ld a, [wBreedMon1Species] + ld [CurPartySpecies], a + ld a, [wBreedMon1DVs] + ld [TempMonDVs], a + ld a, [wBreedMon1DVs + 1] + ld [TempMonDVs + 1], a + ld a, $3 + ld [MonType], a + predef GetGender + jr c, .inherit_mon1_moves + jr nz, .inherit_mon1_moves + +.inherit_mon2_moves + ld hl, wBreedMon2Moves + pop af + ld [CurPartySpecies], a + ret + +.inherit_mon1_moves + ld hl, wBreedMon1Moves + pop af + ld [CurPartySpecies], a + ret +; 1720b + +Function1720b: ; 1720b + ld hl, wBreedMon1Moves + ld a, [wBreedMon1Species] + cp DITTO + ret z + ld a, [wBreedMon2Species] + cp DITTO + jr z, .ditto + ld a, [wDittoInDaycare] + and a + ret z + +.ditto + ld hl, wBreedMon2Moves + ret +; 17224 + + +Function17224: ; 17224 (5:7224) + push de + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + ld hl, BattleMonDVs + predef GetUnownLetter + pop de + predef_jump GetFrontpic + +Function1723c: ; 1723c (5:723c) + push de + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + ld hl, BattleMonDVs + predef GetUnownLetter + pop de + predef_jump Function5108b + +Function17254: ; 17254 (5:7254) + push af + call WaitTop + push hl + push bc + hlcoord 0, 0 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, " " + call ByteFill + pop bc + pop hl + ld a, b + ld [hBGMapAddress + 1], a + ld a, c + ld [hFillBox], a + lb bc, 7, 7 + predef FillBox + pop af + call Function17363 + call SetPalettes + jp WaitBGMap + +Function1727f: ; 1727f (5:727f) + push hl + push de + push bc + callab Function8cf69 + call DelayFrame + pop bc + pop de + pop hl + ret + +Function1728f: ; 1728f (5:728f) + ld a, [wd265] + ld [wJumptableIndex], a + ld a, [CurSpecies] + push af + ld de, MUSIC_NONE + call PlayMusic + callba Function8000 + call DisableLCD + ld hl, EggHatchGFX + ld de, VTiles0 tile $00 + ld bc, $20 + ld a, BANK(EggHatchGFX) + call FarCopyBytes + callba Function8cf53 + ld de, VTiles2 tile $00 + ld a, [wJumptableIndex] + call Function1723c + ld de, VTiles2 tile $31 + ld a, EGG + call Function17224 + ld de, MUSIC_EVOLUTION + call PlayMusic + call EnableLCD + hlcoord 7, 4 + ld b, $98 + ld c, $31 + ld a, EGG + call Function17254 + ld c, $50 + call DelayFrames + xor a + ld [wcf64], a + ld a, [hSCX] + ld b, a +.asm_172ee + ld hl, wcf64 + ld a, [hl] + inc [hl] + cp $8 + jr nc, .asm_17327 + ld e, [hl] +.asm_172f8 + ld a, $2 + ld [hSCX], a + ld a, $fe + ld [wc3c0], a + call Function1727f + ld c, $2 + call DelayFrames + ld a, $fe + ld [hSCX], a + ld a, $2 + ld [wc3c0], a + call Function1727f + ld c, $2 + call DelayFrames + dec e + jr nz, .asm_172f8 + ld c, $10 + call DelayFrames + call Function1736d + jr .asm_172ee +.asm_17327 + ld de, SFX_EGG_HATCH + call PlaySFX + xor a + ld [hSCX], a + ld [wc3c0], a + call ClearSprites + call Function173b3 + hlcoord 6, 3 + ld b, $98 + ld c, $0 + ld a, [wJumptableIndex] + call Function17254 + call Function17418 + call WaitSFX + ld a, [wJumptableIndex] + ld [CurPartySpecies], a + hlcoord 6, 3 + ld d, $0 + ld e, ANIM_MON_HATCH + predef AnimateFrontpic + pop af + ld [CurSpecies], a + ret + +Function17363: ; 17363 (5:7363) + ld [PlayerHPPal], a + ld b, $b + ld c, $0 + jp GetSGBLayout + +Function1736d: ; 1736d (5:736d) + ld a, [wcf64] + dec a + and $7 + cp $7 + ret z + srl a + ret nc + swap a + srl a + add $4c + ld d, a + ld e, $58 + ld a, $19 + call Function3b2a + ld hl, $3 + add hl, bc + ld [hl], $0 + ld de, SFX_EGG_CRACK + jp PlaySFX +; 17393 (5:7393) + +EggHatchGFX: ; 17393 +INCBIN "gfx/unknown/017393.2bpp" +; 173b3 + +Function173b3: ; 173b3 (5:73b3) + callba Function8cf53 + ld hl, Unknown_173ef +.loop + ld a, [hli] + cp $ff + jr z, .done + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + push hl + push bc + ld a, $1c + call Function3b2a + ld hl, $3 + add hl, bc + ld [hl], $0 + pop de + ld a, e + ld hl, $1 + add hl, bc + add [hl] + ld [hl], a + ld hl, $b + add hl, bc + ld [hl], d + pop hl + jr .loop +.done + ld de, SFX_EGG_HATCH + call PlaySFX + call Function1727f + ret +; 173ef (5:73ef) + +Unknown_173ef: ; 173ef +; Probably OAM. + db $54, $48, $00, $3c + db $5c, $48, $01, $04 + db $54, $50, $00, $30 + db $5c, $50, $01, $10 + db $54, $58, $02, $24 + db $5c, $58, $03, $1c + db $50, $4c, $00, $36 + db $60, $4c, $01, $0a + db $50, $54, $02, $2a + db $60, $54, $03, $16 + db $ff +; 17418 + +Function17418: ; 17418 (5:7418) + ld c, $81 +.asm_1741a + call Function1727f + dec c + jr nz, .asm_1741a + ret + +Special_DayCareMon1: ; 17421 + ld hl, UnknownText_0x17467 + call PrintText + ld a, [wBreedMon1Species] + call PlayCry + ld a, [wDaycareLady] + bit 0, a + jr z, Function1745f + call KeepTextOpen + ld hl, wBreedMon2Nick + call Function1746c + jp PrintText + +Special_DayCareMon2: ; 17440 + ld hl, UnknownText_0x17462 + call PrintText + ld a, [wBreedMon2Species] + call PlayCry + ld a, [wDaycareMan] + bit 0, a + jr z, Function1745f + call KeepTextOpen + ld hl, wBreedMon1Nick + call Function1746c + jp PrintText + +Function1745f: ; 1745f + jp Functiona80 +; 17462 + +UnknownText_0x17462: ; 0x17462 + ; It's @ that was left with the DAY-CARE LADY. + text_jump UnknownText_0x1c0df3 + db "@" +; 0x17467 + +UnknownText_0x17467: ; 0x17467 + ; It's @ that was left with the DAY-CARE MAN. + text_jump UnknownText_0x1c0e24 + db "@" +; 0x1746c + +Function1746c: ; 1746c + push bc + ld de, StringBuffer1 + ld bc, NAME_LENGTH + call CopyBytes + call Function16e1d + pop bc + ld a, [wd265] + ld hl, UnknownText_0x1749c + cp $ff + jr z, .asm_1749b + ld hl, UnknownText_0x174a1 + and a + jr z, .asm_1749b + ld hl, UnknownText_0x174a6 + cp 230 + jr nc, .asm_1749b + cp 70 + ld hl, UnknownText_0x174ab + jr nc, .asm_1749b + ld hl, UnknownText_0x174b0 + +.asm_1749b + ret +; 1749c + +UnknownText_0x1749c: ; 0x1749c + ; It's brimming with energy. + text_jump UnknownText_0x1c0e54 + db "@" +; 0x174a1 + +UnknownText_0x174a1: ; 0x174a1 + ; It has no interest in @ . + text_jump UnknownText_0x1c0e6f + db "@" +; 0x174a6 + +UnknownText_0x174a6: ; 0x174a6 + ; It appears to care for @ . + text_jump UnknownText_0x1c0e8d + db "@" +; 0x174ab + +UnknownText_0x174ab: ; 0x174ab + ; It's friendly with @ . + text_jump UnknownText_0x1c0eac + db "@" +; 0x174b0 + +UnknownText_0x174b0: ; 0x174b0 + ; It shows interest in @ . + text_jump UnknownText_0x1c0ec6 + db "@" +; 0x174b5 + +Function_174b5: ; 174b5 + ld hl, String_174b9 + ret +; 174b9 + +String_174b9: ; 174b9 + db "@" +; 174ba + diff --git a/engine/clock_reset.asm b/engine/clock_reset.asm index eedcae836..3d2ca2708 100755 --- a/engine/clock_reset.asm +++ b/engine/clock_reset.asm @@ -72,9 +72,9 @@ RestartClock: ; 20021 (8:4021) call UpdateTime call GetWeekday ld [Buffer4], a - ld a, [hHours] ; $ff00+$94 + ld a, [hHours] ld [Buffer5], a - ld a, [hMinutes] ; $ff00+$96 + ld a, [hMinutes] ld [Buffer6], a .loop @@ -223,7 +223,7 @@ RestartClock: ; 20021 (8:4021) .unreferenced: ; 20160 ld a, [Buffer3] ld b, a - call GetTileCoord + call Coord2Tile ret ; 20168 @@ -233,7 +233,7 @@ RestartClock: ; 20021 (8:4021) ld a, [Buffer3] dec a ld b, a - call GetTileCoord + call Coord2Tile pop de ld [hl], d ld bc, 2 * SCREEN_WIDTH diff --git a/engine/credits.asm b/engine/credits.asm index 473a851be..f03950d69 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -300,7 +300,7 @@ Function109956: ; 109956 (42:5956) Function10995e: ; 10995e (42:595e) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a jp Function109951 Function109964: ; 109964 (42:5964) @@ -317,13 +317,13 @@ Function109964: ; 109964 (42:5964) Function10997b: ; 10997b (42:597b) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $8 ld [Requested2bpp], a jp Function109951 Function109986: ; 109986 (42:5986) - ld a, [rLY] ; $ff00+$44 + ld a, [rLY] cp $30 jr c, Function109986 ld a, [wcf66] @@ -523,9 +523,9 @@ endr Function109a95: ; 109a95 (42:5a95) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $c - ld [hBGMapAddress], a ; $ff00+$d6 + ld [hBGMapAddress], a ld a, $28 hlcoord 0, 0 ld bc, $168 @@ -558,8 +558,8 @@ Function109a95: ; 109a95 (42:5a95) call ByteFill call Function3200 xor a - ld [hBGMapMode], a ; $ff00+$d4 - ld [hBGMapAddress], a ; $ff00+$d6 + ld [hBGMapMode], a + ld [hBGMapAddress], a hlcoord 0, 0 call Function109aff call Function3200 diff --git a/engine/link.asm b/engine/link.asm index 585b5061a..ce89389f8 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -1813,7 +1813,7 @@ Function28b87: ; 28b87 ld a, [hli] ld [wc6fd], a ld a, [hl] - ld [wc6fe], a + ld [wPlayerMinimized], a ld a, [DefaultFlypoint] ld hl, PartyMon1Species call GetPartyLocation @@ -2810,7 +2810,7 @@ Function2942e: ; 2942e ld [CurPartySpecies], a ld a, [wc6fd] ld [TempMonDVs], a - ld a, [wc6fe] + ld a, [wPlayerMinimized] ld [TempMonDVs + 1], a ld b, $1a call GetSGBLayout diff --git a/engine/map_objects.asm b/engine/map_objects.asm index ae661a392..bc1ce4a67 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -2995,7 +2995,7 @@ Function56cd: ; 56cd jr nc, .ok8 ld c, a push bc - call GetTileCoord + call Coord2Tile pop bc ld a, [hl] cp $60 diff --git a/engine/menu.asm b/engine/menu.asm index c1d2949d0..a1ec30b7a 100755 --- a/engine/menu.asm +++ b/engine/menu.asm @@ -1,5 +1,5 @@ Function2400e:: ; 2400e - ld hl, Function1c66 + ld hl, CopyMenuData2 ld a, [wcf94] rst FarCall call Function24085 @@ -10,7 +10,7 @@ Function2400e:: ; 2400e ; 24022 Function24022:: ; 24022 - ld hl, Function1c66 + ld hl, CopyMenuData2 ld a, [wcf94] rst FarCall call Function24085 @@ -22,7 +22,7 @@ Function24022:: ; 24022 ; 2403c Function2403c:: ; 2403c - ld hl, Function1c66 + ld hl, CopyMenuData2 ld a, [wcf94] rst FarCall call Function24085 @@ -126,8 +126,8 @@ Function240db: ; 240db ld e, [hl] inc hl ld d, [hl] - call Function1cc6 - call GetTileCoord + call GetMenuTextStartCoord + call Coord2Tile call Function240d3 ld b, a .asm_240eb @@ -166,7 +166,7 @@ Function240db: ; 240db Function2411a: ; 2411a (9:411a) - call Function1cc6 + call GetMenuTextStartCoord ld a, b ld [wcfa1], a dec c @@ -538,7 +538,7 @@ Function24329: ; 24329 ld b, a ld a, [wcfa2] ld c, a - call GetTileCoord + call Coord2Tile ld a, [wcfa7] swap a and $f diff --git a/engine/pack.asm b/engine/pack.asm index d5878b7dd..9150610e6 100644 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -44,7 +44,7 @@ Jumptable_10030: ; 10030 (4:4030) Function10046: ; 10046 (4:4046) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 ld a, [wcf64] ld [wJumptableIndex], a @@ -113,7 +113,7 @@ Function100d3: ; 100d3 (4:40d3) call ClearPocketList call DrawPocketName xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call WaitBGMap_DrawPackGFX call Function10866 ret @@ -203,7 +203,7 @@ Function10159: ; 10159 ld [Options], a .asm_10179 xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 call WaitBGMap_DrawPackGFX call Function10a40 @@ -478,7 +478,7 @@ Function10311: ; 10311 jr z, .NoPokemon call DoItemEffect xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 call WaitBGMap_DrawPackGFX call Function10a40 @@ -634,7 +634,7 @@ Function103fd: ; 103fd pop af ld [Options], a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 call WaitBGMap_DrawPackGFX call Function10a40 @@ -702,7 +702,7 @@ Jumptable_104c3: ; 104c3 (4:44c3) Function104d9: ; 104d9 (4:44d9) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 ld a, [wcf64] ld [wJumptableIndex], a @@ -771,7 +771,7 @@ Function10566: ; 10566 (4:4566) call ClearPocketList call DrawPocketName xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call WaitBGMap_DrawPackGFX ld hl, UnknownText_0x10b0c call Function10889 @@ -915,7 +915,7 @@ Function105dc: ; 105dc (4:45dc) and a jr nz, .asm_1067e xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 call WaitBGMap_DrawPackGFX call Function10a40 diff --git a/engine/phone.asm b/engine/phone.asm index 0ba5cf6e1..32481deaa 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -182,7 +182,7 @@ ChooseRandomCaller: ; 900bf (24:40bf) ; Sample a random number between 0 and 31. ld c, a call Random - ld a, [hRandomAdd] ; $ff00+$e1 + ld a, [hRandomAdd] swap a and $1f ; Compute that number modulo the number of available callers. diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 01ea1c7c2..9a9e01f8a 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -209,7 +209,7 @@ Function40136: ; 40136 (10:4136) Function4013c: ; 4013c (10:413c) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites xor a hlcoord 0, 0, AttrMap @@ -226,7 +226,7 @@ Function4013c: ; 4013c (10:413c) call Function41af7 call Function4074c ld a, $5 - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, [wc7d4] cp $1 ld a, $4a @@ -234,9 +234,9 @@ Function4013c: ; 4013c (10:413c) ld a, $47 .asm_4017b - ld [hWX], a ; $ff00+$d1 + ld [hWX], a xor a - ld [hWY], a ; $ff00+$d2 + ld [hWY], a call WaitBGMap call Function41af7 ld a, $ff @@ -272,7 +272,7 @@ Function401ae: ; 401ae (10:41ae) ret nc call Function41148 xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function40b0f call Function41ad7 call Function41af7 @@ -293,9 +293,9 @@ Function401ae: ; 401ae (10:41ae) ld a, $7 ld [wJumptableIndex], a xor a - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, $a7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a call DelayFrame ret @@ -304,9 +304,9 @@ Function401ae: ; 401ae (10:41ae) ld a, $5 ld [wJumptableIndex], a xor a - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, $a7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a call DelayFrame ret @@ -320,7 +320,7 @@ Function40217: ; 40217 (10:4217) xor a ld [wPokedexStatus], a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites call Function41478 call Function407fd @@ -331,7 +331,7 @@ Function40217: ; 40217 (10:4217) call Function40ba0 call WaitBGMap ld a, $a7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a call Function40bb1 ld [CurPartySpecies], a ld a, $4 @@ -392,7 +392,7 @@ Function402aa: ; 402aa (10:42aa) xor a ld [wPokedexStatus], a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function407fd call Function4134f call Function41478 @@ -509,7 +509,7 @@ Function4038d: ; 4038d Function4039d: ; 4039d (10:439d) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites call Function4087c call Function4134f @@ -615,7 +615,7 @@ Function4043a: ; 4043a (10:443a) Function40443: ; 40443 (10:4443) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites call Function408f0 call Function4134f @@ -723,7 +723,7 @@ Function40501: ; 40501 Function4050a: ; 4050a (10:450a) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a xor a hlcoord 0, 0, AttrMap ld bc, $168 @@ -739,11 +739,11 @@ Function4050a: ; 4050a (10:450a) call Function41af7 call Function40962 ld a, $5 - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, $4a - ld [hWX], a ; $ff00+$d1 + ld [hWX], a xor a - ld [hWY], a ; $ff00+$d2 + ld [hWY], a call WaitBGMap call Function41af7 callba Function1de1d1 @@ -768,7 +768,7 @@ Function40562: ; 40562 (10:4562) ret nc call Function41281 xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function40b0f call Function41ad7 call Function41af7 @@ -797,9 +797,9 @@ Function40562: ; 40562 (10:4562) ld a, $5 ld [wJumptableIndex], a xor a - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, $a7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ret Function405bd: ; 405bd (10:45bd) @@ -876,14 +876,14 @@ Function40610: ; 40610 (10:4610) .asm_40635 push af xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a pop af call Function40654 call Function41a58 call Function40658 callba Functionfba2e ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame ret @@ -1773,7 +1773,7 @@ String_40ee4: ; 40ee4 Function40f08: ; 40f08 (10:4f08) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 0, 12 ld bc, $412 call Function40ad5 @@ -1781,7 +1781,7 @@ Function40f08: ; 40f08 (10:4f08) hlcoord 1, 14 call PlaceString ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld c, $40 call DelayFrames ld de, SFX_CHANGE_DEX_MODE @@ -1861,7 +1861,7 @@ Function40f84: ; 40f84 Function40fa8: ; 40fa8 (10:4fa8) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 9, 3 ld bc, $408 ld a, $7f @@ -1873,7 +1873,7 @@ Function40fa8: ; 40fa8 (10:4fa8) hlcoord 9, 6 call Function40fcd ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret Function40fcd: ; 40fcd (10:4fcd) @@ -2363,16 +2363,16 @@ Function413fe: ; 413fe (10:53fe) jp FillBoxWithByte Function41401: ; 41401 (10:5401) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Unkn1Pals ld bc, $40 xor a call ByteFill pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a Function41415: ; 41415 ld a, $ff diff --git a/engine/radio.asm b/engine/radio.asm index eff95c081..2ee550197 100644 --- a/engine/radio.asm +++ b/engine/radio.asm @@ -1679,15 +1679,15 @@ BuenasPassword1: ; b8f12 (2e:4f12) .PlayPassword: ; b8f22 (2e:4f22) call StartRadioStation - ld a, [hBGMapMode] ; $ff00+$d4 + ld a, [hBGMapMode] push af xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld de, String_b9171 hlcoord 2, 9 call PlaceString pop af - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld hl, UnknownText_0xb9182 ld a, BUENAS_PASSWORD_2 jp NextRadioLine @@ -1951,12 +1951,12 @@ BuenasPassword19: ; b9122 (2e:5122) jp NextRadioLine BuenasPassword20: ; b912a (2e:512a) - ld a, [hBGMapMode] ; $ff00+$d4 + ld a, [hBGMapMode] push af callba NoRadioMusic callba NoRadioName pop af - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld hl, WeeklyFlags res 7, [hl] ld a, BUENAS_PASSWORD @@ -1980,7 +1980,7 @@ BuenasPassword21: ; b9152 (2e:5152) BuenasPasswordCheckTime: ; b9169 (2e:5169) call UpdateTime - ld a, [hHours] ; $ff00+$94 + ld a, [hHours] cp 18 ; 6 PM ret ; b9171 (2e:5171) diff --git a/engine/radio2.asm b/engine/radio2.asm index 039631130..1d07c904c 100644 --- a/engine/radio2.asm +++ b/engine/radio2.asm @@ -371,7 +371,7 @@ NoRadioStation: ; 91888 (24:5888) ld [wc6da], a ld [wc6db], a ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret NoRadioMusic: ; 9189d (24:589d) @@ -383,7 +383,7 @@ NoRadioMusic: ; 9189d (24:589d) NoRadioName: ; 918a9 (24:58a9) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 1, 8 lb bc, 3, 18 call ClearBox diff --git a/event/buena.asm b/event/buena.asm index 0fabb81ac..fdbda9ceb 100644 --- a/event/buena.asm +++ b/event/buena.asm @@ -203,7 +203,7 @@ Function8b09e: ; 8b09e call CopyMenuDataHeader call MenuBox call UpdateSprites - call GetMemTileCoord + call MenuBoxCoord2Tile ld bc, $0015 add hl, bc ld de, .Points_string diff --git a/event/kurt.asm b/event/kurt.asm index 8304634c7..9d87430d3 100644 --- a/event/kurt.asm +++ b/event/kurt.asm @@ -166,7 +166,7 @@ Kurt_SelectQuantity: ; 880c2 db 0, 0, -1, 0 ; XXX .PlaceApricornName: ; 88116 - call GetMemTileCoord + call MenuBoxCoord2Tile ld de, $0015 add hl, de ld d, h @@ -176,7 +176,7 @@ Kurt_SelectQuantity: ; 880c2 ; 88126 PlaceApricornQuantity: ; 88126 - call GetMemTileCoord + call MenuBoxCoord2Tile ld de, $0032 add hl, de ld [hl], "×" diff --git a/event/unown.asm b/event/unown.asm index ef4dc0eaf..2d48dc695 100644 --- a/event/unown.asm +++ b/event/unown.asm @@ -125,7 +125,7 @@ Special_DisplayUnownWords: ; 8ae68 call MenuBox call UpdateSprites call Function321c - call GetMemTileCoord + call MenuBoxCoord2Tile inc hl ld d, $0 ld e, $14 @@ -1147,7 +1147,7 @@ GetMoveName:: ; 34f8 Function350c:: ; 350c - call Function1c66 + call CopyMenuData2 ld a, [hROMBank] push af @@ -1186,7 +1186,7 @@ Function352f:: ; 352f sub c ld e, a push de - call GetTileCoord + call Coord2Tile pop bc jp TextBox ; 354b @@ -2180,7 +2180,7 @@ Function3f6e:: ; 3f6e ; 3f7c Function3f7c:: ; 3f7c - call GetMemTileCoord + call MenuBoxCoord2Tile call GetMenuBoxDims dec b dec c diff --git a/home/menu.asm b/home/menu.asm index d23f9123c..74ecd7ce3 100644 --- a/home/menu.asm +++ b/home/menu.asm @@ -7,11 +7,11 @@ LoadMenuDataHeader:: ret CopyMenuDataHeader:: - ld de, wcf81 - ld bc, 16 + ld de, wMenuDataHeader + ld bc, wMenuDataHeaderEnd - wMenuDataHeader call CopyBytes ld a, [hROMBank] - ld [wcf8a], a + ld [wMenuDataBank], a ret ; 0x1d4b @@ -78,7 +78,7 @@ InterpretMenu2:: call UpdateSprites call Function1c89 call Function321c - call Function1c66 + call CopyMenuData2 ld a, [wMenuData2Flags] bit 7, a jr z, .cancel @@ -103,11 +103,11 @@ GetMenu2:: ; 1dab ret ; 1db8 -Function1db8:: +CopyNameFromMenu:: push hl push bc push af - ld hl, wcf86 + ld hl, wMenuData2Pointer ld a, [hli] ld h, [hl] ld l, a @@ -126,7 +126,7 @@ endr YesNoBox:: ; 1dcf - lb bc, 14, 7 + lb bc, SCREEN_WIDTH - 6, 7 PlaceYesNoBox:: ; 1dd2 jr _YesNoBox @@ -152,11 +152,11 @@ _YesNoBox:: ; 1dd9 .okay ld a, b ld [wMenuBorderLeftCoord], a - add $5 + add 5 ld [wMenuBorderRightCoord], a ld a, c ld [wMenuBorderTopCoord], a - add $4 + add 4 ld [wMenuBorderBottomCoord], a call BackUpTiles @@ -246,7 +246,7 @@ SetUpMenu:: ; 1e70 ret MenuFunc_1e7f:: - call Function1c66 + call CopyMenuData2 call Function1ebd call Function1ea6 call MenuBox @@ -310,7 +310,7 @@ Function1ebd:: ; 1ebd ; 1eda Function1eda:: ; 1eda - call GetMemTileCoord + call MenuBoxCoord2Tile ld bc, $002a add hl, bc .asm_1ee1 @@ -489,7 +489,7 @@ endr ResetTextRelatedRAM:: ; 1fbf ld hl, wcf71 call .bytefill - ld hl, wcf81 + ld hl, wMenuDataHeader call .bytefill ld hl, wMenuData2Flags call .bytefill @@ -527,7 +527,7 @@ Function1ff8:: ; 1ff8 push af and $3 jr z, .nosound - ld hl, wcf81 + ld hl, wMenuFlags bit 3, [hl] jr nz, .nosound call PlayClickSFX diff --git a/home/tilemap.asm b/home/tilemap.asm index 23cdfdd72..3153cea2c 100644 --- a/home/tilemap.asm +++ b/home/tilemap.asm @@ -22,9 +22,9 @@ WriteBackup:: ; 0x1c17 ret RestoreTileBackup:: ; 0x1c23 - call GetMemTileCoord + call MenuBoxCoord2Tile call .copy - call GetMemAttrCoord + call MenuBoxCoord2Attr call .copy ret ; 0x1c30 @@ -56,7 +56,7 @@ RestoreTileBackup:: ; 0x1c23 Function1c47:: ; 0x1c47 ld b, $10 - ld de, wcf81 + ld de, wMenuFlags .loop ld a, [hld] ld [de], a @@ -79,17 +79,17 @@ GetMenuBoxDims:: ; 0x1c53 ret ; 0x1c66 -Function1c66:: ; 1c66 +CopyMenuData2:: ; 1c66 push hl push de push bc push af - ld hl, wcf86 + ld hl, wMenuData2Pointer ld a, [hli] ld h, [hl] ld l, a ld de, wMenuData2Flags - ld bc, $0010 + ld bc, wMenuData2End - wMenuData2Flags call CopyBytes pop af pop bc @@ -111,30 +111,31 @@ Function1c7e:: ; 1c7e ; 1c89 Function1c89:: ; 1c89 - call Function1c66 - ld hl, wcf86 + call CopyMenuData2 + ld hl, wMenuData2Pointer ld e, [hl] inc hl ld d, [hl] - call Function1cc6 - call GetTileCoord + call GetMenuTextStartCoord + call Coord2Tile ; hl now contains the TileMap address where we will start printing text. inc de - ld a, [de] + ld a, [de] ; Number of items inc de ld b, a -.asm_1c9c +.loop push bc call PlaceString inc de - ld bc, $0028 + ld bc, 2 * SCREEN_WIDTH add hl, bc pop bc dec b - jr nz, .asm_1c9c + jr nz, .loop ld a, [wMenuData2Flags] bit 4, a ret z - call GetMemTileCoord + + call MenuBoxCoord2Tile ld a, [de] ld c, a inc de @@ -144,38 +145,40 @@ Function1c89:: ; 1c89 ; 1cbb MenuBox:: ; 1cbb - call GetMemTileCoord + call MenuBoxCoord2Tile call GetMenuBoxDims dec b dec c jp TextBox ; 1cc6 -Function1cc6:: ; 1cc6 +GetMenuTextStartCoord:: ; 1cc6 ld a, [wMenuBorderTopCoord] ld b, a inc b ld a, [wMenuBorderLeftCoord] ld c, a inc c +; bit 6: if not set, leave extra room on top ld a, [wMenuData2Flags] bit 6, a - jr nz, .asm_1cd8 + jr nz, .bit_6_set inc b -.asm_1cd8 +.bit_6_set +; bit 7: if set, leave extra room on the left ld a, [wMenuData2Flags] bit 7, a - jr z, .asm_1ce0 + jr z, .bit_7_clear inc c -.asm_1ce0 +.bit_7_clear ret ; 1ce1 -Function1ce1:: ; 1ce1 - call GetMemTileCoord - lb bc, 0, 21 +ClearMenuBoxInterior:: ; 1ce1 + call MenuBoxCoord2Tile + ld bc, SCREEN_WIDTH + 1 add hl, bc call GetMenuBoxDims dec b @@ -184,8 +187,8 @@ Function1ce1:: ; 1ce1 ret ; 1cf1 -Function1cf1:: ; 1cf1 - call GetMemTileCoord +ClearWholeMenuBox:: ; 1cf1 + call MenuBoxCoord2Tile call GetMenuBoxDims inc c inc b @@ -194,7 +197,7 @@ Function1cf1:: ; 1cf1 ; 1cfd -GetMemTileCoord:: ; 1cfd +MenuBoxCoord2Tile:: ; 1cfd ld a, [wMenuBorderLeftCoord] ld c, a ld a, [wMenuBorderTopCoord] @@ -202,7 +205,7 @@ GetMemTileCoord:: ; 1cfd ; 1d05 -GetTileCoord:: ; 1d05 +Coord2Tile:: ; 1d05 ; Return the address of TileMap(c, b) in hl. xor a ld h, a @@ -226,13 +229,13 @@ endr ret ; 1d19 -GetMemAttrCoord:: ; 1d19 +MenuBoxCoord2Attr:: ; 1d19 ld a, [wMenuBorderLeftCoord] ld c, a ld a, [wMenuBorderTopCoord] ld b, a -GetAttrCoord:: ; 1d21 +Coord2Attr:: ; 1d21 ; Return the address of AttrMap(c, b) in hl. xor a ld h, a diff --git a/lib/mobile/main.asm b/lib/mobile/main.asm index 8e53a4cb6..c41b25d36 100644 --- a/lib/mobile/main.asm +++ b/lib/mobile/main.asm @@ -3487,7 +3487,7 @@ Function111664: ; 111664 (44:5664) Function111686: ; 111686 (44:5686) xor a - ld [rTAC], a ; $ff00+$7 + ld [rTAC], a ld c, $ff ld a, [$ff00+c] and $f3 @@ -3552,7 +3552,7 @@ Function1116c5:: ; 1116c5 (44:56c5) jp nz, Function1118bc ld hl, $c808 add hl, de - ld a, [rSB] ; $ff00+$1 + ld a, [rSB] ld [hl], a ld a, $8 cp l @@ -3724,7 +3724,7 @@ Function1117e7: ; 1117e7 (44:57e7) .asm_111803 ld b, $66 .asm_111805 - ld a, [rSB] ; $ff00+$1 + ld a, [rSB] cp b jr z, .asm_111840 cp $d2 @@ -3791,7 +3791,7 @@ Function11186e: ; 11186e (44:586e) jr nz, Function1118bc xor a ld [hli], a - ld a, [rSB] ; $ff00+$1 + ld a, [rSB] ld [$c80c], a inc [hl] or a @@ -3810,7 +3810,7 @@ Function111884: ; 111884 (44:5884) jr Function1118bc Function111892: ; 111892 (44:5892) - ld a, [rSB] ; $ff00+$1 + ld a, [rSB] ld c, a call Function111664 ld hl, $c80a @@ -3842,7 +3842,7 @@ Function1118bc: ; 1118bc (44:58bc) ret Function1118c2: ; 1118c2 (44:58c2) - ld a, [rSB] ; $ff00+$1 + ld a, [rSB] ld c, a ld b, $0 ld hl, $c812 @@ -4042,7 +4042,7 @@ asm_111a40: ; 111a40 (44:5a40) ld a, $4b Function111a42: ; 111a42 (44:5a42) - ld [rSB], a ; $ff00+$1 + ld [rSB], a jp Function111b2e asm_111a47: ; 111a47 (44:5a47) ld hl, $c815 @@ -4170,7 +4170,7 @@ Function111b21: ; 111b21 (44:5b21) ld e, a ld d, [hl] ld a, [de] - ld [rSB], a ; $ff00+$1 + ld [rSB], a inc de ld a, d ld [hld], a @@ -4180,9 +4180,9 @@ Function111b2e: ; 111b2e (44:5b2e) ld hl, $c822 set 1, [hl] ld a, $3 - ld [rSC], a ; $ff00+$2 + ld [rSC], a ld a, $83 - ld [rSC], a ; $ff00+$2 + ld [rSC], a Function111b3b: ; 111b3b (44:5b3b) ret @@ -4765,7 +4765,7 @@ Function111f07: ; 111f07 (44:5f07) scf ret .asm_111f17 - ld a, [rSC] ; $ff00+$2 + ld a, [rSC] and $80 jr nz, .asm_111f17 di diff --git a/macros/charmap.asm b/macros/charmap.asm index 8d02de4be..e497b13c4 100644 --- a/macros/charmap.asm +++ b/macros/charmap.asm @@ -130,6 +130,7 @@ charmap "'t", $d5 charmap "'v", $d6 + charmap "←", $df charmap "'", $e0 charmap "<PK>", $e1 charmap "<MN>", $e2 diff --git a/macros/move_anim.asm b/macros/move_anim.asm index f14fea7b7..e8f918a29 100644 --- a/macros/move_anim.asm +++ b/macros/move_anim.asm @@ -5,42 +5,50 @@ endc db \1 endm + enum_start $d0 + + enum anim_obj_command ; d0 anim_obj: macro - db $d0 + db anim_obj_command db \1 ; obj db \2 ; x db \3 ; y db \4 ; param endm + enum anim_1gfx_command ; d1 anim_1gfx: macro - db $d1 + db anim_1gfx_command db \1 ; gfx1 endm + enum anim_2gfx_command ; d2 anim_2gfx: macro - db $d2 + db anim_2gfx_command db \1 ; gfx1 db \2 ; gfx2 endm + enum anim_3gfx_command ; d3 anim_3gfx: macro - db $d3 + db anim_3gfx_command db \1 ; gfx1 db \2 ; gfx2 db \3 ; gfx3 endm + enum anim_4gfx_command ; d4 anim_4gfx: macro - db $d4 + db anim_4gfx_command db \1 ; gfx1 db \2 ; gfx2 db \3 ; gfx3 db \4 ; gfx4 endm + enum anim_5gfx_command ; d5 anim_5gfx: macro - db $d5 + db anim_5gfx_command db \1 ; gfx1 db \2 ; gfx2 db \3 ; gfx3 @@ -48,196 +56,238 @@ anim_5gfx: macro db \5 ; gfx5 endm + enum anim_incobj_command ; d6 anim_incobj: macro - db $d6 + db anim_incobj_command db \1 ; id endm + enum anim_setobj_command ; d7 anim_setobj: macro - db $d7 + db anim_setobj_command db \1 ; id db \2 ; obj endm + enum anim_incbgeffect_command ; d8 anim_incbgeffect: macro - db $d8 + db anim_incbgeffect_command db \1 ; effect endm + enum anim_enemyfeetobj_command ; d9 anim_enemyfeetobj: macro - db $d9 + db anim_enemyfeetobj_command endm + enum anim_playerheadobj_command ; da anim_playerheadobj: macro - db $da + db anim_playerheadobj_command endm + enum anim_checkpokeball_command ; db anim_checkpokeball: macro - db $db + db anim_checkpokeball_command endm + enum anim_transform_command ; dc anim_transform: macro - db $dc + db anim_transform_command endm + enum anim_raisesub_command ; dd anim_raisesub: macro - db $dd + db anim_raisesub_command endm + enum anim_dropsub_command ; de anim_dropsub: macro - db $de + db anim_dropsub_command endm + enum anim_resetobp0_command ; df anim_resetobp0: macro - db $df + db anim_resetobp0_command endm + enum anim_sound_command ; e0 anim_sound: macro - db $e0 + db anim_sound_command db \1 ; tracks db \2 ; id endm + enum anim_cry_command ; e1 anim_cry: macro - db $e1 + db anim_cry_command db \1 ; pitch endm + enum anim_minimizeopp_command ; e2 anim_minimizeopp: macro - db $e2 + db anim_minimizeopp_command endm + enum anim_oamon_command ; e3 anim_oamon: macro - db $e3 + db anim_oamon_command endm + enum anim_oamoff_command ; e4 anim_oamoff: macro - db $e4 + db anim_oamoff_command endm + enum anim_clearobjs_command ; e5 anim_clearobjs: macro - db $e5 + db anim_clearobjs_command endm + enum anim_beatup_command ; e6 anim_beatup: macro - db $e6 + db anim_beatup_command endm + enum anim_0xe7_command ; e7 anim_0xe7: macro - db $e7 + db anim_0xe7_command endm + enum anim_updateactorpic_command ; e8 anim_updateactorpic: macro - db $e8 + db anim_updateactorpic_command endm + enum anim_minimize_command ; e9 anim_minimize: macro - db $e9 + db anim_minimize_command endm + enum anim_0xea_command ; ea anim_0xea: macro - db $ea + db anim_0xea_command endm + enum anim_0xeb_command ; eb anim_0xeb: macro - db $eb + db anim_0xeb_command endm + enum anim_0xec_command ; ec anim_0xec: macro - db $ec + db anim_0xec_command endm + enum anim_0xed_command ; ed anim_0xed: macro - db $ed + db anim_0xed_command endm + enum anim_jumpand_command ; ee anim_jumpand: macro - db $ee + db anim_jumpand_command db \1 ; value dw \2 ; address endm + enum anim_jumpuntil_command ; ef anim_jumpuntil: macro - db $ef + db anim_jumpuntil_command dw \1 ; address endm + enum anim_bgeffect_command ; f0 anim_bgeffect: macro - db $f0 + db anim_bgeffect_command db \1 ; effect db \2 ; unknown db \3 ; unknown db \4 ; unknown endm + enum anim_bgp_command ; f1 anim_bgp: macro - db $f1 + db anim_bgp_command db \1 ; colors endm + enum anim_obp0_command ; f2 anim_obp0: macro - db $f2 + db anim_obp0_command db \1 ; colors endm + enum anim_obp1_command ; f3 anim_obp1: macro - db $f3 + db anim_obp1_command db \1 ; colors endm + enum anim_clearsprites_command ; f4 anim_clearsprites: macro - db $f4 + db anim_clearsprites_command endm + enum anim_0xf5_command ; f5 anim_0xf5: macro - db $f5 + db anim_0xf5_command endm + enum anim_0xf6_command ; f6 anim_0xf6: macro - db $f6 + db anim_0xf6_command endm + enum anim_0xf7_command ; f7 anim_0xf7: macro - db $f7 + db anim_0xf7_command endm + enum anim_jumpif_command ; f8 anim_jumpif: macro - db $f8 + db anim_jumpif_command db \1 ; value dw \2 ; address endm + enum anim_setvar_command ; f9 anim_setvar: macro - db $f9 + db anim_setvar_command db \1 ; value endm + enum anim_incvar_command ; fa anim_incvar: macro - db $fa + db anim_incvar_command endm + enum anim_jumpvar_command ; fb anim_jumpvar: macro - db $fb + db anim_jumpvar_command db \1 ; value dw \2 ; address endm + enum anim_jump_command ; fc anim_jump: macro - db $fc + db anim_jump_command dw \1 ; address endm + enum anim_loop_command ; fd anim_loop: macro - db $fd + db anim_loop_command db \1 ; count dw \2 ; address endm + enum anim_call_command ; fe anim_call: macro - db $fe + db anim_call_command dw \1 ; address endm + enum anim_ret_command ; ff anim_ret: macro - db $ff + db anim_ret_command endm diff --git a/macros/text.asm b/macros/text.asm index d8b6fc717..6af4d109b 100644 --- a/macros/text.asm +++ b/macros/text.asm @@ -11,7 +11,6 @@ prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some oth page EQUS "db $50," ; Start a new Pokedex page. dex EQUS "db $e8, $50" ; End a Pokedex entry. - ; TX_RAM EQU $01 ; TX_FAR EQU $16 enum_start 1 @@ -105,7 +105,7 @@ PrintDayOfWeek: ; 5b05 db "DAY@" ; 5b44 -Function5b44: ; 5b44 +NewGame_ClearTileMapEtc: ; 5b44 xor a ld [hMapAnims], a call ClearTileMap @@ -131,7 +131,7 @@ NewGame: ; 5b6b xor a ld [wc2cc], a call ResetWRAM - call Function5b44 + call NewGame_ClearTileMapEtc call AreYouABoyOrAreYouAGirl call OakSpeech call InitializeWorld @@ -139,7 +139,7 @@ NewGame: ; 5b6b ld [wPreviousLandmark], a ld a, SPAWN_HOME - ld [wd001], a + ld [DefaultSpawnpoint], a ld a, MAPSETUP_WARP ld [hMapEntryMethod], a @@ -648,7 +648,7 @@ MenuData2_0x5f03: ; 5f03 Function5f1c: ; 5f1c - call GetMemTileCoord + call MenuBoxCoord2Tile push hl ld de, $5d add hl, de @@ -888,7 +888,7 @@ Function60e9: ; Unreferenced call InterpretMenu2 ld a, [MenuSelection2] dec a - call Function1db8 + call CopyNameFromMenu call WriteBackup ret ; 60fa @@ -7288,12 +7288,12 @@ Functiond4d2:: ; d4d2 (3:54d2) ld d, a ld a, [wd14f] ld e, a - ld a, [hSCX] ; $ff00+$cf + ld a, [hSCX] add d - ld [hSCX], a ; $ff00+$cf - ld a, [hSCY] ; $ff00+$d0 + ld [hSCX], a + ld a, [hSCY] add e - ld [hSCY], a ; $ff00+$d0 + ld [hSCY], a ret Functiond4e5: ; d4e5 (3:54e5) @@ -9770,7 +9770,7 @@ UnknownText_0xe417: ; 0xe417 Functione41c: ; e41c (3:641c) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call LoadPartyMenuDataHeader call ClearPCItemScreen ld hl, Options @@ -9804,7 +9804,7 @@ Functione443: ; e443 (3:6443) call SetPalettes xor a ld [wcf76], a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function1e5d jr c, .cancel ld a, [wMenuCursorBuffer] @@ -11481,7 +11481,7 @@ Function11e9a: ; 11e9a (4:5e9a) ld [hl], $0 call Function11f84 ld a, $e3 - ld [rLCDC], a ; $ff00+$40 + ld [rLCDC], a call Function11f74 ld b, $8 call GetSGBLayout @@ -11565,14 +11565,14 @@ Function11fc0: ; 11fc0 (4:5fc0) callab Function8cf53 call ClearSprites xor a - ld [hSCX], a ; $ff00+$cf - ld [hSCY], a ; $ff00+$d0 + ld [hSCX], a + ld [hSCY], a scf ret Function11feb: ; 11feb (4:5feb) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 1, 1 lb bc, 4, 18 call ClearBox @@ -11583,7 +11583,7 @@ Function11feb: ; 11feb (4:5feb) hlcoord 2, 2 call PlaceString ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret Function12008: ; 12008 (4:6008) @@ -17599,9 +17599,9 @@ rept 3 endr inc hl ld a, [hli] - ld [$ffc5], a + ld [hMoneyTemp + 2], a ld a, [hl] - ld [$ffc4], a + ld [hMoneyTemp + 1], a xor a ld [hMoneyTemp], a and a @@ -19063,31 +19063,31 @@ Function16be4: ; 16be4 call GetSGBLayout call SetPalettes -.asm_16c6b +.joy_loop call JoyTextDelay ld a, [hJoyPressed] and B_BUTTON - jr nz, .asm_16c95 + jr nz, .pressed_b ld a, [hJoyPressed] and A_BUTTON - jr nz, .asm_16c82 + jr nz, .pressed_a call Function16ca0 call DelayFrame - jr .asm_16c6b + jr .joy_loop -.asm_16c82 +.pressed_a ld a, [wJumptableIndex] push af callba Function84560 call RestartMapMusic pop af ld [wJumptableIndex], a - jr .asm_16c6b + jr .joy_loop -.asm_16c95 +.pressed_b pop af ld [Options], a pop af @@ -19099,34 +19099,34 @@ Function16be4: ; 16be4 Function16ca0: ; 16ca0 ld a, [hJoyLast] and D_RIGHT - jr nz, .asm_16cb9 + jr nz, .press_right ld a, [hJoyLast] and D_LEFT - jr nz, .asm_16cad + jr nz, .press_left ret -.asm_16cad +.press_left ld hl, wJumptableIndex ld a, [hl] and a - jr nz, .asm_16cb6 + jr nz, .wrap_around_left ld [hl], $1b -.asm_16cb6 +.wrap_around_left dec [hl] - jr .asm_16cc4 + jr .return -.asm_16cb9 +.press_right ld hl, wJumptableIndex ld a, [hl] cp $1a - jr c, .asm_16cc3 + jr c, .wrap_around_right ld [hl], $ff -.asm_16cc3 +.wrap_around_right inc [hl] -.asm_16cc4 +.return call Function16cc8 ret ; 16cc8 @@ -19159,6 +19159,7 @@ Function16cff: ; 16cff push af ld a, $6 ld [rSVBK], a + ld a, BANK(sScratch) call GetSRAMBank ld de, w6_d000 @@ -19168,6 +19169,7 @@ Function16cff: ; 16cff ld c, $31 call Get2bpp call CloseSRAM + pop af ld [rSVBK], a ret @@ -19183,7 +19185,7 @@ Function16d20: ; 16d20 xor a call GetSRAMBank ld hl, sScratch - ld bc, $310 ; 784 + ld bc, $31 tiles xor a call ByteFill ld hl, VTiles2 tile $31 @@ -19205,10 +19207,10 @@ UnownDexDoWhatString: db "Do what?@" UnownDexMenuString: - db $ef, " PRINT" - next $f5, " CANCEL" - next $df, " PREVIOUS" - next $eb, " NEXT" + db "♂ PRINT" + next "♀ CANCEL" + next "← PREVIOUS" + next "→ NEXT" db "@" UnownDexVacantString: @@ -19296,983 +19298,7 @@ PhotoStudio: ; 16dc7 db "@" ; 0x16e1d - -Function16e1d: ; 16e1d - call Function16ed6 - ld c, $0 - jp nc, .asm_16eb7 - ld a, [wBreedMon1Species] - ld [CurPartySpecies], a - ld a, [wBreedMon1DVs] - ld [TempMonDVs], a - ld a, [wBreedMon1DVs + 1] - ld [TempMonDVs + 1], a - ld a, $3 - ld [MonType], a - predef GetGender - jr c, .asm_16e70 - ld b, $1 - jr nz, .asm_16e48 - inc b - -.asm_16e48 - push bc - ld a, [wBreedMon2Species] - ld [CurPartySpecies], a - ld a, [wBreedMon2DVs] - ld [TempMonDVs], a - ld a, [wBreedMon2DVs + 1] - ld [TempMonDVs + 1], a - ld a, $3 - ld [MonType], a - predef GetGender - pop bc - jr c, .asm_16e70 - ld a, $1 - jr nz, .asm_16e6d - inc a - -.asm_16e6d - cp b - jr nz, .asm_16e89 - -.asm_16e70 - ld c, $0 - ld a, [wBreedMon1Species] - cp DITTO - jr z, .asm_16e82 - ld a, [wBreedMon2Species] - cp DITTO - jr nz, .asm_16eb7 - jr .asm_16e89 - -.asm_16e82 - ld a, [wBreedMon2Species] - cp DITTO - jr z, .asm_16eb7 - -.asm_16e89 - call Function16ebc - ld c, $ff - jp z, .asm_16eb7 - ld a, [wBreedMon2Species] - ld b, a - ld a, [wBreedMon1Species] - cp b - ld c, $fe - jr z, .asm_16e9f - ld c, $80 -.asm_16e9f - ld a, [wBreedMon1ID] - ld b, a - ld a, [wBreedMon2ID] - cp b - jr nz, .asm_16eb7 - ld a, [wBreedMon1ID + 1] - ld b, a - ld a, [wBreedMon2ID + 1] - cp b - jr nz, .asm_16eb7 - ld a, c - sub $4d - ld c, a - -.asm_16eb7 - ld a, c - ld [wd265], a - ret -; 16ebc - - -Function16ebc: ; 16ebc (5:6ebc) - ld a, [wBreedMon1DVs] - and $f - ld b, a - ld a, [wBreedMon2DVs] - and $f - cp b - ret nz - ld a, [wBreedMon1DVs + 1] - and $7 - ld b, a - ld a, [wBreedMon2DVs + 1] - and $7 - cp b - ret -; 16ed6 - -Function16ed6: ; 16ed6 - ld a, [wBreedMon2Species] - ld [CurSpecies], a - call GetBaseData - ld a, [BaseEggGroups] - cp $ff - jr z, .asm_16f3a - ld a, [wBreedMon1Species] - ld [CurSpecies], a - call GetBaseData - ld a, [BaseEggGroups] - cp $ff - jr z, .asm_16f3a - ld a, [wBreedMon2Species] - cp DITTO - jr z, .asm_16f3c - ld [CurSpecies], a - call GetBaseData - ld a, [BaseEggGroups] - push af - and $f - ld b, a - pop af - and $f0 - swap a - ld c, a - ld a, [wBreedMon1Species] - cp DITTO - jr z, .asm_16f3c - ld [CurSpecies], a - push bc - call GetBaseData - pop bc - ld a, [BaseEggGroups] - push af - and $f - ld d, a - pop af - and $f0 - swap a - ld e, a - ld a, d - cp b - jr z, .asm_16f3c - cp c - jr z, .asm_16f3c - ld a, e - cp b - jr z, .asm_16f3c - cp c - jr z, .asm_16f3c - -.asm_16f3a - and a - ret - -.asm_16f3c - scf - ret -; 16f3e - -DoEggStep:: ; 16f3e - ld de, PartySpecies - ld hl, PartyMon1Happiness - ld c, 0 -.loop - ld a, [de] - inc de - cp -1 - ret z - cp EGG - jr nz, .next - dec [hl] - jr nz, .next - ld a, 1 - and a - ret - -.next - push de - ld de, PARTYMON_STRUCT_LENGTH - add hl, de - pop de - jr .loop -; 16f5e - -OverworldHatchEgg:: ; 16f5e - call ResetWindow - call LoadPartyMenuDataHeader - call Function16f70 - call Function2b4d - call RestartMapMusic - jp LoadMoveSprites -; 16f70 - -Function16f70: ; 16f70 (5:6f70) - ld de, PartySpecies - ld hl, PartyMon1Happiness - xor a - ld [CurPartyMon], a - -Function16f7a: ; 16f7a (5:6f7a) - ld a, [de] - inc de - cp -1 - jp z, Function1708a - push de - push hl - cp EGG - jp nz, Function1707d - ld a, [hl] - and a - jp nz, Function1707d - ld [hl], $78 - - push de - - callba Function4dbb8 - callba MobileFn_10608d - ld a, [CurPartyMon] - ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld a, [hl] - ld [CurPartySpecies], a - dec a - call SetSeenAndCaughtMon - - ld a, [CurPartySpecies] - cp TOGEPI - jr nz, .nottogepi - ; set the event flag for hatching togepi - ld de, EVENT_TOGEPI_HATCHED - ld b, SET_FLAG - call EventFlagAction -.nottogepi - - pop de - - ld a, [CurPartySpecies] - dec de - ld [de], a - ld [wd265], a - ld [CurSpecies], a - call GetPokemonName - xor a - ld [wd26b], a - call GetBaseData - ld a, [CurPartyMon] - ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - push hl - ld bc, MON_MAXHP - add hl, bc - ld d, h - ld e, l - pop hl - push hl - ld bc, MON_LEVEL - add hl, bc - ld a, [hl] - ld [CurPartyLevel], a - pop hl - push hl - ld bc, MON_STATUS - add hl, bc - xor a - ld [hli], a - ld [hl], a - pop hl - push hl - ld bc, MON_EXP + 2 - add hl, bc - ld b, $0 - predef CalcPkmnStats - pop bc - ld hl, MON_MAXHP - add hl, bc - ld d, h - ld e, l - ld hl, MON_HP - add hl, bc - ld a, [de] - inc de - ld [hli], a - ld a, [de] - ld [hl], a - ld hl, MON_ID - add hl, bc - ld a, [PlayerID] - ld [hli], a - ld a, [PlayerID + 1] - ld [hl], a - ld a, [CurPartyMon] - ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) - ld bc, NAME_LENGTH - call AddNTimes - ld d, h - ld e, l - ld hl, PlayerName - call CopyBytes - ld hl, UnknownText_0x1708b - call PrintText - ld a, [CurPartyMon] - ld hl, PartyMonNicknames - ld bc, PKMN_NAME_LENGTH - call AddNTimes - ld d, h - ld e, l - push de - ld hl, UnknownText_0x170ba - call PrintText - call YesNoBox - pop de - jr c, .nonickname - ld a, $1 - ld [wd26b], a - xor a - ld [MonType], a - push de - ld b, $0 - callba Function116c1 - pop hl - ld de, StringBuffer1 - call InitName - jr Function1707d -.nonickname - ld hl, StringBuffer1 - ld bc, PKMN_NAME_LENGTH - call CopyBytes - -Function1707d: ; 1707d (5:707d) - ld hl, CurPartyMon - inc [hl] - pop hl - ld de, PARTYMON_STRUCT_LENGTH - add hl, de - pop de - jp Function16f7a - -Function1708a: ; 1708a (5:708a) - ret -; 1708b (5:708b) - -UnknownText_0x1708b: ; 0x1708b - ; Huh? @ @ - text_jump UnknownText_0x1c0db0 - start_asm -; 0x17090 - -Function17090: ; 17090 - ld hl, VramState - res 0, [hl] - push hl - push de - push bc - ld a, [CurPartySpecies] - push af - call Function1728f - ld hl, UnknownText_0x170b0 - call PrintText - pop af - ld [CurPartySpecies], a - pop bc - pop de - pop hl - ld hl, UnknownText_0x170b5 - ret -; 170b0 (5:70b0) - -UnknownText_0x170b0: ; 0x170b0 - ; - text_jump UnknownText_0x1c0db8 - db "@" -; 0x170b5 - -UnknownText_0x170b5: ; 0x170b5 - ; came out of its EGG!@ @ - text_jump UnknownText_0x1c0dba - db "@" -; 0x170ba - -UnknownText_0x170ba: ; 0x170ba - ; Give a nickname to @ ? - text_jump UnknownText_0x1c0dd8 - db "@" -; 0x170bf - -Function170bf: ; 170bf - call Function17197 - ld d, h - ld e, l - ld b, NUM_MOVES -.loop - ld a, [de] - and a - jr z, .done - ld hl, wEggMonMoves - ld c, NUM_MOVES -.next - ld a, [de] - cp [hl] - jr z, .skip - inc hl - dec c - jr nz, .next - call Function170e4 - jr nc, .skip - call Function17169 - -.skip - inc de - dec b - jr nz, .loop - -.done - ret -; 170e4 - -Function170e4: ; 170e4 -GLOBAL EggMoves - - push bc - ld a, [wEggMonSpecies] - dec a - ld c, a - ld b, 0 - ld hl, EggMovePointers -rept 2 - add hl, bc -endr - ld a, BANK(EggMovePointers) - call GetFarHalfword -.loop - ld a, BANK(EggMoves) - call GetFarByte - cp -1 - jr z, .found_mon - ld b, a - ld a, [de] - cp b - jr z, .done_carry - inc hl - jr .loop - -.found_mon - call Function1720b - ld b, NUM_MOVES -.loop2 - ld a, [de] - cp [hl] - jr z, .found_eggmove - inc hl - dec b - jr z, .inherit_tmhm - jr .loop2 - -.found_eggmove - ld a, [wEggMonSpecies] - dec a - ld c, a - ld b, 0 - ld hl, EvosAttacksPointers -rept 2 - add hl, bc -endr - ld a, BANK(EvosAttacksPointers) - call GetFarHalfword -.loop3 - ld a, BANK(EvosAttacks) - call GetFarByte - inc hl - and a - jr nz, .loop3 -.loop4 - ld a, BANK(EvosAttacks) - call GetFarByte - and a - jr z, .inherit_tmhm - inc hl - ld a, BANK(EvosAttacks) - call GetFarByte - ld b, a - ld a, [de] - cp b - jr z, .done_carry - inc hl - jr .loop4 - -.inherit_tmhm - ld hl, TMHMMoves -.loop5 - ld a, BANK(TMHMMoves) - call GetFarByte - inc hl - and a - jr z, .done - ld b, a - ld a, [de] - cp b - jr nz, .loop5 - ld [wd262], a - predef CanLearnTMHMMove - ld a, c - and a - jr z, .done - -.done_carry - pop bc - scf - ret - -.done - pop bc - and a - ret -; 17169 - -Function17169: ; 17169 - push de - push bc - ld a, [de] - ld b, a - ld hl, wEggMonMoves - ld c, NUM_MOVES -.loop - ld a, [hli] - and a - jr z, .done - dec c - jr nz, .loop - ld de, wEggMonMoves - ld hl, wEggMonMoves + 1 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - -.done - dec hl - ld [hl], b - ld hl, wEggMonMoves - ld de, wEggMonPP - predef FillPP - pop bc - pop de - ret -; 17197 - -Function17197: ; 17197 - ld hl, wBreedMon2Moves - ld a, [wBreedMon1Species] - cp DITTO - jr z, .ditto1 - ld a, [wBreedMon2Species] - cp DITTO - jr z, .ditto2 - ld a, [wDittoInDaycare] - and a - ret z - ld hl, wBreedMon1Moves - ret - -.ditto1 - ld a, [CurPartySpecies] - push af - ld a, [wBreedMon2Species] - ld [CurPartySpecies], a - ld a, [wBreedMon2DVs] - ld [TempMonDVs], a - ld a, [wBreedMon2DVs + 1] - ld [TempMonDVs + 1], a - ld a, $3 - ld [MonType], a - predef GetGender - jr c, .inherit_mon2_moves - jr nz, .inherit_mon2_moves - jr .inherit_mon1_moves - -.ditto2 - ld a, [CurPartySpecies] - push af - ld a, [wBreedMon1Species] - ld [CurPartySpecies], a - ld a, [wBreedMon1DVs] - ld [TempMonDVs], a - ld a, [wBreedMon1DVs + 1] - ld [TempMonDVs + 1], a - ld a, $3 - ld [MonType], a - predef GetGender - jr c, .inherit_mon1_moves - jr nz, .inherit_mon1_moves - -.inherit_mon2_moves - ld hl, wBreedMon2Moves - pop af - ld [CurPartySpecies], a - ret - -.inherit_mon1_moves - ld hl, wBreedMon1Moves - pop af - ld [CurPartySpecies], a - ret -; 1720b - -Function1720b: ; 1720b - ld hl, wBreedMon1Moves - ld a, [wBreedMon1Species] - cp DITTO - ret z - ld a, [wBreedMon2Species] - cp DITTO - jr z, .ditto - ld a, [wDittoInDaycare] - and a - ret z - -.ditto - ld hl, wBreedMon2Moves - ret -; 17224 - - -Function17224: ; 17224 (5:7224) - push de - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - ld hl, BattleMonDVs - predef GetUnownLetter - pop de - predef_jump GetFrontpic - -Function1723c: ; 1723c (5:723c) - push de - ld [CurPartySpecies], a - ld [CurSpecies], a - call GetBaseData - ld hl, BattleMonDVs - predef GetUnownLetter - pop de - predef_jump Function5108b - -Function17254: ; 17254 (5:7254) - push af - call WaitTop - push hl - push bc - hlcoord 0, 0 - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH - ld a, " " - call ByteFill - pop bc - pop hl - ld a, b - ld [hBGMapAddress + 1], a - ld a, c - ld [hFillBox], a - lb bc, 7, 7 - predef FillBox - pop af - call Function17363 - call SetPalettes - jp WaitBGMap - -Function1727f: ; 1727f (5:727f) - push hl - push de - push bc - callab Function8cf69 - call DelayFrame - pop bc - pop de - pop hl - ret - -Function1728f: ; 1728f (5:728f) - ld a, [wd265] - ld [wJumptableIndex], a - ld a, [CurSpecies] - push af - ld de, MUSIC_NONE - call PlayMusic - callba Function8000 - call DisableLCD - ld hl, EggHatchGFX - ld de, VTiles0 tile $00 - ld bc, $20 - ld a, BANK(EggHatchGFX) - call FarCopyBytes - callba Function8cf53 - ld de, VTiles2 tile $00 - ld a, [wJumptableIndex] - call Function1723c - ld de, VTiles2 tile $31 - ld a, EGG - call Function17224 - ld de, MUSIC_EVOLUTION - call PlayMusic - call EnableLCD - hlcoord 7, 4 - ld b, $98 - ld c, $31 - ld a, EGG - call Function17254 - ld c, $50 - call DelayFrames - xor a - ld [wcf64], a - ld a, [hSCX] ; $ff00+$cf - ld b, a -.asm_172ee - ld hl, wcf64 - ld a, [hl] - inc [hl] - cp $8 - jr nc, .asm_17327 - ld e, [hl] -.asm_172f8 - ld a, $2 - ld [hSCX], a ; $ff00+$cf - ld a, $fe - ld [wc3c0], a - call Function1727f - ld c, $2 - call DelayFrames - ld a, $fe - ld [hSCX], a ; $ff00+$cf - ld a, $2 - ld [wc3c0], a - call Function1727f - ld c, $2 - call DelayFrames - dec e - jr nz, .asm_172f8 - ld c, $10 - call DelayFrames - call Function1736d - jr .asm_172ee -.asm_17327 - ld de, SFX_EGG_HATCH - call PlaySFX - xor a - ld [hSCX], a ; $ff00+$cf - ld [wc3c0], a - call ClearSprites - call Function173b3 - hlcoord 6, 3 - ld b, $98 - ld c, $0 - ld a, [wJumptableIndex] - call Function17254 - call Function17418 - call WaitSFX - ld a, [wJumptableIndex] - ld [CurPartySpecies], a - hlcoord 6, 3 - ld d, $0 - ld e, ANIM_MON_HATCH - predef AnimateFrontpic - pop af - ld [CurSpecies], a - ret - -Function17363: ; 17363 (5:7363) - ld [PlayerHPPal], a - ld b, $b - ld c, $0 - jp GetSGBLayout - -Function1736d: ; 1736d (5:736d) - ld a, [wcf64] - dec a - and $7 - cp $7 - ret z - srl a - ret nc - swap a - srl a - add $4c - ld d, a - ld e, $58 - ld a, $19 - call Function3b2a - ld hl, $3 - add hl, bc - ld [hl], $0 - ld de, SFX_EGG_CRACK - jp PlaySFX -; 17393 (5:7393) - -EggHatchGFX: ; 17393 -INCBIN "gfx/unknown/017393.2bpp" -; 173b3 - -Function173b3: ; 173b3 (5:73b3) - callba Function8cf53 - ld hl, Unknown_173ef -.loop - ld a, [hli] - cp $ff - jr z, .done - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - push hl - push bc - ld a, $1c - call Function3b2a - ld hl, $3 - add hl, bc - ld [hl], $0 - pop de - ld a, e - ld hl, $1 - add hl, bc - add [hl] - ld [hl], a - ld hl, $b - add hl, bc - ld [hl], d - pop hl - jr .loop -.done - ld de, SFX_EGG_HATCH - call PlaySFX - call Function1727f - ret -; 173ef (5:73ef) - -Unknown_173ef: ; 173ef -; Probably OAM. - db $54, $48, $00, $3c - db $5c, $48, $01, $04 - db $54, $50, $00, $30 - db $5c, $50, $01, $10 - db $54, $58, $02, $24 - db $5c, $58, $03, $1c - db $50, $4c, $00, $36 - db $60, $4c, $01, $0a - db $50, $54, $02, $2a - db $60, $54, $03, $16 - db $ff -; 17418 - -Function17418: ; 17418 (5:7418) - ld c, $81 -.asm_1741a - call Function1727f - dec c - jr nz, .asm_1741a - ret - -Special_DayCareMon1: ; 17421 - ld hl, UnknownText_0x17467 - call PrintText - ld a, [wBreedMon1Species] - call PlayCry - ld a, [wDaycareLady] - bit 0, a - jr z, Function1745f - call KeepTextOpen - ld hl, wBreedMon2Nick - call Function1746c - jp PrintText - -Special_DayCareMon2: ; 17440 - ld hl, UnknownText_0x17462 - call PrintText - ld a, [wBreedMon2Species] - call PlayCry - ld a, [wDaycareMan] - bit 0, a - jr z, Function1745f - call KeepTextOpen - ld hl, wBreedMon1Nick - call Function1746c - jp PrintText - -Function1745f: ; 1745f - jp Functiona80 -; 17462 - -UnknownText_0x17462: ; 0x17462 - ; It's @ that was left with the DAY-CARE LADY. - text_jump UnknownText_0x1c0df3 - db "@" -; 0x17467 - -UnknownText_0x17467: ; 0x17467 - ; It's @ that was left with the DAY-CARE MAN. - text_jump UnknownText_0x1c0e24 - db "@" -; 0x1746c - -Function1746c: ; 1746c - push bc - ld de, StringBuffer1 - ld bc, NAME_LENGTH - call CopyBytes - call Function16e1d - pop bc - ld a, [wd265] - ld hl, UnknownText_0x1749c - cp $ff - jr z, .asm_1749b - ld hl, UnknownText_0x174a1 - and a - jr z, .asm_1749b - ld hl, UnknownText_0x174a6 - cp 230 - jr nc, .asm_1749b - cp 70 - ld hl, UnknownText_0x174ab - jr nc, .asm_1749b - ld hl, UnknownText_0x174b0 - -.asm_1749b - ret -; 1749c - -UnknownText_0x1749c: ; 0x1749c - ; It's brimming with energy. - text_jump UnknownText_0x1c0e54 - db "@" -; 0x174a1 - -UnknownText_0x174a1: ; 0x174a1 - ; It has no interest in @ . - text_jump UnknownText_0x1c0e6f - db "@" -; 0x174a6 - -UnknownText_0x174a6: ; 0x174a6 - ; It appears to care for @ . - text_jump UnknownText_0x1c0e8d - db "@" -; 0x174ab - -UnknownText_0x174ab: ; 0x174ab - ; It's friendly with @ . - text_jump UnknownText_0x1c0eac - db "@" -; 0x174b0 - -UnknownText_0x174b0: ; 0x174b0 - ; It shows interest in @ . - text_jump UnknownText_0x1c0ec6 - db "@" -; 0x174b5 - -Function_174b5: ; 174b5 - ld hl, String_174b9 - ret -; 174b9 - -String_174b9: ; 174b9 - db "@" -; 174ba - +INCLUDE "engine/breeding/egg.asm" SECTION "Tileset Data 1", ROMX, BANK[TILESETS_1] @@ -20326,7 +19352,7 @@ _BackUpTiles:: ; 24374 push de ld b, $10 - ld hl, wcf81 + ld hl, wMenuFlags .loop ld a, [hli] ld [de], a @@ -20337,7 +19363,7 @@ _BackUpTiles:: ; 24374 ; If bit 6 or 7 of the menu flags is set, set bit 0 of the address ; at 7:[wcf71], and draw the menu using the coordinates from the header. ; Otherwise, reset bit 0 of 7:[wcf71]. - ld a, [wcf81] + ld a, [wMenuFlags] bit 6, a jr nz, .bit_6 bit 7, a @@ -20349,9 +19375,9 @@ _BackUpTiles:: ; 24374 ld h, [hl] ld l, a set 0, [hl] - call GetMemTileCoord + call MenuBoxCoord2Tile call .copy - call GetMemAttrCoord + call MenuBoxCoord2Attr call .copy jr .done @@ -20431,7 +19457,7 @@ Function243e8:: ; 243e8 ld a, h ld [wcf72], a call Function1c47 - ld a, [wcf81] + ld a, [wMenuFlags] bit 0, a jr z, .next ld d, h @@ -20526,7 +19552,7 @@ Function2446d:: ; 2446d set 5, [hl] .asm_24492 - ld a, [wcf81] + ld a, [wMenuFlags] bit 4, a jr z, .asm_2449b set 6, [hl] @@ -20604,7 +19630,7 @@ Pokepic:: ; 244e3 ld a, [wMenuBorderLeftCoord] inc a ld c, a - call GetTileCoord + call Coord2Tile ld a, $80 ld [hFillBox], a lb bc, 7, 7 @@ -20616,7 +19642,7 @@ Pokepic:: ; 244e3 PokepicYesOrNo:: ; 24528 ld hl, MenuDataHeader_0x24547 call CopyMenuDataHeader - call Function1ce1 + call ClearMenuBoxInterior call WaitBGMap call ClearSGB xor a @@ -20922,7 +19948,7 @@ Function246fc: ; 246fc ; 24706 Function24706: ; 24706 (9:4706) - call GetMemTileCoord + call MenuBoxCoord2Tile ld de, SCREEN_WIDTH add hl, de ld de, 2 * SCREEN_WIDTH @@ -21076,7 +20102,7 @@ Function247dd: ; 247dd ; 247f0 Function247f0: ; 247f0 - call Function1cf1 + call ClearWholeMenuBox ld a, [wMenuData2Flags] bit 4, a jr z, .asm_2480d @@ -21087,11 +20113,11 @@ Function247f0: ; 247f0 ld b, a ld a, [wMenuBorderRightCoord] ld c, a - call GetTileCoord + call Coord2Tile ld [hl], $61 .asm_2480d - call GetMemTileCoord + call MenuBoxCoord2Tile ld bc, $15 add hl, bc ld a, [wMenuData2Items] @@ -21124,7 +20150,7 @@ Function247f0: ; 247f0 ld b, a ld a, [wMenuBorderRightCoord] ld c, a - call GetTileCoord + call Coord2Tile ld [hl], $ee .asm_24850 @@ -21195,7 +20221,7 @@ Function2488b: ; 2488b ld a, [wMenuBorderLeftCoord] add $0 ld c, a - call GetTileCoord + call Coord2Tile ld [hl], $ec .asm_248b7 @@ -21572,7 +20598,7 @@ Function24af8: ; 24af8 Function24b01: ; 24b01 call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile ld de, $15 add hl, de ld de, Money @@ -21923,7 +20949,7 @@ MonMenuLoop: ; 24d59 ; 24d91 PopulateMonMenu: ; 24d91 - call GetMemTileCoord + call MenuBoxCoord2Tile ld bc, $2a ; 42 add hl, bc ld de, Buffer2 @@ -22113,7 +21139,7 @@ Function24e99: ; 24e99 call UpdateSprites call Function1c89 call WaitBGMap - call Function1c66 + call CopyMenuData2 ld a, [wMenuData2Flags] bit 7, a jr z, .asm_24ed0 @@ -22411,7 +21437,7 @@ Function2500e: ; 2500e Function25072: ; 25072 call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile ld de, $15 add hl, de ld [hl], $f1 @@ -22419,11 +21445,11 @@ Function25072: ; 25072 ld de, wItemQuantityChangeBuffer lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum - ld a, [wcf86] + ld a, [wMenuData2Pointer] ld e, a - ld a, [wcf87] + ld a, [wMenuData2Pointer + 1] ld d, a - ld a, [wcf8a] + ld a, [wMenuDataBank] call FarCall_de ret ; 25097 @@ -24370,7 +23396,7 @@ DecoAction_AskWhichSide: ; 26e70 ld hl, MenuDataHeader_0x26eab call GetMenu2 call ExitMenu - call Function1c66 + call CopyMenuData2 jr c, .nope ld a, [MenuSelection2] cp 3 @@ -27182,7 +26208,7 @@ UnknownText_0x2c8ce: ; 0x2c8ce Function2c8d3: ; 2c8d3 (b:48d3) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function2c9e2 ld a, $2 ld [wcfa1], a @@ -27221,7 +26247,7 @@ Function2c915: ; 2c915 (b:4915) dec a ld [wTMHMPocketCursor], a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, [wcfa6] bit 7, a jp nz, Function2c9b1 @@ -28550,20 +27576,20 @@ Function41a7f: ; 41a7f Function41ad7: ; 41ad7 (10:5ad7) ld a, $3 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld c, $4 call DelayFrames ret Function41ae1: ; 41ae1 (10:5ae1) ld a, $4 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld c, $4 call DelayFrames ret Function41aeb: ; 41aeb (10:5aeb) - ld a, [hCGB] ; $ff00+$e6 + ld a, [hCGB] and a jr z, .asm_41af3 call Function41ae1 @@ -30772,7 +29798,7 @@ Function48304: ; 48304 (12:4304) call ExitMenu call ExitMenu pop af - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] bit 0, a jr z, .asm_48377 call Function483bb @@ -31292,10 +30318,10 @@ String_4880d: ; 4880d ; 4880e Function4880e: ; 4880e (12:480e) - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] and A_BUTTON jp nz, Function488b9 - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] and B_BUTTON jp nz, Function488b4 ld hl, hJoyLast @@ -31444,7 +30470,7 @@ Function488d3: ; 488d3 (12:48d3) asm_48922: ; 48922 (12:4922) push bc call JoyTextDelay - ld a, [hJoyDown] ; $ff00+$a8 + ld a, [hJoyDown] and a jp z, Function4896e bit 0, a @@ -31667,10 +30693,10 @@ String_48aa1: ; 48aa1 Function48ab5: ; 48ab5 (12:4ab5) - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] and A_BUTTON jp nz, Function48c0f - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] and B_BUTTON jp nz, Function48c0d ld a, d @@ -32195,16 +31221,16 @@ Function48d4a: ; 48d4a (12:4d4a) Function48d94: ; 48d94 (12:4d94) xor a ld [hDividend + 0], a - ld [hDividend + 1], a ; $ff00+$b4 (aliases: hMultiplicand) + ld [hDividend + 1], a ld a, [hli] ld [hDividend + 0], a ld a, [hl] - ld [hDividend + 1], a ; $ff00+$b4 (aliases: hMultiplicand) + ld [hDividend + 1], a ld a, 100 - ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier) + ld [hDivisor], a ld b, 2 call Divide - ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier) + ld a, [hDivisor] ld c, $a call SimpleDivide sla b @@ -36120,35 +35146,35 @@ EmptyAllSRAMBanks: ; 4cf1f Function4cf45: ; 4cf45 (13:4f45) - ld a, [hCGB] ; $ff00+$e6 + ld a, [hCGB] and a jp z, WaitBGMap ; The following is a modified version of Function3246. - ld a, [hBGMapMode] ; $ff00+$d4 + ld a, [hBGMapMode] push af xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, [hMapAnims] push af xor a ld [hMapAnims], a .WaitLY - ld a, [rLY] ; $ff00+$44 + ld a, [rLY] cp $60 jr c, .WaitLY di ld a, 1 ; BANK(VBGMap2) - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a hlcoord 0, 0, AttrMap call Function4cf80 ld a, 0 ; BANK(VBGMap0) - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a hlcoord 0, 0 call Function4cf80 .WaitLY2 - ld a, [rLY] ; $ff00+$44 + ld a, [rLY] cp $60 jr c, .WaitLY2 ei @@ -36156,7 +35182,7 @@ Function4cf45: ; 4cf45 (13:4f45) pop af ld [hMapAnims], a pop af - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret Function4cf80: ; 4cf80 (13:4f80) @@ -36190,7 +35216,7 @@ endr ld [hTilesPerCycle], a jr nz, .loop - ld a, [hSPBuffer] ; $ff00+$d9 + ld a, [hSPBuffer] ld l, a ld a, [hSPBuffer + 1] ld h, a @@ -37814,7 +36840,7 @@ Function4de2c: ; 4de2c (13:5e2c) jr .clear_flags .notbreedmon - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] .clear_flags and a ret @@ -37918,7 +36944,7 @@ Function4dee4: ; 4dee4 (13:5ee4) Function4deea: ; 4deea (13:5eea) call Function4df45 xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo) ld [wd265], a ld [CurSpecies], a @@ -38032,7 +37058,7 @@ Function4dfb6: ; 4dfb6 (13:5fb6) ld [wd265], a ld [CurSpecies], a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function4dfda call Function4e002 call Function4dfed @@ -38191,7 +37217,7 @@ endr sbc [hl] dec hl ld [Buffer2], a ; wd1eb (aliases: MovementType) - ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand) + ld a, [hQuotient] sbc [hl] ld [Buffer1], a ; wd1ea (aliases: MagikarpLength) ret @@ -38483,16 +37509,16 @@ Function4e307: ; 4e307 (13:6307) push bc push af call DelayFrame - ld a, [rVBK] ; $ff00+$4f + ld a, [rVBK] push af ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld de, TextBoxSpaceGFX lb bc, BANK(TextBoxSpaceGFX), 1 ld hl, VTiles2 tile $7f call Get2bpp pop af - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a pop af pop bc pop de @@ -45171,11 +44197,11 @@ Function841c3: ; 841c3 (21:41c3) ld a, $1 ld [wc2d5], a ld a, $88 - ld [rSB], a ; $ff00+$1 + ld [rSB], a ld a, $1 - ld [rSC], a ; $ff00+$2 + ld [rSC], a ld a, $81 - ld [rSC], a ; $ff00+$2 + ld [rSC], a ret Function841e2: ; 841e2 (21:41e2) @@ -45464,7 +44490,7 @@ Function8439f: ; 8439f (21:439f) ret Function843a8: ; 843a8 (21:43a8) - ld a, [rSB] ; $ff00+$1 + ld a, [rSB] ld [wca88], a ld a, $0 call Function843db @@ -45472,7 +44498,7 @@ Function843a8: ; 843a8 (21:43a8) ret Function843b6: ; 843b6 (21:43b6) - ld a, [rSB] ; $ff00+$1 + ld a, [rSB] ld [wca89], a xor a ld [wc2d5], a @@ -45497,15 +44523,15 @@ Function843d2: ; 843d2 (21:43d2) ret Function843db: ; 843db (21:43db) - ld [rSB], a ; $ff00+$1 + ld [rSB], a ld a, $1 - ld [rSC], a ; $ff00+$2 + ld [rSC], a ld a, $81 - ld [rSC], a ; $ff00+$2 + ld [rSC], a ret Function843e6: ; 843e6 (21:43e6) - ld a, [rSB] ; $ff00+$1 + ld a, [rSB] ld [wca89], a xor a ld [wc2d5], a @@ -45640,18 +44666,18 @@ Function844bc: ; 844bc (21:44bc) ld [$ffac], a ld [wd003], a call Function8474c - ld a, [rIE] ; $ff00+$ff + ld a, [rIE] push af xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a ld a, $9 - ld [rIE], a ; $ff00+$ff + ld [rIE], a ld hl, hVBlank ld a, [hl] push af ld [hl], $4 xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function84817 ld a, $10 call Function84419 @@ -45661,7 +44687,7 @@ Function844bc: ; 844bc (21:44bc) ld c, $c call DelayFrames xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function8486f ld a, $0 call Function84419 @@ -45671,7 +44697,7 @@ Function844bc: ; 844bc (21:44bc) ld c, $c call DelayFrames xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function84893 ld a, $0 call Function84419 @@ -45681,7 +44707,7 @@ Function844bc: ; 844bc (21:44bc) ld c, $c call DelayFrames xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function848b7 ld a, $3 call Function84419 @@ -45691,9 +44717,9 @@ Function844bc: ; 844bc (21:44bc) ld [hVBlank], a call Function84411 xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a pop af - ld [rIE], a ; $ff00+$ff + ld [rIE], a call Function84425 pop af ld [wcf65], a @@ -47102,7 +46128,7 @@ ShowPlayerNamingChoices: ; 88297 call InterpretMenu2 ld a, [MenuSelection2] dec a - call Function1db8 + call CopyNameFromMenu call WriteBackup ret ; 882b5 @@ -47567,7 +46593,7 @@ Function8ca3c: ; 8ca3c (23:4a3c) Function8ca5c: ; 8ca5c (23:4a5c) ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld hl, wJumptableIndex inc [hl] @@ -51737,7 +50763,7 @@ InitClock: ; 90672 (24:4672) ld b, $8 call GetSGBLayout xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call LoadStandardFont ld de, GFX_908fb ld hl, VTiles2 tile $00 @@ -51835,13 +50861,13 @@ InitClock: ; 90672 (24:4672) .ClearScreen: ; 90783 (24:4783) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 0, 0 ld bc, SCREEN_HEIGHT * SCREEN_WIDTH xor a call ByteFill ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret SetHour: ; 90795 (24:4795) @@ -51939,7 +50965,7 @@ endr ; 90810 SetMinutes: ; 90810 (24:4810) - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] and A_BUTTON jr nz, .asm_90857 ld hl, hJoyLast @@ -52301,9 +51327,9 @@ Special_InitialSetDSTFlag: ; 90a54 UnknownText_0x90a6c: ; 90a6c start_asm call UpdateTime - ld a, [hHours] ; $ff00+$94 + ld a, [hHours] ld b, a - ld a, [hMinutes] ; $ff00+$96 + ld a, [hMinutes] ld c, a decoord 1, 14 callba PrintHoursMins @@ -52766,11 +51792,11 @@ Function90da8: ; 90da8 (24:4da8) ret Function90e00: ; 90e00 (24:4e00) - ld a, [hCGB] ; $ff00+$e6 + ld a, [hCGB] and a jr z, .asm_90e0e ld a, $2 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld c, $3 call DelayFrames .asm_90e0e @@ -52999,19 +52025,19 @@ Function90f3e: ; 90f3e (24:4f3e) Function90f7b: ; 90f7b (24:4f7b) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function90f86 ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret Function90f86: ; 90f86 (24:4f86) hlcoord 3, 5 lb bc, 5, 14 call ClearBox - ld a, [hHours] ; $ff00+$94 + ld a, [hHours] ld b, a - ld a, [hMinutes] ; $ff00+$96 + ld a, [hMinutes] ld c, a decoord 6, 8 callba PrintHoursMins @@ -53449,7 +52475,7 @@ OutOfServiceAreaText: ; 0x91251 ; 0x91256 Function91256: ; 91256 (24:5256) - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] and A_BUTTON | B_BUTTON ret z callba HangUp @@ -55327,7 +54353,7 @@ Function9279b: ; 9279b (24:679b) ld a, $e4 call DmgToCgbBGPals lb de, $e4, $e4 - ld a, [hCGB] ; $ff00+$e6 + ld a, [hCGB] and a jr nz, .asm_927ab lb de, $c0, $e4 @@ -55517,7 +54543,7 @@ Function928c6: ; 928c6 (24:68c6) .asm_928cf call Function92879 xor a - ld [hJoypadSum], a ; $ff00+$a5 + ld [hJoypadSum], a ret Function928d6: ; 928d6 (24:68d6) @@ -55540,7 +54566,7 @@ Function928e6: ; 928e6 (24:68e6) call Function929f6 call Function92879 xor a - ld [hJoypadSum], a ; $ff00+$a5 + ld [hJoypadSum], a Function92900: ; 92900 (24:6900) ld hl, hJoypadSum ; $ffa5 @@ -55562,7 +54588,7 @@ Function92910: ; 92910 (24:6910) call Function929f6 call Function92879 xor a - ld [hJoypadSum], a ; $ff00+$a5 + ld [hJoypadSum], a Function9292a: ; 9292a (24:692a) ld hl, hJoypadSum ; $ffa5 @@ -55584,7 +54610,7 @@ Function9293a: ; 9293a (24:693a) call Function929f6 call Function92879 xor a - ld [hJoypadSum], a ; $ff00+$a5 + ld [hJoypadSum], a ret Function92955: ; 92955 (24:6955) @@ -55607,7 +54633,7 @@ Function9296b: ; 9296b (24:696b) dec [hl] srl a ret z - ld a, [rOBP0] ; $ff00+$48 + ld a, [rOBP0] xor $ff ld e, a ld d, a @@ -57225,14 +56251,14 @@ endr xor $ff inc a ld [hl], a - ld [hSCY], a ; $ff00+$d0 + ld [hSCY], a ret .asm_932a3 ld hl, $b add hl, bc xor a ld [hl], a - ld [hSCY], a ; $ff00+$d0 + ld [hSCY], a ret Function932ac: ; 932ac (24:72ac) @@ -57508,16 +56534,16 @@ PlaceMapNameSign:: ; b8098 (2e:4098) .skip2 ld a, $80 ld a, $70 - ld [rWY], a ; $ff00+$4a - ld [hWY], a ; $ff00+$d2 + ld [rWY], a + ld [hWY], a ret .disappear ld a, $90 - ld [rWY], a ; $ff00+$4a - ld [hWY], a ; $ff00+$d2 + ld [rWY], a + ld [hWY], a xor a - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a ret @@ -57600,32 +56626,44 @@ endr PlaceMapNameFrame: ; b812f hlcoord 0, 0 + ; top left ld a, $61 ld [hli], a + ; top row ld a, $62 call .FillTopBottom + ; top right ld a, $64 ld [hli], a + ; left, first line ld a, $65 ld [hli], a - call .FillLeftRight + ; first line + call .FillMiddle + ; right, first line ld a, $6b ld [hli], a + ; left, second line ld a, $66 ld [hli], a - call .FillLeftRight + ; second line + call .FillMiddle + ; right, second line ld a, $6c ld [hli], a + ; bottom left ld a, $67 ld [hli], a + ; bottom ld a, $68 call .FillTopBottom + ; bottom right ld a, $6a ld [hl], a ret ; b815b -.FillLeftRight: ; b815b +.FillMiddle: ; b815b ld c, 18 ld a, $6d .loop @@ -60022,7 +59060,7 @@ endr call WaitSFX ld a, [wc6e8] ld e, a - ld d, $0 + ld d, 0 ld hl, wc6d0 rept 2 add hl, de @@ -60279,7 +59317,7 @@ String_e04bc: Functione04c1: ; e04c1 (38:44c1) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 0, 0 ld bc, SCREEN_HEIGHT * SCREEN_WIDTH ld a, $29 @@ -61344,7 +60382,7 @@ Unknown_e0c26: ; e0c26 ; e0c37 Functione0c37: ; e0c37 (38:4c37) - ld a, [hCGB] ; $ff00+$e6 + ld a, [hCGB] and a ret z hlcoord 0, 0, AttrMap @@ -61371,16 +60409,16 @@ Functione0c37: ; e0c37 (38:4c37) lb bc, 12, 1 ld a, $1 call Functione04e7 - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_e0c93 ld de, Unkn1Pals ld bc, $48 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret ; e0c93 (38:4c93) @@ -62344,14 +61382,14 @@ Functione1e67: ; e1e67 (38:5e67) xor a call ByteFill xor a - ld [hSCY], a ; $ff00+$d0 - ld [hSCX], a ; $ff00+$cf - ld [rWY], a ; $ff00+$4a + ld [hSCY], a + ld [hSCX], a + ld [rWY], a ld [wJumptableIndex], a ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $e3 - ld [rLCDC], a ; $ff00+$40 + ld [rLCDC], a ld a, $e4 call DmgToCgbBGPals ld a, $e0 @@ -62480,7 +61518,7 @@ Functione1f61: ; e1f61 cp $ff ret z ld [wc6fd], a - ld [wc6fe], a + ld [wPlayerMinimized], a ld a, e ld [EnemyScreens], a call Functione2183 @@ -62580,7 +61618,7 @@ Functione2000: ; e2000 ; e2010 Functione2010: ; e2010 - ld hl, wc6fe + ld hl, wPlayerMinimized ld a, [hli] cp [hl] jr nz, .asm_e2066 @@ -62608,7 +61646,7 @@ Functione2010: ; e2010 and a jr nz, .asm_e2044 dec hl - ld a, [wc6fe] + ld a, [wPlayerMinimized] ld [hl], a ld [wc6fd], a ld hl, wc709 @@ -62977,7 +62015,7 @@ Jumptable_e23df: ; e23df (38:63df) Functione23e9: ; e23e9 (38:63e9) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites call Functione2d30 call Functione2a8e @@ -63009,11 +62047,11 @@ Functione241a: ; e241a (38:641a) ret z call Functione2e01 xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Functione2c2c call PCMonInfo ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame ret @@ -63040,7 +62078,7 @@ Functione241a: ; e241a (38:641a) Functione245d: ; e245d (38:645d) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites call Functione2def ld [CurPartySpecies], a @@ -63241,7 +62279,7 @@ Functione25dc: ; e25dc (38:65dc) ld a, $f ld [wcb2e], a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites call Functione2d30 call Functione2a8e @@ -63273,11 +62311,11 @@ Functione2612: ; e2612 (38:6612) ret z call Functione2e01 xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Functione2c2c call PCMonInfo ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame ret @@ -63305,7 +62343,7 @@ Functione2612: ; e2612 (38:6612) Functione2655: ; e2655 (38:6655) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites call Functione2def ld [CurPartySpecies], a @@ -65265,7 +64303,7 @@ Functione35aa: ; e35aa (38:75aa) call Functione35e2 .loop xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Functione36cf call Functione379c ld hl, Functione35aa_menudataheader @@ -65288,7 +64326,7 @@ Functione35aa: ; e35aa (38:75aa) Functione35e2: ; e35e2 (38:75e2) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, " " @@ -65584,7 +64622,7 @@ Functione37e3: ; e37e3 (38:77e3) hlcoord 1, 16 call PlaceString ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret @@ -66494,18 +65532,18 @@ GameFreakLogoScene4: ; e4776 (39:4776) rept 2 add hl, de endr - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, [hli] ld [OBPals + 12], a ld a, [hli] ld [OBPals + 13], a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a ret .asm_e47a3 ld hl, $b @@ -66658,14 +65696,14 @@ IntroScene1: ; e495b (39:495b) call ClearSprites call ClearTileMap xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroTilemap001 ld de, VBGMap0 tile $00 call Functione54fa ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroUnownsGFX ld de, VTiles2 tile $00 call Functione54c2 @@ -66675,10 +65713,10 @@ IntroScene1: ; e495b (39:495b) ld hl, IntroTilemap002 ld de, VBGMap0 tile $00 call Functione54fa - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_365ad ld de, Unkn1Pals ld bc, $80 @@ -66688,14 +65726,14 @@ IntroScene1: ; e495b (39:495b) ld bc, $80 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a - ld [hSCX], a ; $ff00+$cf - ld [hSCY], a ; $ff00+$d0 + ld [hSCX], a + ld [hSCY], a ld a, $7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ld a, $90 - ld [hWY], a ; $ff00+$d2 + ld [hWY], a callba Function8cf53 call Functione549e xor a @@ -66734,24 +65772,24 @@ IntroScene3: ; e49fd (39:49fd) call ClearSprites call ClearTileMap xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroTilemap003 ld de, VBGMap0 tile $00 call Functione54fa ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroBackgroundGFX ld de, VTiles2 tile $00 call Functione54c2 ld hl, IntroTilemap004 ld de, VBGMap0 tile $00 call Functione54fa - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_e5edd ld de, Unkn1Pals ld bc, $80 @@ -66761,14 +65799,14 @@ IntroScene3: ; e49fd (39:49fd) ld bc, $80 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a - ld [hSCX], a ; $ff00+$cf - ld [hSCY], a ; $ff00+$d0 + ld [hSCX], a + ld [hSCY], a ld a, $7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ld a, $90 - ld [hWY], a ; $ff00+$d2 + ld [hWY], a call Functione5516 call Functione549e xor a @@ -66795,15 +65833,15 @@ IntroScene5: ; e4a7a (39:4a7a) call ClearSprites call ClearTileMap xor a - ld [hBGMapMode], a ; $ff00+$d4 - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hBGMapMode], a + ld [hLCDStatCustom], a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroTilemap005 ld de, VBGMap0 tile $00 call Functione54fa ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroUnownsGFX ld de, VTiles2 tile $00 call Functione54c2 @@ -66813,10 +65851,10 @@ IntroScene5: ; e4a7a (39:4a7a) ld hl, IntroTilemap006 ld de, VBGMap0 tile $00 call Functione54fa - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_365ad ld de, Unkn1Pals ld bc, $80 @@ -66826,14 +65864,14 @@ IntroScene5: ; e4a7a (39:4a7a) ld bc, $80 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a - ld [hSCX], a ; $ff00+$cf - ld [hSCY], a ; $ff00+$d0 + ld [hSCX], a + ld [hSCY], a ld a, $7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ld a, $90 - ld [hWY], a ; $ff00+$d2 + ld [hWY], a callba Function8cf53 call Functione549e xor a @@ -66890,9 +65928,9 @@ IntroScene7: ; e4b3f (39:4b3f) call ClearSprites call ClearTileMap xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroTilemap003 ld de, VBGMap0 tile $00 call Functione54fa @@ -66900,7 +65938,7 @@ IntroScene7: ; e4b3f (39:4b3f) ld de, VTiles0 tile $00 call Functione54c2 ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroSuicuneRunGFX ld de, VTiles0 tile $00 call Functione54de @@ -66910,10 +65948,10 @@ IntroScene7: ; e4b3f (39:4b3f) ld hl, IntroTilemap004 ld de, VBGMap0 tile $00 call Functione54fa - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_e5edd ld de, Unkn1Pals ld bc, $80 @@ -66923,14 +65961,14 @@ IntroScene7: ; e4b3f (39:4b3f) ld bc, $80 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a - ld [hSCX], a ; $ff00+$cf - ld [hSCY], a ; $ff00+$d0 + ld [hSCX], a + ld [hSCY], a ld a, $7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ld a, $90 - ld [hWY], a ; $ff00+$d2 + ld [hWY], a call Functione5516 callba Function8cf53 ld de, $6cd8 @@ -66975,7 +66013,7 @@ IntroScene8: ; e4bd3 (39:4bd3) IntroScene9: ; e4c04 (39:4c04) ; Set up the next scene (same bg). xor a - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a call ClearSprites hlcoord 0, 0, AttrMap ld bc, $f0 @@ -66988,18 +66026,18 @@ IntroScene9: ; e4c04 (39:4c04) ld a, $3 call ByteFill ld a, $2 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame call DelayFrame ld a, $c - ld [hBGMapAddress], a ; $ff00+$d6 + ld [hBGMapAddress], a call DelayFrame call DelayFrame call DelayFrame xor a - ld [hBGMapMode], a ; $ff00+$d4 - ld [hBGMapAddress], a ; $ff00+$d6 + ld [hBGMapMode], a + ld [hBGMapAddress], a ld [wc3c0], a xor a ld [wcf64], a @@ -67045,25 +66083,25 @@ IntroScene11: ; e4c86 (39:4c86) call ClearSprites call ClearTileMap xor a - ld [hBGMapMode], a ; $ff00+$d4 - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hBGMapMode], a + ld [hLCDStatCustom], a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroTilemap007 ld de, VBGMap0 tile $00 call Functione54fa ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroUnownsGFX ld de, VTiles2 tile $00 call Functione54c2 ld hl, IntroTilemap008 ld de, VBGMap0 tile $00 call Functione54fa - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_365ad ld de, Unkn1Pals ld bc, $80 @@ -67073,14 +66111,14 @@ IntroScene11: ; e4c86 (39:4c86) ld bc, $80 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a - ld [hSCX], a ; $ff00+$cf - ld [hSCY], a ; $ff00+$d0 + ld [hSCX], a + ld [hSCY], a ld a, $7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ld a, $90 - ld [hWY], a ; $ff00+$d2 + ld [hWY], a callba Function8cf53 call Functione549e xor a @@ -67168,14 +66206,14 @@ IntroScene13: ; e4d6d (39:4d6d) call ClearSprites call ClearTileMap xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroTilemap003 ld de, VBGMap0 tile $00 call Functione54fa ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroSuicuneRunGFX ld de, VTiles0 tile $00 call Functione54de @@ -67185,10 +66223,10 @@ IntroScene13: ; e4d6d (39:4d6d) ld hl, IntroTilemap004 ld de, VBGMap0 tile $00 call Functione54fa - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_e5edd ld de, Unkn1Pals ld bc, $80 @@ -67198,14 +66236,14 @@ IntroScene13: ; e4d6d (39:4d6d) ld bc, $80 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a - ld [hSCX], a ; $ff00+$cf - ld [hSCY], a ; $ff00+$d0 + ld [hSCX], a + ld [hSCY], a ld a, $7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ld a, $90 - ld [hWY], a ; $ff00+$d2 + ld [hWY], a callba Function8cf53 lb de, $6c, $58 ld a, $26 @@ -67223,9 +66261,9 @@ IntroScene13: ; e4d6d (39:4d6d) IntroScene14: ; e4dfa (39:4dfa) ; Suicune runs then jumps. - ld a, [hSCX] ; $ff00+$cf + ld a, [hSCX] sub 10 - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld hl, wcf64 ld a, [hl] inc [hl] @@ -67272,14 +66310,14 @@ IntroScene15: ; e4e40 (39:4e40) call ClearSprites call ClearTileMap xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroTilemap009 ld de, VBGMap0 tile $00 call Functione54fa ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroSuicuneJumpGFX ld de, VTiles2 tile $00 call Functione54c2 @@ -67294,10 +66332,10 @@ IntroScene15: ; e4e40 (39:4e40) ld de, VBGMap0 tile $00 call Functione54fa call Functione541b - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_e77dd ld de, Unkn1Pals ld bc, $80 @@ -67307,15 +66345,15 @@ IntroScene15: ; e4e40 (39:4e40) ld bc, $80 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, $90 - ld [hSCY], a ; $ff00+$d0 + ld [hSCY], a ld a, $7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ld a, $90 - ld [hWY], a ; $ff00+$d2 + ld [hWY], a callba Function8cf53 call Functione549e lb de, $40, $28 @@ -67338,11 +66376,11 @@ IntroScene16: ; e4edc (39:4edc) cp $80 jr nc, .done call Functione5441 - ld a, [hSCY] ; $ff00+$d0 + ld a, [hSCY] and a ret z add 8 - ld [hSCY], a ; $ff00+$d0 + ld [hSCY], a ret .done call NextIntroScene @@ -67354,24 +66392,24 @@ IntroScene17: ; e4ef5 (39:4ef5) call ClearSprites call ClearTileMap xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroTilemap011 ld de, VBGMap0 tile $00 call Functione54fa ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroSuicuneCloseGFX ld de, VTiles1 tile $00 call Functione54de ld hl, IntroTilemap012 ld de, VBGMap0 tile $00 call Functione54fa - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_e6d6d ld de, Unkn1Pals ld bc, $80 @@ -67381,14 +66419,14 @@ IntroScene17: ; e4ef5 (39:4ef5) ld bc, $80 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a - ld [hSCX], a ; $ff00+$cf - ld [hSCY], a ; $ff00+$d0 + ld [hSCX], a + ld [hSCY], a ld a, $7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ld a, $90 - ld [hWY], a ; $ff00+$d2 + ld [hWY], a callba Function8cf53 call Functione549e xor a @@ -67404,11 +66442,11 @@ IntroScene18: ; e4f67 (39:4f67) inc [hl] cp $60 jr nc, .done - ld a, [hSCX] ; $ff00+$cf + ld a, [hSCX] cp $60 ret z add 8 - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ret .done call NextIntroScene @@ -67420,14 +66458,14 @@ IntroScene19: ; e4f7e (39:4f7e) call ClearSprites call ClearTileMap xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroTilemap013 ld de, VBGMap0 tile $00 call Functione54fa ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroSuicuneBackGFX ld de, VTiles2 tile $00 call Functione54c2 @@ -67442,10 +66480,10 @@ IntroScene19: ; e4f7e (39:4f7e) ld de, VBGMap0 tile $00 call Functione54fa call Functione541b - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_e77dd ld de, Unkn1Pals ld bc, $80 @@ -67455,15 +66493,15 @@ IntroScene19: ; e4f7e (39:4f7e) ld bc, $80 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, $d8 - ld [hSCY], a ; $ff00+$d0 + ld [hSCY], a ld a, $7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ld a, $90 - ld [hWY], a ; $ff00+$d2 + ld [hWY], a callba Function8cf53 ld hl, wc300 xor a @@ -67492,9 +66530,9 @@ IntroScene20: ; e5019 (39:5019) jr nc, .asm_e5032 cp $28 ret nc - ld a, [hSCY] ; $ff00+$d0 + ld a, [hSCY] inc a - ld [hSCY], a ; $ff00+$d0 + ld [hSCY], a ret .asm_e5032 @@ -67532,7 +66570,7 @@ IntroScene21: ; e505d (39:505d) ld c, $3 call DelayFrames xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld [wcf64], a ld [wcf65], a call NextIntroScene @@ -67596,24 +66634,24 @@ IntroScene26: ; e50bb (39:50bb) call ClearSprites call ClearTileMap xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroTilemap015 ld de, VBGMap0 tile $00 call Functione54fa ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, IntroCrystalUnownsGFX ld de, VTiles2 tile $00 call Functione54c2 ld hl, IntroTilemap017 ld de, VBGMap0 tile $00 call Functione54fa - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_e679d ld de, Unkn1Pals ld bc, $80 @@ -67623,14 +66661,14 @@ IntroScene26: ; e50bb (39:50bb) ld bc, $80 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a xor a - ld [hSCX], a ; $ff00+$cf - ld [hSCY], a ; $ff00+$d0 + ld [hSCX], a + ld [hSCY], a ld a, $7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ld a, $90 - ld [hWY], a ; $ff00+$d2 + ld [hWY], a callba Function8cf53 call Functione549e xor a @@ -67697,10 +66735,10 @@ Functione5172: ; e5172 (39:5172) ld a, $0 adc h ld h, a - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld de, BGPals ld b, $8 .asm_e5187 @@ -67716,9 +66754,9 @@ Functione5172: ; e5172 (39:5172) dec b jr nz, .asm_e5187 pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a ret ; e519c (39:519c) @@ -67827,10 +66865,10 @@ endr .asm_e523e ld c, a ld b, $0 - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a push hl push bc ld hl, BGPals @@ -67879,9 +66917,9 @@ endr ld a, d ld [hli], a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a ret ; e5288 (39:5288) @@ -67926,10 +66964,10 @@ rept 3 add a endr ld c, a - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a push bc ld de, BGPals ld a, c @@ -67951,9 +66989,9 @@ endr ld bc, $8 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a ret ; e538d (39:538d) @@ -67986,10 +67024,10 @@ endr add a ld c, a ld b, $0 - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a push hl ld hl, Palette_e53db add hl, bc @@ -68013,9 +67051,9 @@ endr ld a, d ld [hli], a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a ret ; e53db (39:53db) @@ -68038,10 +67076,10 @@ endr ; e541b Functione541b: ; e541b (39:541b) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $6 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Unkn1Pals decoord 0, 0 ld b, $12 @@ -68062,7 +67100,7 @@ Functione541b: ; e541b (39:541b) dec b jr nz, .asm_e542a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret Functione5441: ; e5441 (39:5441) @@ -68074,7 +67112,7 @@ Functione5441: ; e5441 (39:5441) ret .asm_e544d xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret Functione5451: ; e5451 (39:5451) @@ -68095,7 +67133,7 @@ Functione5451: ; e5451 (39:5451) or b jr nz, .asm_e5457 ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret Functione546d: ; e546d (39:546d) @@ -68130,31 +67168,31 @@ Unknown_e5496: ; e5496 Functione549e: ; e549e (39:549e) ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a ret Functione54a3: ; e54a3 (39:54a3) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, BGPals ld bc, $80 xor a call ByteFill pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a call DelayFrame call DelayFrame ret Functione54c2: ; e54c2 (39:54c2) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $6 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a push de ld de, Unkn1Pals call Decompress @@ -68163,14 +67201,14 @@ Functione54c2: ; e54c2 (39:54c2) ld bc, $180 call Request2bpp pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret Functione54de: ; e54de (39:54de) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $6 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a push de ld de, Unkn1Pals call Decompress @@ -68179,14 +67217,14 @@ Functione54de: ; e54de (39:54de) ld bc, $1ff call Request2bpp pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret Functione54fa: ; e54fa (39:54fa) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $6 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a push de ld de, Unkn1Pals call Decompress @@ -68195,29 +67233,29 @@ Functione54fa: ; e54fa (39:54fa) ld bc, $140 call Request2bpp pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret Functione5516: ; e5516 (39:5516) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, LYOverrides ld bc, $90 xor a call ByteFill pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $43 - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a ret Functione552f: ; e552f (39:552f) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, [wcf64] and $1 jr z, .asm_e5548 @@ -68235,9 +67273,9 @@ endr ld bc, $31 call ByteFill ld a, [LYOverrides + 0] - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret IntroSuicuneRunGFX: ; e555d @@ -70427,7 +69465,7 @@ CheckBalance_MomItem2: ; fd044 ld [hMoneyTemp + 1], a ld a, [hli] ld [hMoneyTemp + 2], a - ld de, wd851 + ld de, wMomsMoney ld bc, hMoneyTemp callba CompareMoney jr nc, .have_enough_money @@ -70448,7 +69486,7 @@ CheckBalance_MomItem2: ; fd044 ld [hl], (2300 % $100) ; $fc .loop ld de, wdc19 - ld bc, wd851 + ld bc, wMomsMoney callba CompareMoney jr z, .exact jr nc, .less_than @@ -70484,10 +69522,10 @@ MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6) ld a, [hli] ld [hMoneyTemp], a ld a, [hli] - ld [$ffc4], a + ld [hMoneyTemp + 1], a ld a, [hli] - ld [$ffc5], a - ld de, wd851 + ld [hMoneyTemp + 2], a + ld de, wMomsMoney ld bc, hMoneyTemp callba TakeMoney ret @@ -70688,7 +69726,7 @@ Function104033: ; 104033 ld hl, w6_d000 call Function10425f ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, w6_d000 call Function10419d ret @@ -70704,7 +69742,7 @@ Function10404d: ; 10404d ld hl, w6_d400 call Function104263 ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, w6_d400 call Function10419d ret @@ -70724,18 +69762,18 @@ Function104067: ; 104067 call Function10425f call DelayFrame di - ld a, [rVBK] ; $ff00+$4f + ld a, [rVBK] push af ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, w6_d400 call Function1041ad ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, w6_d000 call Function1041ad pop af - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ei ret @@ -70824,18 +69862,18 @@ Function104116: ; 104116 call Function10425f call DelayFrame di - ld a, [rVBK] ; $ff00+$4f + ld a, [rVBK] push af ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, w6_d400 call Function1041b7 ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, w6_d000 call Function1041b7 pop af - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ei ret ; 104148 @@ -70898,12 +69936,12 @@ Function10419c: ; 10419c Function10419d: ; 10419d (41:419d) call Function10424e ld a, $23 - ld [hDMATransfer], a ; $ff00+$e8 + ld [hDMATransfer], a Function1041a4: ; 104a14 .asm_1041a4 call DelayFrame - ld a, [hDMATransfer] ; $ff00+$e8 + ld a, [hDMATransfer] and a jr nz, .asm_1041a4 ret @@ -70911,7 +69949,7 @@ Function1041a4: ; 104a14 Function1041ad: ; 1041ad (41:41ad) ld a, [hBGMapAddress + 1] ld d, a - ld a, [hBGMapAddress] ; $ff00+$d6 + ld a, [hBGMapAddress] ld e, a ld c, $24 jr Function104209 @@ -70919,7 +69957,7 @@ Function1041ad: ; 1041ad (41:41ad) Function1041b7: ; 1041b7 (41:41b7) ld a, [hBGMapAddress + 1] ld d, a - ld a, [hBGMapAddress] ; $ff00+$d6 + ld a, [hBGMapAddress] ld e, a ld c, $24 jr asm_104205 @@ -71035,14 +70073,14 @@ asm_10420b: Function10424e: ; 10424e (41:424e) ld a, h - ld [rHDMA1], a ; $ff00+$51 + ld [rHDMA1], a ld a, l - ld [rHDMA2], a ; $ff00+$52 + ld [rHDMA2], a ld a, [hBGMapAddress + 1] and $1f - ld [rHDMA3], a ; $ff00+$53 - ld a, [hBGMapAddress] ; $ff00+$d6 - ld [rHDMA4], a ; $ff00+$54 + ld [rHDMA3], a + ld a, [hBGMapAddress] + ld [rHDMA4], a ret Function10425f: ; 10425f (41:425f) @@ -71211,13 +70249,13 @@ Function104309: decoord 0, 0, AttrMap call Function10433a ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld c, $8 ld hl, w6_d000 + $80 ld de, VBGMap1 tile $00 call Function104209 ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld c, $8 ld hl, w6_d000 ld de, VBGMap1 tile $00 @@ -71509,19 +70547,19 @@ Function104770: ; 104770 (41:4770) ld [wd153], a xor a ld [wd152], a - ld [hSCY], a ; $ff00+$d0 - ld [hSCX], a ; $ff00+$cf + ld [hSCY], a + ld [hSCX], a callba Function5958 - ld a, [rVBK] ; $ff00+$4f + ld a, [rVBK] push af ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a xor a lb bc, 4, 0 ld hl, VBGMap0 tile $00 call ByteFill pop af - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld a, $60 lb bc, 4, 0 ld hl, VBGMap0 tile $00 @@ -71531,12 +70569,12 @@ Function104770: ; 104770 (41:4770) Function1047a3: ; 1047a3 (41:47a3) decoord 0, 0 call Function1047b4 - ld a, [hCGB] ; $ff00+$e6 + ld a, [hCGB] and a ret z decoord 0, 0, AttrMap ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a Function1047b4: ; 1047b4 (41:47b4) ld hl, VBGMap0 tile $00 @@ -71556,7 +70594,7 @@ Function1047b4: ; 1047b4 (41:47b4) dec b jr nz, .asm_1047bb ld a, $0 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ret LoadGraphics: ; 1047cf @@ -71565,7 +70603,7 @@ LoadGraphics: ; 1047cf xor a ld [hMapAnims], a xor a - ld [hTileAnimFrame], a ; $ff00+$df + ld [hTileAnimFrame], a callba RefreshSprites call LoadFontsExtra callba Function106594 @@ -71710,14 +70748,14 @@ DoMysteryGift: ; 1048ba (41:48ba) ld [wca01], a ld a, $14 ld [wca02], a - ld a, [rIE] ; $ff00+$ff + ld a, [rIE] push af call Function104a95 ld d, a xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a pop af - ld [rIE], a ; $ff00+$ff + ld [rIE], a push de call ClearTileMap call EnableLCD @@ -71812,7 +70850,7 @@ Function1049c2: ; 1049c2 (41:49c2) Function1049c5: ; 1049c5 (41:49c5) call PrintText ld a, $e3 - ld [rLCDC], a ; $ff00+$40 + ld [rLCDC], a ret ; 1049cd (41:49cd) @@ -71954,10 +70992,10 @@ Function104a95: ; 104a95 (41:4a95) jp nz, Function104bd0 jr asm_104b0a .asm_104ac8 - ld a, [rLY] ; $ff00+$44 + ld a, [rLY] cp $90 jr c, .asm_104ac8 - ld c, $56 + ld c, rRP % $100 ld a, $c0 ld [$ff00+c], a ld b, $f0 @@ -71965,19 +71003,19 @@ Function104a95: ; 104a95 (41:4a95) push bc call Function105038 ld b, $2 - ld c, $56 + ld c, rRP % $100 .asm_104add ld a, [$ff00+c] and b ld b, a - ld a, [rLY] ; $ff00+$44 + ld a, [rLY] cp $90 jr nc, .asm_104add .asm_104ae6 ld a, [$ff00+c] and b ld b, a - ld a, [rLY] ; $ff00+$44 + ld a, [rLY] cp $90 jr c, .asm_104ae6 ld a, b @@ -71986,7 +71024,7 @@ Function104a95: ; 104a95 (41:4a95) jr z, .asm_104a9f or a jr nz, .asm_104a9f - ld a, [$ffc4] + ld a, [hMoneyTemp + 1] bit 1, a jr z, .asm_104ad5 ld a, $10 @@ -72129,10 +71167,10 @@ Function104bd0: ; 104bd0 (41:4bd0) push af call Function104da0 xor a - ld [rIF], a ; $ff00+$f - ld a, [rIE] ; $ff00+$ff + ld [rIF], a + ld a, [rIE] or $1 - ld [rIE], a ; $ff00+$ff + ld [rIE], a ei call DelayFrame pop af @@ -72254,10 +71292,10 @@ Function104d1c: ; 104d1c (41:4d1c) push af call Function104da0 xor a - ld [rIF], a ; $ff00+$f - ld a, [rIE] ; $ff00+$ff + ld [rIF], a + ld a, [rIE] or $1 - ld [rIE], a ; $ff00+$ff + ld [rIE], a ei call DelayFrame pop af @@ -72298,9 +71336,9 @@ Function104d56: ; 104d56 (41:4d56) Function104d5e: ; 104d5e (41:4d5e) call Function104d74 ld a, $4 - ld [rIE], a ; $ff00+$ff + ld [rIE], a xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a call Function104d96 xor a ld b, a @@ -72313,25 +71351,25 @@ Function104d5e: ; 104d5e (41:4d5e) Function104d74: ; 104d74 (41:4d74) xor a - ld [rTAC], a ; $ff00+$7 + ld [rTAC], a ld a, $fe - ld [rTMA], a ; $ff00+$6 - ld [rTIMA], a ; $ff00+$5 + ld [rTMA], a + ld [rTIMA], a ld a, $2 - ld [rTAC], a ; $ff00+$7 + ld [rTAC], a or $4 - ld [rTAC], a ; $ff00+$7 + ld [rTAC], a ret Function104d86: ; 104d86 (41:4d86) xor a - ld [rTAC], a ; $ff00+$7 - ld [rTMA], a ; $ff00+$6 - ld [rTIMA], a ; $ff00+$5 + ld [rTAC], a + ld [rTMA], a + ld [rTIMA], a ld a, $2 - ld [rTAC], a ; $ff00+$7 + ld [rTAC], a or $4 - ld [rTAC], a ; $ff00+$7 + ld [rTAC], a ret Function104d96: ; 104d96 (41:4d96) @@ -72345,14 +71383,14 @@ Function104da0: ; 104da0 (41:4da0) xor a call Function104e8c ld a, $2 - ld [rTAC], a ; $ff00+$7 + ld [rTAC], a ret Function104da9: ; 104da9 (41:4da9) inc d ret z xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a halt ld a, [$ff00+c] bit 1, a @@ -72364,7 +71402,7 @@ Function104db7: ; 104db7 (41:4db7) inc d ret z xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a halt ld a, [$ff00+c] bit 1, a @@ -72379,7 +71417,7 @@ Function104dc5: ; 104dc5 (41:4dc5) dec d ret z xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a halt jr .asm_104dc8 @@ -72390,7 +71428,7 @@ Function104dd1: ; 104dd1 (41:4dd1) dec d ret z xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a halt jr .asm_104dd4 @@ -72402,8 +71440,8 @@ Function104ddd: ; 104ddd (41:4ddd) .asm_104de4 call Function105038 ld b, $2 - ld c, $56 - ld a, [$ffc4] + ld c, rRP % $100 + ld a, [hMoneyTemp + 1] bit 1, a jr z, .asm_104df6 ld a, $10 @@ -72417,7 +71455,7 @@ Function104ddd: ; 104ddd (41:4ddd) jr nz, .asm_104de4 Function104dfe: ; 104dfe (41:4dfe) - ld c, $56 + ld c, rRP % $100 ld d, $0 ld e, d call Function104db7 @@ -72487,15 +71525,15 @@ Function104e46: ; 104e46 (41:4e46) ret Function104e8c: ; 104e8c (41:4e8c) - ld [rRP], a ; $ff00+$56 + ld [rRP], a ld a, $ff ld [hPrintNum10], a ret Function104e93: ; 104e93 (41:4e93) xor a - ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier) - ld [hMathBuffer], a ; $ff00+$b8 + ld [hDivisor], a + ld [hMathBuffer], a push hl push bc ld c, $56 @@ -72511,9 +71549,9 @@ Function104e93: ; 104e93 (41:4e93) pop bc pop hl call Function104ed6 - ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier) - ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand) - ld a, [hMathBuffer] ; $ff00+$b8 + ld a, [hDivisor] + ld [hQuotient], a + ld a, [hMathBuffer] ld [$ffb5], a push hl ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand) @@ -72522,10 +71560,10 @@ Function104e93: ; 104e93 (41:4e93) ld hl, hPrintNum10 ld b, $1 call Function104faf - ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand) - ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier) + ld a, [hQuotient] + ld [hDivisor], a ld a, [$ffb5] - ld [hMathBuffer], a ; $ff00+$b8 + ld [hMathBuffer], a pop hl ret @@ -72541,7 +71579,7 @@ Function104ed6: ; 104ed6 (41:4ed6) cpl ld b, a ld a, $f4 - ld [rTMA], a ; $ff00+$6 + ld [rTMA], a .asm_104eee inc b jr z, .asm_104f2e @@ -72549,18 +71587,18 @@ Function104ed6: ; 104ed6 (41:4ed6) ld [$ffb6], a ld a, [hli] ld e, a - ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier) + ld a, [hDivisor] add e - ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier) - ld a, [hMathBuffer] ; $ff00+$b8 + ld [hDivisor], a + ld a, [hMathBuffer] adc $0 - ld [hMathBuffer], a ; $ff00+$b8 + ld [hMathBuffer], a .asm_104f02 xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a halt ld a, $c1 - ld [rRP], a ; $ff00+$56 + ld [rRP], a ld d, $1 ld a, e rlca @@ -72568,15 +71606,15 @@ Function104ed6: ; 104ed6 (41:4ed6) jr nc, .asm_104f13 inc d .asm_104f13 - ld a, [rTIMA] ; $ff00+$5 + ld a, [rTIMA] cp $f8 jr c, .asm_104f13 ld a, $c0 - ld [rRP], a ; $ff00+$56 + ld [rRP], a dec d jr z, .asm_104f25 xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a halt .asm_104f25 ld a, [$ffb6] @@ -72586,9 +71624,9 @@ Function104ed6: ; 104ed6 (41:4ed6) jr .asm_104f02 .asm_104f2e ld a, $fe - ld [rTMA], a ; $ff00+$6 + ld [rTMA], a xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a halt ld d, $5 call Function104dc5 @@ -72616,8 +71654,8 @@ Function104f50: ; 104f50 (41:4f50) Function104f57: ; 104f57 (41:4f57) xor a - ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier) - ld [hMathBuffer], a ; $ff00+$b8 + ld [hDivisor], a + ld [hMathBuffer], a push bc push hl ld hl, hQuotient ; $ffb4 (aliases: hMultiplicand) @@ -72630,13 +71668,13 @@ Function104f57: ; 104f57 (41:4f57) pop af cp b jp c, Function104f50 - ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand) + ld a, [hQuotient] cp $5a jp nz, Function104f50 call Function104faf - ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier) + ld a, [hDivisor] ld d, a - ld a, [hMathBuffer] ; $ff00+$b8 + ld a, [hMathBuffer] ld e, a push hl push de @@ -72661,13 +71699,13 @@ Function104f57: ; 104f57 (41:4f57) pop de pop hl ld a, d - ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier) + ld [hDivisor], a ld a, e - ld [hMathBuffer], a ; $ff00+$b8 + ld [hMathBuffer], a ret Function104faf: ; 104faf (41:4faf) - ld c, $56 + ld c, rRP % $100 ld d, $0 call Function104db7 jp z, Function104f42 @@ -72681,7 +71719,7 @@ Function104faf: ; 104faf (41:4faf) cpl ld b, a xor a - ld [$ffc5], a + ld [hMoneyTemp + 2], a call Function104d86 .asm_104fd2 inc b @@ -72704,10 +71742,10 @@ Function104faf: ; 104faf (41:4faf) bit 1, a jr nz, .asm_104fe5 .asm_104fed - ld a, [$ffc5] + ld a, [hMoneyTemp + 2] ld d, a - ld a, [rTIMA] ; $ff00+$5 - ld [$ffc5], a + ld a, [rTIMA] + ld [hMoneyTemp + 2], a sub d cp $12 jr c, .asm_104ffd @@ -72727,17 +71765,17 @@ Function104faf: ; 104faf (41:4faf) .asm_10500b ld a, e ld [hli], a - ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier) + ld a, [hDivisor] add e - ld [hDivisor], a ; $ff00+$b7 (aliases: hMultiplier) - ld a, [hMathBuffer] ; $ff00+$b8 + ld [hDivisor], a + ld a, [hMathBuffer] adc $0 - ld [hMathBuffer], a ; $ff00+$b8 + ld [hMathBuffer], a jr .asm_104fd2 .asm_10501a call Function104d74 xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a ld d, $0 call Function104da9 jp z, Function104f42 @@ -72755,18 +71793,18 @@ Function105033: ; 105033 (41:5033) Function105038: ; 105038 (41:5038) ld a, $20 - ld [rJOYP], a ; $ff00+$0 + ld [rJOYP], a rept 2 - ld a, [rJOYP] ; $ff00+$0 + ld a, [rJOYP] endr cpl and $f swap a ld b, a ld a, $10 - ld [rJOYP], a ; $ff00+$0 + ld [rJOYP], a rept 6 - ld a, [rJOYP] ; $ff00+$0 + ld a, [rJOYP] endr cpl and $f @@ -72775,11 +71813,11 @@ endr ld a, [hMoneyTemp] xor c and c - ld [$ffc4], a + ld [hMoneyTemp + 1], a ld a, c ld [hMoneyTemp], a ld a, $30 - ld [rJOYP], a ; $ff00+$0 + ld [rJOYP], a ret Function105069: ; 105069 (41:5069) @@ -73091,14 +72129,14 @@ Function105688: ; 105688 (41:5688) call Function1050fb ld a, $24 ld [wca02], a - ld a, [rIE] ; $ff00+$ff + ld a, [rIE] push af call Function104c2d ld d, a xor a - ld [rIF], a ; $ff00+$f + ld [rIF], a pop af - ld [rIE], a ; $ff00+$ff + ld [rIE], a ld a, d cp $10 jp z, Function105712 @@ -73162,7 +72200,7 @@ Function10571a: ; 10571a (41:571a) asm_105726: ; 105726 (41:5726) call PrintText ld a, $e3 - ld [rLCDC], a ; $ff00+$40 + ld [rLCDC], a ret ; 10572e (41:572e) diff --git a/misc/crystal_misc.asm b/misc/crystal_misc.asm index 978a0fc14..c23f4566c 100644 --- a/misc/crystal_misc.asm +++ b/misc/crystal_misc.asm @@ -144,14 +144,14 @@ Function17a751: ; 17a751 (5e:6751) ret Function17a770: ; 17a770 (5e:6770) - ld a, [hOAMUpdate] ; $ff00+$d8 + ld a, [hOAMUpdate] push af ld a, $1 - ld [hOAMUpdate], a ; $ff00+$d8 + ld [hOAMUpdate], a call HideSprites call Function17a9cb pop af - ld [hOAMUpdate], a ; $ff00+$d8 + ld [hOAMUpdate], a ret Function17a781: ; 17a781 (5e:6781) @@ -251,7 +251,7 @@ Function17a7ff: ; 17a7ff (5e:67ff) Function17a81a: ; 17a81a (5e:681a) call IsSFXPlaying ret nc - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] and $3 ret z call ExitMenu @@ -269,7 +269,7 @@ Function17a83c: ; 17a83c (5e:683c) ld a, [hJoyLast] and $f0 ld c, a - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] and $b or c ld c, a @@ -741,10 +741,10 @@ Unknown_17aaf7: ; 17aaf7 ; 17aba0 Function17aba0: ; 17aba0 (5e:6ba0) - ld a, [rVBK] ; $ff00+$4f + ld a, [rVBK] push af ld a, $1 - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, VTiles5 tile $00 ld de, GFX_17afa5 @@ -752,7 +752,7 @@ Function17aba0: ; 17aba0 (5e:6ba0) call Get2bpp pop af - ld [rVBK], a ; $ff00+$4f + ld [rVBK], a ld hl, VTiles0 tile $00 ld de, GFX_17afa5 + $4c0 @@ -766,10 +766,10 @@ Function17aba0: ; 17aba0 (5e:6ba0) ret Function17abcf: ; 17abcf (5e:6bcf) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, BANK(Unkn1Pals) - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_17ac55 ld de, Unkn1Pals ; $d000 @@ -793,7 +793,7 @@ Function17abcf: ; 17abcf (5e:6bcf) call FarCopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret Function17ac0c: ; 17ac0c (5e:6c0c) diff --git a/misc/mobile_22.asm b/misc/mobile_22.asm index c11ca8a14..ef75aa5b9 100644 --- a/misc/mobile_22.asm +++ b/misc/mobile_22.asm @@ -816,16 +816,16 @@ endr Function895c7: ; 895c7 (22:55c7) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, 5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_895de ld de, wd030 ld bc, 8 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret ; 895de (22:55de) @@ -2147,10 +2147,10 @@ Function89cdf: ; 89cdf (22:5cdf) Function89d0d: ; 89d0d (22:5d0d) call Function8923c - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld c, $8 ld de, Unkn1Pals .asm_89d1c @@ -2166,7 +2166,7 @@ Function89d0d: ; 89d0d (22:5d0d) ld bc, $8 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call SetPalettes callba Function845db call Function89240 @@ -2377,16 +2377,16 @@ Function89e6f: ; 89e6f (22:5e6f) jp Function89e36 Function89e9a: ; 89e9a (22:5e9a) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_89eb1 ld de, wd028 ld bc, $8 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret ; 89eb1 (22:5eb1) @@ -3383,10 +3383,10 @@ Function8a5a3: ; 8a5a3 (22:65a3) ret Function8a5b6: ; 8a5b6 (22:65b6) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_8a5e5 ld de, wd020 ld bc, $18 @@ -3400,7 +3400,7 @@ Function8a5b6: ; 8a5b6 (22:65b6) ld bc, $8 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret ; 8a5e5 (22:65e5) diff --git a/misc/mobile_22_2.asm b/misc/mobile_22_2.asm index 6502d9043..c1f671bf2 100644 --- a/misc/mobile_22_2.asm +++ b/misc/mobile_22_2.asm @@ -252,7 +252,7 @@ Function8b45c: ; 8b45c (22:745c) call Function8b4fd call Function89c44 ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a pop bc call Function8b3dd jr nc, .asm_8b46e @@ -809,9 +809,9 @@ Function8b7bd: ; 8b7bd ld a, [wd032] and a jr z, .asm_8b7e0 - ld a, [wcf81] + ld a, [wMenuFlags] set 3, a - ld [wcf81], a + ld [wMenuFlags], a .asm_8b7e0 ld a, [wd0e3] diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm index 7b7bc68f7..d3705e725 100644 --- a/misc/mobile_40.asm +++ b/misc/mobile_40.asm @@ -1825,7 +1825,7 @@ Function100b45: ; 100b45 ; 100b7a Function100b7a: ; 100b7a - ld hl, Function1c66 + ld hl, CopyMenuData2 ld a, [wcf94] rst FarCall callba Function24085 @@ -2088,7 +2088,7 @@ Function100d67: ; 100d67 call UpdateSprites call Function1c89 call WaitBGMap - call Function1c66 + call CopyMenuData2 call Function1c10 ld hl, wcfa5 set 6, [hl] diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm index c250da03f..c555ed848 100644 --- a/misc/mobile_45.asm +++ b/misc/mobile_45.asm @@ -7667,10 +7667,10 @@ Function11765d: ; 11765d (45:765d) Function11766b: ; 11766b (45:766b) call Function117699 - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call Function1176ee ld a, $5 call GetSRAMBank @@ -7683,7 +7683,7 @@ Function11766b: ; 11766b (45:766b) call CopyBytes call CloseSRAM pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret Function117699: ; 117699 (45:7699) @@ -7973,11 +7973,11 @@ Function1178aa: ; 1178aa (45:78aa) ld hl, MenuDataHeader_1179b5 call LoadMenuDataHeader call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile ld hl, MenuDataHeader_1179bd call LoadMenuDataHeader call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile callba Function104061 hlcoord 16, 8 ld de, String_1179c5 @@ -7993,7 +7993,7 @@ Function1178aa: ; 1178aa (45:78aa) jp Function117a0a Function1178e8: ; 1178e8 (45:78e8) - ld a, [hJoyPressed] ; $ff00+$a7 + ld a, [hJoyPressed] cp $2 jr z, .asm_117939 cp $1 @@ -8076,7 +8076,7 @@ Function117984: ; 117984 (45:7984) ld hl, MenuDataHeader_1179b5 call LoadMenuDataHeader call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile callba Function104061 hlcoord 1, 14 ld de, String_1179e1 @@ -8236,7 +8236,7 @@ Function117b14: ld hl, Data117cbc call LoadMenuDataHeader call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile jp Function117cdd Function117b28: @@ -8248,7 +8248,7 @@ Function117b31: ld hl, Data117cc4 call LoadMenuDataHeader call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile hlcoord 16, 8 ld de, YesNo117ccc call PlaceString @@ -8386,7 +8386,7 @@ Function117c4a: ld hl, Data117cbc call LoadMenuDataHeader call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile callba Function104061 ld hl, MobileStadiumSuccessText call PrintText diff --git a/misc/mobile_46.asm b/misc/mobile_46.asm index 9e22761b4..ee80a1388 100755 --- a/misc/mobile_46.asm +++ b/misc/mobile_46.asm @@ -311,10 +311,10 @@ Function118284: ; 118284 ld [wcd34], a ld a, $5 ld [wc3f0], a - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $3 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a .asm_11829d call JoyTextDelay call Function118473 @@ -334,7 +334,7 @@ Function118284: ; 118284 cp [hl] jr nz, .asm_11829d pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call Function118452 ret ; 1182d5 (46:42d5) @@ -1038,7 +1038,7 @@ Function11878d: ; 11878d (46:478d) and $1 jr z, .asm_1187a7 ld a, $3 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a .asm_1187a7 jp Function119e2e .asm_1187aa @@ -1066,7 +1066,7 @@ Function11878d: ; 11878d (46:478d) jr nz, .asm_118803 set 0, [hl] ld a, $6 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld de, Unkn1Pals ld bc, $1000 ld a, [hl] @@ -1111,7 +1111,7 @@ Function118821: ; 118821 (46:4821) jr c, .asm_11884a cp $4 jr z, .asm_11884a - ld a, [hJoyDown] ; $ff00+$a8 + ld a, [hJoyDown] cp $5 jr nz, .asm_11884a ld a, $a @@ -1285,7 +1285,7 @@ Function118936: ld hl, MenuDataHeader_119cf7 call LoadMenuDataHeader call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile call Function321c hlcoord 16, 8, AttrMap ld a, $40 @@ -4092,10 +4092,10 @@ String_119d8c: ; 119d93 Function119d93: ; 119d93 (46:5d93) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, [wcd4f] ld c, 10 call SimpleMultiply @@ -4122,7 +4122,7 @@ Function119d93: ; 119d93 (46:5d93) dec a jr nz, .asm_119daf pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a and a ret .asm_119dc6 @@ -4130,18 +4130,18 @@ Function119d93: ; 119d93 (46:5d93) ld a, $4 ld [wcf66], a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a scf ret Function119dd1: ; 119dd1 (46:5dd1) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, [wcd4f] cp 70 / 10 jr nc, .asm_119e08 ld a, $1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, PartyMon1Level ld bc, PARTYMON_STRUCT_LENGTH ld de, PartySpecies @@ -4169,7 +4169,7 @@ Function119dd1: ; 119dd1 (46:5dd1) jr nz, .asm_119deb .asm_119e08 pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a and a ret .asm_119e0d @@ -4184,7 +4184,7 @@ Function119dd1: ; 119dd1 (46:5dd1) ld a, $a ld [wcf66], a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a scf ret ; 119e2b (46:5e2b) @@ -4333,15 +4333,15 @@ Function119ec2: ; 119ec2 (46:5ec2) ret Function119ed8: ; 119ed8 (46:5ed8) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] ld [wcd8c], a ld a, $1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call Function119eee ld a, [wcd8c] - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret Function119eee: ; 119eee (46:5eee) @@ -4740,7 +4740,7 @@ Function11a207: ; 11a207 ld hl, MenuDataHeader_11a2de call LoadMenuDataHeader call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile call Function321c hlcoord 16, 8 ld de, String_11a2cf diff --git a/misc/mobile_5b.asm b/misc/mobile_5b.asm index 698858b2e..4a14c61bf 100755 --- a/misc/mobile_5b.asm +++ b/misc/mobile_5b.asm @@ -1163,7 +1163,7 @@ Function16d77a: ; 16d77a ld b, a ld a, [wcfa2] ld c, a - call GetTileCoord + call Coord2Tile ld a, [wcfa7] swap a and $f diff --git a/misc/mobile_5c.asm b/misc/mobile_5c.asm index d82b84e82..85681221a 100755 --- a/misc/mobile_5c.asm +++ b/misc/mobile_5c.asm @@ -673,7 +673,7 @@ Function170737: ; 170737 (5c:4737) Function17073e: ; 17073e (5c:473e) call Random - ld a, [hRandomAdd] ; $ff00+$e1 + ld a, [hRandomAdd] and $7 cp $6 jr c, .asm_17074b @@ -842,28 +842,28 @@ Function17081d: ; 17081d (5c:481d) Function170868: ; 170868 (5c:4868) ld a, BANK(sbe47) call GetSRAMBank - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $3 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, [wd000 + $800] ld [sbe47], a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call CloseSRAM ret Function170881: ; 170881 (5c:4881) ld a, BANK(sbe47) call GetSRAMBank - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $3 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, [sbe47] ld [wd000 + $800], a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call CloseSRAM ret @@ -1032,14 +1032,14 @@ String_1709a4: ; 1709a4 db "なぞナゾ@@" Function1709aa: ; 1709aa (5c:49aa) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, BANK(w3_d090) - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, [w3_d090] ld [ScriptVar], a pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret Function1709bb: ; 1709bb (5c:49bb) @@ -1575,13 +1575,13 @@ Function1719c8: ; 1719c8 (5c:59c8) Function1719d6: ; 1719d6 (5c:59d6) callba Function1183cb call Function1719ed - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call Function171a11 pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret Function1719ed: ; 1719ed (5c:59ed) @@ -1656,13 +1656,13 @@ Function171a5d: ; 171a5d (5c:5a5d) ld [wc302], a ld a, $a call Function3e32 - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a callba Function118452 pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $a ld [wcd49], a ret @@ -1700,13 +1700,13 @@ Function171ad7: ; 171ad7 (5c:5ad7) jp Function171c66 Function171aec: ; 171aec (5c:5aec) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $1 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a callba Function118452 pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a hlcoord 2, 6 ld a, $8 .asm_171b01 @@ -1860,7 +1860,7 @@ Function171beb: ; 171beb (5c:5beb) ld hl, MenuDataHeader_171c6b call LoadMenuDataHeader call MenuBox - call GetMemTileCoord + call MenuBoxCoord2Tile callba Function104061 hlcoord 1, 14 ld de, String_171c73 @@ -1952,10 +1952,10 @@ Function171c87: ; 171c87 (5c:5c87) ret Function171ccd: ; 171ccd (5c:5ccd) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_171d71 ld de, Unkn1Pals ld bc, $40 @@ -1967,7 +1967,7 @@ Function171ccd: ; 171ccd (5c:5ccd) ld [hl], a call SetPalettes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret Function171cf0: ; 171cf0 (5c:5cf0) @@ -2115,10 +2115,10 @@ Function172e78: ; 172e78 (5c:6e78) ; 172eb9 (5c:6eb9) Function172eb9: - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Palette_172edf ld de, Unkn1Pals ld bc, $40 @@ -2129,7 +2129,7 @@ Function172eb9: call CopyBytes call SetPalettes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ret ; 172edf (5c:6edf) @@ -724,12 +724,13 @@ wc6e9:: CurEnemyMoveNum:: ; c6e9 ds 1 +wEnemyHPAtTimeOfPlayerSwitch:: wc6ea:: ds 1 wc6eb:: ds 1 wPayDayMoney:: ds 3 ; c6ec - ds 1 - +wSafariMonAngerCount:: ds 1 +wSafariMonEating:: wc6f0:: ds 2 wEnemyBackupDVs:: ; used when enemy is transformed wc6f2:: ds 2 @@ -749,14 +750,14 @@ wc6f9:: LastPlayerCounterMove:: ; c6f9 ds 1 -wc6fa:: ds 1 +wEnemyMinimized:: ds 1 ; c6fa AlreadyFailed:: ; c6fb ds 1 wc6fc:: ds 1 wc6fd:: ds 1 -wc6fe:: ds 1 +wPlayerMinimized:: ds 1 ; c6fe wc6ff:: PlayerScreens:: ; c6ff ; bit @@ -870,8 +871,8 @@ wWildMonPP:: wc739:: ds 4 wc73d:: ds 1 wc73e:: ds 1 -wc73f:: ds 1 -wc740:: ds 1 +wPlayerJustGotFrozen:: ds 1 +wEnemyJustGotFrozen:: ds 1 wc741:: wBattleEnd:: ; c741 @@ -1241,6 +1242,7 @@ Requested1bppSource:: ; cf6d Requested1bppDest:: ; cf6f ds 2 +; something to do with menu wcf71:: ds 1 wcf72:: ds 1 wcf73:: ds 1 @@ -1252,21 +1254,31 @@ wcf76:: ds 1 wcf77:: ds 1 wcf78:: ds 9 -; menu data header buffer (ds 16) -wcf81:: ds 1 - -; dw related to tilemap +; menu data header +wMenuDataHeader:: ; cf81 +wMenuFlags:: ds 1 wMenuBorderTopCoord:: ds 1 wMenuBorderLeftCoord:: ds 1 wMenuBorderBottomCoord:: ds 1 wMenuBorderRightCoord:: ds 1 - -wcf86:: ds 1 -wcf87:: ds 1 +wMenuData2Pointer:: ds 2 wMenuCursorBuffer:: ds 2 -wcf8a:: ds 7 ; menu data 2 bank? +; end menu data header +wMenuDataBank:: ds 1 ; menu data bank? + ds 6 +wMenuDataHeaderEnd:: + +wMenuData2:: +wMenuData2Flags:: ds 1 ; cf91 +; bit 7: When set, start printing text one tile to the right of the border +; bit 6: When set, start printing text one tile below the border +; bit 5: ???? +; bit 4: ???? +; bit 3: ???? +; bit 2: ???? +; bit 1: ???? +; bit 0: ???? -wMenuData2Flags:: ds 1 wMenuData2Items:: ds 1 wcf93:: ds 1 wcf94:: ds 1 @@ -1276,12 +1288,14 @@ wcf97:: ds 1 ; addr hi wcf98:: ds 3 wcf9b:: ds 3 wcf9e:: ds 3 +wMenuData2End:: wcfa1:: ds 1 + wcfa2:: ds 1 wcfa3:: ds 1 wcfa4:: ds 1 -wcfa5:: ds 1 -wcfa6:: ds 1 +wcfa5:: ds 1 ; dynamic menu flags? +wcfa6:: ds 1 ; dynamic menu flags? wcfa7:: ds 1 wcfa8:: ds 1 MenuSelection2:: ds 1 @@ -1389,6 +1403,7 @@ SECTION "WRAM 1", WRAMX, BANK [1] MiscBuffer0:: wd000:: ds 1 MiscBuffer1:: +DefaultSpawnpoint:: wd001:: ds 1 wd002:: MiscBuffer2:: |