diff options
Diffstat (limited to 'engine')
303 files changed, 5765 insertions, 9490 deletions
diff --git a/engine/battle/ai/items.asm b/engine/battle/ai/items.asm index 218ecd375..14817f414 100644 --- a/engine/battle/ai/items.asm +++ b/engine/battle/ai/items.asm @@ -1,4 +1,4 @@ -AI_SwitchOrTryItem: ; 38000 +AI_SwitchOrTryItem: and a ld a, [wBattleMode] @@ -38,12 +38,11 @@ AI_SwitchOrTryItem: ; 38000 jp nz, SwitchSometimes ; fallthrough -DontSwitch: ; 38041 +DontSwitch: call AI_TryItem ret -; 38045 -SwitchOften: ; 38045 +SwitchOften: callfar CheckAbleToSwitch ld a, [wEnemySwitchMonParam] and $f0 @@ -77,9 +76,8 @@ SwitchOften: ; 38045 ; In register 'a' is the number (1-6) of the mon to switch to ld [wEnemySwitchMonIndex], a jp AI_TrySwitch -; 38083 -SwitchRarely: ; 38083 +SwitchRarely: callfar CheckAbleToSwitch ld a, [wEnemySwitchMonParam] and $f0 @@ -112,9 +110,8 @@ SwitchRarely: ; 38083 inc a ld [wEnemySwitchMonIndex], a jp AI_TrySwitch -; 380c1 -SwitchSometimes: ; 380c1 +SwitchSometimes: callfar CheckAbleToSwitch ld a, [wEnemySwitchMonParam] and $f0 @@ -147,17 +144,15 @@ SwitchSometimes: ; 380c1 inc a ld [wEnemySwitchMonIndex], a jp AI_TrySwitch -; 380ff -CheckSubstatusCantRun: ; 380ff +CheckSubstatusCantRun: ld a, [wEnemySubStatus5] bit SUBSTATUS_CANT_RUN, a ret -; 38105 -AI_TryItem: ; 38105 +AI_TryItem: ; items are not allowed in the BattleTower ld a, [wInBattleTowerBattle] and a @@ -244,7 +239,7 @@ AI_TryItem: ; 38105 ret -.IsHighestLevel: ; 38170 +.IsHighestLevel: ld a, [wOTPartyCount] ld d, a ld e, 0 @@ -274,10 +269,9 @@ AI_TryItem: ; 38105 .yes scf ret -; 38196 -AI_Items: ; 39196 +AI_Items: dbw FULL_RESTORE, .FullRestore dbw MAX_POTION, .MaxPotion dbw HYPER_POTION, .HyperPotion @@ -292,16 +286,14 @@ AI_Items: ; 39196 dbw X_SPEED, .XSpeed dbw X_SPECIAL, .XSpecial db -1 ; end -; 381be -.FullHeal: ; 381be +.FullHeal: call .Status jp c, .DontUse call EnemyUsedFullHeal jp .Use -; 381ca -.Status: ; 381ca (e:41ca) +.Status: ld a, [wEnemyMonStatus] and a jp z, .DontUse @@ -332,9 +324,8 @@ AI_Items: ; 39196 and 1 << FRZ | SLP jp z, .DontUse jp .Use -; 38208 -.FullRestore: ; 38208 +.FullRestore: call .HealItem jp nc, .UseFullRestore ld a, [bc] @@ -346,15 +337,14 @@ AI_Items: ; 39196 .UseFullRestore: call EnemyUsedFullRestore jp .Use -; 38220 -.MaxPotion: ; 38220 +.MaxPotion: call .HealItem jp c, .DontUse call EnemyUsedMaxPotion jp .Use -.HealItem: ; 3822c (e:422c) +.HealItem: ld a, [bc] bit CONTEXT_USE_F, a jr nz, .CheckHalfOrQuarterHP @@ -370,7 +360,7 @@ AI_Items: ; 39196 jp c, .UseHealItem jp .DontUse -.CheckQuarterHP: ; 38254 (e:4254) +.CheckQuarterHP: callfar AICheckEnemyQuarterHP jp c, .DontUse call Random @@ -378,7 +368,7 @@ AI_Items: ; 39196 jp c, .DontUse jr .UseHealItem -.CheckHalfOrQuarterHP: ; 38267 (e:4267) +.CheckHalfOrQuarterHP: callfar AICheckEnemyHalfHP jp c, .DontUse callfar AICheckEnemyQuarterHP @@ -387,33 +377,29 @@ AI_Items: ; 39196 cp 20 percent - 1 jp nc, .DontUse -.UseHealItem: ; 38281 (e:4281) +.UseHealItem: jp .Use -; 38284 -.HyperPotion: ; 38284 +.HyperPotion: call .HealItem jp c, .DontUse ld b, 200 call EnemyUsedHyperPotion jp .Use -; 38292 (e:4292) -.SuperPotion: ; 38292 +.SuperPotion: call .HealItem jp c, .DontUse ld b, 50 call EnemyUsedSuperPotion jp .Use -; 382a0 -.Potion: ; 382a0 +.Potion: call .HealItem jp c, .DontUse ld b, 20 call EnemyUsedPotion jp .Use -; 382ae .asm_382ae ; This appears to be unused callfar AICheckEnemyMaxHP @@ -457,58 +443,50 @@ AI_Items: ; 39196 cp 39 percent + 1 jp c, .Use jp .DontUse -; 382f9 -.XAccuracy: ; 382f9 +.XAccuracy: call .XItem jp c, .DontUse call EnemyUsedXAccuracy jp .Use -; 38305 -.GuardSpec: ; 38305 +.GuardSpec: call .XItem jp c, .DontUse call EnemyUsedGuardSpec jp .Use -; 38311 -.DireHit: ; 38311 +.DireHit: call .XItem jp c, .DontUse call EnemyUsedDireHit jp .Use -; 3831d (e:431d) -.XAttack: ; 3831d +.XAttack: call .XItem jp c, .DontUse call EnemyUsedXAttack jp .Use -; 38329 -.XDefend: ; 38329 +.XDefend: call .XItem jp c, .DontUse call EnemyUsedXDefend jp .Use -; 38335 -.XSpeed: ; 38335 +.XSpeed: call .XItem jp c, .DontUse call EnemyUsedXSpeed jp .Use -; 38341 -.XSpecial: ; 38341 +.XSpecial: call .XItem jp c, .DontUse call EnemyUsedXSpecial jp .Use -; 3834d -.XItem: ; 3834d (e:434d) +.XItem: ld a, [wEnemyTurnsTaken] and a jr nz, .notfirstturnout @@ -543,7 +521,7 @@ AI_Items: ; 39196 ret -AIUpdateHUD: ; 38387 +AIUpdateHUD: call UpdateEnemyMonInParty farcall UpdateEnemyHUD ld a, $1 @@ -552,29 +530,27 @@ AIUpdateHUD: ; 38387 dec [hl] scf ret -; 3839a -AIUsedItemSound: ; 3839a +AIUsedItemSound: push de ld de, SFX_FULL_HEAL call PlaySFX pop de ret -; 383a3 -EnemyUsedFullHeal: ; 383a3 (e:43a3) +EnemyUsedFullHeal: call AIUsedItemSound call AI_HealStatus ld a, FULL_HEAL jp PrintText_UsedItemOn_AND_AIUpdateHUD -EnemyUsedMaxPotion: ; 383ae (e:43ae) +EnemyUsedMaxPotion: ld a, MAX_POTION ld [wCurEnemyItem], a jr FullRestoreContinue -EnemyUsedFullRestore: ; 383b5 (e:43b5) +EnemyUsedFullRestore: call AI_HealStatus ld a, FULL_RESTORE ld [wCurEnemyItem], a @@ -583,7 +559,7 @@ EnemyUsedFullRestore: ; 383b5 (e:43b5) xor a ld [wEnemyConfuseCount], a -FullRestoreContinue: ; 383c6 +FullRestoreContinue: ld de, wCurHPAnimOldHP ld hl, wEnemyMonHP + 1 ld a, [hld] @@ -603,23 +579,22 @@ FullRestoreContinue: ; 383c6 ld [wCurHPAnimMaxHP + 1], a ld [wEnemyMonHP], a jr EnemyPotionFinish -; 383e8 (e:43e8) -EnemyUsedPotion: ; 383e8 +EnemyUsedPotion: ld a, POTION ld b, 20 jr EnemyPotionContinue -EnemyUsedSuperPotion: ; 383ee +EnemyUsedSuperPotion: ld a, SUPER_POTION ld b, 50 jr EnemyPotionContinue -EnemyUsedHyperPotion: ; 383f4 (e:43f4) +EnemyUsedHyperPotion: ld a, HYPER_POTION ld b, 200 -EnemyPotionContinue: ; 383f8 +EnemyPotionContinue: ld [wCurEnemyItem], a ld hl, wEnemyMonHP + 1 ld a, [hl] @@ -658,7 +633,7 @@ EnemyPotionContinue: ; 383f8 ld [hl], a ld [wCurHPAnimNewHP + 1], a -EnemyPotionFinish: ; 38436 +EnemyPotionFinish: call PrintText_UsedItemOn hlcoord 2, 2 xor a @@ -668,7 +643,7 @@ EnemyPotionFinish: ; 38436 jp AIUpdateHUD -AI_TrySwitch: ; 3844b +AI_TrySwitch: ; Determine whether the AI can switch based on how many Pokemon are still alive. ; If it can switch, it will. ld a, [wOTPartyCount] @@ -695,9 +670,8 @@ AI_TrySwitch: ; 3844b jp nc, AI_Switch and a ret -; 3846c -AI_Switch: ; 3846c +AI_Switch: ld a, $1 ld [wEnemyIsSwitching], a ld [wEnemyGoesFirst], a @@ -739,21 +713,18 @@ AI_Switch: ; 3846c ret nz scf ret -; 384d0 -TextJump_EnemyWithdrew: ; 384d0 +TextJump_EnemyWithdrew: text_jump Text_EnemyWithdrew db "@" -; 384d5 Function384d5: ; This appears to be unused call AIUsedItemSound call AI_HealStatus ld a, FULL_HEAL_RED ; X_SPEED jp PrintText_UsedItemOn_AND_AIUpdateHUD -; 384e0 -AI_HealStatus: ; 384e0 +AI_HealStatus: ld a, [wCurOTMon] ld hl, wOTPartyMon1Status ld bc, PARTYMON_STRUCT_LENGTH @@ -768,31 +739,27 @@ AI_HealStatus: ; 384e0 ld hl, wEnemySubStatus5 res SUBSTATUS_TOXIC, [hl] ret -; 384f7 -EnemyUsedXAccuracy: ; 384f7 +EnemyUsedXAccuracy: call AIUsedItemSound ld hl, wEnemySubStatus4 set SUBSTATUS_X_ACCURACY, [hl] ld a, X_ACCURACY jp PrintText_UsedItemOn_AND_AIUpdateHUD -; 38504 -EnemyUsedGuardSpec: ; 38504 +EnemyUsedGuardSpec: call AIUsedItemSound ld hl, wEnemySubStatus4 set SUBSTATUS_MIST, [hl] ld a, GUARD_SPEC jp PrintText_UsedItemOn_AND_AIUpdateHUD -; 38511 -EnemyUsedDireHit: ; 38511 +EnemyUsedDireHit: call AIUsedItemSound ld hl, wEnemySubStatus4 set SUBSTATUS_FOCUS_ENERGY, [hl] ld a, DIRE_HIT jp PrintText_UsedItemOn_AND_AIUpdateHUD -; 3851e Function3851e: ; This appears to be unused ld [hDivisor], a @@ -818,27 +785,23 @@ Function3851e: ; This appears to be unused ld a, e sub c ret -; 38541 -EnemyUsedXAttack: ; 38541 +EnemyUsedXAttack: ld b, ATTACK ld a, X_ATTACK jr EnemyUsedXItem -; 38547 -EnemyUsedXDefend: ; 38547 +EnemyUsedXDefend: ld b, DEFENSE ld a, X_DEFEND jr EnemyUsedXItem -; 3854d -EnemyUsedXSpeed: ; 3854d +EnemyUsedXSpeed: ld b, SPEED ld a, X_SPEED jr EnemyUsedXItem -; 38553 -EnemyUsedXSpecial: ; 38553 +EnemyUsedXSpecial: ld b, SP_ATTACK ld a, X_SPECIAL @@ -853,18 +816,16 @@ EnemyUsedXItem: pop bc farcall CheckIfStatCanBeRaised jp AIUpdateHUD -; 38568 ; Parameter ; a = ITEM_CONSTANT -PrintText_UsedItemOn_AND_AIUpdateHUD: ; 38568 +PrintText_UsedItemOn_AND_AIUpdateHUD: ld [wCurEnemyItem], a call PrintText_UsedItemOn jp AIUpdateHUD -; 38571 -PrintText_UsedItemOn: ; 38571 +PrintText_UsedItemOn: ld a, [wCurEnemyItem] ld [wd265], a call GetItemName @@ -874,9 +835,7 @@ PrintText_UsedItemOn: ; 38571 call CopyBytes ld hl, TextJump_EnemyUsedOn jp PrintText -; 3858c -TextJump_EnemyUsedOn: ; 3858c +TextJump_EnemyUsedOn: text_jump Text_EnemyUsedOn db "@" -; 38591 diff --git a/engine/battle/ai/move.asm b/engine/battle/ai/move.asm index dd4357fe2..488ea76ca 100644 --- a/engine/battle/ai/move.asm +++ b/engine/battle/ai/move.asm @@ -1,4 +1,4 @@ -AIChooseMove: ; 440ce +AIChooseMove: ; Score each move in wEnemyMonMoves starting from wBuffer1. Lower is better. ; Pick the move with the lowest score. @@ -198,10 +198,9 @@ AIChooseMove: ; 440ce ld a, c ld [wCurEnemyMoveNum], a ret -; 441af -AIScoringPointers: ; 441af +AIScoringPointers: ; entries correspond to AI_* constants dw AI_Basic dw AI_Setup @@ -219,4 +218,3 @@ AIScoringPointers: ; 441af dw AI_None dw AI_None dw AI_None -; 441cf diff --git a/engine/battle/ai/redundant.asm b/engine/battle/ai/redundant.asm index d09b4da73..d78fccb84 100644 --- a/engine/battle/ai/redundant.asm +++ b/engine/battle/ai/redundant.asm @@ -1,4 +1,4 @@ -AI_Redundant: ; 2c41a +AI_Redundant: ; Check if move effect c will fail because it's already been used. ; Return z if the move is a good choice. ; Return nz if the move is a bad choice. @@ -13,7 +13,7 @@ AI_Redundant: ; 2c41a ld l, a jp hl -.Moves: ; 2c42c +.Moves: dbw EFFECT_DREAM_EATER, .DreamEater dbw EFFECT_HEAL, .Heal dbw EFFECT_LIGHT_SCREEN, .LightScreen @@ -46,22 +46,22 @@ AI_Redundant: ; 2c41a dbw EFFECT_FUTURE_SIGHT, .FutureSight db -1 -.LightScreen: ; 2c487 +.LightScreen: ld a, [wEnemyScreens] bit SCREENS_LIGHT_SCREEN, a ret -.Mist: ; 2c48d +.Mist: ld a, [wEnemySubStatus4] bit SUBSTATUS_MIST, a ret -.FocusEnergy: ; 2c493 +.FocusEnergy: ld a, [wEnemySubStatus4] bit SUBSTATUS_FOCUS_ENERGY, a ret -.Confuse: ; 2c499 +.Confuse: ld a, [wPlayerSubStatus3] bit SUBSTATUS_CONFUSED, a ret nz @@ -69,49 +69,49 @@ AI_Redundant: ; 2c41a bit SCREENS_SAFEGUARD, a ret -.Transform: ; 2c4a5 +.Transform: ld a, [wEnemySubStatus5] bit SUBSTATUS_TRANSFORMED, a ret -.Reflect: ; 2c4ab +.Reflect: ld a, [wEnemyScreens] bit SCREENS_REFLECT, a ret -.Substitute: ; 2c4b1 +.Substitute: ld a, [wEnemySubStatus4] bit SUBSTATUS_SUBSTITUTE, a ret -.LeechSeed: ; 2c4b7 +.LeechSeed: ld a, [wPlayerSubStatus4] bit SUBSTATUS_LEECH_SEED, a ret -.Disable: ; 2c4bd +.Disable: ld a, [wPlayerDisableCount] and a ret -.Encore: ; 2c4c2 +.Encore: ld a, [wPlayerSubStatus5] bit SUBSTATUS_ENCORED, a ret .Snore: -.SleepTalk: ; 2c4c8 +.SleepTalk: ld a, [wEnemyMonStatus] and SLP jr z, .Redundant jr .NotRedundant -.MeanLook: ; 2c4d1 +.MeanLook: ld a, [wEnemySubStatus5] bit SUBSTATUS_CANT_RUN, a ret -.Nightmare: ; 2c4d7 +.Nightmare: ld a, [wBattleMonStatus] and a jr z, .Redundant @@ -119,63 +119,63 @@ AI_Redundant: ; 2c41a bit SUBSTATUS_NIGHTMARE, a ret -.Spikes: ; 2c4e3 +.Spikes: ld a, [wPlayerScreens] bit SCREENS_SPIKES, a ret -.Foresight: ; 2c4e9 +.Foresight: ld a, [wPlayerSubStatus1] bit SUBSTATUS_IDENTIFIED, a ret -.PerishSong: ; 2c4ef +.PerishSong: ld a, [wPlayerSubStatus1] bit SUBSTATUS_PERISH, a ret -.Sandstorm: ; 2c4f5 +.Sandstorm: ld a, [wBattleWeather] cp WEATHER_SANDSTORM jr z, .Redundant jr .NotRedundant -.Attract: ; 2c4fe +.Attract: farcall CheckOppositeGender jr c, .Redundant ld a, [wPlayerSubStatus1] bit SUBSTATUS_IN_LOVE, a ret -.Safeguard: ; 2c50c +.Safeguard: ld a, [wEnemyScreens] bit SCREENS_SAFEGUARD, a ret -.RainDance: ; 2c512 +.RainDance: ld a, [wBattleWeather] cp WEATHER_RAIN jr z, .Redundant jr .NotRedundant -.SunnyDay: ; 2c51b +.SunnyDay: ld a, [wBattleWeather] cp WEATHER_SUN jr z, .Redundant jr .NotRedundant -.DreamEater: ; 2c524 +.DreamEater: ld a, [wBattleMonStatus] and SLP jr z, .Redundant jr .NotRedundant -.Swagger: ; 2c52d +.Swagger: ld a, [wPlayerSubStatus3] bit SUBSTATUS_CONFUSED, a ret -.FutureSight: ; 2c533 +.FutureSight: ld a, [wEnemyScreens] bit 5, a ret @@ -183,16 +183,16 @@ AI_Redundant: ; 2c41a .Heal: .MorningSun: .Synthesis: -.Moonlight: ; 2c539 +.Moonlight: farcall AICheckEnemyMaxHP jr nc, .NotRedundant .Teleport: -.Redundant: ; 2c541 +.Redundant: ld a, 1 and a ret -.NotRedundant: ; 2c545 +.NotRedundant: xor a ret diff --git a/engine/battle/ai/scoring.asm b/engine/battle/ai/scoring.asm index d000fab5f..128e9841b 100644 --- a/engine/battle/ai/scoring.asm +++ b/engine/battle/ai/scoring.asm @@ -1,6 +1,6 @@ AIScoring: ; used only for BANK(AIScoring) -AI_Basic: ; 38591 +AI_Basic: ; Don't do anything redundant: ; -Using status-only moves if the player can't be statused ; -Using moves that fail if they've already been used @@ -61,13 +61,12 @@ AI_Basic: ; 38591 .discourage call AIDiscourageMove jr .checkmove -; 385db INCLUDE "data/battle/ai/status_only_effects.asm" -AI_Setup: ; 385e0 +AI_Setup: ; Use stat-modifying moves on turn 1. ; 50% chance to greatly encourage stat-up moves during the first turn of enemy's Pokemon. @@ -140,11 +139,10 @@ AI_Setup: ; 385e0 inc [hl] inc [hl] jr .checkmove -; 38635 -AI_Types: ; 38635 +AI_Types: ; Dismiss any move that the player is immune to. ; Encourage super-effective moves. ; Discourage not very effective moves unless @@ -232,11 +230,10 @@ AI_Types: ; 38635 .immune call AIDiscourageMove jr .checkmove -; 386a2 -AI_Offensive: ; 386a2 +AI_Offensive: ; Greatly discourage non-damaging moves. ld hl, wBuffer1 - 1 @@ -261,11 +258,10 @@ AI_Offensive: ; 386a2 inc [hl] inc [hl] jr .checkmove -; 386be -AI_Smart: ; 386be +AI_Smart: ; Context-specific scoring. ld hl, wBuffer1 @@ -395,10 +391,9 @@ AI_Smart: ; 386be dbw EFFECT_THUNDER, AI_Smart_Thunder dbw EFFECT_FLY, AI_Smart_Fly db -1 ; end -; 387e3 -AI_Smart_Sleep: ; 387e3 +AI_Smart_Sleep: ; Greatly encourage sleep inducing moves if the enemy has either Dream Eater or Nightmare. ; 50% chance to greatly encourage sleep inducing moves otherwise. @@ -416,10 +411,9 @@ AI_Smart_Sleep: ; 387e3 dec [hl] dec [hl] ret -; 387f7 -AI_Smart_LeechHit: ; 387f7 +AI_Smart_LeechHit: push hl ld a, 1 ld [hBattleTurn], a @@ -452,10 +446,9 @@ AI_Smart_LeechHit: ; 387f7 inc [hl] ret -; 3881d -AI_Smart_LockOn: ; 3881d +AI_Smart_LockOn: ld a, [wPlayerSubStatus5] bit SUBSTATUS_LOCK_ON, a jr nz, .asm_38882 @@ -558,10 +551,9 @@ AI_Smart_LockOn: ; 3881d .asm_388a2 pop hl jp AIDiscourageMove -; 388a6 -AI_Smart_Selfdestruct: ; 388a6 +AI_Smart_Selfdestruct: ; Selfdestruct, Explosion ; Unless this is the enemy's last Pokemon... @@ -596,10 +588,9 @@ AI_Smart_Selfdestruct: ; 388a6 inc [hl] inc [hl] ret -; 388ca -AI_Smart_DreamEater: ; 388ca +AI_Smart_DreamEater: ; 90% chance to greatly encourage this move. ; The AI_Basic layer will make sure that ; Dream Eater is only used against sleeping targets. @@ -610,10 +601,9 @@ AI_Smart_DreamEater: ; 388ca dec [hl] dec [hl] ret -; 388d4 -AI_Smart_EvasionUp: ; 388d4 +AI_Smart_EvasionUp: ; Dismiss this move if enemy's evasion can't raise anymore. ld a, [wEnemyEvaLevel] @@ -723,10 +713,9 @@ AI_Smart_EvasionUp: ; 388d4 dec [hl] ret -; 38947 -AI_Smart_AlwaysHit: ; 38947 +AI_Smart_AlwaysHit: ; 80% chance to greatly encourage this move if either... ; ...enemy's accuracy level has been lowered three or more stages @@ -746,10 +735,9 @@ AI_Smart_AlwaysHit: ; 38947 dec [hl] dec [hl] ret -; 3895b -AI_Smart_MirrorMove: ; 3895b +AI_Smart_MirrorMove: ; If the player did not use any move last turn... ld a, [wLastPlayerCounterMove] @@ -790,10 +778,9 @@ AI_Smart_MirrorMove: ; 3895b dec [hl] ret -; 38985 -AI_Smart_AccuracyDown: ; 38985 +AI_Smart_AccuracyDown: ; If player's HP is full... call AICheckPlayerMaxHP @@ -897,10 +884,9 @@ AI_Smart_AccuracyDown: ; 38985 dec [hl] ret -; 389f5 -AI_Smart_ResetStats: ; 389f5 +AI_Smart_ResetStats: ; 85% chance to encourage this move if any of enemy's stat levels is lower than -2. push hl @@ -940,10 +926,9 @@ AI_Smart_ResetStats: ; 389f5 pop hl inc [hl] ret -; 38a1e -AI_Smart_Bide: ; 38a1e +AI_Smart_Bide: ; 90% chance to discourage this move unless enemy's HP is full. call AICheckEnemyMaxHP @@ -953,10 +938,9 @@ AI_Smart_Bide: ; 38a1e ret c inc [hl] ret -; 38a2a -AI_Smart_ForceSwitch: ; 38a2a +AI_Smart_ForceSwitch: ; Whirlwind, Roar. ; Discourage this move if the player has not shown @@ -971,13 +955,12 @@ AI_Smart_ForceSwitch: ; 38a2a ret c inc [hl] ret -; 38a3a AI_Smart_Heal: AI_Smart_MorningSun: AI_Smart_Synthesis: -AI_Smart_Moonlight: ; 38a3a +AI_Smart_Moonlight: ; 90% chance to greatly encourage this move if enemy's HP is below 25%. ; Discourage this move if enemy's HP is higher than 50%. ; Do nothing otherwise. @@ -996,22 +979,20 @@ AI_Smart_Moonlight: ; 38a3a dec [hl] dec [hl] ret -; 38a4e AI_Smart_Toxic: -AI_Smart_LeechSeed: ; 38a4e +AI_Smart_LeechSeed: ; Discourage this move if player's HP is below 50%. call AICheckPlayerHalfHP ret c inc [hl] ret -; 38a54 AI_Smart_LightScreen: -AI_Smart_Reflect: ; 38a54 +AI_Smart_Reflect: ; Over 90% chance to discourage this move unless enemy's HP is full. call AICheckEnemyMaxHP @@ -1021,10 +1002,9 @@ AI_Smart_Reflect: ; 38a54 ret c inc [hl] ret -; 38a60 -AI_Smart_Ohko: ; 38a60 +AI_Smart_Ohko: ; Dismiss this move if player's level is higher than enemy's level. ; Else, discourage this move is player's HP is below 50%. @@ -1037,10 +1017,9 @@ AI_Smart_Ohko: ; 38a60 ret c inc [hl] ret -; 38a71 -AI_Smart_TrapTarget: ; 38a71 +AI_Smart_TrapTarget: ; Bind, Wrap, Fire Spin, Clamp ; 50% chance to discourage this move if the player is already trapped. @@ -1078,11 +1057,10 @@ AI_Smart_TrapTarget: ; 38a71 dec [hl] dec [hl] ret -; 38a9c AI_Smart_RazorWind: -AI_Smart_Unused2B: ; 38a9c +AI_Smart_Unused2B: ld a, [wEnemySubStatus1] bit SUBSTATUS_PERISH, a jr z, .asm_38aaa @@ -1133,10 +1111,9 @@ AI_Smart_Unused2B: ; 38a9c add 6 ld [hl], a ret -; 38adb -AI_Smart_Confuse: ; 38adb +AI_Smart_Confuse: ; 90% chance to discourage this move if player's HP is between 25% and 50%. call AICheckPlayerHalfHP @@ -1152,10 +1129,9 @@ AI_Smart_Confuse: ; 38adb ret c inc [hl] ret -; 38aed -AI_Smart_SpDefenseUp2: ; 38aed +AI_Smart_SpDefenseUp2: ; Discourage this move if enemy's HP is lower than 50%. call AICheckEnemyHalfHP @@ -1188,10 +1164,9 @@ AI_Smart_SpDefenseUp2: ; 38aed .asm_38b10 inc [hl] ret -; 38b12 -AI_Smart_Fly: ; 38b12 +AI_Smart_Fly: ; Fly, Dig ; Greatly encourage this move if the player is @@ -1208,20 +1183,18 @@ AI_Smart_Fly: ; 38b12 dec [hl] dec [hl] ret -; 38b20 -AI_Smart_SuperFang: ; 38b20 +AI_Smart_SuperFang: ; Discourage this move if player's HP is below 25%. call AICheckPlayerQuarterHP ret c inc [hl] ret -; 38b26 -AI_Smart_Paralyze: ; 38b26 +AI_Smart_Paralyze: ; 50% chance to discourage this move if player's HP is below 25%. call AICheckPlayerQuarterHP @@ -1244,10 +1217,9 @@ AI_Smart_Paralyze: ; 38b26 ret c inc [hl] ret -; 38b40 -AI_Smart_SpeedDownHit: ; 38b40 +AI_Smart_SpeedDownHit: ; Icy Wind ; Almost 90% chance to greatly encourage this move if the following conditions all meet: @@ -1271,19 +1243,17 @@ AI_Smart_SpeedDownHit: ; 38b40 dec [hl] dec [hl] ret -; 38b5c -AI_Smart_Substitute: ; 38b5c +AI_Smart_Substitute: ; Dismiss this move if enemy's HP is below 50%. call AICheckEnemyHalfHP ret c jp AIDiscourageMove -; 38b63 -AI_Smart_HyperBeam: ; 38b63 +AI_Smart_HyperBeam: call AICheckEnemyHalfHP jr c, .asm_38b72 @@ -1305,10 +1275,9 @@ AI_Smart_HyperBeam: ; 38b63 ret c inc [hl] ret -; 38b7f -AI_Smart_Rage: ; 38b7f +AI_Smart_Rage: ld a, [wEnemySubStatus4] bit SUBSTATUS_RAGE, a jr z, .asm_38b9b @@ -1345,10 +1314,9 @@ AI_Smart_Rage: ; 38b7f .asm_38ba6 inc [hl] ret -; 38ba8 -AI_Smart_Mimic: ; 38ba8 +AI_Smart_Mimic: ld a, [wLastPlayerCounterMove] and a jr z, .asm_38be9 @@ -1396,10 +1364,9 @@ AI_Smart_Mimic: ; 38ba8 .asm_38bef inc [hl] ret -; 38bf1 -AI_Smart_Counter: ; 38bf1 +AI_Smart_Counter: push hl ld hl, wPlayerUsedMoves ld c, 4 @@ -1462,10 +1429,9 @@ AI_Smart_Counter: ; 38bf1 .asm_38c39 inc [hl] ret -; 38c3b -AI_Smart_Encore: ; 38c3b +AI_Smart_Encore: call AICompareSpeed jr nc, .asm_38c81 @@ -1519,7 +1485,7 @@ AI_Smart_Encore: ; 38c3b INCLUDE "data/battle/ai/encore_moves.asm" -AI_Smart_PainSplit: ; 38ca4 +AI_Smart_PainSplit: ; Discourage this move if [enemy's current HP * 2 > player's current HP]. push hl @@ -1538,11 +1504,10 @@ AI_Smart_PainSplit: ; 38ca4 ret nc inc [hl] ret -; 38cba AI_Smart_Snore: -AI_Smart_SleepTalk: ; 38cba +AI_Smart_SleepTalk: ; Greatly encourage this move if enemy is fast asleep. ; Greatly discourage this move otherwise. @@ -1561,10 +1526,9 @@ AI_Smart_SleepTalk: ; 38cba inc [hl] inc [hl] ret -; 38ccb -AI_Smart_DefrostOpponent: ; 38ccb +AI_Smart_DefrostOpponent: ; Greatly encourage this move if enemy is frozen. ; No move has EFFECT_DEFROST_OPPONENT, so this layer is unused. @@ -1575,10 +1539,9 @@ AI_Smart_DefrostOpponent: ; 38ccb dec [hl] dec [hl] ret -; 38cd5 -AI_Smart_Spite: ; 38cd5 +AI_Smart_Spite: ld a, [wLastPlayerCounterMove] and a jr nz, .asm_38ce7 @@ -1633,27 +1596,24 @@ AI_Smart_Spite: ; 38cd5 dec [hl] dec [hl] ret -; 38d16 -Function_0x38d16; 38d16 +Function_0x38d16 jp AIDiscourageMove -; 38d19 AI_Smart_DestinyBond: AI_Smart_Reversal: -AI_Smart_SkullBash: ; 38d19 +AI_Smart_SkullBash: ; Discourage this move if enemy's HP is above 25%. call AICheckEnemyQuarterHP ret nc inc [hl] ret -; 38d1f -AI_Smart_HealBell: ; 38d1f +AI_Smart_HealBell: ; Dismiss this move if none of the opponent's Pokemon is statused. ; Encourage this move if the enemy is statused. ; 50% chance to greatly encourage this move if the enemy is fast asleep or frozen. @@ -1709,10 +1669,9 @@ AI_Smart_HealBell: ; 38d1f ret nz jp AIDiscourageMove -; 38d5a -AI_Smart_PriorityHit: ; 38d5a +AI_Smart_PriorityHit: call AICompareSpeed ret c @@ -1742,20 +1701,18 @@ AI_Smart_PriorityHit: ; 38d5a dec [hl] dec [hl] ret -; 38d93 -AI_Smart_Thief: ; 38d93 +AI_Smart_Thief: ; Don't use Thief unless it's the only move available. ld a, [hl] add $1e ld [hl], a ret -; 38d98 -AI_Smart_Conversion2: ; 38d98 +AI_Smart_Conversion2: ld a, [wLastPlayerMove] and a jr nz, .asm_38dc9 @@ -1793,10 +1750,9 @@ AI_Smart_Conversion2: ; 38d98 ret c inc [hl] ret -; 38dd1 -AI_Smart_Disable: ; 38dd1 +AI_Smart_Disable: call AICompareSpeed jr nc, .asm_38df3 @@ -1826,10 +1782,9 @@ AI_Smart_Disable: ; 38dd1 ret c inc [hl] ret -; 38dfb -AI_Smart_MeanLook: ; 38dfb +AI_Smart_MeanLook: call AICheckEnemyHalfHP jr nc, .asm_38e24 @@ -1869,10 +1824,9 @@ AI_Smart_MeanLook: ; 38dfb dec [hl] dec [hl] ret -; 38e2e -AICheckLastPlayerMon: ; 38e2e +AICheckLastPlayerMon: ld a, [wPartyCount] ld b, a ld c, 0 @@ -1896,10 +1850,9 @@ AICheckLastPlayerMon: ; 38e2e jr nz, .loop ret -; 38e4a -AI_Smart_Nightmare: ; 38e4a +AI_Smart_Nightmare: ; 50% chance to encourage this move. ; The AI_Basic layer will make sure that ; Dream Eater is only used against sleeping targets. @@ -1908,10 +1861,9 @@ AI_Smart_Nightmare: ; 38e4a ret c dec [hl] ret -; 38e50 -AI_Smart_FlameWheel: ; 38e50 +AI_Smart_FlameWheel: ; Use this move if the enemy is frozen. ld a, [wEnemyMonStatus] @@ -1921,10 +1873,9 @@ rept 5 dec [hl] endr ret -; 38e5c -AI_Smart_Curse: ; 38e5c +AI_Smart_Curse: ld a, [wEnemyMonType1] cp GHOST jr z, .ghostcurse @@ -2010,10 +1961,9 @@ AI_Smart_Curse: ; 38e5c dec [hl] dec [hl] ret -; 38ed2 -AI_Smart_Protect: ; 38ed2 +AI_Smart_Protect: ld a, [wEnemyProtectCount] and a jr nz, .asm_38f13 @@ -2063,10 +2013,9 @@ AI_Smart_Protect: ; 38ed2 inc [hl] inc [hl] ret -; 38f1d -AI_Smart_Foresight: ; 38f1d +AI_Smart_Foresight: ld a, [wEnemyAccLevel] cp $5 jr c, .asm_38f41 @@ -2094,10 +2043,9 @@ AI_Smart_Foresight: ; 38f1d dec [hl] dec [hl] ret -; 38f4a -AI_Smart_PerishSong: ; 38f4a +AI_Smart_PerishSong: push hl callfar FindAliveEnemyMons pop hl @@ -2132,10 +2080,9 @@ AI_Smart_PerishSong: ; 38f4a add 5 ld [hl], a ret -; 38f7a -AI_Smart_Sandstorm: ; 38f7a +AI_Smart_Sandstorm: ; Greatly discourage this move if the player is immune to Sandstorm damage. ld a, [wBattleMonType1] @@ -2177,10 +2124,9 @@ AI_Smart_Sandstorm: ; 38f7a db GROUND db STEEL db -1 ; end -; 38fac -AI_Smart_Endure: ; 38fac +AI_Smart_Endure: ld a, [wEnemyProtectCount] and a jr nz, .asm_38fd8 @@ -2221,10 +2167,9 @@ AI_Smart_Endure: ; 38fac .asm_38fd9 inc [hl] ret -; 38fdb -AI_Smart_FuryCutter: ; 38fdb +AI_Smart_FuryCutter: ; Encourage this move based on Fury Cutter's count. ld a, [wEnemyFuryCutterCount] @@ -2246,10 +2191,9 @@ AI_Smart_FuryCutter: ; 38fdb .end ; fallthrough -; 38fef -AI_Smart_Rollout: ; 38fef +AI_Smart_Rollout: ; Rollout, Fury Cutter ; 80% chance to discourage this move if the enemy is in love, confused, or paralyzed. @@ -2290,11 +2234,10 @@ AI_Smart_Rollout: ; 38fef ret c inc [hl] ret -; 39026 AI_Smart_Swagger: -AI_Smart_Attract: ; 39026 +AI_Smart_Attract: ; 80% chance to encourage this move during the first turn of player's Pokemon. ; 80% chance to discourage this move otherwise. @@ -2313,10 +2256,9 @@ AI_Smart_Attract: ; 39026 ret nc dec [hl] ret -; 3903a -AI_Smart_Safeguard: ; 3903a +AI_Smart_Safeguard: ; 80% chance to discourage this move if player's HP is below 50%. call AICheckPlayerHalfHP @@ -2325,11 +2267,10 @@ AI_Smart_Safeguard: ; 3903a ret c inc [hl] ret -; 39044 AI_Smart_Magnitude: -AI_Smart_Earthquake: ; 39044 +AI_Smart_Earthquake: ; Greatly encourage this move if the player is underground and the enemy is faster. ld a, [wLastPlayerCounterMove] @@ -2358,10 +2299,9 @@ AI_Smart_Earthquake: ; 39044 dec [hl] ret -; 39062 -AI_Smart_BatonPass: ; 39062 +AI_Smart_BatonPass: ; Discourage this move if the player hasn't shown super-effective moves against the enemy. ; Consider player's type(s) if its moves are unknown. @@ -2373,10 +2313,9 @@ AI_Smart_BatonPass: ; 39062 ret c inc [hl] ret -; 39072 -AI_Smart_Pursuit: ; 39072 +AI_Smart_Pursuit: ; 50% chance to greatly encourage this move if player's HP is below 25%. ; 80% chance to discourage this move otherwise. @@ -2393,10 +2332,9 @@ AI_Smart_Pursuit: ; 39072 dec [hl] dec [hl] ret -; 39084 -AI_Smart_RapidSpin: ; 39084 +AI_Smart_RapidSpin: ; 80% chance to greatly encourage this move if the enemy is ; trapped (Bind effect), seeded, or scattered with spikes. @@ -2419,10 +2357,9 @@ AI_Smart_RapidSpin: ; 39084 dec [hl] dec [hl] ret -; 3909e -AI_Smart_HiddenPower: ; 3909e +AI_Smart_HiddenPower: push hl ld a, 1 ld [hBattleTurn], a @@ -2459,10 +2396,9 @@ AI_Smart_HiddenPower: ; 3909e .bad inc [hl] ret -; 390cb -AI_Smart_RainDance: ; 390cb +AI_Smart_RainDance: ; Greatly discourage this move if it would favour the player type-wise. ; Particularly, if the player is a Water-type. @@ -2481,12 +2417,11 @@ AI_Smart_RainDance: ; 390cb push hl ld hl, RainDanceMoves jr AI_Smart_WeatherMove -; 390e7 INCLUDE "data/battle/ai/rain_dance_moves.asm" -AI_Smart_SunnyDay: ; 390f3 +AI_Smart_SunnyDay: ; Greatly discourage this move if it would favour the player type-wise. ; Particularly, if the player is a Fire-type. @@ -2506,10 +2441,9 @@ AI_Smart_SunnyDay: ; 390f3 ld hl, SunnyDayMoves ; fallthrough -; 3910d -AI_Smart_WeatherMove: ; 3910d +AI_Smart_WeatherMove: ; Rain Dance, Sunny Day ; Greatly discourage this move if the enemy doesn't have @@ -2528,16 +2462,14 @@ AI_Smart_WeatherMove: ; 3910d dec [hl] ret -; 3911e -AIBadWeatherType: ; 3911e +AIBadWeatherType: inc [hl] inc [hl] inc [hl] ret -; 39122 -AIGoodWeatherType: ; 39122 +AIGoodWeatherType: ; Rain Dance, Sunny Day ; Greatly encourage this move if it would disfavour the player type-wise and player's HP is above 50%... @@ -2559,13 +2491,12 @@ AIGoodWeatherType: ; 39122 dec [hl] dec [hl] ret -; 39134 INCLUDE "data/battle/ai/sunny_day_moves.asm" -AI_Smart_BellyDrum: ; 3913d +AI_Smart_BellyDrum: ; Dismiss this move if enemy's attack is higher than +2 or if enemy's HP is below 50%. ; Else, discourage this move if enemy's HP is not full. @@ -2586,10 +2517,9 @@ AI_Smart_BellyDrum: ; 3913d add $5 ld [hl], a ret -; 39152 -AI_Smart_PsychUp: ; 39152 +AI_Smart_PsychUp: push hl ld hl, wEnemyAtkLevel ld b, $8 @@ -2645,10 +2575,9 @@ AI_Smart_PsychUp: ; 39152 inc [hl] inc [hl] ret -; 3918b -AI_Smart_MirrorCoat: ; 3918b +AI_Smart_MirrorCoat: push hl ld hl, wPlayerUsedMoves ld c, $4 @@ -2710,11 +2639,10 @@ AI_Smart_MirrorCoat: ; 3918b .asm_391d3 inc [hl] ret -; 391d5 AI_Smart_Twister: -AI_Smart_Gust: ; 391d5 +AI_Smart_Gust: ; Greatly encourage this move if the player is flying and the enemy is faster. ld a, [wLastPlayerCounterMove] @@ -2742,10 +2670,9 @@ AI_Smart_Gust: ; 391d5 ret c dec [hl] ret -; 391f3 -AI_Smart_FutureSight: ; 391f3 +AI_Smart_FutureSight: ; Greatly encourage this move if the player is ; flying or underground, and slower than the enemy. @@ -2759,10 +2686,9 @@ AI_Smart_FutureSight: ; 391f3 dec [hl] dec [hl] ret -; 39200 -AI_Smart_Stomp: ; 39200 +AI_Smart_Stomp: ; 80% chance to encourage this move if the player has used Minimize. ld a, [wPlayerMinimized] @@ -2774,10 +2700,9 @@ AI_Smart_Stomp: ; 39200 dec [hl] ret -; 3920b -AI_Smart_Solarbeam: ; 3920b +AI_Smart_Solarbeam: ; 80% chance to encourage this move when it's sunny. ; 90% chance to discourage this move when it's raining. @@ -2803,10 +2728,9 @@ AI_Smart_Solarbeam: ; 3920b dec [hl] dec [hl] ret -; 39225 -AI_Smart_Thunder: ; 39225 +AI_Smart_Thunder: ; 90% chance to discourage this move when it's sunny. ld a, [wBattleWeather] @@ -2819,10 +2743,9 @@ AI_Smart_Thunder: ; 39225 inc [hl] ret -; 39233 -AICompareSpeed: ; 39233 +AICompareSpeed: ; Return carry if enemy is faster than player. push bc @@ -2836,30 +2759,27 @@ AICompareSpeed: ; 39233 sbc b pop bc ret -; 39246 -AICheckPlayerMaxHP: ; 39246 +AICheckPlayerMaxHP: push hl push de push bc ld de, wBattleMonHP ld hl, wBattleMonMaxHP jr AICheckMaxHP -; 39251 -AICheckEnemyMaxHP: ; 39251 +AICheckEnemyMaxHP: push hl push de push bc ld de, wEnemyMonHP ld hl, wEnemyMonMaxHP ; fallthrough -; 3925a -AICheckMaxHP: ; 3925a +AICheckMaxHP: ; Return carry if hp at de matches max hp at hl. ld a, [de] @@ -2884,10 +2804,9 @@ AICheckMaxHP: ; 3925a pop hl and a ret -; 3926e -AICheckPlayerHalfHP: ; 3926e +AICheckPlayerHalfHP: push hl ld hl, wBattleMonHP ld b, [hl] @@ -2903,10 +2822,9 @@ AICheckPlayerHalfHP: ; 3926e sbc b pop hl ret -; 39281 -AICheckEnemyHalfHP: ; 39281 +AICheckEnemyHalfHP: push hl push de push bc @@ -2926,10 +2844,9 @@ AICheckEnemyHalfHP: ; 39281 pop de pop hl ret -; 39298 -AICheckEnemyQuarterHP: ; 39298 +AICheckEnemyQuarterHP: push hl push de push bc @@ -2951,10 +2868,9 @@ AICheckEnemyQuarterHP: ; 39298 pop de pop hl ret -; 392b3 -AICheckPlayerQuarterHP: ; 392b3 +AICheckPlayerQuarterHP: push hl ld hl, wBattleMonHP ld b, [hl] @@ -2972,10 +2888,9 @@ AICheckPlayerQuarterHP: ; 392b3 sbc b pop hl ret -; 392ca -AIHasMoveEffect: ; 392ca +AIHasMoveEffect: ; Return carry if the enemy has move b. push hl @@ -3005,10 +2920,9 @@ AIHasMoveEffect: ; 392ca pop hl scf ret -; 392e6 -AIHasMoveInArray: ; 392e6 +AIHasMoveInArray: ; Return carry if the enemy has a move in array hl. push hl @@ -3040,13 +2954,12 @@ AIHasMoveInArray: ; 392e6 pop de pop hl ret -; 39301 INCLUDE "data/battle/ai/useful_moves.asm" -AI_Opportunist: ; 39315 +AI_Opportunist: ; Discourage stall moves when the enemy's HP is low. ; Do nothing if enemy's HP is above 50%. @@ -3097,7 +3010,7 @@ INCLUDE "data/battle/ai/stall_moves.asm" -AI_Aggressive: ; 39369 +AI_Aggressive: ; Use whatever does the most damage. ; Discourage all damaging moves but the one that does the most damage. @@ -3205,7 +3118,7 @@ AI_Aggressive: ; 39369 INCLUDE "data/battle/ai/reckless_moves.asm" -AIDamageCalc: ; 393e7 +AIDamageCalc: ld a, 1 ld [hBattleTurn], a ld a, [wEnemyMoveStruct + MOVE_EFFECT] @@ -3225,7 +3138,7 @@ AIDamageCalc: ; 393e7 INCLUDE "data/battle/ai/constant_damage_effects.asm" -AI_Cautious: ; 39418 +AI_Cautious: ; 90% chance to discourage moves with residual effects after the first turn. ld a, [wEnemyTurnsTaken] @@ -3268,7 +3181,7 @@ INCLUDE "data/battle/ai/residual_moves.asm" -AI_Status: ; 39453 +AI_Status: ; Dismiss status moves that don't affect the player. ld hl, wBuffer1 - 1 @@ -3328,11 +3241,10 @@ AI_Status: ; 39453 .immune call AIDiscourageMove jr .checkmove -; 394a9 -AI_Risky: ; 394a9 +AI_Risky: ; Use any move that will KO the target. ; Risky moves will often be an exception (see below). @@ -3402,20 +3314,18 @@ INCLUDE "data/battle/ai/risky_effects.asm" -AI_None: ; 39502 +AI_None: ret -; 39503 -AIDiscourageMove: ; 39503 +AIDiscourageMove: ld a, [hl] add 10 ld [hl], a ret -; 39508 -AIGetEnemyMove: ; 39508 +AIGetEnemyMove: ; Load attributes of move a into ram push hl @@ -3434,18 +3344,15 @@ AIGetEnemyMove: ; 39508 pop de pop hl ret -; 39521 -AI_80_20: ; 39521 +AI_80_20: call Random cp 20 percent - 1 ret -; 39527 -AI_50_50: ; 39527 +AI_50_50: call Random cp 50 percent + 1 ret -; 3952d diff --git a/engine/battle/ai/switch.asm b/engine/battle/ai/switch.asm index d397c8d32..b975776c2 100644 --- a/engine/battle/ai/switch.asm +++ b/engine/battle/ai/switch.asm @@ -1,4 +1,4 @@ -CheckPlayerMoveTypeMatchups: ; 3484e +CheckPlayerMoveTypeMatchups: ; Check how well the moves you've already used ; fare against the enemy's Pokemon. Used to ; score a potential switch. @@ -95,10 +95,9 @@ CheckPlayerMoveTypeMatchups: ; 3484e pop de pop hl ret -; 348de -.CheckEnemyMoveMatchups: ; 348de +.CheckEnemyMoveMatchups: ld de, wEnemyMonMoves ld b, NUM_MOVES + 1 ld c, 0 @@ -163,21 +162,19 @@ CheckPlayerMoveTypeMatchups: ; 3484e .doubledown call .DecreaseScore -.DecreaseScore: ; 34931 +.DecreaseScore: ld a, [wEnemyAISwitchScore] dec a ld [wEnemyAISwitchScore], a ret -; 34939 -.IncreaseScore: ; 34939 +.IncreaseScore: ld a, [wEnemyAISwitchScore] inc a ld [wEnemyAISwitchScore], a ret -; 34941 -CheckAbleToSwitch: ; 34941 +CheckAbleToSwitch: xor a ld [wEnemySwitchMonParam], a call FindAliveEnemyMons @@ -292,10 +289,9 @@ CheckAbleToSwitch: ; 34941 add $10 ld [wEnemySwitchMonParam], a ret -; 349f4 -FindAliveEnemyMons: ; 349f4 +FindAliveEnemyMons: ld a, [wOTPartyCount] cp 2 jr c, .only_one @@ -344,10 +340,9 @@ FindAliveEnemyMons: ; 349f4 .more_than_one and a ret -; 34a2a -FindEnemyMonsImmuneToLastCounterMove: ; 34a2a +FindEnemyMonsImmuneToLastCounterMove: ld hl, wOTPartyMon1 ld a, [wOTPartyCount] ld b, a @@ -412,10 +407,9 @@ FindEnemyMonsImmuneToLastCounterMove: ; 34a2a inc d srl c jr .loop -; 34a85 -FindAliveEnemyMonsWithASuperEffectiveMove: ; 34a85 +FindAliveEnemyMonsWithASuperEffectiveMove: push bc ld a, [wOTPartyCount] ld e, a @@ -445,7 +439,7 @@ FindAliveEnemyMonsWithASuperEffectiveMove: ; 34a85 and c ld c, a -FindEnemyMonsWithASuperEffectiveMove: ; 34aa7 +FindEnemyMonsWithASuperEffectiveMove: ld a, -1 ld [wEnemyAISwitchScore], a @@ -551,10 +545,9 @@ FindEnemyMonsWithASuperEffectiveMove: ; 34aa7 ld [wEnemyAISwitchScore], a pop bc ret -; 34b20 -FindEnemyMonsThatResistPlayer: ; 34b20 +FindEnemyMonsThatResistPlayer: push bc ld hl, wOTPartySpecies ld b, 1 << (PARTY_LENGTH - 1) @@ -613,10 +606,9 @@ FindEnemyMonsThatResistPlayer: ; 34b20 and c ld c, a ret -; 34b77 -FindEnemyMonsWithAtLeastQuarterMaxHP: ; 34b77 +FindEnemyMonsWithAtLeastQuarterMaxHP: push bc ld de, wOTPartySpecies ld b, 1 << (PARTY_LENGTH - 1) @@ -669,4 +661,3 @@ FindEnemyMonsWithAtLeastQuarterMaxHP: ; 34b77 and c ld c, a ret -; 34bb1 diff --git a/engine/battle/anim_hp_bar.asm b/engine/battle/anim_hp_bar.asm index 5c453d0ff..fd9c783ce 100644 --- a/engine/battle/anim_hp_bar.asm +++ b/engine/battle/anim_hp_bar.asm @@ -1,4 +1,4 @@ -_AnimateHPBar: ; d627 +_AnimateHPBar: call .IsMaximumMoreThan48Pixels jr c, .MoreThan48Pixels call .ComputePixels @@ -38,9 +38,8 @@ _AnimateHPBar: ; d627 pop af jr nc, .LongAnimLoop ret -; d65f -.IsMaximumMoreThan48Pixels: ; d65f +.IsMaximumMoreThan48Pixels: ld a, [wCurHPAnimMaxHP + 1] and a jr nz, .player @@ -53,9 +52,8 @@ _AnimateHPBar: ; d627 .player scf ret -; d670 -.ComputePixels: ; d670 +.ComputePixels: push hl ld hl, wCurHPAnimMaxHP ld a, [hli] @@ -127,9 +125,8 @@ _AnimateHPBar: ; d627 ld a, e ld [wCurHPAnimDeltaHP + 1], a ret -; d6e2 -ShortAnim_UpdateVariables: ; d6e2 +ShortAnim_UpdateVariables: ld hl, wCurHPBarPixels ld a, [wNewHPBarPixels] cp [hl] @@ -144,9 +141,8 @@ ShortAnim_UpdateVariables: ; d6e2 call ShortHPBar_CalcPixelFrame and a ret -; d6f5 -LongAnim_UpdateVariables: ; d6f5 +LongAnim_UpdateVariables: .loop ld hl, wCurHPAnimOldHP ld a, [hli] @@ -199,9 +195,8 @@ LongAnim_UpdateVariables: ; d6f5 ld [hl], a and a ret -; d730 -ShortHPBarAnim_UpdateTiles: ; d730 +ShortHPBarAnim_UpdateTiles: call HPBarAnim_UpdateHPRemaining ld d, HP_BAR_LENGTH ld a, [wWhichHPBar] @@ -215,9 +210,8 @@ ShortHPBarAnim_UpdateTiles: ; d730 pop de call HPBarAnim_PaletteUpdate ret -; d749 -LongHPBarAnim_UpdateTiles: ; d749 +LongHPBarAnim_UpdateTiles: call HPBarAnim_UpdateHPRemaining ld a, [wCurHPAnimOldHP] ld c, a @@ -238,9 +232,8 @@ LongHPBarAnim_UpdateTiles: ; d749 pop de call HPBarAnim_PaletteUpdate ret -; d771 -HPBarAnim_RedrawHPBar: ; d771 +HPBarAnim_RedrawHPBar: ld a, [wWhichHPBar] cp $2 jr nz, .skip @@ -253,9 +246,8 @@ HPBarAnim_RedrawHPBar: ; d771 .skip call DrawBattleHPBar ret -; d784 -HPBarAnim_UpdateHPRemaining: ; d784 +HPBarAnim_UpdateHPRemaining: ld a, [wWhichHPBar] and a ret z @@ -283,9 +275,8 @@ HPBarAnim_UpdateHPRemaining: ; d784 call PrintNum pop hl ret -; d7b4 -HPBarAnim_PaletteUpdate: ; d7b4 +HPBarAnim_PaletteUpdate: ld a, [hCGB] and a ret z @@ -295,9 +286,8 @@ HPBarAnim_PaletteUpdate: ; d7b4 ld c, a farcall ApplyHPBarPals ret -; d7c9 -HPBarAnim_BGMapUpdate: ; d7c9 +HPBarAnim_BGMapUpdate: ld a, [hCGB] and a jr nz, .cgb @@ -369,9 +359,8 @@ HPBarAnim_BGMapUpdate: ; d7c9 ld [hBGMapThird], a call DelayFrame ret -; d839 -ShortHPBar_CalcPixelFrame: ; d839 +ShortHPBar_CalcPixelFrame: ld a, [wCurHPAnimMaxHP] ld c, a ld b, 0 @@ -433,4 +422,3 @@ ShortHPBar_CalcPixelFrame: ; d839 ld a, [wCurHPAnimMaxHP] ld [wCurHPAnimOldHP], a ret -; d88c diff --git a/engine/battle/battle_transition.asm b/engine/battle/battle_transition.asm index 42dd440ea..3a9749b03 100644 --- a/engine/battle/battle_transition.asm +++ b/engine/battle/battle_transition.asm @@ -6,7 +6,7 @@ BATTLETRANSITION_NO_CAVE_STRONGER EQU $18 BATTLETRANSITION_FINISH EQU $20 BATTLETRANSITION_END EQU $80 -DoBattleTransition: ; 8c20f +DoBattleTransition: call .InitGFX ld a, [rBGP] ld [wBGP], a @@ -58,9 +58,8 @@ DoBattleTransition: ; 8c20f ld [hVBlank], a call DelayFrame ret -; 8c26d -.InitGFX: ; 8c26d +.InitGFX: ld a, [wLinkMode] cp LINK_MOBILE jr z, .mobile @@ -87,14 +86,12 @@ DoBattleTransition: ; 8c20f ld [hl], a call WipeLYOverrides ret -; 8c2a0 -.NonMobile_LoadPokeballTiles: ; 8c2a0 +.NonMobile_LoadPokeballTiles: call LoadTrainerBattlePokeballTiles hlbgcoord 0, 0 call ConvertTrainerBattlePokeballTilesTo2bpp ret -; 8c2aa LoadTrainerBattlePokeballTiles: ; Load the tiles used in the Pokeball Graphic that fills the screen @@ -119,9 +116,8 @@ LoadTrainerBattlePokeballTiles: pop af ld [rVBK], a ret -; 8c2cf -ConvertTrainerBattlePokeballTilesTo2bpp: ; 8c2cf +ConvertTrainerBattlePokeballTilesTo2bpp: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) @@ -146,17 +142,15 @@ ConvertTrainerBattlePokeballTilesTo2bpp: ; 8c2cf pop af ld [rSVBK], a ret -; 8c2f4 -TrainerBattlePokeballTiles: ; 8c2f4 +TrainerBattlePokeballTiles: INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp" -BattleTransitionJumptable: ; 8c314 +BattleTransitionJumptable: jumptable .Jumptable, wJumptableIndex -; 8c323 -.Jumptable ; 8c323 (23:4323) +.Jumptable dw StartTrainerBattle_DetermineWhichAnimation ; 00 ; BATTLETRANSITION_CAVE @@ -213,7 +207,7 @@ BattleTransitionJumptable: ; 8c314 TRANS_STRONGER_F EQU 0 ; bit set in TRANS_CAVE_STRONGER and TRANS_NO_CAVE_STRONGER TRANS_NO_CAVE_F EQU 1 ; bit set in TRANS_NO_CAVE and TRANS_NO_CAVE_STRONGER -StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) +StartTrainerBattle_DetermineWhichAnimation: ; The screen flashes a different number of times depending on the level of ; your lead Pokemon relative to the opponent's. ; BUG: wBattleMonLevel and wEnemyMonLevel are not set at this point, so whatever @@ -240,41 +234,39 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) ld a, [hl] ld [wJumptableIndex], a ret -; 8c38f (23:438f) -.StartingPoints: ; 8c38f +.StartingPoints: ; entries correspond to TRANS_* constants db BATTLETRANSITION_CAVE db BATTLETRANSITION_CAVE_STRONGER db BATTLETRANSITION_NO_CAVE db BATTLETRANSITION_NO_CAVE_STRONGER -; 8c393 -StartTrainerBattle_Finish: ; 8c393 (23:4393) +StartTrainerBattle_Finish: call ClearSprites ld a, BATTLETRANSITION_END ld [wJumptableIndex], a ret -StartTrainerBattle_NextScene: ; 8c39c (23:439c) +StartTrainerBattle_NextScene: ld hl, wJumptableIndex inc [hl] ret -StartTrainerBattle_SetUpBGMap: ; 8c3a1 (23:43a1) +StartTrainerBattle_SetUpBGMap: call StartTrainerBattle_NextScene xor a ld [wcf64], a ld [hBGMapMode], a ret -StartTrainerBattle_Flash: ; 8c3ab (23:43ab) +StartTrainerBattle_Flash: call .DoFlashAnimation ret nc call StartTrainerBattle_NextScene ret -.DoFlashAnimation: ; 8c3b3 (23:43b3) +.DoFlashAnimation: ld a, [wTimeOfDayPalset] cp %11111111 ; dark cave jr z, .done @@ -299,9 +291,8 @@ StartTrainerBattle_Flash: ; 8c3ab (23:43ab) ld [wcf64], a scf ret -; 8c3db (23:43db) -.pals ; 8c3db +.pals db %11111001 ; 3321 db %11111110 ; 3332 db %11111111 ; 3333 @@ -315,9 +306,8 @@ StartTrainerBattle_Flash: ; 8c3ab (23:43ab) db %10010000 ; 2100 db %11100100 ; 3210 db %00000001 ; 0001 -; 8c3e8 -StartTrainerBattle_SetUpForWavyOutro: ; 8c3e8 (23:43e8) +StartTrainerBattle_SetUpForWavyOutro: farcall Function5602 ld a, BANK(wLYOverrides) ld [rSVBK], a @@ -335,7 +325,7 @@ StartTrainerBattle_SetUpForWavyOutro: ; 8c3e8 (23:43e8) ld [wcf65], a ret -StartTrainerBattle_SineWave: ; 8c408 (23:4408) +StartTrainerBattle_SineWave: ld a, [wcf64] cp $60 jr nc, .end @@ -347,7 +337,7 @@ StartTrainerBattle_SineWave: ; 8c408 (23:4408) ld [wJumptableIndex], a ret -.DoSineWave: ; 8c419 (23:4419) +.DoSineWave: ld hl, wcf65 ld a, [hl] inc [hl] @@ -375,7 +365,7 @@ StartTrainerBattle_SineWave: ; 8c408 (23:4408) jr nz, .loop ret -StartTrainerBattle_SetUpForSpinOutro: ; 8c43d (23:443d) +StartTrainerBattle_SetUpForSpinOutro: farcall Function5602 ld a, BANK(wLYOverrides) ld [rSVBK], a @@ -384,7 +374,7 @@ StartTrainerBattle_SetUpForSpinOutro: ; 8c43d (23:443d) ld [wcf64], a ret -StartTrainerBattle_SpinToBlack: ; 8c44f (23:444f) +StartTrainerBattle_SpinToBlack: xor a ld [hBGMapMode], a ld a, [wcf64] @@ -418,7 +408,6 @@ endr ld a, BATTLETRANSITION_FINISH ld [wJumptableIndex], a ret -; 8c490 (23:4490) ; quadrants const_def @@ -431,7 +420,7 @@ endr RIGHT_QUADRANT_F EQU 0 ; bit set in UPPER_RIGHT and LOWER_RIGHT LOWER_QUADRANT_F EQU 1 ; bit set in LOWER_LEFT and LOWER_RIGHT -.spintable ; 8c490 +.spintable spintable_entry: MACRO db \1 dw .wedge\2 @@ -458,9 +447,8 @@ ENDM spintable_entry LOWER_LEFT, 2, 0, 14 spintable_entry LOWER_LEFT, 1, 1, 11 db -1 -; 8c4f5 -.load ; 8c4f5 (23:44f5) +.load ld a, [hli] ld e, a ld a, [hli] @@ -512,16 +500,14 @@ ENDM dec c jr nz, .loop2 jr .loop -; 8c538 (23:4538) .wedge1 db 2, 3, 5, 4, 9, -1 .wedge2 db 1, 1, 2, 2, 4, 2, 4, 2, 3, -1 .wedge3 db 2, 1, 3, 1, 4, 1, 4, 1, 4, 1, 3, 1, 2, 1, 1, 1, 1, -1 .wedge4 db 4, 1, 4, 0, 3, 1, 3, 0, 2, 1, 2, 0, 1, -1 .wedge5 db 4, 0, 3, 0, 3, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, -1 -; 8c578 -StartTrainerBattle_SetUpForRandomScatterOutro: ; 8c578 (23:4578) +StartTrainerBattle_SetUpForRandomScatterOutro: farcall Function5602 ld a, BANK(wLYOverrides) ld [rSVBK], a @@ -532,7 +518,7 @@ StartTrainerBattle_SetUpForRandomScatterOutro: ; 8c578 (23:4578) ld [hBGMapMode], a ret -StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f) +StartTrainerBattle_SpeckleToBlack: ld hl, wcf64 ld a, [hl] and a @@ -559,7 +545,7 @@ StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f) ld [wJumptableIndex], a ret -.BlackOutRandomTile: ; 8c5b8 (23:45b8) +.BlackOutRandomTile: .y_loop call Random cp SCREEN_HEIGHT @@ -590,7 +576,7 @@ StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f) ld [hl], $ff ret -StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) +StartTrainerBattle_LoadPokeBallGraphics: ld a, [wOtherTrainerClass] and a jp z, .nextscene ; don't need to be here if wild @@ -690,11 +676,11 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) call DelayFrame call BattleStart_CopyTilemapAtOnce -.nextscene ; 8c673 (23:4673) +.nextscene call StartTrainerBattle_NextScene ret -.copypals ; 8c677 (23:4677) +.copypals ld de, wBGPals1 palette PAL_BG_TEXT call .copy ld de, wBGPals2 palette PAL_BG_TEXT @@ -707,21 +693,18 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) call .copy ld de, wOBPals2 palette PAL_OW_ROCK -.copy ; 8c698 (23:4698) +.copy push hl ld bc, 1 palettes call CopyBytes pop hl ret -; 8c6a1 (23:46a1) -.daypals ; 8c6a1 +.daypals INCLUDE "gfx/overworld/trainer_battle_day.pal" -; 8c6a9 -.nightpals ; 8c6a9 +.nightpals INCLUDE "gfx/overworld/trainer_battle_nite.pal" -; 8c6b1 .loadpokeballgfx ld a, [wOtherTrainerClass] @@ -746,7 +729,7 @@ PokeBallTransition: db %00001111, %11110000 db %00000011, %11000000 -WipeLYOverrides: ; 8c6d8 +WipeLYOverrides: ld a, [rSVBK] push af ld a, BANK(wLYOverrides) @@ -760,9 +743,8 @@ WipeLYOverrides: ; 8c6d8 pop af ld [rSVBK], a ret -; 8c6ef -.wipe ; 8c6ef +.wipe xor a ld c, SCREEN_HEIGHT_PX .loop @@ -770,14 +752,12 @@ WipeLYOverrides: ; 8c6d8 dec c jr nz, .loop ret -; 8c6f7 -StartTrainerBattle_DrawSineWave: ; 8c6f7 (23:46f7) +StartTrainerBattle_DrawSineWave: calc_sine_wave -; 8c768 -StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768) +StartTrainerBattle_ZoomToBlack: farcall Function5602 ld de, .boxes @@ -806,9 +786,8 @@ StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768) ld a, BATTLETRANSITION_FINISH ld [wJumptableIndex], a ret -; 8c792 (23:4792) -.boxes ; 8c792 +.boxes zoombox: MACRO ; width, height, start y, start x db \1, \2 @@ -824,9 +803,8 @@ ENDM zoombox 18, 16, 1, 1 zoombox 20, 18, 0, 0 db -1 -; 8c7b7 -.Copy: ; 8c7b7 (23:47b7) +.Copy: ld a, $ff .row push bc @@ -842,7 +820,6 @@ ENDM dec b jr nz, .row ret -; 8c7c9 (23:47c9) Unreferenced_Function8c7c9: ld a, $1 diff --git a/engine/battle/battlestart_copytilemapatonce.asm b/engine/battle/battlestart_copytilemapatonce.asm index 2952e833b..9d4d48d3a 100644 --- a/engine/battle/battlestart_copytilemapatonce.asm +++ b/engine/battle/battlestart_copytilemapatonce.asm @@ -1,3 +1,3 @@ -BattleStart_CopyTilemapAtOnce: ; 8cf4f +BattleStart_CopyTilemapAtOnce: call CGBOnly_CopyTilemapAtOnce ret diff --git a/engine/battle/check_battle_scene.asm b/engine/battle/check_battle_scene.asm index 577c36e33..13d0c665e 100644 --- a/engine/battle/check_battle_scene.asm +++ b/engine/battle/check_battle_scene.asm @@ -1,4 +1,4 @@ -CheckBattleScene: ; 4ea44 +CheckBattleScene: ; Return carry if battle scene is turned off. ld a, BANK(wLinkMode) diff --git a/engine/battle/consume_held_item.asm b/engine/battle/consume_held_item.asm index d727a44e0..fe63d40a8 100644 --- a/engine/battle/consume_held_item.asm +++ b/engine/battle/consume_held_item.asm @@ -1,4 +1,4 @@ -ConsumeHeldItem: ; 27192 +ConsumeHeldItem: push hl push de push bc diff --git a/engine/battle/core.asm b/engine/battle/core.asm index f7e461c80..892ecd990 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -1,6 +1,6 @@ ; Core components of the battle engine. -DoBattle: ; 3c000 +DoBattle: xor a ld [wBattleParticipantsNotFainted], a ld [wBattleParticipantsIncludingFainted], a @@ -114,9 +114,8 @@ DoBattle: ; 3c000 .tutorial_debug jp BattleMenu -; 3c0e5 -WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5 +WildFled_EnemyFled_LinkBattleCanceled: call Call_LoadTempTileMapToTileMap ld a, [wBattleResult] and BATTLERESULT_BITMASK @@ -156,9 +155,8 @@ WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5 ld a, 1 ld [wBattleEnded], a ret -; 3c12f -BattleTurn: ; 3c12f +BattleTurn: .loop call Stubbed_Function3c1bf call CheckContestBattleOver @@ -229,7 +227,6 @@ BattleTurn: ; 3c12f .quit ret -; 3c1bf Stubbed_Function3c1bf: ret @@ -248,9 +245,8 @@ Stubbed_Function3c1bf: .finish call CloseSRAM ret -; 3c1d6 -HandleBetweenTurnEffects: ; 3c1d6 +HandleBetweenTurnEffects: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .CheckEnemyFirst @@ -297,9 +293,8 @@ HandleBetweenTurnEffects: ; 3c1d6 call UpdateBattleMonInParty call LoadTileMapToTempTileMap jp HandleEncore -; 3c23c -CheckFaint_PlayerThenEnemy: ; 3c23c +CheckFaint_PlayerThenEnemy: call HasPlayerFainted jr nz, .PlayerNotFainted call HandlePlayerMonFaint @@ -322,9 +317,8 @@ CheckFaint_PlayerThenEnemy: ; 3c23c .BattleIsOver: scf ret -; 3c25c -CheckFaint_EnemyThenPlayer: ; 3c25c +CheckFaint_EnemyThenPlayer: call HasEnemyFainted jr nz, .EnemyNotFainted call HandleEnemyMonFaint @@ -347,9 +341,8 @@ CheckFaint_EnemyThenPlayer: ; 3c25c .BattleIsOver: scf ret -; 3c27c -HandleBerserkGene: ; 3c27c +HandleBerserkGene: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .reverse @@ -424,9 +417,8 @@ HandleBerserkGene: ; 3c27c call SwitchTurnCore ld hl, BecameConfusedText jp StdBattleTextBox -; 3c300 -EnemyTriesToFlee: ; 3c300 +EnemyTriesToFlee: ld a, [wLinkMode] and a jr z, .not_linked @@ -442,9 +434,8 @@ EnemyTriesToFlee: ; 3c300 call WildFled_EnemyFled_LinkBattleCanceled scf ret -; 3c314 -DetermineMoveOrder: ; 3c314 +DetermineMoveOrder: ld a, [wLinkMode] and a jr z, .use_move @@ -560,14 +551,12 @@ DetermineMoveOrder: ; 3c314 .player_first scf ret -; 3c3f3 -.enemy_first ; 3c3f3 +.enemy_first and a ret -; 3c3f5 -CheckContestBattleOver: ; 3c3f5 +CheckContestBattleOver: ld a, [wBattleType] cp BATTLETYPE_CONTEST jr nz, .contest_not_over @@ -584,9 +573,8 @@ CheckContestBattleOver: ; 3c3f5 .contest_not_over and a ret -; 3c410 -CheckPlayerLockedIn: ; 3c410 +CheckPlayerLockedIn: ld a, [wPlayerSubStatus4] and 1 << SUBSTATUS_RECHARGE jp nz, .quit @@ -610,9 +598,8 @@ CheckPlayerLockedIn: ; 3c410 .quit scf ret -; 3c434 -ParsePlayerAction: ; 3c434 +ParsePlayerAction: call CheckPlayerLockedIn jp c, .locked_in ld hl, wPlayerSubStatus5 @@ -706,9 +693,8 @@ ParsePlayerAction: ; 3c434 res SUBSTATUS_RAGE, [hl] xor a ret -; 3c4df -HandleEncore: ; 3c4df +HandleEncore: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .player_1 @@ -764,9 +750,8 @@ HandleEncore: ; 3c4df call SetPlayerTurn ld hl, BattleText_TargetsEncoreEnded jp StdBattleTextBox -; 3c543 -TryEnemyFlee: ; 3c543 +TryEnemyFlee: ld a, [wBattleMode] dec a jr nz, .Stay @@ -819,11 +804,10 @@ TryEnemyFlee: ; 3c543 .Flee: scf ret -; 3c59a INCLUDE "data/wild/flee_mons.asm" -CompareMovePriority: ; 3c5b4 +CompareMovePriority: ; Compare the priority of the player and enemy's moves. ; Return carry if the player goes first, or z if they match. @@ -836,9 +820,8 @@ CompareMovePriority: ; 3c5b4 pop bc cp b ret -; 3c5c5 -GetMovePriority: ; 3c5c5 +GetMovePriority: ; Return the priority (0-3) of move a. ld b, a @@ -864,11 +847,10 @@ GetMovePriority: ; 3c5c5 .done ld a, [hl] ret -; 3c5df INCLUDE "data/moves/effects_priorities.asm" -GetMoveEffect: ; 3c5ec +GetMoveEffect: ld a, b dec a ld hl, Moves + MOVE_EFFECT @@ -878,9 +860,8 @@ GetMoveEffect: ; 3c5ec call GetFarByte ld b, a ret -; 3c5fe -Battle_EnemyFirst: ; 3c5fe +Battle_EnemyFirst: call LoadTileMapToTempTileMap call TryEnemyFlee jp c, WildFled_EnemyFled_LinkBattleCanceled @@ -922,9 +903,8 @@ Battle_EnemyFirst: ; 3c5fe xor a ld [wBattlePlayerAction], a ret -; 3c664 -Battle_PlayerFirst: ; 3c664 +Battle_PlayerFirst: xor a ld [wEnemyGoesFirst], a call SetEnemyTurn @@ -972,23 +952,20 @@ Battle_PlayerFirst: ; 3c664 xor a ld [wBattlePlayerAction], a ret -; 3c6cf -PlayerTurn_EndOpponentProtectEndureDestinyBond: ; 3c6cf +PlayerTurn_EndOpponentProtectEndureDestinyBond: call SetPlayerTurn call EndUserDestinyBond callfar DoPlayerTurn jp EndOpponentProtectEndureDestinyBond -; 3c6de -EnemyTurn_EndOpponentProtectEndureDestinyBond: ; 3c6de +EnemyTurn_EndOpponentProtectEndureDestinyBond: call SetEnemyTurn call EndUserDestinyBond callfar DoEnemyTurn jp EndOpponentProtectEndureDestinyBond -; 3c6ed -EndOpponentProtectEndureDestinyBond: ; 3c6ed +EndOpponentProtectEndureDestinyBond: ld a, BATTLE_VARS_SUBSTATUS1_OPP call GetBattleVarAddr res SUBSTATUS_PROTECT, [hl] @@ -997,33 +974,30 @@ EndOpponentProtectEndureDestinyBond: ; 3c6ed call GetBattleVarAddr res SUBSTATUS_DESTINY_BOND, [hl] ret -; 3c6fe -EndUserDestinyBond: ; 3c6fe +EndUserDestinyBond: ld a, BATTLE_VARS_SUBSTATUS5 call GetBattleVarAddr res SUBSTATUS_DESTINY_BOND, [hl] ret -; 3c706 -HasUserFainted: ; 3c706 +HasUserFainted: ld a, [hBattleTurn] and a jr z, HasPlayerFainted -HasEnemyFainted: ; 3c70b +HasEnemyFainted: ld hl, wEnemyMonHP jr CheckIfHPIsZero -HasPlayerFainted: ; 3c710 +HasPlayerFainted: ld hl, wBattleMonHP -CheckIfHPIsZero: ; 3c713 +CheckIfHPIsZero: ld a, [hli] or [hl] ret -; 3c716 -ResidualDamage: ; 3c716 +ResidualDamage: ; Return z if the user fainted before ; or as a result of residual damage. ; For Sandstorm damage, see HandleWeather. @@ -1158,9 +1132,8 @@ ResidualDamage: ; 3c716 call DelayFrames xor a ret -; 3c801 -HandlePerishSong: ; 3c801 +HandlePerishSong: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .EnemyFirst @@ -1227,9 +1200,8 @@ HandlePerishSong: ; 3c801 ld [hli], a ld [hl], a ret -; 3c874 -HandleWrap: ; 3c874 +HandleWrap: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .EnemyFirst @@ -1292,16 +1264,14 @@ HandleWrap: ; 3c874 .print_text jp StdBattleTextBox -; 3c8e4 -SwitchTurnCore: ; 3c8e4 +SwitchTurnCore: ld a, [hBattleTurn] xor 1 ld [hBattleTurn], a ret -; 3c8eb -HandleLeftovers: ; 3c8eb +HandleLeftovers: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .DoEnemyFirst @@ -1349,9 +1319,8 @@ HandleLeftovers: ; 3c8eb call RestoreHP ld hl, BattleText_TargetRecoveredWithItem jp StdBattleTextBox -; 3c93c -HandleMysteryberry: ; 3c93c +HandleMysteryberry: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .DoEnemyFirst @@ -1488,9 +1457,8 @@ HandleMysteryberry: ; 3c93c call SwitchTurnCore ld hl, BattleText_UserRecoveredPPUsing jp StdBattleTextBox -; 3ca26 -HandleFutureSight: ; 3ca26 +HandleFutureSight: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .enemy_first @@ -1547,9 +1515,8 @@ HandleFutureSight: ; 3ca26 call UpdateBattleMonInParty jp UpdateEnemyMonInParty -; 3ca8f -HandleDefrost: ; 3ca8f +HandleDefrost: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .enemy_first @@ -1607,9 +1574,8 @@ HandleDefrost: ; 3ca8f call SetPlayerTurn ld hl, DefrostedOpponentText jp StdBattleTextBox -; 3cafb -HandleSafeguard: ; 3cafb +HandleSafeguard: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .player1 @@ -1646,7 +1612,7 @@ HandleSafeguard: ; 3cafb ld hl, BattleText_SafeguardFaded jp StdBattleTextBox -HandleScreens: ; 3cb36 +HandleScreens: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .Both @@ -1681,15 +1647,13 @@ HandleScreens: ; 3cb36 .Copy: ld hl, wStringBuffer1 jp CopyName2 -; 3cb75 .Your: db "Your@" .Enemy: db "Enemy@" -; 3cb80 -.LightScreenTick: ; 3cb80 +.LightScreenTick: ld a, [de] dec a ld [de], a @@ -1702,9 +1666,8 @@ HandleScreens: ; 3cb36 pop de pop hl ret -; 3cb91 -.ReflectTick: ; 3cb91 +.ReflectTick: inc de ld a, [de] dec a @@ -1713,9 +1676,8 @@ HandleScreens: ; 3cb36 res SCREENS_REFLECT, [hl] ld hl, BattleText_MonsReflectFaded jp StdBattleTextBox -; 3cb9e -HandleWeather: ; 3cb9e +HandleWeather: ld a, [wBattleWeather] cp WEATHER_NONE ret z @@ -1804,7 +1766,6 @@ HandleWeather: ; 3cb9e ld h, [hl] ld l, a jp StdBattleTextBox -; 3cc2d .WeatherMessages: ; entries correspond to WEATHER_* constants @@ -1817,20 +1778,17 @@ HandleWeather: ; 3cb9e dw BattleText_TheRainStopped dw BattleText_TheSunlightFaded dw BattleText_TheSandstormSubsided -; 3cc39 -SubtractHPFromTarget: ; 3cc39 +SubtractHPFromTarget: call SubtractHP jp UpdateHPBar -; 3cc3f -SubtractHPFromUser: ; 3cc3f +SubtractHPFromUser: ; Subtract HP from mon call SubtractHP jp UpdateHPBarBattleHuds -; 3cc45 -SubtractHP: ; 3cc45 +SubtractHP: ld hl, wBattleMonHP ld a, [hBattleTurn] and a @@ -1860,9 +1818,8 @@ SubtractHP: ; 3cc45 ld [wBuffer5], a ld [wBuffer6], a ret -; 3cc76 -GetSixteenthMaxHP: ; 3cc76 +GetSixteenthMaxHP: call GetQuarterMaxHP ; quarter result srl c @@ -1874,9 +1831,8 @@ GetSixteenthMaxHP: ; 3cc76 inc c .ok ret -; 3cc83 -GetEighthMaxHP: ; 3cc83 +GetEighthMaxHP: ; output: bc call GetQuarterMaxHP ; assumes nothing can have 1024 or more hp @@ -1889,9 +1845,8 @@ GetEighthMaxHP: ; 3cc83 inc c .end ret -; 3cc8e -GetQuarterMaxHP: ; 3cc8e +GetQuarterMaxHP: ; output: bc call GetMaxHP @@ -1909,9 +1864,8 @@ GetQuarterMaxHP: ; 3cc8e inc c .end ret -; 3cc9f -GetHalfMaxHP: ; 3cc9f +GetHalfMaxHP: ; output: bc call GetMaxHP @@ -1926,9 +1880,8 @@ GetHalfMaxHP: ; 3cc9f inc c .end ret -; 3ccac -GetMaxHP: ; 3ccac +GetMaxHP: ; output: bc, wBuffer1-2 ld hl, wBattleMonMaxHP @@ -1945,9 +1898,8 @@ GetMaxHP: ; 3ccac ld [wBuffer1], a ld c, a ret -; 3ccc2 -Unreferenced_GetHalfHP: ; 3ccc2 +Unreferenced_GetHalfHP: ld hl, wBattleMonHP ld a, [hBattleTurn] and a @@ -1965,9 +1917,8 @@ Unreferenced_GetHalfHP: ; 3ccc2 ld a, [hl] ld [wBuffer1], a ret -; 3ccde -CheckUserHasEnoughHP: ; 3ccde +CheckUserHasEnoughHP: ld hl, wBattleMonHP + 1 ld a, [hBattleTurn] and a @@ -1980,9 +1931,8 @@ CheckUserHasEnoughHP: ; 3ccde ld a, b sbc [hl] ret -; 3ccef -RestoreHP ; 3ccef +RestoreHP ld hl, wEnemyMonMaxHP ld a, [hBattleTurn] and a @@ -2025,14 +1975,12 @@ RestoreHP ; 3ccef call SwitchTurnCore call UpdateHPBarBattleHuds jp SwitchTurnCore -; 3cd36 -UpdateHPBarBattleHuds: ; 3cd36 +UpdateHPBarBattleHuds: call UpdateHPBar jp UpdateBattleHuds -; 3cd3c -UpdateHPBar: ; 3cd3c +UpdateHPBar: hlcoord 10, 9 ld a, [hBattleTurn] and a @@ -2046,9 +1994,8 @@ UpdateHPBar: ; 3cd3c predef AnimateHPBar pop bc ret -; 3cd55 -HandleEnemyMonFaint: ; 3cd55 +HandleEnemyMonFaint: call FaintEnemyPokemon ld hl, wBattleMonHP ld a, [hli] @@ -2115,9 +2062,8 @@ HandleEnemyMonFaint: ; 3cd55 xor a ld [wBattlePlayerAction], a ret -; 3cdca -DoubleSwitch: ; 3cdca +DoubleSwitch: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .player_1 @@ -2145,9 +2091,8 @@ DoubleSwitch: ; 3cdca xor a ld [wBattlePlayerAction], a ret -; 3ce01 -UpdateBattleStateAndExperienceAfterEnemyFaint: ; 3ce01 +UpdateBattleStateAndExperienceAfterEnemyFaint: call UpdateBattleMonInParty ld a, [wBattleMode] dec a @@ -2236,9 +2181,8 @@ UpdateBattleStateAndExperienceAfterEnemyFaint: ; 3ce01 pop af ld [wBattleParticipantsNotFainted], a ret -; 3ceaa -IsAnyMonHoldingExpShare: ; 3ceaa +IsAnyMonHoldingExpShare: ld a, [wPartyCount] ld b, a ld hl, wPartyMon1 @@ -2292,15 +2236,13 @@ IsAnyMonHoldingExpShare: ; 3ceaa ld a, e and a ret -; 3ceec -StopDangerSound: ; 3ceec +StopDangerSound: xor a ld [wLowHealthAlarm], a ret -; 3cef1 -FaintYourPokemon: ; 3cef1 +FaintYourPokemon: call StopDangerSound call WaitSFX ld a, $f0 @@ -2313,9 +2255,8 @@ FaintYourPokemon: ; 3cef1 call ClearBox ld hl, BattleText_MonFainted jp StdBattleTextBox -; 3cf14 -FaintEnemyPokemon: ; 3cf14 +FaintEnemyPokemon: call WaitSFX ld de, SFX_KINESIS call PlaySFX @@ -2327,9 +2268,8 @@ FaintEnemyPokemon: ; 3cf14 call ClearBox ld hl, BattleText_EnemyMonFainted jp StdBattleTextBox -; 3cf35 -CheckEnemyTrainerDefeated: ; 3cf35 +CheckEnemyTrainerDefeated: ld a, [wOTPartyCount] ld b, a xor a @@ -2347,9 +2287,8 @@ CheckEnemyTrainerDefeated: ; 3cf35 and a ret -; 3cf4a -HandleEnemySwitch: ; 3cf4a +HandleEnemySwitch: ld hl, wEnemyHPPal ld e, HP_BAR_LENGTH_PX call UpdateHPPal @@ -2374,9 +2313,8 @@ HandleEnemySwitch: ; 3cf4a jr nz, EnemyPartyMonEntrance inc a ret -; 3cf78 -EnemyPartyMonEntrance: ; 3cf78 +EnemyPartyMonEntrance: push af xor a ld [wEnemySwitchMonIndex], a @@ -2400,9 +2338,8 @@ EnemyPartyMonEntrance: ; 3cf78 ld [wBattlePlayerAction], a inc a ret -; 3cfa4 -WinTrainerBattle: ; 3cfa4 +WinTrainerBattle: ; Player won the battle call StopDangerSound ld a, $1 @@ -2524,27 +2461,24 @@ WinTrainerBattle: ; 3cfa4 .KeepItAll: ld hl, GotMoneyForWinningText jp StdBattleTextBox -; 3d081 -.AddMoneyToMom: ; 3d081 +.AddMoneyToMom: push bc ld hl, wBattleReward + 2 ld de, wMomsMoney + 2 call AddBattleMoneyToAccount pop bc ret -; 3d08d -.AddMoneyToWallet: ; 3d08d +.AddMoneyToWallet: push bc ld hl, wBattleReward + 2 ld de, wMoney + 2 call AddBattleMoneyToAccount pop bc ret -; 3d099 -.DoubleReward: ; 3d099 +.DoubleReward: ld hl, wBattleReward + 2 sla [hl] dec hl @@ -2557,16 +2491,14 @@ WinTrainerBattle: ; 3cfa4 ld [hli], a ld [hl], a ret -; 3d0ab -.SentToMomTexts: ; 3d0ab +.SentToMomTexts: ; entries correspond to MOM_SAVING_* constants dw SentSomeToMomText dw SentHalfToMomText dw SentAllToMomText -; 3d0b1 -.CheckMaxedOutMomMoney: ; 3d0b1 +.CheckMaxedOutMomMoney: ld hl, wMomsMoney + 2 ld a, [hld] cp LOW(MAX_MONEY) @@ -2575,9 +2507,8 @@ WinTrainerBattle: ; 3cfa4 ld a, [hl] sbc HIGH(MAX_MONEY >> 8) ret -; 3d0be -AddBattleMoneyToAccount: ; 3d0be +AddBattleMoneyToAccount: ld c, 3 and a push de @@ -2610,9 +2541,8 @@ AddBattleMoneyToAccount: ; 3d0be inc hl ld [hl], LOW(MAX_MONEY) ret -; 3d0ea -PlayVictoryMusic: ; 3d0ea +PlayVictoryMusic: push de ld de, MUSIC_NONE call PlayMusic @@ -2646,7 +2576,6 @@ PlayVictoryMusic: ; 3d0ea .lost pop de ret -; 3d123 IsKantoGymLeader: ; 0x3d123 ld hl, KantoGymLeaders @@ -2665,7 +2594,7 @@ IsGymLeaderCommon: INCLUDE "data/trainers/leaders.asm" -HandlePlayerMonFaint: ; 3d14e +HandlePlayerMonFaint: call FaintYourPokemon ld hl, wEnemyMonHP ld a, [hli] @@ -2713,9 +2642,8 @@ HandlePlayerMonFaint: ; 3d14e call HandleEnemySwitch jp z, WildFled_EnemyFled_LinkBattleCanceled jp DoubleSwitch -; 3d1aa -PlayerMonFaintHappinessMod: ; 3d1aa +PlayerMonFaintHappinessMod: ld a, [wCurBattleMon] ld c, a ld hl, wBattleParticipantsNotFainted @@ -2752,9 +2680,8 @@ PlayerMonFaintHappinessMod: ; 3d1aa and a ret z ret ; ?????????? -; 3d1f8 -AskUseNextPokemon: ; 3d1f8 +AskUseNextPokemon: call EmptyBattleTextBox call LoadTileMapToTempTileMap ; We don't need to be here if we're in a Trainer battle, @@ -2781,9 +2708,8 @@ AskUseNextPokemon: ; 3d1f8 ld hl, wPartyMon1Speed ld de, wEnemyMonSpeed jp TryToRunAwayFromBattle -; 3d227 -ForcePlayerMonChoice: ; 3d227 +ForcePlayerMonChoice: call EmptyBattleTextBox call LoadStandardMenuHeader call SetUpBattlePartyMenu_NoLoop @@ -2845,9 +2771,8 @@ ForcePlayerMonChoice: ; 3d227 and a ld c, a ret -; 3d2b3 -PlayerPartyMonEntrance: ; 3d2b3 +PlayerPartyMonEntrance: ld a, [wCurBattleMon] ld [wLastPlayerMon], a ld a, [wCurPartyMon] @@ -2863,9 +2788,8 @@ PlayerPartyMonEntrance: ; 3d2b3 call LoadTileMapToTempTileMap call SetPlayerTurn jp SpikesDamage -; 3d2e0 -CheckMobileBattleError: ; 3d2e0 +CheckMobileBattleError: ld a, [wLinkMode] cp LINK_MOBILE jr nz, .not_mobile ; It's not a mobile battle @@ -2881,15 +2805,13 @@ CheckMobileBattleError: ; 3d2e0 .not_mobile xor a ret -; 3d2f1 -IsMobileBattle: ; 3d2f1 +IsMobileBattle: ld a, [wLinkMode] cp LINK_MOBILE ret -; 3d2f7 -SetUpBattlePartyMenu_NoLoop: ; 3d2f7 +SetUpBattlePartyMenu_NoLoop: call ClearBGPalettes SetUpBattlePartyMenu: ; switch to fullscreen menu? farcall LoadPartyMenuGFX @@ -2897,18 +2819,16 @@ SetUpBattlePartyMenu: ; switch to fullscreen menu? farcall InitPartyMenuBGPal7 farcall InitPartyMenuGFX ret -; 3d313 -JumpToPartyMenuAndPrintText: ; 3d313 +JumpToPartyMenuAndPrintText: farcall WritePartyMenuTilemap farcall PrintPartyMenuText call WaitBGMap call SetPalettes call DelayFrame ret -; 3d329 -SelectBattleMon: ; 3d329 +SelectBattleMon: call IsMobileBattle jr z, .mobile farcall PartyMenuSelect @@ -2917,9 +2837,8 @@ SelectBattleMon: ; 3d329 .mobile farcall Mobile_PartyMenuSelect ret -; 3d33c -PickPartyMonInBattle: ; 3d33c +PickPartyMonInBattle: .loop ld a, PARTYMENUACTION_SWITCH ; Which PKMN? ld [wPartyMenuActionText], a @@ -2930,9 +2849,8 @@ PickPartyMonInBattle: ; 3d33c jr z, .loop xor a ret -; 3d34f -SwitchMonAlreadyOut: ; 3d34f +SwitchMonAlreadyOut: ld hl, wCurBattleMon ld a, [wCurPartyMon] cp [hl] @@ -2946,9 +2864,8 @@ SwitchMonAlreadyOut: ; 3d34f .notout xor a ret -; 3d362 -ForcePickPartyMonInBattle: ; 3d362 +ForcePickPartyMonInBattle: ; Can't back out. .pick @@ -2961,9 +2878,8 @@ ForcePickPartyMonInBattle: ; 3d362 call PlaySFX call WaitSFX jr .pick -; 3d375 -PickSwitchMonInBattle: ; 3d375 +PickSwitchMonInBattle: .pick call PickPartyMonInBattle ret c @@ -2971,9 +2887,8 @@ PickSwitchMonInBattle: ; 3d375 jr c, .pick xor a ret -; 3d380 -ForcePickSwitchMonInBattle: ; 3d380 +ForcePickSwitchMonInBattle: ; Can't back out. .pick @@ -2985,9 +2900,8 @@ ForcePickSwitchMonInBattle: ; 3d380 xor a ret -; 3d38e -LostBattle: ; 3d38e +LostBattle: ld a, 1 ld [wBattleEnded], a @@ -3081,21 +2995,18 @@ LostBattle: ; 3d38e farcall Mobile_PrintOpponentBattleMessage scf ret -; 3d432 -EnemyMonFaintedAnimation: ; 3d432 +EnemyMonFaintedAnimation: hlcoord 12, 5 decoord 12, 6 jp MonFaintedAnimation -; 3d43b -PlayerMonFaintedAnimation: ; 3d43b +PlayerMonFaintedAnimation: hlcoord 1, 10 decoord 1, 11 jp MonFaintedAnimation -; 3d444 -MonFaintedAnimation: ; 3d444 +MonFaintedAnimation: ld a, [wcfbe] push af set 6, a @@ -3144,13 +3055,11 @@ MonFaintedAnimation: ; 3d444 pop af ld [wcfbe], a ret -; 3d488 .Spaces: db " @" -; 3d490 -SlideBattlePicOut: ; 3d490 +SlideBattlePicOut: ld [hMapObjectIndexBuffer], a ld c, a .loop @@ -3172,9 +3081,8 @@ SlideBattlePicOut: ; 3d490 dec c jr nz, .loop ret -; 3d4ae -.DoFrame: ; 3d4ae +.DoFrame: ld a, [hMapObjectIndexBuffer] ld c, a cp $8 @@ -3194,9 +3102,8 @@ SlideBattlePicOut: ; 3d490 dec c jr nz, .back ret -; 3d4c3 -ForceEnemySwitch: ; 3d4c3 +ForceEnemySwitch: call ResetEnemyBattleVars ld a, [wEnemySwitchMonIndex] dec a @@ -3209,9 +3116,8 @@ ForceEnemySwitch: ; 3d4c3 call BreakAttraction call ResetBattleParticipants ret -; 3d4e1 -EnemySwitch: ; 3d4e1 +EnemySwitch: call CheckWhetherToAskSwitch jr nc, EnemySwitch_SetMode ; Shift Mode @@ -3238,9 +3144,8 @@ EnemySwitch: ; 3d4e1 ld [wEnemyIsSwitching], a call LoadTileMapToTempTileMap jp PlayerSwitch -; 3d517 -EnemySwitch_SetMode: ; 3d517 +EnemySwitch_SetMode: call ResetEnemyBattleVars call CheckWhetherSwitchmonIsPredetermined jr c, .skip @@ -3253,9 +3158,8 @@ EnemySwitch_SetMode: ; 3d517 call ClearEnemyMonBox call Function_BattleTextEnemySentOut jp Function_SetEnemyMonAndSendOutAnimation -; 3d533 -CheckWhetherSwitchmonIsPredetermined: ; 3d533 +CheckWhetherSwitchmonIsPredetermined: ; returns carry if: ??? ld a, [wLinkMode] and a @@ -3287,9 +3191,8 @@ CheckWhetherSwitchmonIsPredetermined: ; 3d533 .return_carry scf ret -; 3d557 -ResetEnemyBattleVars: ; 3d557 +ResetEnemyBattleVars: ; and draw empty TextBox xor a ld [wLastPlayerCounterMove], a @@ -3305,13 +3208,12 @@ ResetEnemyBattleVars: ; 3d557 call SlideBattlePicOut call EmptyBattleTextBox jp LoadStandardMenuHeader -; 3d57a -ResetBattleParticipants: ; 3d57a +ResetBattleParticipants: xor a ld [wBattleParticipantsNotFainted], a ld [wBattleParticipantsIncludingFainted], a -AddBattleParticipant: ; 3d581 +AddBattleParticipant: ld a, [wCurBattleMon] ld c, a ld hl, wBattleParticipantsNotFainted @@ -3321,9 +3223,8 @@ AddBattleParticipant: ; 3d581 pop bc ld hl, wBattleParticipantsIncludingFainted predef_jump SmallFarFlagAction -; 3d599 -FindMonInOTPartyToSwitchIntoBattle: ; 3d599 +FindMonInOTPartyToSwitchIntoBattle: ld b, -1 ld a, $1 ld [wBuffer1], a @@ -3358,9 +3259,8 @@ FindMonInOTPartyToSwitchIntoBattle: ; 3d599 ld hl, wBuffer2 set 0, [hl] jr .loop -; 3d5d7 -LookUpTheEffectivenessOfEveryMove: ; 3d5d7 +LookUpTheEffectivenessOfEveryMove: push bc ld hl, wOTPartyMon1Moves ld a, b @@ -3396,9 +3296,8 @@ LookUpTheEffectivenessOfEveryMove: ; 3d5d7 ret .done ret -; 3d618 -IsThePlayerMonTypesEffectiveAgainstOTMon: ; 3d618 +IsThePlayerMonTypesEffectiveAgainstOTMon: ; Calculates the effectiveness of the types of the PlayerMon ; against the OTMon push bc @@ -3445,9 +3344,8 @@ IsThePlayerMonTypesEffectiveAgainstOTMon: ; 3d618 .reset res 0, [hl] ret -; 3d672 -ScoreMonTypeMatchups: ; 3d672 +ScoreMonTypeMatchups: .loop1 ld hl, wBuffer1 sla [hl] @@ -3510,9 +3408,8 @@ ScoreMonTypeMatchups: ; 3d672 .quit ret -; 3d6ca -LoadEnemyMonToSwitchTo: ; 3d6ca +LoadEnemyMonToSwitchTo: ; 'b' contains the PartyNr of the mon the AI will switch to ld a, b ld [wCurPartyMon], a @@ -3549,9 +3446,8 @@ LoadEnemyMonToSwitchTo: ; 3d6ca ld a, [hl] ld [wEnemyHPAtTimeOfPlayerSwitch + 1], a ret -; 3d714 -CheckWhetherToAskSwitch: ; 3d714 +CheckWhetherToAskSwitch: ld a, [wBattleHasJustStarted] dec a jp z, .return_nc @@ -3579,9 +3475,8 @@ CheckWhetherToAskSwitch: ; 3d714 .return_nc and a ret -; 3d74b -OfferSwitch: ; 3d74b +OfferSwitch: ld a, [wCurPartyMon] push af callfar Battle_GetTrainerName @@ -3620,9 +3515,8 @@ OfferSwitch: ; 3d74b ld [wCurPartyMon], a scf ret -; 3d7a0 -ClearEnemyMonBox: ; 3d7a0 +ClearEnemyMonBox: xor a ld [hBGMapMode], a call ExitMenu @@ -3632,16 +3526,14 @@ ClearEnemyMonBox: ; 3d7a0 call ClearBox call WaitBGMap jp FinishBattleAnim -; 3d7b8 -Function_BattleTextEnemySentOut: ; 3d7b8 +Function_BattleTextEnemySentOut: callfar Battle_GetTrainerName ld hl, BattleText_EnemySentOut call StdBattleTextBox jp WaitBGMap -; 3d7c7 -Function_SetEnemyMonAndSendOutAnimation: ; 3d7c7 +Function_SetEnemyMonAndSendOutAnimation: ld a, [wTempEnemyMonSpecies] ld [wCurPartySpecies], a ld [wCurSpecies], a @@ -3688,9 +3580,8 @@ Function_SetEnemyMonAndSendOutAnimation: ; 3d7c7 ld a, $1 ld [hBGMapMode], a ret -; 3d834 -NewEnemyMonStatus: ; 3d834 +NewEnemyMonStatus: xor a ld [wLastPlayerCounterMove], a ld [wLastEnemyCounterMove], a @@ -3712,9 +3603,8 @@ endr ld hl, wPlayerSubStatus5 res SUBSTATUS_CANT_RUN, [hl] ret -; 3d867 -ResetEnemyStatLevels: ; 3d867 +ResetEnemyStatLevels: ld a, BASE_STAT_LEVEL ld b, NUM_LEVEL_STATS ld hl, wEnemyStatLevels @@ -3723,9 +3613,8 @@ ResetEnemyStatLevels: ; 3d867 dec b jr nz, .loop ret -; 3d873 -CheckPlayerPartyForFitMon: ; 3d873 +CheckPlayerPartyForFitMon: ; Has the player any mon in his Party that can fight? ld a, [wPartyCount] ld e, a @@ -3741,9 +3630,8 @@ CheckPlayerPartyForFitMon: ; 3d873 jr nz, .loop ld d, a ret -; 3d887 -CheckIfCurPartyMonIsFitToFight: ; 3d887 +CheckIfCurPartyMonIsFitToFight: ld a, [wCurPartyMon] ld hl, wPartyMon1HP call GetPartyLocation @@ -3772,9 +3660,8 @@ CheckIfCurPartyMonIsFitToFight: ; 3d887 .finish_fail xor a ret -; 3d8b3 -TryToRunAwayFromBattle: ; 3d8b3 +TryToRunAwayFromBattle: ; Run away from battle, with or without item ld a, [wBattleType] cp BATTLETYPE_DEBUG @@ -3961,9 +3848,8 @@ TryToRunAwayFromBattle: ; 3d8b3 call LoadTileMapToTempTileMap scf ret -; 3da0d -InitBattleMon: ; 3da0d +InitBattleMon: ld a, MON_SPECIES call GetPartyParamLocation ld de, wBattleMonSpecies @@ -4002,23 +3888,21 @@ InitBattleMon: ; 3da0d call ApplyStatusEffectOnPlayerStats call BadgeStatBoosts ret -; 3da74 -BattleCheckPlayerShininess: ; 3da74 +BattleCheckPlayerShininess: call GetPartyMonDVs jr BattleCheckShininess -BattleCheckEnemyShininess: ; 3da79 +BattleCheckEnemyShininess: call GetEnemyMonDVs -BattleCheckShininess: ; 3da7c +BattleCheckShininess: ld b, h ld c, l callfar CheckShininess ret -; 3da85 -GetPartyMonDVs: ; 3da85 +GetPartyMonDVs: ld hl, wBattleMonDVs ld a, [wPlayerSubStatus5] bit SUBSTATUS_TRANSFORMED, a @@ -4026,9 +3910,8 @@ GetPartyMonDVs: ; 3da85 ld hl, wPartyMon1DVs ld a, [wCurBattleMon] jp GetPartyLocation -; 3da97 -GetEnemyMonDVs: ; 3da97 +GetEnemyMonDVs: ld hl, wEnemyMonDVs ld a, [wEnemySubStatus5] bit SUBSTATUS_TRANSFORMED, a @@ -4040,9 +3923,8 @@ GetEnemyMonDVs: ; 3da97 ld hl, wOTPartyMon1DVs ld a, [wCurOTMon] jp GetPartyLocation -; 3dab1 -ResetPlayerStatLevels: ; 3dab1 +ResetPlayerStatLevels: ld a, BASE_STAT_LEVEL ld b, NUM_LEVEL_STATS ld hl, wPlayerStatLevels @@ -4051,9 +3933,8 @@ ResetPlayerStatLevels: ; 3dab1 dec b jr nz, .loop ret -; 3dabd -InitEnemyMon: ; 3dabd +InitEnemyMon: ld a, [wCurPartyMon] ld hl, wOTPartyMon1Species call GetPartyLocation @@ -4104,9 +3985,8 @@ InitEnemyMon: ; 3dabd ld a, [wCurPartyMon] ld [wCurOTMon], a ret -; 3db32 -SwitchPlayerMon: ; 3db32 +SwitchPlayerMon: call ClearSprites ld a, [wCurBattleMon] ld [wLastPlayerMon], a @@ -4124,9 +4004,8 @@ SwitchPlayerMon: ; 3db32 ld a, [hli] or [hl] ret -; 3db5f -SendOutPlayerMon: ; 3db5f +SendOutPlayerMon: ld hl, wBattleMonDVs predef GetUnownLetter hlcoord 1, 5 @@ -4180,9 +4059,8 @@ SendOutPlayerMon: ; 3db5f ld a, $1 ld [hBGMapMode], a ret -; 3dbde -NewBattleMonStatus: ; 3dbde +NewBattleMonStatus: xor a ld [wLastPlayerCounterMove], a ld [wLastEnemyCounterMove], a @@ -4209,17 +4087,15 @@ endr ld hl, wEnemySubStatus5 res SUBSTATUS_CANT_RUN, [hl] ret -; 3dc18 -BreakAttraction: ; 3dc18 +BreakAttraction: ld hl, wPlayerSubStatus1 res SUBSTATUS_IN_LOVE, [hl] ld hl, wEnemySubStatus1 res SUBSTATUS_IN_LOVE, [hl] ret -; 3dc23 -SpikesDamage: ; 3dc23 +SpikesDamage: ld hl, wPlayerScreens ld de, wBattleMonType ld bc, UpdatePlayerHUD @@ -4258,9 +4134,8 @@ SpikesDamage: ; 3dc23 .hl jp hl -; 3dc5b -PursuitSwitch: ; 3dc5b +PursuitSwitch: ld a, BATTLE_VARS_MOVE call GetBattleVar ld b, a @@ -4338,9 +4213,8 @@ PursuitSwitch: ; 3dc5b .done and a ret -; 3dce6 -RecallPlayerMon: ; 3dce6 +RecallPlayerMon: ld a, [hBattleTurn] push af xor a @@ -4351,9 +4225,8 @@ RecallPlayerMon: ; 3dce6 pop af ld [hBattleTurn], a ret -; 3dcf9 -HandleHealingItems: ; 3dcf9 +HandleHealingItems: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .player_1 @@ -4375,9 +4248,8 @@ HandleHealingItems: ; 3dcf9 call HandleHPHealingItem call UseHeldStatusHealingItem jp UseConfusionHealingItem -; 3dd2f -HandleHPHealingItem: ; 3dd2f +HandleHPHealingItem: callfar GetOpponentItem ld a, b cp HELD_BERRY @@ -4469,9 +4341,8 @@ UseOpponentItem: callfar ConsumeHeldItem ld hl, RecoveredUsingText jp StdBattleTextBox -; 3ddc8 -ItemRecoveryAnim: ; 3ddc8 +ItemRecoveryAnim: push hl push de push bc @@ -4488,9 +4359,8 @@ ItemRecoveryAnim: ; 3ddc8 pop de pop hl ret -; 3dde9 -UseHeldStatusHealingItem: ; 3dde9 +UseHeldStatusHealingItem: callfar GetOpponentItem ld hl, HeldStatusHealingEffects .loop @@ -4543,11 +4413,10 @@ UseHeldStatusHealingItem: ; 3dde9 ld a, $1 and a ret -; 3de44 INCLUDE "data/battle/held_heal_status.asm" -UseConfusionHealingItem: ; 3de51 +UseConfusionHealingItem: ld a, BATTLE_VARS_SUBSTATUS3_OPP call GetBattleVar bit SUBSTATUS_CONFUSED, a @@ -4587,9 +4456,8 @@ UseConfusionHealingItem: ; 3de51 ld [bc], a ld [hl], a ret -; 3de97 -HandleStatBoostingHeldItems: ; 3de97 +HandleStatBoostingHeldItems: ; The effects handled here are not used in-game. ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK @@ -4600,18 +4468,16 @@ HandleStatBoostingHeldItems: ; 3de97 .player_1 call .DoEnemy jp .DoPlayer -; 3dea9 -.DoPlayer: ; 3dea9 +.DoPlayer: call GetPartymonItem ld a, $0 jp .HandleItem -; 3deb1 -.DoEnemy: ; 3deb1 +.DoEnemy: call GetOTPartymonItem ld a, $1 -.HandleItem: ; 3deb6 +.HandleItem: ld [hBattleTurn], a ld d, h ld e, l @@ -4658,27 +4524,24 @@ HandleStatBoostingHeldItems: ; 3de97 pop bc pop de ret -; 3defc INCLUDE "data/battle/held_stat_up.asm" -GetPartymonItem: ; 3df12 +GetPartymonItem: ld hl, wPartyMon1Item ld a, [wCurBattleMon] call GetPartyLocation ld bc, wBattleMonItem ret -; 3df1f -GetOTPartymonItem: ; 3df1f +GetOTPartymonItem: ld hl, wOTPartyMon1Item ld a, [wCurOTMon] call GetPartyLocation ld bc, wEnemyMonItem ret -; 3df2c -UpdateBattleHUDs: ; 3df2c +UpdateBattleHUDs: push hl push de push bc @@ -4693,9 +4556,8 @@ UpdateBattleHUDs: ; 3df2c pop de pop hl ret -; 3df48 -UpdatePlayerHUD:: ; 3df48 +UpdatePlayerHUD:: push hl push de push bc @@ -4706,9 +4568,8 @@ UpdatePlayerHUD:: ; 3df48 pop de pop hl ret -; 3df58 -DrawPlayerHUD: ; 3df58 +DrawPlayerHUD: xor a ld [hBGMapMode], a @@ -4744,14 +4605,12 @@ DrawPlayerHUD: ; 3df58 call FillInExpBar pop de ret -; 3df98 -UpdatePlayerHPPal: ; 3df98 +UpdatePlayerHPPal: ld hl, wPlayerHPPal jp UpdateHPPal -; 3df9e -CheckDanger: ; 3df9e +CheckDanger: ld hl, wBattleMonHP ld a, [hli] or [hl] @@ -4774,9 +4633,8 @@ CheckDanger: ; 3df9e .done ret -; 3dfbf -PrintPlayerHUD: ; 3dfbf +PrintPlayerHUD: ld de, wBattleMonNick hlcoord 10, 7 call ret_3e138 @@ -4837,9 +4695,8 @@ PrintPlayerHUD: ; 3dfbf ld a, [wBattleMonLevel] ld [wTempMonLevel], a jp PrintLevel -; 3e036 -UpdateEnemyHUD:: ; 3e036 +UpdateEnemyHUD:: push hl push de push bc @@ -4849,9 +4706,8 @@ UpdateEnemyHUD:: ; 3e036 pop de pop hl ret -; 3e043 -DrawEnemyHUD: ; 3e043 +DrawEnemyHUD: xor a ld [hBGMapMode], a @@ -4982,28 +4838,24 @@ DrawEnemyHUD: ; 3e043 ld b, 0 call DrawBattleHPBar ret -; 3e127 -UpdateEnemyHPPal: ; 3e127 +UpdateEnemyHPPal: ld hl, wEnemyHPPal call UpdateHPPal ret -; 3e12e -UpdateHPPal: ; 3e12e +UpdateHPPal: ld b, [hl] call SetHPPal ld a, [hl] cp b ret z jp FinishBattleAnim -; 3e138 -ret_3e138: ; 3e138 +ret_3e138: ret -; 3e139 -BattleMenu: ; 3e139 +BattleMenu: xor a ld [hBGMapMode], a call LoadTempTileMapToTileMap @@ -5049,17 +4901,15 @@ BattleMenu: ; 3e139 cp $4 jp z, BattleMenu_Run jr .loop -; 3e192 -BattleMenu_Fight: ; 3e192 +BattleMenu_Fight: xor a ld [wNumFleeAttempts], a call Call_LoadTempTileMapToTileMap and a ret -; 3e19b -LoadBattleMenu2: ; 3e19b +LoadBattleMenu2: call IsMobileBattle jr z, .mobile @@ -5083,9 +4933,8 @@ LoadBattleMenu2: ; 3e19b .error scf ret -; 3e1c7 -BattleMenu_Pack: ; 3e1c7 +BattleMenu_Pack: ld a, [wLinkMode] and a jp nz, .ItemsCantBeUsed @@ -5135,15 +4984,13 @@ BattleMenu_Pack: ; 3e1c7 call FinishBattleAnim call LoadTileMapToTempTileMap jp BattleMenu -; 3e22b -.ItemsCantBeUsed: ; 3e22b +.ItemsCantBeUsed: ld hl, BattleText_ItemsCantBeUsedHere call StdBattleTextBox jp BattleMenu -; 3e234 -.UseItem: ; 3e234 +.UseItem: ld a, [wWildMon] and a jr nz, .run @@ -5186,9 +5033,8 @@ BattleMenu_Pack: ; 3e1c7 call SetPalettes scf ret -; 3e28d -BattleMenu_PKMN: ; 3e28d +BattleMenu_PKMN: call LoadStandardMenuHeader BattleMenuPKMN_ReturnFromStats: call ExitMenu @@ -5236,9 +5082,8 @@ BattleMenuPKMN_Loop: call GetMemSGBLayout call SetPalettes jp BattleMenu -; 3e2f5 -.GetMenu: ; 3e2f5 +.GetMenu: call IsMobileBattle jr z, .mobile farcall BattleMonMenu @@ -5247,9 +5092,8 @@ BattleMenuPKMN_Loop: .mobile farcall MobileBattleMonMenu ret -; 3e308 -Battle_StatsScreen: ; 3e308 +Battle_StatsScreen: call DisableLCD ld hl, vTiles2 tile $31 @@ -5285,9 +5129,8 @@ Battle_StatsScreen: ; 3e308 call EnableLCD ret -; 3e358 -TryPlayerSwitch: ; 3e358 +TryPlayerSwitch: ld a, [wCurBattleMon] ld d, a ld a, [wCurPartyMon] @@ -5326,7 +5169,7 @@ TryPlayerSwitch: ; 3e358 call SetPalettes ld a, [wCurPartyMon] ld [wCurBattleMon], a -PlayerSwitch: ; 3e3ad +PlayerSwitch: ld a, 1 ld [wPlayerIsSwitching], a ld a, [wLinkMode] @@ -5374,15 +5217,13 @@ PlayerSwitch: ; 3e3ad call BattleMonEntrance and a ret -; 3e3ff -EnemyMonEntrance: ; 3e3ff +EnemyMonEntrance: callfar AI_Switch call SetEnemyTurn jp SpikesDamage -; 3e40b -BattleMonEntrance: ; 3e40b +BattleMonEntrance: call WithdrawMonText ld c, 50 @@ -5417,9 +5258,8 @@ BattleMonEntrance: ; 3e40b ld a, $2 ld [wMenuCursorY], a ret -; 3e459 -PassedBattleMonEntrance: ; 3e459 +PassedBattleMonEntrance: ld c, 50 call DelayFrames @@ -5439,9 +5279,8 @@ PassedBattleMonEntrance: ; 3e459 call LoadTileMapToTempTileMap call SetPlayerTurn jp SpikesDamage -; 3e489 -BattleMenu_Run: ; 3e489 +BattleMenu_Run: call Call_LoadTempTileMapToTileMap ld a, $3 ld [wMenuCursorY], a @@ -5455,9 +5294,8 @@ BattleMenu_Run: ; 3e489 and a ret nz jp BattleMenu -; 3e4a8 -CheckAmuletCoin: ; 3e4a8 +CheckAmuletCoin: ld a, [wBattleMonItem] ld b, a callfar GetItemHeldEffect @@ -5467,9 +5305,8 @@ CheckAmuletCoin: ; 3e4a8 ld a, 1 ld [wAmuletCoin], a ret -; 3e4bc -MoveSelectionScreen: ; 3e4bc +MoveSelectionScreen: call IsMobileBattle jr nz, .not_mobile farcall MobileMoveSelectionScreen @@ -5671,11 +5508,9 @@ MoveSelectionScreen: ; 3e4bc call StdBattleTextBox call Call_LoadTempTileMapToTileMap jp MoveSelectionScreen -; 3e61c -.string_3e61c ; 3e61c +.string_3e61c db "@" -; 3e61d .pressed_up ld a, [wMenuCursorY] @@ -5685,9 +5520,8 @@ MoveSelectionScreen: ; 3e4bc inc a ld [wMenuCursorY], a jp .menu_loop -; 3e62e -.pressed_down ; 3e62e +.pressed_down ld a, [wMenuCursorY] ld b, a ld a, [wNumMoves] @@ -5698,9 +5532,8 @@ MoveSelectionScreen: ; 3e4bc ld a, $1 ld [wMenuCursorY], a jp .menu_loop -; 3e643 -.pressed_select ; 3e643 +.pressed_select ld a, [wMoveSwapBuffer] and a jr z, .start_swap @@ -5783,9 +5616,8 @@ MoveSelectionScreen: ; 3e4bc ld a, [wMenuCursorY] ld [wMoveSwapBuffer], a jp MoveSelectionScreen -; 3e6c8 -MoveInfoBox: ; 3e6c8 +MoveInfoBox: xor a ld [hBGMapMode], a @@ -5855,15 +5687,13 @@ MoveInfoBox: ; 3e6c8 .done ret -; 3e74f .Disabled: db "Disabled!@" .Type: db "TYPE/@" -; 3e75f -.PrintPP: ; 3e75f +.PrintPP: hlcoord 5, 11 ld a, [wLinkMode] ; What's the point of this check? cp LINK_MOBILE @@ -5883,9 +5713,8 @@ MoveInfoBox: ; 3e6c8 lb bc, 1, 2 call PrintNum ret -; 3e786 -CheckPlayerHasUsableMoves: ; 3e786 +CheckPlayerHasUsableMoves: ld a, STRUGGLE ld [wCurPlayerMove], a ld a, [wPlayerDisableCount] @@ -5931,9 +5760,8 @@ CheckPlayerHasUsableMoves: ; 3e786 call DelayFrames xor a ret -; 3e7c1 -ParseEnemyAction: ; 3e7c1 +ParseEnemyAction: ld a, [wEnemyIsSwitching] and a ret nz @@ -6081,9 +5909,8 @@ ParseEnemyAction: ; 3e7c1 .struggle ld a, STRUGGLE jr .finish -; 3e8c1 -ResetVarsForSubstatusRage: ; 3e8c1 +ResetVarsForSubstatusRage: xor a ld [wEnemyFuryCutterCount], a ld [wEnemyProtectCount], a @@ -6091,9 +5918,8 @@ ResetVarsForSubstatusRage: ; 3e8c1 ld hl, wEnemySubStatus4 res SUBSTATUS_RAGE, [hl] ret -; 3e8d1 -CheckEnemyLockedIn: ; 3e8d1 +CheckEnemyLockedIn: ld a, [wEnemySubStatus4] and 1 << SUBSTATUS_RECHARGE ret nz @@ -6106,14 +5932,12 @@ CheckEnemyLockedIn: ; 3e8d1 ld hl, wEnemySubStatus1 bit SUBSTATUS_ROLLOUT, [hl] ret -; 3e8e4 -LinkBattleSendReceiveAction: ; 3e8e4 +LinkBattleSendReceiveAction: farcall _LinkBattleSendReceiveAction ret -; 3e8eb -LoadEnemyMon: ; 3e8eb +LoadEnemyMon: ; Initialize enemy monster parameters ; To do this we pull the species from wTempEnemyMonSpecies @@ -6582,9 +6406,8 @@ LoadEnemyMon: ; 3e8eb call CopyBytes ret -; 3eb38 -CheckSleepingTreeMon: ; 3eb38 +CheckSleepingTreeMon: ; Return carry if species is in the list ; for the current time of day @@ -6615,7 +6438,7 @@ CheckSleepingTreeMon: ; 3eb38 INCLUDE "data/wild/treemons_asleep.asm" -CheckUnownLetter: ; 3eb75 +CheckUnownLetter: ; Return carry if the Unown letter hasn't been unlocked yet ld a, [wUnlockedUnowns] @@ -6665,7 +6488,7 @@ CheckUnownLetter: ; 3eb75 INCLUDE "data/wild/unlocked_unowns.asm" -Unreferenced_SwapBattlerLevels: ; 3ebc7 +Unreferenced_SwapBattlerLevels: push bc ld a, [wBattleMonLevel] ld b, a @@ -6675,9 +6498,8 @@ Unreferenced_SwapBattlerLevels: ; 3ebc7 ld [wEnemyMonLevel], a pop bc ret -; 3ebd8 -BattleWinSlideInEnemyTrainerFrontpic: ; 3ebd8 +BattleWinSlideInEnemyTrainerFrontpic: xor a ld [wTempEnemyMonSpecies], a call FinishBattleAnim @@ -6717,9 +6539,8 @@ BattleWinSlideInEnemyTrainerFrontpic: ; 3ebd8 pop bc dec hl jr .outer_loop -; 3ec1a -.CopyColumn: ; 3ec1a +.CopyColumn: push hl push de push bc @@ -6737,24 +6558,20 @@ BattleWinSlideInEnemyTrainerFrontpic: ; 3ebd8 pop de pop hl ret -; 3ec2c -ApplyStatusEffectOnPlayerStats: ; 3ec2c +ApplyStatusEffectOnPlayerStats: ld a, 1 jr ApplyStatusEffectOnStats -; 3ec30 -ApplyStatusEffectOnEnemyStats: ; 3ec30 +ApplyStatusEffectOnEnemyStats: xor a -; 3ec31 -ApplyStatusEffectOnStats: ; 3ec31 +ApplyStatusEffectOnStats: ld [hBattleTurn], a call ApplyPrzEffectOnSpeed jp ApplyBrnEffectOnAttack -; 3ec39 -ApplyPrzEffectOnSpeed: ; 3ec39 +ApplyPrzEffectOnSpeed: ld a, [hBattleTurn] and a jr z, .enemy @@ -6798,9 +6615,8 @@ ApplyPrzEffectOnSpeed: ; 3ec39 .enemy_ok ld [hl], b ret -; 3ec76 -ApplyBrnEffectOnAttack: ; 3ec76 +ApplyBrnEffectOnAttack: ld a, [hBattleTurn] and a jr z, .enemy @@ -6840,9 +6656,8 @@ ApplyBrnEffectOnAttack: ; 3ec76 .enemy_ok ld [hl], b ret -; 3ecab -ApplyStatLevelMultiplierOnAllStats: ; 3ecab +ApplyStatLevelMultiplierOnAllStats: ; Apply StatLevelMultipliers on all 5 Stats ld c, 0 .stat_loop @@ -6852,9 +6667,8 @@ ApplyStatLevelMultiplierOnAllStats: ; 3ecab cp 5 jr nz, .stat_loop ret -; 3ecb7 -ApplyStatLevelMultiplier: ; 3ecb7 +ApplyStatLevelMultiplier: push bc push bc ld a, [wd265] @@ -6936,11 +6750,10 @@ ApplyStatLevelMultiplier: ; 3ecb7 .okay4 pop bc ret -; 3ed2b INCLUDE "data/battle/stat_multipliers_2.asm" -BadgeStatBoosts: ; 3ed45 +BadgeStatBoosts: ; Raise the stats of the battle mon in wBattleMon ; depending on which badges have been obtained. @@ -6997,9 +6810,8 @@ BadgeStatBoosts: ; 3ed45 srl a call c, BoostStat ret -; 3ed7c -BoostStat: ; 3ed7c +BoostStat: ; Raise stat at hl by 1/8. ld a, [hli] @@ -7029,17 +6841,14 @@ BoostStat: ; 3ed7c ld a, LOW(MAX_STAT_VALUE) ld [hld], a ret -; 3ed9f -_LoadBattleFontsHPBar: ; 3ed9f +_LoadBattleFontsHPBar: callfar LoadBattleFontsHPBar ret -; 3eda6 -_LoadHPBar: ; 3eda6 +_LoadHPBar: callfar LoadHPBar ret -; 3edad Unreferenced_LoadHPExpBarGFX: ld de, EnemyHPBarBorderGFX @@ -7054,16 +6863,14 @@ Unreferenced_LoadHPExpBarGFX: ld hl, vTiles2 tile $55 lb bc, BANK(ExpBarGFX), 8 jp Get2bpp -; 3edd1 -EmptyBattleTextBox: ; 3edd1 +EmptyBattleTextBox: ld hl, .empty jp BattleTextBox .empty db "@" -; 3edd8 -_BattleRandom:: ; 3edd8 +_BattleRandom:: ; If the normal RNG is used in a link battle it'll desync. ; To circumvent this a shared PRNG is used instead. @@ -7130,25 +6937,22 @@ _BattleRandom:: ; 3edd8 pop bc pop hl ret -; 3ee0f -Call_PlayBattleAnim_OnlyIfVisible: ; 3ee0f +Call_PlayBattleAnim_OnlyIfVisible: ld a, BATTLE_VARS_SUBSTATUS3 call GetBattleVar and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND ret nz -; 3ee17 -Call_PlayBattleAnim: ; 3ee17 +Call_PlayBattleAnim: ld a, e ld [wFXAnimID], a ld a, d ld [wFXAnimID + 1], a call WaitBGMap predef_jump PlayBattleAnim -; 3ee27 -FinishBattleAnim: ; 3ee27 +FinishBattleAnim: push af push bc push de @@ -7162,9 +6966,8 @@ FinishBattleAnim: ; 3ee27 pop bc pop af ret -; 3ee3b -GiveExperiencePoints: ; 3ee3b +GiveExperiencePoints: ; Give experience. ; Don't give experience if linked or in the Battle Tower. ld a, [wLinkMode] @@ -7542,7 +7345,6 @@ GiveExperiencePoints: ; 3ee3b .done jp ResetBattleParticipants -; 3f0d4 .EvenlyDivideExpAmongParticipants: ; count number of battle participants @@ -7577,9 +7379,8 @@ GiveExperiencePoints: ; 3ee3b dec c jr nz, .count_loop2 ret -; 3f106 -BoostExp: ; 3f106 +BoostExp: ; Multiply experience by 1.5x push bc ; load experience value @@ -7598,9 +7399,8 @@ BoostExp: ; 3f106 ld [hProduct + 2], a pop bc ret -; 3f11b -Text_MonGainedExpPoint: ; 3f11b +Text_MonGainedExpPoint: text_jump Text_Gained start_asm ld hl, TextJump_StringBuffer2ExpPoints @@ -7610,19 +7410,16 @@ Text_MonGainedExpPoint: ; 3f11b ld hl, TextJump_ABoostedStringBuffer2ExpPoints ret -; 3f12c -TextJump_ABoostedStringBuffer2ExpPoints: ; 3f12c +TextJump_ABoostedStringBuffer2ExpPoints: text_jump Text_ABoostedStringBuffer2ExpPoints db "@" -; 3f131 -TextJump_StringBuffer2ExpPoints: ; 3f131 +TextJump_StringBuffer2ExpPoints: text_jump Text_StringBuffer2ExpPoints db "@" -; 3f136 -AnimateExpBar: ; 3f136 +AnimateExpBar: push bc ld hl, wCurPartyMon @@ -7808,7 +7605,7 @@ AnimateExpBar: ; 3f136 ld [hBGMapMode], a ret -SendOutMonText: ; 3f26d +SendOutMonText: ld a, [wLinkMode] and a jr z, .not_linked @@ -7868,40 +7665,34 @@ SendOutMonText: ; 3f26d ld hl, JumpText_YourFoesWeakGetmMon .skip_to_textbox jp BattleTextBox -; 3f2d1 -JumpText_GoMon: ; 3f2d1 +JumpText_GoMon: text_jump Text_GoMon start_asm jr Function_TextJump_BattleMonNick01 -; 3f2d6 -JumpText_DoItMon: ; 3f2d8 +JumpText_DoItMon: text_jump Text_DoItMon start_asm jr Function_TextJump_BattleMonNick01 -; 3f2dd -JumpText_GoForItMon: ; 3f2df +JumpText_GoForItMon: text_jump Text_GoForItMon start_asm jr Function_TextJump_BattleMonNick01 -; 3f2e4 -JumpText_YourFoesWeakGetmMon: ; 3f2e6 +JumpText_YourFoesWeakGetmMon: text_jump Text_YourFoesWeakGetmMon start_asm -Function_TextJump_BattleMonNick01: ; 3f2eb +Function_TextJump_BattleMonNick01: ld hl, TextJump_BattleMonNick01 ret -; 3f2ef -TextJump_BattleMonNick01: ; 3f2ef +TextJump_BattleMonNick01: text_jump Text_BattleMonNick01 db "@" -; 3f2f4 -WithdrawMonText: ; 3f2f4 +WithdrawMonText: ld hl, .WithdrawMonText jp BattleTextBox @@ -7955,33 +7746,27 @@ WithdrawMonText: ; 3f2f4 ld hl, TextJump_GoodComeBack ret -; 3f348 -TextJump_ThatsEnoughComeBack: ; 3f348 +TextJump_ThatsEnoughComeBack: text_jump Text_ThatsEnoughComeBack db "@" -; 3f34d -TextJump_OKComeBack: ; 3f34d +TextJump_OKComeBack: text_jump Text_OKComeBack db "@" -; 3f352 -TextJump_GoodComeBack: ; 3f352 +TextJump_GoodComeBack: text_jump Text_GoodComeBack db "@" -; 3f357 -Unreferenced_TextJump_ComeBack: ; 3f357 +Unreferenced_TextJump_ComeBack: ; this function doesn't seem to be used ld hl, TextJump_ComeBack ret -; 3f35b -TextJump_ComeBack: ; 3f35b +TextJump_ComeBack: text_jump Text_ComeBack db "@" -; 3f360 Unreferenced_HandleSafariAngerEatingStatus: ld hl, wSafariMonEating @@ -8013,18 +7798,16 @@ Unreferenced_HandleSafariAngerEatingStatus: call Call_LoadTempTileMapToTileMap pop hl jp StdBattleTextBox -; 3f390 -FillInExpBar: ; 3f390 +FillInExpBar: push hl call CalcExpBar pop hl ld de, 7 add hl, de jp PlaceExpBar -; 3f39c -CalcExpBar: ; 3f39c +CalcExpBar: ; Calculate the percent exp between this level and the next ; Level in b push de @@ -8123,9 +7906,8 @@ CalcExpBar: ; 3f39c sub b ld b, a ret -; 3f41c -PlaceExpBar: ; 3f41c +PlaceExpBar: ld c, $8 ; number of tiles .loop1 ld a, b @@ -8155,15 +7937,14 @@ PlaceExpBar: ; 3f41c .finish ret -; 3f43d -GetBattleMonBackpic: ; 3f43d +GetBattleMonBackpic: ld a, [wPlayerSubStatus4] bit SUBSTATUS_SUBSTITUTE, a ld hl, BattleAnimCmd_RaiseSub jr nz, GetBattleMonBackpic_DoAnim ; substitute -DropPlayerSub: ; 3f447 +DropPlayerSub: ld a, [wPlayerMinimized] and a ld hl, BattleAnimCmd_MinimizeOpp @@ -8179,9 +7960,8 @@ DropPlayerSub: ; 3f447 pop af ld [wCurPartySpecies], a ret -; 3f46f -GetBattleMonBackpic_DoAnim: ; 3f46f +GetBattleMonBackpic_DoAnim: ld a, [hBattleTurn] push af xor a @@ -8191,15 +7971,14 @@ GetBattleMonBackpic_DoAnim: ; 3f46f pop af ld [hBattleTurn], a ret -; 3f47c -GetEnemyMonFrontpic: ; 3f47c +GetEnemyMonFrontpic: ld a, [wEnemySubStatus4] bit SUBSTATUS_SUBSTITUTE, a ld hl, BattleAnimCmd_RaiseSub jr nz, GetEnemyMonFrontpic_DoAnim -DropEnemySub: ; 3f486 +DropEnemySub: ld a, [wEnemyMinimized] and a ld hl, BattleAnimCmd_MinimizeOpp @@ -8218,9 +7997,8 @@ DropEnemySub: ; 3f486 pop af ld [wCurPartySpecies], a ret -; 3f4b4 -GetEnemyMonFrontpic_DoAnim: ; 3f4b4 +GetEnemyMonFrontpic_DoAnim: ld a, [hBattleTurn] push af call SetEnemyTurn @@ -8229,9 +8007,8 @@ GetEnemyMonFrontpic_DoAnim: ; 3f4b4 pop af ld [hBattleTurn], a ret -; 3f4c1 -StartBattle: ; 3f4c1 +StartBattle: ; This check prevents you from entering a battle without any Pokemon. ; Those using walk-through-walls to bypass getting a Pokemon experience ; the effects of this check. @@ -8248,14 +8025,12 @@ StartBattle: ; 3f4c1 ld [wTimeOfDayPal], a scf ret -; 3f4d9 -Unreferenced_DoBattle: ; 3f4d9 +Unreferenced_DoBattle: call DoBattle ret -; 3f4dd -BattleIntro: ; 3f4dd +BattleIntro: farcall StubbedTrainerRankings_Battles ; mobile call LoadTrainerOrWildMonPic xor a @@ -8294,9 +8069,8 @@ BattleIntro: ; 3f4dd ld a, $1 ld [hBGMapMode], a ret -; 3f54e -LoadTrainerOrWildMonPic: ; 3f54e +LoadTrainerOrWildMonPic: ld a, [wOtherTrainerClass] and a jr nz, .Trainer @@ -8306,16 +8080,14 @@ LoadTrainerOrWildMonPic: ; 3f54e .Trainer: ld [wTempEnemyMonSpecies], a ret -; 3f55e -InitEnemy: ; 3f55e +InitEnemy: ld a, [wOtherTrainerClass] and a jp nz, InitEnemyTrainer ; trainer jp InitEnemyWildmon ; wild -; 3f568 -BackUpBGMap2: ; 3f568 +BackUpBGMap2: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) @@ -8337,9 +8109,8 @@ BackUpBGMap2: ; 3f568 pop af ld [rSVBK], a ret -; 3f594 -InitEnemyTrainer: ; 3f594 +InitEnemyTrainer: ld [wTrainerClass], a farcall StubbedTrainerRankings_TrainerBattles xor a @@ -8393,9 +8164,8 @@ InitEnemyTrainer: ; 3f594 jr .partyloop .done ret -; 3f607 -InitEnemyWildmon: ; 3f607 +InitEnemyWildmon: ld a, WILD_BATTLE ld [wBattleMode], a farcall StubbedTrainerRankings_WildBattles @@ -8428,9 +8198,8 @@ InitEnemyWildmon: ; 3f607 lb bc, 7, 7 predef PlaceGraphic ret -; 3f662 -Unreferenced_Function3f662: ; 3f662 +Unreferenced_Function3f662: ld hl, wEnemyMonMoves ld de, wListMoves_MoveIndicesBuffer ld b, NUM_MOVES @@ -8480,15 +8249,13 @@ Unreferenced_Function3f662: ; 3f662 dec b jr nz, .clear ret -; 3f69e -ExitBattle: ; 3f69e +ExitBattle: call .HandleEndOfBattle call CleanUpBattleRAM ret -; 3f6a5 -.HandleEndOfBattle: ; 3f6a5 +.HandleEndOfBattle: ld a, [wLinkMode] and a jr z, .not_linked @@ -8508,9 +8275,8 @@ ExitBattle: ; 3f69e predef EvolveAfterBattle farcall GivePokerusAndConvertBerries ret -; 3f6d0 -CleanUpBattleRAM: ; 3f6d0 +CleanUpBattleRAM: call BattleEnd_HandleRoamMons xor a ld [wLowHealthAlarm], a @@ -8541,9 +8307,8 @@ CleanUpBattleRAM: ; 3f6d0 jr nz, .loop call WaitSFX ret -; 3f71d -CheckPayDay: ; 3f71d +CheckPayDay: ld hl, wPayDayMoney ld a, [hli] or [hl] @@ -8577,9 +8342,8 @@ CheckPayDay: ; 3f71d call ClearTileMap call ClearBGPalettes ret -; 3f759 -ShowLinkBattleParticipantsAfterEnd: ; 3f759 +ShowLinkBattleParticipantsAfterEnd: farcall StubbedTrainerRankings_LinkBattles farcall BackupMobileEventIndex ld a, [wCurOTMon] @@ -8590,9 +8354,8 @@ ShowLinkBattleParticipantsAfterEnd: ; 3f759 call ClearTileMap farcall _ShowLinkBattleParticipants ret -; 3f77c -DisplayLinkBattleResult: ; 3f77c +DisplayLinkBattleResult: farcall CheckMobileBattleError jp c, .Mobile_InvalidBattle call IsMobileBattle2 @@ -8651,7 +8414,6 @@ DisplayLinkBattleResult: ; 3f77c call DelayFrames call ClearTileMap ret -; 3f7f7 .Win: db "YOU WIN@" @@ -8659,9 +8421,8 @@ DisplayLinkBattleResult: ; 3f77c db "YOU LOSE@" .Draw: db " DRAW@" -; 3f80f -.Mobile_InvalidBattle: ; 3f80f +.Mobile_InvalidBattle: hlcoord 6, 8 ld de, .Invalid call PlaceString @@ -8669,19 +8430,16 @@ DisplayLinkBattleResult: ; 3f77c call DelayFrames call ClearTileMap ret -; 3f821 .Invalid: db "INVALID BATTLE@" -; 3f830 -IsMobileBattle2: ; 3f830 +IsMobileBattle2: ld a, [wLinkMode] cp LINK_MOBILE ret -; 3f836 -_DisplayLinkRecord: ; 3f836 +_DisplayLinkRecord: ld a, BANK(sLinkBattleStats) call GetSRAMBank @@ -8700,9 +8458,8 @@ _DisplayLinkRecord: ; 3f836 call DelayFrames call WaitPressAorB_BlinkCursor ret -; 3f85f -ReadAndPrintLinkBattleRecord: ; 3f85f +ReadAndPrintLinkBattleRecord: call ClearTileMap call ClearSprites call .PrintBattleRecord @@ -8819,24 +8576,21 @@ ReadAndPrintLinkBattleRecord: ; 3f85f call PlaceString scf ret -; 3f938 .Scores: db " 0 0 0@" -; 3f947 -.Format: ; 3f947 +.Format: db " --- <LNBRK>" db " - - -@" -.Record: ; 3f964 +.Record: db "<PLAYER>'s RECORD@" -.Result: ; 3f96e +.Result: db "RESULT WIN LOSE DRAW@" -.Total: ; 3f983 +.Total: db "TOTAL WIN LOSE DRAW@" -; 3f998 -BattleEnd_HandleRoamMons: ; 3f998 +BattleEnd_HandleRoamMons: ld a, [wBattleType] cp BATTLETYPE_ROAMING jr nz, .not_roaming @@ -8867,9 +8621,8 @@ BattleEnd_HandleRoamMons: ; 3f998 .update_roam_mons callfar UpdateRoamMons ret -; 3f9d1 -GetRoamMonMapGroup: ; 3f9d1 +GetRoamMonMapGroup: ld a, [wTempEnemyMonSpecies] ld b, a ld a, [wRoamMon1Species] @@ -8882,9 +8635,8 @@ GetRoamMonMapGroup: ; 3f9d1 ret z ld hl, wRoamMon3MapGroup ret -; 3f9e9 -GetRoamMonMapNumber: ; 3f9e9 +GetRoamMonMapNumber: ld a, [wTempEnemyMonSpecies] ld b, a ld a, [wRoamMon1Species] @@ -8897,9 +8649,8 @@ GetRoamMonMapNumber: ; 3f9e9 ret z ld hl, wRoamMon3MapNumber ret -; 3fa01 -GetRoamMonHP: ; 3fa01 +GetRoamMonHP: ; output: hl = wRoamMonHP ld a, [wTempEnemyMonSpecies] ld b, a @@ -8913,9 +8664,8 @@ GetRoamMonHP: ; 3fa01 ret z ld hl, wRoamMon3HP ret -; 3fa19 -GetRoamMonDVs: ; 3fa19 +GetRoamMonDVs: ; output: hl = wRoamMonDVs ld a, [wTempEnemyMonSpecies] ld b, a @@ -8929,9 +8679,8 @@ GetRoamMonDVs: ; 3fa19 ret z ld hl, wRoamMon3DVs ret -; 3fa31 -GetRoamMonSpecies: ; 3fa31 +GetRoamMonSpecies: ld a, [wTempEnemyMonSpecies] ld hl, wRoamMon1Species cp [hl] @@ -8941,9 +8690,8 @@ GetRoamMonSpecies: ; 3fa31 ret z ld hl, wRoamMon3Species ret -; 3fa42 -AddLastMobileBattleToLinkRecord: ; 3fa42 +AddLastMobileBattleToLinkRecord: ld hl, wOTPlayerID ld de, wStringBuffer1 ld bc, 2 @@ -8998,8 +8746,7 @@ AddLastMobileBattleToLinkRecord: ; 3fa42 call .StoreResult call .FindOpponentAndAppendRecord ret -; 3faa0 -.StoreResult: ; 3faa0 +.StoreResult: ld a, [wBattleResult] and $f cp LOSE @@ -9018,9 +8765,8 @@ AddLastMobileBattleToLinkRecord: ; 3fa42 dec hl inc [hl] ret -; 3fabe -.CheckOverflow: ; 3fabe +.CheckOverflow: dec hl ld a, [hl] inc hl @@ -9029,9 +8775,8 @@ AddLastMobileBattleToLinkRecord: ; 3fa42 ld a, [hl] cp LOW(MAX_LINK_RECORD) ret -; 3fac8 -.FindOpponentAndAppendRecord: ; 3fac8 +.FindOpponentAndAppendRecord: ld b, 5 ld hl, sLinkBattleRecord + 17 ld de, wd002 @@ -9123,9 +8868,8 @@ AddLastMobileBattleToLinkRecord: ; 3fa42 pop de call CopyBytes ret -; 3fb54 -.LoadPointer: ; 3fb54 +.LoadPointer: ld e, $0 ld a, [hld] ld c, a @@ -9150,9 +8894,8 @@ AddLastMobileBattleToLinkRecord: ; 3fa42 ret nc inc e ret -; 3fb6c -InitBattleDisplay: ; 3fb6c +InitBattleDisplay: call .InitBackPic hlcoord 0, 12 ld b, 4 @@ -9195,9 +8938,8 @@ InitBattleDisplay: ; 3fb6c xor a ld [hSCX], a ret -; 3fbd6 -.BlankBGMap: ; 3fbd6 +.BlankBGMap: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) @@ -9216,15 +8958,13 @@ InitBattleDisplay: ; 3fb6c pop af ld [rSVBK], a ret -; 3fbf8 -.InitBackPic: ; 3fbf8 +.InitBackPic: call GetTrainerBackpic call CopyBackpic ret -; 3fbff -GetTrainerBackpic: ; 3fbff +GetTrainerBackpic: ; Load the player character's backpic (6x6) into VRAM starting from vTiles2 tile $31. ; Special exception for Dude. @@ -9256,9 +8996,8 @@ GetTrainerBackpic: ; 3fbff ld c, 7 * 7 predef DecompressGet2bpp ret -; 3fc30 -CopyBackpic: ; 3fc30 +CopyBackpic: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) @@ -9278,9 +9017,8 @@ CopyBackpic: ; 3fc30 lb bc, 6, 6 predef PlaceGraphic ret -; 3fc5b -.LoadTrainerBackpicAsOAM: ; 3fc5b +.LoadTrainerBackpicAsOAM: ld hl, wVirtualOAMSprite00 xor a ld [hMapObjectIndexBuffer], a @@ -9314,9 +9052,8 @@ CopyBackpic: ; 3fc30 dec b jr nz, .outer_loop ret -; 3fc8b -BattleStartMessage: ; 3fc8b +BattleStartMessage: ld a, [wBattleMode] dec a jr z, .wild @@ -9397,4 +9134,3 @@ BattleStartMessage: ; 3fc8b farcall Mobile_PrintOpponentBattleMessage ret -; 3fd26 diff --git a/engine/battle/effect_commands.asm b/engine/battle/effect_commands.asm index ff114d870..07e8b3a2a 100644 --- a/engine/battle/effect_commands.asm +++ b/engine/battle/effect_commands.asm @@ -1,4 +1,4 @@ -DoPlayerTurn: ; 34000 +DoPlayerTurn: call SetPlayerTurn ld a, [wBattlePlayerAction] @@ -7,10 +7,9 @@ DoPlayerTurn: ; 34000 jr DoTurn -; 3400a -DoEnemyTurn: ; 3400a +DoEnemyTurn: call SetEnemyTurn ld a, [wLinkMode] @@ -24,10 +23,9 @@ DoEnemyTurn: ; 3400a ret nc ; fallthrough -; 3401d -DoTurn: ; 3401d +DoTurn: ; Read in and execute the user's move effects for this turn. xor a @@ -41,10 +39,9 @@ DoTurn: ; 3401d ret nz call UpdateMoveData -; 3402c -DoMove: ; 3402c +DoMove: ; Get the user's move effect. ld a, BATTLE_VARS_MOVE_EFFECT call GetBattleVar @@ -115,11 +112,10 @@ DoMove: ; 3402c .DoMoveEffectCommand: jp hl -; 34084 CheckTurn: -BattleCommand_CheckTurn: ; 34084 +BattleCommand_CheckTurn: ; checkturn ; Repurposed as hardcoded turn handling. Useless as a command. @@ -353,10 +349,9 @@ CheckPlayerTurn: call CantMove jp EndTurn -; 341f0 -CantMove: ; 341f0 +CantMove: ld a, BATTLE_VARS_SUBSTATUS1 call GetBattleVarAddr res SUBSTATUS_ROLLOUT, [hl] @@ -382,20 +377,18 @@ CantMove: ; 341f0 res SUBSTATUS_FLYING, [hl] jp AppearUserRaiseSub -; 34216 -OpponentCantMove: ; 34216 +OpponentCantMove: call BattleCommand_SwitchTurn call CantMove jp BattleCommand_SwitchTurn -; 3421f -CheckEnemyTurn: ; 3421f +CheckEnemyTurn: ld hl, wEnemySubStatus4 bit SUBSTATUS_RECHARGE, [hl] @@ -621,18 +614,16 @@ CheckEnemyTurn: ; 3421f call CantMove ; fallthrough -; 34385 -EndTurn: ; 34385 +EndTurn: ld a, $1 ld [wTurnEnded], a jp ResetDamage -; 3438d -MoveDisabled: ; 3438d +MoveDisabled: ; Make sure any charged moves fail ld a, BATTLE_VARS_SUBSTATUS3 @@ -647,10 +638,9 @@ MoveDisabled: ; 3438d ld hl, DisabledMoveText jp StdBattleTextBox -; 343a5 -HitConfusion: ; 343a5 +HitConfusion: ld hl, HurtItselfText call StdBattleTextBox @@ -680,10 +670,9 @@ HitConfusion: ; 343a5 call DoPlayerDamage jp BattleCommand_RaiseSub -; 343db -BattleCommand_CheckObedience: ; 343db +BattleCommand_CheckObedience: ; checkobedience ; Enemy can't disobey @@ -984,10 +973,9 @@ BattleCommand_CheckObedience: ; 343db jp EndMoveEffect -; 3451f -IgnoreSleepOnly: ; 3451f +IgnoreSleepOnly: ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVar @@ -1015,18 +1003,16 @@ IgnoreSleepOnly: ; 3451f scf ret -; 34541 -BattleCommand_UsedMoveText: ; 34541 +BattleCommand_UsedMoveText: ; usedmovetext farcall DisplayUsedMoveText ret -; 34548 -CheckUserIsCharging: ; 34548 +CheckUserIsCharging: ld a, [hBattleTurn] and a @@ -1037,10 +1023,9 @@ CheckUserIsCharging: ; 34548 and a ret -; 34555 -BattleCommand_DoTurn: ; 34555 +BattleCommand_DoTurn: call CheckUserIsCharging ret nz @@ -1165,9 +1150,8 @@ BattleCommand_DoTurn: ; 34555 ld b, 1 ret -; 34602 -.continuousmoves ; 34602 +.continuousmoves db EFFECT_RAZOR_WIND db EFFECT_SKY_ATTACK db EFFECT_SKULL_BASH @@ -1177,9 +1161,8 @@ BattleCommand_DoTurn: ; 34555 db EFFECT_BIDE db EFFECT_RAMPAGE db -1 -; 3460b -CheckMimicUsed: ; 3460b +CheckMimicUsed: ld a, [hBattleTurn] and a ld a, [wCurMoveNum] @@ -1209,10 +1192,9 @@ CheckMimicUsed: ; 3460b and a ret -; 34631 -BattleCommand_Critical: ; 34631 +BattleCommand_Critical: ; critical ; Determine whether this attack's hit will be critical. @@ -1303,13 +1285,12 @@ BattleCommand_Critical: ; 34631 ret INCLUDE "data/battle/critical_hits.asm" -; 346b2 INCLUDE "engine/battle/move_effects/triple_kick.asm" -BattleCommand_Stab: ; 346d2 +BattleCommand_Stab: ; STAB = Same Type Attack Bonus ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVar @@ -1493,16 +1474,15 @@ BattleCommand_Stab: ; 346d2 ld [wTypeModifier], a ret -; 347c8 -BattleCheckTypeMatchup: ; 347c8 +BattleCheckTypeMatchup: ld hl, wEnemyMonType1 ld a, [hBattleTurn] and a jr z, CheckTypeMatchup ld hl, wBattleMonType1 -CheckTypeMatchup: ; 347d3 +CheckTypeMatchup: ; There is an incorrect assumption about this function made in the AI related code: when ; the AI calls CheckTypeMatchup (not BattleCheckTypeMatchup), it assumes that placing the ; offensive type in a will make this function do the right thing. Since a is overwritten, @@ -1575,10 +1555,9 @@ CheckTypeMatchup: ; 347d3 pop hl ret -; 34833 -BattleCommand_ResetTypeMatchup: ; 34833 +BattleCommand_ResetTypeMatchup: ; Reset the type matchup multiplier to 1.0, if the type matchup is not 0. ; If there is immunity in play, the move automatically misses. call BattleCheckTypeMatchup @@ -1597,7 +1576,6 @@ BattleCommand_ResetTypeMatchup: ; 34833 ld [wTypeMatchup], a ret -; 3484e INCLUDE "engine/battle/ai/switch.asm" @@ -1605,7 +1583,7 @@ INCLUDE "engine/battle/ai/switch.asm" INCLUDE "data/types/type_matchups.asm" -BattleCommand_DamageVariation: ; 34cfd +BattleCommand_DamageVariation: ; damagevariation ; Modify the damage spread between 85% and 100%. @@ -1658,10 +1636,9 @@ BattleCommand_DamageVariation: ; 34cfd ld [hl], a ret -; 34d32 -BattleCommand_CheckHit: ; 34d32 +BattleCommand_CheckHit: ; checkhit call .DreamEater @@ -1977,10 +1954,9 @@ BattleCommand_CheckHit: ; 34d32 ret INCLUDE "data/battle/accuracy_multipliers.asm" -; 34ecc -BattleCommand_EffectChance: ; 34ecc +BattleCommand_EffectChance: ; effectchance xor a @@ -2007,10 +1983,9 @@ BattleCommand_EffectChance: ; 34ecc and a ret -; 34eee -BattleCommand_LowerSub: ; 34eee +BattleCommand_LowerSub: ; lowersub ld a, BATTLE_VARS_SUBSTATUS4 @@ -2078,19 +2053,17 @@ BattleCommand_LowerSub: ; 34eee ld [wSomeoneIsRampaging], a ret -; 34f57 -BattleCommand_MoveAnim: ; 34f57 +BattleCommand_MoveAnim: ; moveanim call BattleCommand_LowerSub call BattleCommand_MoveAnimNoSub jp BattleCommand_RaiseSub -; 34f60 -BattleCommand_MoveAnimNoSub: ; 34f60 +BattleCommand_MoveAnimNoSub: ld a, [wAttackMissed] and a jp nz, BattleCommand_MoveDelay @@ -2154,10 +2127,9 @@ BattleCommand_MoveAnimNoSub: ; 34f60 ld [wNumHits], a jp PlayFXAnimID -; 34fd1 -BattleCommand_StatUpAnim: ; 34fd1 +BattleCommand_StatUpAnim: ld a, [wAttackMissed] and a jp nz, BattleCommand_MoveDelay @@ -2165,10 +2137,9 @@ BattleCommand_StatUpAnim: ; 34fd1 xor a jr BattleCommand_StatUpDownAnim -; 34fdb -BattleCommand_StatDownAnim: ; 34fdb +BattleCommand_StatDownAnim: ld a, [wAttackMissed] and a jp nz, BattleCommand_MoveDelay @@ -2180,10 +2151,9 @@ BattleCommand_StatDownAnim: ; 34fdb ld a, BATTLEANIM_WOBBLE ; fallthrough -; 34feb -BattleCommand_StatUpDownAnim: ; 34feb +BattleCommand_StatUpDownAnim: ld [wNumHits], a xor a ld [wKickCounter], a @@ -2193,10 +2163,9 @@ BattleCommand_StatUpDownAnim: ; 34feb ld d, 0 jp PlayFXAnimID -; 34ffd -BattleCommand_SwitchTurn: ; 34ffd +BattleCommand_SwitchTurn: ; switchturn ld a, [hBattleTurn] @@ -2204,10 +2173,9 @@ BattleCommand_SwitchTurn: ; 34ffd ld [hBattleTurn], a ret -; 35004 -BattleCommand_RaiseSub: ; 35004 +BattleCommand_RaiseSub: ; raisesub ld a, BATTLE_VARS_SUBSTATUS4 @@ -2226,10 +2194,9 @@ BattleCommand_RaiseSub: ; 35004 ld a, SUBSTITUTE jp LoadAnim -; 35023 -BattleCommand_FailureText: ; 35023 +BattleCommand_FailureText: ; failuretext ; If the move missed or failed, load the appropriate ; text, and end the effects of multi-turn or multi- @@ -2271,10 +2238,9 @@ BattleCommand_FailureText: ; 35023 call AppearUserRaiseSub jp EndMoveEffect -; 3505e -BattleCommand_ApplyDamage: ; 3505e +BattleCommand_ApplyDamage: ; applydamage ld a, BATTLE_VARS_SUBSTATUS1_OPP @@ -2366,10 +2332,9 @@ BattleCommand_ApplyDamage: ; 3505e ld [de], a ret -; 350e4 -GetFailureResultText: ; 350e4 +GetFailureResultText: ld hl, DoesntAffectText ld de, DoesntAffectText ld a, [wTypeModifier] @@ -2427,7 +2392,7 @@ endr jp nz, DoEnemyDamage jp DoPlayerDamage -FailText_CheckOpponentProtect: ; 35157 +FailText_CheckOpponentProtect: ld a, BATTLE_VARS_SUBSTATUS1_OPP call GetBattleVar bit SUBSTATUS_PROTECT, a @@ -2437,10 +2402,9 @@ FailText_CheckOpponentProtect: ; 35157 .not_protected jp StdBattleTextBox -; 35165 -BattleCommand_BideFailText: ; 35165 +BattleCommand_BideFailText: ld a, [wAttackMissed] and a ret z @@ -2450,10 +2414,9 @@ BattleCommand_BideFailText: ; 35165 jp z, PrintDoesntAffect jp PrintButItFailed -; 35175 -BattleCommand_CriticalText: ; 35175 +BattleCommand_CriticalText: ; criticaltext ; Prints the message for critical hits or one-hit KOs. @@ -2483,10 +2446,9 @@ BattleCommand_CriticalText: ; 35175 .texts dw CriticalHitText dw OneHitKOText -; 35197 -BattleCommand_StartLoop: ; 35197 +BattleCommand_StartLoop: ; startloop ld hl, wPlayerRolloutCount @@ -2499,10 +2461,9 @@ BattleCommand_StartLoop: ; 35197 ld [hl], a ret -; 351a5 -BattleCommand_SuperEffectiveLoopText: ; 351a5 +BattleCommand_SuperEffectiveLoopText: ; supereffectivelooptext ld a, BATTLE_VARS_SUBSTATUS3 @@ -2511,10 +2472,9 @@ BattleCommand_SuperEffectiveLoopText: ; 351a5 ret nz ; fallthrough -; 351ad -BattleCommand_SuperEffectiveText: ; 351ad +BattleCommand_SuperEffectiveText: ; supereffectivetext ld a, [wTypeModifier] @@ -2527,10 +2487,9 @@ BattleCommand_SuperEffectiveText: ; 351ad .print jp StdBattleTextBox -; 351c0 -BattleCommand_CheckDestinyBond: ; 351c0 +BattleCommand_CheckDestinyBond: ; checkdestinybond ; Faint the user if it fainted an opponent using Destiny Bond. @@ -2617,10 +2576,9 @@ BattleCommand_CheckDestinyBond: ; 351c0 .finish jp EndMoveEffect -; 35250 -BattleCommand_BuildOpponentRage: ; 35250 +BattleCommand_BuildOpponentRage: ; buildopponentrage jp .start @@ -2651,10 +2609,9 @@ BattleCommand_BuildOpponentRage: ; 35250 call StdBattleTextBox jp BattleCommand_SwitchTurn -; 3527b -BattleCommand_RageDamage: ; 3527b +BattleCommand_RageDamage: ; ragedamage ld a, [wCurDamage] @@ -2682,10 +2639,9 @@ BattleCommand_RageDamage: ; 3527b ld [wCurDamage + 1], a ret -; 352a3 -EndMoveEffect: ; 352a3 +EndMoveEffect: ld a, [wBattleScriptBufferAddress] ld l, a ld a, [wBattleScriptBufferAddress + 1] @@ -2696,10 +2652,9 @@ EndMoveEffect: ; 352a3 ld [hl], a ret -; 352b1 -DittoMetalPowder: ; 352b1 +DittoMetalPowder: ld a, MON_SPECIES call BattlePartyAttr ld a, [hBattleTurn] @@ -2735,10 +2690,9 @@ DittoMetalPowder: ; 352b1 rr c ret -; 352dc -BattleCommand_DamageStats: ; 352dc +BattleCommand_DamageStats: ; damagestats ld a, [hBattleTurn] @@ -2746,10 +2700,9 @@ BattleCommand_DamageStats: ; 352dc jp nz, EnemyAttackDamage ; fallthrough -; 352e2 -PlayerAttackDamage: ; 352e2 +PlayerAttackDamage: ; Return move power d, player level e, enemy defense c and player attack b. call ResetDamage @@ -2831,10 +2784,9 @@ PlayerAttackDamage: ; 352e2 and a ret -; 3534d -TruncateHL_BC: ; 3534d +TruncateHL_BC: .loop ; Truncate 16-bit values hl and bc to 8-bit values b and c respectively. ; b = hl, c = bc @@ -2879,10 +2831,9 @@ TruncateHL_BC: ; 3534d ld b, l ret -; 35378 -GetDamageStatsCritical: ; 35378 +GetDamageStatsCritical: ; Return carry if non-critical. ld a, [wCriticalHit] @@ -2891,10 +2842,9 @@ GetDamageStatsCritical: ; 35378 ret z ; fallthrough -; 3537e -GetDamageStats: ; 3537e +GetDamageStats: ; Return the attacker's offensive stat and the defender's defensive ; stat based on whether the attacking type is physical or special. @@ -2934,10 +2884,9 @@ GetDamageStats: ; 3537e pop hl ret -; 353b5 -ThickClubBoost: ; 353b5 +ThickClubBoost: ; Return in hl the stat value at hl. ; If the attacking monster is Cubone or Marowak and @@ -2952,10 +2901,9 @@ ThickClubBoost: ; 353b5 pop bc ret -; 353c3 -LightBallBoost: ; 353c3 +LightBallBoost: ; Return in hl the stat value at hl. ; If the attacking monster is Pikachu and it's @@ -2970,10 +2918,9 @@ LightBallBoost: ; 353c3 pop bc ret -; 353d1 -SpeciesItemBoost: ; 353d1 +SpeciesItemBoost: ; Return in hl the stat value at hl. ; If the attacking monster is species b or c and @@ -3013,10 +2960,9 @@ SpeciesItemBoost: ; 353d1 rl h ret -; 353f6 -EnemyAttackDamage: ; 353f6 +EnemyAttackDamage: call ResetDamage ; No damage dealt with 0 power. @@ -3094,13 +3040,12 @@ EnemyAttackDamage: ; 353f6 and a ret -; 35461 INCLUDE "engine/battle/move_effects/beat_up.asm" -BattleCommand_ClearMissDamage: ; 355d5 +BattleCommand_ClearMissDamage: ; clearmissdamage ld a, [wAttackMissed] and a @@ -3108,10 +3053,9 @@ BattleCommand_ClearMissDamage: ; 355d5 jp ResetDamage -; 355dd -HitSelfInConfusion: ; 355dd +HitSelfInConfusion: call ResetDamage ld a, [hBattleTurn] and a @@ -3147,10 +3091,9 @@ HitSelfInConfusion: ; 355dd ld e, a ret -; 35612 -BattleCommand_DamageCalc: ; 35612 +BattleCommand_DamageCalc: ; damagecalc ; Return a damage value for move power d, player level e, enemy defense c and player attack b. @@ -3382,13 +3325,12 @@ BattleCommand_DamageCalc: ; 35612 ret -; 35703 INCLUDE "data/types/type_boost_items.asm" -BattleCommand_ConstantDamage: ; 35726 +BattleCommand_ConstantDamage: ; constantdamage ld hl, wBattleMonLevel @@ -3564,7 +3506,7 @@ INCLUDE "engine/battle/move_effects/lock_on.asm" INCLUDE "engine/battle/move_effects/sketch.asm" -BattleCommand_DefrostOpponent: ; 35b16 +BattleCommand_DefrostOpponent: ; defrostopponent ; Thaw the opponent if frozen, and ; raise the user's Attack one stage. @@ -3590,7 +3532,6 @@ BattleCommand_DefrostOpponent: ; 35b16 ld [hl], a ret -; 35b33 INCLUDE "engine/battle/move_effects/sleep_talk.asm" @@ -3604,7 +3545,7 @@ INCLUDE "engine/battle/move_effects/false_swipe.asm" INCLUDE "engine/battle/move_effects/heal_bell.asm" -FarPlayBattleAnimation: ; 35d00 +FarPlayBattleAnimation: ; play animation de ld a, BATTLE_VARS_SUBSTATUS3 @@ -3613,9 +3554,8 @@ FarPlayBattleAnimation: ; 35d00 ret nz ; fallthrough -; 35d08 -PlayFXAnimID: ; 35d08 +PlayFXAnimID: ld a, e ld [wFXAnimID], a ld a, d @@ -3626,10 +3566,9 @@ PlayFXAnimID: ; 35d08 callfar PlayBattleAnim ret -; 35d1c -DoEnemyDamage: ; 35d1c +DoEnemyDamage: ld hl, wCurDamage ld a, [hli] ld b, a @@ -3689,10 +3628,9 @@ DoEnemyDamage: ; 35d1c .did_no_damage jp RefreshBattleHuds -; 35d7e -DoPlayerDamage: ; 35d7e +DoPlayerDamage: ld hl, wCurDamage ld a, [hli] ld b, a @@ -3752,10 +3690,9 @@ DoPlayerDamage: ; 35d7e .did_no_damage jp RefreshBattleHuds -; 35de0 -DoSubstituteDamage: ; 35de0 +DoSubstituteDamage: ld hl, SubTookDamageText call StdBattleTextBox @@ -3812,10 +3749,9 @@ DoSubstituteDamage: ; 35de0 .done jp ResetDamage -; 35e40 -UpdateMoveData: ; 35e40 +UpdateMoveData: ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVarAddr @@ -3832,10 +3768,9 @@ UpdateMoveData: ; 35e40 call GetMoveName jp CopyName1 -; 35e5c -BattleCommand_SleepTarget: ; 35e5c +BattleCommand_SleepTarget: ; sleeptarget call GetOpponentItem @@ -3906,10 +3841,9 @@ BattleCommand_SleepTarget: ; 35e5c pop hl jp StdBattleTextBox -; 35ece -.CheckAIRandomFail: ; 35ece +.CheckAIRandomFail: ; Enemy turn ld a, [hBattleTurn] and a @@ -3937,10 +3871,9 @@ BattleCommand_SleepTarget: ; 35e5c xor a ret -; 35eee -BattleCommand_PoisonTarget: ; 35eee +BattleCommand_PoisonTarget: ; poisontarget call CheckSubstituteOpp @@ -3975,10 +3908,9 @@ BattleCommand_PoisonTarget: ; 35eee farcall UseHeldStatusHealingItem ret -; 35f2c -BattleCommand_Poison: ; 35f2c +BattleCommand_Poison: ; poison ld hl, DoesntAffectText @@ -4066,18 +3998,16 @@ BattleCommand_Poison: ; 35f2c pop hl jp StdBattleTextBox -; 35fc0 -.apply_poison ; 35fc0 +.apply_poison call AnimateCurrentMove call PoisonOpponent jp RefreshBattleHuds -; 35fc9 -.check_toxic ; 35fc9 +.check_toxic ld a, BATTLE_VARS_SUBSTATUS5_OPP call GetBattleVarAddr ld a, [hBattleTurn] @@ -4091,10 +4021,9 @@ BattleCommand_Poison: ; 35f2c cp EFFECT_TOXIC ret -; 35fe1 -CheckIfTargetIsPoisonType: ; 35fe1 +CheckIfTargetIsPoisonType: ld de, wEnemyMonType1 ld a, [hBattleTurn] and a @@ -4109,37 +4038,33 @@ CheckIfTargetIsPoisonType: ; 35fe1 cp POISON ret -; 35ff5 -PoisonOpponent: ; 35ff5 +PoisonOpponent: ld a, BATTLE_VARS_STATUS_OPP call GetBattleVarAddr set PSN, [hl] jp UpdateOpponentInParty -; 35fff -BattleCommand_DrainTarget: ; 35fff +BattleCommand_DrainTarget: ; draintarget call SapHealth ld hl, SuckedHealthText jp StdBattleTextBox -; 36008 -BattleCommand_EatDream: ; 36008 +BattleCommand_EatDream: ; eatdream call SapHealth ld hl, DreamEatenText jp StdBattleTextBox -; 36011 -SapHealth: ; 36011 +SapHealth: ; Divide damage by 2, store it in hDividend ld hl, wCurDamage ld a, [hli] @@ -4232,10 +4157,9 @@ SapHealth: ; 36011 call RefreshBattleHuds jp UpdateBattleMonInParty -; 3608c -BattleCommand_BurnTarget: ; 3608c +BattleCommand_BurnTarget: ; burntarget xor a @@ -4276,10 +4200,9 @@ BattleCommand_BurnTarget: ; 3608c farcall UseHeldStatusHealingItem ret -; 360dd -Defrost: ; 360dd +Defrost: ld a, [hl] and 1 << FRZ ret z @@ -4304,10 +4227,9 @@ Defrost: ; 360dd ld hl, DefrostedOpponentText jp StdBattleTextBox -; 36102 -BattleCommand_FreezeTarget: ; 36102 +BattleCommand_FreezeTarget: ; freezetarget xor a @@ -4360,10 +4282,9 @@ BattleCommand_FreezeTarget: ; 36102 ld [hl], $1 ret -; 36165 -BattleCommand_ParalyzeTarget: ; 36165 +BattleCommand_ParalyzeTarget: ; paralyzetarget xor a @@ -4399,80 +4320,79 @@ BattleCommand_ParalyzeTarget: ; 36165 ld hl, UseHeldStatusHealingItem jp CallBattleCore -; 361ac -BattleCommand_AttackUp: ; 361ac +BattleCommand_AttackUp: ; attackup ld b, ATTACK jr BattleCommand_StatUp -BattleCommand_DefenseUp: ; 361b0 +BattleCommand_DefenseUp: ; defenseup ld b, DEFENSE jr BattleCommand_StatUp -BattleCommand_SpeedUp: ; 361b4 +BattleCommand_SpeedUp: ; speedup ld b, SPEED jr BattleCommand_StatUp -BattleCommand_SpecialAttackUp: ; 361b8 +BattleCommand_SpecialAttackUp: ; specialattackup ld b, SP_ATTACK jr BattleCommand_StatUp -BattleCommand_SpecialDefenseUp: ; 361bc +BattleCommand_SpecialDefenseUp: ; specialdefenseup ld b, SP_DEFENSE jr BattleCommand_StatUp -BattleCommand_AccuracyUp: ; 361c0 +BattleCommand_AccuracyUp: ; accuracyup ld b, ACCURACY jr BattleCommand_StatUp -BattleCommand_EvasionUp: ; 361c4 +BattleCommand_EvasionUp: ; evasionup ld b, EVASION jr BattleCommand_StatUp -BattleCommand_AttackUp2: ; 361c8 +BattleCommand_AttackUp2: ; attackup2 ld b, $10 | ATTACK jr BattleCommand_StatUp -BattleCommand_DefenseUp2: ; 361cc +BattleCommand_DefenseUp2: ; defenseup2 ld b, $10 | DEFENSE jr BattleCommand_StatUp -BattleCommand_SpeedUp2: ; 361d0 +BattleCommand_SpeedUp2: ; speedup2 ld b, $10 | SPEED jr BattleCommand_StatUp -BattleCommand_SpecialAttackUp2: ; 361d4 +BattleCommand_SpecialAttackUp2: ; specialattackup2 ld b, $10 | SP_ATTACK jr BattleCommand_StatUp -BattleCommand_SpecialDefenseUp2: ; 361d8 +BattleCommand_SpecialDefenseUp2: ; specialdefenseup2 ld b, $10 | SP_DEFENSE jr BattleCommand_StatUp -BattleCommand_AccuracyUp2: ; 361dc +BattleCommand_AccuracyUp2: ; accuracyup2 ld b, $10 | ACCURACY jr BattleCommand_StatUp -BattleCommand_EvasionUp2: ; 361e0 +BattleCommand_EvasionUp2: ; evasionup2 ld b, $10 | EVASION jr BattleCommand_StatUp -BattleCommand_StatUp: ; 361e4 +BattleCommand_StatUp: ; statup call CheckIfStatCanBeRaised ld a, [wFailedMessage] @@ -4480,10 +4400,9 @@ BattleCommand_StatUp: ; 361e4 ret nz jp StatUpAnimation -; 361ef -CheckIfStatCanBeRaised: ; 361ef +CheckIfStatCanBeRaised: ld a, b ld [wLoweredStat], a ld hl, wPlayerStatLevels @@ -4562,35 +4481,31 @@ CheckIfStatCanBeRaised: ; 361ef ld [wFailedMessage], a ret -; 3626e -.stats_already_max ; 3626e +.stats_already_max pop hl dec [hl] ; fallthrough -; 36270 -.cant_raise_stat ; 36270 +.cant_raise_stat ld a, $2 ld [wFailedMessage], a ld a, $1 ld [wAttackMissed], a ret -; 3627b -.stat_raise_failed ; 3627b +.stat_raise_failed ld a, $1 ld [wFailedMessage], a ret -; 36281 -StatUpAnimation: ; 36281 +StatUpAnimation: ld bc, wPlayerMinimized ld hl, DropPlayerSub ld a, [hBattleTurn] @@ -4615,79 +4530,78 @@ StatUpAnimation: ; 36281 call WaitBGMap jp BattleCommand_MoveDelay -; 362ad -BattleCommand_AttackDown: ; 362ad +BattleCommand_AttackDown: ; attackdown ld a, ATTACK jr BattleCommand_StatDown -BattleCommand_DefenseDown: ; 362b1 +BattleCommand_DefenseDown: ; defensedown ld a, DEFENSE jr BattleCommand_StatDown -BattleCommand_SpeedDown: ; 362b5 +BattleCommand_SpeedDown: ; speeddown ld a, SPEED jr BattleCommand_StatDown -BattleCommand_SpecialAttackDown: ; 362b9 +BattleCommand_SpecialAttackDown: ; specialattackdown ld a, SP_ATTACK jr BattleCommand_StatDown -BattleCommand_SpecialDefenseDown: ; 362bd +BattleCommand_SpecialDefenseDown: ; specialdefensedown ld a, SP_DEFENSE jr BattleCommand_StatDown -BattleCommand_AccuracyDown: ; 362c1 +BattleCommand_AccuracyDown: ; accuracydown ld a, ACCURACY jr BattleCommand_StatDown -BattleCommand_EvasionDown: ; 362c5 +BattleCommand_EvasionDown: ; evasiondown ld a, EVASION jr BattleCommand_StatDown -BattleCommand_AttackDown2: ; 362c9 +BattleCommand_AttackDown2: ; attackdown2 ld a, $10 | ATTACK jr BattleCommand_StatDown -BattleCommand_DefenseDown2: ; 362cd +BattleCommand_DefenseDown2: ; defensedown2 ld a, $10 | DEFENSE jr BattleCommand_StatDown -BattleCommand_SpeedDown2: ; 362d1 +BattleCommand_SpeedDown2: ; speeddown2 ld a, $10 | SPEED jr BattleCommand_StatDown -BattleCommand_SpecialAttackDown2: ; 362d5 +BattleCommand_SpecialAttackDown2: ; specialattackdown2 ld a, $10 | SP_ATTACK jr BattleCommand_StatDown -BattleCommand_SpecialDefenseDown2: ; 362d9 +BattleCommand_SpecialDefenseDown2: ; specialdefensedown2 ld a, $10 | SP_DEFENSE jr BattleCommand_StatDown -BattleCommand_AccuracyDown2: ; 362dd +BattleCommand_AccuracyDown2: ; accuracydown2 ld a, $10 | ACCURACY jr BattleCommand_StatDown -BattleCommand_EvasionDown2: ; 362e1 +BattleCommand_EvasionDown2: ; evasiondown2 ld a, $10 | EVASION -BattleCommand_StatDown: ; 362e3 +BattleCommand_StatDown: ; statdown ld [wLoweredStat], a @@ -4810,10 +4724,9 @@ BattleCommand_StatDown: ; 362e3 ld [wAttackMissed], a ret -; 36391 -CheckMist: ; 36391 +CheckMist: ld a, BATTLE_VARS_MOVE_EFFECT call GetBattleVar cp EFFECT_ATTACK_DOWN @@ -4838,10 +4751,9 @@ CheckMist: ; 36391 bit SUBSTATUS_MIST, a ret -; 363b8 -BattleCommand_StatUpMessage: ; 363b8 +BattleCommand_StatUpMessage: ld a, [wFailedMessage] and a ret nz @@ -4871,10 +4783,9 @@ BattleCommand_StatUpMessage: ; 363b8 text_jump UnknownText_0x1c0ce0 db "@" -; 363e9 -BattleCommand_StatDownMessage: ; 363e9 +BattleCommand_StatDownMessage: ld a, [wFailedMessage] and a ret nz @@ -4903,10 +4814,9 @@ BattleCommand_StatDownMessage: ; 363e9 text_jump UnknownText_0x1c0d06 db "@" -; 3641a -TryLowerStat: ; 3641a +TryLowerStat: ; Lower stat c from stat struct hl (buffer de). push bc @@ -4949,10 +4859,9 @@ TryLowerStat: ; 3641a and a ret -; 3644c -BattleCommand_StatUpFailText: ; 3644c +BattleCommand_StatUpFailText: ; statupfailtext ld a, [wFailedMessage] and a @@ -4970,10 +4879,9 @@ BattleCommand_StatUpFailText: ; 3644c ld hl, WontRiseAnymoreText jp StdBattleTextBox -; 3646a -BattleCommand_StatDownFailText: ; 3646a +BattleCommand_StatDownFailText: ; statdownfailtext ld a, [wFailedMessage] and a @@ -4994,10 +4902,9 @@ BattleCommand_StatDownFailText: ; 3646a ld hl, WontDropAnymoreText jp StdBattleTextBox -; 3648f -GetStatName: ; 3648f +GetStatName: ld hl, StatNames ld c, "@" .CheckName: @@ -5020,7 +4927,7 @@ INCLUDE "data/battle/stat_names.asm" INCLUDE "data/battle/stat_multipliers.asm" -BattleCommand_AllStatsUp: ; 36500 +BattleCommand_AllStatsUp: ; allstatsup ; Attack @@ -5047,18 +4954,16 @@ BattleCommand_AllStatsUp: ; 36500 call ResetMiss call BattleCommand_SpecialDefenseUp jp BattleCommand_StatUpMessage -; 3652d -ResetMiss: ; 3652d +ResetMiss: xor a ld [wAttackMissed], a ret -; 36532 -LowerStat: ; 36532 +LowerStat: ld [wLoweredStat], a ld hl, wPlayerStatLevels @@ -5129,10 +5034,9 @@ LowerStat: ; 36532 ld [wFailedMessage], a ret -; 3658f -BattleCommand_TriStatusChance: ; 3658f +BattleCommand_TriStatusChance: ; tristatuschance call BattleCommand_EffectChance @@ -5152,20 +5056,18 @@ BattleCommand_TriStatusChance: ; 3658f dw BattleCommand_ParalyzeTarget ; paralyze dw BattleCommand_FreezeTarget ; freeze dw BattleCommand_BurnTarget ; burn -; 365a7 -BattleCommand_Curl: ; 365a7 +BattleCommand_Curl: ; curl ld a, BATTLE_VARS_SUBSTATUS2 call GetBattleVarAddr set SUBSTATUS_CURLED, [hl] ret -; 365af -BattleCommand_RaiseSubNoAnim: ; 365af +BattleCommand_RaiseSubNoAnim: ld hl, GetBattleMonBackpic ld a, [hBattleTurn] and a @@ -5177,10 +5079,9 @@ BattleCommand_RaiseSubNoAnim: ; 365af call CallBattleCore jp WaitBGMap -; 365c3 -BattleCommand_LowerSubNoAnim: ; 365c3 +BattleCommand_LowerSubNoAnim: ld hl, DropPlayerSub ld a, [hBattleTurn] and a @@ -5192,10 +5093,9 @@ BattleCommand_LowerSubNoAnim: ; 365c3 call CallBattleCore jp WaitBGMap -; 365d7 -CalcPlayerStats: ; 365d7 +CalcPlayerStats: ld hl, wPlayerAtkLevel ld de, wPlayerStats ld bc, wBattleMonAttack @@ -5216,10 +5116,9 @@ CalcPlayerStats: ; 365d7 jp BattleCommand_SwitchTurn -; 365fd -CalcEnemyStats: ; 365fd +CalcEnemyStats: ld hl, wEnemyAtkLevel ld de, wEnemyStats ld bc, wEnemyMonAttack @@ -5237,10 +5136,9 @@ CalcEnemyStats: ; 365fd jp BattleCommand_SwitchTurn -; 3661d -CalcStats: ; 3661d +CalcStats: .loop push af ld a, [hli] @@ -5309,13 +5207,12 @@ CalcStats: ; 3661d ret -; 36671 INCLUDE "engine/battle/move_effects/bide.asm" -BattleCommand_CheckRampage: ; 3671a +BattleCommand_CheckRampage: ; checkrampage ld de, wPlayerRolloutCount @@ -5352,10 +5249,9 @@ BattleCommand_CheckRampage: ; 3671a ld b, rampage_command jp SkipToBattleCommand -; 36751 -BattleCommand_Rampage: ; 36751 +BattleCommand_Rampage: ; rampage ; No rampage during Sleep Talk. @@ -5382,23 +5278,21 @@ BattleCommand_Rampage: ; 36751 ld [wSomeoneIsRampaging], a ret -; 36778 INCLUDE "engine/battle/move_effects/teleport.asm" -SetBattleDraw: ; 36804 +SetBattleDraw: ld a, [wBattleResult] and BATTLERESULT_BITMASK or DRAW ld [wBattleResult], a ret -; 3680f -BattleCommand_ForceSwitch: ; 3680f +BattleCommand_ForceSwitch: ; forceswitch ld a, [wBattleType] @@ -5617,10 +5511,9 @@ BattleCommand_ForceSwitch: ; 3680f .do_text jp StdBattleTextBox -; 36994 -CheckPlayerHasMonToSwitchTo: ; 36994 +CheckPlayerHasMonToSwitchTo: ld a, [wPartyCount] ld d, a ld e, 0 @@ -5649,10 +5542,9 @@ CheckPlayerHasMonToSwitchTo: ; 36994 and a ret -; 369b6 -BattleCommand_EndLoop: ; 369b6 +BattleCommand_EndLoop: ; endloop ; Loop back to 'critical'. @@ -5786,10 +5678,9 @@ BattleCommand_EndLoop: ; 369b6 ld [wBattleScriptBufferAddress], a ret -; 36a82 -BattleCommand_FakeOut: ; 36a82 +BattleCommand_FakeOut: ld a, [wAttackMissed] and a ret nz @@ -5810,10 +5701,9 @@ BattleCommand_FakeOut: ; 36a82 ld [wAttackMissed], a ret -; 36aa0 -BattleCommand_FlinchTarget: ; 36aa0 +BattleCommand_FlinchTarget: call CheckSubstituteOpp ret nz @@ -5830,19 +5720,17 @@ BattleCommand_FlinchTarget: ; 36aa0 ret nz ; fallthrough -; 36ab5 -FlinchTarget: ; 36ab5 +FlinchTarget: ld a, BATTLE_VARS_SUBSTATUS3_OPP call GetBattleVarAddr set SUBSTATUS_FLINCHED, [hl] jp EndRechargeOpp -; 36abf -CheckOpponentWentFirst: ; 36abf +CheckOpponentWentFirst: ; Returns a=0, z if user went first ; Returns a=1, nz if opponent went first push bc @@ -5853,10 +5741,9 @@ CheckOpponentWentFirst: ; 36abf pop bc ret -; 36ac9 -BattleCommand_HeldFlinch: ; 36ac9 +BattleCommand_HeldFlinch: ; kingsrock ld a, [wAttackMissed] @@ -5884,10 +5771,9 @@ BattleCommand_HeldFlinch: ; 36ac9 set SUBSTATUS_FLINCHED, [hl] ret -; 36af3 -BattleCommand_OHKO: ; 36af3 +BattleCommand_OHKO: ; ohko call ResetDamage @@ -5933,10 +5819,9 @@ BattleCommand_OHKO: ; 36af3 ld [wAttackMissed], a ret -; 36b3a -BattleCommand_CheckCharge: ; 36b3a +BattleCommand_CheckCharge: ; checkcharge ld a, BATTLE_VARS_SUBSTATUS3 @@ -5949,10 +5834,9 @@ BattleCommand_CheckCharge: ; 36b3a ld b, charge_command jp SkipToBattleCommand -; 36b4d -BattleCommand_Charge: ; 36b4d +BattleCommand_Charge: ; charge call BattleCommand_ClearText @@ -6092,17 +5976,15 @@ BattleCommand_Charge: ; 36b4d ; 'dug a hole!' text_jump UnknownText_0x1c0d6c db "@" -; 36c2c -BattleCommand3c: ; 36c2c +BattleCommand3c: ; unused ret -; 36c2d -BattleCommand_TrapTarget: ; 36c2d +BattleCommand_TrapTarget: ; traptarget ld a, [wAttackMissed] @@ -6157,7 +6039,6 @@ BattleCommand_TrapTarget: ; 36c2d dbw FIRE_SPIN, FireSpinTrapText ; 'was trapped!' dbw CLAMP, ClampedByText ; 'was CLAMPED by' dbw WHIRLPOOL, WhirlpoolTrapText ; 'was trapped!' -; 36c7e INCLUDE "engine/battle/move_effects/mist.asm" @@ -6165,7 +6046,7 @@ INCLUDE "engine/battle/move_effects/mist.asm" INCLUDE "engine/battle/move_effects/focus_energy.asm" -BattleCommand_Recoil: ; 36cb2 +BattleCommand_Recoil: ; recoil ld hl, wBattleMonMaxHP @@ -6229,10 +6110,9 @@ BattleCommand_Recoil: ; 36cb2 ld hl, RecoilText jp StdBattleTextBox -; 36d1d -BattleCommand_ConfuseTarget: ; 36d1d +BattleCommand_ConfuseTarget: ; confusetarget call GetOpponentItem @@ -6253,7 +6133,7 @@ BattleCommand_ConfuseTarget: ; 36d1d jr BattleCommand_FinishConfusingTarget -BattleCommand_Confuse: ; 36d3b +BattleCommand_Confuse: ; confuse call GetOpponentItem @@ -6282,7 +6162,7 @@ BattleCommand_Confuse: ; 36d3b ld a, [wAttackMissed] and a jr nz, BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit -BattleCommand_FinishConfusingTarget: ; 36d70 +BattleCommand_FinishConfusingTarget: ld bc, wEnemyConfuseCount ld a, [hBattleTurn] and a @@ -6325,9 +6205,8 @@ BattleCommand_FinishConfusingTarget: ; 36d70 ld hl, UseConfusionHealingItem jp CallBattleCore -; 36db6 -BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit: ; 36db6 +BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit: ld a, BATTLE_VARS_MOVE_EFFECT call GetBattleVar cp EFFECT_CONFUSE_HIT @@ -6338,10 +6217,9 @@ BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit: ; 36db6 ret z jp PrintDidntAffect2 -; 36dc7 -BattleCommand_Paralyze: ; 36dc7 +BattleCommand_Paralyze: ; paralyze ld a, BATTLE_VARS_STATUS_OPP @@ -6421,10 +6299,9 @@ BattleCommand_Paralyze: ; 36dc7 call AnimateFailedMove jp PrintDoesntAffect -; 36e5b -CheckMoveTypeMatchesTarget: ; 36e5b +CheckMoveTypeMatchesTarget: ; Compare move type to opponent type. ; Return z if matching the opponent type, ; unless the move is Normal (Tri Attack). @@ -6459,23 +6336,21 @@ CheckMoveTypeMatchesTarget: ; 36e5b pop hl ret -; 36e7c INCLUDE "engine/battle/move_effects/substitute.asm" -BattleCommand_RechargeNextTurn: ; 36f0b +BattleCommand_RechargeNextTurn: ; rechargenextturn ld a, BATTLE_VARS_SUBSTATUS4 call GetBattleVarAddr set SUBSTATUS_RECHARGE, [hl] ret -; 36f13 -EndRechargeOpp: ; 36f13 +EndRechargeOpp: push hl ld a, BATTLE_VARS_SUBSTATUS4_OPP call GetBattleVarAddr @@ -6483,13 +6358,12 @@ EndRechargeOpp: ; 36f13 pop hl ret -; 36f1d INCLUDE "engine/battle/move_effects/rage.asm" -BattleCommand_DoubleFlyingDamage: ; 36f25 +BattleCommand_DoubleFlyingDamage: ; doubleflyingdamage ld a, BATTLE_VARS_SUBSTATUS3_OPP call GetBattleVar @@ -6497,10 +6371,9 @@ BattleCommand_DoubleFlyingDamage: ; 36f25 ret z jr DoubleDamage -; 36f2f -BattleCommand_DoubleUndergroundDamage: ; 36f2f +BattleCommand_DoubleUndergroundDamage: ; doubleundergrounddamage ld a, BATTLE_VARS_SUBSTATUS3_OPP call GetBattleVar @@ -6508,10 +6381,9 @@ BattleCommand_DoubleUndergroundDamage: ; 36f2f ret z ; fallthrough -; 36f37 -DoubleDamage: ; 36f37 +DoubleDamage: ld hl, wCurDamage + 1 sla [hl] dec hl @@ -6524,7 +6396,6 @@ DoubleDamage: ; 36f37 .quit ret -; 36f46 INCLUDE "engine/battle/move_effects/mimic.asm" @@ -6540,7 +6411,7 @@ INCLUDE "engine/battle/move_effects/pay_day.asm" INCLUDE "engine/battle/move_effects/conversion.asm" -BattleCommand_ResetStats: ; 3710e +BattleCommand_ResetStats: ; resetstats ld a, 7 ; neutral @@ -6573,10 +6444,9 @@ BattleCommand_ResetStats: ; 3710e jr nz, .next ret -; 3713e -BattleCommand_Heal: ; 3713e +BattleCommand_Heal: ; heal ld de, wBattleMonHP @@ -6658,13 +6528,12 @@ BattleCommand_Heal: ; 3713e ld hl, HPIsFullText jp StdBattleTextBox -; 371cd INCLUDE "engine/battle/move_effects/transform.asm" -BattleSideCopy: ; 372c6 +BattleSideCopy: ; Copy bc bytes from hl to de if it's the player's turn. ; Copy bc bytes from de to hl if it's the enemy's turn. ld a, [hBattleTurn] @@ -6679,17 +6548,15 @@ BattleSideCopy: ; 372c6 .copy jp CopyBytes -; 372d2 -BattleEffect_ButItFailed: ; 372d2 +BattleEffect_ButItFailed: call AnimateFailedMove jp PrintButItFailed -; 372d8 -ClearLastMove: ; 372d8 +ClearLastMove: ld a, BATTLE_VARS_LAST_COUNTER_MOVE call GetBattleVarAddr xor a @@ -6701,10 +6568,9 @@ ClearLastMove: ; 372d8 ld [hl], a ret -; 372e7 -ResetActorDisable: ; 372e7 +ResetActorDisable: ld a, [hBattleTurn] and a jr z, .player @@ -6720,10 +6586,9 @@ ResetActorDisable: ; 372e7 ld [wDisabledMove], a ret -; 372fc -BattleCommand_Screen: ; 372fc +BattleCommand_Screen: ; screen ld hl, wPlayerScreens @@ -6768,87 +6633,76 @@ BattleCommand_Screen: ; 372fc call AnimateFailedMove jp PrintButItFailed -; 3733d -PrintDoesntAffect: ; 3733d +PrintDoesntAffect: ; 'it doesn't affect' ld hl, DoesntAffectText jp StdBattleTextBox -; 37343 -PrintNothingHappened: ; 37343 +PrintNothingHappened: ; 'but nothing happened!' ld hl, NothingHappenedText jp StdBattleTextBox -; 37349 -TryPrintButItFailed: ; 37349 +TryPrintButItFailed: ld a, [wAlreadyFailed] and a ret nz ; fallthrough -; 3734e -PrintButItFailed: ; 3734e +PrintButItFailed: ; 'but it failed!' ld hl, ButItFailedText jp StdBattleTextBox -; 37354 FailMove: call AnimateFailedMove ; fallthrough -; 37357 -FailMimic: ; 37357 +FailMimic: ld hl, ButItFailedText ; 'but it failed!' ld de, ItFailedText ; 'it failed!' jp FailText_CheckOpponentProtect -; 37360 -PrintDidntAffect: ; 37360 +PrintDidntAffect: ; 'it didn't affect' ld hl, DidntAffect1Text jp StdBattleTextBox -; 37366 -PrintDidntAffect2: ; 37366 +PrintDidntAffect2: call AnimateFailedMove ld hl, DidntAffect1Text ; 'it didn't affect' ld de, DidntAffect2Text ; 'it didn't affect' jp FailText_CheckOpponentProtect -; 37372 -PrintParalyze: ; 37372 +PrintParalyze: ; 'paralyzed! maybe it can't attack!' ld hl, ParalyzedText jp StdBattleTextBox -; 37378 -CheckSubstituteOpp: ; 37378 +CheckSubstituteOpp: ld a, BATTLE_VARS_SUBSTATUS4_OPP call GetBattleVar bit SUBSTATUS_SUBSTITUTE, a ret -; 37380 INCLUDE "engine/battle/move_effects/selfdestruct.asm" @@ -6858,7 +6712,7 @@ INCLUDE "engine/battle/move_effects/mirror_move.asm" INCLUDE "engine/battle/move_effects/metronome.asm" -CheckUserMove: ; 37462 +CheckUserMove: ; Return z if the user has move a. ld b, a ld de, wBattleMonMoves @@ -6882,10 +6736,9 @@ CheckUserMove: ; 37462 and a ret -; 3747b -ResetTurn: ; 3747b +ResetTurn: ld hl, wPlayerCharging ld a, [hBattleTurn] and a @@ -6899,13 +6752,12 @@ ResetTurn: ; 3747b call DoMove jp EndMoveEffect -; 37492 INCLUDE "engine/battle/move_effects/thief.asm" -BattleCommand_ArenaTrap: ; 37517 +BattleCommand_ArenaTrap: ; arenatrap ; Doesn't work on an absent opponent. @@ -6931,13 +6783,12 @@ BattleCommand_ArenaTrap: ; 37517 call AnimateFailedMove jp PrintButItFailed -; 37536 INCLUDE "engine/battle/move_effects/nightmare.asm" -BattleCommand_Defrost: ; 37563 +BattleCommand_Defrost: ; defrost ; Thaw the user. @@ -6968,7 +6819,6 @@ BattleCommand_Defrost: ; 37563 ld hl, WasDefrostedText jp StdBattleTextBox -; 37588 INCLUDE "engine/battle/move_effects/curse.asm" @@ -6988,11 +6838,10 @@ INCLUDE "engine/battle/move_effects/sandstorm.asm" INCLUDE "engine/battle/move_effects/rollout.asm" -BattleCommand5d: ; 37791 +BattleCommand5d: ; unused ret -; 37792 INCLUDE "engine/battle/move_effects/fury_cutter.asm" @@ -7008,7 +6857,7 @@ INCLUDE "engine/battle/move_effects/frustration.asm" INCLUDE "engine/battle/move_effects/safeguard.asm" -SafeCheckSafeguard: ; 37962 +SafeCheckSafeguard: push hl ld hl, wEnemyScreens ld a, [hBattleTurn] @@ -7021,10 +6870,9 @@ SafeCheckSafeguard: ; 37962 pop hl ret -; 37972 -BattleCommand_CheckSafeguard: ; 37972 +BattleCommand_CheckSafeguard: ; checksafeguard ld hl, wEnemyScreens ld a, [hBattleTurn] @@ -7041,7 +6889,6 @@ BattleCommand_CheckSafeguard: ; 37972 call StdBattleTextBox jp EndMoveEffect -; 37991 INCLUDE "engine/battle/move_effects/magnitude.asm" @@ -7053,27 +6900,24 @@ INCLUDE "engine/battle/move_effects/pursuit.asm" INCLUDE "engine/battle/move_effects/rapid_spin.asm" -BattleCommand_HealMorn: ; 37b74 +BattleCommand_HealMorn: ; healmorn ld b, MORN_F jr BattleCommand_TimeBasedHealContinue -; 37b78 -BattleCommand_HealDay: ; 37b78 +BattleCommand_HealDay: ; healday ld b, DAY_F jr BattleCommand_TimeBasedHealContinue -; 37b7c -BattleCommand_HealNite: ; 37b7c +BattleCommand_HealNite: ; healnite ld b, NITE_F ; fallthrough -; 37b7e -BattleCommand_TimeBasedHealContinue: ; 37b7e +BattleCommand_TimeBasedHealContinue: ; Time- and weather-sensitive heal. ld hl, wBattleMonMaxHP @@ -7154,7 +6998,6 @@ BattleCommand_TimeBasedHealContinue: ; 37b7e dw GetQuarterMaxHP dw GetHalfMaxHP dw GetMaxHP -; 37be8 INCLUDE "engine/battle/move_effects/hidden_power.asm" @@ -7170,7 +7013,7 @@ INCLUDE "engine/battle/move_effects/psych_up.asm" INCLUDE "engine/battle/move_effects/mirror_coat.asm" -BattleCommand_DoubleMinimizeDamage: ; 37ce6 +BattleCommand_DoubleMinimizeDamage: ; doubleminimizedamage ld hl, wEnemyMinimized @@ -7192,10 +7035,9 @@ BattleCommand_DoubleMinimizeDamage: ; 37ce6 ld [hl], a ret -; 37d02 -BattleCommand_SkipSunCharge: ; 37d02 +BattleCommand_SkipSunCharge: ; mimicsuncharge ld a, [wBattleWeather] cp WEATHER_SUN @@ -7203,7 +7045,6 @@ BattleCommand_SkipSunCharge: ; 37d02 ld b, charge_command jp SkipToBattleCommand -; 37d0d INCLUDE "engine/battle/move_effects/future_sight.asm" @@ -7211,17 +7052,16 @@ INCLUDE "engine/battle/move_effects/future_sight.asm" INCLUDE "engine/battle/move_effects/thunder.asm" -CheckHiddenOpponent: ; 37daa +CheckHiddenOpponent: ; BUG: This routine should account for Lock-On and Mind Reader. ld a, BATTLE_VARS_SUBSTATUS3_OPP call GetBattleVar and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND ret -; 37db2 -GetUserItem: ; 37db2 +GetUserItem: ; Return the effect of the user's item in bc, and its id at hl. ld hl, wBattleMonItem ld a, [hBattleTurn] @@ -7232,10 +7072,9 @@ GetUserItem: ; 37db2 ld b, [hl] jp GetItemHeldEffect -; 37dc1 -GetOpponentItem: ; 37dc1 +GetOpponentItem: ; Return the effect of the opponent's item in bc, and its id at hl. ld hl, wEnemyMonItem ld a, [hBattleTurn] @@ -7246,10 +7085,9 @@ GetOpponentItem: ; 37dc1 ld b, [hl] jp GetItemHeldEffect -; 37dd0 -GetItemHeldEffect: ; 37dd0 +GetItemHeldEffect: ; Return the effect of item b in bc. ld a, b and a @@ -7269,10 +7107,9 @@ GetItemHeldEffect: ; 37dd0 pop hl ret -; 37de9 -AnimateCurrentMoveEitherSide: ; 37de9 +AnimateCurrentMoveEitherSide: push hl push de push bc @@ -7288,10 +7125,9 @@ AnimateCurrentMoveEitherSide: ; 37de9 pop hl ret -; 37e01 -AnimateCurrentMove: ; 37e01 +AnimateCurrentMove: push hl push de push bc @@ -7307,10 +7143,9 @@ AnimateCurrentMove: ; 37e01 pop hl ret -; 37e19 -PlayDamageAnim: ; 37e19 +PlayDamageAnim: xor a ld [wFXAnimID + 1], a @@ -7332,10 +7167,9 @@ PlayDamageAnim: ; 37e19 jp PlayUserBattleAnim -; 37e36 -LoadMoveAnim: ; 37e36 +LoadMoveAnim: xor a ld [wNumHits], a ld [wFXAnimID + 1], a @@ -7346,17 +7180,15 @@ LoadMoveAnim: ; 37e36 ret z ; fallthrough -; 37e44 -LoadAnim: ; 37e44 +LoadAnim: ld [wFXAnimID], a ; fallthrough -; 37e47 -PlayUserBattleAnim: ; 37e47 +PlayUserBattleAnim: push hl push de push bc @@ -7366,10 +7198,9 @@ PlayUserBattleAnim: ; 37e47 pop hl ret -; 37e54 -PlayOpponentBattleAnim: ; 37e54 +PlayOpponentBattleAnim: ld a, e ld [wFXAnimID], a ld a, d @@ -7390,35 +7221,31 @@ PlayOpponentBattleAnim: ; 37e54 pop hl ret -; 37e73 -CallBattleCore: ; 37e73 +CallBattleCore: ld a, BANK("Battle Core") rst FarCall ret -; 37e77 -AnimateFailedMove: ; 37e77 +AnimateFailedMove: call BattleCommand_LowerSub call BattleCommand_MoveDelay jp BattleCommand_RaiseSub -; 37e80 -BattleCommand_MoveDelay: ; 37e80 +BattleCommand_MoveDelay: ; movedelay ; Wait 40 frames. ld c, 40 jp DelayFrames -; 37e85 -BattleCommand_ClearText: ; 37e85 +BattleCommand_ClearText: ; cleartext ; Used in multi-hit moves. @@ -7427,10 +7254,9 @@ BattleCommand_ClearText: ; 37e85 .text db "@" -; 37e8c -SkipToBattleCommand: ; 37e8c +SkipToBattleCommand: ; Skip over commands until reaching command b. ld a, [wBattleScriptBufferAddress + 1] ld h, a @@ -7447,10 +7273,9 @@ SkipToBattleCommand: ; 37e8c ld [wBattleScriptBufferAddress], a ret -; 37ea1 -GetMoveAttr: ; 37ea1 +GetMoveAttr: ; Assuming hl = Moves + x, return attribute x of move a. push bc ld bc, MOVE_LENGTH @@ -7459,10 +7284,9 @@ GetMoveAttr: ; 37ea1 pop bc ret -; 37ead -GetMoveData: ; 37ead +GetMoveData: ; Copy move struct a to de. ld hl, Moves ld bc, MOVE_LENGTH @@ -7470,38 +7294,33 @@ GetMoveData: ; 37ead ld a, BANK(Moves) jp FarCopyBytes -; 37ebb -GetMoveByte: ; 37ebb +GetMoveByte: ld a, BANK(Moves) jp GetFarByte -; 37ec0 -DisappearUser: ; 37ec0 +DisappearUser: farcall _DisappearUser ret -; 37ec7 -AppearUserLowerSub: ; 37ec7 +AppearUserLowerSub: farcall _AppearUserLowerSub ret -; 37ece -AppearUserRaiseSub: ; 37ece +AppearUserRaiseSub: farcall _AppearUserRaiseSub ret -; 37ed5 -_CheckBattleScene: ; 37ed5 +_CheckBattleScene: ; Checks the options. Returns carry if battle animations are disabled. push hl push de @@ -7512,4 +7331,3 @@ _CheckBattleScene: ; 37ed5 pop hl ret -; 37ee2 diff --git a/engine/battle/hidden_power.asm b/engine/battle/hidden_power.asm index 9d9a8dc0e..5f3791e18 100644 --- a/engine/battle/hidden_power.asm +++ b/engine/battle/hidden_power.asm @@ -1,4 +1,4 @@ -HiddenPowerDamage: ; fbced +HiddenPowerDamage: ; Override Hidden Power's type and power based on the user's DVs. ld hl, wBattleMonDVs @@ -108,4 +108,3 @@ HiddenPowerDamage: ; fbced pop af ld d, a ret -; fbd54 diff --git a/engine/battle/link_result.asm b/engine/battle/link_result.asm index 1dbc40aa9..0dd339fe4 100644 --- a/engine/battle/link_result.asm +++ b/engine/battle/link_result.asm @@ -1,4 +1,4 @@ -DetermineLinkBattleResult: ; 2b930 +DetermineLinkBattleResult: farcall UpdateEnemyMonInParty ld hl, wPartyMon1HP call .CountMonsRemaining @@ -58,7 +58,7 @@ DetermineLinkBattleResult: ; 2b930 ld [wBattleResult], a ret -.CountMonsRemaining: ; 2b995 +.CountMonsRemaining: ld c, 0 ld b, 3 ld de, PARTYMON_STRUCT_LENGTH - 1 @@ -74,7 +74,7 @@ DetermineLinkBattleResult: ; 2b930 jr nz, .loop ret -.CalcPercentHPRemaining: ; 2b9a6 +.CalcPercentHPRemaining: ld de, 0 ld c, $3 .loop2 @@ -117,7 +117,7 @@ DetermineLinkBattleResult: ; 2b930 jr nz, .loop2 ret -.BothSides_CheckNumberMonsAtFullHealth: ; 2b9e1 +.BothSides_CheckNumberMonsAtFullHealth: ld hl, wPartyMon1HP call .CheckFaintedOrFullHealth jr nz, .finish ; we have a pokemon that's neither fainted nor at full health @@ -136,7 +136,7 @@ DetermineLinkBattleResult: ; 2b930 and a ret -.CheckFaintedOrFullHealth: ; 2ba01 +.CheckFaintedOrFullHealth: ld d, 3 .loop3 ld a, [hli] diff --git a/engine/battle/menu.asm b/engine/battle/menu.asm index 705df3729..8f06b99f2 100644 --- a/engine/battle/menu.asm +++ b/engine/battle/menu.asm @@ -1,4 +1,4 @@ -LoadBattleMenu: ; 24ef2 +LoadBattleMenu: ld hl, BattleMenuHeader call LoadMenuHeader ld a, [wBattleMenuCursorBuffer] @@ -8,21 +8,18 @@ LoadBattleMenu: ; 24ef2 ld [wBattleMenuCursorBuffer], a call ExitMenu ret -; 24f0b -SafariBattleMenu: ; 24f0b +SafariBattleMenu: ; untranslated ld hl, MenuHeader_0x24f4e call LoadMenuHeader jr Function24f19 -; 24f13 -ContestBattleMenu: ; 24f13 +ContestBattleMenu: ld hl, MenuHeader_0x24f89 call LoadMenuHeader -; 24f19 -Function24f19: ; 24f19 +Function24f19: ld a, [wBattleMenuCursorBuffer] ld [wMenuCursorBuffer], a call _2DMenu @@ -30,14 +27,12 @@ Function24f19: ; 24f19 ld [wBattleMenuCursorBuffer], a call ExitMenu ret -; 24f2c -BattleMenuHeader: ; 24f2c +BattleMenuHeader: db MENU_BACKUP_TILES ; flags menu_coords 8, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 dw MenuData_0x24f34 db 1 ; default option -; 24f34 MenuData_0x24f34: ; 0x24f34 db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags @@ -52,64 +47,55 @@ Strings24f3d: ; 0x24f3d db "<PKMN>@" db "PACK@" db "RUN@" -; 24f4e -MenuHeader_0x24f4e: ; 24f4e +MenuHeader_0x24f4e: db MENU_BACKUP_TILES ; flags menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 dw MenuData_0x24f56 db 1 ; default option -; 24f56 -MenuData_0x24f56: ; 24f56 +MenuData_0x24f56: db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags dn 2, 2 ; rows, columns db 11 ; spacing dba Strings24f5f dba Function24f7c -; 24f5f -Strings24f5f: ; 24f5f +Strings24f5f: db "サファりボール× @" ; "SAFARI BALL× @" db "エサをなげる@" ; "THROW BAIT" db "いしをなげる@" ; "THROW ROCK" db "にげる@" ; "RUN" -; 24f7c -Function24f7c: ; 24f7c +Function24f7c: hlcoord 17, 13 ld de, wSafariBallsRemaining lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum ret -; 24f89 -MenuHeader_0x24f89: ; 24f89 +MenuHeader_0x24f89: db MENU_BACKUP_TILES ; flags menu_coords 2, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 dw MenuData_0x24f91 db 1 ; default option -; 24f91 -MenuData_0x24f91: ; 24f91 +MenuData_0x24f91: db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags dn 2, 2 ; rows, columns db 12 ; spacing dba Strings24f9a dba Function24fb2 -; 24f9a -Strings24f9a: ; 24f9a +Strings24f9a: db "FIGHT@" db "<PKMN>", "@" db "PARKBALL× @" db "RUN@" -; 24fb2 -Function24fb2: ; 24fb2 +Function24fb2: hlcoord 13, 16 ld de, wParkBallsRemaining lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum ret -; 24fbf diff --git a/engine/battle/misc.asm b/engine/battle/misc.asm index 581f5381e..1b6cb6783 100644 --- a/engine/battle/misc.asm +++ b/engine/battle/misc.asm @@ -1,4 +1,4 @@ -_DisappearUser: ; fbd54 +_DisappearUser: xor a ld [hBGMapMode], a ld a, [hBattleTurn] @@ -12,14 +12,14 @@ _DisappearUser: ; fbd54 call ClearBox jr FinishAppearDisappearUser -_AppearUserRaiseSub: ; fbd69 (3e:7d69) +_AppearUserRaiseSub: farcall BattleCommand_RaiseSubNoAnim jr AppearUser -_AppearUserLowerSub: ; fbd71 (3e:7d71) +_AppearUserLowerSub: farcall BattleCommand_LowerSubNoAnim -AppearUser: ; fbd77 (3e:7d77) +AppearUser: xor a ld [hBGMapMode], a ld a, [hBattleTurn] @@ -34,23 +34,23 @@ AppearUser: ; fbd77 (3e:7d77) .okay ld [hGraphicStartTile], a predef PlaceGraphic -FinishAppearDisappearUser: ; fbd91 (3e:7d91) +FinishAppearDisappearUser: ld a, $1 ld [hBGMapMode], a ret -GetEnemyFrontpicCoords: ; fbd96 (3e:7d96) +GetEnemyFrontpicCoords: hlcoord 12, 0 lb bc, 7, 7 ret -GetPlayerBackpicCoords: ; fbd9d (3e:7d9d) +GetPlayerBackpicCoords: hlcoord 2, 6 lb bc, 6, 6 ret -DoWeatherModifiers: ; fbda4 +DoWeatherModifiers: ld de, WeatherTypeModifiers ld a, [wBattleWeather] @@ -148,7 +148,7 @@ DoWeatherModifiers: ; fbda4 INCLUDE "data/battle/weather_modifiers.asm" -DoBadgeTypeBoosts: ; fbe24 +DoBadgeTypeBoosts: ld a, [wLinkMode] and a ret nz diff --git a/engine/battle/move_effects/attract.asm b/engine/battle/move_effects/attract.asm index 026176694..45417936f 100644 --- a/engine/battle/move_effects/attract.asm +++ b/engine/battle/move_effects/attract.asm @@ -1,4 +1,4 @@ -BattleCommand_Attract: ; 377ce +BattleCommand_Attract: ; attract ld a, [wAttackMissed] and a @@ -21,10 +21,9 @@ BattleCommand_Attract: ; 377ce .failed jp FailMove -; 377f5 -CheckOppositeGender: ; 377f5 +CheckOppositeGender: ld a, MON_SPECIES call BattlePartyAttr ld a, [hl] @@ -76,4 +75,3 @@ CheckOppositeGender: ; 377f5 .genderless_samegender scf ret -; 3784b diff --git a/engine/battle/move_effects/baton_pass.asm b/engine/battle/move_effects/baton_pass.asm index 369565877..2937a8306 100644 --- a/engine/battle/move_effects/baton_pass.asm +++ b/engine/battle/move_effects/baton_pass.asm @@ -1,4 +1,4 @@ -BattleCommand_BatonPass: ; 379c9 +BattleCommand_BatonPass: ; batonpass ld a, [hBattleTurn] @@ -81,10 +81,9 @@ BattleCommand_BatonPass: ; 379c9 jr ResetBatonPassStatus -; 37a67 -BatonPass_LinkPlayerSwitch: ; 37a67 +BatonPass_LinkPlayerSwitch: ld a, [wLinkMode] and a ret z @@ -101,10 +100,9 @@ BatonPass_LinkPlayerSwitch: ; 37a67 ld [wBattlePlayerAction], a ret -; 37a82 -BatonPass_LinkEnemySwitch: ; 37a82 +BatonPass_LinkEnemySwitch: ld a, [wLinkMode] and a ret z @@ -129,17 +127,15 @@ BatonPass_LinkEnemySwitch: ; 37a82 .switch jp CloseWindow -; 37aab -FailedBatonPass: ; 37aab +FailedBatonPass: call AnimateFailedMove jp PrintButItFailed -; 37ab1 -ResetBatonPassStatus: ; 37ab1 +ResetBatonPassStatus: ; Reset status changes that aren't passed by Baton Pass. ; Nightmare isn't passed. @@ -178,10 +174,9 @@ ResetBatonPassStatus: ; 37ab1 ld [wEnemyWrapCount], a ret -; 37ae9 -CheckAnyOtherAlivePartyMons: ; 37ae9 +CheckAnyOtherAlivePartyMons: ld hl, wPartyMon1HP ld a, [wPartyCount] ld d, a @@ -189,10 +184,9 @@ CheckAnyOtherAlivePartyMons: ; 37ae9 ld e, a jr CheckAnyOtherAliveMons -; 37af6 -CheckAnyOtherAliveEnemyMons: ; 37af6 +CheckAnyOtherAliveEnemyMons: ld hl, wOTPartyMon1HP ld a, [wOTPartyCount] ld d, a @@ -200,9 +194,8 @@ CheckAnyOtherAliveEnemyMons: ; 37af6 ld e, a ; fallthrough -; 37b01 -CheckAnyOtherAliveMons: ; 37b01 +CheckAnyOtherAliveMons: ; Check for nonzero HP starting from partymon ; HP at hl for d partymons, besides current mon e. @@ -238,4 +231,3 @@ CheckAnyOtherAliveMons: ; 37b01 and a ret -; 37b1d diff --git a/engine/battle/move_effects/beat_up.asm b/engine/battle/move_effects/beat_up.asm index 8ea308d90..40a375e0d 100644 --- a/engine/battle/move_effects/beat_up.asm +++ b/engine/battle/move_effects/beat_up.asm @@ -1,4 +1,4 @@ -BattleCommand_BeatUp: ; 35461 +BattleCommand_BeatUp: ; beatup call ResetDamage @@ -193,17 +193,15 @@ BattleCommand_BeatUp: ; 35461 ld d, a ret -; 355b0 -.beatup_fail ; 355b0 +.beatup_fail ld b, buildopponentrage_command jp SkipToBattleCommand -; 355b5 -BattleCommand_BeatUpFailText: ; 355b5 +BattleCommand_BeatUpFailText: ; beatupfailtext ld a, [wBeatUpHitAtLeastOnce] @@ -212,10 +210,9 @@ BattleCommand_BeatUpFailText: ; 355b5 jp PrintButItFailed -; 355bd -GetBeatupMonLocation: ; 355bd +GetBeatupMonLocation: push bc ld c, a ld b, 0 diff --git a/engine/battle/move_effects/belly_drum.asm b/engine/battle/move_effects/belly_drum.asm index bd300c9cd..aec3a1d68 100644 --- a/engine/battle/move_effects/belly_drum.asm +++ b/engine/battle/move_effects/belly_drum.asm @@ -1,4 +1,4 @@ -BattleCommand_BellyDrum: ; 37c1a +BattleCommand_BellyDrum: ; bellydrum ; This command is buggy because it raises the user's attack ; before checking that it has enough HP to use the move. @@ -33,4 +33,3 @@ BattleCommand_BellyDrum: ; 37c1a call AnimateFailedMove jp PrintButItFailed -; 37c55 diff --git a/engine/battle/move_effects/bide.asm b/engine/battle/move_effects/bide.asm index d9958ca53..b28773df9 100644 --- a/engine/battle/move_effects/bide.asm +++ b/engine/battle/move_effects/bide.asm @@ -1,4 +1,4 @@ -BattleCommand_StoreEnergy: ; 36671 +BattleCommand_StoreEnergy: ; storeenergy ld a, BATTLE_VARS_SUBSTATUS3 @@ -69,10 +69,9 @@ BattleCommand_StoreEnergy: ; 36671 call StdBattleTextBox jp EndMoveEffect -; 366e5 -BattleCommand_UnleashEnergy: ; 366e5 +BattleCommand_UnleashEnergy: ; unleashenergy ld de, wPlayerDamageTaken @@ -102,4 +101,3 @@ BattleCommand_UnleashEnergy: ; 366e5 call AnimateCurrentMove jp EndMoveEffect -; 3671a diff --git a/engine/battle/move_effects/conversion.asm b/engine/battle/move_effects/conversion.asm index d66d23a5e..bc2c746df 100644 --- a/engine/battle/move_effects/conversion.asm +++ b/engine/battle/move_effects/conversion.asm @@ -1,4 +1,4 @@ -BattleCommand_Conversion: ; 3707f +BattleCommand_Conversion: ; conversion ld hl, wBattleMonMoves @@ -95,4 +95,3 @@ BattleCommand_Conversion: ; 3707f ld hl, TransformedTypeText jp StdBattleTextBox -; 3710e diff --git a/engine/battle/move_effects/conversion2.asm b/engine/battle/move_effects/conversion2.asm index c0e390926..b1d0e6282 100644 --- a/engine/battle/move_effects/conversion2.asm +++ b/engine/battle/move_effects/conversion2.asm @@ -1,4 +1,4 @@ -BattleCommand_Conversion2: ; 359e6 +BattleCommand_Conversion2: ; conversion2 ld a, [wAttackMissed] @@ -63,4 +63,3 @@ BattleCommand_Conversion2: ; 359e6 .failed jp FailMove -; 35a53 diff --git a/engine/battle/move_effects/counter.asm b/engine/battle/move_effects/counter.asm index b811b293c..9d10d1865 100644 --- a/engine/battle/move_effects/counter.asm +++ b/engine/battle/move_effects/counter.asm @@ -1,4 +1,4 @@ -BattleCommand_Counter: ; 35813 +BattleCommand_Counter: ; counter ld a, 1 @@ -57,4 +57,3 @@ BattleCommand_Counter: ; 35813 ld [wAttackMissed], a ret -; 35864 diff --git a/engine/battle/move_effects/curse.asm b/engine/battle/move_effects/curse.asm index b11b9f3fb..e0fc0144c 100644 --- a/engine/battle/move_effects/curse.asm +++ b/engine/battle/move_effects/curse.asm @@ -1,4 +1,4 @@ -BattleCommand_Curse: ; 37588 +BattleCommand_Curse: ; curse ld de, wBattleMonType1 @@ -94,4 +94,3 @@ BattleCommand_Curse: ; 37588 call AnimateFailedMove ld hl, WontRiseAnymoreText jp StdBattleTextBox -; 37618 diff --git a/engine/battle/move_effects/destiny_bond.asm b/engine/battle/move_effects/destiny_bond.asm index 2dc125ddf..427c8b08a 100644 --- a/engine/battle/move_effects/destiny_bond.asm +++ b/engine/battle/move_effects/destiny_bond.asm @@ -1,4 +1,4 @@ -BattleCommand_DestinyBond: ; 35bff +BattleCommand_DestinyBond: ; destinybond ld a, BATTLE_VARS_SUBSTATUS5 @@ -8,4 +8,3 @@ BattleCommand_DestinyBond: ; 35bff ld hl, DestinyBondEffectText jp StdBattleTextBox -; 35c0f diff --git a/engine/battle/move_effects/disable.asm b/engine/battle/move_effects/disable.asm index 5df785d24..b1055b200 100644 --- a/engine/battle/move_effects/disable.asm +++ b/engine/battle/move_effects/disable.asm @@ -1,4 +1,4 @@ -BattleCommand_Disable: ; 36fed +BattleCommand_Disable: ; disable ld a, [wAttackMissed] @@ -71,4 +71,3 @@ BattleCommand_Disable: ; 36fed .failed jp FailMove -; 3705c diff --git a/engine/battle/move_effects/encore.asm b/engine/battle/move_effects/encore.asm index e6607fb11..e65925f52 100644 --- a/engine/battle/move_effects/encore.asm +++ b/engine/battle/move_effects/encore.asm @@ -1,4 +1,4 @@ -BattleCommand_Encore: ; 35864 +BattleCommand_Encore: ; encore ld hl, wEnemyMonMoves @@ -119,4 +119,3 @@ BattleCommand_Encore: ; 35864 .failed jp PrintDidntAffect2 -; 35926 diff --git a/engine/battle/move_effects/endure.asm b/engine/battle/move_effects/endure.asm index ed4329ff5..f0555a737 100644 --- a/engine/battle/move_effects/endure.asm +++ b/engine/battle/move_effects/endure.asm @@ -1,4 +1,4 @@ -BattleCommand_Endure: ; 3766f +BattleCommand_Endure: ; endure ; Endure shares code with Protect. See protect.asm. @@ -14,4 +14,3 @@ BattleCommand_Endure: ; 3766f ld hl, BracedItselfText jp StdBattleTextBox -; 37683 diff --git a/engine/battle/move_effects/false_swipe.asm b/engine/battle/move_effects/false_swipe.asm index f00de91e7..c61aa534a 100644 --- a/engine/battle/move_effects/false_swipe.asm +++ b/engine/battle/move_effects/false_swipe.asm @@ -1,4 +1,4 @@ -BattleCommand_FalseSwipe: ; 35c94 +BattleCommand_FalseSwipe: ; falseswipe ; Makes sure wCurDamage < MonHP @@ -47,4 +47,3 @@ BattleCommand_FalseSwipe: ; 35c94 and a ret -; 35cc9 diff --git a/engine/battle/move_effects/focus_energy.asm b/engine/battle/move_effects/focus_energy.asm index 2a3726c53..8fa6b19ff 100644 --- a/engine/battle/move_effects/focus_energy.asm +++ b/engine/battle/move_effects/focus_energy.asm @@ -1,4 +1,4 @@ -BattleCommand_FocusEnergy: ; 36c98 +BattleCommand_FocusEnergy: ; focusenergy ld a, BATTLE_VARS_SUBSTATUS4 @@ -14,4 +14,3 @@ BattleCommand_FocusEnergy: ; 36c98 call AnimateFailedMove jp PrintButItFailed -; 36cb2 diff --git a/engine/battle/move_effects/foresight.asm b/engine/battle/move_effects/foresight.asm index 8c51bb220..4235e0878 100644 --- a/engine/battle/move_effects/foresight.asm +++ b/engine/battle/move_effects/foresight.asm @@ -1,4 +1,4 @@ -BattleCommand_Foresight: ; 376a0 +BattleCommand_Foresight: ; foresight ld a, [wAttackMissed] @@ -20,4 +20,3 @@ BattleCommand_Foresight: ; 376a0 .failed jp FailMove -; 376c2 diff --git a/engine/battle/move_effects/frustration.asm b/engine/battle/move_effects/frustration.asm index 3f8456ced..5e45636be 100644 --- a/engine/battle/move_effects/frustration.asm +++ b/engine/battle/move_effects/frustration.asm @@ -1,4 +1,4 @@ -BattleCommand_FrustrationPower: ; 3790e +BattleCommand_FrustrationPower: ; frustrationpower push bc @@ -26,4 +26,3 @@ BattleCommand_FrustrationPower: ; 3790e pop bc ret -; 37939 diff --git a/engine/battle/move_effects/fury_cutter.asm b/engine/battle/move_effects/fury_cutter.asm index 91679368f..b34264d62 100644 --- a/engine/battle/move_effects/fury_cutter.asm +++ b/engine/battle/move_effects/fury_cutter.asm @@ -1,4 +1,4 @@ -BattleCommand_FuryCutter: ; 37792 +BattleCommand_FuryCutter: ; furycutter ld hl, wPlayerFuryCutterCount @@ -38,10 +38,9 @@ BattleCommand_FuryCutter: ; 37792 ld [hl], a ret -; 377be -ResetFuryCutterCount: ; 377be +ResetFuryCutterCount: push hl @@ -58,4 +57,3 @@ ResetFuryCutterCount: ; 377be pop hl ret -; 377ce diff --git a/engine/battle/move_effects/future_sight.asm b/engine/battle/move_effects/future_sight.asm index fa2148ab7..c1b5c0e72 100644 --- a/engine/battle/move_effects/future_sight.asm +++ b/engine/battle/move_effects/future_sight.asm @@ -1,4 +1,4 @@ -BattleCommand_CheckFutureSight: ; 37d0d +BattleCommand_CheckFutureSight: ; checkfuturesight ld hl, wPlayerFutureSightCount @@ -25,9 +25,8 @@ BattleCommand_CheckFutureSight: ; 37d0d ld b, futuresight_command jp SkipToBattleCommand -; 37d34 -BattleCommand_FutureSight: ; 37d34 +BattleCommand_FutureSight: ; futuresight call CheckUserIsCharging @@ -82,4 +81,3 @@ BattleCommand_FutureSight: ; 37d34 call PrintButItFailed jp EndMoveEffect -; 37d94 diff --git a/engine/battle/move_effects/heal_bell.asm b/engine/battle/move_effects/heal_bell.asm index c79362f9c..060ac3423 100644 --- a/engine/battle/move_effects/heal_bell.asm +++ b/engine/battle/move_effects/heal_bell.asm @@ -1,4 +1,4 @@ -BattleCommand_HealBell: ; 35cc9 +BattleCommand_HealBell: ; healbell ld a, BATTLE_VARS_SUBSTATUS1 @@ -33,4 +33,3 @@ BattleCommand_HealBell: ; 35cc9 jp z, CalcPlayerStats jp CalcEnemyStats -; 35d00 diff --git a/engine/battle/move_effects/hidden_power.asm b/engine/battle/move_effects/hidden_power.asm index f96becf97..19d7e0b32 100644 --- a/engine/battle/move_effects/hidden_power.asm +++ b/engine/battle/move_effects/hidden_power.asm @@ -1,4 +1,4 @@ -BattleCommand_HiddenPower: ; 37be8 +BattleCommand_HiddenPower: ; hiddenpower ld a, [wAttackMissed] @@ -7,4 +7,3 @@ BattleCommand_HiddenPower: ; 37be8 farcall HiddenPowerDamage ret -; 37bf4 diff --git a/engine/battle/move_effects/leech_seed.asm b/engine/battle/move_effects/leech_seed.asm index 328a2c416..44019a6ad 100644 --- a/engine/battle/move_effects/leech_seed.asm +++ b/engine/battle/move_effects/leech_seed.asm @@ -1,4 +1,4 @@ -BattleCommand_LeechSeed: ; 36f9d +BattleCommand_LeechSeed: ; leechseed ld a, [wAttackMissed] and a @@ -39,4 +39,3 @@ BattleCommand_LeechSeed: ; 36f9d ld hl, EvadedText jp StdBattleTextBox -; 36fe1 diff --git a/engine/battle/move_effects/lock_on.asm b/engine/battle/move_effects/lock_on.asm index 36d8db926..7b6503575 100644 --- a/engine/battle/move_effects/lock_on.asm +++ b/engine/battle/move_effects/lock_on.asm @@ -1,4 +1,4 @@ -BattleCommand_LockOn: ; 35a53 +BattleCommand_LockOn: ; lockon call CheckSubstituteOpp @@ -20,4 +20,3 @@ BattleCommand_LockOn: ; 35a53 call AnimateFailedMove jp PrintDidntAffect -; 35a74 diff --git a/engine/battle/move_effects/magnitude.asm b/engine/battle/move_effects/magnitude.asm index f56ec5c1b..4dcf919d7 100644 --- a/engine/battle/move_effects/magnitude.asm +++ b/engine/battle/move_effects/magnitude.asm @@ -1,4 +1,4 @@ -BattleCommand_GetMagnitude: ; 37991 +BattleCommand_GetMagnitude: ; getmagnitude push bc diff --git a/engine/battle/move_effects/metronome.asm b/engine/battle/move_effects/metronome.asm index 6835ab569..b5632d005 100644 --- a/engine/battle/move_effects/metronome.asm +++ b/engine/battle/move_effects/metronome.asm @@ -1,4 +1,4 @@ -BattleCommand_Metronome: ; 37418 +BattleCommand_Metronome: ; metronome call ClearLastMove @@ -40,7 +40,6 @@ BattleCommand_Metronome: ; 37418 ld [hl], b call UpdateMoveData jp ResetTurn -; 37454 INCLUDE "data/battle/metronome_exception_moves.asm" diff --git a/engine/battle/move_effects/mimic.asm b/engine/battle/move_effects/mimic.asm index 712b42df1..2f91d6a1d 100644 --- a/engine/battle/move_effects/mimic.asm +++ b/engine/battle/move_effects/mimic.asm @@ -1,4 +1,4 @@ -BattleCommand_Mimic: ; 36f46 +BattleCommand_Mimic: ; mimic call ClearLastMove @@ -49,4 +49,3 @@ BattleCommand_Mimic: ; 36f46 .fail jp FailMimic -; 36f9d diff --git a/engine/battle/move_effects/mirror_coat.asm b/engine/battle/move_effects/mirror_coat.asm index 41e296108..f8b8ca114 100644 --- a/engine/battle/move_effects/mirror_coat.asm +++ b/engine/battle/move_effects/mirror_coat.asm @@ -1,4 +1,4 @@ -BattleCommand_MirrorCoat: ; 37c95 +BattleCommand_MirrorCoat: ; mirrorcoat ld a, 1 @@ -58,4 +58,3 @@ BattleCommand_MirrorCoat: ; 37c95 ld [wAttackMissed], a ret -; 37ce6 diff --git a/engine/battle/move_effects/mirror_move.asm b/engine/battle/move_effects/mirror_move.asm index c4f208d77..089403839 100644 --- a/engine/battle/move_effects/mirror_move.asm +++ b/engine/battle/move_effects/mirror_move.asm @@ -1,4 +1,4 @@ -BattleCommand_MirrorMove: ; 373c9 +BattleCommand_MirrorMove: ; mirrormove call ClearLastMove @@ -49,4 +49,3 @@ BattleCommand_MirrorMove: ; 373c9 .done call BattleCommand_MoveDelay jp ResetTurn -; 37418 diff --git a/engine/battle/move_effects/mist.asm b/engine/battle/move_effects/mist.asm index 9ffd86c8e..52e4e59f4 100644 --- a/engine/battle/move_effects/mist.asm +++ b/engine/battle/move_effects/mist.asm @@ -1,4 +1,4 @@ -BattleCommand_Mist: ; 36c7e +BattleCommand_Mist: ; mist ld a, BATTLE_VARS_SUBSTATUS4 @@ -14,4 +14,3 @@ BattleCommand_Mist: ; 36c7e call AnimateFailedMove jp PrintButItFailed -; 36c98 diff --git a/engine/battle/move_effects/nightmare.asm b/engine/battle/move_effects/nightmare.asm index 788e3de41..dd85c722d 100644 --- a/engine/battle/move_effects/nightmare.asm +++ b/engine/battle/move_effects/nightmare.asm @@ -1,4 +1,4 @@ -BattleCommand_Nightmare: ; 37536 +BattleCommand_Nightmare: ; nightmare ; Can't hit an absent opponent. @@ -35,4 +35,3 @@ BattleCommand_Nightmare: ; 37536 .failed call AnimateFailedMove jp PrintButItFailed -; 37563 diff --git a/engine/battle/move_effects/pain_split.asm b/engine/battle/move_effects/pain_split.asm index 2db3726c6..a4dbd3d44 100644 --- a/engine/battle/move_effects/pain_split.asm +++ b/engine/battle/move_effects/pain_split.asm @@ -1,4 +1,4 @@ -BattleCommand_PainSplit: ; 35926 +BattleCommand_PainSplit: ; painsplit ld a, [wAttackMissed] @@ -65,7 +65,7 @@ BattleCommand_PainSplit: ; 35926 inc de inc de -.EnemyShareHP: ; 359ac +.EnemyShareHP: ld c, [hl] dec hl ld a, [wCurDamage + 1] @@ -89,9 +89,7 @@ BattleCommand_PainSplit: ; 35926 ld [wBuffer6], a ret -; 359cd .ButItFailed: jp PrintDidntAffect2 -; 359d0 diff --git a/engine/battle/move_effects/pay_day.asm b/engine/battle/move_effects/pay_day.asm index a5d2fed0d..53705d434 100644 --- a/engine/battle/move_effects/pay_day.asm +++ b/engine/battle/move_effects/pay_day.asm @@ -1,4 +1,4 @@ -BattleCommand_PayDay: ; 3705c +BattleCommand_PayDay: ; payday xor a @@ -25,4 +25,3 @@ BattleCommand_PayDay: ; 3705c ld hl, CoinsScatteredText jp StdBattleTextBox -; 3707f diff --git a/engine/battle/move_effects/perish_song.asm b/engine/battle/move_effects/perish_song.asm index 8c88c8739..221ecfb46 100644 --- a/engine/battle/move_effects/perish_song.asm +++ b/engine/battle/move_effects/perish_song.asm @@ -1,4 +1,4 @@ -BattleCommand_PerishSong: ; 376c2 +BattleCommand_PerishSong: ; perishsong @@ -37,4 +37,3 @@ BattleCommand_PerishSong: ; 376c2 .failed call AnimateFailedMove jp PrintButItFailed -; 376f8 diff --git a/engine/battle/move_effects/present.asm b/engine/battle/move_effects/present.asm index a2ef5bc64..2bbea8028 100644 --- a/engine/battle/move_effects/present.asm +++ b/engine/battle/move_effects/present.asm @@ -1,4 +1,4 @@ -BattleCommand_Present: ; 37874 +BattleCommand_Present: ; present ld a, [wLinkMode] diff --git a/engine/battle/move_effects/protect.asm b/engine/battle/move_effects/protect.asm index 6c65e0ed1..768e51cbb 100644 --- a/engine/battle/move_effects/protect.asm +++ b/engine/battle/move_effects/protect.asm @@ -1,4 +1,4 @@ -BattleCommand_Protect: ; 37618 +BattleCommand_Protect: ; protect call ProtectChance ret c @@ -11,10 +11,9 @@ BattleCommand_Protect: ; 37618 ld hl, ProtectedItselfText jp StdBattleTextBox -; 3762c -ProtectChance: ; 3762c +ProtectChance: ld de, wPlayerProtectCount ld a, [hBattleTurn] @@ -77,4 +76,3 @@ ProtectChance: ; 3762c call PrintButItFailed scf ret -; 3766f diff --git a/engine/battle/move_effects/psych_up.asm b/engine/battle/move_effects/psych_up.asm index c57fff9cd..743e93c86 100644 --- a/engine/battle/move_effects/psych_up.asm +++ b/engine/battle/move_effects/psych_up.asm @@ -1,4 +1,4 @@ -BattleCommand_PsychUp: ; 37c55 +BattleCommand_PsychUp: ; psychup ld hl, wEnemyStatLevels @@ -48,4 +48,3 @@ BattleCommand_PsychUp: ; 37c55 ld hl, CopiedStatsText jp StdBattleTextBox -; 37c95 diff --git a/engine/battle/move_effects/pursuit.asm b/engine/battle/move_effects/pursuit.asm index 969e08f73..640957516 100644 --- a/engine/battle/move_effects/pursuit.asm +++ b/engine/battle/move_effects/pursuit.asm @@ -1,4 +1,4 @@ -BattleCommand_Pursuit: ; 37b1d +BattleCommand_Pursuit: ; pursuit ; Double damage if the opponent is switching. @@ -23,4 +23,3 @@ BattleCommand_Pursuit: ; 37b1d ld [hl], a ret -; 37b39 diff --git a/engine/battle/move_effects/rage.asm b/engine/battle/move_effects/rage.asm index ac01f8137..1f40cc1fb 100644 --- a/engine/battle/move_effects/rage.asm +++ b/engine/battle/move_effects/rage.asm @@ -1,8 +1,7 @@ -BattleCommand_Rage: ; 36f1d +BattleCommand_Rage: ; rage ld a, BATTLE_VARS_SUBSTATUS4 call GetBattleVarAddr set SUBSTATUS_RAGE, [hl] ret -; 36f25 diff --git a/engine/battle/move_effects/rain_dance.asm b/engine/battle/move_effects/rain_dance.asm index 6c587d551..fa8881c3c 100644 --- a/engine/battle/move_effects/rain_dance.asm +++ b/engine/battle/move_effects/rain_dance.asm @@ -1,4 +1,4 @@ -BattleCommand_StartRain: ; 37bf4 +BattleCommand_StartRain: ; startrain ld a, WEATHER_RAIN ld [wBattleWeather], a @@ -8,4 +8,3 @@ BattleCommand_StartRain: ; 37bf4 ld hl, DownpourText jp StdBattleTextBox -; 37c07 diff --git a/engine/battle/move_effects/rapid_spin.asm b/engine/battle/move_effects/rapid_spin.asm index 84bcbad7f..089be7667 100644 --- a/engine/battle/move_effects/rapid_spin.asm +++ b/engine/battle/move_effects/rapid_spin.asm @@ -1,4 +1,4 @@ -BattleCommand_ClearHazards: ; 37b39 +BattleCommand_ClearHazards: ; clearhazards ld a, BATTLE_VARS_SUBSTATUS4 @@ -35,4 +35,3 @@ BattleCommand_ClearHazards: ; 37b39 ld hl, ReleasedByText jp StdBattleTextBox -; 37b74 diff --git a/engine/battle/move_effects/return.asm b/engine/battle/move_effects/return.asm index e1d568e7c..ee83843b3 100644 --- a/engine/battle/move_effects/return.asm +++ b/engine/battle/move_effects/return.asm @@ -1,4 +1,4 @@ -BattleCommand_HappinessPower: ; 3784b +BattleCommand_HappinessPower: ; happinesspower push bc ld hl, wBattleMonHappiness @@ -24,4 +24,3 @@ BattleCommand_HappinessPower: ; 3784b pop bc ret -; 37874 diff --git a/engine/battle/move_effects/rollout.asm b/engine/battle/move_effects/rollout.asm index f6966c48a..da890f48f 100644 --- a/engine/battle/move_effects/rollout.asm +++ b/engine/battle/move_effects/rollout.asm @@ -1,7 +1,7 @@ MAX_ROLLOUT_COUNT EQU 5 -BattleCommand_CheckCurl: ; 37718 +BattleCommand_CheckCurl: ; checkcurl ld de, wPlayerRolloutCount @@ -22,10 +22,9 @@ BattleCommand_CheckCurl: ; 37718 xor a ld [de], a ret -; 37734 -BattleCommand_RolloutPower: ; 37734 +BattleCommand_RolloutPower: ; rolloutpower ld a, BATTLE_VARS_STATUS @@ -96,4 +95,3 @@ BattleCommand_RolloutPower: ; 37734 .done_damage ret -; 37791 diff --git a/engine/battle/move_effects/safeguard.asm b/engine/battle/move_effects/safeguard.asm index 1dc233eab..e4e2e0951 100644 --- a/engine/battle/move_effects/safeguard.asm +++ b/engine/battle/move_effects/safeguard.asm @@ -1,4 +1,4 @@ -BattleCommand_Safeguard: ; 37939 +BattleCommand_Safeguard: ; safeguard ld hl, wPlayerScreens @@ -22,4 +22,3 @@ BattleCommand_Safeguard: ; 37939 call AnimateFailedMove jp PrintButItFailed -; 37962 diff --git a/engine/battle/move_effects/sandstorm.asm b/engine/battle/move_effects/sandstorm.asm index 5aaa61deb..77d6e24b5 100644 --- a/engine/battle/move_effects/sandstorm.asm +++ b/engine/battle/move_effects/sandstorm.asm @@ -1,4 +1,4 @@ -BattleCommand_StartSandstorm: ; 376f8 +BattleCommand_StartSandstorm: ; startsandstorm ld a, [wBattleWeather] @@ -16,4 +16,3 @@ BattleCommand_StartSandstorm: ; 376f8 .failed call AnimateFailedMove jp PrintButItFailed -; 37718 diff --git a/engine/battle/move_effects/selfdestruct.asm b/engine/battle/move_effects/selfdestruct.asm index 6f6b0966f..3c7b05ef9 100644 --- a/engine/battle/move_effects/selfdestruct.asm +++ b/engine/battle/move_effects/selfdestruct.asm @@ -1,4 +1,4 @@ -BattleCommand_Selfdestruct: ; 37380 +BattleCommand_Selfdestruct: farcall StubbedTrainerRankings_Selfdestruct ld a, BATTLEANIM_PLAYER_DAMAGE ld [wNumHits], a @@ -28,4 +28,3 @@ BattleCommand_Selfdestruct: ; 37380 call WaitBGMap jp RefreshBattleHuds -; 373c9 diff --git a/engine/battle/move_effects/sketch.asm b/engine/battle/move_effects/sketch.asm index 93f7ff30c..1f2e67dd4 100644 --- a/engine/battle/move_effects/sketch.asm +++ b/engine/battle/move_effects/sketch.asm @@ -1,4 +1,4 @@ -BattleCommand_Sketch: ; 35a74 +BattleCommand_Sketch: ; sketch call ClearLastMove @@ -116,4 +116,3 @@ BattleCommand_Sketch: ; 35a74 call AnimateFailedMove jp PrintDidntAffect -; 35b16 diff --git a/engine/battle/move_effects/sleep_talk.asm b/engine/battle/move_effects/sleep_talk.asm index 3f62d4e36..ce7a27ed5 100644 --- a/engine/battle/move_effects/sleep_talk.asm +++ b/engine/battle/move_effects/sleep_talk.asm @@ -1,4 +1,4 @@ -BattleCommand_SleepTalk: ; 35b33 +BattleCommand_SleepTalk: ; sleeptalk call ClearLastMove @@ -142,4 +142,3 @@ BattleCommand_SleepTalk: ; 35b33 cp EFFECT_BIDE ret -; 35bff diff --git a/engine/battle/move_effects/snore.asm b/engine/battle/move_effects/snore.asm index 49fb1b210..4544b7fbd 100644 --- a/engine/battle/move_effects/snore.asm +++ b/engine/battle/move_effects/snore.asm @@ -1,4 +1,4 @@ -BattleCommand_Snore: ; 359d0 +BattleCommand_Snore: ; snore ld a, BATTLE_VARS_STATUS call GetBattleVar @@ -10,4 +10,3 @@ BattleCommand_Snore: ; 359d0 call FailMove jp EndMoveEffect -; 359e6 diff --git a/engine/battle/move_effects/spikes.asm b/engine/battle/move_effects/spikes.asm index 6cab0b96f..1eca7ae53 100644 --- a/engine/battle/move_effects/spikes.asm +++ b/engine/battle/move_effects/spikes.asm @@ -1,4 +1,4 @@ -BattleCommand_Spikes: ; 37683 +BattleCommand_Spikes: ; spikes ld hl, wEnemyScreens @@ -24,4 +24,3 @@ BattleCommand_Spikes: ; 37683 .failed jp FailMove -; 376a0 diff --git a/engine/battle/move_effects/spite.asm b/engine/battle/move_effects/spite.asm index 30a908ae7..7c9499074 100644 --- a/engine/battle/move_effects/spite.asm +++ b/engine/battle/move_effects/spite.asm @@ -1,4 +1,4 @@ -BattleCommand_Spite: ; 35c0f +BattleCommand_Spite: ; spite ld a, [wAttackMissed] @@ -85,4 +85,3 @@ BattleCommand_Spite: ; 35c0f .failed jp PrintDidntAffect2 -; 35c94 diff --git a/engine/battle/move_effects/splash.asm b/engine/battle/move_effects/splash.asm index 5b5e504b8..ed9eeb4ca 100644 --- a/engine/battle/move_effects/splash.asm +++ b/engine/battle/move_effects/splash.asm @@ -1,6 +1,5 @@ -BattleCommand_Splash: ; 36fe1 +BattleCommand_Splash: call AnimateCurrentMove farcall StubbedTrainerRankings_Splash jp PrintNothingHappened -; 36fed diff --git a/engine/battle/move_effects/substitute.asm b/engine/battle/move_effects/substitute.asm index 1deaa848d..f439afd78 100644 --- a/engine/battle/move_effects/substitute.asm +++ b/engine/battle/move_effects/substitute.asm @@ -1,4 +1,4 @@ -BattleCommand_Substitute: ; 36e7c +BattleCommand_Substitute: ; substitute call BattleCommand_MoveDelay @@ -87,4 +87,3 @@ BattleCommand_Substitute: ; 36e7c .jp_stdbattletextbox jp StdBattleTextBox -; 36f0b diff --git a/engine/battle/move_effects/sunny_day.asm b/engine/battle/move_effects/sunny_day.asm index ef8c37c5c..ad2298401 100644 --- a/engine/battle/move_effects/sunny_day.asm +++ b/engine/battle/move_effects/sunny_day.asm @@ -1,4 +1,4 @@ -BattleCommand_StartSun: ; 37c07 +BattleCommand_StartSun: ; startsun ld a, WEATHER_SUN ld [wBattleWeather], a @@ -8,4 +8,3 @@ BattleCommand_StartSun: ; 37c07 ld hl, SunGotBrightText jp StdBattleTextBox -; 37c1a diff --git a/engine/battle/move_effects/teleport.asm b/engine/battle/move_effects/teleport.asm index 1bd1eb725..b9c7f9fb2 100644 --- a/engine/battle/move_effects/teleport.asm +++ b/engine/battle/move_effects/teleport.asm @@ -1,4 +1,4 @@ -BattleCommand_Teleport: ; 36778 +BattleCommand_Teleport: ; teleport ld a, [wBattleType] @@ -88,4 +88,3 @@ BattleCommand_Teleport: ; 36778 ld hl, FledFromBattleText jp StdBattleTextBox -; 36804 diff --git a/engine/battle/move_effects/thief.asm b/engine/battle/move_effects/thief.asm index 5397c2bdf..d9d2f47fd 100644 --- a/engine/battle/move_effects/thief.asm +++ b/engine/battle/move_effects/thief.asm @@ -1,4 +1,4 @@ -BattleCommand_Thief: ; 37492 +BattleCommand_Thief: ; thief ld a, [hBattleTurn] @@ -113,4 +113,3 @@ BattleCommand_Thief: ; 37492 ld e, l ld hl, wEnemyMonItem ret -; 37517 diff --git a/engine/battle/move_effects/thunder.asm b/engine/battle/move_effects/thunder.asm index 3705e1a28..1a87176bd 100644 --- a/engine/battle/move_effects/thunder.asm +++ b/engine/battle/move_effects/thunder.asm @@ -1,4 +1,4 @@ -BattleCommand_ThunderAccuracy: ; 37d94 +BattleCommand_ThunderAccuracy: ; thunderaccuracy ld a, BATTLE_VARS_MOVE_TYPE @@ -17,4 +17,3 @@ BattleCommand_ThunderAccuracy: ; 37d94 ld [hl], 100 percent ret -; 37daa diff --git a/engine/battle/move_effects/transform.asm b/engine/battle/move_effects/transform.asm index 5ae7c1511..fe85658e6 100644 --- a/engine/battle/move_effects/transform.asm +++ b/engine/battle/move_effects/transform.asm @@ -1,5 +1,5 @@ -BattleCommand_Transform: ; 371cd +BattleCommand_Transform: ; transform call ClearLastMove @@ -138,4 +138,3 @@ BattleCommand_Transform: ; 371cd ld hl, TransformedText jp StdBattleTextBox -; 372c6 diff --git a/engine/battle/move_effects/triple_kick.asm b/engine/battle/move_effects/triple_kick.asm index cef56a1ae..4fb939d7c 100644 --- a/engine/battle/move_effects/triple_kick.asm +++ b/engine/battle/move_effects/triple_kick.asm @@ -1,4 +1,4 @@ -BattleCommand_TripleKick: ; 346b2 +BattleCommand_TripleKick: ; triplekick ld a, [wKickCounter] @@ -26,14 +26,12 @@ BattleCommand_TripleKick: ; 346b2 ld [hl], a ret -; 346cd -BattleCommand_KickCounter: ; 346cd +BattleCommand_KickCounter: ; kickcounter ld hl, wKickCounter inc [hl] ret -; 346d2 diff --git a/engine/battle/read_trainer_attributes.asm b/engine/battle/read_trainer_attributes.asm index 0b9507e0d..12554ebaf 100644 --- a/engine/battle/read_trainer_attributes.asm +++ b/engine/battle/read_trainer_attributes.asm @@ -1,4 +1,4 @@ -GetTrainerClassName: ; 3952d +GetTrainerClassName: ld hl, wRivalName ld a, c cp RIVAL1 @@ -19,7 +19,7 @@ GetTrainerClassName: ; 3952d pop de ret -GetOTName: ; 39550 +GetOTName: ld hl, wOTPlayerName ld a, [wLinkMode] and a @@ -44,7 +44,7 @@ GetOTName: ; 39550 pop de ret -GetTrainerAttributes: ; 3957b +GetTrainerAttributes: ld a, [wTrainerClass] ld c, a call GetOTName diff --git a/engine/battle/read_trainer_dvs.asm b/engine/battle/read_trainer_dvs.asm index c021e8e8c..67ea0fe3c 100644 --- a/engine/battle/read_trainer_dvs.asm +++ b/engine/battle/read_trainer_dvs.asm @@ -1,4 +1,4 @@ -GetTrainerDVs: ; 270c4 +GetTrainerDVs: ; Return the DVs of wOtherTrainerClass in bc push hl @@ -17,4 +17,3 @@ GetTrainerDVs: ; 270c4 pop hl ret -; 270d6 diff --git a/engine/battle/read_trainer_party.asm b/engine/battle/read_trainer_party.asm index 3227236c1..3b1fe3bca 100644 --- a/engine/battle/read_trainer_party.asm +++ b/engine/battle/read_trainer_party.asm @@ -1,4 +1,4 @@ -ReadTrainerParty: ; 39771 +ReadTrainerParty: ld a, [wInBattleTowerBattle] bit 0, a ret nz @@ -79,17 +79,15 @@ ReadTrainerParty: ; 39771 call TrainerType2 call CloseSRAM jr .done -; 397e3 -TrainerTypes: ; 397e3 +TrainerTypes: ; entries correspond to TRAINERTYPE_* constants dw TrainerType1 ; level, species dw TrainerType2 ; level, species, moves dw TrainerType3 ; level, species, item dw TrainerType4 ; level, species, item, moves -; 397eb -TrainerType1: ; 397eb +TrainerType1: ; normal (level, species) ld h, d ld l, e @@ -107,9 +105,8 @@ TrainerType1: ; 397eb predef TryAddMonToParty pop hl jr .loop -; 39806 -TrainerType2: ; 39806 +TrainerType2: ; moves ld h, d ld l, e @@ -184,9 +181,8 @@ TrainerType2: ; 39806 pop hl jr .loop -; 39871 -TrainerType3: ; 39871 +TrainerType3: ; item ld h, d ld l, e @@ -213,9 +209,8 @@ TrainerType3: ; 39871 ld a, [hli] ld [de], a jr .loop -; 3989d (e:589d) -TrainerType4: ; 3989d +TrainerType4: ; item + moves ld h, d ld l, e @@ -305,9 +300,8 @@ TrainerType4: ; 3989d pop hl jr .loop -; 3991b -ComputeTrainerReward: ; 3991b (e:591b) +ComputeTrainerReward: ld hl, hProduct xor a ld [hli], a @@ -328,7 +322,7 @@ ComputeTrainerReward: ; 3991b (e:591b) ret -Battle_GetTrainerName:: ; 39939 +Battle_GetTrainerName:: ld a, [wInBattleTowerBattle] bit 0, a ld hl, wOTPlayerName @@ -339,7 +333,7 @@ Battle_GetTrainerName:: ; 39939 ld a, [wOtherTrainerClass] ld c, a -GetTrainerName:: ; 3994c +GetTrainerName:: ld a, c cp CAL jr nz, .not_cal2 @@ -379,20 +373,18 @@ GetTrainerName:: ; 3994c jr nz, .skip jr .loop -CopyTrainerName: ; 39984 +CopyTrainerName: ld de, wStringBuffer1 push de ld bc, NAME_LENGTH call CopyBytes pop de ret -; 39990 -Function39990: ; 39990 +Function39990: ; This function is useless. ld de, wStringBuffer1 push de ld bc, NAME_LENGTH pop de ret -; 39999 diff --git a/engine/battle/returntobattle_useball.asm b/engine/battle/returntobattle_useball.asm index 952239f94..0aff780c9 100644 --- a/engine/battle/returntobattle_useball.asm +++ b/engine/battle/returntobattle_useball.asm @@ -1,4 +1,4 @@ -_ReturnToBattle_UseBall: ; 2715c +_ReturnToBattle_UseBall: call ClearBGPalettes call ClearTileMap ld a, [wBattleType] diff --git a/engine/battle/sliding_intro.asm b/engine/battle/sliding_intro.asm index 667f18191..6b866c6d8 100644 --- a/engine/battle/sliding_intro.asm +++ b/engine/battle/sliding_intro.asm @@ -1,4 +1,4 @@ -BattleIntroSlidingPics: ; 4e980 +BattleIntroSlidingPics: ld a, [rSVBK] push af ld a, BANK(wLYOverrides) @@ -12,9 +12,8 @@ BattleIntroSlidingPics: ; 4e980 pop af ld [rSVBK], a ret -; 4e998 -.subfunction1 ; 4e998 +.subfunction1 call .subfunction4 ld a, $90 ld [hSCX], a @@ -23,9 +22,8 @@ BattleIntroSlidingPics: ; 4e980 lb de, %11100100, %11100100 call DmgToCgbObjPals ret -; 4e9ab -.subfunction2 ; 4e9ab +.subfunction2 ld d, $90 ld e, $72 ld a, $48 @@ -57,9 +55,8 @@ BattleIntroSlidingPics: ; 4e980 dec a jr nz, .loop1 ret -; 4e9d6 -.subfunction3 ; 4e9d6 +.subfunction3 ld hl, wVirtualOAMSprite00XCoord ld c, $12 ; 18 ld de, SPRITEOAMSTRUCT_LENGTH @@ -70,17 +67,15 @@ BattleIntroSlidingPics: ; 4e980 dec c jr nz, .loop3 ret -; 4e9e5 -.subfunction4 ; 4e9e5 +.subfunction4 ld hl, wLYOverrides ld a, $90 ld bc, SCREEN_HEIGHT_PX call ByteFill ret -; 4e9f1 -.subfunction5 ; 4e9f1 +.subfunction5 ld hl, wLYOverrides ld a, d ld c, $3e ; 62 @@ -101,4 +96,3 @@ BattleIntroSlidingPics: ; 4e980 dec c jr nz, .loop6 ret -; 4ea0a diff --git a/engine/battle/start_battle.asm b/engine/battle/start_battle.asm index 84cd1e858..5c2a633a8 100644 --- a/engine/battle/start_battle.asm +++ b/engine/battle/start_battle.asm @@ -1,4 +1,4 @@ -ShowLinkBattleParticipants: ; 2ee18 +ShowLinkBattleParticipants: ; If we're not in a communications room, ; we don't need to be here. ld a, [wLinkMode] @@ -12,7 +12,7 @@ ShowLinkBattleParticipants: ; 2ee18 call ClearSprites ret -FindFirstAliveMonAndStartBattle: ; 2ee2f +FindFirstAliveMonAndStartBattle: xor a ld [hMapAnims], a call DelayFrame @@ -46,7 +46,7 @@ FindFirstAliveMonAndStartBattle: ; 2ee2f ld [hMapAnims], a ret -PlayBattleMusic: ; 2ee6c +PlayBattleMusic: push hl push de push bc @@ -148,7 +148,7 @@ PlayBattleMusic: ; 2ee6c pop hl ret -ClearBattleRAM: ; 2ef18 +ClearBattleRAM: xor a ld [wBattlePlayerAction], a ld [wBattleResult], a diff --git a/engine/battle/trainer_huds.asm b/engine/battle/trainer_huds.asm index 0a18098ed..3930549b2 100644 --- a/engine/battle/trainer_huds.asm +++ b/engine/battle/trainer_huds.asm @@ -1,4 +1,4 @@ -BattleStart_TrainerHuds: ; 2c000 +BattleStart_TrainerHuds: ld a, $e4 ld [rOBP0], a call LoadBallIconGFX @@ -7,16 +7,14 @@ BattleStart_TrainerHuds: ; 2c000 dec a ret z jp ShowOTTrainerMonsRemaining -; 2c012 -EnemySwitch_TrainerHud: ; 2c012 +EnemySwitch_TrainerHud: ld a, $e4 ld [rOBP0], a call LoadBallIconGFX jp ShowOTTrainerMonsRemaining -; 2c01c -ShowPlayerMonsRemaining: ; 2c01c +ShowPlayerMonsRemaining: call DrawPlayerPartyIconHUDBorder ld hl, wPartyMon1HP ld de, wPartyCount @@ -30,9 +28,8 @@ ShowPlayerMonsRemaining: ; 2c01c ld [wPlaceBallsDirection], a ld hl, wVirtualOAMSprite00 jp LoadTrainerHudOAM -; 2c03a -ShowOTTrainerMonsRemaining: ; 2c03a +ShowOTTrainerMonsRemaining: call DrawEnemyHUDBorder ld hl, wOTPartyMon1HP ld de, wOTPartyCount @@ -46,9 +43,8 @@ ShowOTTrainerMonsRemaining: ; 2c03a ld [wPlaceBallsDirection], a ld hl, wVirtualOAMSprite00 + PARTY_LENGTH * SPRITEOAMSTRUCT_LENGTH jp LoadTrainerHudOAM -; 2c059 -StageBallTilesData: ; 2c059 +StageBallTilesData: ld a, [de] push af ld de, wBuffer1 @@ -69,9 +65,8 @@ StageBallTilesData: ; 2c059 dec a jr nz, .loop2 ret -; 2c075 -.GetHUDTile: ; 2c075 +.GetHUDTile: ld a, [hli] and a jr nz, .got_hp @@ -102,9 +97,8 @@ StageBallTilesData: ; 2c059 ld bc, PARTYMON_STRUCT_LENGTH + MON_HP - MON_STATUS add hl, bc ret -; 2c095 -DrawPlayerHUDBorder: ; 2c095 +DrawPlayerHUDBorder: ld hl, .tiles ld de, wTrainerHUDTiles ld bc, 4 @@ -118,9 +112,8 @@ DrawPlayerHUDBorder: ; 2c095 db $77 ; bottom right db $6f ; bottom left db $76 ; bottom side -; 2c0ad -DrawPlayerPartyIconHUDBorder: ; 2c0ad +DrawPlayerPartyIconHUDBorder: ld hl, .tiles ld de, wTrainerHUDTiles ld bc, 4 @@ -134,9 +127,8 @@ DrawPlayerPartyIconHUDBorder: ; 2c0ad db $5c ; bottom right db $6f ; bottom left db $76 ; bottom side -; 2c0c5 -DrawEnemyHUDBorder: ; 2c0c5 +DrawEnemyHUDBorder: ld hl, .tiles ld de, wTrainerHUDTiles ld bc, 4 @@ -160,9 +152,8 @@ DrawEnemyHUDBorder: ; 2c0c5 db $74 ; bottom left db $78 ; bottom right db $76 ; bottom side -; 2c0f1 -PlaceHUDBorderTiles: ; 2c0f1 +PlaceHUDBorderTiles: ld a, [wTrainerHUDTiles] ld [hl], a ld bc, SCREEN_WIDTH @@ -180,9 +171,8 @@ PlaceHUDBorderTiles: ; 2c0f1 ld a, [wEndFlypoint] ld [hl], a ret -; 2c10d -LinkBattle_TrainerHuds: ; 2c10d +LinkBattle_TrainerHuds: call LoadBallIconGFX ld hl, wPartyMon1HP ld de, wPartyCount @@ -205,9 +195,8 @@ LinkBattle_TrainerHuds: ; 2c10d ld [hl], 13 * 8 ld hl, wVirtualOAMSprite00 + PARTY_LENGTH * SPRITEOAMSTRUCT_LENGTH jp LoadTrainerHudOAM -; 2c143 -LoadTrainerHudOAM: ; 2c143 +LoadTrainerHudOAM: ld de, wBuffer1 ld c, PARTY_LENGTH .loop @@ -228,21 +217,18 @@ LoadTrainerHudOAM: ; 2c143 dec c jr nz, .loop ret -; 2c165 -LoadBallIconGFX: ; 2c165 +LoadBallIconGFX: ld de, .gfx ld hl, vTiles0 tile $31 lb bc, BANK(LoadBallIconGFX), 4 call Get2bpp_2 ret -; 2c172 -.gfx ; 2c172 +.gfx INCBIN "gfx/battle/balls.2bpp" -; 2c1b2 -_ShowLinkBattleParticipants: ; 2c1b2 +_ShowLinkBattleParticipants: call ClearBGPalettes call LoadFontsExtra hlcoord 2, 3 @@ -266,4 +252,3 @@ _ShowLinkBattleParticipants: ; 2c1b2 ld a, $e4 ld [rOBP0], a ret -; 2c1ef diff --git a/engine/battle/unreferenced_getgen1trainerclassname.asm b/engine/battle/unreferenced_getgen1trainerclassname.asm index da8e98b61..045325234 100644 --- a/engine/battle/unreferenced_getgen1trainerclassname.asm +++ b/engine/battle/unreferenced_getgen1trainerclassname.asm @@ -1,4 +1,4 @@ -Unreferenced_GetGen1TrainerClassName: ; 50a28 +Unreferenced_GetGen1TrainerClassName: ld hl, Gen1TrainerClassNames ld a, [wTrainerClass] dec a diff --git a/engine/battle/used_move_text.asm b/engine/battle/used_move_text.asm index f2182f378..2bb6b7845 100644 --- a/engine/battle/used_move_text.asm +++ b/engine/battle/used_move_text.asm @@ -1,11 +1,10 @@ -DisplayUsedMoveText: ; 105db0 +DisplayUsedMoveText: ; battle command 03 ld hl, UsedMoveText call BattleTextBox jp WaitBGMap -; 105db9 -UsedMoveText: ; 105db9 +UsedMoveText: ; this is a stream of text and asm from 105db9 to 105ef6 text_jump _ActorNameText start_asm @@ -58,18 +57,16 @@ UsedMoveText: ; 105db9 ret c ld hl, UsedMove1Text ret -; 105e04 -UsedMove1Text: ; 105e04 +UsedMove1Text: text_jump _UsedMove1Text start_asm jr UsedMoveText_CheckObedience -; 105e0b -UsedMove2Text: ; 105e0b +UsedMove2Text: text_jump _UsedMove2Text start_asm -UsedMoveText_CheckObedience: ; 105e10 +UsedMoveText_CheckObedience: ; check obedience ld a, [wAlreadyDisobeyed] and a @@ -77,7 +74,6 @@ UsedMoveText_CheckObedience: ; 105e10 ; print "instead," ld hl, .UsedInsteadText ret -; 105e1a .UsedInsteadText: text_jump _UsedInsteadText @@ -85,9 +81,8 @@ UsedMoveText_CheckObedience: ; 105e10 .GetMoveNameText: ld hl, MoveNameText ret -; 105e23 -MoveNameText: ; 105e23 +MoveNameText: text_jump _MoveNameText start_asm ; get start address @@ -111,40 +106,33 @@ MoveNameText: ; 105e23 ld h, [hl] ld l, a ret -; 105e39 -.endusedmovetexts ; 105e39 +.endusedmovetexts ; entries correspond to MoveGrammar sets dw EndUsedMove1Text dw EndUsedMove2Text dw EndUsedMove3Text dw EndUsedMove4Text dw EndUsedMove5Text -; 105e43 -EndUsedMove1Text: ; 105e43 +EndUsedMove1Text: text_jump _EndUsedMove1Text db "@" -; 105e48 -EndUsedMove2Text: ; 105e48 +EndUsedMove2Text: text_jump _EndUsedMove2Text db "@" -; 105e4d -EndUsedMove3Text: ; 105e4d +EndUsedMove3Text: text_jump _EndUsedMove3Text db "@" -; 105e52 -EndUsedMove4Text: ; 105e52 +EndUsedMove4Text: text_jump _EndUsedMove4Text db "@" -; 105e57 -EndUsedMove5Text: ; 105e57 +EndUsedMove5Text: text_jump _EndUsedMove5Text db "@" -; 105e5c -GetMoveGrammar: ; 105e5c +GetMoveGrammar: ; store move grammar type in wd265 push bc @@ -178,12 +166,11 @@ GetMoveGrammar: ; 105e5c ; we're done pop bc ret -; 105e7a INCLUDE "data/moves/grammar.asm" -UpdateUsedMoves: ; 105ed0 +UpdateUsedMoves: ; append move a to wPlayerUsedMoves unless it has already been used push bc @@ -237,4 +224,3 @@ UpdateUsedMoves: ; 105ed0 ; list updated pop bc ret -; 105ef6 diff --git a/engine/battle_anims/anim_commands.asm b/engine/battle_anims/anim_commands.asm index 449febf5f..b30a42bf2 100644 --- a/engine/battle_anims/anim_commands.asm +++ b/engine/battle_anims/anim_commands.asm @@ -1,6 +1,6 @@ ; Battle animation command interpreter. -PlayBattleAnim: ; cc0d6 +PlayBattleAnim: ld a, [rSVBK] push af @@ -13,9 +13,8 @@ PlayBattleAnim: ; cc0d6 pop af ld [rSVBK], a ret -; cc0e4 -_PlayBattleAnim: ; cc0e4 +_PlayBattleAnim: ld c, 6 .wait @@ -52,9 +51,8 @@ _PlayBattleAnim: ; cc0e4 call BattleAnimDelayFrame call WaitSFX ret -; cc11c -BattleAnimRunScript: ; cc11c +BattleAnimRunScript: ld a, [wFXAnimID + 1] and a @@ -97,9 +95,8 @@ BattleAnimRunScript: ; cc11c .done call BattleAnim_RevertPals ret -; cc163 -RunBattleAnimScript: ; cc163 +RunBattleAnimScript: call ClearBattleAnims @@ -140,9 +137,8 @@ RunBattleAnimScript: ; cc163 call BattleAnim_ClearCGB_OAMFlags ret -; cc1a1 -BattleAnimClearHud: ; cc1a1 +BattleAnimClearHud: call BattleAnimDelayFrame call WaitTop @@ -154,9 +150,8 @@ BattleAnimClearHud: ; cc1a1 call BattleAnimDelayFrame call WaitTop ret -; cc1bb -BattleAnimRestoreHuds: ; cc1bb +BattleAnimRestoreHuds: call BattleAnimDelayFrame call WaitTop @@ -180,9 +175,8 @@ BattleAnimRestoreHuds: ; cc1bb call BattleAnimDelayFrame call WaitTop ret -; cc1e2 -BattleAnimRequestPals: ; cc1e2 +BattleAnimRequestPals: ld a, [hCGB] and a @@ -200,9 +194,8 @@ BattleAnimRequestPals: ; cc1e2 cp b call nz, BattleAnim_SetOBPals ret -; cc1fb -BattleAnimDelayFrame: ; cc1fb +BattleAnimDelayFrame: ; Like DelayFrame but wastes battery life. ld a, 1 @@ -212,9 +205,8 @@ BattleAnimDelayFrame: ; cc1fb and a jr nz, .wait ret -; cc207 -ClearActorHud: ; cc207 +ClearActorHud: ld a, [hBattleTurn] and a @@ -230,9 +222,8 @@ ClearActorHud: ; cc207 lb bc, 5, 11 call ClearBox ret -; cc220 -Unreferenced_Functioncc220: ; cc220 +Unreferenced_Functioncc220: xor a ld [hBGMapMode], a ld a, LOW(vBGMap0 tile $28) @@ -248,10 +239,9 @@ Unreferenced_Functioncc220: ; cc220 ld [hBGMapAddress + 1], a call BattleAnimDelayFrame ret -; cc23d -BattleAnim_ClearCGB_OAMFlags: ; cc23d +BattleAnim_ClearCGB_OAMFlags: ld a, [wBattleAnimFlags] bit 3, a @@ -279,16 +269,14 @@ endr dec c jr nz, .loop2 ret -; cc25f -RunBattleAnimCommand: ; cc25f +RunBattleAnimCommand: call .CheckTimer ret nc call .RunScript ret -; cc267 -.CheckTimer: ; cc267 +.CheckTimer: ld a, [wBattleAnimDuration] and a jr z, .done @@ -301,9 +289,8 @@ RunBattleAnimCommand: ; cc25f .done scf ret -; cc275 -.RunScript: ; cc275 +.RunScript: .loop call GetBattleAnimByte @@ -329,9 +316,8 @@ RunBattleAnimCommand: ; cc25f call .DoCommand jr .loop -; cc293 -.DoCommand: ; cc293 +.DoCommand: ; Execute battle animation command in [wBattleAnimByte]. ld a, [wBattleAnimByte] sub $d0 @@ -346,10 +332,9 @@ RunBattleAnimCommand: ; cc25f ld h, [hl] ld l, a jp hl -; cc2a4 -BattleAnimCommands:: ; cc2a4 (33:42a4) +BattleAnimCommands:: ; entries correspond to macros/scripts/battle_anims.asm enumeration dw BattleAnimCmd_Obj dw BattleAnimCmd_1GFX @@ -404,10 +389,10 @@ BattleAnimCommands:: ; cc2a4 (33:42a4) BattleAnimCmd_EA: BattleAnimCmd_EB: BattleAnimCmd_EC: -BattleAnimCmd_ED: ; cc304 (33:4304) +BattleAnimCmd_ED: ret -BattleAnimCmd_Ret: ; cc305 (33:4305) +BattleAnimCmd_Ret: ld hl, wBattleAnimFlags res 1, [hl] ld hl, wBattleAnimParent @@ -420,7 +405,7 @@ BattleAnimCmd_Ret: ; cc305 (33:4305) ld [hl], d ret -BattleAnimCmd_Call: ; cc317 (33:4317) +BattleAnimCmd_Call: call GetBattleAnimByte ld e, a call GetBattleAnimByte @@ -443,7 +428,7 @@ BattleAnimCmd_Call: ; cc317 (33:4317) set 1, [hl] ret -BattleAnimCmd_Jump: ; cc339 (33:4339) +BattleAnimCmd_Jump: call GetBattleAnimByte ld e, a call GetBattleAnimByte @@ -454,7 +439,7 @@ BattleAnimCmd_Jump: ; cc339 (33:4339) ld [hl], d ret -BattleAnimCmd_Loop: ; cc348 (33:4348) +BattleAnimCmd_Loop: call GetBattleAnimByte ld hl, wBattleAnimFlags bit 2, [hl] @@ -495,7 +480,7 @@ BattleAnimCmd_Loop: ; cc348 (33:4348) ld [hl], e ret -BattleAnimCmd_JumpUntil: ; cc383 (33:4383) +BattleAnimCmd_JumpUntil: ld hl, wBattleAnimParam ld a, [hl] and a @@ -524,17 +509,17 @@ BattleAnimCmd_JumpUntil: ; cc383 (33:4383) ld [hl], e ret -BattleAnimCmd_SetVar: ; cc3a6 (33:43a6) +BattleAnimCmd_SetVar: call GetBattleAnimByte ld [wBattleAnimVar], a ret -BattleAnimCmd_IncVar: ; cc3ad (33:43ad) +BattleAnimCmd_IncVar: ld hl, wBattleAnimVar inc [hl] ret -BattleAnimCmd_IfVarEqual: ; cc3b2 (33:43b2) +BattleAnimCmd_IfVarEqual: call GetBattleAnimByte ld hl, wBattleAnimVar cp [hl] @@ -562,7 +547,7 @@ BattleAnimCmd_IfVarEqual: ; cc3b2 (33:43b2) ld [hl], d ret -BattleAnimCmd_IfParamEqual: ; cc3d6 (33:43d6) +BattleAnimCmd_IfParamEqual: call GetBattleAnimByte ld hl, wBattleAnimParam cp [hl] @@ -590,7 +575,7 @@ BattleAnimCmd_IfParamEqual: ; cc3d6 (33:43d6) ld [hl], d ret -BattleAnimCmd_IfParamAnd: ; cc3fa (33:43fa) +BattleAnimCmd_IfParamAnd: call GetBattleAnimByte ld e, a ld a, [wBattleAnimParam] @@ -619,7 +604,7 @@ BattleAnimCmd_IfParamAnd: ; cc3fa (33:43fa) ld [hl], d ret -BattleAnimCmd_Obj: ; cc41f (33:441f) +BattleAnimCmd_Obj: ; index, x, y, param call GetBattleAnimByte ld [wBattleAnimTemp0], a @@ -632,7 +617,7 @@ BattleAnimCmd_Obj: ; cc41f (33:441f) call QueueBattleAnimation ret -BattleAnimCmd_BGEffect: ; cc43b (33:443b) +BattleAnimCmd_BGEffect: call GetBattleAnimByte ld [wBattleAnimTemp0], a call GetBattleAnimByte @@ -644,22 +629,22 @@ BattleAnimCmd_BGEffect: ; cc43b (33:443b) call _QueueBGEffect ret -BattleAnimCmd_BGP: ; cc457 (33:4457) +BattleAnimCmd_BGP: call GetBattleAnimByte ld [wBGP], a ret -BattleAnimCmd_OBP0: ; cc45e (33:445e) +BattleAnimCmd_OBP0: call GetBattleAnimByte ld [wOBP0], a ret -BattleAnimCmd_OBP1: ; cc465 (33:4465) +BattleAnimCmd_OBP1: call GetBattleAnimByte ld [wOBP1], a ret -BattleAnimCmd_ResetObp0: ; cc46c (33:446c) +BattleAnimCmd_ResetObp0: ld a, [hSGB] and a ld a, $e0 @@ -669,7 +654,7 @@ BattleAnimCmd_ResetObp0: ; cc46c (33:446c) ld [wOBP0], a ret -BattleAnimCmd_ClearObjs: ; cc479 (33:4479) +BattleAnimCmd_ClearObjs: ld hl, wActiveAnimObjects ld a, $a0 .loop @@ -683,7 +668,7 @@ BattleAnimCmd_1GFX: BattleAnimCmd_2GFX: BattleAnimCmd_3GFX: BattleAnimCmd_4GFX: -BattleAnimCmd_5GFX: ; cc485 (33:4485) +BattleAnimCmd_5GFX: ld a, [wBattleAnimByte] and $f ld c, a @@ -718,7 +703,7 @@ endr jr nz, .loop ret -BattleAnimCmd_IncObj: ; cc4c0 (33:44c0) +BattleAnimCmd_IncObj: call GetBattleAnimByte ld e, 10 ld bc, wActiveAnimObjects @@ -743,7 +728,7 @@ BattleAnimCmd_IncObj: ; cc4c0 (33:44c0) inc [hl] ret -BattleAnimCmd_IncBGEffect: ; cc4e3 (33:44e3) +BattleAnimCmd_IncBGEffect: call GetBattleAnimByte ld e, 5 ld bc, wActiveBGEffects @@ -768,7 +753,7 @@ BattleAnimCmd_IncBGEffect: ; cc4e3 (33:44e3) inc [hl] ret -BattleAnimCmd_SetObj: ; cc506 (33:4506) +BattleAnimCmd_SetObj: call GetBattleAnimByte ld e, 10 ld bc, wActiveAnimObjects @@ -794,7 +779,7 @@ BattleAnimCmd_SetObj: ; cc506 (33:4506) ld [hl], a ret -BattleAnimCmd_EnemyFeetObj: ; cc52c (33:452c) +BattleAnimCmd_EnemyFeetObj: ld hl, wBattleAnimTileDict .loop @@ -828,7 +813,7 @@ BattleAnimCmd_EnemyFeetObj: ; cc52c (33:452c) call .LoadFootprint ret -.LoadFootprint: ; cc561 (33:4561) +.LoadFootprint: push af push hl push de @@ -849,7 +834,7 @@ BattleAnimCmd_EnemyFeetObj: ; cc52c (33:452c) jr nz, .LoadFootprint ret -BattleAnimCmd_PlayerHeadObj: ; cc57e (33:457e) +BattleAnimCmd_PlayerHeadObj: ld hl, wBattleAnimTileDict .loop @@ -883,7 +868,7 @@ BattleAnimCmd_PlayerHeadObj: ; cc57e (33:457e) call .LoadHead ret -.LoadHead: ; cc5b3 (33:45b3) +.LoadHead: push af push hl push de @@ -904,16 +889,16 @@ BattleAnimCmd_PlayerHeadObj: ; cc57e (33:457e) jr nz, .LoadHead ret -BattleAnimCmd_CheckPokeball: ; cc5d0 (33:45d0) +BattleAnimCmd_CheckPokeball: callfar GetPokeBallWobble ld a, c ld [wBattleAnimVar], a ret -BattleAnimCmd_E7: ; cc5db (33:45db) +BattleAnimCmd_E7: ret -BattleAnimCmd_Transform: ; cc5dc (33:45dc) +BattleAnimCmd_Transform: ld a, [rSVBK] push af ld a, BANK(wCurPartySpecies) @@ -948,7 +933,7 @@ BattleAnimCmd_Transform: ; cc5dc (33:45dc) ld [rSVBK], a ret -BattleAnimCmd_UpdateActorPic: ; cc622 (33:4622) +BattleAnimCmd_UpdateActorPic: ld de, vTiles0 tile $00 ld a, [hBattleTurn] @@ -968,7 +953,7 @@ BattleAnimCmd_UpdateActorPic: ; cc622 (33:4622) call Request2bpp ret -BattleAnimCmd_RaiseSub: ; cc640 (33:4640) +BattleAnimCmd_RaiseSub: ld a, [rSVBK] push af @@ -1037,13 +1022,13 @@ GetSubstitutePic: ; used only for BANK(GetSubstitutePic) ld [rSVBK], a ret -.CopyTile: ; cc6c6 (33:46c6) +.CopyTile: ld bc, 1 tiles ld a, BANK(MonsterSpriteGFX) call FarCopyBytes ret -BattleAnimCmd_MinimizeOpp: ; cc6cf (33:46cf) +BattleAnimCmd_MinimizeOpp: ld a, [rSVBK] push af ld a, 1 ; unnecessary bankswitch? @@ -1057,7 +1042,7 @@ BattleAnimCmd_MinimizeOpp: ; cc6cf (33:46cf) ld [rSVBK], a ret -GetMinimizePic: ; cc6e7 (33:46e7) +GetMinimizePic: ld hl, sScratch ld bc, $31 tiles .loop @@ -1087,19 +1072,17 @@ GetMinimizePic: ; cc6e7 (33:46e7) lb bc, BANK(GetMinimizePic), 6 * 6 ret -CopyMinimizePic: ; cc719 (33:4719) +CopyMinimizePic: ld hl, MinimizePic ld bc, $10 ld a, BANK(MinimizePic) call FarCopyBytes ret -; cc725 (33:4725) -MinimizePic: ; cc725 +MinimizePic: INCBIN "gfx/battle/minimize.2bpp" -; cc735 -BattleAnimCmd_Minimize: ; cc735 (33:4735) +BattleAnimCmd_Minimize: ld a, [rSVBK] push af ld a, 1 ; unnecessary bankswitch? @@ -1114,7 +1097,7 @@ BattleAnimCmd_Minimize: ; cc735 (33:4735) ld [rSVBK], a ret -BattleAnimCmd_DropSub: ; cc750 (33:4750) +BattleAnimCmd_DropSub: ld a, [rSVBK] push af ld a, BANK(wCurPartySpecies) @@ -1139,7 +1122,7 @@ BattleAnimCmd_DropSub: ; cc750 (33:4750) ld [rSVBK], a ret -BattleAnimCmd_BeatUp: ; cc776 (33:4776) +BattleAnimCmd_BeatUp: ld a, [rSVBK] push af ld a, BANK(wCurPartySpecies) @@ -1175,31 +1158,31 @@ BattleAnimCmd_BeatUp: ; cc776 (33:4776) ld [rSVBK], a ret -BattleAnimCmd_OAMOn: ; cc7bb (33:47bb) +BattleAnimCmd_OAMOn: xor a ld [hOAMUpdate], a ret -BattleAnimCmd_OAMOff: ; cc7bf (33:47bf) +BattleAnimCmd_OAMOff: ld a, $1 ld [hOAMUpdate], a ret -BattleAnimCmd_ClearSprites: ; cc7c4 (33:47c4) +BattleAnimCmd_ClearSprites: ld hl, wBattleAnimFlags set 3, [hl] ret -BattleAnimCmd_F5: ; cc7ca (33:47ca) +BattleAnimCmd_F5: ret -BattleAnimCmd_F6: ; cc7cb (33:47cb) +BattleAnimCmd_F6: ret -BattleAnimCmd_F7: ; cc7cc (33:47cc) +BattleAnimCmd_F7: ret -BattleAnimCmd_Sound: ; cc7cd (33:47cd) +BattleAnimCmd_Sound: call GetBattleAnimByte ld e, a srl a @@ -1222,13 +1205,11 @@ BattleAnimCmd_Sound: ; cc7cd (33:47cd) callfar PlayStereoSFX ret -; cc7f8 (33:47f8) -.GetPanning: ; cc7f8 +.GetPanning: db $f0, $0f, $f0, $0f -; cc7fc -.GetCryTrack: ; cc7fc (33:47fc) +.GetCryTrack: ld a, [hBattleTurn] and a jr nz, .enemy @@ -1241,7 +1222,7 @@ BattleAnimCmd_Sound: ; cc7cd (33:47cd) xor 1 ret -BattleAnimCmd_Cry: ; cc807 (33:4807) +BattleAnimCmd_Cry: call GetBattleAnimByte maskbits NUM_NOISE_CHANS ld e, a @@ -1315,18 +1296,16 @@ endr pop af ld [rSVBK], a ret -; cc871 (33:4871) -.CryData: ; cc871 +.CryData: ; +pitch, +length dw $0000, $00c0 dw $0000, $0040 dw $0000, $0000 dw $0000, $0000 -; cc881 -PlayHitSound: ; cc881 +PlayHitSound: ld a, [wNumHits] cp $1 jr z, .okay @@ -1350,9 +1329,8 @@ PlayHitSound: ; cc881 .play call PlaySFX ret -; cc8a4 -BattleAnimAssignPals: ; cc8a4 +BattleAnimAssignPals: ld a, [hCGB] and a jr nz, .cgb @@ -1378,9 +1356,8 @@ BattleAnimAssignPals: ; cc8a4 lb de, %11100100, %11100100 call DmgToCgbObjPals ret -; cc8d3 -ClearBattleAnims: ; cc8d3 +ClearBattleAnims: ; Clear animation block ld hl, wLYOverrides ld bc, wBattleAnimEnd - wLYOverrides @@ -1403,9 +1380,8 @@ ClearBattleAnims: ; cc8d3 call BattleAnimAssignPals call BattleAnimDelayFrame ret -; cc8f6 -BattleAnim_RevertPals: ; cc8f6 +BattleAnim_RevertPals: call WaitTop ld a, %11100100 ld [wBGP], a @@ -1421,9 +1397,8 @@ BattleAnim_RevertPals: ; cc8f6 ld a, $1 ld [hBGMapMode], a ret -; cc91a -BattleAnim_SetBGPals: ; cc91a +BattleAnim_SetBGPals: ld [rBGP], a ld a, [hCGB] and a @@ -1449,9 +1424,8 @@ BattleAnim_SetBGPals: ; cc91a ld a, $1 ld [hCGBPalUpdate], a ret -; cc94b -BattleAnim_SetOBPals: ; cc94b +BattleAnim_SetOBPals: ld [rOBP0], a ld a, [hCGB] and a @@ -1471,9 +1445,8 @@ BattleAnim_SetOBPals: ; cc94b ld a, $1 ld [hCGBPalUpdate], a ret -; cc96e -BattleAnim_UpdateOAM_All: ; cc96e +BattleAnim_UpdateOAM_All: ld a, $0 ld [wBattleAnimOAMPointerLo], a ld hl, wActiveAnimObjects @@ -1510,4 +1483,3 @@ BattleAnim_UpdateOAM_All: ; cc96e .done ret -; cc9a1 diff --git a/engine/battle_anims/bg_effects.asm b/engine/battle_anims/bg_effects.asm index 3192774dd..89ffb0aa4 100644 --- a/engine/battle_anims/bg_effects.asm +++ b/engine/battle_anims/bg_effects.asm @@ -8,7 +8,7 @@ ; BG effects for use in battle animations. -ExecuteBGEffects: ; c8000 (32:4000) +ExecuteBGEffects: ld hl, wActiveBGEffects ld e, 5 .loop @@ -29,7 +29,7 @@ ExecuteBGEffects: ; c8000 (32:4000) jr nz, .loop ret -QueueBGEffect: ; c801a (32:401a) +QueueBGEffect: ld hl, wActiveBGEffects ld e, 5 .loop @@ -58,13 +58,13 @@ QueueBGEffect: ; c801a (32:401a) ld [hl], a ret -EndBattleBGEffect: ; c8043 (32:4043) +EndBattleBGEffect: ld hl, BG_EFFECT_STRUCT_FUNCTION add hl, bc ld [hl], 0 ret -DoBattleBGEffectFunction: ; c804a (32:404a) +DoBattleBGEffectFunction: ld hl, BG_EFFECT_STRUCT_FUNCTION add hl, bc ld e, [hl] @@ -77,7 +77,7 @@ DoBattleBGEffectFunction: ; c804a (32:404a) ld l, a jp hl -BattleBGEffects: ; c805a (32:405a) +BattleBGEffects: ; entries correspond to ANIM_BG_* constants dw BattleBGEffect_End dw BattleBGEffect_FlashInverted @@ -135,11 +135,11 @@ BattleBGEffects: ; c805a (32:405a) dw BattleBGEffect_35 -BattleBGEffect_End: ; c80c6 (32:40c6) +BattleBGEffect_End: call EndBattleBGEffect ret -BatttleBGEffects_GetNamedJumptablePointer: ; c80ca (32:40ca) +BatttleBGEffects_GetNamedJumptablePointer: ld hl, BG_EFFECT_STRUCT_JT_INDEX add hl, bc ld l, [hl] @@ -151,7 +151,7 @@ BatttleBGEffects_GetNamedJumptablePointer: ; c80ca (32:40ca) ld l, a ret -BattleBGEffects_AnonJumptable: ; c80d7 (32:40d7) +BattleBGEffects_AnonJumptable: pop de ld hl, BG_EFFECT_STRUCT_JT_INDEX add hl, bc @@ -164,31 +164,29 @@ BattleBGEffects_AnonJumptable: ; c80d7 (32:40d7) ld l, a jp hl -BattleBGEffects_IncrementJumptable: ; c80e5 (32:40e5) +BattleBGEffects_IncrementJumptable: ld hl, BG_EFFECT_STRUCT_JT_INDEX add hl, bc inc [hl] ret -BattleBGEffect_FlashInverted: ; c80eb (32:40eb) +BattleBGEffect_FlashInverted: ld de, .inverted jp BattleBGEffect_FlashContinue .inverted db %11100100 ; 3210 db %00011011 ; 0123 -; c80f3 -BattleBGEffect_FlashWhite: ; c80f3 (32:40f3) +BattleBGEffect_FlashWhite: ld de, .white jp BattleBGEffect_FlashContinue .white db %11100100 ; 3210 db %00000000 ; 0000 -; c80fb -BattleBGEffect_FlashContinue: ; c80fb (32:40fb) +BattleBGEffect_FlashContinue: ; current timer, flash duration, number of flashes ld a, $1 ld [wBattleAnimTemp0], a @@ -226,7 +224,7 @@ BattleBGEffect_FlashContinue: ; c80fb (32:40fb) ld [wBGP], a ret -BattleBGEffect_WhiteHues: ; c812d (32:412d) +BattleBGEffect_WhiteHues: ld de, .Pals call BattleBGEffect_GetNthDMGPal jr c, .quit @@ -242,9 +240,8 @@ BattleBGEffect_WhiteHues: ; c812d (32:412d) db %11100000 db %11010000 db -1 -; c8141 -BattleBGEffect_BlackHues: ; c8141 (32:4141) +BattleBGEffect_BlackHues: ld de, .Pals call BattleBGEffect_GetNthDMGPal jr c, .quit @@ -260,9 +257,8 @@ BattleBGEffect_BlackHues: ; c8141 (32:4141) db %11110100 db %11111000 db -1 -; c8155 -BattleBGEffect_AlternateHues: ; c8155 (32:4155) +BattleBGEffect_AlternateHues: ld de, .Pals call BattleBGEffect_GetNthDMGPal jr c, .quit @@ -284,9 +280,8 @@ BattleBGEffect_AlternateHues: ; c8155 (32:4155) db %01000000 db %10010000 db -2 -; c8171 -BattleBGEffect_06: ; c8171 (32:4171) +BattleBGEffect_06: call BattleBGEffects_CheckSGB jr nz, .sgb ld de, .PalsCGB @@ -308,9 +303,8 @@ BattleBGEffect_06: ; c8171 (32:4171) db %11110000 db %11000000 db -2 -; c818b -BattleBGEffect_07: ; c818b (32:418b) +BattleBGEffect_07: call BattleBGEffects_CheckSGB jr nz, .sgb ld de, .PalsCGB @@ -332,9 +326,8 @@ BattleBGEffect_07: ; c818b (32:418b) db %11110000 db %11001100 db -2 -; c81a5 -BattleBGEffect_08: ; c81a5 (32:41a5) +BattleBGEffect_08: ld de, .Pals call BattleBGEffect_GetNthDMGPal ld [wBGP], a @@ -345,9 +338,8 @@ BattleBGEffect_08: ; c81a5 (32:41a5) db %01100011 db %10000111 db -2 -; c81b3 -BattleBGEffect_HideMon: ; c81b3 (32:41b3) +BattleBGEffect_HideMon: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -384,7 +376,7 @@ BattleBGEffect_HideMon: ; c81b3 (32:41b3) call EndBattleBGEffect ret -BattleBGEffect_ShowMon: ; c81ea (32:41ea) +BattleBGEffect_ShowMon: call BGEffect_CheckFlyDigStatus jr z, .not_flying call EndBattleBGEffect @@ -412,9 +404,8 @@ BattleBGEffect_ShowMon: ; c81ea (32:41ea) .EnemyData: db 3, $00, 3 db -1 -; c8214 -BattleBGEffect_FeetFollow: ; c8214 (32:4214) +BattleBGEffect_FeetFollow: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -482,7 +473,7 @@ BattleBGEffect_FeetFollow: ; c8214 (32:4214) call EndBattleBGEffect ret -BattleBGEffect_HeadFollow: ; c8281 (32:4281) +BattleBGEffect_HeadFollow: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -550,11 +541,11 @@ BattleBGEffect_HeadFollow: ; c8281 (32:4281) call EndBattleBGEffect ret -_QueueBattleAnimation: ; c82ee (32:42ee) +_QueueBattleAnimation: callfar QueueBattleAnimation ret -BattleBGEffect_27: ; c82f5 (32:42f5) +BattleBGEffect_27: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -655,7 +646,7 @@ BattleBGEffect_27: ; c82f5 (32:42f5) call EndBattleBGEffect ret -BattleBGEffect_EnterMon: ; c837b (32:437b) +BattleBGEffect_EnterMon: call BGEffect_CheckBattleTurn jr nz, .player_turn ld de, .EnemyData @@ -681,9 +672,8 @@ BattleBGEffect_EnterMon: ; c837b (32:437b) db 4, $00, 4 db 3, $00, 3 db -1 -; c83a8 -BattleBGEffect_ReturnMon: ; c83a8 (32:43a8) +BattleBGEffect_ReturnMon: call BGEffect_CheckBattleTurn jr nz, .player_turn ld de, .EnemyData @@ -717,9 +707,8 @@ BattleBGEffect_ReturnMon: ; c83a8 (32:43a8) db -2, $33, 5 db -3, $00, 0 db -1 -; c83ed -BattleBGEffect_RunPicResizeScript: ; c83ed (32:43ed) +BattleBGEffect_RunPicResizeScript: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -918,9 +907,8 @@ ENDM db $00, $15, $2a db $03, $18, $2d db $06, $1b, $30 -; c8545 -BattleBGEffect_Surf: ; c8545 (32:4545) +BattleBGEffect_Surf: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -987,7 +975,7 @@ BattleBGEffect_Surf: ; c8545 (32:4545) jr c, .loop2 ret -BattleBGEffect_Whirlpool: ; c8599 (32:4599) +BattleBGEffect_Whirlpool: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1016,14 +1004,14 @@ BattleBGEffect_Whirlpool: ; c8599 (32:4599) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_30: ; c85c2 (32:45c2) +BattleBGEffect_30: call BattleBGEffects_ClearLYOverrides ld a, rSCY - $ff00 call BattleBGEffect_SetLCDStatCustoms1 call EndBattleBGEffect ret -BattleBGEffect_31: ; c85ce (32:45ce) +BattleBGEffect_31: ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] @@ -1057,11 +1045,11 @@ BattleBGEffect_31: ; c85ce (32:45ce) call EndBattleBGEffect ret -BattleBGEffect_32: ; c8603 (32:4603) +BattleBGEffect_32: call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_Psychic: ; c8607 (32:4607) +BattleBGEffect_Psychic: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1099,7 +1087,7 @@ BattleBGEffect_Psychic: ; c8607 (32:4607) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_Teleport: ; c863f (32:463f) +BattleBGEffect_Teleport: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1124,7 +1112,7 @@ BattleBGEffect_Teleport: ; c863f (32:463f) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_NightShade: ; c8662 (32:4662) +BattleBGEffect_NightShade: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1152,7 +1140,7 @@ BattleBGEffect_NightShade: ; c8662 (32:4662) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_DoubleTeam: ; c8689 (32:4689) +BattleBGEffect_DoubleTeam: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1247,7 +1235,7 @@ BattleBGEffect_DoubleTeam: ; c8689 (32:4689) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_AcidArmor: ; c8709 (32:4709) +BattleBGEffect_AcidArmor: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1310,7 +1298,7 @@ BattleBGEffect_AcidArmor: ; c8709 (32:4709) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_Withdraw: ; c8761 (32:4761) +BattleBGEffect_Withdraw: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1359,7 +1347,7 @@ BattleBGEffect_Withdraw: ; c8761 (32:4761) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_Dig: ; c87a7 (32:47a7) +BattleBGEffect_Dig: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1426,7 +1414,7 @@ BattleBGEffect_Dig: ; c87a7 (32:47a7) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_Tackle: ; c8805 (32:4805) +BattleBGEffect_Tackle: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1461,7 +1449,7 @@ BattleBGEffect_Tackle: ; c8805 (32:4805) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_25: ; c8837 (32:4837) +BattleBGEffect_25: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1537,7 +1525,7 @@ Tackle_BGEffect25_2d_two: ld [hl], a ret -Functionc88a5: ; c88a5 (32:48a5) +Functionc88a5: push af ld a, [wFXAnimID + 1] ; FXAnimID + 1 or a @@ -1589,7 +1577,7 @@ Functionc88a5: ; c88a5 (32:48a5) jr nz, .loop ret -BattleBGEffect_2d: ; c88e7 (32:48e7) +BattleBGEffect_2d: call BattleBGEffects_AnonJumptable .anon_dw dw BGEffect2d_2f_zero @@ -1624,7 +1612,7 @@ BGEffect2d_2f_zero: ld [hl], a ret -BattleBGEffect_2f: ; c8919 (32:4919) +BattleBGEffect_2f: call BattleBGEffects_AnonJumptable .anon_dw dw BGEffect2d_2f_zero @@ -1638,7 +1626,7 @@ BattleBGEffect_2f: ; c8919 (32:4919) .two ret -BattleBGEffect_26: ; c892a (32:492a) +BattleBGEffect_26: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1677,7 +1665,7 @@ BattleBGEffect_26: ; c892a (32:492a) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_2c: ; c8964 (32:4964) +BattleBGEffect_2c: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1732,7 +1720,7 @@ BattleBGEffect_2c: ; c8964 (32:4964) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_28: ; c89b5 (32:49b5) +BattleBGEffect_28: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1775,7 +1763,7 @@ BattleBGEffect_28: ; c89b5 (32:49b5) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_BounceDown: ; c89ee (32:49ee) +BattleBGEffect_BounceDown: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1826,7 +1814,7 @@ BattleBGEffect_BounceDown: ; c89ee (32:49ee) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_2a: ; c8a3a (32:4a3a) +BattleBGEffect_2a: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1933,9 +1921,8 @@ BattleBGEffect_2a: ; c8a3a (32:4a3a) .data db $00, $40, $90, $e4 db -1 -; c8acc -BattleBGEffect_2b: ; c8acc (32:4acc) +BattleBGEffect_2b: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -1972,7 +1959,7 @@ BattleBGEffect_2b: ; c8acc (32:4acc) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_1c: ; c8b00 (32:4b00) +BattleBGEffect_1c: ld a, [hCGB] and a jr nz, .cgb @@ -2130,97 +2117,87 @@ BattleBGEffect_1c: ; c8b00 (32:4b00) db $90, $f8 db $40, $fc db $90, $f8 -; c8be8 -BattleBGEffect_RapidFlash: ; c8be8 (32:4be8) +BattleBGEffect_RapidFlash: ld de, .FlashPals call BGEffect_RapidCyclePals ret .FlashPals: db $e4, $6c, $fe -; c8bf2 -BattleBGEffect_16: ; c8bf2 (32:4bf2) +BattleBGEffect_16: ld de, .Pals call BGEffect_RapidCyclePals ret .Pals: db $e4, $90, $40, $ff -; c8bfd -BattleBGEffect_17: ; c8bfd (32:4bfd) +BattleBGEffect_17: ld de, .Pals call BGEffect_RapidCyclePals ret .Pals: db $e4, $f8, $fc, $ff -; c8c08 -BattleBGEffect_18: ; c8c08 (32:4c08) +BattleBGEffect_18: ld de, .Pals call BGEffect_RapidCyclePals ret .Pals: db $e4, $90, $40, $90, $fe -; c8c14 -BattleBGEffect_19: ; c8c14 (32:4c14) +BattleBGEffect_19: ld de, .Pals call BGEffect_RapidCyclePals ret .Pals: db $e4, $f8, $fc, $f8, $fe -; c8c20 -BattleBGEffect_1a: ; c8c20 (32:4c20) +BattleBGEffect_1a: ld de, .Pals call BGEffect_RapidCyclePals ret .Pals: db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe -; c8c30 -BattleBGEffect_1b: ; c8c30 (32:4c30) +BattleBGEffect_1b: ld de, .Pals call BGEffect_RapidCyclePals ret .Pals: db $e4, $fc, $e4, $00, $fe -; c8c3c -BattleBGEffect_1d: ; c8c3c (32:4c3c) +BattleBGEffect_1d: ld de, .Pals call BGEffect_RapidCyclePals ret .Pals: db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff -; c8c55 -BattleBGEffect_1e: ; c8c55 (32:4c55) +BattleBGEffect_1e: ld de, .Pals call BGEffect_RapidCyclePals ret .Pals: db $00, $40, $90, $e4, $ff -; c8c61 -BattleBGEffect_VibrateMon: ; c8c61 (32:4c61) +BattleBGEffect_VibrateMon: call BattleBGEffects_AnonJumptable .anon_dw dw .zero dw .one -.zero ; c8c68 (32:4c68) +.zero call BattleBGEffects_IncrementJumptable call BattleBGEffects_ClearLYOverrides ld a, rSCX - $ff00 @@ -2236,7 +2213,7 @@ BattleBGEffect_VibrateMon: ; c8c61 (32:4c61) ld [hl], $20 ret -.one ; c8c85 (32:4c85) +.one ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] @@ -2258,7 +2235,7 @@ BattleBGEffect_VibrateMon: ; c8c61 (32:4c61) call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2) +BattleBGEffect_WobbleMon: call BattleBGEffects_AnonJumptable .anon_dw dw .zero @@ -2266,7 +2243,7 @@ BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2) dw .two -.zero ; c8cab (32:4cab) +.zero call BattleBGEffects_IncrementJumptable call BattleBGEffects_ClearLYOverrides ld a, rSCX - $ff00 @@ -2280,7 +2257,7 @@ BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2) ld [hl], $0 ret -.one ; c8cc3 (32:4cc3) +.one ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] @@ -2296,11 +2273,11 @@ BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2) ld [hl], a ret -.two ; c8cdd (32:4cdd) +.two call BattleAnim_ResetLCDStatCustom ret -BattleBGEffect_2e: ; c8ce1 (32:4ce1) +BattleBGEffect_2e: call Functionc8d0b jr c, .xor_a bit 7, a @@ -2317,7 +2294,7 @@ BattleBGEffect_2e: ; c8ce1 (32:4ce1) ld [wAnimObject01YOffset], a ret -BattleBGEffect_1f: ; c8cf9 (32:4cf9) +BattleBGEffect_1f: call Functionc8d0b jr nc, .skip xor a @@ -2325,7 +2302,7 @@ BattleBGEffect_1f: ; c8cf9 (32:4cf9) ld [hSCX], a ret -BattleBGEffect_20: ; c8d02 (32:4d02) +BattleBGEffect_20: call Functionc8d0b jr nc, .skip xor a @@ -2333,7 +2310,7 @@ BattleBGEffect_20: ; c8d02 (32:4d02) ld [hSCY], a ret -Functionc8d0b: ; c8d0b (32:4d0b) +Functionc8d0b: ld hl, BG_EFFECT_STRUCT_JT_INDEX add hl, bc ld a, [hl] @@ -2371,7 +2348,7 @@ Functionc8d0b: ; c8d0b (32:4d0b) and a ret -BattleBGEffect_35: ; c8d3a (32:4d3a) +BattleBGEffect_35: ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] @@ -2392,7 +2369,7 @@ BattleBGEffect_35: ; c8d3a (32:4d3a) ld [hSCX], a ret -BattleBGEffect_GetNthDMGPal: ; c8d57 (32:4d57) +BattleBGEffect_GetNthDMGPal: ld hl, BG_EFFECT_STRUCT_JT_INDEX add hl, bc ld a, [hl] @@ -2415,7 +2392,7 @@ BattleBGEffect_GetNthDMGPal: ; c8d57 (32:4d57) call BattleBGEffect_GetFirstDMGPal ret -BGEffect_RapidCyclePals: ; c8d77 (32:4d77) +BGEffect_RapidCyclePals: ld a, [hCGB] and a jr nz, .cgb @@ -2431,7 +2408,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77) dw .two_dmg -.zero_dmg ; c8d8b (32:4d8b) +.zero_dmg call BattleBGEffects_IncrementJumptable ld a, $e4 call BattleBGEffects_SetLYOverrides @@ -2449,7 +2426,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77) ld [hl], a ret -.one_dmg ; c8daa (32:4daa) +.one_dmg ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] @@ -2474,7 +2451,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77) dec [hl] ret -.two_dmg ; c8dc9 (32:4dc9) +.two_dmg call BattleBGEffects_ResetVideoHRAM ld a, %11100100 ld [rBGP], a @@ -2488,7 +2465,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77) pop de jp hl -.Jumptable_CGB: ; c8ddd (32:4ddd) +.Jumptable_CGB: dw .zero_cgb dw .one_cgb dw .two_cgb @@ -2496,7 +2473,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77) dw .four_cgb -.zero_cgb ; c8de7 (32:4de7) +.zero_cgb call BGEffect_CheckBattleTurn jr nz, .player_turn_cgb call BattleBGEffects_IncrementJumptable @@ -2512,7 +2489,7 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77) ld [hl], a ret -.one_cgb ; c8e02 (32:4e02) +.one_cgb ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] @@ -2537,13 +2514,13 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77) dec [hl] ret -.two_cgb ; c8e21 (32:4e21) +.two_cgb ld a, $e4 call BGEffects_LoadBGPal0_OBPal1 call EndBattleBGEffect ret -.three_cgb ; c8e2a (32:4e2a) +.three_cgb ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hl] @@ -2568,13 +2545,13 @@ BGEffect_RapidCyclePals: ; c8d77 (32:4d77) dec [hl] ret -.four_cgb ; c8e49 (32:4e49) +.four_cgb ld a, $e4 call BGEffects_LoadBGPal1_OBPal0 call EndBattleBGEffect ret -BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52) +BGEffects_LoadBGPal0_OBPal1: ld h, a ld a, [rSVBK] push af @@ -2601,7 +2578,7 @@ BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52) ld [hCGBPalUpdate], a ret -BGEffects_LoadBGPal1_OBPal0: ; c8e7f (32:4e7f) +BGEffects_LoadBGPal1_OBPal0: ld h, a ld a, [rSVBK] push af @@ -2628,12 +2605,12 @@ BGEffects_LoadBGPal1_OBPal0: ; c8e7f (32:4e7f) ld [hCGBPalUpdate], a ret -BattleBGEffect_GetFirstDMGPal: ; c8eac (32:4eac) +BattleBGEffect_GetFirstDMGPal: ld hl, BG_EFFECT_STRUCT_03 add hl, bc ld a, [hl] inc [hl] -BattleBGEffect_GetNextDMGPal: ; c8eb2 (32:4eb2) +BattleBGEffect_GetNextDMGPal: ld l, a ld h, $0 add hl, de @@ -2654,9 +2631,9 @@ BattleBGEffect_GetNextDMGPal: ; c8eb2 (32:4eb2) scf ret -BattleBGEffects_ClearLYOverrides: ; c8eca (32:4eca) +BattleBGEffects_ClearLYOverrides: xor a -BattleBGEffects_SetLYOverrides: ; c8ecb (32:4ecb) +BattleBGEffects_SetLYOverrides: ld hl, wLYOverrides ; wListPointer ld e, $99 .loop1 @@ -2671,7 +2648,7 @@ BattleBGEffects_SetLYOverrides: ; c8ecb (32:4ecb) jr nz, .loop2 ret -BattleBGEffect_SetLCDStatCustoms1: ; c8ede (32:4ede) +BattleBGEffect_SetLCDStatCustoms1: ld [hLCDCPointer], a call BGEffect_CheckBattleTurn jr nz, .player_turn @@ -2687,7 +2664,7 @@ BattleBGEffect_SetLCDStatCustoms1: ; c8ede (32:4ede) ld [hLYOverrideEnd], a ret -BattleBGEffect_SetLCDStatCustoms2: ; c8ef4 (32:4ef4) +BattleBGEffect_SetLCDStatCustoms2: ld [hLCDCPointer], a call BGEffect_CheckBattleTurn jr nz, .player_turn @@ -2703,7 +2680,7 @@ BattleBGEffect_SetLCDStatCustoms2: ; c8ef4 (32:4ef4) ld [hLYOverrideEnd], a ret -BattleAnim_ResetLCDStatCustom: ; c8f0a (32:4f0a) +BattleAnim_ResetLCDStatCustom: xor a ld [hLYOverrideStart], a ld [hLYOverrideEnd], a @@ -2713,7 +2690,7 @@ BattleAnim_ResetLCDStatCustom: ; c8f0a (32:4f0a) call EndBattleBGEffect ret -BattleBGEffects_ResetVideoHRAM: ; c8f19 (32:4f19) +BattleBGEffects_ResetVideoHRAM: xor a ld [hLCDCPointer], a ld a, %11100100 @@ -2725,7 +2702,7 @@ BattleBGEffects_ResetVideoHRAM: ; c8f19 (32:4f19) call BattleBGEffects_ClearLYOverrides ret -Functionc8f2e: ; c8f2e (32:4f2e) +Functionc8f2e: push bc xor a ld [wBattleAnimTemp0], a @@ -2760,7 +2737,7 @@ Functionc8f2e: ; c8f2e (32:4f2e) pop bc ret -InitSurfWaves: ; c8f69 (32:4f69) +InitSurfWaves: push bc xor a ld [wBattleAnimTemp0], a @@ -2788,7 +2765,7 @@ InitSurfWaves: ; c8f69 (32:4f69) pop bc ret -Functionc8f9a: ; c8f9a (32:4f9a) +Functionc8f9a: push bc ld [wBattleAnimTemp3], a ld a, e @@ -2847,7 +2824,7 @@ Functionc8f9a: ; c8f9a (32:4f9a) ld d, $0 ret -BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef) +BattleBGEffect_WavyScreenFX: push bc ld a, [hLYOverrideStart] ld l, a @@ -2874,7 +2851,7 @@ BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef) pop bc ret -BGEffect_FillLYOverridesBackup: ; c900b (32:500b) +BGEffect_FillLYOverridesBackup: push af ld h, HIGH(wLYOverridesBackup) ld a, [hLYOverrideStart] @@ -2889,7 +2866,7 @@ BGEffect_FillLYOverridesBackup: ; c900b (32:500b) jr nz, .loop ret -BGEffect_DisplaceLYOverridesBackup: ; c901b (32:501b) +BGEffect_DisplaceLYOverridesBackup: ; e = a; d = [hLYOverrideEnd] - [hLYOverrideStart] - a push af ld e, a @@ -2915,7 +2892,7 @@ BGEffect_DisplaceLYOverridesBackup: ; c901b (32:501b) jr nz, .loop2 ret -BGEffect_CheckBattleTurn: ; c9038 (32:5038) +BGEffect_CheckBattleTurn: ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hBattleTurn] @@ -2923,7 +2900,7 @@ BGEffect_CheckBattleTurn: ; c9038 (32:5038) xor [hl] ret -BGEffect_CheckFlyDigStatus: ; c9042 (32:5042) +BGEffect_CheckFlyDigStatus: ld hl, BG_EFFECT_STRUCT_BATTLE_TURN add hl, bc ld a, [hBattleTurn] @@ -2939,21 +2916,20 @@ BGEffect_CheckFlyDigStatus: ; c9042 (32:5042) and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND ret -BattleBGEffects_CheckSGB: ; c9059 (32:5059) +BattleBGEffects_CheckSGB: ld a, [hSGB] and a ret -BattleBGEffects_Sine: ; c905d (32:505d) +BattleBGEffects_Sine: ld e, a callfar BattleAnim_Sine_e ld a, e ret -BattleBGEffects_Cosine: ; c9066 (32:5066) +BattleBGEffects_Cosine: ld e, a callfar BattleAnim_Cosine_e ld a, e ret -; c906f (32:506f) diff --git a/engine/battle_anims/core.asm b/engine/battle_anims/core.asm index 11578f7f0..20ab74e7b 100644 --- a/engine/battle_anims/core.asm +++ b/engine/battle_anims/core.asm @@ -1,4 +1,4 @@ -QueueBattleAnimation: ; cc9a1 (33:49a1) +QueueBattleAnimation: ld hl, wActiveAnimObjects ld e, 10 .loop @@ -20,15 +20,14 @@ QueueBattleAnimation: ; cc9a1 (33:49a1) call InitBattleAnimation ret -DeinitBattleAnimation: ; cc9bd +DeinitBattleAnimation: ld hl, BATTLEANIMSTRUCT_INDEX add hl, bc ld [hl], $0 ret -; cc9c4 -InitBattleAnimation: ; cc9c4 (33:49c4) +InitBattleAnimation: ld a, [wBattleAnimTemp0] ld e, a ld d, 0 @@ -79,7 +78,7 @@ endr ld [hl], a ; 10 ret -BattleAnimOAMUpdate: ; cca09 +BattleAnimOAMUpdate: call InitBattleAnimBuffer call GetBattleAnimFrame cp -3 @@ -191,9 +190,8 @@ BattleAnimOAMUpdate: ; cca09 scf ret -; ccaaa -InitBattleAnimBuffer: ; ccaaa +InitBattleAnimBuffer: ld hl, BATTLEANIMSTRUCT_01 add hl, bc ld a, [hl] @@ -276,9 +274,8 @@ InitBattleAnimBuffer: ; ccaaa ld [wBattleAnimTempXOffset], a ret -; ccb31 -GetBattleAnimTileOffset: ; ccb31 (33:4b31) +GetBattleAnimTileOffset: push hl push bc ld hl, wBattleAnimTileDict @@ -301,14 +298,12 @@ GetBattleAnimTileOffset: ; ccb31 (33:4b31) pop hl ret -_ExecuteBGEffects: ; ccb48 +_ExecuteBGEffects: callfar ExecuteBGEffects ret -; ccb4f -_QueueBGEffect: ; ccb4f (33:4b4f) +_QueueBGEffect: callfar QueueBGEffect ret -; ccb56 (33:4b56) diff --git a/engine/battle_anims/functions.asm b/engine/battle_anims/functions.asm index e0eedec86..d631ca72f 100644 --- a/engine/battle_anims/functions.asm +++ b/engine/battle_anims/functions.asm @@ -1,4 +1,4 @@ -DoBattleAnimFrame: ; ccfbe +DoBattleAnimFrame: ld hl, BATTLEANIMSTRUCT_FUNCTION add hl, bc ld e, [hl] @@ -10,7 +10,6 @@ DoBattleAnimFrame: ; ccfbe ld h, [hl] ld l, a jp hl -; ccfce .Jumptable: ; entries correspond to BATTLEANIMFUNC_* constants @@ -95,7 +94,7 @@ DoBattleAnimFrame: ; ccfbe dw BattleAnimFunction_4E ; 4e dw BattleAnimFunction_4F ; 4f -BattleAnimFunction_Null: ; cd06e (33:506e) +BattleAnimFunction_Null: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -105,13 +104,13 @@ BattleAnimFunction_Null: ; cd06e (33:506e) .zero ret -BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear: ; cd079 (33:5079) +BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear: call BattleAnimFunction_ThrowFromPlayerToEnemy ret c call DeinitBattleAnimation ret -BattleAnimFunction_ThrowFromPlayerToEnemy: ; cd081 (33:5081) +BattleAnimFunction_ThrowFromPlayerToEnemy: ; If x coord at $88 or beyond, abort. ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc @@ -143,7 +142,7 @@ BattleAnimFunction_ThrowFromPlayerToEnemy: ; cd081 (33:5081) scf ret -BattleAnimFunction_04: ; cd0a6 (33:50a6) +BattleAnimFunction_04: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -184,7 +183,7 @@ BattleAnimFunction_04: ; cd0a6 (33:50a6) ld [hl], a ret -BattleAnimFunction_03: ; cd0e3 (33:50e3) +BattleAnimFunction_03: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -230,7 +229,7 @@ BattleAnimFunction_03: ; cd0e3 (33:50e3) inc [hl] ret -BattleAnimFunction_01: ; cd12a (33:512a) +BattleAnimFunction_01: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -251,7 +250,7 @@ BattleAnimFunction_01: ; cd12a (33:512a) call Functionce70a ret -BattleAnimFunction_02: ; cd146 (33:5146) +BattleAnimFunction_02: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -267,7 +266,7 @@ BattleAnimFunction_02: ; cd146 (33:5146) call DeinitBattleAnimation ret -BattleAnimFunction_PokeBall: ; cd15c (33:515c) +BattleAnimFunction_PokeBall: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -384,7 +383,7 @@ BattleAnimFunction_PokeBall: ; cd15c (33:515c) call DeinitBattleAnimation ret -BattleAnimFunction_PokeBallBlocked: ; cd212 (33:5212) +BattleAnimFunction_PokeBallBlocked: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -424,7 +423,7 @@ BattleAnimFunction_PokeBallBlocked: ; cd212 (33:5212) call DeinitBattleAnimation ret -GetBallAnimPal: ; cd249 (33:5249) +GetBallAnimPal: ld hl, BallColors ld a, [rSVBK] push af @@ -449,11 +448,10 @@ GetBallAnimPal: ; cd249 (33:5249) add hl, bc ld [hl], a ret -; cd26c (33:526c) INCLUDE "data/battle_anims/ball_colors.asm" -BattleAnimFunction_10: ; cd284 (33:5284) +BattleAnimFunction_10: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -495,7 +493,7 @@ BattleAnimFunction_10: ; cd284 (33:5284) .four ret -BattleAnimFunction_07: ; cd2be (33:52be) +BattleAnimFunction_07: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -542,7 +540,7 @@ BattleAnimFunction_07: ; cd2be (33:52be) call DeinitBattleAnimation ret -BattleAnimFunction_08: ; cd306 (33:5306) +BattleAnimFunction_08: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -654,7 +652,7 @@ BattleAnimFunction_08: ; cd306 (33:5306) jr nz, .loop ret -BattleAnimFunction_09: ; cd3ae (33:53ae) +BattleAnimFunction_09: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -702,7 +700,7 @@ BattleAnimFunction_09: ; cd3ae (33:53ae) call DeinitBattleAnimation ret -BattleAnimFunction_0A: ; cd3f2 (33:53f2) +BattleAnimFunction_0A: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -798,7 +796,7 @@ BattleAnimFunction_0A: ; cd3f2 (33:53f2) .six ret -BattleAnimFunction_RazorLeaf: ; cd478 (33:5478) +BattleAnimFunction_RazorLeaf: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -945,7 +943,7 @@ BattleAnimFunction_RazorLeaf: ; cd478 (33:5478) call Functionce70a ret -Functioncd557: ; cd557 (33:5557) +Functioncd557: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -983,7 +981,7 @@ Functioncd557: ; cd557 (33:5557) ld de, -$100 ret -BattleAnimFunction_4E: ; cd58a (33:558a) +BattleAnimFunction_4E: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -1045,7 +1043,7 @@ BattleAnimFunction_4E: ; cd58a (33:558a) ld [hl], e ret -BattleAnimFunction_0C: ; cd5e9 (33:55e9) +BattleAnimFunction_0C: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -1129,7 +1127,7 @@ BattleAnimFunction_0C: ; cd5e9 (33:55e9) ld [hl], d ret -BattleAnimFunction_0D: ; cd66a (33:566a) +BattleAnimFunction_0D: call BattleAnim_AnonJumptable .anon_dw dw .zero @@ -1205,7 +1203,7 @@ BattleAnimFunction_0D: ; cd66a (33:566a) call DeinitBattleAnimation ret -asm_cd6da: ; cd6da (33:56da) +asm_cd6da: inc a inc a ld [hl], a @@ -1214,13 +1212,13 @@ asm_cd6da: ; cd6da (33:56da) ld [hLYOverrideStart], a ret -BattleAnimFunction_0E: ; cd6e3 (33:56e3) +BattleAnimFunction_0E: call BattleAnim_AnonJumptable .anon_dw dw Functioncd6ea dw Functioncd6f7 -Functioncd6ea: ; cd6ea (33:56ea) +Functioncd6ea: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -1228,7 +1226,7 @@ Functioncd6ea: ; cd6ea (33:56ea) add [hl] ; offset call ReinitBattleAnimFrameset -Functioncd6f7: ; cd6f7 (33:56f7) +Functioncd6f7: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -1251,7 +1249,7 @@ Functioncd6f7: ; cd6f7 (33:56f7) ld [hl], a ret -BattleAnimFunction_0F: ; cd71a (33:571a) +BattleAnimFunction_0F: call BattleAnim_AnonJumptable .anon_dw dw Functioncd725 @@ -1259,9 +1257,9 @@ BattleAnimFunction_0F: ; cd71a (33:571a) dw Functioncd763 dw Functioncd776 -Functioncd725: ; cd725 (33:5725) +Functioncd725: call BattleAnim_IncAnonJumptableIndex -Functioncd728: ; cd728 (33:5728) +Functioncd728: ld hl, BATTLEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] @@ -1295,7 +1293,7 @@ Functioncd728: ; cd728 (33:5728) ld a, [hl] and $1 ld [hl], a -Functioncd763: ; cd763 (33:5763) +Functioncd763: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -1308,10 +1306,10 @@ Functioncd763: ; cd763 (33:5763) call BattleAnim_IncAnonJumptableIndex ld a, BATTLEANIMFRAMESET_29 call ReinitBattleAnimFrameset -Functioncd776: ; cd776 (33:5776) +Functioncd776: ret -BattleAnimFunction_11: ; cd777 (33:5777) +BattleAnimFunction_11: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -1343,13 +1341,13 @@ BattleAnimFunction_11: ; cd777 (33:5777) ld [hl], a ret -BattleAnimFunction_14: ; cd7a4 (33:57a4) +BattleAnimFunction_14: call BattleAnim_AnonJumptable .anon_dw dw Functioncd7ab dw Functioncd7d2 -Functioncd7ab: ; cd7ab (33:57ab) +Functioncd7ab: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -1371,7 +1369,7 @@ Functioncd7ab: ; cd7ab (33:57ab) ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld [hl], $1 -Functioncd7d2: ; cd7d2 (33:57d2) +Functioncd7d2: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld a, [hl] @@ -1411,7 +1409,7 @@ Functioncd7d2: ; cd7d2 (33:57d2) dec [hl] ret -BattleAnimFunction_15: ; cd80c (33:580c) +BattleAnimFunction_15: call BattleAnim_AnonJumptable .anon_dw dw Functioncd81f @@ -1419,18 +1417,18 @@ BattleAnimFunction_15: ; cd80c (33:580c) dw Functioncd81f dw Functioncd820 -Functioncd817: ; cd817 (33:5817) +Functioncd817: call BattleAnim_IncAnonJumptableIndex ld a, BATTLEANIMFRAMESET_35 call ReinitBattleAnimFrameset -Functioncd81f: ; cd81f (33:581f) +Functioncd81f: ret -Functioncd820: ; cd820 (33:5820) +Functioncd820: call DeinitBattleAnimation ret -BattleAnimFunction_16: ; cd824 (33:5824) +BattleAnimFunction_16: call BattleAnim_AnonJumptable .anon_dw dw Functioncd835 @@ -1441,7 +1439,7 @@ BattleAnimFunction_16: ; cd824 (33:5824) dw Functioncd88f dw Functioncd893 -Functioncd835: ; cd835 (33:5835) +Functioncd835: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_FRAMESET_ID add hl, bc @@ -1468,7 +1466,7 @@ Functioncd835: ; cd835 (33:5835) ld a, [hl] and $7f ld [hl], a -Functioncd860: ; cd860 (33:5860) +Functioncd860: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -1499,17 +1497,17 @@ Functioncd860: ; cd860 (33:5860) ld a, [hl] and $1f ret nz -Functioncd88f: ; cd88f (33:588f) +Functioncd88f: call BattleAnim_IncAnonJumptableIndex ret -Functioncd893: ; cd893 (33:5893) +Functioncd893: ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX add hl, bc ld [hl], $1 ret -BattleAnimFunction_17: ; cd89a (33:589a) +BattleAnimFunction_17: call BattleAnim_AnonJumptable .anon_dw dw Functioncd8ab @@ -1520,7 +1518,7 @@ BattleAnimFunction_17: ; cd89a (33:589a) dw Functioncd8f5 dw Functioncd8f9 -Functioncd8ab: ; cd8ab (33:58ab) +Functioncd8ab: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -1542,7 +1540,7 @@ Functioncd8ab: ; cd8ab (33:58ab) and $7f ld [hl], a -Functioncd8cc: ; cd8cc (33:58cc) +Functioncd8cc: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -1570,30 +1568,30 @@ Functioncd8cc: ; cd8cc (33:58cc) and $1f ret nz -Functioncd8f5: ; cd8f5 (33:58f5) +Functioncd8f5: call BattleAnim_IncAnonJumptableIndex ret -Functioncd8f9: ; cd8f9 (33:58f9) +Functioncd8f9: ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX add hl, bc ld [hl], $1 ret -BattleAnimFunction_18: ; cd900 (33:5900) +BattleAnimFunction_18: call BattleAnim_AnonJumptable .anon_dw dw Functioncd907 dw Functioncd913 -Functioncd907: ; cd907 (33:5907) +Functioncd907: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld [hl], $28 inc hl ld [hl], $0 -Functioncd913: ; cd913 (33:5913) +Functioncd913: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -1637,7 +1635,7 @@ Functioncd913: ; cd913 (33:5913) call DeinitBattleAnimation ret -BattleAnimFunction_19: ; cd954 (33:5954) +BattleAnimFunction_19: call BattleAnim_AnonJumptable .anon_dw dw Functioncd961 @@ -1646,16 +1644,16 @@ BattleAnimFunction_19: ; cd954 (33:5954) dw Functioncd96a dw Functioncd97b -Functioncd961: ; cd961 (33:5961) +Functioncd961: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld [hl], $0 -Functioncd96a: ; cd96a (33:596a) +Functioncd96a: call Functioncd99a ret -Functioncd96e: ; cd96e (33:596e) +Functioncd96e: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -1664,7 +1662,7 @@ Functioncd96e: ; cd96e (33:596e) call BattleAnim_IncAnonJumptableIndex ret -Functioncd97b: ; cd97b (33:597b) +Functioncd97b: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -1673,7 +1671,7 @@ Functioncd97b: ; cd97b (33:597b) call DeinitBattleAnimation ret -asm_cd988: ; cd988 (33:5988) +asm_cd988: call Functioncd99a ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc @@ -1686,7 +1684,7 @@ asm_cd988: ; cd988 (33:5988) dec [hl] ret -Functioncd99a: ; cd99a (33:599a) +Functioncd99a: call Functioncd9f4 ld hl, BATTLEANIMSTRUCT_0F add hl, bc @@ -1746,7 +1744,7 @@ Functioncd99a: ; cd99a (33:599a) ld [hl], a ret -Functioncd9f4: ; cd9f4 (33:59f4) +Functioncd9f4: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld e, [hl] @@ -1756,12 +1754,10 @@ Functioncd9f4: ; cd9f4 (33:59f4) ld d, [hl] ret -; cda01 (33:5a01) -Unknown_cda01: ; cda01 +Unknown_cda01: db 8, 6, 5, 4, 5, 6, 8, 12, 16 -; cda0a -BattleAnimFunction_1C: ; cda0a (33:5a0a) +BattleAnimFunction_1C: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -1790,14 +1786,14 @@ BattleAnimFunction_1C: ; cda0a (33:5a0a) jr nz, .asm_cda2c ret -BattleAnimFunction_1F: ; cda31 (33:5a31) +BattleAnimFunction_1F: call BattleAnim_AnonJumptable .anon_dw dw Functioncda4c dw Functioncda3a dw Functioncda4c -Functioncda3a: ; cda3a (33:5a3a) +Functioncda3a: ld hl, BATTLEANIMSTRUCT_FRAMESET_ID add hl, bc ld a, [hl] @@ -1807,24 +1803,24 @@ Functioncda3a: ; cda3a (33:5a3a) ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld [hl], $8 -Functioncda4c: ; cda4c (33:5a4c) +Functioncda4c: ret -BattleAnimFunction_LeechSeed: ; cda4d (33:5a4d) +BattleAnimFunction_LeechSeed: call BattleAnim_AnonJumptable .anon_dw dw .zero dw .one dw .two dw .three -.zero: ; cda58 (33:5a58) +.zero: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld [hl], $40 ret -.one: ; cda62 (33:5a62) +.one: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld a, [hl] @@ -1840,7 +1836,7 @@ BattleAnimFunction_LeechSeed: ; cda4d (33:5a4d) call BattleAnim_IncAnonJumptableIndex ret -.two: ; cda7a (33:5a7a) +.two: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld a, [hl] @@ -1853,10 +1849,10 @@ BattleAnimFunction_LeechSeed: ; cda4d (33:5a4d) call BattleAnim_IncAnonJumptableIndex ld a, BATTLEANIMFRAMESET_58 call ReinitBattleAnimFrameset -.three: ; cda8c (33:5a8c) +.three: ret -Functioncda8d: ; cda8d (33:5a8d) +Functioncda8d: dec [hl] ld d, $20 call BattleAnim_Sine @@ -1904,21 +1900,21 @@ Functioncda8d: ; cda8d (33:5a8d) dec [hl] ret -BattleAnimFunction_3F: ; cdad6 (33:5ad6) +BattleAnimFunction_3F: call BattleAnim_AnonJumptable .anon_dw dw Functioncdadf dw Functioncdae9 dw Functioncdaf9 -Functioncdadf: ; cdadf (33:5adf) +Functioncdadf: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld [hl], $40 ret -Functioncdae9: ; cdae9 (33:5ae9) +Functioncdae9: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld a, [hl] @@ -1929,10 +1925,10 @@ Functioncdae9: ; cdae9 (33:5ae9) .asm_cdaf6 call BattleAnim_IncAnonJumptableIndex -Functioncdaf9: ; cdaf9 (33:5af9) +Functioncdaf9: ret -BattleAnimFunction_1A: ; cdafa (33:5afa) +BattleAnimFunction_1A: call BattleAnimFunction_03 ld hl, BATTLEANIMSTRUCT_0F add hl, bc @@ -1941,7 +1937,7 @@ BattleAnimFunction_1A: ; cdafa (33:5afa) ld [hl], a ret -BattleAnimFunction_1B: ; cdb06 (33:5b06) +BattleAnimFunction_1B: call BattleAnim_AnonJumptable .anon_dw dw Functioncdb13 @@ -1950,10 +1946,10 @@ BattleAnimFunction_1B: ; cdb06 (33:5b06) dw Functioncdb50 dw Functioncdb65 -Functioncdb13: ; cdb13 (33:5b13) +Functioncdb13: ret -Functioncdb14: ; cdb14 (33:5b14) +Functioncdb14: ld hl, BATTLEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] @@ -1969,7 +1965,7 @@ Functioncdb14: ; cdb14 (33:5b14) ld [hl], a ret -Functioncdb28: ; cdb28 (33:5b28) +Functioncdb28: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -1994,7 +1990,7 @@ Functioncdb28: ; cdb28 (33:5b28) dec [hl] ret -Functioncdb50: ; cdb50 (33:5b50) +Functioncdb50: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0F add hl, bc @@ -2005,7 +2001,7 @@ Functioncdb50: ; cdb50 (33:5b50) ld hl, BATTLEANIMSTRUCT_DURATION add hl, bc ld [hl], $80 -Functioncdb65: ; cdb65 (33:5b65) +Functioncdb65: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -2024,7 +2020,7 @@ Functioncdb65: ; cdb65 (33:5b65) ld [hl], a ret -BattleAnimFunction_1D: ; cdb80 (33:5b80) +BattleAnimFunction_1D: call BattleAnim_AnonJumptable .anon_dw dw Functioncdb9f @@ -2042,7 +2038,7 @@ BattleAnimFunction_1D: ; cdb80 (33:5b80) dw Functioncdc57 dw Functioncdc74 -Functioncdb9f: ; cdb9f (33:5b9f) +Functioncdb9f: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld [hl], $28 @@ -2056,7 +2052,7 @@ Functioncdb9f: ; cdb9f (33:5b9f) ld [hl], a ret -Functioncdbb3: ; cdbb3 (33:5bb3) +Functioncdbb3: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -2067,7 +2063,7 @@ Functioncdbb3: ; cdbb3 (33:5bb3) call Functioncdc75 ret -Functioncdbc1: ; cdbc1 (33:5bc1) +Functioncdbc1: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -2078,7 +2074,7 @@ Functioncdbc1: ; cdbc1 (33:5bc1) call Functioncdc75 ret -Functioncdbcf: ; cdbcf (33:5bcf) +Functioncdbcf: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -2097,7 +2093,7 @@ Functioncdbcf: ; cdbcf (33:5bcf) inc [hl] ret -Functioncdbeb: ; cdbeb (33:5beb) +Functioncdbeb: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld a, [hl] @@ -2110,7 +2106,7 @@ Functioncdbeb: ; cdbeb (33:5beb) ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX add hl, bc dec [hl] -asm_cdbfa: ; cdbfa (33:5bfa) +asm_cdbfa: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc inc [hl] @@ -2132,17 +2128,17 @@ asm_cdbfa: ; cdbfa (33:5bfa) ld [hl], e ret -Functioncdc1a: ; cdc1a (33:5c1a) +Functioncdc1a: call DeinitBattleAnimation ret -Functioncdc1e: ; cdc1e (33:5c1e) +Functioncdc1e: ld a, BATTLEANIMFRAMESET_4E call ReinitBattleAnimFrameset call BattleAnim_IncAnonJumptableIndex ret -Functioncdc27: ; cdc27 (33:5c27) +Functioncdc27: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -2155,7 +2151,7 @@ Functioncdc27: ; cdc27 (33:5c27) ld [hl], a ret -Functioncdc39: ; cdc39 (33:5c39) +Functioncdc39: ld a, BATTLEANIMFRAMESET_50 call ReinitBattleAnimFrameset ld hl, BATTLEANIMSTRUCT_YOFFSET @@ -2164,7 +2160,7 @@ Functioncdc39: ; cdc39 (33:5c39) call BattleAnim_IncAnonJumptableIndex ret -Functioncdc48: ; cdc48 (33:5c48) +Functioncdc48: ld a, BATTLEANIMFRAMESET_4F call ReinitBattleAnimFrameset call BattleAnim_IncAnonJumptableIndex @@ -2173,7 +2169,7 @@ Functioncdc48: ; cdc48 (33:5c48) ld [hl], $40 ret -Functioncdc57: ; cdc57 (33:5c57) +Functioncdc57: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -2192,10 +2188,10 @@ Functioncdc57: ; cdc57 (33:5c57) .asm_cdc71 call BattleAnim_IncAnonJumptableIndex -Functioncdc74: ; cdc74 (33:5c74) +Functioncdc74: ret -Functioncdc75: ; cdc75 (33:5c75) +Functioncdc75: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hli] @@ -2227,7 +2223,7 @@ Functioncdc75: ; cdc75 (33:5c75) call BattleAnim_IncAnonJumptableIndex ret -BattleAnimFunction_1E: ; cdca6 (33:5ca6) +BattleAnimFunction_1E: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -2249,13 +2245,13 @@ BattleAnimFunction_1E: ; cdca6 (33:5ca6) ld [hl], a ret -BattleAnimFunction_21: ; cdcc3 (33:5cc3) +BattleAnimFunction_21: call BattleAnim_AnonJumptable .anon_dw dw Functioncdcca dw Functioncdced -Functioncdcca: ; cdcca (33:5cca) +Functioncdcca: ld a, [hBattleTurn] and a jr z, .asm_cdcd9 @@ -2277,7 +2273,7 @@ Functioncdcca: ; cdcca (33:5cca) call ReinitBattleAnimFrameset ret -Functioncdced: ; cdced (33:5ced) +Functioncdced: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -2291,7 +2287,7 @@ Functioncdced: ; cdced (33:5ced) call DeinitBattleAnimation ret -Functioncdcfe: ; cdcfe (33:5cfe) +Functioncdcfe: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld a, [hl] @@ -2324,13 +2320,13 @@ Functioncdcfe: ; cdcfe (33:5cfe) ld [hl], a ret -BattleAnimFunction_22: ; cdd2a (33:5d2a) +BattleAnimFunction_22: call BattleAnim_AnonJumptable .anon_dw dw Functioncdd31 dw Functioncdd4f -Functioncdd31: ; cdd31 (33:5d31) +Functioncdd31: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -2349,7 +2345,7 @@ Functioncdd31: ; cdd31 (33:5d31) call ReinitBattleAnimFrameset ret -Functioncdd4f: ; cdd4f (33:5d4f) +Functioncdd4f: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -2392,13 +2388,13 @@ Functioncdd4f: ; cdd4f (33:5d4f) inc [hl] ret -BattleAnimFunction_23: ; cdd90 (33:5d90) +BattleAnimFunction_23: call BattleAnim_AnonJumptable .anon_dw dw Functioncdd97 dw Functioncddbc -Functioncdd97: ; cdd97 (33:5d97) +Functioncdd97: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_FRAMESET_ID add hl, bc @@ -2420,7 +2416,7 @@ Functioncdd97: ; cdd97 (33:5d97) ld a, [hl] and $7f ld [hl], a -Functioncddbc: ; cddbc (33:5dbc) +Functioncddbc: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -2461,14 +2457,14 @@ Functioncddbc: ; cddbc (33:5dbc) call ReinitBattleAnimFrameset ret -BattleAnimFunction_24: ; cddf9 (33:5df9) +BattleAnimFunction_24: call BattleAnim_AnonJumptable .anon_dw dw Functioncde02 dw Functioncde20 dw Functioncde21 -Functioncde02: ; cde02 (33:5e02) +Functioncde02: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -2485,19 +2481,17 @@ Functioncde02: ; cde02 (33:5e02) ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld [hl], a -Functioncde20: ; cde20 (33:5e20) +Functioncde20: ret -Functioncde21: ; cde21 (33:5e21) +Functioncde21: call DeinitBattleAnimation ret -; cde25 (33:5e25) -Unknown_cde25: ; cde25 +Unknown_cde25: db $ec, $f8, $00 -; cde28 -BattleAnimFunction_25: ; cde28 (33:5e28) +BattleAnimFunction_25: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -2526,7 +2520,7 @@ BattleAnimFunction_25: ; cde28 (33:5e28) ld [hl], e ret -BattleAnimFunction_26: ; cde54 (33:5e54) +BattleAnimFunction_26: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -2542,13 +2536,13 @@ BattleAnimFunction_26: ; cde54 (33:5e54) inc [hl] ret -BattleAnimFunction_27: ; cde6b (33:5e6b) +BattleAnimFunction_27: call BattleAnim_AnonJumptable .anon_dw dw Functioncde72 dw Functioncde88 -Functioncde72: ; cde72 (33:5e72) +Functioncde72: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -2561,16 +2555,16 @@ Functioncde72: ; cde72 (33:5e72) .asm_cde83 add BATTLEANIMFRAMESET_6A call ReinitBattleAnimFrameset -Functioncde88: ; cde88 (33:5e88) +Functioncde88: ret -BattleAnimFunction_28: ; cde89 (33:5e89) +BattleAnimFunction_28: call BattleAnim_AnonJumptable .anon_dw dw Functioncde90 dw Functioncdebf -Functioncde90: ; cde90 (33:5e90) +Functioncde90: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0F add hl, bc @@ -2602,7 +2596,7 @@ Functioncde90: ; cde90 (33:5e90) call ReinitBattleAnimFrameset ret -Functioncdebf: ; cdebf (33:5ebf) +Functioncdebf: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -2626,7 +2620,7 @@ Functioncdebf: ; cdebf (33:5ebf) ld [hl], a ret -BattleAnimFunction_SpiralDescent: ; cdedd (33:5edd) +BattleAnimFunction_SpiralDescent: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -2667,7 +2661,7 @@ BattleAnimFunction_SpiralDescent: ; cdedd (33:5edd) call DeinitBattleAnimation ret -BattleAnimFunction_2D: ; cdf1b (33:5f1b) +BattleAnimFunction_2D: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -2708,13 +2702,13 @@ BattleAnimFunction_2D: ; cdf1b (33:5f1b) call DeinitBattleAnimation ret -BattleAnimFunction_PoisonGas: ; cdf59 (33:5f59) +BattleAnimFunction_PoisonGas: call BattleAnim_AnonJumptable .anon_dw dw Functioncdf60 dw BattleAnimFunction_SpiralDescent -Functioncdf60: ; cdf60 (33:5f60) +Functioncdf60: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -2744,7 +2738,7 @@ Functioncdf60: ; cdf60 (33:5f60) call BattleAnim_IncAnonJumptableIndex ret -BattleAnimFunction_34: ; cdf8c (33:5f8c) +BattleAnimFunction_34: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -2786,7 +2780,7 @@ BattleAnimFunction_34: ; cdf8c (33:5f8c) call DeinitBattleAnimation ret -BattleAnimFunction_3C: ; cdfcb (33:5fcb) +BattleAnimFunction_3C: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -2829,14 +2823,14 @@ BattleAnimFunction_3C: ; cdfcb (33:5fcb) call DeinitBattleAnimation ret -BattleAnimFunction_35: ; ce00b (33:600b) +BattleAnimFunction_35: call BattleAnim_AnonJumptable .anon_dw dw Functionce014 dw Functionce023 dw Functionce05f -Functionce014: ; ce014 (33:6014) +Functionce014: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0F add hl, bc @@ -2844,7 +2838,7 @@ Functionce014: ; ce014 (33:6014) ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld [hl], $10 -Functionce023: ; ce023 (33:6023) +Functionce023: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -2883,18 +2877,18 @@ Functionce023: ; ce023 (33:6023) srl [hl] ret -Functionce05f: ; ce05f (33:605f) +Functionce05f: call DeinitBattleAnimation ret -BattleAnimFunction_Horn: ; ce063 (33:6063) +BattleAnimFunction_Horn: call BattleAnim_AnonJumptable .anon_dw dw .zero dw .one dw .two dw Functionce09e -.zero: ; ce06e (33:606e) +.zero: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -2909,7 +2903,7 @@ BattleAnimFunction_Horn: ; ce063 (33:6063) ld [hl], a ret -.one: ; ce083 (33:6083) +.one: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -2919,7 +2913,7 @@ BattleAnimFunction_Horn: ; ce063 (33:6063) call Functionce70a ret -.two: ; ce091 (33:6091) +.two: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld a, [hl] @@ -2928,7 +2922,7 @@ BattleAnimFunction_Horn: ; ce063 (33:6063) call DeinitBattleAnimation ret -Functionce09e: ; ce09e (33:609e) +Functionce09e: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld a, [hl] @@ -2953,14 +2947,14 @@ Functionce09e: ; ce09e (33:609e) ld [hl], a ret -BattleAnimFunction_2C: ; ce0c5 (33:60c5) +BattleAnimFunction_2C: call BattleAnim_AnonJumptable .anon_dw dw Functionce0ce dw Functionce0f8 dw Functionce0dd -Functionce0ce: ; ce0ce (33:60ce) +Functionce0ce: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -2971,7 +2965,7 @@ Functionce0ce: ; ce0ce (33:60ce) ld [hl], a ret -Functionce0dd: ; ce0dd (33:60dd) +Functionce0dd: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -2988,7 +2982,7 @@ Functionce0dd: ; ce0dd (33:60dd) ld a, [hl] sub $4 ld [hl], a -Functionce0f8: ; ce0f8 (33:60f8) +Functionce0f8: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -3004,13 +2998,13 @@ Functionce0f8: ; ce0f8 (33:60f8) call Functionce70a ret -BattleAnimFunction_2E: ; ce10e (33:610e) +BattleAnimFunction_2E: call BattleAnim_AnonJumptable .anon_dw dw Functionce115 dw Functionce12a -Functionce115: ; ce115 (33:6115) +Functionce115: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0F add hl, bc @@ -3022,7 +3016,7 @@ Functionce115: ; ce115 (33:6115) ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld [hl], a -Functionce12a: ; ce12a (33:612a) +Functionce12a: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hli] @@ -3055,7 +3049,7 @@ Functionce12a: ; ce12a (33:612a) srl [hl] ret -BattleAnimFunction_2F: ; ce15c (33:615c) +BattleAnimFunction_2F: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -3114,7 +3108,7 @@ BattleAnimFunction_2F: ; ce15c (33:615c) call DeinitBattleAnimation ret -BattleAnimFunction_42: ; ce1b0 (33:61b0) +BattleAnimFunction_42: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -3153,13 +3147,13 @@ BattleAnimFunction_42: ; ce1b0 (33:61b0) call DeinitBattleAnimation ret -BattleAnimFunction_30: ; ce1e7 (33:61e7) +BattleAnimFunction_30: call BattleAnim_AnonJumptable .anon_dw dw Functionce1ee dw Functionce1fb -Functionce1ee: ; ce1ee (33:61ee) +Functionce1ee: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_YCOORD add hl, bc @@ -3167,7 +3161,7 @@ Functionce1ee: ; ce1ee (33:61ee) ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld [hl], a -Functionce1fb: ; ce1fb (33:61fb) +Functionce1fb: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -3193,13 +3187,13 @@ Functionce1fb: ; ce1fb (33:61fb) inc [hl] ret -BattleAnimFunction_31: ; ce226 (33:6226) +BattleAnimFunction_31: call BattleAnim_AnonJumptable .anon_dw dw Functionce22d dw Functionce254 -Functionce22d: ; ce22d (33:622d) +Functionce22d: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -3220,10 +3214,10 @@ Functionce22d: ; ce22d (33:622d) ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld [hl], $f -Functionce254: ; ce254 (33:6254) +Functionce254: ret -BattleAnimFunction_32: ; ce255 (33:6255) +BattleAnimFunction_32: call BattleAnim_AnonJumptable .anon_dw dw Functionce260 @@ -3231,7 +3225,7 @@ BattleAnimFunction_32: ; ce255 (33:6255) dw Functionce278 dw Functionce289 -Functionce260: ; ce260 (33:6260) +Functionce260: call BattleAnim_IncAnonJumptableIndex ld a, [hBattleTurn] and a @@ -3247,11 +3241,11 @@ Functionce260: ; ce260 (33:6260) ld [hl], a ret -Functionce274: ; ce274 (33:6274) +Functionce274: call Functionce29f ret -Functionce278: ; ce278 (33:6278) +Functionce278: call Functionce29f ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc @@ -3262,7 +3256,7 @@ Functionce278: ; ce278 (33:6278) call Functionce70a ret -Functionce289: ; ce289 (33:6289) +Functionce289: call Functionce29f ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc @@ -3277,7 +3271,7 @@ Functionce289: ; ce289 (33:6289) call DeinitBattleAnimation ret -Functionce29f: ; ce29f (33:629f) +Functionce29f: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld a, [hl] @@ -3303,14 +3297,12 @@ Functionce29f: ; ce29f (33:629f) ld [wOBP0], a ret -; ce2c4 (33:62c4) -Unknown_ce2c4: ; ce2c4 +Unknown_ce2c4: db $ff, $aa, $55, $aa -Unknown_ce2c8: ; ce2c8 +Unknown_ce2c8: db $ff, $ff, $00, $00 -; ce2cc -BattleAnimFunction_33: ; ce2cc (33:62cc) +BattleAnimFunction_33: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -3340,14 +3332,14 @@ BattleAnimFunction_33: ; ce2cc (33:62cc) dec [hl] ret -BattleAnimFunction_36: ; ce2fd (33:62fd) +BattleAnimFunction_36: call BattleAnim_AnonJumptable .anon_dw dw Functionce306 dw Functionce330 dw Functionce34c -Functionce306: ; ce306 (33:6306) +Functionce306: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -3376,7 +3368,7 @@ Functionce306: ; ce306 (33:6306) ld [hl], e ret -Functionce330: ; ce330 (33:6330) +Functionce330: ld hl, BATTLEANIMSTRUCT_10 add hl, bc ld a, [hl] @@ -3399,7 +3391,7 @@ Functionce330: ; ce330 (33:6330) ld [hl], a ret -Functionce34c: ; ce34c (33:634c) +Functionce34c: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -3413,13 +3405,13 @@ Functionce34c: ; ce34c (33:634c) call DeinitBattleAnimation ret -BattleAnimFunction_37: ; ce35f (33:635f) +BattleAnimFunction_37: call BattleAnim_AnonJumptable .anon_dw dw Functionce366 dw Functionce375 -Functionce366: ; ce366 (33:6366) +Functionce366: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -3427,7 +3419,7 @@ Functionce366: ; ce366 (33:6366) and $7f add BATTLEANIMFRAMESET_81 call ReinitBattleAnimFrameset -Functionce375: ; ce375 (33:6375) +Functionce375: ld hl, BATTLEANIMSTRUCT_0B add hl, bc bit 7, [hl] @@ -3443,21 +3435,21 @@ Functionce375: ; ce375 (33:6375) dec [hl] ret -BattleAnimFunction_38: ; ce389 (33:6389) +BattleAnimFunction_38: call BattleAnim_AnonJumptable .anon_dw dw Functionce392 dw Functionce39c dw Functionce3ae -Functionce392: ; ce392 (33:6392) +Functionce392: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld [hl], $c ret -Functionce39c: ; ce39c (33:639c) +Functionce39c: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -3470,13 +3462,13 @@ Functionce39c: ; ce39c (33:639c) call BattleAnim_IncAnonJumptableIndex ld a, BATTLEANIMFRAMESET_20 call ReinitBattleAnimFrameset -Functionce3ae: ; ce3ae (33:63ae) +Functionce3ae: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc dec [hl] ret -BattleAnimFunction_39: ; ce3b4 (33:63b4) +BattleAnimFunction_39: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -3496,7 +3488,7 @@ BattleAnimFunction_39: ; ce3b4 (33:63b4) ld [hl], a ret -BattleAnimFunction_3A: ; ce3d2 (33:63d2) +BattleAnimFunction_3A: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -3526,13 +3518,13 @@ BattleAnimFunction_3A: ; ce3d2 (33:63d2) inc [hl] ret -BattleAnimFunction_3B: ; ce3ff (33:63ff) +BattleAnimFunction_3B: call BattleAnim_AnonJumptable .anon_dw dw Functionce406 dw Functionce412 -Functionce406: ; ce406 (33:6406) +Functionce406: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -3542,11 +3534,11 @@ Functionce406: ; ce406 (33:6406) ld [hl], a ret -Functionce412: ; ce412 (33:6412) +Functionce412: call DeinitBattleAnimation ret -BattleAnimFunction_3D: ; ce416 (33:6416) +BattleAnimFunction_3D: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -3570,14 +3562,14 @@ BattleAnimFunction_3D: ; ce416 (33:6416) inc [hl] ret -BattleAnimFunction_3E: ; ce43a (33:643a) +BattleAnimFunction_3E: call BattleAnim_AnonJumptable .anon_dw dw Functionce443 dw Functionce465 dw Functionce490 -Functionce443: ; ce443 (33:6443) +Functionce443: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0F add hl, bc @@ -3596,7 +3588,7 @@ Functionce443: ; ce443 (33:6443) and $f0 or $8 ld [hl], a -Functionce465: ; ce465 (33:6465) +Functionce465: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -3625,7 +3617,7 @@ Functionce465: ; ce465 (33:6465) .asm_ce48b ld [hl], $10 call BattleAnim_IncAnonJumptableIndex -Functionce490: ; ce490 (33:6490) +Functionce490: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -3635,20 +3627,20 @@ Functionce490: ; ce490 (33:6490) call DeinitBattleAnimation ret -BattleAnimFunction_40: ; ce49c (33:649c) +BattleAnimFunction_40: call BattleAnim_AnonJumptable .anon_dw dw Functionce4a3 dw Functionce4b0 -Functionce4a3: ; ce4a3 (33:64a3) +Functionce4a3: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, BATTLEANIMFRAMESET_24 add [hl] call ReinitBattleAnimFrameset -Functionce4b0: ; ce4b0 (33:64b0) +Functionce4b0: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -3678,7 +3670,7 @@ Functionce4b0: ; ce4b0 (33:64b0) call DeinitBattleAnimation ret -BattleAnimFunction_41: ; ce4dc (33:64dc) +BattleAnimFunction_41: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -3708,7 +3700,7 @@ BattleAnimFunction_41: ; ce4dc (33:64dc) srl [hl] ret -BattleAnimFunction_43: ; ce508 (33:6508) +BattleAnimFunction_43: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -3738,7 +3730,7 @@ BattleAnimFunction_43: ; ce508 (33:6508) call DeinitBattleAnimation ret -BattleAnimFunction_44: ; ce532 (33:6532) +BattleAnimFunction_44: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld e, [hl] @@ -3767,14 +3759,14 @@ BattleAnimFunction_44: ; ce532 (33:6532) ld [hl], a ret -BattleAnimFunction_45: ; ce55b (33:655b) +BattleAnimFunction_45: call BattleAnim_AnonJumptable .anon_dw dw Functionce564 dw Functionce56e dw Functionce577 -Functionce564: ; ce564 (33:6564) +Functionce564: ld d, $18 ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -3782,12 +3774,12 @@ Functionce564: ; ce564 (33:6564) inc [hl] jr asm_ce58f -Functionce56e: ; ce56e (33:656e) +Functionce56e: call BattleAnim_IncAnonJumptableIndex ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld [hl], $18 -Functionce577: ; ce577 (33:6577) +Functionce577: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -3805,17 +3797,17 @@ Functionce577: ; ce577 (33:6577) call DeinitBattleAnimation ret -asm_ce58f: ; ce58f (33:658f) +asm_ce58f: call Functionce6f1 ret -BattleAnimFunction_46: ; ce593 (33:6593) +BattleAnimFunction_46: call BattleAnim_AnonJumptable .anon_dw dw Functionce5b3 dw Functionce59a -Functionce59a: ; ce59a (33:659a) +Functionce59a: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -3833,10 +3825,10 @@ Functionce59a: ; ce59a (33:659a) .asm_ce5b0 call DeinitBattleAnimation -Functionce5b3: ; ce5b3 (33:65b3) +Functionce5b3: ret -BattleAnimFunction_47: ; ce5b4 (33:65b4) +BattleAnimFunction_47: ld d, $50 ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -3863,7 +3855,7 @@ BattleAnimFunction_47: ; ce5b4 (33:65b4) ld [hl], a ret -BattleAnimFunction_48: ; ce5dc (33:65dc) +BattleAnimFunction_48: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -3879,7 +3871,7 @@ BattleAnimFunction_48: ; ce5dc (33:65dc) call DeinitBattleAnimation ret -BattleAnimFunction_49: ; ce5ee (33:65ee) +BattleAnimFunction_49: call BattleAnim_AnonJumptable .anon_dw dw Functionce5f9 @@ -3887,7 +3879,7 @@ BattleAnimFunction_49: ; ce5ee (33:65ee) dw Functionce622 dw Functionce618 -Functionce5f9: ; ce5f9 (33:65f9) +Functionce5f9: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -3897,7 +3889,7 @@ Functionce5f9: ; ce5f9 (33:65f9) ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld [hl], $ec -Functionce60a: ; ce60a (33:660a) +Functionce60a: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -3909,14 +3901,14 @@ Functionce60a: ; ce60a (33:660a) inc [hl] ret -Functionce618: ; ce618 (33:6618) +Functionce618: call DeinitBattleAnimation ret -asm_ce61c: ; ce61c (33:661c) +asm_ce61c: call BattleAnim_IncAnonJumptableIndex call BattleAnim_IncAnonJumptableIndex -Functionce622: ; ce622 (33:6622) +Functionce622: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -3928,7 +3920,7 @@ Functionce622: ; ce622 (33:6622) dec [hl] ret -BattleAnimFunction_4A: ; ce62f (33:662f) +BattleAnimFunction_4A: call BattleAnim_AnonJumptable .anon_dw dw Functionce63a @@ -3936,7 +3928,7 @@ BattleAnimFunction_4A: ; ce62f (33:662f) dw Functionce65c dw Functionce672 -Functionce63a: ; ce63a (33:663a) +Functionce63a: ld hl, BATTLEANIMSTRUCT_0B add hl, bc ld a, [hl] @@ -3946,7 +3938,7 @@ Functionce63a: ; ce63a (33:663a) call BattleAnim_IncAnonJumptableIndex ret -Functionce648: ; ce648 (33:6648) +Functionce648: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -3962,7 +3954,7 @@ Functionce648: ; ce648 (33:6648) inc [hl] ret -Functionce65c: ; ce65c (33:665c) +Functionce65c: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -3979,7 +3971,7 @@ Functionce65c: ; ce65c (33:665c) ld [hl], a ret -Functionce672: ; ce672 (33:6672) +Functionce672: ld hl, BATTLEANIMSTRUCT_YOFFSET add hl, bc ld a, [hl] @@ -3996,7 +3988,7 @@ Functionce672: ; ce672 (33:6672) ld [hl], a ret -BattleAnimFunction_4B: ; ce688 (33:6688) +BattleAnimFunction_4B: ld hl, BATTLEANIMSTRUCT_XCOORD add hl, bc ld d, [hl] @@ -4027,7 +4019,7 @@ BattleAnimFunction_4B: ; ce688 (33:6688) ld [hl], e ret -BattleAnimFunction_4C: ; ce6b3 (33:66b3) +BattleAnimFunction_4C: ld d, $18 ld hl, BATTLEANIMSTRUCT_0B add hl, bc @@ -4036,7 +4028,7 @@ BattleAnimFunction_4C: ; ce6b3 (33:66b3) call Functionce6f1 ret -BattleAnimFunction_4F: ; ce6bf (33:66bf) +BattleAnimFunction_4F: ld d, $18 ld hl, BATTLEANIMSTRUCT_10 add hl, bc @@ -4049,7 +4041,7 @@ BattleAnimFunction_4F: ; ce6bf (33:66bf) call Functionce6f1 ret -BattleAnimFunction_4D: ; ce6d2 (33:66d2) +BattleAnimFunction_4D: ld hl, BATTLEANIMSTRUCT_0F add hl, bc ld a, [hl] @@ -4071,7 +4063,7 @@ BattleAnimFunction_4D: ; ce6d2 (33:66d2) call DeinitBattleAnimation ret -Functionce6f1: ; ce6f1 (33:66f1) +Functionce6f1: push af push de call BattleAnim_Sine @@ -4088,7 +4080,7 @@ Functionce6f1: ; ce6f1 (33:66f1) ld [hl], a ret -Functionce70a: ; ce70a (33:670a) +Functionce70a: and $f ld e, a ld hl, BATTLEANIMSTRUCT_XCOORD @@ -4104,7 +4096,7 @@ Functionce70a: ; ce70a (33:670a) jr nz, .asm_ce719 ret -BattleAnim_AnonJumptable: ; ce71e (33:671e) +BattleAnim_AnonJumptable: pop de ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX add hl, bc @@ -4117,49 +4109,45 @@ BattleAnim_AnonJumptable: ; ce71e (33:671e) ld l, a jp hl -BattleAnim_IncAnonJumptableIndex: ; ce72c (33:672c) +BattleAnim_IncAnonJumptableIndex: ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX add hl, bc inc [hl] ret -BattleAnim_Cosine: ; ce732 (33:6732) +BattleAnim_Cosine: ; a = d * cos(a * pi/32) add %010000 ; cos(x) = sin(x + pi/2) ; fallthrough -BattleAnim_Sine: ; ce734 (33:6734) +BattleAnim_Sine: ; a = d * sin(a * pi/32) calc_sine_wave BattleAnimSineWave -BattleAnim_Sine_e: ; ce765 (33:6765) +BattleAnim_Sine_e: ld a, e call BattleAnim_Sine ld e, a ret -BattleAnim_Cosine_e: ; ce76b (33:676b) +BattleAnim_Cosine_e: ld a, e call BattleAnim_Cosine ld e, a ret -; ce771 (33:6771) -BattleAnim_AbsSinePrecise: ; ce771 +BattleAnim_AbsSinePrecise: ld a, e call BattleAnim_Sine ld e, l ld d, h ret -; ce778 -BattleAnim_AbsCosinePrecise: ; ce778 +BattleAnim_AbsCosinePrecise: ld a, e call BattleAnim_Cosine ld e, l ld d, h ret -; ce77f -BattleAnimSineWave: ; ce77f +BattleAnimSineWave: sine_table 32 -; ce7bf diff --git a/engine/battle_anims/helpers.asm b/engine/battle_anims/helpers.asm index 0a00b65a4..09eb3479f 100644 --- a/engine/battle_anims/helpers.asm +++ b/engine/battle_anims/helpers.asm @@ -1,4 +1,4 @@ -ReinitBattleAnimFrameset: ; ce7bf (33:67bf) +ReinitBattleAnimFrameset: ld hl, BATTLEANIMSTRUCT_FRAMESET_ID add hl, bc ld [hl], a @@ -10,7 +10,7 @@ ReinitBattleAnimFrameset: ; ce7bf (33:67bf) ld [hl], -1 ret -GetBattleAnimFrame: ; ce7d1 +GetBattleAnimFrame: .loop ld hl, BATTLEANIMSTRUCT_DURATION add hl, bc @@ -72,9 +72,8 @@ GetBattleAnimFrame: ; ce7d1 ld [hl], a jr .loop -; ce823 -.GetPointer: ; ce823 +.GetPointer: ld hl, BATTLEANIMSTRUCT_FRAMESET_ID add hl, bc ld e, [hl] @@ -93,9 +92,8 @@ GetBattleAnimFrame: ; ce7d1 add hl, de ret -; ce83c -GetBattleAnimOAMPointer: ; ce83c +GetBattleAnimOAMPointer: ld l, a ld h, 0 ld de, BattleAnimOAMData @@ -104,9 +102,8 @@ GetBattleAnimOAMPointer: ; ce83c add hl, de ret -; ce846 -LoadBattleAnimObj: ; ce846 (33:6846) +LoadBattleAnimObj: push hl ld l, a ld h, 0 @@ -127,4 +124,3 @@ LoadBattleAnimObj: ; ce846 (33:6846) pop bc ret -; ce85e (33:685e) diff --git a/engine/battle_anims/pokeball_wobble.asm b/engine/battle_anims/pokeball_wobble.asm index d85240f08..21f963f7e 100644 --- a/engine/battle_anims/pokeball_wobble.asm +++ b/engine/battle_anims/pokeball_wobble.asm @@ -1,4 +1,4 @@ -GetPokeBallWobble: ; f971 (3:7971) +GetPokeBallWobble: ; Returns whether a Poke Ball will wobble in the catch animation. ; Whether a Pokemon is caught is determined beforehand. diff --git a/engine/events/basement_key.asm b/engine/events/basement_key.asm index 879c86a34..64c172ac2 100644 --- a/engine/events/basement_key.asm +++ b/engine/events/basement_key.asm @@ -1,4 +1,4 @@ -_BasementKey: ; 507b4 +_BasementKey: ; Are we even in the right map to use this? ld a, [wMapGroup] cp GROUP_GOLDENROD_UNDERGROUND @@ -26,7 +26,6 @@ _BasementKey: ; 507b4 ld a, FALSE ld [wItemEffectSucceeded], a ret -; 507e1 .BasementKeyScript: ; 0x507e1 closetext diff --git a/engine/events/battle_tower/battle_tower.asm b/engine/events/battle_tower/battle_tower.asm index d75015d5b..e1aa177e9 100644 --- a/engine/events/battle_tower/battle_tower.asm +++ b/engine/events/battle_tower/battle_tower.asm @@ -1,17 +1,15 @@ -BattleTowerRoomMenu: ; 1700b0 +BattleTowerRoomMenu: ; special call InitBattleTowerChallengeRAM farcall _BattleTowerRoomMenu ret -; 1700ba -Function1700ba: ; 1700ba +Function1700ba: call InitBattleTowerChallengeRAM farcall Function11811a ret -; 1700c4 -Function1700c4: ; 1700c4 +Function1700c4: ld a, [rSVBK] push af ld a, $3 @@ -51,16 +49,14 @@ Function1700c4: ; 1700c4 pop af ld [rSVBK], a ret -; 170114 -Function170114: ; 170114 +Function170114: call InitBattleTowerChallengeRAM call .Function170121 farcall Function11805f ret -; 170121 -.Function170121: ; 170121 +.Function170121: ld a, $5 call GetSRAMBank ld hl, $a948 @@ -70,9 +66,8 @@ Function170114: ; 170114 call CloseSRAM call Function170c8b ret -; 170139 -Function170139: ; 170139 +Function170139: ; Convert the 4-digit decimal number at 5:aa41 into binary ld a, $5 call GetSRAMBank @@ -167,9 +162,8 @@ Function170139: ; 170139 call CopyBytes call CloseSRAM ret -; 17020c -.DecToBin: ; 17020c +.DecToBin: ld a, [de] inc de and a @@ -180,29 +174,25 @@ Function170139: ; 170139 dec a jr nz, .digit_loop ret -; 170215 -BattleTowerBattle: ; 170215 +BattleTowerBattle: xor a ld [wBattleTowerBattleEnded], a call _BattleTowerBattle ret -; 17021d -DummySpecial_17021d: ; 17021d +DummySpecial_17021d: ret -; 17021e -InitBattleTowerChallengeRAM: ; 17021e +InitBattleTowerChallengeRAM: xor a ld [wBattleTowerBattleEnded], a ld [wNrOfBeatenBattleTowerTrainers], a ld [wcf65], a ld [wcf66], a ret -; 17022c -_BattleTowerBattle: ; 17022c +_BattleTowerBattle: .loop call .do_dw call DelayFrame @@ -210,9 +200,8 @@ _BattleTowerBattle: ; 17022c cp $1 jr nz, .loop ret -; 17023a -.do_dw ; 17023a +.do_dw ld a, [wBattleTowerBattleEnded] ld e, a ld d, 0 @@ -223,14 +212,12 @@ _BattleTowerBattle: ; 17022c ld h, [hl] ld l, a jp hl -; 170249 -.dw ; 170249 +.dw dw RunBattleTowerTrainer dw SkipBattleTowerTrainer -; 17024d -RunBattleTowerTrainer: ; 17024d +RunBattleTowerTrainer: ld a, [wOptions] push af ld hl, wOptions @@ -278,7 +265,7 @@ RunBattleTowerTrainer: ; 17024d ret -ReadBTTrainerParty: ; 1702b7 +ReadBTTrainerParty: ; Initialise the BattleTower-Trainer and his mon call CopyBTTrainer_FromBT_OT_TowBT_OTTemp @@ -394,9 +381,8 @@ ReadBTTrainerParty: ; 1702b7 ld a, -1 ld [bc], a ret -; 170394 -ValidateBTParty: ; 170394 +ValidateBTParty: ; Check for and fix errors in party data ld hl, wBT_OTTempMon1Species ld d, BATTLETOWER_PARTY_LENGTH @@ -501,13 +487,11 @@ endr dec d jp nz, .pkmn_loop ret -; 170426 -BT_ChrisName: ; 170426 +BT_ChrisName: db "CHRIS@" -; 17042c -Function17042c: ; 17042c +Function17042c: ld hl, w3_d202TrainerData ld a, BATTLETOWER_STREAK_LENGTH .loop @@ -568,12 +552,11 @@ Function17042c: ; 17042c dec a jr nz, .loop ret -; 170470 INCLUDE "data/battle_tower/unknown_levels.asm" -CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2 +CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; copy the BattleTower-Trainer data that lies at 'wBT_OTTrainer' to 'wBT_OTTemp' ld a, [rSVBK] push af @@ -595,11 +578,10 @@ CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2 ld hl, sNrOfBeatenBattleTowerTrainers inc [hl] call CloseSRAM -SkipBattleTowerTrainer: ; 1704c9 +SkipBattleTowerTrainer: ret -; 1704ca -Unreferenced_Function1704ca: ; 1704ca +Unreferenced_Function1704ca: ld a, [$be46] cp $7 jr c, .asm_1704d3 @@ -617,18 +599,16 @@ Unreferenced_Function1704ca: ; 1704ca .asm_1704e0 ret -; 1704e1 -Function1704e1: ; 1704e1 +Function1704e1: call SpeechTextBox call FadeToMenu call InitBattleTowerChallengeRAM call .JumptableLoop call CloseSubmenu ret -; 1704f1 -.JumptableLoop: ; 1704f1 +.JumptableLoop: call ClearBGPalettes call ClearSprites call ClearScreen @@ -643,9 +623,8 @@ Function1704e1: ; 1704e1 .done ret -; 170510 -.DoJumptable: ; 170510 +.DoJumptable: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -656,15 +635,13 @@ Function1704e1: ; 1704e1 ld h, [hl] ld l, a jp hl -; 17051f -.dw ; 17051f +.dw dw .Jumptable_0 dw .Jumptable_1 dw .Jumptable_2 -; 170525 -.Jumptable_0: ; 170525 +.Jumptable_0: ld a, $5 call GetSRAMBank @@ -744,9 +721,8 @@ Function1704e1: ; 1704e1 ld hl, wJumptableIndex inc [hl] ret -; 1705b7 -.DrawBorder: ; 1705b7 +.DrawBorder: hlcoord 0, 4 ld a, "┌" ld [hli], a @@ -786,9 +762,8 @@ Function1704e1: ; 1704e1 dec c jr nz, .right_border_loop ret -; 1705f0 -.PlaceTextItems: ; 1705f0 +.PlaceTextItems: call .ClearBox call .PlaceUpDownArrows ld a, $50 @@ -855,9 +830,8 @@ Function1704e1: ; 1704e1 dec a jr nz, .loop1 ret -; 17064b -.ClearBox: ; 17064b +.ClearBox: hlcoord 1, 5 xor a ld b, 12 @@ -872,9 +846,8 @@ Function1704e1: ; 1704e1 dec b jr nz, .clearbox_row ret -; 17065d -.PlaceUpDownArrows: ; 17065d +.PlaceUpDownArrows: ld a, [wNrOfBeatenBattleTowerTrainers] and a jr z, .nope @@ -890,17 +863,14 @@ Function1704e1: ; 1704e1 ld a, "▼" ld [hl], a ret -; 170676 -.String_Mail: ; 170676 +.String_Mail: db "ルーム@" -; 17067a -.String_PastReaders: ; 17067a +.String_PastReaders: db "れきだいりーダーいちらん@" -; 170687 -BattleTowerAction: ; 170687 +BattleTowerAction: ld a, [wScriptVar] ld e, a ld d, 0 @@ -911,10 +881,9 @@ BattleTowerAction: ; 170687 ld h, [hl] ld l, a jp hl -; 170696 -.dw ; 170696 (5c:4696) +.dw dw BattleTowerAction_CheckExplanationRead ; 0x00 dw BattleTowerAction_SetExplanationRead ; 0x01 dw BattleTowerAction_GetChallengeState ; 0x02 @@ -950,7 +919,7 @@ BattleTowerAction: ; 170687 ; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes) -ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) BattleTowerAction $1a +ResetBattleTowerTrainersSRAM: ; BattleTowerAction $1a ld a, BANK(sBTTrainers) call GetSRAMBank @@ -966,7 +935,7 @@ ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) BattleTowerAction $1a ret -BattleTower_GiveReward: ; 1706ee (5c:46ee) BattleTowerAction $1b +BattleTower_GiveReward: ; BattleTowerAction $1b ld a, BANK(sBattleTowerReward) call GetSRAMBank @@ -995,7 +964,7 @@ BattleTower_GiveReward: ; 1706ee (5c:46ee) BattleTowerAction $1b ld [wScriptVar], a ret -Function17071b: ; 17071b (5c:471b) BattleTowerAction $1c +Function17071b: ; BattleTowerAction $1c ld a, BANK(sBattleTowerChallengeState) call GetSRAMBank ld a, BATTLETOWER_WON_CHALLENGE @@ -1003,7 +972,7 @@ Function17071b: ; 17071b (5c:471b) BattleTowerAction $1c call CloseSRAM ret -Function170729: ; 170729 (5c:4729) BattleTowerAction $1d +Function170729: ; BattleTowerAction $1d ld a, BANK(sBattleTowerChallengeState) call GetSRAMBank ld a, BATTLETOWER_RECEIVED_REWARD @@ -1011,11 +980,11 @@ Function170729: ; 170729 (5c:4729) BattleTowerAction $1d call CloseSRAM ret -BattleTower_SaveOptions: ; 170737 (5c:4737) BattleTowerAction $1f +BattleTower_SaveOptions: ; BattleTowerAction $1f farcall SaveOptions ret -BattleTower_RandomlyChooseReward: ; 17073e (5c:473e) BattleTowerAction $1e +BattleTower_RandomlyChooseReward: ; BattleTowerAction $1e ; Generate a random stat boosting item. .loop call Random @@ -1036,7 +1005,7 @@ BattleTower_RandomlyChooseReward: ; 17073e (5c:473e) BattleTowerAction $1e call CloseSRAM ret -BattleTowerAction_CheckExplanationRead: ; 17075f (5c:475f) BattleTowerAction $00 +BattleTowerAction_CheckExplanationRead: ; BattleTowerAction $00 call BattleTower_CheckSaveFileExistsAndIsYours ld a, [wScriptVar] and a @@ -1050,7 +1019,7 @@ BattleTowerAction_CheckExplanationRead: ; 17075f (5c:475f) BattleTowerAction $00 call CloseSRAM ret -BattleTowerAction_GetChallengeState: ; 170778 (5c:4778) BattleTowerAction $02 +BattleTowerAction_GetChallengeState: ; BattleTowerAction $02 ld hl, sBattleTowerChallengeState ld a, BANK(sBattleTowerChallengeState) call GetSRAMBank @@ -1059,7 +1028,7 @@ BattleTowerAction_GetChallengeState: ; 170778 (5c:4778) BattleTowerAction $02 call CloseSRAM ret -BattleTowerAction_SetExplanationRead: ; 170788 (5c:4788) BattleTowerAction $01 +BattleTowerAction_SetExplanationRead: ; BattleTowerAction $01 ld a, BANK(sBattleTowerSaveFileFlags) call GetSRAMBank ld a, [sBattleTowerSaveFileFlags] @@ -1068,13 +1037,13 @@ BattleTowerAction_SetExplanationRead: ; 170788 (5c:4788) BattleTowerAction $01 call CloseSRAM ret -BattleTowerAction_SetByteToQuickSaveChallenge: ; 170799 (5c:4799) BattleTowerAction $03 +BattleTowerAction_SetByteToQuickSaveChallenge: ; BattleTowerAction $03 ld c, BATTLETOWER_SAVED_AND_LEFT jr asm_17079f -BattleTowerAction_SetByteToCancelChallenge: ; 17079d (5c:479d) BattleTowerAction $04 +BattleTowerAction_SetByteToCancelChallenge: ; BattleTowerAction $04 ld c, BATTLETOWER_NO_CHALLENGE -asm_17079f: ; 17079f (5c:479f) +asm_17079f: ld a, BANK(sBattleTowerChallengeState) call GetSRAMBank ld a, c @@ -1082,7 +1051,7 @@ asm_17079f: ; 17079f (5c:479f) call CloseSRAM ret -Function1707ac: ; 1707ac (5c:47ac) BattleTowerAction $05 +Function1707ac: ; BattleTowerAction $05 ld a, $5 call GetSRAMBank ld a, [$aa8c] @@ -1123,7 +1092,7 @@ Function1707ac: ; 1707ac (5c:47ac) BattleTowerAction $05 ld a, $8 ld [wScriptVar], a -Function1707f4: ; 1707f4 (5c:47f4) BattleTowerAction $06 +Function1707f4: ; BattleTowerAction $06 ld a, $5 call GetSRAMBank xor a @@ -1133,7 +1102,7 @@ Function1707f4: ; 1707f4 (5c:47f4) BattleTowerAction $06 call CloseSRAM ret -Function170807: ; 170807 (5c:4807) BattleTowerAction $16 +Function170807: ; BattleTowerAction $16 call UpdateTime ld a, $5 call GetSRAMBank @@ -1144,7 +1113,7 @@ Function170807: ; 170807 (5c:4807) BattleTowerAction $16 call CloseSRAM ret -Function17081d: ; 17081d (5c:481d) BattleTowerAction $17 +Function17081d: ; BattleTowerAction $17 xor a ld [wScriptVar], a ld a, $5 @@ -1187,7 +1156,7 @@ Function17081d: ; 17081d (5c:481d) BattleTowerAction $17 call CloseSRAM ret -SaveBattleTowerLevelGroup: ; 170868 (5c:4868) BattleTowerAction $07 +SaveBattleTowerLevelGroup: ; BattleTowerAction $07 ld a, BANK(sBTChoiceOfLevelGroup) call GetSRAMBank ld a, [rSVBK] @@ -1201,7 +1170,7 @@ SaveBattleTowerLevelGroup: ; 170868 (5c:4868) BattleTowerAction $07 call CloseSRAM ret -LoadBattleTowerLevelGroup: ; 170881 (5c:4881) BattleTowerAction $08 ; Load level group choice +LoadBattleTowerLevelGroup: ; BattleTowerAction $08 ; Load level group choice ld a, BANK(sBTChoiceOfLevelGroup) call GetSRAMBank ld a, [rSVBK] @@ -1215,7 +1184,7 @@ LoadBattleTowerLevelGroup: ; 170881 (5c:4881) BattleTowerAction $08 ; Load level call CloseSRAM ret -BattleTower_CheckSaveFileExistsAndIsYours: ; 17089a BattleTowerAction $09 +BattleTower_CheckSaveFileExistsAndIsYours: ; BattleTowerAction $09 ld a, [wSaveFileExists] and a jr z, .nope @@ -1230,16 +1199,15 @@ BattleTower_CheckSaveFileExistsAndIsYours: ; 17089a BattleTowerAction $09 .nope ld [wScriptVar], a ret -; 1708b1 -Function1708b1: ; 1708b1 (5c:48b1) BattleTowerAction $0a +Function1708b1: ; BattleTowerAction $0a xor a ld [wMusicFade], a call MaxVolume ret -CheckMobileEventIndex: ; 1708b9 (5c:48b9) BattleTowerAction $0b something to do with GS Ball +CheckMobileEventIndex: ; BattleTowerAction $0b something to do with GS Ball ld a, BANK(sMobileEventIndex) call GetSRAMBank ld a, [sMobileEventIndex] @@ -1247,7 +1215,7 @@ CheckMobileEventIndex: ; 1708b9 (5c:48b9) BattleTowerAction $0b something to do call CloseSRAM ret -Function1708c8: ; 1708c8 (5c:48c8) BattleTowerAction $0c +Function1708c8: ; BattleTowerAction $0c call UpdateTime ld a, $5 call GetSRAMBank @@ -1266,7 +1234,7 @@ Function1708c8: ; 1708c8 (5c:48c8) BattleTowerAction $0c call CloseSRAM ret -Function1708f0: ; 1708f0 (5c:48f0) BattleTowerAction $0d +Function1708f0: ; BattleTowerAction $0d xor a ld [wScriptVar], a call UpdateTime @@ -1293,7 +1261,7 @@ Function1708f0: ; 1708f0 (5c:48f0) BattleTowerAction $0d ret -Function170923: ; 170923 +Function170923: ld a, $5 call GetSRAMBank xor a @@ -1304,10 +1272,9 @@ Function170923: ; 170923 call ByteFill call CloseSRAM ret -; 17093c -BattleTowerAction_EggTicket: ; 17093c (5c:493c) BattleTowerAction $0e +BattleTowerAction_EggTicket: ; BattleTowerAction $0e xor a ld [wScriptVar], a ld a, EGG_TICKET @@ -1373,12 +1340,11 @@ endr dec c jr nz, .loop ret -; 1709a4 (5c:49a4) -String_MysteryJP: ; 1709a4 +String_MysteryJP: db "なぞナゾ@@" ; MYSTERY -Function1709aa: ; 1709aa (5c:49aa) BattleTowerAction $0f +Function1709aa: ; BattleTowerAction $0f ld a, [rSVBK] push af ld a, BANK(w3_d090) @@ -1389,7 +1355,7 @@ Function1709aa: ; 1709aa (5c:49aa) BattleTowerAction $0f ld [rSVBK], a ret -Function1709bb: ; 1709bb (5c:49bb) BattleTowerAction $10 +Function1709bb: ; BattleTowerAction $10 xor a ld [wScriptVar], a ld a, $5 @@ -1415,29 +1381,26 @@ Function1709bb: ; 1709bb (5c:49bb) BattleTowerAction $10 ld [$a800], a call CloseSRAM ret -; 1709e7 (5c:49e7) -.jumptable: ; 1709e7 +.jumptable: dw .NoAction dw .NoAction dw .DoAction1 dw .DoAction1 dw .Action4 dw .Action5 -; 1709f3 -.DoAction1: ; 1709f3 +.DoAction1: ld a, $5 call GetSRAMBank ld a, $1 ld [$a800], a call CloseSRAM -.NoAction: ; 170a00 +.NoAction: ret -; 170a01 -.Action4: ; 170a01 +.Action4: ld a, $5 call GetSRAMBank ld hl, $b023 @@ -1454,9 +1417,8 @@ Function1709bb: ; 1709bb (5c:49bb) BattleTowerAction $10 ld a, $1 ld [wScriptVar], a ret -; 170a33 -.Action5: ; 170a33 +.Action5: ld a, $0 call GetSRAMBank ld hl, wRTC @@ -1516,15 +1478,14 @@ Function1709bb: ; 1709bb (5c:49bb) BattleTowerAction $10 .no_scene_2 ret -; 170a9c -Function170a9c: ; 170a9c (5c:4a9c) BattleTowerAction $11 +Function170a9c: ; BattleTowerAction $11 ld c, FALSE jr asm_170aa2 -Function170aa0: ; 170aa0 (5c:4aa0) BattleTowerAction $12 +Function170aa0: ; BattleTowerAction $12 ld c, TRUE -asm_170aa2: ; 170aa2 (5c:4aa2) +asm_170aa2: ld a, $5 call GetSRAMBank ld a, c @@ -1532,7 +1493,7 @@ asm_170aa2: ; 170aa2 (5c:4aa2) call CloseSRAM ret -Function170aaf: ; 170aaf (5c:4aaf) BattleTowerAction $13 +Function170aaf: ; BattleTowerAction $13 ld a, $5 call GetSRAMBank ld a, [$aa8d] @@ -1540,7 +1501,7 @@ Function170aaf: ; 170aaf (5c:4aaf) BattleTowerAction $13 call CloseSRAM ret -Function170abe: ; 170abe (5c:4abe) BattleTowerAction $14 +Function170abe: ; BattleTowerAction $14 call BattleTower_CheckSaveFileExistsAndIsYours ld a, [wScriptVar] and a @@ -1554,7 +1515,7 @@ Function170abe: ; 170abe (5c:4abe) BattleTowerAction $14 call CloseSRAM ret -Function170ad7: ; 170ad7 (5c:4ad7) BattleTowerAction $15 +Function170ad7: ; BattleTowerAction $15 ld a, BANK(sBattleTowerSaveFileFlags) call GetSRAMBank ld a, [sBattleTowerSaveFileFlags] @@ -1563,7 +1524,7 @@ Function170ad7: ; 170ad7 (5c:4ad7) BattleTowerAction $15 call CloseSRAM ret -BattleTowerAction_LevelCheck: ; 170ae8 (5c:4ae8) BattleTowerAction $18 +BattleTowerAction_LevelCheck: ; BattleTowerAction $18 ld a, $5 call GetSRAMBank ld a, [$b2fb] @@ -1583,7 +1544,7 @@ BattleTowerAction_LevelCheck: ; 170ae8 (5c:4ae8) BattleTowerAction $18 ld [wScriptVar], a ret -BattleTowerAction_UbersCheck: ; 170b16 (5c:4b16) BattleTowerAction $19 +BattleTowerAction_UbersCheck: ; BattleTowerAction $19 ld a, $5 call GetSRAMBank ld a, [$b2fb] @@ -1646,15 +1607,13 @@ LoadOpponentTrainerAndPokemonWithOTSprite: ; 0x170b44 ld [hUsedSpriteTile], a farcall GetUsedSprite ret -; 170b90 INCLUDE "data/trainers/sprites.asm" -DummySpecial_170bd2: ; 170bd2 +DummySpecial_170bd2: ret -; 170bd3 -CheckForBattleTowerRules: ; 170bd3 +CheckForBattleTowerRules: farcall _CheckForBattleTowerRules jr c, .asm_170bde xor a ; FALSE @@ -1666,4 +1625,3 @@ CheckForBattleTowerRules: ; 170bd3 .asm_170be0 ld [wScriptVar], a ret -; 170be4 diff --git a/engine/events/battle_tower/get_trainer_class.asm b/engine/events/battle_tower/get_trainer_class.asm index 570104a2a..3b94b4d35 100644 --- a/engine/events/battle_tower/get_trainer_class.asm +++ b/engine/events/battle_tower/get_trainer_class.asm @@ -5,7 +5,7 @@ GetMobileOTTrainerClass: ; mobile function ld c, a ret -.GetMobileOTTrainerClass: ; 4e930 +.GetMobileOTTrainerClass: ld a, [hli] xor [hl] ld c, a diff --git a/engine/events/battle_tower/load_trainer.asm b/engine/events/battle_tower/load_trainer.asm index f3db16293..3e6dead8a 100644 --- a/engine/events/battle_tower/load_trainer.asm +++ b/engine/events/battle_tower/load_trainer.asm @@ -1,4 +1,4 @@ -Function_LoadOpponentTrainerAndPokemons: ; 1f8000 +Function_LoadOpponentTrainerAndPokemons: ld a, [rSVBK] push af ld a, BANK(wBT_OTTrainer) @@ -92,7 +92,7 @@ endc ret -Function_LoadRandomBattleTowerMon: ; 1f8081 +Function_LoadRandomBattleTowerMon: ld c, BATTLETOWER_PARTY_LENGTH .loop push bc @@ -207,7 +207,6 @@ Function_LoadRandomBattleTowerMon: ; 1f8081 ld [sBTMonPrevTrainer3], a call CloseSRAM ret -; 1f814e INCLUDE "data/battle_tower/classes.asm" diff --git a/engine/events/battle_tower/rules.asm b/engine/events/battle_tower/rules.asm index 7ed51315f..49b7b1af0 100644 --- a/engine/events/battle_tower/rules.asm +++ b/engine/events/battle_tower/rules.asm @@ -1,27 +1,24 @@ -CheckForMobileBattleRules: ; 8b1e1 +CheckForMobileBattleRules: ld de, .PointerTables call BattleTower_ExecuteJumptable ret z call BattleTower_PleaseReturnWhenReady scf ret -; 8b1ed -.PointerTables: ; 8b1ed +.PointerTables: db 2 dw .Functions dw .TextPointers -.Functions: ; 8b1f2 +.Functions: dw BattleTower_CheckPartyLengthIs3 dw BattleTower_CheckPartyHasThreeMonsThatAreNotEggs -; 8b1f6 -.TextPointers: ; 8b1f6 +.TextPointers: dw .ExcuseMeText dw JumpText_NeedAtLeastThreeMon dw JumpText_EggDoesNotQualify -; 8b1fc .ExcuseMeText: ; 0x8b1fc ; Excuse me! @@ -29,7 +26,7 @@ CheckForMobileBattleRules: ; 8b1e1 db "@" ; 0x8b201 -_CheckForBattleTowerRules: ; 8b201 +_CheckForBattleTowerRules: ld hl, wStringBuffer2 ld [hl], "3" inc hl @@ -40,27 +37,24 @@ _CheckForBattleTowerRules: ; 8b201 call BattleTower_PleaseReturnWhenReady scf ret -; 8b215 -.PointerTables: ; 8b215 +.PointerTables: db 4 dw .Functions dw .TextPointers -.Functions: ; 8b21a +.Functions: dw Function_PartyCountEq3 dw Function_PartySpeciesAreUnique dw Function_PartyItemsAreUnique dw Function_HasPartyAnEgg -; 8b222 -.TextPointers: ; 8b222 +.TextPointers: dw JumpText_ExcuseMeYoureNotReady dw JumpText_OnlyThreeMonMayBeEntered dw JumpText_TheMonMustAllBeDifferentKinds dw JumpText_TheMonMustNotHoldTheSameItems dw JumpText_YouCantTakeAnEgg -; 8b22c JumpText_ExcuseMeYoureNotReady: ; 0x8b22c ; Excuse me. You're not ready. @@ -68,11 +62,10 @@ JumpText_ExcuseMeYoureNotReady: ; 0x8b22c db "@" ; 0x8b231 -BattleTower_PleaseReturnWhenReady: ; 8b231 +BattleTower_PleaseReturnWhenReady: ld hl, .PleaseReturnWhenReady call PrintText ret -; 8b238 .PleaseReturnWhenReady: ; 0x8b238 ; Please return when you're ready. @@ -116,7 +109,7 @@ JumpText_YouCantTakeAnEgg: ; 0x8b256 db "@" ; 0x8b25b -BattleTower_ExecuteJumptable: ; 8b25b +BattleTower_ExecuteJumptable: ld bc, 0 .loop call .DoJumptableFunction @@ -126,9 +119,8 @@ BattleTower_ExecuteJumptable: ; 8b25b ld a, b and a ret -; 8b26c -.DoJumptableFunction: ; 8b26c +.DoJumptableFunction: push de push bc call .GetFunctionPointer @@ -137,16 +129,14 @@ BattleTower_ExecuteJumptable: ; 8b25b pop bc pop de ret -; 8b276 -.Next_CheckReachedEnd: ; 8b276 +.Next_CheckReachedEnd: inc c ld a, [de] cp c ret -; 8b27a -.GetFunctionPointer: ; 8b27a +.GetFunctionPointer: inc de ld a, [de] ld l, a @@ -154,9 +144,8 @@ BattleTower_ExecuteJumptable: ; 8b25b ld a, [de] ld h, a ret -; 8b281 -.GetTextPointers: ; 8b281 +.GetTextPointers: inc de inc de inc de @@ -166,16 +155,14 @@ BattleTower_ExecuteJumptable: ; 8b25b ld a, [de] ld h, a ret -; 8b28a -.LoadTextPointer: ; 8b28a +.LoadTextPointer: ld a, [hli] ld h, [hl] ld l, a ret -; 8b28e -.PrintFailureText: ; 8b28e +.PrintFailureText: push de push bc ld a, b @@ -186,18 +173,16 @@ BattleTower_ExecuteJumptable: ; 8b25b ld b, $1 pop de ret -; 8b29d -.PrintFirstText: ; 8b29d +.PrintFirstText: push de call .GetTextPointers call .LoadTextPointer call PrintText pop de ret -; 8b2a9 -.PrintNthText: ; 8b2a9 +.PrintNthText: push bc call .GetTextPointers inc hl @@ -209,15 +194,13 @@ BattleTower_ExecuteJumptable: ; 8b25b call PrintText pop bc ret -; 8b2bb -BattleTower_CheckPartyLengthIs3: ; 8b2bb +BattleTower_CheckPartyLengthIs3: ld a, [wPartyCount] cp BATTLETOWER_PARTY_LENGTH ret -; 8b2c1 -BattleTower_CheckPartyHasThreeMonsThatAreNotEggs: ; 8b2c1 +BattleTower_CheckPartyHasThreeMonsThatAreNotEggs: ld hl, wPartyCount ld a, [hli] ld b, $0 @@ -237,23 +220,20 @@ BattleTower_CheckPartyHasThreeMonsThatAreNotEggs: ; 8b2c1 ld a, b cp BATTLETOWER_PARTY_LENGTH ret -; 8b2da -Function_PartyCountEq3: ; 8b2da +Function_PartyCountEq3: ld a, [wPartyCount] cp BATTLETOWER_PARTY_LENGTH ret z scf ret -; 8b2e2 -Function_PartySpeciesAreUnique: ; 8b2e2 +Function_PartySpeciesAreUnique: ld hl, wPartyMon1Species call VerifyUniqueness ret -; 8b2e9 -VerifyUniqueness: ; 8b2e9 +VerifyUniqueness: ld de, wPartyCount ld a, [de] inc de @@ -296,18 +276,16 @@ VerifyUniqueness: ; 8b2e9 pop hl scf ret -; 8b31a -.nextmon ; 8b31a +.nextmon push bc ld bc, PARTYMON_STRUCT_LENGTH add hl, bc inc de pop bc ret -; 8b322 -.isegg ; 8b322 +.isegg push bc ld b, a ld a, [de] @@ -315,15 +293,13 @@ VerifyUniqueness: ; 8b2e9 ld a, b pop bc ret -; 8b32a -Function_PartyItemsAreUnique: ; 8b32a +Function_PartyItemsAreUnique: ld hl, wPartyMon1Item call VerifyUniqueness ret -; 8b331 -Function_HasPartyAnEgg: ; 8b331 +Function_HasPartyAnEgg: ld hl, wPartyCount ld a, [hli] ld c, a @@ -339,4 +315,3 @@ Function_HasPartyAnEgg: ; 8b331 .found scf ret -; 8b342 diff --git a/engine/events/battle_tower/trainer_text.asm b/engine/events/battle_tower/trainer_text.asm index c4bcedf64..968bd4366 100644 --- a/engine/events/battle_tower/trainer_text.asm +++ b/engine/events/battle_tower/trainer_text.asm @@ -1,4 +1,4 @@ -BattleTowerText:: ; 11c000 +BattleTowerText:: ; Print text c for trainer [wBT_OTTrainerClass] ; 1: Intro text ; 2: Player lost @@ -83,19 +83,18 @@ endc ld [rSVBK], a call PlaceHLTextAtBC ret -; 11c05d INCLUDE "mobile/fixed_words.asm" INCLUDE "data/trainers/genders.asm" -BTMaleTrainerTexts: ; 11f332 +BTMaleTrainerTexts: dw .Greetings dw .PlayerLost dw .PlayerWon -.Greetings: ; 11f338 +.Greetings: dw BTGreetingM1 dw BTGreetingM2 dw BTGreetingM3 @@ -122,7 +121,7 @@ BTMaleTrainerTexts: ; 11f332 dw BTGreetingM24 dw BTGreetingM25 -.PlayerLost: ; 11f36a +.PlayerLost: dw BTLossM1 dw BTLossM2 dw BTLossM3 @@ -149,7 +148,7 @@ BTMaleTrainerTexts: ; 11f332 dw BTLossM24 dw BTLossM25 -.PlayerWon: ; 11f39c +.PlayerWon: dw BTWinM1 dw BTWinM2 dw BTWinM3 @@ -182,7 +181,7 @@ BTFemaleTrainerTexts: dw .PlayerLost dw .PlayerWon -.Greetings: ; 11f3d4 +.Greetings: dw BTGreetingF1 dw BTGreetingF2 dw BTGreetingF3 @@ -199,7 +198,7 @@ BTFemaleTrainerTexts: dw BTGreetingF14 dw BTGreetingF15 -.PlayerLost: ; 11f3f2 +.PlayerLost: dw BTLossF1 dw BTLossF2 dw BTLossF3 @@ -216,7 +215,7 @@ BTFemaleTrainerTexts: dw BTLossF14 dw BTLossF15 -.PlayerWon: ; 11f410 +.PlayerWon: dw BTWinF1 dw BTWinF2 dw BTWinF3 diff --git a/engine/events/buena.asm b/engine/events/buena.asm index 533ce43ef..637fa0862 100644 --- a/engine/events/buena.asm +++ b/engine/events/buena.asm @@ -1,4 +1,4 @@ -BuenasPassword: ; 8af6b +BuenasPassword: xor a ld [wWhichIndexSet], a ld hl, .MenuHeader @@ -26,7 +26,6 @@ BuenasPassword: ; 8af6b ld a, b ld [wScriptVar], a ret -; 8afa9 .MenuHeader: ; 0x8afa9 db MENU_BACKUP_TILES ; flags @@ -44,7 +43,7 @@ BuenasPassword: ; 8af6b dw .PlacePasswordChoices ; 0x8afb4 -.PasswordIndices: ; 8afb8 +.PasswordIndices: db NUM_PASSWORDS_PER_CATEGORY x = 0 rept NUM_PASSWORDS_PER_CATEGORY @@ -53,7 +52,7 @@ x = x + 1 endr db -1 -.PlacePasswordChoices: ; 8afbd +.PlacePasswordChoices: push de ld a, [wBuenasPassword] and $f0 @@ -65,9 +64,8 @@ endr pop hl call PlaceString ret -; 8afd4 -BuenaPrize: ; 8afd4 +BuenaPrize: xor a ld [wMenuScrollPosition], a ld a, $1 @@ -149,7 +147,6 @@ BuenaPrize: ; 8afd4 call JoyWaitAorB call PlayClickSFX ret -; 8b072 .Text_AskWhichPrize: ; 0x8b072 ; Which prize would you like? @@ -186,19 +183,17 @@ BuenaPrize: ; 8afd4 db "@" ; 0x8b090 -Buena_DisplayBlueCardBalance: ; 8b090 +Buena_DisplayBlueCardBalance: ld hl, BlueCardBalanceMenuHeader call LoadMenuHeader ret -; 8b097 -PrintBlueCardBalance: ; 8b097 +PrintBlueCardBalance: ld de, wBlueCardBalance call .DrawBox ret -; 8b09e -.DrawBox: ; 8b09e +.DrawBox: push de xor a ld [hBGMapMode], a @@ -221,29 +216,24 @@ PrintBlueCardBalance: ; 8b097 lb bc, 1, 2 call PrintNum ret -; 8b0ca .Points_string: db "Points@" -; 8b0d1 BlueCardBalanceMenuHeader: ; 0x8b0d1 db MENU_BACKUP_TILES ; flags menu_coords 0, 11, 11, 13 -; 8b0d6 -Buena_PlacePrizeMenuBox: ; 8b0d6 +Buena_PlacePrizeMenuBox: ld hl, .MenuHeader call LoadMenuHeader ret -; 8b0dd .MenuHeader ; 0x8b0dd db MENU_BACKUP_TILES ; flags menu_coords 0, 0, 17, TEXTBOX_Y - 1 -; 8b0e2 -Buena_PrizeMenu: ; 8b0e2 +Buena_PrizeMenu: ld hl, .MenuHeader call CopyMenuHeader ld a, [wMenuSelection] @@ -268,7 +258,6 @@ Buena_PrizeMenu: ; 8b0e2 .cancel xor a ret -; 8b113 .MenuHeader: ; 0x8b113 db MENU_BACKUP_TILES ; flags @@ -286,11 +275,10 @@ Buena_PrizeMenu: ; 8b0e2 dba .indices dba .prizeitem dba .prizepoints -; 8b129 NUM_BUENA_PRIZES EQU 9 ; ((BuenaPrizeItems.End - BuenaPrizeItems) / 2) -.indices ; 8b129 +.indices db NUM_BUENA_PRIZES x = 1 rept NUM_BUENA_PRIZES @@ -298,9 +286,8 @@ rept NUM_BUENA_PRIZES x = x + 1 endr db -1 -; 8b134 -.prizeitem ; 8b134 +.prizeitem ld a, [wMenuSelection] call Buena_getprize ld a, [hl] @@ -310,9 +297,8 @@ endr pop hl call PlaceString ret -; 8b147 -.prizepoints ; 8b147 +.prizepoints ld a, [wMenuSelection] call Buena_getprize inc hl @@ -321,9 +307,8 @@ endr add c ld [de], a ret -; 8b154 -Buena_getprize: ; 8b154 +Buena_getprize: dec a ld hl, BuenaPrizeItems ld b, 0 @@ -331,6 +316,5 @@ Buena_getprize: ; 8b154 add hl, bc add hl, bc ret -; 8b15e INCLUDE "data/items/buena_prizes.asm" diff --git a/engine/events/buena_menu.asm b/engine/events/buena_menu.asm index d55a6c9fa..e498a3ab8 100644 --- a/engine/events/buena_menu.asm +++ b/engine/events/buena_menu.asm @@ -1,4 +1,4 @@ -AskRememberPassword: ; 4ae12 +AskRememberPassword: call .DoMenu ld a, $0 jr c, .okay @@ -8,7 +8,7 @@ AskRememberPassword: ; 4ae12 ld [wScriptVar], a ret -.DoMenu: ; 4ae1f +.DoMenu: lb bc, 14, 7 push bc ld hl, YesNoMenuHeader @@ -42,7 +42,7 @@ AskRememberPassword: ; 4ae12 scf ret -Buena_ExitMenu: ; 4ae5e +Buena_ExitMenu: ld a, [hOAMUpdate] push af call ExitMenu diff --git a/engine/events/bug_contest/caught_mon.asm b/engine/events/bug_contest/caught_mon.asm index 4bad01829..fcde2b70a 100644 --- a/engine/events/bug_contest/caught_mon.asm +++ b/engine/events/bug_contest/caught_mon.asm @@ -1,4 +1,4 @@ -BugContest_SetCaughtContestMon: ; e6ce +BugContest_SetCaughtContestMon: ld a, [wContestMon] and a jr z, .firstcatch @@ -18,7 +18,7 @@ BugContest_SetCaughtContestMon: ; e6ce call PrintText ret -.generatestats ; e6fd +.generatestats ld a, [wTempEnemyMonSpecies] ld [wCurSpecies], a ld [wCurPartySpecies], a diff --git a/engine/events/bug_contest/contest.asm b/engine/events/bug_contest/contest.asm index c25da1658..e08a434e0 100644 --- a/engine/events/bug_contest/contest.asm +++ b/engine/events/bug_contest/contest.asm @@ -1,4 +1,4 @@ -GiveParkBalls: ; 135db +GiveParkBalls: xor a ld [wContestMon], a ld a, 20 diff --git a/engine/events/bug_contest/contest_2.asm b/engine/events/bug_contest/contest_2.asm index 3e3b16b21..9cf70a03e 100644 --- a/engine/events/bug_contest/contest_2.asm +++ b/engine/events/bug_contest/contest_2.asm @@ -1,4 +1,4 @@ -SelectRandomBugContestContestants: ; 139a8 +SelectRandomBugContestContestants: ; Select five random people to participate in the current contest. ; First we have to make sure that any old data is cleared away. @@ -54,9 +54,8 @@ SelectRandomBugContestContestants: ; 139a8 dec c jr nz, .loop2 ret -; 139ed -CheckBugContestContestantFlag: ; 139ed +CheckBugContestContestantFlag: ; Checks the flag of the Bug Catching Contestant whose index is loaded in a. ; Bug: If a >= NUM_BUG_CONTESTANTS when this is called, @@ -73,11 +72,10 @@ CheckBugContestContestantFlag: ; 139ed ld b, CHECK_FLAG call EventFlagAction ret -; 139fe INCLUDE "data/events/bug_contest_flags.asm" -ContestDropOffMons: ; 13a12 +ContestDropOffMons: ld hl, wPartyMon1HP ld a, [hli] or [hl] @@ -100,9 +98,8 @@ ContestDropOffMons: ; 13a12 ld a, $1 ld [wScriptVar], a ret -; 13a31 -ContestReturnMons: ; 13a31 +ContestReturnMons: ; Restore the species of the second mon. ld hl, wPartySpecies + 1 ld a, [wBugContestSecondPartySpecies] @@ -120,4 +117,3 @@ ContestReturnMons: ; 13a31 ld a, b ld [wPartyCount], a ret -; 13a47 diff --git a/engine/events/bug_contest/display_stats.asm b/engine/events/bug_contest/display_stats.asm index 9f6eb50d0..21380149b 100644 --- a/engine/events/bug_contest/display_stats.asm +++ b/engine/events/bug_contest/display_stats.asm @@ -1,4 +1,4 @@ -DisplayCaughtContestMonStats: ; cc000 +DisplayCaughtContestMonStats: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -86,12 +86,12 @@ DisplayCaughtContestMonStats: ; cc000 .This: db " THIS <PKMN> @" -SwitchMonText: ; cc0c2 +SwitchMonText: ; Switch #MON? text_jump UnknownText_0x1c10cf db "@" -DisplayAlreadyCaughtText: ; cc0c7 +DisplayAlreadyCaughtText: call GetPokemonName ld hl, .AlreadyCaughtText jp PrintText @@ -103,5 +103,5 @@ DisplayAlreadyCaughtText: ; cc0c7 DummyPredef2F: DummyPredef38: -DummyPredef39: ; cc0d5 +DummyPredef39: ret diff --git a/engine/events/bug_contest/judging.asm b/engine/events/bug_contest/judging.asm index a338e83ec..8a77f6ab7 100644 --- a/engine/events/bug_contest/judging.asm +++ b/engine/events/bug_contest/judging.asm @@ -1,4 +1,4 @@ -_BugContestJudging: ; 1369d +_BugContestJudging: call ContestScore farcall StubbedTrainerRankings_BugContestScore call BugContest_JudgeContestants @@ -24,7 +24,6 @@ _BugContestJudging: ; 1369d ld hl, BugContest_FirstPlaceText call PrintText jp BugContest_GetPlayersResult -; 136eb BugContest_FirstPlaceText: ; 0x136eb text_jump ContestJudging_FirstPlaceText @@ -34,7 +33,6 @@ BugContest_FirstPlaceText: ; 0x136eb call WaitSFX ld hl, BugContest_FirstPlaceScoreText ret -; 136fd BugContest_FirstPlaceScoreText: ; 0x136fd ; The winning score was @ points! @@ -51,7 +49,6 @@ BugContest_SecondPlaceText: ; 0x13702 call WaitSFX ld hl, BugContest_SecondPlaceScoreText ret -; 13714 BugContest_SecondPlaceScoreText: ; 0x13714 ; The score was @ points! @@ -68,7 +65,6 @@ BugContest_ThirdPlaceText: ; 0x13719 call WaitSFX ld hl, BugContest_ThirdPlaceScoreText ret -; 1372b BugContest_ThirdPlaceScoreText: ; 0x1372b ; The score was @ points! @@ -76,7 +72,7 @@ BugContest_ThirdPlaceScoreText: ; 0x1372b db "@" ; 0x13730 -LoadContestantName: ; 13730 +LoadContestantName: ; If a = 1, get your name. dec a ; BUG_CONTEST_PLAYER jr z, .player @@ -131,14 +127,12 @@ LoadContestantName: ; 13730 ld de, wBugContestWinnerName ld bc, NAME_LENGTH jp CopyBytes -; 13783 INCLUDE "data/events/bug_contest_winners.asm" -; 13807 -BugContest_GetPlayersResult: ; 13807 +BugContest_GetPlayersResult: ld hl, wBugContestThirdPlaceWinnerID ld de, - BUG_CONTESTANT_SIZE ld b, 3 ; 3rd, 2nd, or 1st @@ -152,9 +146,8 @@ BugContest_GetPlayersResult: ; 13807 .done ret -; 13819 -BugContest_JudgeContestants: ; 13819 +BugContest_JudgeContestants: call ClearContestResults call ComputeAIContestantScores ld hl, wBugContestTempWinnerID @@ -168,9 +161,8 @@ BugContest_JudgeContestants: ; 13819 ld [hl], a call DetermineContestWinners ret -; 13833 -ClearContestResults: ; 13833 +ClearContestResults: ld hl, wBugContestResults ld b, wBugContestWinnersEnd - wBugContestResults xor a @@ -179,9 +171,8 @@ ClearContestResults: ; 13833 dec b jr nz, .loop ret -; 1383e -DetermineContestWinners: ; 1383e +DetermineContestWinners: ld de, wBugContestTempScore ld hl, wBugContestFirstPlaceScore ld c, 2 @@ -224,9 +215,8 @@ DetermineContestWinners: ; 1383e .done ret -; 138a0 -CopyTempContestant: ; 138a0 +CopyTempContestant: ; Could've just called CopyBytes. ld de, wBugContestTempWinnerID rept BUG_CONTESTANT_SIZE + -1 @@ -238,9 +228,8 @@ endr inc de ld [hl], a ret -; 138b0 -ComputeAIContestantScores: ; 138b0 +ComputeAIContestantScores: ld e, 0 .loop push de @@ -298,9 +287,8 @@ ComputeAIContestantScores: ; 138b0 cp NUM_BUG_CONTESTANTS jr nz, .loop ret -; 13900 -ContestScore: ; 13900 +ContestScore: ; Determine the player's score in the Bug Catching Contest. xor a @@ -383,9 +371,8 @@ ContestScore: ; 13900 .done ret -; 1397f -.AddContestStat: ; 1397f +.AddContestStat: ld hl, hMultiplicand add [hl] ld [hl], a @@ -393,4 +380,3 @@ ContestScore: ; 13900 dec hl inc [hl] ret -; 13988 diff --git a/engine/events/card_key.asm b/engine/events/card_key.asm index f4f36e402..6a2dda75d 100644 --- a/engine/events/card_key.asm +++ b/engine/events/card_key.asm @@ -1,4 +1,4 @@ -_CardKey: ; 50779 +_CardKey: ; Are we even in the right map to use this? ld a, [wMapGroup] cp GROUP_RADIO_TOWER_3F @@ -31,7 +31,6 @@ _CardKey: ; 50779 ld a, FALSE ld [wItemEffectSucceeded], a ret -; 507af .CardKeyScript: ; 0x507af closetext diff --git a/engine/events/catch_tutorial.asm b/engine/events/catch_tutorial.asm index 6ae3b4a3b..898fb826f 100644 --- a/engine/events/catch_tutorial.asm +++ b/engine/events/catch_tutorial.asm @@ -1,4 +1,4 @@ -CatchTutorial:: ; 4e554 +CatchTutorial:: ld a, [wBattleType] dec a ld c, a @@ -11,12 +11,12 @@ CatchTutorial:: ; 4e554 ld l, a jp hl -.dw ; 4e564 (13:6564) +.dw dw .DudeTutorial dw .DudeTutorial dw .DudeTutorial -.DudeTutorial: ; 4e56a (13:656a) +.DudeTutorial: ; Back up your name to your Mom's name. ld hl, wPlayerName ld de, wMomsName @@ -52,7 +52,7 @@ CatchTutorial:: ; 4e554 call CopyBytes ret -.LoadDudeData: ; 4e5b7 (13:65b7) +.LoadDudeData: ld hl, wDudeNumItems ld [hl], 1 inc hl @@ -68,14 +68,14 @@ CatchTutorial:: ; 4e554 ld hl, wDudeNumBalls ld a, 1 ld [hli], a - ld a, POKE_BALL ; 5 + ld a, POKE_BALL ld [hli], a ld [hli], a ld [hl], -1 ret -.Dude: ; 4e5da +.Dude: db "DUDE@" -.AutoInput: ; 4e5df +.AutoInput: db NO_INPUT, $ff ; end diff --git a/engine/events/catch_tutorial_input.asm b/engine/events/catch_tutorial_input.asm index 70f4f0ef7..cca2db2d5 100644 --- a/engine/events/catch_tutorial_input.asm +++ b/engine/events/catch_tutorial_input.asm @@ -1,35 +1,35 @@ -_DudeAutoInput_A:: ; 1de28a +_DudeAutoInput_A:: ld hl, DudeAutoInput_A jr _DudeAutoInput -_DudeAutoInput_RightA: ; 1de28f +_DudeAutoInput_RightA: ld hl, DudeAutoInput_RightA jr _DudeAutoInput -_DudeAutoInput_DownA: ; 1de294 +_DudeAutoInput_DownA: ld hl, DudeAutoInput_DownA jr _DudeAutoInput -_DudeAutoInput: ; 1de299 +_DudeAutoInput: ld a, BANK(DudeAutoInputs) call StartAutoInput ret DudeAutoInputs: ; used only for BANK(DudeAutoInputs) -DudeAutoInput_A: ; 1de29f +DudeAutoInput_A: db NO_INPUT, $50 db A_BUTTON, $00 db NO_INPUT, $ff ; end -DudeAutoInput_RightA: ; 1de2a5 +DudeAutoInput_RightA: db NO_INPUT, $08 db D_RIGHT, $00 db NO_INPUT, $08 db A_BUTTON, $00 db NO_INPUT, $ff ; end -DudeAutoInput_DownA: ; 1de2af +DudeAutoInput_DownA: db NO_INPUT, $fe db NO_INPUT, $fe db NO_INPUT, $fe diff --git a/engine/events/celebi.asm b/engine/events/celebi.asm index cb5d08d95..c0f4fcf36 100644 --- a/engine/events/celebi.asm +++ b/engine/events/celebi.asm @@ -1,6 +1,6 @@ SPECIALCELEBIEVENT_CELEBI EQU $84 -CelebiShrineEvent: ; 4989a +CelebiShrineEvent: call DelayFrame ld a, [wVramState] push af @@ -49,9 +49,8 @@ CelebiShrineEvent: ; 4989a call CelebiEvent_SetBattleType ret -; 498f9 -.RestorePlayerSprite_DespawnLeaves: ; 498f9 +.RestorePlayerSprite_DespawnLeaves: ld hl, wVirtualOAMSprite00TileID xor a ld c, 4 @@ -69,9 +68,8 @@ endr call ByteFill ret -; 49912 -LoadCelebiGFX: ; 49912 +LoadCelebiGFX: farcall ClearSpriteAnims ld de, SpecialCelebiLeafGFX ld hl, vTiles1 @@ -85,9 +83,8 @@ LoadCelebiGFX: ; 49912 ld [wJumptableIndex], a ret -; 49935 -CelebiEvent_CountDown: ; 49935 +CelebiEvent_CountDown: ld hl, wFrameCounter ld a, [hl] and a @@ -101,9 +98,8 @@ CelebiEvent_CountDown: ; 49935 set 7, [hl] ret -; 49944 -CelebiEvent_SpawnLeaf: ; 49944 +CelebiEvent_SpawnLeaf: ; unused ld hl, wcf65 ld a, [hl] @@ -123,19 +119,18 @@ CelebiEvent_SpawnLeaf: ; 49944 ld [hl], $80 ret -; 49962 -SpecialCelebiLeafGFX: ; 49962 +SpecialCelebiLeafGFX: INCBIN "gfx/overworld/cut_grass.2bpp" -SpecialCelebiGFX: ; 499a2 +SpecialCelebiGFX: INCBIN "gfx/overworld/celebi/1.2bpp" INCBIN "gfx/overworld/celebi/2.2bpp" INCBIN "gfx/overworld/celebi/3.2bpp" INCBIN "gfx/overworld/celebi/4.2bpp" -UpdateCelebiPosition: ; 49aa2 (12:5aa2) +UpdateCelebiPosition: ld hl, SPRITEANIMSTRUCT_XOFFSET add hl, bc ld a, [hl] @@ -230,7 +225,7 @@ UpdateCelebiPosition: ; 49aa2 (12:5aa2) ret -.FreezeCelebiPosition: ; 49b30 (12:5b30) +.FreezeCelebiPosition: pop af ld hl, SPRITEANIMSTRUCT_FRAMESET_ID add hl, bc @@ -239,13 +234,12 @@ UpdateCelebiPosition: ; 49aa2 (12:5aa2) ret -CelebiEvent_Cosine: ; 49b3b (12:5b3b) +CelebiEvent_Cosine: ; a = d * cos(a * pi/32) add %010000 ; cos(x) = sin(x + pi/2) calc_sine_wave -; 49bae -GetCelebiSpriteTile: ; 49bae +GetCelebiSpriteTile: push hl push bc push de @@ -304,9 +298,8 @@ GetCelebiSpriteTile: ; 49bae pop hl ret -; 49bed -.AddE: ; 49bed +.AddE: push af ld a, d add e @@ -314,16 +307,14 @@ GetCelebiSpriteTile: ; 49bae pop af ret -; 49bf3 -CelebiEvent_SetBattleType: ; 49bf3 +CelebiEvent_SetBattleType: ld a, BATTLETYPE_CELEBI ld [wBattleType], a ret -; 49bf9 -CheckCaughtCelebi: ; 49bf9 +CheckCaughtCelebi: ld a, [wBattleResult] bit BATTLERESULT_CAUGHT_CELEBI, a jr z, .false @@ -339,4 +330,3 @@ CheckCaughtCelebi: ; 49bf9 .done ret -; 49c0c diff --git a/engine/events/checkforhiddenitems.asm b/engine/events/checkforhiddenitems.asm index 7396bd39a..2af9a1a1f 100644 --- a/engine/events/checkforhiddenitems.asm +++ b/engine/events/checkforhiddenitems.asm @@ -1,4 +1,4 @@ -CheckForHiddenItems: ; b8172 +CheckForHiddenItems: ; Checks to see if there are hidden items on the screen that have not yet been found. If it finds one, returns carry. call GetMapScriptsBank ld [wBuffer1], a @@ -75,11 +75,9 @@ CheckForHiddenItems: ; b8172 pop hl scf ret -; b81e2 -.GetFarByte: ; b81e2 +.GetFarByte: ld a, [wBuffer1] call GetFarByte inc hl ret -; b81ea diff --git a/engine/events/checksave.asm b/engine/events/checksave.asm index 2280f0e53..1e9d18e71 100644 --- a/engine/events/checksave.asm +++ b/engine/events/checksave.asm @@ -1,4 +1,4 @@ -CheckSave:: ; 4cffe +CheckSave:: ld a, BANK(sCheckValue1) ; BANK(sCheckValue2) call GetSRAMBank ld a, [sCheckValue1] diff --git a/engine/events/checktime.asm b/engine/events/checktime.asm index 4c7d033ff..6e470e883 100644 --- a/engine/events/checktime.asm +++ b/engine/events/checktime.asm @@ -1,4 +1,4 @@ -CheckTime:: ; c000 +CheckTime:: ld a, [wTimeOfDay] ld hl, .TimeOfDayTable ld de, 2 @@ -11,7 +11,7 @@ CheckTime:: ; c000 ld c, a ret -.TimeOfDayTable: ; c012 +.TimeOfDayTable: db MORN_F, MORN db DAY_F, DAY db NITE_F, NITE diff --git a/engine/events/daycare.asm b/engine/events/daycare.asm index 4b256da28..904a4b698 100644 --- a/engine/events/daycare.asm +++ b/engine/events/daycare.asm @@ -21,7 +21,7 @@ const DAYCARETEXT_OH_FINE const DAYCARETEXT_COME_AGAIN -DayCareMan: ; 166d6 +DayCareMan: ld hl, wDayCareMan bit DAYCAREMAN_HAS_MON_F, [hl] jr nz, .AskWithdrawMon @@ -58,9 +58,8 @@ DayCareMan: ; 166d6 ld a, DAYCARETEXT_COME_AGAIN call PrintDayCareText ret -; 1672a -DayCareLady: ; 1672a +DayCareLady: ld hl, wDayCareLady bit DAYCARELADY_HAS_MON_F, [hl] jr nz, .AskWithdrawMon @@ -98,9 +97,8 @@ DayCareLady: ; 1672a ld a, DAYCARETEXT_COME_AGAIN call PrintDayCareText ret -; 16781 -DayCareLadyIntroText: ; 16781 +DayCareLadyIntroText: bit DAYCARELADY_ACTIVE_F, [hl] jr nz, .okay set DAYCARELADY_ACTIVE_F, [hl] @@ -109,16 +107,14 @@ DayCareLadyIntroText: ; 16781 call PrintDayCareText call YesNoBox ret -; 1678f -DayCareManIntroText: ; 1678f +DayCareManIntroText: set DAYCAREMAN_ACTIVE_F, [hl] call PrintDayCareText call YesNoBox ret -; 16798 -DayCareAskDepositPokemon: ; 16798 +DayCareAskDepositPokemon: ld a, [wPartyCount] cp 2 jr c, .OnlyOneMon @@ -169,7 +165,6 @@ DayCareAskDepositPokemon: ; 16798 ld a, DAYCARETEXT_REMOVE_MAIL scf ret -; 167f1 .DummyText: ; 0x167f1 ; @@ -177,7 +172,7 @@ DayCareAskDepositPokemon: ; 16798 db "@" ; 0x167f6 -DayCare_DepositPokemonText: ; 167f6 +DayCare_DepositPokemonText: ld a, DAYCARETEXT_DEPOSIT call PrintDayCareText ld a, [wCurPartySpecies] @@ -185,9 +180,8 @@ DayCare_DepositPokemonText: ; 167f6 ld a, DAYCARETEXT_COME_BACK_LATER call PrintDayCareText ret -; 16807 -DayCare_AskWithdrawBreedMon: ; 16807 +DayCare_AskWithdrawBreedMon: ld a, [wStringBuffer2 + 1] and a jr nz, .grew_at_least_one_level @@ -232,9 +226,8 @@ DayCare_AskWithdrawBreedMon: ; 16807 ld a, DAYCARETEXT_PARTY_FULL scf ret -; 16850 -DayCare_GetBackMonForMoney: ; 16850 +DayCare_GetBackMonForMoney: ld bc, wStringBuffer2 + 2 ld de, wMoney farcall TakeMoney @@ -245,9 +238,8 @@ DayCare_GetBackMonForMoney: ; 16850 ld a, DAYCARETEXT_GOT_BACK call PrintDayCareText ret -; 1686d -GetPriceToRetrieveBreedmon: ; 1686d +GetPriceToRetrieveBreedmon: ld a, b ld [wStringBuffer2], a ld a, d @@ -268,9 +260,8 @@ GetPriceToRetrieveBreedmon: ; 1686d ld a, l ld [wStringBuffer2 + 4], a ret -; 1689b -PrintDayCareText: ; 1689b +PrintDayCareText: ld e, a ld d, 0 ld hl, .TextTable @@ -281,9 +272,8 @@ PrintDayCareText: ; 1689b ld l, a call PrintText ret -; 168aa -.TextTable: ; 168aa +.TextTable: ; entries correspond to DAYCARETEXT_* constants dw .DayCareManIntro ; 00 dw .DayCareManOddEgg ; 01 @@ -305,7 +295,6 @@ PrintDayCareText: ; 1689b dw .NotEnoughMoney ; 11 dw .OhFineThen ; 12 dw .ComeAgain ; 13 -; 168d2 .DayCareManIntro: ; 0x168d2 ; I'm the DAY-CARE MAN. Want me to raise a #MON? @@ -427,7 +416,7 @@ PrintDayCareText: ; 1689b db "@" ; 0x16936 -DayCareManOutside: ; 16936 +DayCareManOutside: ld hl, wDayCareMan bit DAYCAREMAN_HAS_EGG_F, [hl] jr nz, .AskGiveEgg @@ -441,7 +430,7 @@ DayCareManOutside: ; 16936 db "@" ; 0x16949 -.AskGiveEgg: ; 16949 +.AskGiveEgg: ld hl, .IntroText call PrintText call YesNoBox @@ -477,7 +466,6 @@ DayCareManOutside: ; 16936 ld a, TRUE ld [wScriptVar], a ret -; 16993 .IntroText: ; 0x16993 ; Ah, it's you! We were raising your #MON, and my goodness, were we surprised! Your #MON had an EGG! We don't know how it got there, but your #MON had it. You want it? @@ -509,7 +497,7 @@ DayCareManOutside: ; 16936 db "@" ; 0x169ac -DayCare_GiveEgg: ; 169ac +DayCare_GiveEgg: ld a, [wEggMonLevel] ld [wCurPartyLevel], a ld hl, wPartyCount @@ -580,18 +568,16 @@ DayCare_GiveEgg: ; 169ac .PartyFull: scf ret -; 16a31 -DayCare_GetCurrentPartyMember: ; 16a31 +DayCare_GetCurrentPartyMember: ld a, [wPartyCount] dec a call AddNTimes ld d, h ld e, l ret -; 16a3b -DayCare_InitBreeding: ; 16a3b +DayCare_InitBreeding: ld a, [wDayCareLady] bit DAYCARELADY_HAS_MON_F, a ret z @@ -612,9 +598,8 @@ DayCare_InitBreeding: ; 16a3b jr c, .loop ld [wStepsToEgg], a jp .UselessJump -; 16a66 -.UselessJump: ; 16a66 +.UselessJump: xor a ld hl, wEggMon ld bc, wEggMonEnd - wEggMon @@ -788,8 +773,6 @@ DayCare_InitBreeding: ; 16a3b ld a, [wCurPartyLevel] ld [wEggMonLevel], a ret -; 16be0 -.String_EGG: ; 16be0 +.String_EGG: db "EGG@" -; 16be4 diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 5d0482cc4..aa4755e4f 100644 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -1,10 +1,9 @@ -_Diploma: ; 1dd702 +_Diploma: call PlaceDiplomaOnScreen call WaitPressAorB_BlinkCursor ret -; 1dd709 -PlaceDiplomaOnScreen: ; 1dd709 +PlaceDiplomaOnScreen: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -35,7 +34,6 @@ PlaceDiplomaOnScreen: ; 1dd709 call SetPalettes call DelayFrame ret -; 1dd760 .Player: db "PLAYER@" @@ -50,9 +48,8 @@ PlaceDiplomaOnScreen: ; 1dd709 next "new #DEX." next "Congratulations!" db "@" -; 1dd7ae -PrintDiplomaPage2: ; 1dd7ae +PrintDiplomaPage2: hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, $7f @@ -77,17 +74,15 @@ PrintDiplomaPage2: ; 1dd7ae lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum ret -; 1dd7f0 .PlayTime: db "PLAY TIME@" .GameFreak: db "GAME FREAK@" -; 1dd805 -DiplomaGFX: ; 1dd805 +DiplomaGFX: INCBIN "gfx/diploma/diploma.2bpp.lz" -DiplomaPage1Tilemap: ; 1ddc4b +DiplomaPage1Tilemap: INCBIN "gfx/diploma/page1.tilemap" -DiplomaPage2Tilemap: ; 1dddb3 +DiplomaPage2Tilemap: INCBIN "gfx/diploma/page2.tilemap" diff --git a/engine/events/dratini.asm b/engine/events/dratini.asm index 1019e302e..7d8a224ba 100644 --- a/engine/events/dratini.asm +++ b/engine/events/dratini.asm @@ -109,4 +109,3 @@ GiveDratini: ; 0x8b170 .EmptyParty: scf ret -; 8b1e1 diff --git a/engine/events/elevator.asm b/engine/events/elevator.asm index bcad170d4..377560071 100644 --- a/engine/events/elevator.asm +++ b/engine/events/elevator.asm @@ -1,4 +1,4 @@ -Elevator:: ; 1342d +Elevator:: call .LoadPointer call .FindCurrentFloor jr c, .quit @@ -15,9 +15,8 @@ Elevator:: ; 1342d .quit scf ret -; 1344a -.LoadPointer: ; 1344a +.LoadPointer: ld a, b ld [wElevatorPointerBank], a ld a, e @@ -26,9 +25,8 @@ Elevator:: ; 1342d ld [wElevatorPointer + 1], a call .LoadFloors ret -; 1345a -.LoadFloors: ; 1345a +.LoadFloors: ld de, wCurElevator ld bc, 4 ld hl, wElevatorPointer @@ -49,9 +47,8 @@ Elevator:: ; 1342d cp -1 jr nz, .loop ret -; 1347d -.FindCurrentFloor: ; 1347d +.FindCurrentFloor: ld hl, wElevatorPointer ld a, [hli] ld h, [hl] @@ -98,9 +95,8 @@ Elevator:: ; 1342d .fail scf ret -; 134c0 -Elevator_GoToFloor: ; 134c0 +Elevator_GoToFloor: push af ld hl, wElevatorPointer ld a, [hli] @@ -116,9 +112,8 @@ Elevator_GoToFloor: ; 134c0 ld bc, 3 call FarCopyBytes ret -; 134dd -Elevator_AskWhichFloor: ; 134dd +Elevator_AskWhichFloor: call LoadStandardMenuHeader ld hl, Elevator_WhichFloorText call PrintText @@ -141,7 +136,6 @@ Elevator_AskWhichFloor: ; 134dd .cancel scf ret -; 1350d Elevator_WhichFloorText: ; 0x1350d ; Which floor? @@ -150,7 +144,7 @@ Elevator_WhichFloorText: ; 0x1350d ; 0x13512 -Elevator_GetCurrentFloorText: ; 13512 +Elevator_GetCurrentFloorText: ld hl, wOptions ld a, [hl] push af @@ -167,14 +161,12 @@ Elevator_GetCurrentFloorText: ; 13512 pop af ld [wOptions], a ret -; 13537 -Elevator_CurrentFloorText: ; 13537 +Elevator_CurrentFloorText: db "Now on:@" -; 1353f -Elevator_GetCurrentFloorString: ; 1353f +Elevator_GetCurrentFloorString: push hl ld a, [wElevatorOriginFloor] ld e, a @@ -185,7 +177,6 @@ Elevator_GetCurrentFloorString: ; 1353f pop de call GetFloorString ret -; 13550 Elevator_MenuHeader: ; 0x13550 db MENU_BACKUP_TILES ; flags @@ -202,20 +193,18 @@ Elevator_MenuData: ; 0x13558 dba GetElevatorFloorStrings dba NULL dba NULL -; 13568 -GetElevatorFloorStrings: ; 13568 +GetElevatorFloorStrings: ld a, [wMenuSelection] -GetFloorString: ; 1356b +GetFloorString: push de call FloorToString ld d, h ld e, l pop hl jp PlaceString -; 13575 -FloorToString: ; 13575 +FloorToString: push de ld e, a ld d, 0 @@ -227,6 +216,5 @@ FloorToString: ; 13575 ld l, a pop de ret -; 13583 INCLUDE "data/events/elevator_floors.asm" diff --git a/engine/events/engine_flags.asm b/engine/events/engine_flags.asm index acda9ede7..7c894587c 100644 --- a/engine/events/engine_flags.asm +++ b/engine/events/engine_flags.asm @@ -1,4 +1,4 @@ -EngineFlagAction:: ; 80430 +EngineFlagAction:: ; Do action b on engine flag de ; ; b = 0: reset flag @@ -80,7 +80,6 @@ EngineFlagAction:: ; 80430 and c ld [de], a ret -; 80462 INCLUDE "data/engine_flags.asm" diff --git a/engine/events/field_moves.asm b/engine/events/field_moves.asm index 2fc30d25c..b8157fe38 100644 --- a/engine/events/field_moves.asm +++ b/engine/events/field_moves.asm @@ -1,12 +1,11 @@ -PlayWhirlpoolSound: ; 8c7d4 +PlayWhirlpoolSound: call WaitSFX ld de, SFX_SURF call PlaySFX call WaitSFX ret -; 8c7e1 -BlindingFlash: ; 8c7e1 +BlindingFlash: farcall FadeOutPalettes ld hl, wStatusFlags set STATUSFLAGS_FLASH_F, [hl] @@ -17,9 +16,8 @@ BlindingFlash: ; 8c7e1 farcall LoadOW_BGPal7 farcall FadeInPalettes ret -; 8c80a -ShakeHeadbuttTree: ; 8c80a +ShakeHeadbuttTree: farcall ClearSpriteAnims ld de, CutGrassGFX ld hl, vTiles1 @@ -72,13 +70,11 @@ ShakeHeadbuttTree: ; 8c80a call Get1bpp call ReplaceKrisSprite ret -; 8c893 -HeadbuttTreeGFX: ; 8c893 +HeadbuttTreeGFX: INCBIN "gfx/overworld/headbutt_tree.2bpp" -; 8c913 -HideHeadbuttTree: ; 8c913 +HideHeadbuttTree: xor a ld [hBGMapMode], a ld a, [wPlayerDirection] @@ -103,16 +99,14 @@ HideHeadbuttTree: ; 8c913 xor a ld [hBGMapMode], a ret -; 8c938 -TreeRelativeLocationTable: ; 8c938 +TreeRelativeLocationTable: dwcoord 8, 8 + 2 ; RIGHT dwcoord 8, 8 - 2 ; LEFT dwcoord 8 - 2, 8 ; DOWN dwcoord 8 + 2, 8 ; UP -; 8c940 -OWCutAnimation: ; 8c940 +OWCutAnimation: ; Animation index in e ; 0: Split tree in half ; 1: Mow the lawn @@ -136,9 +130,8 @@ OWCutAnimation: ; 8c940 .finish ret -; 8c96d -.LoadCutGFX: ; 8c96d +.LoadCutGFX: callfar ClearSpriteAnims ; pointless to farcall ld de, CutGrassGFX ld hl, vTiles1 @@ -149,17 +142,14 @@ OWCutAnimation: ; 8c940 lb bc, BANK(CutTreeGFX), 4 call Request2bpp ret -; 8c98c -CutTreeGFX: ; c898c +CutTreeGFX: INCBIN "gfx/overworld/cut_tree.2bpp" -; c89cc -CutGrassGFX: ; 8c9cc +CutGrassGFX: INCBIN "gfx/overworld/cut_grass.2bpp" -; 8ca0c -OWCutJumptable: ; 8ca0c +OWCutJumptable: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -170,17 +160,16 @@ OWCutJumptable: ; 8ca0c ld h, [hl] ld l, a jp hl -; 8ca1b -.dw ; 8ca1b (23:4a1b) +.dw dw Cut_SpawnAnimateTree dw Cut_SpawnAnimateLeaves dw Cut_StartWaiting dw Cut_WaitAnimSFX -Cut_SpawnAnimateTree: ; 8ca23 (23:4a23) +Cut_SpawnAnimateTree: call Cut_Headbutt_GetPixelFacing ld a, SPRITE_ANIM_INDEX_CUT_TREE ; cut tree call _InitSpriteAnimStruct @@ -195,7 +184,7 @@ Cut_SpawnAnimateTree: ; 8ca23 (23:4a23) inc [hl] ret -Cut_SpawnAnimateLeaves: ; 8ca3c (23:4a3c) +Cut_SpawnAnimateLeaves: call Cut_GetLeafSpawnCoords xor a call Cut_SpawnLeaf @@ -212,14 +201,14 @@ Cut_SpawnAnimateLeaves: ; 8ca3c (23:4a3c) inc [hl] ret -Cut_StartWaiting: ; 8ca5c (23:4a5c) +Cut_StartWaiting: ld a, $1 ld [hBGMapMode], a ; Cut_WaitAnimSFX ld hl, wJumptableIndex inc [hl] -Cut_WaitAnimSFX: ; 8ca64 (23:4a64) +Cut_WaitAnimSFX: ld hl, wFrameCounter ld a, [hl] and a @@ -232,7 +221,7 @@ Cut_WaitAnimSFX: ; 8ca64 (23:4a64) set 7, [hl] ret -Cut_SpawnLeaf: ; 8ca73 (23:4a73) +Cut_SpawnLeaf: push de push af ld a, SPRITE_ANIM_INDEX_LEAF ; leaf @@ -250,7 +239,7 @@ Cut_SpawnLeaf: ; 8ca73 (23:4a73) pop de ret -Cut_GetLeafSpawnCoords: ; 8ca8e (23:4a8e) +Cut_GetLeafSpawnCoords: ld de, 0 ld a, [wMetatileStandingX] bit 0, a @@ -273,9 +262,8 @@ Cut_GetLeafSpawnCoords: ; 8ca8e (23:4a8e) inc hl ld d, [hl] ret -; 8cab3 (23:4ab3) -.Coords: ; 8cab3 +.Coords: dbpixel 11, 12 ; facing down, top left dbpixel 9, 12 ; facing down, top right dbpixel 11, 14 ; facing down, bottom left @@ -295,9 +283,8 @@ Cut_GetLeafSpawnCoords: ; 8ca8e (23:4a8e) dbpixel 13, 12 ; facing right, top right dbpixel 11, 10 ; facing right, bottom left dbpixel 13, 10 ; facing right, bottom right -; 8cad3 -Cut_Headbutt_GetPixelFacing: ; 8cad3 (23:4ad3) +Cut_Headbutt_GetPixelFacing: ld a, [wPlayerDirection] and %00001100 srl a @@ -309,17 +296,15 @@ Cut_Headbutt_GetPixelFacing: ; 8cad3 (23:4ad3) inc hl ld d, [hl] ret -; 8cae5 (23:4ae5) -.Coords: ; 8cae5 +.Coords: dbpixel 10, 13 dbpixel 10, 9 dbpixel 8, 11 dbpixel 12, 11 -; 8caed -FlyFromAnim: ; 8caed +FlyFromAnim: call DelayFrame ld a, [wVramState] push af @@ -352,9 +337,8 @@ FlyFromAnim: ; 8caed pop af ld [wVramState], a ret -; 8cb33 -FlyToAnim: ; 8cb33 +FlyToAnim: call DelayFrame ld a, [wVramState] push af @@ -392,7 +376,7 @@ FlyToAnim: ; 8cb33 call .RestorePlayerSprite_DespawnLeaves ret -.RestorePlayerSprite_DespawnLeaves: ; 8cb82 (23:4b82) +.RestorePlayerSprite_DespawnLeaves: ld hl, wVirtualOAMSprite00TileID xor a ld c, 4 @@ -410,7 +394,7 @@ endr call ByteFill ret -FlyFunction_InitGFX: ; 8cb9b (23:4b9b) +FlyFunction_InitGFX: callfar ClearSpriteAnims ld de, CutGrassGFX ld hl, vTiles1 tile $00 @@ -429,7 +413,7 @@ FlyFunction_InitGFX: ; 8cb9b (23:4b9b) ld [wJumptableIndex], a ret -FlyFunction_FrameTimer: ; 8cbc8 (23:4bc8) +FlyFunction_FrameTimer: call .SpawnLeaf ld hl, wFrameCounter ld a, [hl] @@ -449,7 +433,7 @@ FlyFunction_FrameTimer: ; 8cbc8 (23:4bc8) set 7, [hl] ret -.SpawnLeaf: ; 8cbe6 (23:4be6) +.SpawnLeaf: ld hl, wcf65 ld a, [hl] inc [hl] diff --git a/engine/events/fish.asm b/engine/events/fish.asm index 09de8f2b7..ec3e9a727 100644 --- a/engine/events/fish.asm +++ b/engine/events/fish.asm @@ -1,4 +1,4 @@ -Fish: ; 92402 +Fish: ; Using a fishing rod. ; Fish for monsters with rod e in encounter group d. ; Return monster e at level d. @@ -20,10 +20,9 @@ endr pop bc pop af ret -; 9241a -.Fish: ; 9241a +.Fish: ; Fish for monsters with rod b from encounter data in FishGroup at hl. ; Return monster e at level d. @@ -90,10 +89,9 @@ endr ld d, [hl] inc hl ret -; 9245b -GetFishGroupIndex: ; 9245b +GetFishGroupIndex: ; Return the index of fishgroup d in de. push hl @@ -127,7 +125,6 @@ GetFishGroupIndex: ; 9245b jr nz, .done ld d, FISHGROUP_REMORAID_SWARM jr .done -; 92488 INCLUDE "data/wild/fish.asm" diff --git a/engine/events/fishing_gfx.asm b/engine/events/fishing_gfx.asm index 3d3ab0ba0..25d1ee77a 100644 --- a/engine/events/fishing_gfx.asm +++ b/engine/events/fishing_gfx.asm @@ -1,4 +1,4 @@ -LoadFishingGFX: ; b84b3 +LoadFishingGFX: ld a, [rVBK] push af ld a, $1 @@ -23,9 +23,8 @@ LoadFishingGFX: ; b84b3 pop af ld [rVBK], a ret -; b84e3 -.LoadGFX: ; b84e3 +.LoadGFX: lb bc, BANK(FishingGFX), 2 push de call Get2bpp @@ -35,12 +34,9 @@ LoadFishingGFX: ; b84b3 ld d, h ld e, l ret -; b84f2 -FishingGFX: ; b84f2 +FishingGFX: INCBIN "gfx/overworld/chris_fish.2bpp" -; b8582 -KrisFishingGFX: ; b8582 +KrisFishingGFX: INCBIN "gfx/overworld/kris_fish.2bpp" -; b8612 diff --git a/engine/events/fruit_trees.asm b/engine/events/fruit_trees.asm index 47d7702b4..4e955147a 100644 --- a/engine/events/fruit_trees.asm +++ b/engine/events/fruit_trees.asm @@ -1,4 +1,4 @@ -FruitTreeScript:: ; 44000 +FruitTreeScript:: callasm GetCurTreeFruit opentext copybytetovar wCurFruit @@ -32,38 +32,33 @@ FruitTreeScript:: ; 44000 .end closetext end -; 44041 -GetCurTreeFruit: ; 44041 +GetCurTreeFruit: ld a, [wCurFruitTree] dec a call GetFruitTreeItem ld [wCurFruit], a ret -; 4404c -TryResetFruitTrees: ; 4404c +TryResetFruitTrees: ld hl, wDailyFlags bit DAILYFLAGS_ALL_FRUIT_TREES_F, [hl] ret nz jp ResetFruitTrees -; 44055 -CheckFruitTree: ; 44055 +CheckFruitTree: ld b, 2 call GetFruitTreeFlag ld a, c ld [wScriptVar], a ret -; 4405f -PickedFruitTree: ; 4405f +PickedFruitTree: farcall StubbedTrainerRankings_FruitPicked ld b, 1 jp GetFruitTreeFlag -; 4406a -ResetFruitTrees: ; 4406a +ResetFruitTrees: xor a ld hl, wFruitTreeFlags ld [hli], a @@ -73,9 +68,8 @@ ResetFruitTrees: ; 4406a ld hl, wDailyFlags set DAILYFLAGS_ALL_FRUIT_TREES_F, [hl] ret -; 44078 -GetFruitTreeFlag: ; 44078 +GetFruitTreeFlag: push hl push de ld a, [wCurFruitTree] @@ -87,9 +81,8 @@ GetFruitTreeFlag: ; 44078 pop de pop hl ret -; 4408a -GetFruitTreeItem: ; 4408a +GetFruitTreeItem: push hl push de ld e, a @@ -100,33 +93,27 @@ GetFruitTreeItem: ; 4408a pop de pop hl ret -; 44097 INCLUDE "data/items/fruit_trees.asm" -FruitBearingTreeText: ; 440b5 +FruitBearingTreeText: text_jump _FruitBearingTreeText db "@" -; 440ba -HeyItsFruitText: ; 440ba +HeyItsFruitText: text_jump _HeyItsFruitText db "@" -; 440bf -ObtainedFruitText: ; 440bf +ObtainedFruitText: text_jump _ObtainedFruitText db "@" -; 440c4 -FruitPackIsFullText: ; 440c4 +FruitPackIsFullText: text_jump _FruitPackIsFullText db "@" -; 440c9 -NothingHereText: ; 440c9 +NothingHereText: text_jump _NothingHereText db "@" -; 440ce diff --git a/engine/events/haircut.asm b/engine/events/haircut.asm index 0e4400235..d5b0afe8b 100644 --- a/engine/events/haircut.asm +++ b/engine/events/haircut.asm @@ -1,4 +1,4 @@ -BillsGrandfather: ; 73f7 +BillsGrandfather: farcall SelectMonFromParty jr c, .cancel ld a, [wCurPartySpecies] @@ -12,19 +12,19 @@ BillsGrandfather: ; 73f7 ld [wScriptVar], a ret -YoungerHaircutBrother: ; 7413 +YoungerHaircutBrother: ld hl, HappinessData_YoungerHaircutBrother jr HaircutOrGrooming -OlderHaircutBrother: ; 7418 +OlderHaircutBrother: ld hl, HappinessData_OlderHaircutBrother jr HaircutOrGrooming -DaisysGrooming: ; 741d +DaisysGrooming: ld hl, HappinessData_DaisysGrooming ; fallthrough -HaircutOrGrooming: ; 7420 +HaircutOrGrooming: push hl farcall SelectMonFromParty pop hl @@ -72,11 +72,11 @@ HaircutOrGrooming: ; 7420 INCLUDE "data/events/happiness_probabilities.asm" -CopyPokemonName_Buffer1_Buffer3: ; 746e +CopyPokemonName_Buffer1_Buffer3: ld hl, wStringBuffer1 ld de, wStringBuffer3 ld bc, MON_NAME_LENGTH jp CopyBytes -DummyPredef1: ; 747a +DummyPredef1: ret diff --git a/engine/events/halloffame.asm b/engine/events/halloffame.asm index b6b547aae..803fc8005 100644 --- a/engine/events/halloffame.asm +++ b/engine/events/halloffame.asm @@ -35,7 +35,7 @@ HallOfFame:: ; 0x8640e ret ; 0x86455 -RedCredits:: ; 86455 +RedCredits:: ld a, LOW(MUSIC_NONE) ld [wMusicFadeID], a ld a, HIGH(MUSIC_NONE) @@ -56,9 +56,8 @@ RedCredits:: ; 86455 ld b, a farcall Credits ret -; 8648e -HallOfFame_FadeOutMusic: ; 8648e +HallOfFame_FadeOutMusic: ld a, LOW(MUSIC_NONE) ld [wMusicFadeID], a ld a, HIGH(MUSIC_NONE) @@ -72,9 +71,8 @@ HallOfFame_FadeOutMusic: ; 8648e farcall InitDisplayForHallOfFame ld c, 100 jp DelayFrames -; 864b4 -HallOfFame_PlayMusicDE: ; 864b4 +HallOfFame_PlayMusicDE: push de ld de, MUSIC_NONE call PlayMusic @@ -82,9 +80,8 @@ HallOfFame_PlayMusicDE: ; 864b4 pop de call PlayMusic ret -; 864c3 -AnimateHallOfFame: ; 864c3 +AnimateHallOfFame: xor a ld [wJumptableIndex], a call LoadHOFTeam @@ -120,9 +117,8 @@ AnimateHallOfFame: ; 864c3 ld c, 8 call DelayFrames ret -; 8650c -.DisplayNewHallOfFamer: ; 8650c +.DisplayNewHallOfFamer: call DisplayHOFMon ld de, .String_NewHallOfFamer hlcoord 1, 2 @@ -135,14 +131,12 @@ AnimateHallOfFame: ; 864c3 call DelayFrames and a ret -; 8652c .String_NewHallOfFamer: db "New Hall of Famer!@" -; 8653f -GetHallOfFameParty: ; 8653f +GetHallOfFameParty: ld hl, wHallOfFamePokemonList ld bc, wHallOfFamePokemonListEnd - wHallOfFamePokemonList + 1 xor a @@ -227,9 +221,8 @@ GetHallOfFameParty: ; 8653f ld a, -1 ld [de], a ret -; 865b5 -AnimateHOFMonEntrance: ; 865b5 +AnimateHOFMonEntrance: push hl call ClearBGPalettes farcall ResetDisplayBetweenHallOfFameMons @@ -281,7 +274,6 @@ AnimateHOFMonEntrance: ; 865b5 ld [hSCY], a call HOF_SlideFrontpic ret -; 86635 HOF_SlideBackpic: .backpicloop @@ -292,7 +284,6 @@ HOF_SlideBackpic: ld [hSCX], a call DelayFrame jr .backpicloop -; 86643 HOF_SlideFrontpic: .frontpicloop @@ -304,9 +295,8 @@ HOF_SlideFrontpic: ld [hSCX], a call DelayFrame jr .frontpicloop -; 86650 -_HallOfFamePC: ; 86650 +_HallOfFamePC: call LoadFontsBattleExtra xor a ld [wJumptableIndex], a @@ -415,9 +405,8 @@ _HallOfFamePC: ; 86650 .TimeFamer: db " -Time Famer@" -; 8671c -LoadHOFTeam: ; 8671c +LoadHOFTeam: ld a, [wJumptableIndex] cp NUM_HOF_TEAMS jr nc, .invalid @@ -442,9 +431,8 @@ LoadHOFTeam: ; 8671c .invalid scf ret -; 86748 -DisplayHOFMon: ; 86748 +DisplayHOFMon: xor a ld [hBGMapMode], a ld a, [hli] @@ -529,9 +517,8 @@ DisplayHOFMon: ; 86748 lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum ret -; 86810 -HOF_AnimatePlayerPic: ; 86810 +HOF_AnimatePlayerPic: call ClearBGPalettes ld hl, vTiles2 tile HALLOFFAME_COLON ld de, FontExtra + 13 tiles ; "<COLON>" @@ -614,9 +601,7 @@ HOF_AnimatePlayerPic: ; 86810 call WaitBGMap farcall ProfOaksPCRating ret -; 868ed .PlayTime: db "PLAY TIME@" -; 868f7 diff --git a/engine/events/happiness_egg.asm b/engine/events/happiness_egg.asm index 998e7e07a..d261caa3c 100644 --- a/engine/events/happiness_egg.asm +++ b/engine/events/happiness_egg.asm @@ -1,4 +1,4 @@ -GetFirstPokemonHappiness: ; 718d +GetFirstPokemonHappiness: ld hl, wPartyMon1Happiness ld bc, PARTYMON_STRUCT_LENGTH ld de, wPartySpecies @@ -17,7 +17,7 @@ GetFirstPokemonHappiness: ; 718d call GetPokemonName jp CopyPokemonName_Buffer1_Buffer3 -CheckFirstMonIsEgg: ; 71ac +CheckFirstMonIsEgg: ld a, [wPartySpecies] ld [wd265], a cp EGG @@ -30,7 +30,7 @@ CheckFirstMonIsEgg: ; 71ac call GetPokemonName jp CopyPokemonName_Buffer1_Buffer3 -ChangeHappiness: ; 71c2 +ChangeHappiness: ; Perform happiness action c on wCurPartyMon ld a, [wCurPartyMon] @@ -106,7 +106,7 @@ ChangeHappiness: ; 71c2 INCLUDE "data/events/happiness_changes.asm" -StepHappiness:: ; 725a +StepHappiness:: ; Raise the party's happiness by 1 point every other step cycle. ld hl, wHappinessStepCount @@ -142,7 +142,7 @@ StepHappiness:: ; 725a ret -DayCareStep:: ; 7282 +DayCareStep:: ; Raise the experience of Day-Care Pokémon every step cycle. ld a, [wDayCareMan] diff --git a/engine/events/heal_machine_anim.asm b/engine/events/heal_machine_anim.asm index 955449280..559886289 100644 --- a/engine/events/heal_machine_anim.asm +++ b/engine/events/heal_machine_anim.asm @@ -7,7 +7,7 @@ const HEALMACHINESTATE_HOFPLAYSFX const HEALMACHINESTATE_FINISH -HealMachineAnim: ; 12324 +HealMachineAnim: ; If you have no Pokemon, don't change the buffer. This can lead to some glitchy effects if you have no Pokemon. ld a, [wPartyCount] and a @@ -24,9 +24,8 @@ HealMachineAnim: ; 12324 ld a, [wBuffer2] call DmgToCgbObjPal1 ret -; 1233e -.DoJumptableFunctions: ; 1233e +.DoJumptableFunctions: xor a ld [wBuffer3], a .jumpable_loop @@ -53,14 +52,12 @@ HealMachineAnim: ; 12324 .finish ret -; 12365 -.Pointers: ; 12365 +.Pointers: ; entries correspond to HEALMACHINE_* constants dw .Pokecenter dw .ElmLab dw .HallOfFame -; 1236b healmachineanimseq: MACRO rept _NARG @@ -69,15 +66,14 @@ rept _NARG endr ENDM -.Pokecenter: ; 1236b +.Pokecenter: healmachineanimseq LOADGFX, PCLOADBALLS, PLAYMUSIC, FINISH -.ElmLab: ; 1236f +.ElmLab: healmachineanimseq LOADGFX, PCLOADBALLS, PLAYMUSIC, FINISH -.HallOfFame: ; 12373 +.HallOfFame: healmachineanimseq LOADGFX, HOFLOADBALLS, HOFPLAYSFX, FINISH -; 12377 -.Jumptable: ; 12377 +.Jumptable: ; entries correspond to HEALMACHINESTATE_* constants dw .LoadGFX dw .PC_LoadBallsOntoMachine @@ -85,29 +81,27 @@ ENDM dw .PlayHealMusic dw .HOF_PlaySFX dw .dummy_5 ; never encountered -; 12383 -.LoadGFX: ; 12383 +.LoadGFX: call .LoadPalettes ld de, .HealMachineGFX ld hl, vTiles0 tile $7c lb bc, BANK(.HealMachineGFX), 2 call Request2bpp ret -; 12393 -.PC_LoadBallsOntoMachine: ; 12393 +.PC_LoadBallsOntoMachine: ld hl, wVirtualOAMSprite32 ld de, .PC_ElmsLab_OAM call .PlaceHealingMachineTile call .PlaceHealingMachineTile jr .LoadBallsOntoMachine -.HOF_LoadBallsOntoMachine: ; 123a1 +.HOF_LoadBallsOntoMachine: ld hl, wVirtualOAMSprite32 ld de, .HOF_OAM -.LoadBallsOntoMachine: ; 123a7 +.LoadBallsOntoMachine: ld a, [wPartyCount] ld b, a .party_loop @@ -121,15 +115,13 @@ ENDM dec b jr nz, .party_loop ret -; 123bf -.PlayHealMusic: ; 123bf +.PlayHealMusic: ld de, MUSIC_HEAL call PlayMusic jp .FlashPalettes8Times -; 123c8 -.HOF_PlaySFX: ; 123c8 +.HOF_PlaySFX: ld de, SFX_GAME_FREAK_LOGO_GS call PlaySFX call .FlashPalettes8Times @@ -137,13 +129,11 @@ ENDM ld de, SFX_BOOT_PC call PlaySFX ret -; 123db -.dummy_5 ; 123db +.dummy_5 ret -; 123dc -.PC_ElmsLab_OAM: ; 123dc +.PC_ElmsLab_OAM: dsprite 4, 0, 4, 2, $7c, PAL_OW_TREE | OBP_NUM dsprite 4, 0, 4, 6, $7c, PAL_OW_TREE | OBP_NUM dsprite 4, 6, 4, 0, $7d, PAL_OW_TREE | OBP_NUM @@ -152,22 +142,19 @@ ENDM dsprite 5, 3, 5, 0, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP dsprite 6, 0, 4, 0, $7d, PAL_OW_TREE | OBP_NUM dsprite 6, 0, 5, 0, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP -; 123fc -.HealMachineGFX: ; 123fc +.HealMachineGFX: INCBIN "gfx/overworld/heal_machine.2bpp" -; 1241c -.HOF_OAM: ; 1241c +.HOF_OAM: dsprite 7, 4, 10, 1, $7d, PAL_OW_TREE | OBP_NUM dsprite 7, 4, 10, 6, $7d, PAL_OW_TREE | OBP_NUM dsprite 7, 3, 9, 5, $7d, PAL_OW_TREE | OBP_NUM dsprite 7, 3, 11, 2, $7d, PAL_OW_TREE | OBP_NUM dsprite 7, 1, 9, 1, $7d, PAL_OW_TREE | OBP_NUM dsprite 7, 1, 11, 5, $7d, PAL_OW_TREE | OBP_NUM -; 12434 -.LoadPalettes: ; 12434 +.LoadPalettes: call IsCGB jr nz, .cgb ld a, %11100000 @@ -183,13 +170,11 @@ INCBIN "gfx/overworld/heal_machine.2bpp" ld a, $1 ld [hCGBPalUpdate], a ret -; 12451 -.palettes ; 12451 +.palettes INCLUDE "gfx/overworld/heal_machine.pal" -; 12459 -.FlashPalettes8Times: ; 12459 +.FlashPalettes8Times: ld c, 8 .palette_loop push bc @@ -200,9 +185,8 @@ INCLUDE "gfx/overworld/heal_machine.pal" dec c jr nz, .palette_loop ret -; 12469 -.FlashPalettes: ; 12469 +.FlashPalettes: call IsCGB jr nz, .go ld a, [rOBP1] @@ -250,9 +234,8 @@ INCLUDE "gfx/overworld/heal_machine.pal" ld a, $1 ld [hCGBPalUpdate], a ret -; 124a3 -.PlaceHealingMachineTile: ; 124a3 +.PlaceHealingMachineTile: push bc ld a, [wBuffer1] bcpixel 2, 4 @@ -277,4 +260,3 @@ INCLUDE "gfx/overworld/heal_machine.pal" ld [hli], a ; attributes pop bc ret -; 124c1 diff --git a/engine/events/itemfinder.asm b/engine/events/itemfinder.asm index 71aaa5b69..9727cdac9 100644 --- a/engine/events/itemfinder.asm +++ b/engine/events/itemfinder.asm @@ -1,4 +1,4 @@ -ItemFinder: ; 12580 +ItemFinder: farcall CheckForHiddenItems jr c, .found_something ld hl, .Script_FoundNothing @@ -12,9 +12,8 @@ ItemFinder: ; 12580 ld a, $1 ld [wItemEffectSucceeded], a ret -; 12599 -.ItemfinderSound: ; 12599 +.ItemfinderSound: ld c, 4 .sfx_loop push bc @@ -26,7 +25,6 @@ ItemFinder: ; 12580 dec c jr nz, .sfx_loop ret -; 125ad .Script_FoundSomething: ; 0x125ad reloadmappart diff --git a/engine/events/kurt.asm b/engine/events/kurt.asm index 8fe78f5b6..a40702f9e 100644 --- a/engine/events/kurt.asm +++ b/engine/events/kurt.asm @@ -1,8 +1,7 @@ -Kurt_PrintTextWhichApricorn: ; 88000 +Kurt_PrintTextWhichApricorn: ld hl, .Text call PrintText ret -; 88007 .Text: ; 0x88007 ; Which APRICORN should I use? @@ -10,11 +9,10 @@ Kurt_PrintTextWhichApricorn: ; 88000 db "@" ; 0x8800c -Kurt_PrintTextHowMany: ; 8800c +Kurt_PrintTextHowMany: ld hl, .Text call PrintText ret -; 88013 .Text: ; 0x88013 ; How many should I make? @@ -22,7 +20,7 @@ Kurt_PrintTextHowMany: ; 8800c db "@" ; 0x88018 -SelectApricornForKurt: ; 88018 +SelectApricornForKurt: call LoadStandardMenuHeader ld c, $1 xor a @@ -54,9 +52,8 @@ SelectApricornForKurt: ; 88018 .done call Call_ExitMenu ret -; 88055 -Kurt_SelectApricorn: ; 88055 +Kurt_SelectApricorn: farcall FindApricornsInBag jr c, .nope ld hl, .MenuHeader @@ -81,7 +78,6 @@ Kurt_SelectApricorn: ; 88055 .done ld c, a ret -; 88086 .MenuHeader: ; 0x88086 db MENU_BACKUP_TILES ; flags @@ -101,15 +97,14 @@ Kurt_SelectApricorn: ; 88055 dba .Quantity dba NULL -.Name: ; 8809f +.Name: ld a, [wMenuSelection] and a ret z farcall PlaceMenuItemName ret -; 880ab -.Quantity: ; 880ab +.Quantity: ld a, [wMenuSelection] ld [wCurItem], a call Kurt_GetQuantityOfApricorn @@ -118,9 +113,8 @@ Kurt_SelectApricorn: ; 88055 ld [wMenuSelectionQuantity], a farcall PlaceMenuItemQuantity ret -; 880c2 -Kurt_SelectQuantity: ; 880c2 +Kurt_SelectQuantity: ld a, [wCurItem] ld [wMenuSelection], a call Kurt_GetQuantityOfApricorn @@ -155,7 +149,6 @@ Kurt_SelectQuantity: ; 880c2 .done call CloseWindow ret -; 8810d .MenuHeader: ; 0x8810d db MENU_BACKUP_TILES ; flags @@ -164,7 +157,7 @@ Kurt_SelectQuantity: ; 880c2 db -1 ; default option db 0 -.PlaceApricornName: ; 88116 +.PlaceApricornName: call MenuBoxCoord2Tile ld de, SCREEN_WIDTH + 1 add hl, de @@ -172,9 +165,8 @@ Kurt_SelectQuantity: ; 880c2 ld e, l farcall PlaceMenuItemName ret -; 88126 -PlaceApricornQuantity: ; 88126 +PlaceApricornQuantity: call MenuBoxCoord2Tile ld de, 2 * SCREEN_WIDTH + 10 add hl, de @@ -183,9 +175,8 @@ PlaceApricornQuantity: ; 88126 ld de, wItemQuantityChangeBuffer lb bc, PRINTNUM_LEADINGZEROS | 1, 2 jp PrintNum -; 88139 -Kurt_GetQuantityOfApricorn: ; 88139 +Kurt_GetQuantityOfApricorn: push bc ld hl, wNumItems ld a, [wCurItem] @@ -216,9 +207,8 @@ Kurt_GetQuantityOfApricorn: ; 88139 and a pop bc ret -; 88161 -Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161 +Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; Get the quantity of Apricorns of type [wCurItem] ; in the bag. Compatible with multiple stacks. @@ -352,9 +342,8 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161 pop bc pop de ret -; 88201 -Kurt_GetAddressOfApricornQuantity: ; 88201 +Kurt_GetAddressOfApricornQuantity: push hl push bc ld hl, wNumItems @@ -368,9 +357,8 @@ Kurt_GetAddressOfApricornQuantity: ; 88201 pop bc pop hl ret -; 88211 -Kurt_GetRidOfItem: ; 88211 +Kurt_GetRidOfItem: push bc ld hl, wNumItems ld a, [wCurItemQuantity] @@ -409,4 +397,3 @@ Kurt_GetRidOfItem: ; 88211 ld [wItemQuantityChangeBuffer], a pop bc ret -; 88248 diff --git a/engine/events/kurt_selectquantity_interpretjoypad.asm b/engine/events/kurt_selectquantity_interpretjoypad.asm index 12a43e325..44b71a113 100644 --- a/engine/events/kurt_selectquantity_interpretjoypad.asm +++ b/engine/events/kurt_selectquantity_interpretjoypad.asm @@ -1,4 +1,4 @@ -Kurt_SelectQuantity_InterpretJoypad: ; 27a28 +Kurt_SelectQuantity_InterpretJoypad: call BuySellToss_InterpretJoypad ld b, a ret diff --git a/engine/events/lucky_number.asm b/engine/events/lucky_number.asm index f482ce9d6..2dff44fcf 100644 --- a/engine/events/lucky_number.asm +++ b/engine/events/lucky_number.asm @@ -1,4 +1,4 @@ -CheckForLuckyNumberWinners: ; 4d87a +CheckForLuckyNumberWinners: xor a ld [wScriptVar], a ld [wFoundMatchingIDInParty], a @@ -118,7 +118,7 @@ CheckForLuckyNumberWinners: ; 4d87a .print jp PrintText -.CompareLuckyNumberToMonID: ; 4d939 +.CompareLuckyNumberToMonID: push bc push de push hl @@ -190,7 +190,7 @@ CheckForLuckyNumberWinners: ; 4d87a and a ret -.BoxBankAddresses: ; 4d99f +.BoxBankAddresses: dba sBox1 dba sBox2 dba sBox3 @@ -216,7 +216,7 @@ CheckForLuckyNumberWinners: ; 4d87a text_jump UnknownText_0x1c12ae db "@" -PrintTodaysLuckyNumber: ; 4d9d3 +PrintTodaysLuckyNumber: ld hl, wStringBuffer3 ld de, wLuckyIDNumber lb bc, PRINTNUM_LEADINGZEROS | 2, 5 diff --git a/engine/events/magikarp.asm b/engine/events/magikarp.asm index f5180a8e5..06f077b62 100644 --- a/engine/events/magikarp.asm +++ b/engine/events/magikarp.asm @@ -1,4 +1,4 @@ -CheckMagikarpLength: ; fbb32 +CheckMagikarpLength: ; Returns 3 if you select a Magikarp that beats the previous record. ; Returns 2 if you select a Magikarp, but the current record is longer. ; Returns 1 if you press B in the Pokemon selection menu. @@ -70,7 +70,6 @@ CheckMagikarpLength: ; fbb32 xor a ; MAGIKARPLENGTH_NOT_MAGIKARP ld [wScriptVar], a ret -; fbba9 .MeasureItText: ; 0xfbba9 ; Let me measure that MAGIKARP. …Hm, it measures @ . @@ -78,19 +77,17 @@ CheckMagikarpLength: ; fbb32 db "@" ; 0xfbbae -Magikarp_LoadFeetInchesChars: ; fbbae +Magikarp_LoadFeetInchesChars: ld hl, vTiles2 tile "′" ; $6e ld de, .feetinchchars lb bc, BANK(.feetinchchars), 2 call Request2bpp ret -; fbbbb -.feetinchchars ; fbbb +.feetinchchars INCBIN "gfx/font/feet_inches.2bpp" -; fbbdb -PrintMagikarpLength: ; fbbdb +PrintMagikarpLength: call Magikarp_LoadFeetInchesChars ld hl, wStringBuffer1 ld de, wMagikarpLength @@ -105,9 +102,8 @@ PrintMagikarpLength: ; fbbdb inc hl ld [hl], "@" ret -; fbbfc -CalcMagikarpLength: ; fbbfc +CalcMagikarpLength: ; Return Magikarp's length (in feet and inches) at wMagikarpLength (big endian). ; ; input: @@ -283,9 +279,8 @@ CalcMagikarpLength: ; fbbfc inc hl ld [hl], e ; in ret -; fbc9a -.BCLessThanDE: ; fbc9a +.BCLessThanDE: ; Intention: Return bc < de. ; Reality: Return b < d. ld a, b @@ -295,9 +290,8 @@ CalcMagikarpLength: ; fbbfc ld a, c cp e ret -; fbca1 -.BCMinusDE: ; fbca1 +.BCMinusDE: ; bc -= de ld a, c sub e @@ -306,13 +300,12 @@ CalcMagikarpLength: ; fbbfc sbc d ld b, a ret -; fbca8 INCLUDE "data/events/magikarp_lengths.asm" -MagikarpHouseSign: ; fbcd2 +MagikarpHouseSign: ld a, [wBestMagikarpLengthFeet] ld [wMagikarpLength], a ld a, [wBestMagikarpLengthInches] @@ -321,7 +314,6 @@ MagikarpHouseSign: ; fbcd2 ld hl, .CurrentRecordtext call PrintText ret -; fbce8 .CurrentRecordtext: ; 0xfbce8 ; "CURRENT RECORD" diff --git a/engine/events/magnet_train.asm b/engine/events/magnet_train.asm index 6f2aa2d1f..010983627 100644 --- a/engine/events/magnet_train.asm +++ b/engine/events/magnet_train.asm @@ -1,4 +1,4 @@ -MagnetTrain: ; 8cc04 +MagnetTrain: ld a, [wScriptVar] and a jr nz, .ToGoldenrod @@ -81,9 +81,8 @@ MagnetTrain: ; 8cc04 pop af ld [rSVBK], a ret -; 8cc99 -MagnetTrain_UpdateLYOverrides: ; 8cc99 +MagnetTrain_UpdateLYOverrides: ld hl, wLYOverridesBackup ld c, $2f ld a, [wMagnetTrainOffset] @@ -111,9 +110,8 @@ MagnetTrain_UpdateLYOverrides: ; 8cc99 dec c jr nz, .loadloop ret -; 8ccc9 -MagntTrain_LoadGFX_PlayMusic: ; 8ccc9 +MagntTrain_LoadGFX_PlayMusic: call ClearBGPalettes call ClearSprites call DisableLCD @@ -155,9 +153,8 @@ MagntTrain_LoadGFX_PlayMusic: ; 8ccc9 ld de, MUSIC_MAGNET_TRAIN call PlayMusic2 ret -; 8cd27 -DrawMagnetTrain: ; 8cd27 +DrawMagnetTrain: hlbgcoord 0, 0 xor a .loop @@ -184,18 +181,16 @@ DrawMagnetTrain: ; 8cd27 ld c, 20 call .FillLine ret -; 8cd65 -.FillLine: ; 8cd65 +.FillLine: ld a, [de] inc de ld [hli], a dec c jr nz, .FillLine ret -; 8cd6c -.FillAlt: ; 8cd6c +.FillAlt: ld [hl], e inc hl ld [hl], d @@ -203,9 +198,8 @@ DrawMagnetTrain: ; 8cd27 dec b jr nz, .FillAlt ret -; 8cd74 -GetMagnetTrainBGTiles: ; 8cd74 +GetMagnetTrainBGTiles: push hl ld e, a ld d, 0 @@ -217,9 +211,8 @@ GetMagnetTrainBGTiles: ; 8cd74 ld d, [hl] pop hl ret -; 8cd82 -MagnetTrainBGTiles: ; 8cd82 +MagnetTrainBGTiles: ; Alternating tiles for each line of the Magnet Train tilemap. db $4c, $4d ; bush db $5c, $5d ; bush @@ -239,9 +232,8 @@ MagnetTrainBGTiles: ; 8cd82 db $5c, $5d ; bush db $4c, $4d ; bush db $5c, $5d ; bush -; 8cda6 -MagnetTrain_InitLYOverrides: ; 8cda6 +MagnetTrain_InitLYOverrides: ld hl, wLYOverrides ld bc, wLYOverridesEnd - wLYOverrides ld a, [wMagnetTrainInitPosition] @@ -253,9 +245,8 @@ MagnetTrain_InitLYOverrides: ; 8cda6 ld a, rSCX - $ff00 ld [hLCDCPointer], a ret -; 8cdc3 -SetMagnetTrainPals: ; 8cdc3 +SetMagnetTrainPals: ld a, $1 ld [rVBK], a @@ -286,9 +277,8 @@ SetMagnetTrainPals: ; 8cdc3 ld a, $0 ld [rVBK], a ret -; 8cdf7 -MagnetTrain_Jumptable: ; 8cdf7 +MagnetTrain_Jumptable: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -299,9 +289,8 @@ MagnetTrain_Jumptable: ; 8cdf7 ld h, [hl] ld l, a jp hl -; 8ce06 -.Jumptable: ; 8ce06 +.Jumptable: dw .InitPlayerSpriteAnim dw .WaitScene dw .MoveTrain1 @@ -309,15 +298,13 @@ MagnetTrain_Jumptable: ; 8cdf7 dw .MoveTrain2 dw .WaitScene dw .TrainArrived -; 8ce14 -.Next: ; 8ce14 +.Next: ld hl, wJumptableIndex inc [hl] ret -; 8ce19 -.InitPlayerSpriteAnim: ; 8ce19 +.InitPlayerSpriteAnim: ld d, 10 * 8 + 5 ld a, [wMagnetTrainPlayerSpriteInitX] ld e, a @@ -343,9 +330,8 @@ MagnetTrain_Jumptable: ; 8cdf7 ld a, $80 ld [wMagnetTrainWaitCounter], a ret -; 8ce47 -.MoveTrain1: ; 8ce47 +.MoveTrain1: ld hl, wMagnetTrainHoldPosition ld a, [wMagnetTrainPosition] cp [hl] @@ -367,9 +353,8 @@ MagnetTrain_Jumptable: ; 8cdf7 ld a, $80 ld [wMagnetTrainWaitCounter], a ret -; 8ce6d -.WaitScene: ; 8ce6d +.WaitScene: ld hl, wMagnetTrainWaitCounter ld a, [hl] and a @@ -380,9 +365,8 @@ MagnetTrain_Jumptable: ; 8cdf7 .DoneWaiting: call .Next ret -; 8ce7a -.MoveTrain2: ; 8ce7a +.MoveTrain2: ld hl, wMagnetTrainFinalPosition ld a, [wMagnetTrainPosition] cp [hl] @@ -410,17 +394,15 @@ MagnetTrain_Jumptable: ; 8cdf7 .PrepareToFinishAnim: call .Next ret -; 8cea2 -.TrainArrived: ; 8cea2 +.TrainArrived: ld a, $80 ld [wJumptableIndex], a ld de, SFX_TRAIN_ARRIVED call PlaySFX ret -; 8ceae -MagnetTrain_Jumptable_FirstRunThrough: ; 8ceae +MagnetTrain_Jumptable_FirstRunThrough: farcall PlaySpriteAnimations call MagnetTrain_Jumptable call MagnetTrain_UpdateLYOverrides @@ -455,7 +437,6 @@ MagnetTrain_Jumptable_FirstRunThrough: ; 8ceae pop af ld [rSVBK], a ret -; 8ceff MagnetTrainTilemap1: db $1f, $05, $06, $0a, $0a, $0a, $09, $0a, $0a, $0a, $0a, $0a, $0a, $09, $0a, $0a, $0a, $0b, $0c, $1f @@ -465,4 +446,3 @@ MagnetTrainTilemap3: db $24, $25, $26, $27, $07, $2f, $29, $28, $28, $28, $28, $28, $28, $29, $07, $2f, $2a, $2b, $2c, $2d MagnetTrainTilemap4: db $20, $1f, $2e, $1f, $17, $00, $2e, $1f, $1f, $1f, $1f, $1f, $1f, $2e, $17, $00, $1f, $2e, $1f, $0f -; 8cf4f diff --git a/engine/events/map_name_sign.asm b/engine/events/map_name_sign.asm index 385ddf802..1d8736e54 100644 --- a/engine/events/map_name_sign.asm +++ b/engine/events/map_name_sign.asm @@ -1,14 +1,13 @@ MAP_NAME_SIGN_START EQU $60 -ReturnFromMapSetupScript:: ; b8000 +ReturnFromMapSetupScript:: xor a ld [hBGMapMode], a farcall .inefficient_farcall ; this is a waste of 6 ROM bytes and 6 stack bytes ret -; b800a ; should have just been a fallthrough -.inefficient_farcall ; b800a +.inefficient_farcall ld a, [wMapGroup] ld b, a ld a, [wMapNumber] @@ -57,9 +56,8 @@ ReturnFromMapSetupScript:: ; b8000 xor a ld [hLCDCPointer], a ret -; b8064 -.CheckMovingWithinLandmark: ; b8064 +.CheckMovingWithinLandmark: ld a, [wCurrentLandmark] ld c, a ld a, [wPreviousLandmark] @@ -67,9 +65,8 @@ ReturnFromMapSetupScript:: ; b8000 ret z cp SPECIAL_MAP ret -; b8070 -.CheckSpecialMap: ; b8070 +.CheckSpecialMap: ; These landmarks do not get pop-up signs. cp -1 ret z @@ -88,9 +85,8 @@ ReturnFromMapSetupScript:: ; b8000 ld a, 1 and a ret -; b8089 -.CheckNationalParkGate: ; b8089 +.CheckNationalParkGate: ld a, [wMapGroup] cp GROUP_ROUTE_35_NATIONAL_PARK_GATE ret nz @@ -99,10 +95,9 @@ ReturnFromMapSetupScript:: ; b8000 ret z cp MAP_ROUTE_36_NATIONAL_PARK_GATE ret -; b8098 -PlaceMapNameSign:: ; b8098 (2e:4098) +PlaceMapNameSign:: ld hl, wLandmarkSignTimer ld a, [hl] and a @@ -131,25 +126,23 @@ PlaceMapNameSign:: ; b8098 (2e:4098) ret -LoadMapNameSignGFX: ; b80c6 +LoadMapNameSignGFX: ld de, MapEntryFrameGFX ld hl, vTiles2 tile MAP_NAME_SIGN_START lb bc, BANK(MapEntryFrameGFX), 14 call Get2bpp ret -; b80d3 -InitMapNameFrame: ; b80d3 +InitMapNameFrame: hlcoord 0, 0 ld b, 2 ld c, 18 call InitMapSignAttrMap call PlaceMapNameFrame ret -; b80e1 -PlaceMapNameCenterAlign: ; b80e1 (2e:40e1) +PlaceMapNameCenterAlign: ld a, [wCurrentLandmark] ld e, a farcall GetLandmarkName @@ -165,7 +158,7 @@ PlaceMapNameCenterAlign: ; b80e1 (2e:40e1) call PlaceString ret -.GetNameLength: ; b8101 (2e:4101) +.GetNameLength: ld c, 0 push hl ld hl, wStringBuffer1 @@ -182,7 +175,7 @@ PlaceMapNameCenterAlign: ; b80e1 (2e:40e1) ret -InitMapSignAttrMap: ; b8115 +InitMapSignAttrMap: ld de, wAttrMap - wTileMap add hl, de inc b @@ -204,9 +197,8 @@ InitMapSignAttrMap: ; b8115 dec b jr nz, .loop ret -; b812f -PlaceMapNameFrame: ; b812f +PlaceMapNameFrame: hlcoord 0, 0 ; top left ld a, MAP_NAME_SIGN_START + 1 @@ -243,9 +235,8 @@ PlaceMapNameFrame: ; b812f ld a, MAP_NAME_SIGN_START + 10 ld [hl], a ret -; b815b -.FillMiddle: ; b815b +.FillMiddle: ld c, SCREEN_WIDTH - 2 ld a, MAP_NAME_SIGN_START + 13 .loop @@ -253,9 +244,8 @@ PlaceMapNameFrame: ; b812f dec c jr nz, .loop ret -; b8164 -.FillTopBottom: ; b8164 +.FillTopBottom: ld c, 5 jr .enterloop @@ -271,4 +261,3 @@ PlaceMapNameFrame: ; b812f dec c jr nz, .continueloop ret -; b8172 diff --git a/engine/events/misc_scripts.asm b/engine/events/misc_scripts.asm index b79889f72..5e78f079e 100644 --- a/engine/events/misc_scripts.asm +++ b/engine/events/misc_scripts.asm @@ -41,7 +41,7 @@ FindItemInBallScript:: ; 0x122ce db "@" ; 0x122f8 -.TryReceiveItem: ; 122f8 +.TryReceiveItem: xor a ld [wScriptVar], a ld a, [wEngineBuffer1] @@ -59,4 +59,3 @@ FindItemInBallScript:: ; 0x122ce ld a, $1 ld [wScriptVar], a ret -; 12324 diff --git a/engine/events/misc_scripts_2.asm b/engine/events/misc_scripts_2.asm index dd705b547..e02476816 100644 --- a/engine/events/misc_scripts_2.asm +++ b/engine/events/misc_scripts_2.asm @@ -27,7 +27,7 @@ HiddenItemScript:: ; 0x13625 writetext .no_room_text waitbutton -.finish ; 13643 +.finish closetext end @@ -41,7 +41,7 @@ HiddenItemScript:: ; 0x13625 text_jump UnknownText_0x1bd331 db "@" -SetMemEvent: ; 1364f +SetMemEvent: ld hl, wEngineBuffer1 ld a, [hli] ld d, [hl] diff --git a/engine/events/mom.asm b/engine/events/mom.asm index 1a00b723a..0648ae542 100644 --- a/engine/events/mom.asm +++ b/engine/events/mom.asm @@ -1,4 +1,4 @@ -BankOfMom: ; 16218 +BankOfMom: ld a, [hInMenu] push af ld a, $1 @@ -16,9 +16,8 @@ BankOfMom: ; 16218 pop af ld [hInMenu], a ret -; 16233 -.RunJumptable: ; 16233 +.RunJumptable: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -29,9 +28,8 @@ BankOfMom: ; 16218 ld h, [hl] ld l, a jp hl -; 16242 -.dw ; 16242 +.dw dw .CheckIfBankInitialized dw .InitializeBank @@ -42,9 +40,8 @@ BankOfMom: ; 16218 dw .StopOrStartSavingMoney dw .AskDST dw .JustDoWhatYouCan -; 16254 -.CheckIfBankInitialized: ; 16254 +.CheckIfBankInitialized: ld a, [wMomSavingMoney] bit MOM_ACTIVE_F, a jr nz, .savingmoneyalready @@ -59,9 +56,8 @@ BankOfMom: ; 16218 .done_0 ld [wJumptableIndex], a ret -; 1626a -.InitializeBank: ; 1626a +.InitializeBank: ld hl, UnknownText_0x16649 call PrintText call YesNoBox @@ -81,9 +77,8 @@ BankOfMom: ; 16218 ld a, $8 ld [wJumptableIndex], a ret -; 16290 -.IsThisAboutYourMoney: ; 16290 +.IsThisAboutYourMoney: ld hl, UnknownText_0x16658 call PrintText call YesNoBox @@ -98,9 +93,8 @@ BankOfMom: ; 16218 .done_2 ld [wJumptableIndex], a ret -; 162a8 -.AccessBankOfMom: ; 162a8 +.AccessBankOfMom: ld hl, UnknownText_0x1665d call PrintText call LoadStandardMenuHeader @@ -135,9 +129,8 @@ BankOfMom: ; 16218 .done_3 ld [wJumptableIndex], a ret -; 162e0 -.StoreMoney: ; 162e0 +.StoreMoney: ld hl, UnknownText_0x16662 call PrintText xor a @@ -202,9 +195,8 @@ BankOfMom: ; 16218 .done_4 ld [wJumptableIndex], a ret -; 16373 -.TakeMoney: ; 16373 +.TakeMoney: ld hl, UnknownText_0x16667 call PrintText xor a @@ -269,9 +261,8 @@ BankOfMom: ; 16218 .done_5 ld [wJumptableIndex], a ret -; 16406 -.StopOrStartSavingMoney: ; 16406 +.StopOrStartSavingMoney: ld hl, UnknownText_0x1666c call PrintText call YesNoBox @@ -290,19 +281,17 @@ BankOfMom: ; 16218 ld a, $7 ld [wJumptableIndex], a ret -; 1642d -.AskDST: ; 1642d +.AskDST: ld hl, UnknownText_0x16694 call PrintText -.JustDoWhatYouCan: ; 16433 +.JustDoWhatYouCan: ld hl, wJumptableIndex set 7, [hl] ret -; 16439 -DSTChecks: ; 16439 +DSTChecks: ; check the time; avoid changing DST if doing so would change the current day ld a, [wDST] bit 7, a @@ -364,9 +353,8 @@ DSTChecks: ; 16439 ld hl, .Text_SetClockForward call PlaceHLTextAtBC ret -; 164b9 -.SetClockForward: ; 164b9 +.SetClockForward: ld a, [wStartHour] add 1 sub 24 @@ -379,9 +367,8 @@ DSTChecks: ; 16439 adc 0 ld [wStartDay], a ret -; 164d1 -.SetClockBack: ; 164d1 +.SetClockBack: ld a, [wStartHour] sub 1 jr nc, .DontLoopHourBack @@ -395,14 +382,12 @@ DSTChecks: ; 16439 .DontLoopDayBack: ld [wStartDay], a ret -; 164ea -.ClearBox: ; 164ea +.ClearBox: hlcoord 1, 14 lb bc, 3, 18 call ClearBox ret -; 164f4 .Text_AdjustClock: ; 0x164f4 ; Do you want to adjust your clock for Daylight Saving Time? @@ -441,13 +426,13 @@ DSTChecks: ; 16439 db "@" ; 0x16512 -Mom_SetUpWithdrawMenu: ; 16512 +Mom_SetUpWithdrawMenu: ld de, Mon_WithdrawString jr Mom_ContinueMenuSetup -Mom_SetUpDepositMenu: ; 16517 +Mom_SetUpDepositMenu: ld de, Mom_DepositString -Mom_ContinueMenuSetup: ; 1651a +Mom_ContinueMenuSetup: push de xor a ld [hBGMapMode], a @@ -478,15 +463,13 @@ Mom_ContinueMenuSetup: ; 1651a call UpdateSprites call CGBOnly_CopyTilemapAtOnce ret -; 1656b -Mom_Wait10Frames: ; 1656b +Mom_Wait10Frames: ld c, 10 call DelayFrames ret -; 16571 -Mom_WithdrawDepositMenuJoypad: ; 16571 +Mom_WithdrawDepositMenuJoypad: .loop call JoyTextDelay ld hl, hJoyPressed @@ -590,9 +573,8 @@ Mom_WithdrawDepositMenuJoypad: ; 16571 add hl, de pop de ret -; 16613 -.DigitQuantities: ; 16613 +.DigitQuantities: dt 100000 dt 10000 dt 1000 @@ -613,7 +595,6 @@ Mom_WithdrawDepositMenuJoypad: ; 16571 dt 900 dt 90 dt 9 -; 16649 UnknownText_0x16649: ; 0x16649 ; Wow, that's a cute #MON. Where did you get it? … So, you're leaving on an adventure… OK! I'll help too. But what can I do for you? I know! I'll save money for you. On a long journey, money's important. Do you want me to save your money? @@ -711,21 +692,17 @@ UnknownText_0x16694: ; 0x16694 db "@" ; 0x16699 -Mom_SavedString: ; 16699 +Mom_SavedString: db "SAVED@" -; 1669f -Mon_WithdrawString: ; 1669f +Mon_WithdrawString: db "WITHDRAW@" -; 166a8 -Mom_DepositString: ; 166a8 +Mom_DepositString: db "DEPOSIT@" -; 166b0 -Mom_HeldString: ; 166b0 +Mom_HeldString: db "HELD@" -; 166b5 MenuHeader_0x166b5: ; 0x166b5 db MENU_BACKUP_TILES ; flags diff --git a/engine/events/mom_phone.asm b/engine/events/mom_phone.asm index de19a3674..d82690940 100644 --- a/engine/events/mom_phone.asm +++ b/engine/events/mom_phone.asm @@ -5,7 +5,7 @@ const_value = 1 const MOM_ITEM const MOM_DOLL -MomTriesToBuySomething:: ; fcfec +MomTriesToBuySomething:: ld a, [wMapReentryScriptQueueFlag] and a ret nz @@ -23,14 +23,13 @@ MomTriesToBuySomething:: ; fcfec farcall LoadScriptBDE scf ret -; fd00f .Script: ; 0xfd00f callasm .ASMFunction farjump Script_ReceivePhoneCall ; 0xfd017 -.ASMFunction: ; fd017 +.ASMFunction: call MomBuysItem_DeductFunds call Mom_GetScriptPointer ld a, [wWhichMomItemSet] @@ -56,9 +55,8 @@ MomTriesToBuySomething:: ; fcfec ld a, d ld [hl], a ret -; fd044 -CheckBalance_MomItem2: ; fd044 +CheckBalance_MomItem2: ld a, [wWhichMomItem] cp NUM_MOM_ITEMS_2 jr nc, .nope @@ -115,10 +113,9 @@ CheckBalance_MomItem2: ; fd044 ld bc, hMoneyTemp farcall AddMoney ret -; fd0a6 -MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6) +MomBuysItem_DeductFunds: call GetItemFromMom ld de, 3 ; cost add hl, de @@ -134,7 +131,7 @@ MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6) ret -Mom_GiveItemOrDoll: ; fd0c3 +Mom_GiveItemOrDoll: call GetItemFromMom ld de, 6 ; item type add hl, de @@ -156,10 +153,9 @@ Mom_GiveItemOrDoll: ; fd0c3 ld hl, wPCItems call ReceiveItem ret -; fd0eb -Mom_GetScriptPointer: ; fd0eb (3f:50eb) +Mom_GetScriptPointer: call GetItemFromMom ld de, 6 ; item type add hl, de @@ -169,7 +165,6 @@ Mom_GetScriptPointer: ; fd0eb (3f:50eb) ret z ld de, .DollScript ret -; fd0fd (3f:50fd) .ItemScript: ; 0xfd0fd writetext _MomText_HiHowAreYou @@ -188,7 +183,7 @@ Mom_GetScriptPointer: ; fd0eb (3f:50eb) ; 0xfd117 -GetItemFromMom: ; fd117 +GetItemFromMom: ld a, [wWhichMomItemSet] and a jr z, .zero @@ -213,7 +208,6 @@ rept 3 ; multiply hl by 8 endr add hl, de ret -; fd136 INCLUDE "data/items/mom_phone.asm" @@ -257,8 +251,7 @@ _MomText_ItsInRoom: ; 0xfd1ca db 0 ; unused -DummyPredef3A: ; fd1d0 +DummyPredef3A: ret -; fd1d1 ret ; unused diff --git a/engine/events/money.asm b/engine/events/money.asm index 585c85618..c4e20fc3e 100644 --- a/engine/events/money.asm +++ b/engine/events/money.asm @@ -1,4 +1,4 @@ -GiveMoney:: ; 15fd7 +GiveMoney:: ld a, 3 call AddMoney ld bc, MaxMoney @@ -21,14 +21,12 @@ GiveMoney:: ; 15fd7 .not_maxed_out and a ret -; 15ff7 -MaxMoney: ; 15ff7 +MaxMoney: dt MAX_MONEY -; 15ffa -TakeMoney:: ; 15ffa +TakeMoney:: ld a, 3 call SubtractMoney jr nc, .okay @@ -45,11 +43,10 @@ TakeMoney:: ; 15ffa .okay and a ret -; 1600b -CompareMoney:: ; 1600b +CompareMoney:: ld a, 3 -CompareFunds: ; 1600d +CompareFunds: ; a: number of bytes ; bc: start addr of amount (big-endian) ; de: start addr of account (big-endian) @@ -94,11 +91,10 @@ CompareFunds: ; 1600d pop de pop hl ret -; 16035 -SubtractMoney: ; 16035 +SubtractMoney: ld a, 3 -SubtractFunds: ; 16037 +SubtractFunds: ; a: number of bytes ; bc: start addr of amount (big-endian) ; de: start addr of account (big-endian) @@ -130,11 +126,10 @@ SubtractFunds: ; 16037 pop de pop hl ret -; 16053 -AddMoney: ; 16053 +AddMoney: ld a, 3 -AddFunds: ; 16055 +AddFunds: ; a: number of bytes ; bc: start addr of amount (big-endian) ; de: start addr of account (big-endian) @@ -167,9 +162,8 @@ AddFunds: ; 16055 pop de pop hl ret -; 1606f -GiveCoins:: ; 1606f +GiveCoins:: ld a, 2 ld de, wCoins call AddFunds @@ -189,14 +183,12 @@ GiveCoins:: ; 1606f .not_maxed and a ret -; 1608d -.maxcoins ; 1608d +.maxcoins bigdw MAX_COINS -; 1608f -TakeCoins:: ; 1608f +TakeCoins:: ld a, 2 ld de, wCoins call SubtractFunds @@ -212,10 +204,8 @@ TakeCoins:: ; 1608f .okay and a ret -; 160a1 -CheckCoins:: ; 160a1 +CheckCoins:: ld a, 2 ld de, wCoins jp CompareFunds -; 160a9 diff --git a/engine/events/move_deleter.asm b/engine/events/move_deleter.asm index f75bc44dd..1b8e1a169 100644 --- a/engine/events/move_deleter.asm +++ b/engine/events/move_deleter.asm @@ -107,7 +107,7 @@ MoveDeletion: db "@" ; 0x2c5f9 -.DeleteMove: ; 2c5f9 +.DeleteMove: ld a, b push bc dec a diff --git a/engine/events/move_tutor.asm b/engine/events/move_tutor.asm index c11fe2fa1..a7805b6d0 100644 --- a/engine/events/move_tutor.asm +++ b/engine/events/move_tutor.asm @@ -1,4 +1,4 @@ -MoveTutor: ; 4925b +MoveTutor: call FadeToMenu call ClearBGPalettes call ClearScreen @@ -33,7 +33,7 @@ MoveTutor: ; 4925b call CloseSubmenu ret -.GetMoveTutorMove: ; 492a5 +.GetMoveTutorMove: ld a, [wScriptVar] cp MOVETUTOR_FLAMETHROWER jr z, .flamethrower @@ -51,7 +51,7 @@ MoveTutor: ; 4925b ld a, THUNDERBOLT ret -CheckCanLearnMoveTutorMove: ; 492b9 +CheckCanLearnMoveTutorMove: ld hl, .MenuHeader call LoadMenuHeader diff --git a/engine/events/name_rater.asm b/engine/events/name_rater.asm index aae070ca2..87d35e8ed 100644 --- a/engine/events/name_rater.asm +++ b/engine/events/name_rater.asm @@ -1,4 +1,4 @@ -_NameRater: ; fb6ed +_NameRater: ; Introduce himself ld hl, NameRaterIntroText call PrintText @@ -77,9 +77,8 @@ _NameRater: ; fb6ed .done call PrintText ret -; fb78a -CheckIfMonIsYourOT: ; fb78a +CheckIfMonIsYourOT: ; Checks to see if the partymon loaded in [wCurPartyMon] has the different OT as you. Returns carry if not. ld hl, wPartyMonOT ld bc, NAME_LENGTH @@ -110,9 +109,8 @@ CheckIfMonIsYourOT: ; fb78a .nope scf ret -; fb7be -IsNewNameEmpty: ; fb7be +IsNewNameEmpty: ; Checks to see if the nickname loaded in wStringBuffer2 is empty. If so, return carry. ld hl, wStringBuffer2 ld c, MON_NAME_LENGTH - 1 @@ -132,9 +130,8 @@ IsNewNameEmpty: ; fb7be .nonspace and a ret -; fb7d3 -CompareNewToOld: ; fb7d3 +CompareNewToOld: ; Compares the nickname in wStringBuffer2 to the previous nickname. If they are the same, return carry. ld hl, wPartyMonNicknames ld bc, MON_NAME_LENGTH @@ -167,9 +164,8 @@ CompareNewToOld: ; fb7d3 .terminator scf ret -; fb802 -GetNicknameLength: ; fb802 +GetNicknameLength: ; Gets the length of the name starting at hl and returns it in c. ld c, 0 .loop @@ -181,7 +177,6 @@ GetNicknameLength: ; fb802 cp MON_NAME_LENGTH - 1 jr nz, .loop ret -; fb80f NameRaterIntroText: ; 0xfb80f ; Hello, hello! I'm the NAME RATER. diff --git a/engine/events/npc_trade.asm b/engine/events/npc_trade.asm index d3991a28c..26a5559dd 100644 --- a/engine/events/npc_trade.asm +++ b/engine/events/npc_trade.asm @@ -1,4 +1,4 @@ -NPCTrade:: ; fcba8 +NPCTrade:: ld a, e ld [wJumptableIndex], a call Trade_GetDialog @@ -51,9 +51,8 @@ NPCTrade:: ; fcba8 .done call PrintTradeText ret -; fcc07 -.TradeAnimation: ; fcc07 +.TradeAnimation: call DisableSpriteUpdates ld a, [wJumptableIndex] push af @@ -66,9 +65,8 @@ NPCTrade:: ; fcba8 ld [wJumptableIndex], a call ReturnToMapWithSpeechTextbox ret -; fcc23 -CheckTradeGender: ; fcc23 +CheckTradeGender: xor a ld [wMonType], a @@ -95,9 +93,8 @@ CheckTradeGender: ; fcc23 .not_matching scf ret -; fcc4a -TradeFlagAction: ; fcc4a +TradeFlagAction: ld hl, wTradeFlags ld a, [wJumptableIndex] ld c, a @@ -105,17 +102,15 @@ TradeFlagAction: ; fcc4a ld a, c and a ret -; fcc59 -Trade_GetDialog: ; fcc59 +Trade_GetDialog: ld e, NPCTRADE_DIALOG call GetTradeAttribute ld a, [hl] ld [wcf64], a ret -; fcc63 -DoNPCTrade: ; fcc63 +DoNPCTrade: ld e, NPCTRADE_GIVEMON call GetTradeAttribute ld a, [hl] @@ -275,7 +270,6 @@ DoNPCTrade: ; fcc63 pop bc pop af ret -; fcdc2 GetTradeAttribute: ; 0xfcdc2 @@ -294,71 +288,63 @@ GetTradeAttribute: ; 0xfcdc2 ret ; 0xfcdd7 -Trade_GetAttributeOfCurrentPartymon: ; fcdd7 +Trade_GetAttributeOfCurrentPartymon: ld a, [wCurPartyMon] call AddNTimes ret -; fcdde -Trade_GetAttributeOfLastPartymon: ; fcdde +Trade_GetAttributeOfLastPartymon: ld a, [wPartyCount] dec a call AddNTimes ld e, l ld d, h ret -; fcde8 -GetTradeMonName: ; fcde8 +GetTradeMonName: push de ld [wd265], a call GetBasePokemonName ld hl, wStringBuffer1 pop de ret -; fcdf4 -CopyTradeName: ; fcdf4 +CopyTradeName: ld bc, NAME_LENGTH call CopyBytes ret -; fcdfb -Unreferenced_Functionfcdfb: ; fcdfb +Unreferenced_Functionfcdfb: ld bc, 4 call CopyBytes ld a, "@" ld [de], a ret -; fce05 -Unreferenced_Functionfce05: ; fce05 +Unreferenced_Functionfce05: ld bc, 3 call CopyBytes ld a, "@" ld [de], a ret -; fce0f -Trade_CopyTwoBytes: ; fce0f +Trade_CopyTwoBytes: ld a, [hli] ld [de], a inc de ld a, [hl] ld [de], a ret -; fce15 -Trade_CopyTwoBytesReverseEndian: ; fce15 +Trade_CopyTwoBytesReverseEndian: ld a, [hli] ld [de], a dec de ld a, [hl] ld [de], a ret -; fce1b -GetTradeMonNames: ; fce1b +GetTradeMonNames: ld e, NPCTRADE_GETMON call GetTradeAttribute ld a, [hl] @@ -398,13 +384,12 @@ GetTradeMonNames: ; fce1b ld [hli], a ld [hl], "@" ret -; fce58 INCLUDE "data/events/npc_trades.asm" -PrintTradeText: ; fcf38 +PrintTradeText: push af call GetTradeMonNames pop af @@ -420,9 +405,8 @@ PrintTradeText: ; fcf38 ld l, a call PrintText ret -; fcf53 -TradeTexts: ; fcf53 +TradeTexts: ; entries correspond to TRADE_DIALOG_* × TRADE_DIALOGSET_* constants ; TRADE_DIALOG_INTRO dw TradeIntroText1 @@ -449,7 +433,6 @@ TradeTexts: ; fcf53 dw TradeAfterText2 dw TradeAfterText3 dw TradeAfterText4 -; fcf7b ConnectLinkCableText: ; 0xfcf7b diff --git a/engine/events/odd_egg.asm b/engine/events/odd_egg.asm index 3e58c2677..10d7cf9aa 100644 --- a/engine/events/odd_egg.asm +++ b/engine/events/odd_egg.asm @@ -1,4 +1,4 @@ -_GiveOddEgg: ; 1fb4b6 +_GiveOddEgg: ; Figure out which egg to give. ; Compare a random word to @@ -88,7 +88,6 @@ _GiveOddEgg: ; 1fb4b6 ld [wMobileMonNicknamePointerBuffer + 1], a farcall AddMobileMonToParty ret -; 1fb546 .Odd: db "ODD@@@@@@@@@" diff --git a/engine/events/overworld.asm b/engine/events/overworld.asm index f9d67f0bd..b4e95987c 100644 --- a/engine/events/overworld.asm +++ b/engine/events/overworld.asm @@ -1,11 +1,11 @@ -FieldMoveJumptableReset: ; c6ea +FieldMoveJumptableReset: xor a ld hl, wBuffer1 ld bc, 7 call ByteFill ret -FieldMoveJumptable: ; c6f5 +FieldMoveJumptable: ld a, [wBuffer1] rst JumpTable ld [wBuffer1], a @@ -19,7 +19,7 @@ FieldMoveJumptable: ; c6f5 scf ret -GetPartyNick: ; c706 +GetPartyNick: ; write wCurPartyMon nickname to wStringBuffer1-3 ld hl, wPartyMonNicknames ld a, BOXMON @@ -33,7 +33,7 @@ GetPartyNick: ; c706 call CopyName2 ret -CheckEngineFlag: ; c721 +CheckEngineFlag: ; Check engine flag de ; Return carry if flag is not set ld b, CHECK_FLAG @@ -47,7 +47,7 @@ CheckEngineFlag: ; c721 xor a ret -CheckBadge: ; c731 +CheckBadge: ; Check engine flag a (ENGINE_ZEPHYRBADGE thru ENGINE_EARTHBADGE) ; Display "Badge required" text and return carry if the badge is not owned call CheckEngineFlag @@ -57,13 +57,13 @@ CheckBadge: ; c731 scf ret -.BadgeRequiredText: ; c73d +.BadgeRequiredText: ; Sorry! A new BADGE ; is required. text_jump _BadgeRequiredText db "@" -CheckPartyMove: ; c742 +CheckPartyMove: ; Check if a monster in your party has move d. ld e, 0 @@ -107,7 +107,7 @@ CheckPartyMove: ; c742 scf ret -FieldMoveFailed: ; c779 +FieldMoveFailed: ld hl, .CantUseHere call MenuTextBoxBackup ret @@ -117,7 +117,7 @@ FieldMoveFailed: ; c779 text_jump UnknownText_0x1c05c8 db "@" -CutFunction: ; c785 +CutFunction: call FieldMoveJumptableReset .loop ld hl, .Jumptable @@ -127,12 +127,12 @@ CutFunction: ; c785 ld [wFieldMoveSucceeded], a ret -.Jumptable: ; c796 (3:4796) +.Jumptable: dw .CheckAble dw .DoCut dw .FailCut -.CheckAble: ; c79c (3:479c) +.CheckAble: ld de, ENGINE_HIVEBADGE call CheckBadge jr c, .nohivebadge @@ -149,13 +149,13 @@ CutFunction: ; c785 ld a, $2 ret -.DoCut: ; c7b2 (3:47b2) +.DoCut: ld hl, Script_CutFromMenu call QueueScript ld a, $81 ret -.FailCut: ; c7bb (3:47bb) +.FailCut: ld hl, Text_NothingToCut call MenuTextBoxBackup ld a, $80 @@ -171,7 +171,7 @@ Text_NothingToCut: ; 0xc7c9 text_jump UnknownText_0x1c05ec db "@" -CheckMapForSomethingToCut: ; c7ce +CheckMapForSomethingToCut: ; Does the collision data of the facing tile permit cutting? call GetFacingTileCoord ld c, a @@ -206,7 +206,7 @@ CheckMapForSomethingToCut: ; c7ce scf ret -Script_CutFromMenu: ; c7fe +Script_CutFromMenu: reloadmappart special UpdateTimePals @@ -218,7 +218,7 @@ Script_Cut: ; 0xc802 closetext end -CutDownTreeOrGrass: ; c810 +CutDownTreeOrGrass: ld hl, wBuffer3 ; OverworldMapTile ld a, [hli] ld h, [hl] @@ -240,7 +240,7 @@ CutDownTreeOrGrass: ; c810 call LoadStandardFont ret -CheckOverworldTileArrays: ; c840 +CheckOverworldTileArrays: ; Input: c contains the tile you're facing ; Output: Replacement tile in b and effect on wild encounters in c, plus carry set. ; Carry is not set if the facing tile cannot be replaced, or if the tileset @@ -280,13 +280,13 @@ CheckOverworldTileArrays: ; c840 INCLUDE "data/events/field_move_blocks.asm" -OWFlash: ; c8ac +OWFlash: call .CheckUseFlash and $7f ld [wFieldMoveSucceeded], a ret -.CheckUseFlash: ; c8b5 +.CheckUseFlash: ; Flash ld de, ENGINE_ZEPHYRBADGE farcall CheckBadge @@ -312,7 +312,7 @@ OWFlash: ; c8ac ld a, $80 ret -UseFlash: ; c8e0 +UseFlash: ld hl, Script_UseFlash jp QueueScript @@ -337,7 +337,7 @@ UnknownText_0xc8f3: ; 0xc8f3 .BlankText: ; 0xc908 db "@" -SurfFunction: ; c909 +SurfFunction: call FieldMoveJumptableReset .loop ld hl, .Jumptable @@ -347,13 +347,13 @@ SurfFunction: ; c909 ld [wFieldMoveSucceeded], a ret -.Jumptable: ; c91a (3:491a) +.Jumptable: dw .TrySurf dw .DoSurf dw .FailSurf dw .AlreadySurfing -.TrySurf: ; c922 (3:4922) +.TrySurf: ld de, ENGINE_FOGBADGE call CheckBadge jr c, .asm_c956 @@ -385,7 +385,7 @@ SurfFunction: ; c909 ld a, $2 ret -.DoSurf: ; c95f (3:495f) +.DoSurf: call GetSurfType ld [wBuffer2], a call GetPartyNick @@ -394,22 +394,22 @@ SurfFunction: ; c909 ld a, $81 ret -.FailSurf: ; c971 (3:4971) +.FailSurf: ld hl, CantSurfText call MenuTextBoxBackup ld a, $80 ret -.AlreadySurfing: ; c97a (3:497a) +.AlreadySurfing: ld hl, AlreadySurfingText call MenuTextBoxBackup ld a, $80 ret -SurfFromMenuScript: ; c983 +SurfFromMenuScript: special UpdateTimePals -UsedSurfScript: ; c986 +UsedSurfScript: writetext UsedSurfText ; "used SURF!" waitbutton closetext @@ -426,23 +426,23 @@ UsedSurfScript: ; c986 applymovement PLAYER, wMovementBuffer end -.empty_fn ; c9a2 +.empty_fn farcall StubbedTrainerRankings_Surf ret -UsedSurfText: ; c9a9 +UsedSurfText: text_jump _UsedSurfText db "@" -CantSurfText: ; c9ae +CantSurfText: text_jump _CantSurfText db "@" -AlreadySurfingText: ; c9b3 +AlreadySurfingText: text_jump _AlreadySurfingText db "@" -GetSurfType: ; c9b8 +GetSurfType: ; Surfing on Pikachu uses an alternate sprite. ; This is done by using a separate movement type. @@ -459,7 +459,7 @@ GetSurfType: ; c9b8 ld a, PLAYER_SURF ret -CheckDirection: ; c9cb +CheckDirection: ; Return carry if a tile permission prevents you ; from moving in the direction you're facing. @@ -490,7 +490,7 @@ CheckDirection: ; c9cb db FACE_LEFT db FACE_RIGHT -TrySurfOW:: ; c9e7 +TrySurfOW:: ; Checking a tile in the overworld. ; Return carry if fail is allowed. @@ -538,7 +538,7 @@ TrySurfOW:: ; c9e7 xor a ret -AskSurfScript: ; ca2c +AskSurfScript: opentext writetext AskSurfText yesorno @@ -546,11 +546,11 @@ AskSurfScript: ; ca2c closetext end -AskSurfText: ; ca36 +AskSurfText: text_jump _AskSurfText ; The water is calm. db "@" ; Want to SURF? -FlyFunction: ; ca3b +FlyFunction: call FieldMoveJumptableReset .loop ld hl, .Jumptable @@ -565,7 +565,7 @@ FlyFunction: ; ca3b dw .DoFly dw .FailFly -.TryFly: ; ca52 +.TryFly: ; Fly ld de, ENGINE_STORMBADGE call CheckBadge @@ -606,13 +606,13 @@ FlyFunction: ; ca3b ld a, $80 ret -.DoFly: ; ca94 +.DoFly: ld hl, .FlyScript call QueueScript ld a, $81 ret -.FailFly: ; ca9d +.FailFly: call FieldMoveFailed ld a, $82 ret @@ -632,20 +632,20 @@ FlyFunction: ; ca3b callasm .ReturnFromFly end -.ReturnFromFly: ; cacb +.ReturnFromFly: farcall Function561d call DelayFrame call ReplaceKrisSprite farcall LoadOverworldFont ret -WaterfallFunction: ; cade +WaterfallFunction: call .TryWaterfall and $7f ld [wFieldMoveSucceeded], a ret -.TryWaterfall: ; cae7 +.TryWaterfall: ; Waterfall ld de, ENGINE_RISINGBADGE farcall CheckBadge @@ -663,7 +663,7 @@ WaterfallFunction: ; cade ld a, $80 ret -CheckMapCanWaterfall: ; cb07 +CheckMapCanWaterfall: ld a, [wPlayerDirection] and $c cp FACE_UP @@ -694,7 +694,7 @@ Script_UsedWaterfall: ; 0xcb20 iffalse .loop end -.CheckContinueWaterfall: ; cb38 +.CheckContinueWaterfall: xor a ld [wScriptVar], a ld a, [wPlayerStandingTile] @@ -705,7 +705,7 @@ Script_UsedWaterfall: ; 0xcb20 ld [wScriptVar], a ret -.WaterfallStep: ; cb4f +.WaterfallStep: turn_waterfall UP step_end @@ -714,7 +714,7 @@ Script_UsedWaterfall: ; 0xcb20 text_jump UnknownText_0x1c068e db "@" -TryWaterfallOW:: ; cb56 +TryWaterfallOW:: ld d, WATERFALL call CheckPartyMove jr c, .failed @@ -757,12 +757,12 @@ Script_AskWaterfall: ; 0xcb86 text_jump UnknownText_0x1c06bf db "@" -EscapeRopeFunction: ; cb95 +EscapeRopeFunction: call FieldMoveJumptableReset ld a, $1 jr dig_incave -DigFunction: ; cb9c +DigFunction: call FieldMoveJumptableReset ld a, $2 @@ -776,12 +776,12 @@ dig_incave ld [wFieldMoveSucceeded], a ret -.DigTable: ; cbb2 +.DigTable: dw .CheckCanDig dw .DoDig dw .FailDig -.CheckCanDig: ; cbb8 +.CheckCanDig: call GetMapEnvironment cp CAVE jr z, .incave @@ -805,7 +805,7 @@ dig_incave ld a, $1 ret -.DoDig: ; cbd8 +.DoDig: ld hl, wDigWarpNumber ld de, wNextWarp ld bc, 3 @@ -826,7 +826,7 @@ dig_incave ld a, $81 ret -.FailDig: ; cc06 +.FailDig: ld a, [wBuffer2] cp $2 jr nz, .failescaperope @@ -888,7 +888,7 @@ dig_incave return_dig 32 step_end -TeleportFunction: ; cc61 +TeleportFunction: call FieldMoveJumptableReset .loop ld hl, .Jumptable @@ -898,12 +898,12 @@ TeleportFunction: ; cc61 ld [wFieldMoveSucceeded], a ret -.Jumptable: ; cc72 +.Jumptable: dw .TryTeleport dw .DoTeleport dw .FailTeleport -.TryTeleport: ; cc78 +.TryTeleport: call GetMapEnvironment call CheckOutdoorMap jr z, .CheckIfSpawnPoint @@ -925,14 +925,14 @@ TeleportFunction: ; cc61 ld a, $2 ret -.DoTeleport: ; cc9c +.DoTeleport: call GetPartyNick ld hl, .TeleportScript call QueueScript ld a, $81 ret -.FailTeleport: ; cca8 +.FailTeleport: ld hl, .Text_CantUseHere call MenuTextBoxBackup ld a, $80 @@ -965,21 +965,21 @@ TeleportFunction: ; cc61 applymovement PLAYER, .TeleportTo end -.TeleportFrom: ; cce1 +.TeleportFrom: teleport_from step_end -.TeleportTo: ; cce3 +.TeleportTo: teleport_to step_end -StrengthFunction: ; cce5 +StrengthFunction: call .TryStrength and $7f ld [wFieldMoveSucceeded], a ret -.TryStrength: ; ccee +.TryStrength: ; Strength ld de, ENGINE_PLAINBADGE call CheckBadge @@ -996,17 +996,17 @@ StrengthFunction: ; cce5 text_jump UnknownText_0x1c0751 db "@" -.Failed: ; cd06 +.Failed: ld a, $80 ret -.UseStrength: ; cd09 +.UseStrength: ld hl, Script_StrengthFromMenu call QueueScript ld a, $81 ret -SetStrengthFlag: ; cd12 +SetStrengthFlag: ld hl, wBikeFlags set BIKEFLAGS_STRENGTH_ACTIVE_F, [hl] ld a, [wCurPartyMon] @@ -1076,7 +1076,7 @@ UnknownText_0xcd73: ; 0xcd73 text_jump UnknownText_0x1c07f4 db "@" -TryStrengthOW: ; cd78 +TryStrengthOW: ld d, STRENGTH call CheckPartyMove jr c, .nope @@ -1104,7 +1104,7 @@ TryStrengthOW: ; cd78 ld [wScriptVar], a ret -WhirlpoolFunction: ; cd9d +WhirlpoolFunction: call FieldMoveJumptableReset .loop ld hl, Jumptable_cdae @@ -1114,12 +1114,12 @@ WhirlpoolFunction: ; cd9d ld [wFieldMoveSucceeded], a ret -Jumptable_cdae: ; cdae +Jumptable_cdae: dw .TryWhirlpool dw .DoWhirlpool dw .FailWhirlpool -.TryWhirlpool: ; cdb4 +.TryWhirlpool: ld de, ENGINE_GLACIERBADGE call CheckBadge jr c, .noglacierbadge @@ -1136,13 +1136,13 @@ Jumptable_cdae: ; cdae ld a, $80 ret -.DoWhirlpool: ; cdca +.DoWhirlpool: ld hl, Script_WhirlpoolFromMenu call QueueScript ld a, $81 ret -.FailWhirlpool: ; cdd3 +.FailWhirlpool: call FieldMoveFailed ld a, $80 ret @@ -1152,7 +1152,7 @@ Text_UsedWhirlpool: ; 0xcdd9 text_jump UnknownText_0x1c0816 db "@" -TryWhirlpoolMenu: ; cdde +TryWhirlpoolMenu: call GetFacingTileCoord ld c, a push de @@ -1193,7 +1193,7 @@ Script_UsedWhirlpool: ; 0xce0f closetext end -DisappearWhirlpool: ; ce1d +DisappearWhirlpool: ld hl, wBuffer3 ld a, [hli] ld h, [hl] @@ -1210,7 +1210,7 @@ DisappearWhirlpool: ; ce1d call GetMovementPermissions ret -TryWhirlpoolOW:: ; ce3e +TryWhirlpoolOW:: ld d, WHIRLPOOL call CheckPartyMove jr c, .failed @@ -1251,13 +1251,13 @@ UnknownText_0xce78: ; 0xce78 text_jump UnknownText_0x1c0864 db "@" -HeadbuttFunction: ; ce7d +HeadbuttFunction: call TryHeadbuttFromMenu and $7f ld [wFieldMoveSucceeded], a ret -TryHeadbuttFromMenu: ; ce86 +TryHeadbuttFromMenu: call GetFacingTileCoord call CheckHeadbuttTreeTile jr nz, .no_tree @@ -1307,7 +1307,7 @@ HeadbuttScript: ; 0xceab closetext end -TryHeadbuttOW:: ; cec9 +TryHeadbuttOW:: ld d, HEADBUTT call CheckPartyMove jr c, .no @@ -1335,13 +1335,13 @@ UnknownText_0xcee6: ; 0xcee6 text_jump UnknownText_0x1c08bc db "@" -RockSmashFunction: ; ceeb +RockSmashFunction: call TryRockSmashFromMenu and $7f ld [wFieldMoveSucceeded], a ret -TryRockSmashFromMenu: ; cef4 +TryRockSmashFromMenu: call GetFacingObject jr c, .no_rock ld a, d @@ -1358,7 +1358,7 @@ TryRockSmashFromMenu: ; cef4 ld a, $80 ret -GetFacingObject: ; cf0d +GetFacingObject: farcall CheckFacingObject jr nc, .fail @@ -1384,7 +1384,7 @@ RockSmashFromMenuScript: ; 0xcf2e reloadmappart special UpdateTimePals -RockSmashScript: ; cf32 +RockSmashScript: callasm GetPartyNick writetext UnknownText_0xcf58 closetext @@ -1434,7 +1434,7 @@ UnknownText_0xcf77: ; 0xcf77 text_jump UnknownText_0x1c0924 db "@" -HasRockSmash: ; cf7c +HasRockSmash: ld d, ROCK_SMASH call CheckPartyMove jr nc, .yes @@ -1448,7 +1448,7 @@ HasRockSmash: ; cf7c ld [wScriptVar], a ret -FishFunction: ; cf8e +FishFunction: ld a, e push af call FieldMoveJumptableReset @@ -1462,14 +1462,14 @@ FishFunction: ; cf8e ld [wFieldMoveSucceeded], a ret -.FishTable: ; cfa5 +.FishTable: dw .TryFish dw .FishNoBite dw .FishGotSomething dw .FailFish dw .FishNoFish -.TryFish: ; cfaf +.TryFish: ld a, [wPlayerState] cp PLAYER_SURF jr z, .fail @@ -1510,11 +1510,11 @@ FishFunction: ; cf8e ld a, $1 ret -.FailFish: ; cff1 +.FailFish: ld a, $80 ret -.FishGotSomething: ; cff4 +.FishGotSomething: ld a, $1 ld [wBuffer6], a ld hl, Script_GotABite @@ -1522,7 +1522,7 @@ FishFunction: ; cf8e ld a, $81 ret -.FishNoBite: ; d002 +.FishNoBite: ld a, $2 ld [wBuffer6], a ld hl, Script_NotEvenANibble @@ -1530,7 +1530,7 @@ FishFunction: ; cf8e ld a, $81 ret -.FishNoFish: ; d010 +.FishNoFish: ld a, $0 ld [wBuffer6], a ld hl, Script_NotEvenANibble2 @@ -1574,7 +1574,7 @@ Script_GotABite: ; 0xd035 reloadmapafterbattle end -.Movement_NotFacingUp: ; d05c +.Movement_NotFacingUp: fish_got_bite fish_got_bite fish_got_bite @@ -1582,7 +1582,7 @@ Script_GotABite: ; 0xd035 show_emote step_end -.Movement_FacingUp: ; d062 +.Movement_FacingUp: fish_got_bite fish_got_bite fish_got_bite @@ -1591,12 +1591,12 @@ Script_GotABite: ; 0xd035 show_emote step_end -.Movement_RestoreRod: ; d069 +.Movement_RestoreRod: hide_emote fish_cast_rod step_end -Fishing_CheckFacingUp: ; d06c +Fishing_CheckFacingUp: ld a, [wPlayerDirection] and $c cp OW_UP @@ -1619,11 +1619,11 @@ Script_FishCastRod: ; 0xd07c pause 40 end -MovementData_0xd093: ; d093 +MovementData_0xd093: fish_cast_rod step_end -PutTheRodAway: ; d095 +PutTheRodAway: xor a ld [hBGMapMode], a ld a, $1 @@ -1647,13 +1647,13 @@ UnknownText_0xd0ae: ; unused text_jump UnknownText_0x1c0979 db "@" -BikeFunction: ; d0b3 +BikeFunction: call .TryBike and $7f ld [wFieldMoveSucceeded], a ret -.TryBike: ; d0bc +.TryBike: call .CheckEnvironment jr c, .CannotUseBike ld a, [wPlayerState] @@ -1704,7 +1704,7 @@ BikeFunction: ; d0b3 ld a, $1 ret -.CheckIfRegistered: ; d119 +.CheckIfRegistered: ld a, [wUsingItemWithSelect] and a ret z @@ -1712,7 +1712,7 @@ BikeFunction: ; d0b3 ld l, e ret -.CheckEnvironment: ; d121 +.CheckEnvironment: call GetMapEnvironment call CheckOutdoorMap jr z, .ok @@ -1791,7 +1791,7 @@ GotOffTheBikeText: ; 0xd181 text_jump UnknownText_0x1c09c7 db "@" -TryCutOW:: ; d186 +TryCutOW:: ld d, CUT call CheckPartyMove jr c, .cant_cut @@ -1824,7 +1824,7 @@ AskCutScript: ; 0xd1a9 closetext end -.CheckMap: ; d1ba +.CheckMap: xor a ld [wScriptVar], a call CheckMapForSomethingToCut diff --git a/engine/events/play_slow_cry.asm b/engine/events/play_slow_cry.asm index 1f27a7ca4..6839b3960 100644 --- a/engine/events/play_slow_cry.asm +++ b/engine/events/play_slow_cry.asm @@ -1,4 +1,4 @@ -PlaySlowCry: ; fb841 +PlaySlowCry: ld a, [wScriptVar] call LoadCry jr c, .done @@ -28,4 +28,3 @@ PlaySlowCry: ; fb841 .done ret -; fb877 diff --git a/engine/events/poisonstep.asm b/engine/events/poisonstep.asm index 5ea094db9..c7ba7660f 100644 --- a/engine/events/poisonstep.asm +++ b/engine/events/poisonstep.asm @@ -1,4 +1,4 @@ -DoPoisonStep:: ; 505da +DoPoisonStep:: ld a, [wPartyCount] and a jr z, .no_faint @@ -55,9 +55,8 @@ DoPoisonStep:: ; 505da .no_faint xor a ret -; 5062e -.DamageMonIfPoisoned: ; 5062e +.DamageMonIfPoisoned: ; check if mon is poisoned, return if not ld a, MON_STATUS call GetPartyParamLocation @@ -98,31 +97,27 @@ DoPoisonStep:: ; 505da ld c, %01 scf ret -; 50658 -.PlayPoisonSFX: ; 50658 +.PlayPoisonSFX: ld de, SFX_POISON call PlaySFX ld b, $2 predef LoadPoisonBGPals call DelayFrame ret -; 50669 -.Script_MonFaintedToPoison: ; 50669 +.Script_MonFaintedToPoison: callasm .PlayPoisonSFX opentext callasm .CheckWhitedOut iffalse .whiteout closetext end -; 50677 -.whiteout ; 50677 +.whiteout farjump Script_OverworldWhiteout -; 5067b -.CheckWhitedOut: ; 5067b +.CheckWhitedOut: xor a ld [wCurPartyMon], a ld de, wEngineBuffer2 @@ -149,14 +144,11 @@ DoPoisonStep:: ; 505da ld a, d ld [wScriptVar], a ret -; 506b2 -.PoisonFaintText: ; 506b2 +.PoisonFaintText: text_jump UnknownText_0x1c0acc db "@" -; 506b7 -.PoisonWhiteOutText: ; 506b7 +.PoisonWhiteOutText: text_jump UnknownText_0x1c0ada db "@" -; 506bc diff --git a/engine/events/poisonstep_pals.asm b/engine/events/poisonstep_pals.asm index c1bfa49f0..354aabb28 100644 --- a/engine/events/poisonstep_pals.asm +++ b/engine/events/poisonstep_pals.asm @@ -1,11 +1,11 @@ -LoadPoisonBGPals: ; cbcdd +LoadPoisonBGPals: call .LoadPals ld a, [hCGB] and a ret nz ret ; ???? -.LoadPals: ; cbce5 +.LoadPals: ld a, [hCGB] and a jr nz, .cgb diff --git a/engine/events/poke_seer.asm b/engine/events/poke_seer.asm index c79298dd0..2a4177178 100644 --- a/engine/events/poke_seer.asm +++ b/engine/events/poke_seer.asm @@ -15,7 +15,7 @@ const SEERACTION_CANT_TELL_2 const SEERACTION_LEVEL_ONLY -PokeSeer: ; 4f0bc +PokeSeer: ld a, SEER_INTRO call PrintSeerText call JoyWaitAorB @@ -47,34 +47,30 @@ PokeSeer: ; 4f0bc ld a, SEER_EGG call PrintSeerText ret -; 4f0ee -SeerAction: ; 4f0ee +SeerAction: ld a, [wSeerAction] ld hl, SeerActions rst JumpTable ret -; 4f0f6 -SeerActions: ; 4f0f6 +SeerActions: dw SeerAction0 dw SeerAction1 dw SeerAction2 dw SeerAction3 dw SeerAction4 -; 4f100 -SeerAction0: ; 4f100 +SeerAction0: ld a, SEER_MET_AT call PrintSeerText ld a, SEER_TIME_LEVEL call PrintSeerText call SeerAdvice ret -; 4f10e -SeerAction1: ; 4f10e +SeerAction1: call GetCaughtOT ld a, SEER_TRADED call PrintSeerText @@ -82,28 +78,24 @@ SeerAction1: ; 4f10e call PrintSeerText call SeerAdvice ret -; 4f11f -SeerAction2: ; 4f11f +SeerAction2: ld a, SEER_CANT_TELL call PrintSeerText ret -; 4f125 -SeerAction3: ; 4f125 +SeerAction3: ld a, SEER_CANT_TELL call PrintSeerText ret -; 4f12b -SeerAction4: ; 4f12b +SeerAction4: ld a, SEER_LEVEL_ONLY call PrintSeerText call SeerAdvice ret -; 4f134 -ReadCaughtData: ; 4f134 +ReadCaughtData: ld a, MON_CAUGHTDATA call GetPartyParamLocation ld a, [hli] @@ -143,9 +135,8 @@ ReadCaughtData: ; 4f134 ld a, SEERACTION_CANT_TELL_1 ld [wSeerAction], a ret -; 4f176 -GetCaughtName: ; 4f176 +GetCaughtName: ld a, [wCurPartyMon] ld hl, wPartyMonNicknames ld bc, MON_NAME_LENGTH @@ -154,9 +145,8 @@ GetCaughtName: ; 4f176 ld bc, MON_NAME_LENGTH call CopyBytes ret -; 4f18c -GetCaughtLevel: ; 4f18c +GetCaughtLevel: ld a, "@" ld hl, wSeerCaughtLevelString ld bc, 4 @@ -185,13 +175,11 @@ GetCaughtLevel: ; 4f18c ld bc, 4 call CopyBytes ret -; 4f1c1 -.unknown_level ; 4f1c1 +.unknown_level db "???@" -; 4f1c5 -GetCaughtTime: ; 4f1c5 +GetCaughtTime: ld a, [wSeerCaughtData] and CAUGHT_TIME_MASK jr z, .none @@ -212,26 +200,22 @@ GetCaughtTime: ; 4f1c5 ld de, wSeerTimeOfDay call UnknownCaughtData ret -; 4f1e6 -.times ; 4f1e6 +.times db "Morning@" db "Day@" db "Night@" -; 4f1f8 -UnknownCaughtData: ; 4f1f8 +UnknownCaughtData: ld hl, .unknown ld bc, NAME_LENGTH call CopyBytes ret -; 4f202 -.unknown ; 4f202 +.unknown db "Unknown@" -; 4f20a -GetCaughtLocation: ; 4f20a +GetCaughtLocation: ld a, [wSeerCaughtGender] and CAUGHT_LOCATION_MASK jr z, .Unknown @@ -263,9 +247,8 @@ GetCaughtLocation: ; 4f20a ld [wSeerAction], a scf ret -; 4f242 -GetCaughtOT: ; 4f242 +GetCaughtOT: ld a, [wCurPartyMon] ld hl, wPartyMonOT ld bc, NAME_LENGTH @@ -286,15 +269,13 @@ GetCaughtOT: ; 4f242 ld a, "@" ld [de], a ret -; 4f26b -.male ; 4f26b +.male db "@" -.female ; 4f26c +.female db "@" -; 4f26d -PrintSeerText: ; 4f26d +PrintSeerText: ld e, a ld d, 0 ld hl, SeerTexts @@ -305,9 +286,8 @@ PrintSeerText: ; 4f26d ld l, a call PrintText ret -; 4f27c -SeerTexts: ; 4f27c +SeerTexts: dw SeerIntroText dw SeerCantTellText dw SeerMetAtText @@ -316,7 +296,6 @@ SeerTexts: ; 4f27c dw SeerCancelText dw SeerEggText dw SeerLevelOnlyText -; 4f28c SeerIntroText: ; 0x4f28c ; I see all. I know all… Certainly, I know of your #MON! @@ -367,7 +346,7 @@ SeerCancelText: ; 0x4f2af ; 0x4f2b4 -SeerAdvice: ; 4f2b4 +SeerAdvice: ld a, MON_LEVEL call GetPartyParamLocation ld a, [wSeerCaughtLevel] @@ -392,9 +371,8 @@ SeerAdvice: ; 4f2b4 ld l, a call PrintText ret -; 4f2d6 -SeerAdviceTexts: ; 4f2d6 +SeerAdviceTexts: ; level, text dbw 9, SeerAdvice1 dbw 29, SeerAdvice2 @@ -402,7 +380,6 @@ SeerAdviceTexts: ; 4f2d6 dbw 89, SeerAdvice4 dbw 100, SeerAdvice5 dbw 255, SeerAdvice1 -; 4f2e8 SeerAdvice1: ; 0x4f2e8 ; Incidentally… It would be wise to raise your #MON with a little more care. @@ -435,7 +412,7 @@ SeerAdvice5: ; 0x4f2fc ; 0x4f301 -GetCaughtGender: ; 4f301 +GetCaughtGender: ld hl, MON_CAUGHTGENDER add hl, bc @@ -458,4 +435,3 @@ GetCaughtGender: ; 4f301 .genderless ld c, CAUGHT_BY_UNKNOWN ret -; 4f31c diff --git a/engine/events/pokecenter_pc.asm b/engine/events/pokecenter_pc.asm index 6e33d376c..2d4ee28c5 100644 --- a/engine/events/pokecenter_pc.asm +++ b/engine/events/pokecenter_pc.asm @@ -1,4 +1,4 @@ -PokemonCenterPC: ; 1559a +PokemonCenterPC: call PC_CheckPartyForPokemon ret c call PC_PlayBootSound @@ -97,9 +97,8 @@ PCPC_TURN_OFF EQU 4 ret z ld a, 2 ; postgame ret -; 15650 -PC_CheckPartyForPokemon: ; 15650 +PC_CheckPartyForPokemon: ld a, [wPartyCount] and a ret nz @@ -116,16 +115,15 @@ PC_CheckPartyForPokemon: ; 15650 db "@" ; 0x15668 -BillsPC: ; 15668 +BillsPC: call PC_PlayChoosePCSound ld hl, PokecenterPCText_AccessedBillsPC call PC_DisplayText farcall _BillsPC and a ret -; 15679 (5:5679) -PlayersPC: ; 15679 +PlayersPC: call PC_PlayChoosePCSound ld hl, PokecenterPCText_AccessedOwnPC call PC_DisplayText @@ -133,61 +131,56 @@ PlayersPC: ; 15679 call _PlayersPC and a ret -; 15689 -OaksPC: ; 15689 +OaksPC: call PC_PlayChoosePCSound ld hl, PokecenterPCText_AccessedOaksPC call PC_DisplayText farcall ProfOaksPC and a ret -; 1569a -HallOfFamePC: ; 1569a +HallOfFamePC: call PC_PlayChoosePCSound call FadeToMenu farcall _HallOfFamePC call CloseSubmenu and a ret -; 156ab -TurnOffPC: ; 156ab +TurnOffPC: ld hl, PokecenterPCText_LinkClosed call PrintText scf ret -; 156b3 -PC_PlayBootSound: ; 156b3 +PC_PlayBootSound: ld de, SFX_BOOT_PC jr PC_WaitPlaySFX -PC_PlayShutdownSound: ; 156b8 +PC_PlayShutdownSound: ld de, SFX_SHUT_DOWN_PC call PC_WaitPlaySFX call WaitSFX ret -PC_PlayChoosePCSound: ; 156c2 +PC_PlayChoosePCSound: ld de, SFX_CHOOSE_PC_OPTION jr PC_WaitPlaySFX -PC_PlaySwapItemsSound: ; 156c7 +PC_PlaySwapItemsSound: ld de, SFX_SWITCH_POKEMON call PC_WaitPlaySFX ld de, SFX_SWITCH_POKEMON -PC_WaitPlaySFX: ; 156d0 +PC_WaitPlaySFX: push de call WaitSFX pop de call PlaySFX ret -; 156d9 -_PlayersHousePC: ; 156d9 +_PlayersHousePC: call PC_PlayBootSound ld hl, UnknownText_0x156ff call PC_DisplayText @@ -206,7 +199,6 @@ _PlayersHousePC: ; 156d9 call ClearBGPalettes ld c, $1 ret -; 156ff UnknownText_0x156ff: ; 0x156ff ; turned on the PC. @@ -214,7 +206,7 @@ UnknownText_0x156ff: ; 0x156ff db "@" ; 0x15704 -_PlayersPC: ; 15704 +_PlayersPC: ld a, b ld [wWhichIndexSet], a ld hl, UnknownText_0x157cc @@ -222,9 +214,8 @@ _PlayersPC: ; 15704 call Function15715 call ExitMenu ret -; 15715 -Function15715: ; 15715 +Function15715: xor a ld [wPCItemsCursor], a ld [wPCItemsScrollPosition], a @@ -244,7 +235,6 @@ Function15715: ; 15715 .asm_15732 call ExitMenu ret -; 15736 PlayersPCMenuData: ; 0x15736 db MENU_BACKUP_TILES ; flags @@ -305,7 +295,7 @@ PLAYERSPC_LOG_OFF EQU 6 db PLAYERSPC_LOG_OFF db -1 ; end -PC_DisplayTextWaitMenu: ; 157bb +PC_DisplayTextWaitMenu: ld a, [wOptions] push af set NO_TEXT_SCROLL, a @@ -314,7 +304,6 @@ PC_DisplayTextWaitMenu: ; 157bb pop af ld [wOptions], a ret -; 157cc UnknownText_0x157cc: ; 0x157cc ; What do you want to do? @@ -651,11 +640,10 @@ PCItemsJoypad: ; 0x15985 dba PlaceMenuItemQuantity dba UpdateItemDescription -PC_DisplayText: ; 15a20 +PC_DisplayText: call MenuTextBox call ExitMenu ret -; 15a27 PokecenterPCText_BootedUpPC: ; 0x15a27 ; turned on the PC. diff --git a/engine/events/pokepic.asm b/engine/events/pokepic.asm index e11c45f9b..b866c4f0d 100644 --- a/engine/events/pokepic.asm +++ b/engine/events/pokepic.asm @@ -1,4 +1,4 @@ -Pokepic:: ; 244e3 +Pokepic:: ld hl, PokepicMenuHeader call CopyMenuHeader call MenuBox @@ -27,7 +27,7 @@ Pokepic:: ; 244e3 call WaitBGMap ret -ClosePokepic:: ; 24528 +ClosePokepic:: ld hl, PokepicMenuHeader call CopyMenuHeader call ClearMenuBoxInterior diff --git a/engine/events/pokerus/apply_pokerus_tick.asm b/engine/events/pokerus/apply_pokerus_tick.asm index e632fbfe4..223fe0147 100644 --- a/engine/events/pokerus/apply_pokerus_tick.asm +++ b/engine/events/pokerus/apply_pokerus_tick.asm @@ -1,4 +1,4 @@ -ApplyPokerusTick: ; 13988 +ApplyPokerusTick: ; decreases all pokemon's pokerus counter by b. if the lower nybble reaches zero, the pokerus is cured. ld hl, wPartyMon1PokerusStatus ; wPartyMon1 + MON_PKRS ld a, [wPartyCount] diff --git a/engine/events/pokerus/check_pokerus.asm b/engine/events/pokerus/check_pokerus.asm index c739c59c5..201a37130 100644 --- a/engine/events/pokerus/check_pokerus.asm +++ b/engine/events/pokerus/check_pokerus.asm @@ -1,4 +1,4 @@ -_CheckPokerus: ; 4d860 +_CheckPokerus: ; Return carry if a monster in your party has Pokerus ; Get number of monsters to iterate over diff --git a/engine/events/pokerus/pokerus.asm b/engine/events/pokerus/pokerus.asm index 5728cb181..a6764e3b5 100644 --- a/engine/events/pokerus/pokerus.asm +++ b/engine/events/pokerus/pokerus.asm @@ -1,4 +1,4 @@ -GivePokerusAndConvertBerries: ; 2ed44 +GivePokerusAndConvertBerries: call ConvertBerriesToBerryJuice ld hl, wPartyMon1PokerusStatus ld a, [wPartyCount] @@ -121,7 +121,7 @@ GivePokerusAndConvertBerries: ; 2ed44 ld [hl], a ret -ConvertBerriesToBerryJuice: ; 2ede6 +ConvertBerriesToBerryJuice: ; If we haven't been to Goldenrod City at least once, ; prevent Shuckle from turning held Berry into Berry Juice. ld hl, wStatusFlags2 diff --git a/engine/events/print_photo.asm b/engine/events/print_photo.asm index d8350a530..524533abc 100644 --- a/engine/events/print_photo.asm +++ b/engine/events/print_photo.asm @@ -1,4 +1,4 @@ -PhotoStudio: ; 16dc7 +PhotoStudio: ld hl, .Text_AskWhichMon call PrintText farcall SelectMonFromParty @@ -28,7 +28,6 @@ PhotoStudio: ; 16dc7 .print_text call PrintText ret -; 16e04 .Text_AskWhichMon: ; 0x16e04 ; Which #MON should I photo- graph? diff --git a/engine/events/print_unown.asm b/engine/events/print_unown.asm index f8fa52af3..ed7087e35 100644 --- a/engine/events/print_unown.asm +++ b/engine/events/print_unown.asm @@ -1,4 +1,4 @@ -_UnownPrinter: ; 16be4 +_UnownPrinter: ld a, [wUnownDex] and a ret z @@ -94,9 +94,8 @@ _UnownPrinter: ; 16be4 ld [hInMenu], a call ReturnToMapFromSubmenu ret -; 16ca0 -.LeftRight: ; 16ca0 +.LeftRight: ld a, [hJoyLast] and D_RIGHT jr nz, .press_right @@ -127,9 +126,8 @@ _UnownPrinter: ; 16be4 .return call .UpdateUnownFrontpic ret -; 16cc8 -.UpdateUnownFrontpic: ; 16cc8 +.UpdateUnownFrontpic: ld a, [wJumptableIndex] cp 26 jr z, .vacant @@ -151,7 +149,7 @@ _UnownPrinter: ; 16be4 farcall RotateUnownFrontpic ret -.Load2bppToSRAM: ; 16cff +.Load2bppToSRAM: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) @@ -194,7 +192,6 @@ _UnownPrinter: ; 16be4 ld c, 20 call DelayFrames ret -; 16d57 AlphRuinsStampString: db " ALPH RUINS STAMP@" @@ -211,15 +208,13 @@ UnownDexMenuString: UnownDexVacantString: db "VACANT@" -; 16d9c -UnownDexATile: ; 16d9c +UnownDexATile: INCBIN "gfx/printer/bold_a.1bpp" -UnownDexBTile: ; 16da4 +UnownDexBTile: INCBIN "gfx/printer/bold_b.1bpp" -; 16dac -PlaceUnownPrinterFrontpic: ; 16dac +PlaceUnownPrinterFrontpic: hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, " " @@ -230,4 +225,3 @@ PlaceUnownPrinterFrontpic: ; 16dac lb bc, 7, 7 predef PlaceGraphic ret -; 16dc7 diff --git a/engine/events/print_unown_2.asm b/engine/events/print_unown_2.asm index a2c1f47e3..02f3fadd9 100644 --- a/engine/events/print_unown_2.asm +++ b/engine/events/print_unown_2.asm @@ -1,4 +1,4 @@ -RotateUnownFrontpic: ; e0000 +RotateUnownFrontpic: ; something to do with Unown printer push de xor a ; sScratch @@ -43,7 +43,7 @@ RotateUnownFrontpic: ; e0000 call CloseSRAM ret -.Copy: ; e004e +.Copy: ld c, $10 .loop_copy ld a, [hli] @@ -53,7 +53,7 @@ RotateUnownFrontpic: ; e0000 jr nz, .loop_copy ret -.Rotate: ; e0057 +.Rotate: ld hl, wd012 ld e, %10000000 ld d, 8 @@ -75,7 +75,7 @@ RotateUnownFrontpic: ; e0000 jr nz, .loop_decompress ret -.CountSetBit: ; e0078 +.CountSetBit: ld b, 0 ld c, 8 .loop_count @@ -107,5 +107,5 @@ y = y + 1 endr ENDM -UnownPrinter_GBPrinterRectangle: ; e008b +UnownPrinter_GBPrinterRectangle: gbprinterrect 7, 7 diff --git a/engine/events/sacred_ash.asm b/engine/events/sacred_ash.asm index 2cb5e37a1..cf1570ee4 100644 --- a/engine/events/sacred_ash.asm +++ b/engine/events/sacred_ash.asm @@ -1,5 +1,5 @@ -_SacredAsh: ; 507e6 +_SacredAsh: ld a, $0 ld [wItemEffectSucceeded], a call CheckAnyFaintedMon @@ -10,9 +10,8 @@ _SacredAsh: ; 507e6 ld a, $1 ld [wItemEffectSucceeded], a ret -; 507fb -CheckAnyFaintedMon: ; 507fb +CheckAnyFaintedMon: ld de, PARTYMON_STRUCT_LENGTH ld bc, wPartySpecies ld hl, wPartyMon1HP @@ -46,7 +45,6 @@ CheckAnyFaintedMon: ; 507fb pop af scf ret -; 50821 SacredAshScript: ; 0x50821 special HealParty diff --git a/engine/events/shuckle.asm b/engine/events/shuckle.asm index 99fcd7924..6ac6eeb08 100644 --- a/engine/events/shuckle.asm +++ b/engine/events/shuckle.asm @@ -1,6 +1,6 @@ MANIA_OT_ID EQU 00518 -GiveShuckle: ; 7305 +GiveShuckle: ; Adding to the party. xor a @@ -71,7 +71,7 @@ SpecialShuckleOT: SpecialShuckleNick: db "SHUCKIE@" -ReturnShuckle: ; 737e +ReturnShuckle: farcall SelectMonFromParty jr c, .refused diff --git a/engine/events/specials.asm b/engine/events/specials.asm index 533f59520..65c353d0e 100644 --- a/engine/events/specials.asm +++ b/engine/events/specials.asm @@ -1,4 +1,4 @@ -Special:: ; c01b +Special:: ; Run script special de. ld hl, SpecialsPointers add hl, de @@ -12,22 +12,19 @@ Special:: ; c01b ld a, b rst FarCall ret -; c029 INCLUDE "data/special_pointers.asm" -DummySpecial_c224: ; c224 +DummySpecial_c224: ret -; c225 -SetPlayerPalette: ; c225 +SetPlayerPalette: ld a, [wScriptVar] ld d, a farcall _SetPlayerPalette ret -; c230 -GameCornerPrizeMonCheckDex: ; c230 +GameCornerPrizeMonCheckDex: ld a, [wScriptVar] dec a call CheckCaughtMon @@ -41,53 +38,50 @@ GameCornerPrizeMonCheckDex: ; c230 farcall NewPokedexEntry call ExitAllMenus ret -; c252 -UnusedSetSeenMon: ; c252 +UnusedSetSeenMon: ld a, [wScriptVar] dec a call SetSeenMon ret -; c25a -FindPartyMonAboveLevel: ; c25a +FindPartyMonAboveLevel: ld a, [wScriptVar] ld b, a farcall _FindPartyMonAboveLevel jr z, FoundNone jr FoundOne -FindPartyMonAtLeastThatHappy: ; c268 +FindPartyMonAtLeastThatHappy: ld a, [wScriptVar] ld b, a farcall _FindPartyMonAtLeastThatHappy jr z, FoundNone jr FoundOne -FindPartyMonThatSpecies: ; c276 +FindPartyMonThatSpecies: ld a, [wScriptVar] ld b, a farcall _FindPartyMonThatSpecies jr z, FoundNone jr FoundOne -FindPartyMonThatSpeciesYourTrainerID: ; c284 +FindPartyMonThatSpeciesYourTrainerID: ld a, [wScriptVar] ld b, a farcall _FindPartyMonThatSpeciesYourTrainerID jr z, FoundNone jr FoundOne -FoundOne: ; c292 +FoundOne: ld a, TRUE ld [wScriptVar], a ret -FoundNone: ; c298 +FoundNone: xor a ld [wScriptVar], a ret -; c29d NameRival: ; 0xc29d ld b, $2 ; rival @@ -103,42 +97,37 @@ NameRival: ; 0xc29d db "SILVER@" ; 0xc2b9 -NameRater: ; c2b9 +NameRater: farcall _NameRater ret -; c2c0 -OverworldTownMap: ; c2c0 +OverworldTownMap: call FadeToMenu farcall _TownMap call ExitAllMenus ret -; c2cd -UnownPrinter: ; c2cd +UnownPrinter: call FadeToMenu farcall _UnownPrinter call ExitAllMenus ret -; c2da -DisplayLinkRecord: ; c2da +DisplayLinkRecord: call FadeToMenu farcall _DisplayLinkRecord call ExitAllMenus ret -; c2e7 -PlayersHousePC: ; c2e7 +PlayersHousePC: xor a ld [wScriptVar], a farcall _PlayersHousePC ld a, c ld [wScriptVar], a ret -; c2f6 -CheckMysteryGift: ; c2f6 +CheckMysteryGift: ld a, BANK(sMysteryGiftItem) call GetSRAMBank ld a, [sMysteryGiftItem] @@ -150,9 +139,8 @@ CheckMysteryGift: ; c2f6 ld [wScriptVar], a call CloseSRAM ret -; c309 -GetMysteryGiftItem: ; c309 +GetMysteryGiftItem: ld a, BANK(sMysteryGiftItem) call GetSRAMBank ld a, [sMysteryGiftItem] @@ -179,7 +167,6 @@ GetMysteryGiftItem: ; c309 xor a ld [wScriptVar], a ret -; c345 .ReceiveItemText: ; 0xc345 ; received item @@ -187,57 +174,51 @@ GetMysteryGiftItem: ; c309 db "@" ; 0xc34a -BugContestJudging: ; c34a +BugContestJudging: farcall _BugContestJudging ld a, b ld [wScriptVar], a ret -; c355 -MapRadio: ; c355 +MapRadio: ld a, [wScriptVar] ld e, a farcall PlayRadio ret -; c360 -UnownPuzzle: ; c360 +UnownPuzzle: call FadeToMenu farcall _UnownPuzzle ld a, [wSolvedUnownPuzzle] ld [wScriptVar], a call ExitAllMenus ret -; c373 -SlotMachine: ; c373 +SlotMachine: call CheckCoinsAndCoinCase ret c ld a, BANK(_SlotMachine) ld hl, _SlotMachine call StartGameCornerGame ret -; c380 -CardFlip: ; c380 +CardFlip: call CheckCoinsAndCoinCase ret c ld a, BANK(_CardFlip) ld hl, _CardFlip call StartGameCornerGame ret -; c38d -DummyNonfunctionalGameCornerGame: ; c38d +DummyNonfunctionalGameCornerGame: call CheckCoinsAndCoinCase ret c ld a, BANK(_DummyGame) ld hl, _DummyGame call StartGameCornerGame ret -; c39a -StartGameCornerGame: ; c39a +StartGameCornerGame: call FarQueueScript call FadeToMenu ld hl, wQueuedScriptBank @@ -250,9 +231,8 @@ StartGameCornerGame: ; c39a rst FarCall call ExitAllMenus ret -; c3ae -CheckCoinsAndCoinCase: ; c3ae +CheckCoinsAndCoinCase: ld hl, wCoins ld a, [hli] or [hl] @@ -276,7 +256,6 @@ CheckCoinsAndCoinCase: ; c3ae call PrintText scf ret -; c3d1 .NoCoinsText: ; 0xc3d1 ; You have no coins. @@ -290,13 +269,12 @@ CheckCoinsAndCoinCase: ; c3ae db "@" ; 0xc3db -ClearBGPalettesBufferScreen: ; c3db +ClearBGPalettesBufferScreen: call ClearBGPalettes call BufferScreen ret -; c3e2 -ScriptReturnCarry: ; c3e2 +ScriptReturnCarry: jr c, .carry xor a ld [wScriptVar], a @@ -305,23 +283,20 @@ ScriptReturnCarry: ; c3e2 ld a, 1 ld [wScriptVar], a ret -; c3ef -UnusedCheckUnusedTwoDayTimer: ; c3ef +UnusedCheckUnusedTwoDayTimer: farcall CheckUnusedTwoDayTimer ld a, [wUnusedTwoDayTimer] ld [wScriptVar], a ret -; c3fc -ActivateFishingSwarm: ; c3fc +ActivateFishingSwarm: ld a, [wScriptVar] ld [wFishingSwarmFlag], a ret -; c403 -StoreSwarmMapIndices:: ; c403 +StoreSwarmMapIndices:: ld a, c and a jr nz, .yanma @@ -338,27 +313,23 @@ StoreSwarmMapIndices:: ; c403 ld a, e ld [wYanmaMapNumber], a ret -; c419 -CheckPokerus: ; c419 +CheckPokerus: ; Check if a monster in your party has Pokerus farcall _CheckPokerus jp ScriptReturnCarry -; c422 -ResetLuckyNumberShowFlag: ; c422 +ResetLuckyNumberShowFlag: farcall RestartLuckyNumberCountdown ld hl, wLuckyNumberShowFlag res LUCKYNUMBERSHOW_GAME_OVER_F, [hl] farcall LoadOrRegenerateLuckyIDNumber ret -; c434 -CheckLuckyNumberShowFlag: ; c434 +CheckLuckyNumberShowFlag: farcall _CheckLuckyNumberShowFlag jp ScriptReturnCarry -; c43d SnorlaxAwake: ; 0xc43d ; Check if the Poké Flute channel is playing, and if the player is standing @@ -411,13 +382,12 @@ SnorlaxAwake: ; 0xc43d db -1 -PlayCurMonCry: ; c472 +PlayCurMonCry: ld a, [wCurPartySpecies] jp PlayMonCry -; c478 -GameboyCheck: ; c478 +GameboyCheck: ld a, [hCGB] and a jr nz, .cgb @@ -439,7 +409,7 @@ GameboyCheck: ; c478 ret -FadeOutMusic: ; c48f +FadeOutMusic: ld a, LOW(MUSIC_NONE) ld [wMusicFadeID], a ld a, HIGH(MUSIC_NONE) @@ -447,21 +417,18 @@ FadeOutMusic: ; c48f ld a, $2 ld [wMusicFade], a ret -; c49f -Diploma: ; c49f +Diploma: call FadeToMenu farcall _Diploma call ExitAllMenus ret -; c4ac -PrintDiploma: ; c4ac +PrintDiploma: call FadeToMenu farcall _PrintDiploma call ExitAllMenus ret -; c4b9 TrainerHouse: ; 0xc4b9 ld a, BANK(sMysteryGiftTrainerHouseFlag) diff --git a/engine/events/squirtbottle.asm b/engine/events/squirtbottle.asm index f6ab00951..74fd4d991 100644 --- a/engine/events/squirtbottle.asm +++ b/engine/events/squirtbottle.asm @@ -1,4 +1,4 @@ -_Squirtbottle: ; 50730 +_Squirtbottle: ld hl, .SquirtbottleScript call QueueScript ld a, $1 @@ -44,4 +44,3 @@ _Squirtbottle: ; 50730 xor a ld [wScriptVar], a ret -; 50779 diff --git a/engine/events/std_collision.asm b/engine/events/std_collision.asm index 775f7c10c..320953cf9 100644 --- a/engine/events/std_collision.asm +++ b/engine/events/std_collision.asm @@ -1,4 +1,4 @@ -CheckFacingTileForStdScript:: ; 1365b +CheckFacingTileForStdScript:: ; Checks to see if the tile you're facing has a std script associated with it. If so, executes the script and returns carry. ld a, c ld de, 3 diff --git a/engine/events/std_scripts.asm b/engine/events/std_scripts.asm index 6e873a7c7..0831f92e0 100644 --- a/engine/events/std_scripts.asm +++ b/engine/events/std_scripts.asm @@ -1907,9 +1907,8 @@ HappinessCheckScript: closetext end -Movement_ContestResults_WalkAfterWarp: ; bcea1 +Movement_ContestResults_WalkAfterWarp: step RIGHT step DOWN turn_head UP step_end -; bcea5 diff --git a/engine/events/sweet_scent.asm b/engine/events/sweet_scent.asm index 509d9775d..7c6df4948 100644 --- a/engine/events/sweet_scent.asm +++ b/engine/events/sweet_scent.asm @@ -1,10 +1,9 @@ -SweetScentFromMenu: ; 506bc +SweetScentFromMenu: ld hl, .SweetScent call QueueScript ld a, $1 ld [wFieldMoveSucceeded], a ret -; 506c8 .SweetScent: ; 0x506c8 reloadmappart @@ -33,7 +32,7 @@ SweetScentNothing: ; 0x506e9 end ; 0x506ef -SweetScentEncounter: ; 506ef +SweetScentEncounter: farcall CanUseSweetScent jr nc, .no_battle ld hl, wStatusFlags2 @@ -60,7 +59,6 @@ SweetScentEncounter: ; 506ef ld [wScriptVar], a ld [wBattleType], a ret -; 50726 UnknownText_0x50726: ; 0x50726 ; used SWEET SCENT! diff --git a/engine/events/treemons.asm b/engine/events/treemons.asm index 6d55004f4..1fdeceb0a 100644 --- a/engine/events/treemons.asm +++ b/engine/events/treemons.asm @@ -1,4 +1,4 @@ -TreeMonEncounter: ; b81ea +TreeMonEncounter: farcall StubbedTrainerRankings_TreeEncounters xor a @@ -25,9 +25,8 @@ TreeMonEncounter: ; b81ea xor a ld [wScriptVar], a ret -; b8219 -RockMonEncounter: ; b8219 +RockMonEncounter: xor a ld [wTempWildMonSpecies], a @@ -54,11 +53,10 @@ RockMonEncounter: ; b8219 .no_battle xor a ret -; b823e db $05 ; ???? -GetTreeMonSet: ; b823f +GetTreeMonSet: ; Return carry and treemon set in a ; if the current map is in table hl. ld a, [wMapNumber] @@ -93,11 +91,10 @@ GetTreeMonSet: ; b823f ld a, [hl] scf ret -; b825e INCLUDE "data/wild/treemon_maps.asm" -GetTreeMons: ; b82d2 +GetTreeMons: ; Return the address of TreeMon table a in hl. ; Return nc if table a doesn't exist. @@ -123,11 +120,10 @@ GetTreeMons: ; b82d2 .quit xor a ret -; b82e8 INCLUDE "data/wild/treemons.asm" -GetTreeMon: ; b83e5 +GetTreeMon: push hl call GetTreeScore pop hl @@ -168,9 +164,8 @@ GetTreeMon: ; b83e5 jr nz, .skip call SelectTreeMon ret -; b841f -SelectTreeMon: ; b841f +SelectTreeMon: ; Read a TreeMons table and pick one monster at random. ld a, 100 @@ -195,14 +190,13 @@ SelectTreeMon: ; b841f scf ret -NoTreeMon: ; b843b +NoTreeMon: xor a ld [wTempWildMonSpecies], a ld [wCurPartyLevel], a ret -; b8443 -GetTreeScore: ; b8443 +GetTreeScore: call .CoordScore ld [wBuffer1], a call .OTIDScore @@ -228,9 +222,8 @@ GetTreeScore: ; b8443 .rare ld a, TREEMON_SCORE_RARE ret -; b8466 -.CoordScore: ; b8466 +.CoordScore: call GetFacingTileCoord ld hl, 0 ld c, e @@ -269,9 +262,8 @@ GetTreeScore: ; b8443 ld a, [hQuotient + 3] ret -; b849d -.OTIDScore: ; b849d +.OTIDScore: ld a, [wPlayerID] ld [hDividend], a ld a, [wPlayerID + 1] @@ -282,4 +274,3 @@ GetTreeScore: ; b8443 call Divide ld a, [hQuotient + 3] ret -; b84b3 diff --git a/engine/events/unown_walls.asm b/engine/events/unown_walls.asm index 64558167a..4b4aaaf87 100644 --- a/engine/events/unown_walls.asm +++ b/engine/events/unown_walls.asm @@ -11,7 +11,7 @@ HoOhChamber: ; 0x8addb ret ; 0x8adef -OmanyteChamber: ; 8adef +OmanyteChamber: call GetMapAttributesPointer ; pointless? ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER ld b, CHECK_FLAG @@ -51,9 +51,8 @@ OmanyteChamber: ; 8adef .nope ret -; 8ae30 -SpecialAerodactylChamber: ; 8ae30 +SpecialAerodactylChamber: push de push bc @@ -79,9 +78,8 @@ SpecialAerodactylChamber: ; 8ae30 pop bc pop de ret -; 8ae4e -SpecialKabutoChamber: ; 8ae4e +SpecialKabutoChamber: push hl push de @@ -101,9 +99,8 @@ SpecialKabutoChamber: ; 8ae4e pop de pop hl ret -; 8ae68 -DisplayUnownWords: ; 8ae68 +DisplayUnownWords: ld a, [wScriptVar] ld hl, MenuHeaders_UnownWalls and a @@ -151,11 +148,10 @@ DisplayUnownWords: ; 8ae68 call PlayClickSFX call CloseWindow ret -; 8aebc INCLUDE "data/events/unown_walls.asm" -_DisplayUnownWords_FillAttr: ; 8aee9 +_DisplayUnownWords_FillAttr: ld a, [de] cp $ff ret z @@ -170,9 +166,8 @@ _DisplayUnownWords_FillAttr: ; 8aee9 inc hl inc de jr _DisplayUnownWords_FillAttr -; 8aefd -.PlaceSquare: ; 8aefd +.PlaceSquare: push hl ld [hli], a ld [hld], a @@ -183,9 +178,8 @@ _DisplayUnownWords_FillAttr: ; 8aee9 ld [hl], a pop hl ret -; 8af09 -_DisplayUnownWords_CopyWord: ; 8af09 +_DisplayUnownWords_CopyWord: push hl push de .word_loop @@ -203,9 +197,8 @@ _DisplayUnownWords_CopyWord: ; 8af09 pop de pop hl ret -; 8af1c -.ConvertChar: ; 8af1c +.ConvertChar: push hl ld a, c cp $60 @@ -264,4 +257,3 @@ _DisplayUnownWords_CopyWord: ; 8af09 ld [hl], $2 pop hl ret -; 8af6b diff --git a/engine/events/whiteout.asm b/engine/events/whiteout.asm index 4bf656055..2eb24487c 100644 --- a/engine/events/whiteout.asm +++ b/engine/events/whiteout.asm @@ -32,23 +32,21 @@ Script_Whiteout: ; 0x124ce db "@" ; 0x124fa -OverworldBGMap: ; 124fa +OverworldBGMap: call ClearPalettes call ClearScreen call WaitBGMap2 call HideSprites call RotateThreePalettesLeft ret -; 1250a -BattleBGMap: ; 1250a +BattleBGMap: ld b, SCGB_BATTLE_GRAYSCALE call GetSGBLayout call SetPalettes ret -; 12513 -HalveMoney: ; 12513 +HalveMoney: farcall StubbedTrainerRankings_WhiteOuts ; Halve the player's money. @@ -63,10 +61,9 @@ HalveMoney: ; 12513 rra ld [hl], a ret -; 12527 -GetWhiteoutSpawn: ; 12527 +GetWhiteoutSpawn: ld a, [wLastSpawnMapGroup] ld d, a ld a, [wLastSpawnMapNumber] @@ -79,4 +76,3 @@ GetWhiteoutSpawn: ; 12527 .yes ld [wDefaultSpawnpoint], a ret -; 1253d diff --git a/engine/games/card_flip.asm b/engine/games/card_flip.asm index 8f5131983..6fb3502af 100644 --- a/engine/games/card_flip.asm +++ b/engine/games/card_flip.asm @@ -4,13 +4,13 @@ CARDFLIP_LIGHT_ON EQU $f5 CARDFLIP_DECK_SIZE EQU 4 * 6 ; two labels below called from inside ./dummy_game.asm -Unknown_e00ed: ; e00ed (38:40ed) +Unknown_e00ed: ; Graphics for an unused Game Corner ; game were meant to be here. -ret_e00ed: ; e00ed (38:40ed) +ret_e00ed: ret -_CardFlip: ; e00ee (38:40ee) +_CardFlip: ld hl, wOptions set NO_TEXT_SCROLL, [hl] call ClearBGPalettes @@ -74,7 +74,7 @@ _CardFlip: ; e00ee (38:40ee) res 4, [hl] ret -.CardFlip: ; e0191 (38:4191) +.CardFlip: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -85,9 +85,8 @@ _CardFlip: ; e00ee (38:40ee) ld h, [hl] ld l, a jp hl -; e01a0 (38:41a0) -.Jumptable: ; e01a0 +.Jumptable: dw .AskPlayWithThree dw .DeductCoins dw .ChooseACard @@ -96,15 +95,13 @@ _CardFlip: ; e00ee (38:40ee) dw .TabulateTheResult dw .PlayAgain dw .Quit -; e01b0 -.Increment: ; e01b0 +.Increment: ld hl, wJumptableIndex inc [hl] ret -; e01b5 -.AskPlayWithThree: ; e01b5 +.AskPlayWithThree: ld hl, .PlayWithThreeCoinsText call CardFlip_UpdateCoinBalanceDisplay call YesNoBox @@ -117,7 +114,6 @@ _CardFlip: ; e00ee (38:40ee) ld a, 7 ld [wJumptableIndex], a ret -; e01cd .PlayWithThreeCoinsText: ; 0xe01cd ; Play with three coins? @@ -125,7 +121,7 @@ _CardFlip: ; e00ee (38:40ee) db "@" ; 0xe01d2 -.DeductCoins: ; e01d2 +.DeductCoins: ld a, [wCoins] ld h, a ld a, [wCoins + 1] @@ -159,7 +155,6 @@ _CardFlip: ; e00ee (38:40ee) call WaitSFX call .Increment ret -; e0212 .NotEnoughCoinsText: ; 0xe0212 ; Not enough coins… @@ -167,7 +162,7 @@ _CardFlip: ; e00ee (38:40ee) db "@" ; 0xe0217 -.ChooseACard: ; e0217 +.ChooseACard: xor a ld [hBGMapMode], a hlcoord 0, 0 @@ -238,7 +233,6 @@ _CardFlip: ; e00ee (38:40ee) ld [wCardFlipWhichCard], a call .Increment ret -; e02b2 .ChooseACardText: ; 0xe02b2 ; Choose a card. @@ -246,7 +240,7 @@ _CardFlip: ; e00ee (38:40ee) db "@" ; 0xe02b7 -.PlaceYourBet: ; e02b7 +.PlaceYourBet: ld hl, .PlaceYourBetText call CardFlip_UpdateCoinBalanceDisplay .betloop @@ -262,7 +256,6 @@ _CardFlip: ; e00ee (38:40ee) .betdone call .Increment ret -; e02d5 .PlaceYourBetText: ; 0xe02d5 ; Place your bet. @@ -270,7 +263,7 @@ _CardFlip: ; e00ee (38:40ee) db "@" ; 0xe02da -.CheckTheCard: ; e02da +.CheckTheCard: xor a ld [hVBlankCounter], a call CardFlip_UpdateCursorOAM @@ -298,16 +291,14 @@ _CardFlip: ; e00ee (38:40ee) call WaitBGMap2 call .Increment ret -; e0314 -.TabulateTheResult: ; e0314 +.TabulateTheResult: call CardFlip_CheckWinCondition call WaitPressAorB_BlinkCursor call .Increment ret -; e031e -.PlayAgain: ; e031e +.PlayAgain: call ClearSprites ld hl, .PlayAgainText call CardFlip_UpdateCoinBalanceDisplay @@ -337,7 +328,6 @@ _CardFlip: ; e00ee (38:40ee) ld a, 1 ld [wJumptableIndex], a ret -; e0356 .PlayAgainText: ; 0xe0356 ; Want to play again? @@ -351,13 +341,12 @@ _CardFlip: ; e00ee (38:40ee) db "@" ; 0xe0360 -.Quit: ; e0360 +.Quit: ld hl, wJumptableIndex set 7, [hl] ret -; e0366 -CardFlip_ShuffleDeck: ; e0366 +CardFlip_ShuffleDeck: ld hl, wDeck ld bc, CARDFLIP_DECK_SIZE xor a @@ -384,9 +373,8 @@ CardFlip_ShuffleDeck: ; e0366 ld bc, CARDFLIP_DECK_SIZE call ByteFill ret -; e0398 -CollapseCursorPosition: ; e0398 +CollapseCursorPosition: ld hl, 0 ld bc, 6 ld a, [wCardFlipCursorY] @@ -396,9 +384,8 @@ CollapseCursorPosition: ; e0398 ld c, a add hl, bc ret -; e03ac -GetCoordsOfChosenCard: ; e03ac +GetCoordsOfChosenCard: ld a, [wCardFlipWhichCard] and a jr nz, .BottomCard @@ -412,27 +399,24 @@ GetCoordsOfChosenCard: ; e03ac .done ret -; e03c1 -PlaceCardFaceDown: ; e03c1 +PlaceCardFaceDown: xor a ld [hBGMapMode], a ld de, .FaceDownCardTilemap lb bc, 6, 5 call CardFlip_CopyToBox ret -; e03ce -.FaceDownCardTilemap: ; e03ce +.FaceDownCardTilemap: db $08, $09, $09, $09, $0a db $0b, $28, $2b, $28, $0c db $0b, $2c, $2d, $2e, $0c db $0b, $2f, $30, $31, $0c db $0b, $32, $33, $34, $0c db $0d, $0e, $0e, $0e, $0f -; e03ec -CardFlip_DisplayCardFaceUp: ; e03ec +CardFlip_DisplayCardFaceUp: xor a ld [hBGMapMode], a push hl @@ -493,18 +477,16 @@ CardFlip_DisplayCardFaceUp: ; e03ec lb bc, 6, 5 call CardFlip_FillBox ret -; e043b -.FaceUpCardTilemap: ; e043b +.FaceUpCardTilemap: db $18, $19, $19, $19, $1a db $1b, $35, $7f, $7f, $1c db $0b, $28, $28, $28, $0c db $0b, $28, $28, $28, $0c db $0b, $28, $28, $28, $0c db $1d, $1e, $1e, $1e, $1f -; e0459 -.Deck: ; e0459 +.Deck: ; level, pic anchor (3x3) db "1", $4e, "1", $57, "1", $69, "1", $60 db "2", $4e, "2", $57, "2", $69, "2", $60 @@ -512,9 +494,8 @@ CardFlip_DisplayCardFaceUp: ; e03ec db "4", $4e, "4", $57, "4", $69, "4", $60 db "5", $4e, "5", $57, "5", $69, "5", $60 db "6", $4e, "6", $57, "6", $69, "6", $60 -; e0489 -CardFlip_UpdateCoinBalanceDisplay: ; e0489 +CardFlip_UpdateCoinBalanceDisplay: push hl hlcoord 0, 12 ld b, 4 @@ -524,9 +505,8 @@ CardFlip_UpdateCoinBalanceDisplay: ; e0489 call PrintTextBoxText call CardFlip_PrintCoinBalance ret -; e049c -CardFlip_PrintCoinBalance: ; e049c +CardFlip_PrintCoinBalance: hlcoord 9, 15 ld b, 1 ld c, 9 @@ -539,13 +519,11 @@ CardFlip_PrintCoinBalance: ; e049c lb bc, PRINTNUM_LEADINGZEROS | 2, 4 call PrintNum ret -; e04bc .CoinStr: db "COIN@" -; e04c1 -CardFlip_InitTilemap: ; e04c1 (38:44c1) +CardFlip_InitTilemap: xor a ld [hBGMapMode], a hlcoord 0, 0 @@ -560,12 +538,11 @@ CardFlip_InitTilemap: ; e04c1 (38:44c1) lb bc, 4, 18 call TextBox ret -; e04e5 (38:44e5) -CardFlip_FillGreenBox: ; e04e5 +CardFlip_FillGreenBox: ld a, $29 -CardFlip_FillBox: ; e04e7 (38:44e7) +CardFlip_FillBox: .row push bc push hl @@ -581,7 +558,7 @@ CardFlip_FillBox: ; e04e7 (38:44e7) jr nz, .row ret -CardFlip_CopyToBox: ; e04f7 (38:44f7) +CardFlip_CopyToBox: .row push bc push hl @@ -598,9 +575,8 @@ CardFlip_CopyToBox: ; e04f7 (38:44f7) dec b jr nz, .row ret -; e0509 (38:4509) -CardFlip_CopyOAM: ; e0509 +CardFlip_CopyOAM: ld de, wVirtualOAMSprite00 ld a, [hli] .loop @@ -623,9 +599,8 @@ CardFlip_CopyOAM: ; e0509 dec a jr nz, .loop ret -; e0521 -CardFlip_ShiftDigitsLeftTwoPixels: ; e0521 (38:4521) +CardFlip_ShiftDigitsLeftTwoPixels: ld de, vTiles0 tile "0" ld hl, vTiles0 tile "0" + 2 ld bc, 10 tiles - 2 @@ -635,9 +610,8 @@ CardFlip_ShiftDigitsLeftTwoPixels: ; e0521 (38:4521) ld [hli], a ld [hl], a ret -; e0534 (38:4534) -CardFlip_BlankDiscardedCardSlot: ; e0534 +CardFlip_BlankDiscardedCardSlot: xor a ld [hBGMapMode], a ld a, [wCardFlipFaceUpCard] @@ -660,18 +634,16 @@ CardFlip_BlankDiscardedCardSlot: ; e0534 ld h, [hl] ld l, a jp hl -; e0553 -.Jumptable: ; e0553 +.Jumptable: dw .Level1 dw .Level2 dw .Level3 dw .Level4 dw .Level5 dw .Level6 -; e055f -.Level1: ; e055f +.Level1: ld hl, wDiscardPile + 4 add hl, de ld a, [hl] @@ -695,9 +667,8 @@ CardFlip_BlankDiscardedCardSlot: ; e0534 add hl, bc ld [hl], $3d ret -; e0583 -.Level2: ; e0583 +.Level2: ld hl, wDiscardPile - 4 add hl, de ld a, [hl] @@ -721,9 +692,8 @@ CardFlip_BlankDiscardedCardSlot: ; e0534 add hl, bc ld [hl], $3a ret -; e05a7 -.Level3: ; e05a7 +.Level3: ld hl, wDiscardPile + 4 add hl, de ld a, [hl] @@ -747,9 +717,8 @@ CardFlip_BlankDiscardedCardSlot: ; e0534 add hl, bc ld [hl], $3d ret -; e05cb -.Level4: ; e05cb +.Level4: ld hl, wDiscardPile - 4 add hl, de ld a, [hl] @@ -773,9 +742,8 @@ CardFlip_BlankDiscardedCardSlot: ; e0534 add hl, bc ld [hl], $3a ret -; e05ef -.Level5: ; e05ef +.Level5: ld hl, wDiscardPile + 4 add hl, de ld a, [hl] @@ -799,9 +767,8 @@ CardFlip_BlankDiscardedCardSlot: ; e0534 add hl, bc ld [hl], $3d ret -; e0613 -.Level6: ; e0613 +.Level6: ld hl, wDiscardPile - 4 add hl, de ld a, [hl] @@ -825,9 +792,8 @@ CardFlip_BlankDiscardedCardSlot: ; e0534 add hl, bc ld [hl], $3a ret -; e0637 -CardFlip_CheckWinCondition: ; e0637 +CardFlip_CheckWinCondition: call CollapseCursorPosition add hl, hl ld de, .Jumptable @@ -836,9 +802,8 @@ CardFlip_CheckWinCondition: ; e0637 ld h, [hl] ld l, a jp hl -; e0643 -.Jumptable: ; e0643 +.Jumptable: dw .Impossible dw .Impossible dw .PikaJiggly @@ -894,233 +859,227 @@ CardFlip_CheckWinCondition: ; e0637 dw .JigglySix dw .PoliSix dw .OddSix -; e06a3 -.Impossible: ; e06a3 +.Impossible: jp .Lose -; e06a6 -.PikaJiggly: ; e06a6 +.PikaJiggly: ld a, [wCardFlipFaceUpCard] and $2 jp nz, .Lose jr .WinSix -.PoliOddish: ; e06b0 +.PoliOddish: ld a, [wCardFlipFaceUpCard] and $2 jr nz, .WinSix jp .Lose -.WinSix: ; e06ba +.WinSix: ld c, $6 ld de, SFX_2ND_PLACE jp .Payout -; e06c2 -.OneTwo: ; e06c2 +.OneTwo: ld a, [wCardFlipFaceUpCard] and $18 jr z, .WinNine jp .Lose -.ThreeFour: ; e06cc +.ThreeFour: ld a, [wCardFlipFaceUpCard] and $18 cp $8 jr z, .WinNine jp .Lose -.FiveSix: ; e06d8 +.FiveSix: ld a, [wCardFlipFaceUpCard] and $18 cp $10 jr z, .WinNine jp .Lose -.WinNine: ; e06e4 +.WinNine: ld c, $9 ld de, SFX_2ND_PLACE jp .Payout -; e06ec -.Pikachu: ; e06ec +.Pikachu: ld a, [wCardFlipFaceUpCard] and $3 jr z, .WinTwelve jp .Lose -.Jigglypuff: ; e06f6 +.Jigglypuff: ld a, [wCardFlipFaceUpCard] and $3 cp $1 jr z, .WinTwelve jp .Lose -.Poliwag: ; e0702 +.Poliwag: ld a, [wCardFlipFaceUpCard] and $3 cp $2 jr z, .WinTwelve jp .Lose -.Oddish: ; e070e +.Oddish: ld a, [wCardFlipFaceUpCard] and $3 cp $3 jr z, .WinTwelve jp .Lose -.WinTwelve: ; e071a +.WinTwelve: ld c, $c ld de, SFX_2ND_PLACE jp .Payout -; e0722 -.One: ; e0722 +.One: ld a, [wCardFlipFaceUpCard] and $1c jr z, .WinEighteen jp .Lose -.Two: ; e072c +.Two: ld a, [wCardFlipFaceUpCard] and $1c cp $4 jr z, .WinEighteen jp .Lose -.Three: ; e0738 +.Three: ld a, [wCardFlipFaceUpCard] and $1c cp $8 jr z, .WinEighteen jp .Lose -.Four: ; e0744 +.Four: ld a, [wCardFlipFaceUpCard] and $1c cp $c jr z, .WinEighteen jp .Lose -.Five: ; e0750 +.Five: ld a, [wCardFlipFaceUpCard] and $1c cp $10 jr z, .WinEighteen jp .Lose -.Six: ; e075c +.Six: ld a, [wCardFlipFaceUpCard] and $1c cp $14 jr z, .WinEighteen jp .Lose -.WinEighteen: ; e0768 +.WinEighteen: ld c, $12 ld de, SFX_2ND_PLACE jp .Payout -; e0770 -.PikaOne: ; e0770 +.PikaOne: ld e, $0 jr .CheckWin72 -.JigglyOne: ; e0774 +.JigglyOne: ld e, $1 jr .CheckWin72 -.PoliOne: ; e0778 +.PoliOne: ld e, $2 jr .CheckWin72 -.OddOne: ; e077c +.OddOne: ld e, $3 jr .CheckWin72 -.PikaTwo: ; e0780 +.PikaTwo: ld e, $4 jr .CheckWin72 -.JigglyTwo: ; e0784 +.JigglyTwo: ld e, $5 jr .CheckWin72 -.PoliTwo: ; e0788 +.PoliTwo: ld e, $6 jr .CheckWin72 -.OddTwo: ; e078c +.OddTwo: ld e, $7 jr .CheckWin72 -.PikaThree: ; e0790 +.PikaThree: ld e, $8 jr .CheckWin72 -.JigglyThree: ; e0794 +.JigglyThree: ld e, $9 jr .CheckWin72 -.PoliThree: ; e0798 +.PoliThree: ld e, $a jr .CheckWin72 -.OddThree: ; e079c +.OddThree: ld e, $b jr .CheckWin72 -.PikaFour: ; e07a0 +.PikaFour: ld e, $c jr .CheckWin72 -.JigglyFour: ; e07a4 +.JigglyFour: ld e, $d jr .CheckWin72 -.PoliFour: ; e07a8 +.PoliFour: ld e, $e jr .CheckWin72 -.OddFour: ; e07ac +.OddFour: ld e, $f jr .CheckWin72 -.PikaFive: ; e07b0 +.PikaFive: ld e, $10 jr .CheckWin72 -.JigglyFive: ; e07b4 +.JigglyFive: ld e, $11 jr .CheckWin72 -.PoliFive: ; e07b8 +.PoliFive: ld e, $12 jr .CheckWin72 -.OddFive: ; e07bc +.OddFive: ld e, $13 jr .CheckWin72 -.PikaSix: ; e07c0 +.PikaSix: ld e, $14 jr .CheckWin72 -.JigglySix: ; e07c4 +.JigglySix: ld e, $15 jr .CheckWin72 -.PoliSix: ; e07c8 +.PoliSix: ld e, $16 jr .CheckWin72 -.OddSix: ; e07cc +.OddSix: ld e, $17 -.CheckWin72: ; e07ce +.CheckWin72: ld a, [wCardFlipFaceUpCard] cp e jr nz, .Lose @@ -1128,7 +1087,7 @@ CardFlip_CheckWinCondition: ; e0637 ld de, SFX_2ND_PLACE jr .Payout -.Lose: ; e07db +.Lose: ld de, SFX_WRONG call PlaySFX ld hl, .Text_Darn @@ -1136,7 +1095,7 @@ CardFlip_CheckWinCondition: ; e0637 call WaitSFX ret -.Payout: ; e07eb +.Payout: push bc push de ld hl, .Text_Yeah @@ -1159,7 +1118,6 @@ CardFlip_CheckWinCondition: ; e0637 dec c jr nz, .loop ret -; e0811 .Text_Yeah: ; 0xe0811 ; Yeah! @@ -1173,7 +1131,7 @@ CardFlip_CheckWinCondition: ; e0637 db "@" ; 0xe081b -.AddCoinPlaySFX: ; e081b +.AddCoinPlaySFX: ld a, [wCoins] ld h, a ld a, [wCoins + 1] @@ -1186,9 +1144,8 @@ CardFlip_CheckWinCondition: ; e0637 ld de, SFX_PAY_DAY call PlaySFX ret -; e0833 -.IsCoinCaseFull: ; e0833 +.IsCoinCaseFull: ld a, [wCoins] cp HIGH(MAX_COINS) jr c, .less @@ -1207,16 +1164,14 @@ CardFlip_CheckWinCondition: ; e0637 .less and a ret -; e0849 -PlaceOAMCardBorder: ; e0849 +PlaceOAMCardBorder: call GetCoordsOfChosenCard ld hl, .SpriteData call CardFlip_CopyOAM ret -; e0853 -.SpriteData: ; e0853 +.SpriteData: db 18 dsprite 0, 0, 0, 0, $04, 0 dsprite 0, 0, 1, 0, $06, 0 @@ -1241,9 +1196,8 @@ PlaceOAMCardBorder: ; e0849 dsprite 5, 0, 2, 0, $06, 0 | Y_FLIP dsprite 5, 0, 3, 0, $06, 0 | Y_FLIP dsprite 5, 0, 4, 0, $04, 0 | X_FLIP | Y_FLIP -; e089c -ChooseCard_HandleJoypad: ; e089c +ChooseCard_HandleJoypad: ld hl, hJoyLast ld a, [hl] and D_LEFT @@ -1258,9 +1212,8 @@ ChooseCard_HandleJoypad: ; e089c and D_DOWN jp nz, .d_down ret -; e08b8 -.d_left ; e08b8 +.d_left ld hl, wCardFlipCursorX ld a, [wCardFlipCursorY] and a @@ -1296,9 +1249,8 @@ ChooseCard_HandleJoypad: ; e089c ld a, $1 ld [wCardFlipCursorX], a jp .play_sound -; e08ef -.d_right ; e08ef +.d_right ld hl, wCardFlipCursorX ld a, [wCardFlipCursorY] and a @@ -1319,7 +1271,7 @@ ChooseCard_HandleJoypad: ; e089c inc [hl] jr .play_sound -.d_up ; e090a +.d_up ld hl, wCardFlipCursorY ld a, [wCardFlipCursorX] and a @@ -1356,7 +1308,7 @@ ChooseCard_HandleJoypad: ; e089c ld [wCardFlipCursorX], a jr .play_sound -.d_down ; e093d +.d_down ld hl, wCardFlipCursorY ld a, [wCardFlipCursorX] and a @@ -1377,13 +1329,12 @@ ChooseCard_HandleJoypad: ; e089c inc [hl] inc [hl] -.play_sound ; e0959 +.play_sound ld de, SFX_POKEBALLS_PLACED_ON_TABLE call PlaySFX ret -; e0960 -CardFlip_UpdateCursorOAM: ; e0960 +CardFlip_UpdateCursorOAM: call ClearSprites ld a, [hCGB] and a @@ -1407,9 +1358,8 @@ CardFlip_UpdateCursorOAM: ; e0960 ld l, a call CardFlip_CopyOAM ret -; e0981 -.OAMData: ; e0981 +.OAMData: cardflip_cursor: MACRO if _NARG >= 5 dbpixel \1, \2, \3, \4 @@ -1475,9 +1425,8 @@ ENDM cardflip_cursor 15, 12, 0, 4, .SingleTile cardflip_cursor 17, 12, 0, 4, .SingleTile cardflip_cursor 19, 12, 0, 4, .SingleTile -; e0a41 -.SingleTile: ; e0a41 +.SingleTile: db 6 dsprite 0, 0, -1, 7, $00, 0 | PRIORITY dsprite 0, 0, 0, 0, $02, 0 | PRIORITY @@ -1486,7 +1435,7 @@ ENDM dsprite 0, 5, 0, 0, $02, 0 | Y_FLIP | PRIORITY dsprite 0, 5, 1, 0, $03, 0 | PRIORITY -.PokeGroup: ; e0a5a +.PokeGroup: db 26 dsprite 0, 0, -1, 7, $00, 0 | PRIORITY dsprite 0, 0, 0, 0, $02, 0 | PRIORITY @@ -1515,7 +1464,7 @@ ENDM dsprite 10, 1, 0, 0, $02, 0 | Y_FLIP | PRIORITY dsprite 10, 1, 1, 0, $03, 0 | PRIORITY -.NumGroup: ; e0ac3 +.NumGroup: db 20 dsprite 0, 0, -1, 7, $00, 0 | PRIORITY dsprite 0, 0, 0, 0, $02, 0 | PRIORITY @@ -1538,7 +1487,7 @@ ENDM dsprite 0, 5, 7, 0, $02, 0 | Y_FLIP | PRIORITY dsprite 0, 5, 8, 0, $03, 0 | PRIORITY -.NumGroupPair: ; e0b14 +.NumGroupPair: db 30 dsprite 0, 0, 0, 0, $00, 0 | PRIORITY dsprite 0, 0, 1, 0, $02, 0 | PRIORITY @@ -1571,7 +1520,7 @@ ENDM dsprite 2, 1, 8, 0, $03, 0 | PRIORITY dsprite 2, 1, 9, 0, $03, 0 | PRIORITY -.PokeGroupPair: ; e0b8d +.PokeGroupPair: db 38 dsprite 0, 0, -1, 7, $00, 0 | PRIORITY dsprite 0, 0, 3, 0, $00, 0 | X_FLIP | PRIORITY @@ -1612,15 +1561,14 @@ ENDM dsprite 11, 1, 2, 0, $02, 0 | Y_FLIP | PRIORITY dsprite 11, 1, 3, 0, $03, 0 | X_FLIP | Y_FLIP | PRIORITY -.Impossible: ; e0c26 +.Impossible: db 4 dsprite 0, 0, 0, 0, $00, 0 | PRIORITY dsprite 0, 0, 1, 0, $00, 0 | X_FLIP | PRIORITY dsprite 1, 0, 0, 0, $00, 0 | Y_FLIP | PRIORITY dsprite 1, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP | PRIORITY -; e0c37 -CardFlip_InitAttrPals: ; e0c37 (38:4c37) +CardFlip_InitAttrPals: ld a, [hCGB] and a ret z @@ -1666,27 +1614,24 @@ CardFlip_InitAttrPals: ; e0c37 (38:4c37) pop af ld [rSVBK], a ret -; e0c93 (38:4c93) -.palettes ; e0c93 +.palettes INCLUDE "gfx/card_flip/card_flip.pal" -; e0cdb -CardFlipLZ03: ; e0cdb +CardFlipLZ03: INCBIN "gfx/card_flip/card_flip_3.2bpp.lz" -CardFlipOffButtonGFX: ; e0cf6 +CardFlipOffButtonGFX: INCBIN "gfx/card_flip/off.2bpp" -CardFlipOnButtonGFX: ; e0d06 +CardFlipOnButtonGFX: INCBIN "gfx/card_flip/on.2bpp" -CardFlipLZ01: ; e0d16 +CardFlipLZ01: INCBIN "gfx/card_flip/card_flip_1.2bpp.lz" -CardFlipLZ02: ; e0ea8 +CardFlipLZ02: INCBIN "gfx/card_flip/card_flip_2.2bpp.lz" -CardFlipTilemap: ; e110c +CardFlipTilemap: INCBIN "gfx/card_flip/card_flip.tilemap" -; e1190 diff --git a/engine/games/dummy_game.asm b/engine/games/dummy_game.asm index 6d7e12196..02407eb98 100644 --- a/engine/games/dummy_game.asm +++ b/engine/games/dummy_game.asm @@ -1,4 +1,4 @@ -_DummyGame: ; e1e5b (38:5e5b) +_DummyGame: call .LoadGFXAndPals call DelayFrame .loop @@ -243,9 +243,8 @@ endr ld [wJumptableIndex], a ret -; e2010 -DummyGame_CheckMatch: ; e2010 +DummyGame_CheckMatch: ld hl, wDummyGameCard1 ld a, [hli] cp [hl] @@ -322,7 +321,6 @@ DummyGame_CheckMatch: ; e2010 inc bc ret -; e2093 DummyGameText_Yeah: ; 0xe2093 ; , yeah! @@ -336,7 +334,7 @@ DummyGameText_Darn: ; 0xe2098 db "@" ; 0xe209d -DummyGame_InitBoard: ; e209d +DummyGame_InitBoard: ld hl, wDummyGameCards ld bc, wDummyGameCardsEnd - wDummyGameCards xor a @@ -385,9 +383,8 @@ DummyGame_InitBoard: ; e209d jr nz, .loop ret -; e20e5 -DummyGame_SampleTilePlacement: ; e20e5 +DummyGame_SampleTilePlacement: push hl ld de, wDummyGameCards .loop @@ -408,9 +405,8 @@ DummyGame_SampleTilePlacement: ; e20e5 inc hl ret -; e2101 -DummyGame_GetDistributionOfTiles: ; e2101 +DummyGame_GetDistributionOfTiles: ld a, [wMenuCursorY] dec a ld l, a @@ -426,9 +422,8 @@ DummyGame_GetDistributionOfTiles: ; e2101 db $02, $03, $06, $06, $06, $08, $08, $06 db $02, $02, $04, $06, $06, $08, $08, $09 db $02, $02, $02, $04, $07, $08, $08, $0c -; e2128 -DummyGame_PlaceCard: ; e2128 +DummyGame_PlaceCard: ld a, [wDummyGameLastCardPicked] sla a sla a @@ -446,9 +441,8 @@ DummyGame_PlaceCard: ; e2128 call DelayFrames ret -; e2142 -DummyGame_DeleteCard: ; e2142 +DummyGame_DeleteCard: ld a, $1 ld [hli], a ld [hld], a @@ -460,9 +454,8 @@ DummyGame_DeleteCard: ; e2142 call DelayFrames ret -; e2152 -DummyGame_InitStrings: ; e2152 +DummyGame_InitStrings: hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, $1 @@ -483,9 +476,8 @@ DummyGame_InitStrings: ; e2152 db "とったもの@" .japstr2 db "あと かい@" -; e2183 -DummyGame_Card2Coord: ; e2183 +DummyGame_Card2Coord: ld d, 0 .find_row sub 9 @@ -511,9 +503,8 @@ DummyGame_Card2Coord: ; e2183 add hl, de ret -; e21a1 -DummyGame_InterpretJoypad_AnimateCursor: ; e21a1 (38:61a1) +DummyGame_InterpretJoypad_AnimateCursor: ld a, [wJumptableIndex] cp $7 jr nc, .quit @@ -606,7 +597,6 @@ DummyGame_InterpretJoypad_AnimateCursor: ; e21a1 (38:61a1) ld [hl], a ret -; e2221 (38:6221) -LZ_e2221: ; e2221 +LZ_e2221: INCBIN "gfx/dummy_game/dummy_game.2bpp.lz" diff --git a/engine/games/slot_machine.asm b/engine/games/slot_machine.asm index 924c78924..edde84d51 100644 --- a/engine/games/slot_machine.asm +++ b/engine/games/slot_machine.asm @@ -94,7 +94,7 @@ _SlotMachine: res rLCDC_SPRITE_SIZE, [hl] ; 8x8 ret -.InitGFX: ; 926f7 (24:66f7) +.InitGFX: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -163,7 +163,7 @@ _SlotMachine: ld [wKeepSevenBiasChance], a ; 12.5% chance ret -Slots_GetPals: ; 9279b (24:679b) +Slots_GetPals: ld a, %11100100 call DmgToCgbBGPals lb de, %11100100, %11100100 @@ -175,7 +175,7 @@ Slots_GetPals: ; 9279b (24:679b) call DmgToCgbObjPals ret -SlotsLoop: ; 927af (24:67af) +SlotsLoop: ld a, [wJumptableIndex] bit SLOTS_END_LOOP_F, a jr nz, .stop @@ -194,7 +194,7 @@ SlotsLoop: ; 927af (24:67af) scf ret -.Stubbed_Function927d3: ; 927d3 (24:67d3) +.Stubbed_Function927d3: ; dummied out ret ld a, [wReel1ReelAction] @@ -219,9 +219,8 @@ SlotsLoop: ; 927af (24:67af) call DmgToCgbBGPals ret -; 927f8 -.PrintCoinsAndPayout: ; 927f8 (24:67f8) +.PrintCoinsAndPayout: hlcoord 5, 1 ld de, wCoins lb bc, PRINTNUM_LEADINGZEROS | 2, 4 @@ -232,9 +231,8 @@ SlotsLoop: ; 927af (24:67af) call PrintNum ret -; 92811 (24:6811) -Unreferenced_Function92811: ; 92811 +Unreferenced_Function92811: ; debug function? ld a, [wSlotBias] add 0 @@ -252,9 +250,8 @@ Unreferenced_Function92811: ; 92811 ld [hl], a ret -; 9282c -Unreferenced_Function9282c: ; 9282c +Unreferenced_Function9282c: ; animate OAM tiles? ld hl, wcf66 ld a, [hl] @@ -274,9 +271,8 @@ endr jr nz, .loop ret -; 92844 -SlotsJumptable: ; 92844 (24:6844) +SlotsJumptable: jumptable .Jumptable, wJumptableIndex .Jumptable: @@ -300,12 +296,12 @@ SlotsJumptable: ; 92844 (24:6844) dw SlotsAction_RestartOrQuit ; 11 dw SlotsAction_Quit ; 12 -SlotsAction_Next: ; 92879 (24:6879) +SlotsAction_Next: ld hl, wJumptableIndex inc [hl] ret -SlotsAction_Init: ; 9287e (24:687e) +SlotsAction_Init: call SlotsAction_Next xor a ld [wFirstTwoReelsMatching], a @@ -314,7 +310,7 @@ SlotsAction_Init: ; 9287e (24:687e) ld [wSlotMatched], a ret -SlotsAction_BetAndStart: ; 9288e (24:688e) +SlotsAction_BetAndStart: call Slots_AskBet jr nc, .proceed ld a, SLOTS_QUIT @@ -340,7 +336,7 @@ SlotsAction_BetAndStart: ; 9288e (24:688e) call Slots_PlaySFX ret -SlotsAction_WaitStart: ; 928c6 (24:68c6) +SlotsAction_WaitStart: ld hl, wSlotsDelay ld a, [hl] and a @@ -354,7 +350,7 @@ SlotsAction_WaitStart: ; 928c6 (24:68c6) ld [hJoypadSum], a ret -SlotsAction_WaitReel1: ; 928d6 (24:68d6) +SlotsAction_WaitReel1: ld hl, hJoypadSum ld a, [hl] and A_BUTTON @@ -362,7 +358,7 @@ SlotsAction_WaitReel1: ; 928d6 (24:68d6) call SlotsAction_Next call Slots_StopReel1 ld [wReel1ReelAction], a -SlotsAction_WaitStopReel1: ; 928e6 (24:68e6) +SlotsAction_WaitStopReel1: ld a, [wReel1ReelAction] cp REEL_ACTION_DO_NOTHING ret nz @@ -374,7 +370,7 @@ SlotsAction_WaitStopReel1: ; 928e6 (24:68e6) call SlotsAction_Next xor a ld [hJoypadSum], a -SlotsAction_WaitReel2: ; 92900 (24:6900) +SlotsAction_WaitReel2: ld hl, hJoypadSum ld a, [hl] and A_BUTTON @@ -382,7 +378,7 @@ SlotsAction_WaitReel2: ; 92900 (24:6900) call SlotsAction_Next call Slots_StopReel2 ld [wReel2ReelAction], a -SlotsAction_WaitStopReel2: ; 92910 (24:6910) +SlotsAction_WaitStopReel2: ld a, [wReel2ReelAction] cp REEL_ACTION_DO_NOTHING ret nz @@ -394,7 +390,7 @@ SlotsAction_WaitStopReel2: ; 92910 (24:6910) call SlotsAction_Next xor a ld [hJoypadSum], a -SlotsAction_WaitReel3: ; 9292a (24:692a) +SlotsAction_WaitReel3: ld hl, hJoypadSum ld a, [hl] and A_BUTTON @@ -402,7 +398,7 @@ SlotsAction_WaitReel3: ; 9292a (24:692a) call SlotsAction_Next call Slots_StopReel3 ld [wReel3ReelAction], a -SlotsAction_WaitStopReel3: ; 9293a (24:693a) +SlotsAction_WaitStopReel3: ld a, [wReel3ReelAction] cp REEL_ACTION_DO_NOTHING ret nz @@ -416,7 +412,7 @@ SlotsAction_WaitStopReel3: ; 9293a (24:693a) ld [hJoypadSum], a ret -SlotsAction_FlashIfWin: ; 92955 (24:6955) +SlotsAction_FlashIfWin: ld a, [wSlotMatched] cp SLOTS_NO_MATCH jr nz, .GotIt @@ -428,7 +424,7 @@ SlotsAction_FlashIfWin: ; 92955 (24:6955) call SlotsAction_Next ld a, 16 ld [wSlotsDelay], a -SlotsAction_FlashScreen: ; 9296b (24:696b) +SlotsAction_FlashScreen: ld hl, wSlotsDelay ld a, [hl] and a @@ -449,7 +445,7 @@ SlotsAction_FlashScreen: ; 9296b (24:696b) call SlotsAction_Next ret -SlotsAction_GiveEarnedCoins: ; 92987 (24:6987) +SlotsAction_GiveEarnedCoins: xor a ld [wFirstTwoReelsMatching], a ld [wFirstTwoReelsMatchingSevens], a @@ -461,10 +457,10 @@ SlotsAction_GiveEarnedCoins: ; 92987 (24:6987) call SlotsAction_Next ret -SlotsAction_PayoutTextAndAnim: ; 9299e (24:699e) +SlotsAction_PayoutTextAndAnim: call Slots_PayoutText call SlotsAction_Next -SlotsAction_PayoutAnim: ; 929a4 (24:69a4) +SlotsAction_PayoutAnim: ld hl, wSlotsDelay ld a, [hl] inc [hl] @@ -502,7 +498,7 @@ SlotsAction_PayoutAnim: ; 929a4 (24:69a4) call SlotsAction_Next ret -SlotsAction_RestartOrQuit: ; 929d9 (24:69d9) +SlotsAction_RestartOrQuit: call Slots_DeilluminateBetLights call WaitPressAorB_BlinkCursor call Slots_AskPlayAgain @@ -516,12 +512,12 @@ SlotsAction_RestartOrQuit: ; 929d9 (24:69d9) ld [wJumptableIndex], a ret -SlotsAction_Quit: ; 929f0 (24:69f0) +SlotsAction_Quit: ld hl, wJumptableIndex set SLOTS_END_LOOP_F, [hl] ret -Slots_LoadReelState: ; 929f6 (24:69f6) +Slots_LoadReelState: push de call Slots_GetCurrentReelState pop de @@ -535,7 +531,7 @@ Slots_LoadReelState: ; 929f6 (24:69f6) ld [de], a ret -Slots_CheckCoinCaseFull: ; 92a04 (24:6a04) +Slots_CheckCoinCaseFull: ld a, d cp HIGH(MAX_COINS) jr c, .not_full @@ -549,7 +545,7 @@ Slots_CheckCoinCaseFull: ; 92a04 (24:6a04) and a ret -Slots_GetCurrentReelState: ; 92a12 (24:6a12) +Slots_GetCurrentReelState: ld hl, REEL_POSITION add hl, bc ld a, [hl] @@ -569,12 +565,12 @@ Slots_GetCurrentReelState: ; 92a12 (24:6a12) add hl, de ret -Slots_StopReel1: ; 92a2b (24:6a2b) +Slots_StopReel1: ; Always set the REEL_ACTION_STOP_REEL1 action. ld a, REEL_ACTION_STOP_REEL1 ret -Slots_StopReel2: ; 92a2e (24:6a2e) +Slots_StopReel2: ; As long as, the following three meet, there's a 31.25% chance ; to set action REEL_ACTION_SET_UP_REEL2_SKIP_TO_7: ; - Bet is >= 2 coins @@ -603,7 +599,7 @@ Slots_StopReel2: ; 92a2e (24:6a2e) ld a, REEL_ACTION_STOP_REEL2 ret -.CheckReel1ForASeven: ; 92a51 (24:6a51) +.CheckReel1ForASeven: ld a, [wReel1Stopped] and a ret z @@ -614,7 +610,7 @@ Slots_StopReel2: ; 92a2e (24:6a2e) and a ret -Slots_StopReel3: ; 92a60 (24:6a60) +Slots_StopReel3: ; If no matching SEVEN symbols in reels #1 and #2: ; - REEL_ACTION_STOP_REEL3, 100% @@ -667,7 +663,7 @@ Slots_StopReel3: ; 92a60 (24:6a60) ld a, REEL_ACTION_STOP_REEL3 ret -Slots_InitReelTiles: ; 92a98 (24:6a98) +Slots_InitReelTiles: ld bc, wReel1 ld hl, REEL_OAM_ADDR add hl, bc @@ -723,7 +719,7 @@ Slots_InitReelTiles: ; 92a98 (24:6a98) call .OAM ret -.OAM: ; 92af9 (24:6af9) +.OAM: ld hl, REEL_ACTION add hl, bc ld [hl], REEL_ACTION_DO_NOTHING @@ -736,7 +732,7 @@ Slots_InitReelTiles: ; 92a98 (24:6a98) call Slots_UpdateReelPositionAndOAM ret -Slots_SpinReels: ; 92b0f (24:6b0f) +Slots_SpinReels: ld bc, wReel1 call .SpinReel ld bc, wReel2 @@ -745,7 +741,7 @@ Slots_SpinReels: ; 92b0f (24:6b0f) call .SpinReel ret -.SpinReel: ; 92b22 (24:6b22) +.SpinReel: ld hl, REEL_SPIN_DISTANCE add hl, bc ld a, [hl] @@ -782,7 +778,7 @@ Slots_SpinReels: ; 92b0f (24:6b0f) jr nz, .loop ret -Slots_UpdateReelPositionAndOAM: ; 92b53 (24:6b53) +Slots_UpdateReelPositionAndOAM: ld hl, REEL_X_COORD add hl, bc ld a, [hl] @@ -814,7 +810,7 @@ Slots_UpdateReelPositionAndOAM: ; 92b53 (24:6b53) ld [hl], a ret -.LoadOAM: ; 92b83 (24:6b83) +.LoadOAM: ld hl, REEL_OAM_ADDR add hl, bc ld a, [hli] @@ -853,9 +849,8 @@ Slots_UpdateReelPositionAndOAM: ; 92b53 (24:6b53) jr nz, .loop ret -; 92bbe (24:6bbe) -Unreferenced_Function92bbe: ; 92bbe +Unreferenced_Function92bbe: push hl srl a srl a @@ -868,13 +863,11 @@ Unreferenced_Function92bbe: ; 92bbe pop hl ret -; 92bce -.Unknown_92bce: ; 92bce +.Unknown_92bce: db 0, 1, 2, 3, 4, 5 -; 92bd4 -ReelActionJumptable: ; 92bd4 (24:6bd4) +ReelActionJumptable: ld hl, REEL_ACTION add hl, bc ld e, [hl] @@ -887,9 +880,8 @@ ReelActionJumptable: ; 92bd4 (24:6bd4) ld l, a jp hl -; 92be4 (24:6be4) -.Jumptable: ; 92be4 +.Jumptable: dw ReelAction_DoNothing ; 00 dw ReelAction_StopReelIgnoreJoypad ; 01 dw ReelAction_QuadrupleRate ; 02 @@ -915,54 +907,47 @@ ReelActionJumptable: ; 92bd4 (24:6bd4) dw ReelAction_WaitChansey ; 16 dw ReelAction_WaitEgg ; 17 dw ReelAction_DropReel ; 18 -; 92c16 -ReelAction_DoNothing: ; 92c16 +ReelAction_DoNothing: ret -; 92c17 -ReelAction_QuadrupleRate: ; 92c17 +ReelAction_QuadrupleRate: ld hl, REEL_SPIN_RATE add hl, bc ld [hl], 16 ret -; 92c1e -ReelAction_DoubleRate: ; 92c1e +ReelAction_DoubleRate: ld hl, REEL_SPIN_RATE add hl, bc ld [hl], 8 ret -; 92c25 -ReelAction_NormalRate: ; 92c25 +ReelAction_NormalRate: ld hl, REEL_SPIN_RATE add hl, bc ld [hl], 4 ret -; 92c2c -ReelAction_HalfRate: ; 92c2c +ReelAction_HalfRate: ld hl, REEL_SPIN_RATE add hl, bc ld [hl], 2 ret -; 92c33 -ReelAction_QuarterRate: ; 92c33 +ReelAction_QuarterRate: ld hl, REEL_SPIN_RATE add hl, bc ld [hl], 1 ret -; 92c3a -Slots_StopReel: ; 92c3a +Slots_StopReel: ld hl, REEL_SPIN_RATE add hl, bc ld [hl], 0 @@ -972,7 +957,7 @@ Slots_StopReel: ; 92c3a ld hl, REEL_STOP_DELAY add hl, bc ld [hl], 3 -ReelAction_StopReelIgnoreJoypad: ; 92c4c +ReelAction_StopReelIgnoreJoypad: ld hl, REEL_STOP_DELAY add hl, bc ld a, [hl] @@ -988,9 +973,8 @@ ReelAction_StopReelIgnoreJoypad: ; 92c4c ld [hl], a ret -; 92c5e -ReelAction_StopReel1: ; 92c5e +ReelAction_StopReel1: ; If no bias: don't manipulate reel. ; If bias: manipulate reel up to wReel1ManipCounter (i.e. 4) slots, ; stoping early if the biased symbol shows up anywhere in reel #1, @@ -1011,9 +995,8 @@ ReelAction_StopReel1: ; 92c5e call Slots_StopReel ret -; 92c76 -.CheckForBias: ; 92c76 +.CheckForBias: call Slots_GetCurrentReelState ld a, [wSlotBias] ld e, a @@ -1027,9 +1010,8 @@ ReelAction_StopReel1: ; 92c5e cp e ret -; 92c86 -ReelAction_StopReel2: ; 92c86 +ReelAction_StopReel2: ; If no bias: don't manipulate reel. ; If bias: manipulate reel up to wReel2ManipCounter (i.e. 4) slots, ; stoping early if the biased symbol is lined up in the first two @@ -1057,9 +1039,8 @@ ReelAction_StopReel2: ; 92c86 call Slots_StopReel ret -; 92ca9 -ReelAction_StopReel3: ; 92ca9 +ReelAction_StopReel3: ; Manipulate the reel up to wReel3ManipCounter (i.e. 4) slots, ; stopping early if the bias symbol is lined up for a win. ; If not biased to any symbols, stop as soon as nothing is lined up. @@ -1093,9 +1074,8 @@ ReelAction_StopReel3: ; 92ca9 call Slots_StopReel ret -; 92cd2 -ReelAction_SetUpReel2SkipTo7: ; 92cd2 +ReelAction_SetUpReel2SkipTo7: ; Unique reel 2 action (see Slots_StopReel2) ; Ensures that 7 symbols become lined up in the first two reels, ; but more often than not, this is only a way to get our hopes up, as @@ -1123,9 +1103,8 @@ ReelAction_SetUpReel2SkipTo7: ; 92cd2 ld [hl], 0 ret -; 92cf8 -ReelAction_WaitReel2SkipTo7: ; 92cf8 +ReelAction_WaitReel2SkipTo7: ld hl, REEL_MANIP_DELAY add hl, bc ld a, [hl] @@ -1145,9 +1124,8 @@ ReelAction_WaitReel2SkipTo7: ; 92cf8 ld [hl], 8 ret -; 92d13 -ReelAction_FastSpinReel2UntilLinedUp7s: ; 92d13 +ReelAction_FastSpinReel2UntilLinedUp7s: call Slots_CheckMatchedFirstTwoReels ret nc ld a, [wFirstTwoReelsMatchingSevens] @@ -1156,9 +1134,8 @@ ReelAction_FastSpinReel2UntilLinedUp7s: ; 92d13 call Slots_StopReel ret -; 92d20 -ReelAction_InitGolem: ; 92d20 +ReelAction_InitGolem: ; Ensures SEVENs are lined up if there's bias to SEVEN. ; Ensures nothing is lined up if there's no bias symbols. ; No other bias symbols are compatible with this mode. @@ -1191,7 +1168,7 @@ ReelAction_InitGolem: ; 92d20 pop bc xor a ld [wSlotsDelay], a -ReelAction_WaitGolem: ; 92d4f +ReelAction_WaitGolem: ld a, [wSlotsDelay] cp 2 jr z, .two @@ -1213,9 +1190,8 @@ ReelAction_WaitGolem: ; 92d4f ld [hl], 8 ret -; 92d6e -ReelAction_EndGolem: ; 92d6e +ReelAction_EndGolem: xor a ld [wSlotsDelay], a ld hl, REEL_ACTION @@ -1226,9 +1202,8 @@ ReelAction_EndGolem: ; 92d6e ld [hl], 0 ret -; 92d7e -ReelAction_InitChansey: ; 92d7e +ReelAction_InitChansey: ; Ensures the lining up of SEVEN symbols, but this mode is only possible ; when there is bias to SEVEN symbols (and even then, it's still rare). ; Chansey releases and egg and reel #3 is made to advance 17 slots very @@ -1254,9 +1229,8 @@ ReelAction_InitChansey: ; 92d7e ld [wSlotsDelay], a ret -; 92da4 -ReelAction_WaitChansey: ; 92da4 +ReelAction_WaitChansey: ld a, [wSlotsDelay] and a ret z @@ -1265,7 +1239,7 @@ ReelAction_WaitChansey: ; 92da4 inc [hl] ; REEL_ACTION_WAIT_EGG ld a, 2 ld [wSlotsDelay], a -ReelAction_WaitEgg: ; 92db3 +ReelAction_WaitEgg: ld a, [wSlotsDelay] cp $4 ret c @@ -1278,7 +1252,7 @@ ReelAction_WaitEgg: ; 92db3 ld hl, REEL_MANIP_DELAY add hl, bc ld [hl], 17 -ReelAction_DropReel: ; 92dca +ReelAction_DropReel: ld hl, REEL_MANIP_DELAY add hl, bc ld a, [hl] @@ -1309,9 +1283,8 @@ ReelAction_DropReel: ; 92dca ld [wSlotsDelay], a ret -; 92df7 -ReelAction_Unused: ; 92df7 +ReelAction_Unused: call Slots_CheckMatchedAllThreeReels ret c ld a, SFX_STOP_SLOT @@ -1324,7 +1297,7 @@ ReelAction_Unused: ; 92df7 ld hl, REEL_MANIP_DELAY add hl, bc ld [hl], a -ReelAction_CheckDropReel: ; 92e10 +ReelAction_CheckDropReel: ld hl, REEL_MANIP_DELAY add hl, bc ld a, [hl] @@ -1345,7 +1318,7 @@ ReelAction_CheckDropReel: ; 92e10 ld hl, REEL_SPIN_RATE add hl, bc ld [hl], 0 -ReelAction_WaitDropReel: ; 92e31 +ReelAction_WaitDropReel: ld hl, REEL_FIELD_0B add hl, bc ld a, [hl] @@ -1363,9 +1336,8 @@ ReelAction_WaitDropReel: ; 92e31 ld [hl], 8 ret -; 92e47 -ReelAction_StartSlowAdvanceReel3: ; 92e47 +ReelAction_StartSlowAdvanceReel3: ; Ensures SEVENs are lined up if there's bias to SEVEN. ; Ensures nothing is lined up if there's no bias symbols. ; No other bias symbols are compatible with this mode. @@ -1387,7 +1359,7 @@ ReelAction_StartSlowAdvanceReel3: ; 92e47 ld hl, REEL_MANIP_DELAY add hl, bc ld [hl], 16 -ReelAction_WaitSlowAdvanceReel3: ; 92e64 +ReelAction_WaitSlowAdvanceReel3: ld hl, REEL_MANIP_DELAY add hl, bc ld a, [hl] @@ -1418,9 +1390,8 @@ ReelAction_WaitSlowAdvanceReel3: ; 92e64 call WaitSFX ret -; 92e94 -Slots_CheckMatchedFirstTwoReels: ; 92e94 +Slots_CheckMatchedFirstTwoReels: xor a ld [wFirstTwoReelsMatching], a ld [wFirstTwoReelsMatchingSevens], a @@ -1447,77 +1418,69 @@ Slots_CheckMatchedFirstTwoReels: ; 92e94 scf ret -; 92ebd -.Jumptable: ; 92ebd +.Jumptable: dw .zero dw .one dw .two dw .three -; 92ec5 -.three ; 92ec5 +.three call .CheckUpwardsDiag call .CheckDownwardsDiag -.two ; 92ecb +.two call .CheckBottomRow call .CheckTopRow -.one ; 92ed1 +.one call .CheckMiddleRow -.zero ; 92ed4 +.zero ret -; 92ed5 -.CheckBottomRow: ; 92ed5 +.CheckBottomRow: ld hl, wCurrReelStopped ld a, [wReel1Stopped] cp [hl] call z, .StoreResult ret -; 92ee0 -.CheckUpwardsDiag: ; 92ee0 +.CheckUpwardsDiag: ld hl, wCurrReelStopped + 1 ld a, [wReel1Stopped] cp [hl] call z, .StoreResult ret -; 92eeb -.CheckMiddleRow: ; 92eeb +.CheckMiddleRow: ld hl, wCurrReelStopped + 1 ld a, [wReel1Stopped + 1] cp [hl] call z, .StoreResult ret -; 92ef6 -.CheckDownwardsDiag: ; 92ef6 +.CheckDownwardsDiag: ld hl, wCurrReelStopped + 1 ld a, [wReel1Stopped + 2] cp [hl] call z, .StoreResult ret -; 92f01 -.CheckTopRow: ; 92f01 +.CheckTopRow: ld hl, wCurrReelStopped + 2 ld a, [wReel1Stopped + 2] cp [hl] call z, .StoreResult ret -; 92f0c -.StoreResult: ; 92f0c +.StoreResult: ld [wSlotBuildingMatch], a and a jr nz, .matching_sevens @@ -1529,9 +1492,8 @@ Slots_CheckMatchedFirstTwoReels: ; 92e94 ld [wFirstTwoReelsMatching], a ret -; 92f1d -Slots_CheckMatchedAllThreeReels: ; 92f1d +Slots_CheckMatchedAllThreeReels: ld a, SLOTS_NO_MATCH ld [wSlotMatched], a call Slots_GetCurrentReelState @@ -1561,32 +1523,29 @@ Slots_CheckMatchedAllThreeReels: ; 92f1d scf ret -; 92f48 -.Jumptable: ; 92f48 +.Jumptable: dw .zero dw .one dw .two dw .three -; 92f50 -.three ; 92f50 +.three call .CheckUpwardsDiag call .CheckDownwardsDiag -.two ; 92f56 +.two call .CheckBottomRow call .CheckTopRow -.one ; 92f5c +.one call .CheckMiddleRow -.zero ; 92f5f +.zero ret -; 92f60 -.CheckBottomRow: ; 92f60 +.CheckBottomRow: ld hl, wCurrReelStopped ld a, [wReel1Stopped] cp [hl] @@ -1596,9 +1555,8 @@ Slots_CheckMatchedAllThreeReels: ; 92f1d call z, .StoreResult ret -; 92f70 -.CheckUpwardsDiag: ; 92f70 +.CheckUpwardsDiag: ld hl, wCurrReelStopped + 2 ld a, [wReel1Stopped] cp [hl] @@ -1608,9 +1566,8 @@ Slots_CheckMatchedAllThreeReels: ; 92f1d call z, .StoreResult ret -; 92f80 -.CheckMiddleRow: ; 92f80 +.CheckMiddleRow: ld hl, wCurrReelStopped + 1 ld a, [wReel1Stopped + 1] cp [hl] @@ -1620,9 +1577,8 @@ Slots_CheckMatchedAllThreeReels: ; 92f1d call z, .StoreResult ret -; 92f90 -.CheckDownwardsDiag: ; 92f90 +.CheckDownwardsDiag: ld hl, wCurrReelStopped ld a, [wReel1Stopped + 2] cp [hl] @@ -1632,9 +1588,8 @@ Slots_CheckMatchedAllThreeReels: ; 92f1d call z, .StoreResult ret -; 92fa0 -.CheckTopRow: ; 92fa0 +.CheckTopRow: ld hl, wCurrReelStopped + 2 ld a, [wReel1Stopped + 2] cp [hl] @@ -1644,15 +1599,13 @@ Slots_CheckMatchedAllThreeReels: ; 92f1d call z, .StoreResult ret -; 92fb0 -.StoreResult: ; 92fb0 +.StoreResult: ld [wSlotMatched], a ret -; 92fb4 -Slots_CopyReelState: ; 92fb4 +Slots_CopyReelState: ld de, wCurrReelStopped ld a, [hli] ld [de], a @@ -1664,9 +1617,8 @@ Slots_CopyReelState: ; 92fb4 ld [de], a ret -; 92fc0 -Slots_GetNumberOfGolems: ; 92fc0 +Slots_GetNumberOfGolems: ld hl, REEL_POSITION add hl, bc ld a, [hl] @@ -1679,9 +1631,8 @@ Slots_GetNumberOfGolems: ; 92fc0 ld a, e ret -; 92fcf -.Check7Bias: ; 92fcf +.Check7Bias: ld a, [wSlotBias] and a jr nz, .not_biased_to_seven @@ -1718,9 +1669,8 @@ Slots_GetNumberOfGolems: ; 92fc0 jr c, .loop2 ret -; 93002 -Slots_InitBias: ; 93002 (24:7002) +Slots_InitBias: ld a, [wSlotBias] and a ret z @@ -1744,9 +1694,8 @@ Slots_InitBias: ; 93002 (24:7002) ld [wSlotBias], a ret -; 93023 (24:7023) -.Normal: ; 93023 +.Normal: db $01, SLOTS_SEVEN ; 1/256 db $03, SLOTS_POKEBALL ; 1/128 db $0a, SLOTS_STARYU ; 7/256 @@ -1754,9 +1703,8 @@ Slots_InitBias: ; 93002 (24:7002) db $28, SLOTS_PIKACHU ; 5/64 db $30, SLOTS_CHERRY ; 1/32 db $ff, SLOTS_NO_BIAS ; everything else -; 93031 -.Lucky: ; 93031 +.Lucky: db $02, SLOTS_SEVEN ; 1/128 db $03, SLOTS_POKEBALL ; 1/256 db $08, SLOTS_STARYU ; 5/256 @@ -1764,9 +1712,8 @@ Slots_InitBias: ; 93002 (24:7002) db $1e, SLOTS_PIKACHU ; 7/128 db $50, SLOTS_CHERRY ; 25/128 db $ff, SLOTS_NO_BIAS ; everything else -; 9303f -Slots_IlluminateBetLights: ; 9303f (24:703f) +Slots_IlluminateBetLights: ld b, $14 ; turned on ld a, [wSlotBet] dec a @@ -1775,22 +1722,22 @@ Slots_IlluminateBetLights: ; 9303f (24:703f) jr z, Slots_Lights2OnOff jr Slots_Lights3OnOff -Slots_DeilluminateBetLights: ; 9304c (24:704c) +Slots_DeilluminateBetLights: ld b, $23 ; turned off -Slots_Lights3OnOff: ; 9304e (24:704e) +Slots_Lights3OnOff: hlcoord 3, 2 call Slots_TurnLightsOnOrOff hlcoord 3, 10 call Slots_TurnLightsOnOrOff -Slots_Lights2OnOff: ; 9305a (24:705a) +Slots_Lights2OnOff: hlcoord 3, 4 call Slots_TurnLightsOnOrOff hlcoord 3, 8 call Slots_TurnLightsOnOrOff -Slots_Lights1OnOff: ; 93066 (24:7066) +Slots_Lights1OnOff: hlcoord 3, 6 -Slots_TurnLightsOnOrOff: ; 93069 (24:7069) +Slots_TurnLightsOnOrOff: ld a, b ld [hl], a ld de, SCREEN_WIDTH / 2 + 3 @@ -1805,7 +1752,7 @@ Slots_TurnLightsOnOrOff: ; 93069 (24:7069) ld [hl], a ret -Slots_AskBet: ; 9307c (24:707c) +Slots_AskBet: .loop ld hl, .Text_BetHowManyCoins call PrintText @@ -1847,7 +1794,6 @@ Slots_AskBet: ; 9307c (24:707c) and a ret -; 930c7 (24:70c7) .Text_BetHowManyCoins: ; 0x930c7 ; Bet how many coins? @@ -1882,7 +1828,7 @@ Slots_AskBet: ; 9307c (24:707c) db " 1@" ; 0x930e9 -Slots_AskPlayAgain: ; 930e9 (24:70e9) +Slots_AskPlayAgain: ld hl, wCoins ld a, [hli] or [hl] @@ -1911,17 +1857,16 @@ Slots_AskPlayAgain: ; 930e9 (24:70e9) scf ret -; 9311a (24:711a) -.Text_OutOfCoins: ; 9311a +.Text_OutOfCoins: text_jump UnknownText_0x1c5079 db "@" -.Text_PlayAgain: ; 9311f +.Text_PlayAgain: text_jump UnknownText_0x1c5092 db "@" -Slots_GetPayout: ; 93124 (24:7124) +Slots_GetPayout: ld a, [wSlotMatched] cp SLOTS_NO_MATCH jr z, .no_win @@ -1954,7 +1899,7 @@ Slots_GetPayout: ; 93124 (24:7124) ld [hl], a ret -Slots_PayoutText: ; 93158 (24:7158) +Slots_PayoutText: ld a, [wSlotMatched] cp SLOTS_NO_MATCH jr nz, .MatchedSomething @@ -1987,16 +1932,14 @@ Slots_PayoutText: ; 93158 (24:7158) farcall StubbedTrainerRankings_AddToSlotsWinStreak ret -; 93195 (24:7195) -.PayoutStrings: ; 93195 +.PayoutStrings: dbw "300@", .LinedUpSevens dbw "50@@", .LinedUpPokeballs dbw "6@@@", .LinedUpMonOrCherry dbw "8@@@", .LinedUpMonOrCherry dbw "10@@", .LinedUpMonOrCherry dbw "15@@", .LinedUpMonOrCherry -; 931b9 .Text_PrintPayout: ; 0x931b9 start_asm @@ -2017,7 +1960,6 @@ rept 4 endr ret -; 931db .Text_LinedUpWonCoins: ; 0x931db ; lined up! Won @ coins! @@ -2031,7 +1973,7 @@ endr db "@" ; 0x931e5 -.LinedUpSevens: ; 931e5 +.LinedUpSevens: ld a, SFX_2ND_PLACE call Slots_PlaySFX call WaitSFX @@ -2058,25 +2000,22 @@ endr ld [wSlotBias], a ret -; 9320b -.LinedUpPokeballs: ; 9320b +.LinedUpPokeballs: ld a, SFX_3RD_PLACE call Slots_PlaySFX call WaitSFX ret -; 93214 -.LinedUpMonOrCherry: ; 93214 +.LinedUpMonOrCherry: ld a, SFX_PRESENT call Slots_PlaySFX call WaitSFX ret -; 9321d -Slots_AnimateGolem: ; 9321d (24:721d) +Slots_AnimateGolem: ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld e, [hl] @@ -2089,12 +2028,12 @@ Slots_AnimateGolem: ; 9321d (24:721d) ld l, a jp hl -.Jumptable: ; 9322d (24:722d) +.Jumptable: dw .init dw .fall dw .roll -.init ; 93233 (24:7233) +.init ld hl, SPRITEANIMSTRUCT_0E add hl, bc ld a, [hl] @@ -2119,7 +2058,7 @@ Slots_AnimateGolem: ; 9321d (24:721d) add hl, bc ld [hl], $0 -.fall ; 93259 (24:7259) +.fall ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -2148,7 +2087,7 @@ Slots_AnimateGolem: ; 9321d (24:721d) call Slots_PlaySFX ret -.roll ; 93289 (24:7289) +.roll ld hl, SPRITEANIMSTRUCT_XOFFSET add hl, bc ld a, [hl] @@ -2175,7 +2114,7 @@ Slots_AnimateGolem: ; 9321d (24:721d) ld [hSCY], a ret -Slots_AnimateChansey: ; 932ac (24:72ac) +Slots_AnimateChansey: ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld e, [hl] @@ -2188,12 +2127,12 @@ Slots_AnimateChansey: ; 932ac (24:72ac) ld l, a jp hl -.Jumptable: ; 932bc (24:72bc) +.Jumptable: dw .walk dw .one dw .two -.walk ; 932c2 (24:72c2) +.walk ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -2213,7 +2152,7 @@ Slots_AnimateChansey: ; 932ac (24:72ac) ld a, 1 ld [wSlotsDelay], a -.one ; 932e0 (24:72e0) +.one ld a, [wSlotsDelay] cp $2 jr z, .retain @@ -2231,7 +2170,7 @@ Slots_AnimateChansey: ; 932ac (24:72ac) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld [hl], $8 -.two ; 932fc (24:72fc) +.two ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -2251,18 +2190,16 @@ Slots_AnimateChansey: ; 932ac (24:72ac) pop bc ret -; 93316 (24:7316) -Slots_WaitSFX: ; 93316 +Slots_WaitSFX: push bc ld c, 16 call DelayFrames pop bc ret -; 9331e -Slots_PlaySFX: ; 9331e (24:731e) +Slots_PlaySFX: push de ld e, a ld d, 0 @@ -2270,11 +2207,10 @@ Slots_PlaySFX: ; 9331e (24:731e) pop de ret -; 93327 (24:7327) ; The first three positions are repeated to ; avoid needing to check indices when copying. -Reel1Tilemap: ; 93327 +Reel1Tilemap: db SLOTS_SEVEN ; 0 db SLOTS_CHERRY ; 1 db SLOTS_STARYU ; 2 @@ -2294,7 +2230,7 @@ Reel1Tilemap: ; 93327 db SLOTS_CHERRY ; 1 db SLOTS_STARYU ; 2 -Reel2Tilemap: ; 93339 +Reel2Tilemap: db SLOTS_SEVEN ; 0 db SLOTS_PIKACHU ; 1 db SLOTS_CHERRY ; 2 @@ -2314,7 +2250,7 @@ Reel2Tilemap: ; 93339 db SLOTS_PIKACHU ; 1 db SLOTS_CHERRY ; 2 -Reel3Tilemap: ; 9334b +Reel3Tilemap: db SLOTS_SEVEN ; 0 db SLOTS_PIKACHU ; 1 db SLOTS_CHERRY ; 2 @@ -2333,20 +2269,15 @@ Reel3Tilemap: ; 9334b db SLOTS_SEVEN ; 0 db SLOTS_PIKACHU ; 1 db SLOTS_CHERRY ; 2 -; 9335d -SlotsTilemap: ; 9335d +SlotsTilemap: INCBIN "gfx/slots/slots.tilemap" -; 9344d -Slots1LZ: ; 9344d +Slots1LZ: INCBIN "gfx/slots/slots_1.2bpp.lz" -; 935cd -Slots2LZ: ; 935cd +Slots2LZ: INCBIN "gfx/slots/slots_2.2bpp.lz" -; 9382d -Slots3LZ: ; 9382d +Slots3LZ: INCBIN "gfx/slots/slots_3.2bpp.lz" -; 93a3d diff --git a/engine/games/unown_puzzle.asm b/engine/games/unown_puzzle.asm index 300f07de4..9e4f69441 100644 --- a/engine/games/unown_puzzle.asm +++ b/engine/games/unown_puzzle.asm @@ -3,7 +3,7 @@ PUZZLE_VOID EQU $ef puzcoord EQUS "* 6 +" -_UnownPuzzle: ; e1190 +_UnownPuzzle: ld a, [hInMenu] push af ld a, $1 @@ -88,9 +88,8 @@ _UnownPuzzle: ; e1190 ld a, LCDC_DEFAULT ld [rLCDC], a ret -; e124e -InitUnownPuzzlePiecePositions: ; e124e +InitUnownPuzzlePiecePositions: ld c, 1 ld b, 16 .load_loop @@ -111,9 +110,8 @@ InitUnownPuzzlePiecePositions: ; e124e dec b jr nz, .load_loop ret -; e126d -.PuzzlePieceInitialPositions: ; e126d +.PuzzlePieceInitialPositions: initpuzcoord: MACRO rept _NARG / 2 db \1 puzcoord \2 @@ -128,9 +126,8 @@ ENDM initpuzcoord 4,0, 4,5 initpuzcoord 5,0, 5,5 ; START > CANCEL -; e127d -PlaceStartCancelBox: ; e127d +PlaceStartCancelBox: call PlaceStartCancelBoxBorder hlcoord 5, 16 ld a, $f6 @@ -141,9 +138,8 @@ PlaceStartCancelBox: ; e127d dec c jr nz, .loop ret -; e128d -PlaceStartCancelBoxBorder: ; e128d +PlaceStartCancelBoxBorder: hlcoord 4, 15 ld a, $f0 ld [hli], a @@ -172,9 +168,8 @@ PlaceStartCancelBoxBorder: ; e128d ld a, $f5 ld [hl], a ret -; e12ca -UnownPuzzleJumptable: ; e12ca +UnownPuzzleJumptable: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -185,13 +180,11 @@ UnownPuzzleJumptable: ; e12ca ld h, [hl] ld l, a jp hl -; e12d9 -.Jumptable: ; e12d9 +.Jumptable: dw .Function -; e12db -.Function: ; e12db +.Function: ld a, [hJoyPressed] and START jp nz, UnownPuzzle_Quit @@ -299,9 +292,8 @@ UnownPuzzleJumptable: ; e12ca .play_sfx call PlaySFX ret -; e1376 -UnownPuzzle_A: ; e1376 +UnownPuzzle_A: ld a, [wHoldingUnownPuzzlePiece] and a jr nz, .TryPlacePiece @@ -348,19 +340,18 @@ UnownPuzzle_A: ; e1376 call SimpleWaitPressAorB ld a, TRUE ld [wSolvedUnownPuzzle], a -UnownPuzzle_Quit: ; e13de +UnownPuzzle_Quit: ld hl, wJumptableIndex set 7, [hl] ret -UnownPuzzle_InvalidAction: ; e13e4 +UnownPuzzle_InvalidAction: ld de, SFX_WRONG call PlaySFX call WaitSFX ret -; e13ee -UnownPuzzle_FillBox: ; e13ee +UnownPuzzle_FillBox: ld de, SCREEN_WIDTH .row push bc @@ -375,9 +366,8 @@ UnownPuzzle_FillBox: ; e13ee dec b jr nz, .row ret -; e13fe -UnownPuzzle_UpdateTilemap: ; e13fe +UnownPuzzle_UpdateTilemap: xor a ld [wUnownPuzzleCursorPosition], a ld c, 6 * 6 @@ -400,9 +390,8 @@ UnownPuzzle_UpdateTilemap: ; e13fe dec c jr nz, .loop ret -; e141f -PlaceUnownPuzzlePieceGFX: ; e141f +PlaceUnownPuzzlePieceGFX: ld a, $2 ; tilemap coords call GetUnownPuzzleCoordData ld a, [hli] @@ -427,9 +416,8 @@ PlaceUnownPuzzlePieceGFX: ; e141f dec b jr nz, .row ret -; e1441 -FillUnoccupiedPuzzleSpace: ; e1441 +FillUnoccupiedPuzzleSpace: ld a, 2 ; tilemap coords call GetUnownPuzzleCoordData ld a, [hli] @@ -454,9 +442,8 @@ FillUnoccupiedPuzzleSpace: ; e1441 dec b jr nz, .row ret -; e1463 -GetUnownPuzzleCoordData: ; e1463 +GetUnownPuzzleCoordData: ld e, a ld d, 0 ld hl, UnownPuzzleCoordData @@ -467,9 +454,8 @@ rept 6 add hl, de endr ret -; e1475 -UnownPuzzle_CheckCurrentTileOccupancy: ; e1475 +UnownPuzzle_CheckCurrentTileOccupancy: ld hl, wPuzzlePieces ld a, [wUnownPuzzleCursorPosition] ld e, a @@ -477,9 +463,8 @@ UnownPuzzle_CheckCurrentTileOccupancy: ; e1475 add hl, de ld a, [hl] ret -; e1481 -GetCurrentPuzzlePieceVTileCorner: ; e1481 +GetCurrentPuzzlePieceVTileCorner: ld a, [wUnownPuzzleHeldPiece] ld hl, .Corners add l @@ -489,9 +474,8 @@ GetCurrentPuzzlePieceVTileCorner: ; e1481 ld h, a ld a, [hl] ret -; e148f -.Corners: ; e148f +.Corners: ; 00, 01, 02 ; 0c, 0d, 0e ; 18, 19, 1a @@ -500,9 +484,8 @@ GetCurrentPuzzlePieceVTileCorner: ; e1481 db $24, $27, $2a, $2d db $48, $4b, $4e, $51 db $6c, $6f, $72, $75 -; e14a0 -CheckSolvedUnownPuzzle: ; e14a0 +CheckSolvedUnownPuzzle: ld hl, .SolvedPuzzleConfiguration ld de, wPuzzlePieces ld c, 6 * 6 @@ -520,18 +503,16 @@ CheckSolvedUnownPuzzle: ; e14a0 .not_solved and a ret -; e14b5 -.SolvedPuzzleConfiguration: ; e14b5 +.SolvedPuzzleConfiguration: db $00, $00, $00, $00, $00, $00 db $00, $01, $02, $03, $04, $00 db $00, $05, $06, $07, $08, $00 db $00, $09, $0a, $0b, $0c, $00 db $00, $0d, $0e, $0f, $10, $00 db $00, $00, $00, $00, $00, $00 -; e14d9 -RedrawUnownPuzzlePieces: ; e14d9 +RedrawUnownPuzzlePieces: call GetCurrentPuzzlePieceVTileCorner ld [wd002], a xor a @@ -570,9 +551,8 @@ RedrawUnownPuzzlePieces: ; e14d9 ld [de], a ; attributes inc de jr .loop -; e150f -.OAM_HoldingPiece: ; e150f +.OAM_HoldingPiece: dsprite -1, -4, -1, -4, $00, 0 dsprite -1, -4, 0, -4, $01, 0 dsprite -1, -4, 0, 4, $02, 0 @@ -584,7 +564,7 @@ RedrawUnownPuzzlePieces: ; e14d9 dsprite 0, 4, 0, 4, $1a, 0 db -1 -.OAM_NotHoldingPiece: ; e1534 +.OAM_NotHoldingPiece: dsprite -1, -4, -1, -4, $00, 0 dsprite -1, -4, 0, -4, $01, 0 dsprite -1, -4, 0, 4, $00, 0 | X_FLIP @@ -596,7 +576,7 @@ RedrawUnownPuzzlePieces: ; e14d9 dsprite 0, 4, 0, 4, $00, 0 | X_FLIP | Y_FLIP db -1 -UnownPuzzleCoordData: ; e1559 +UnownPuzzleCoordData: puzzle_coords: MACRO dbpixel \1, \2, \3, \4 @@ -646,7 +626,7 @@ ENDM puzzle_coords 15, 18, 4, 4, 13, 15, PUZZLE_BORDER, 0 puzzle_coords 18, 18, 4, 4, 16, 15, PUZZLE_BORDER, 0 -ConvertLoadedPuzzlePieces: ; e1631 +ConvertLoadedPuzzlePieces: ld hl, vTiles2 ld de, vTiles0 ld b, 6 @@ -667,9 +647,8 @@ ConvertLoadedPuzzlePieces: ; e1631 jr nz, .loop call UnownPuzzle_AddPuzzlePieceBorders ret -; e1654 -.EnlargePuzzlePieceTiles: ; e1654 +.EnlargePuzzlePieceTiles: ; double size ld c, 6 .loop1 @@ -738,9 +717,8 @@ ConvertLoadedPuzzlePieces: ; e1631 dec c jr nz, .loop1 ret -; e16aa -.GetEnlargedTile: ; e16aa +.GetEnlargedTile: push hl ld hl, .EnlargedTiles add l @@ -751,18 +729,16 @@ ConvertLoadedPuzzlePieces: ; e1631 ld a, [hl] pop hl ret -; e16b7 -.EnlargedTiles: ; e16b7 +.EnlargedTiles: x = 0 rept 16 db ((x & %1000) * %11000) + ((x & %0100) * %1100) + ((x & %0010) * %110) + ((x & %0001) * %11) x = x + 1 endr -; e16c7 -UnownPuzzle_AddPuzzlePieceBorders: ; e16c7 +UnownPuzzle_AddPuzzlePieceBorders: ld hl, PuzzlePieceBorderData ld a, 8 .loop @@ -784,9 +760,8 @@ endr dec a jr nz, .loop ret -; e16e2 -.LoadGFX: ; e16e2 +.LoadGFX: lb bc, 4, 4 .loop1 push bc @@ -817,9 +792,8 @@ endr dec b jr nz, .loop1 ret -; e1703 -PuzzlePieceBorderData: ; e1703 +PuzzlePieceBorderData: dw .TileBordersGFX + 0 tiles, vTiles0 tile $00 dw .TileBordersGFX + 1 tiles, vTiles0 tile $01 dw .TileBordersGFX + 2 tiles, vTiles0 tile $02 @@ -828,12 +802,11 @@ PuzzlePieceBorderData: ; e1703 dw .TileBordersGFX + 5 tiles, vTiles0 tile $18 dw .TileBordersGFX + 6 tiles, vTiles0 tile $19 dw .TileBordersGFX + 7 tiles, vTiles0 tile $1a -; e1723 -.TileBordersGFX: ; e1723 +.TileBordersGFX: INCBIN "gfx/unown_puzzle/tile_borders.2bpp" -LoadUnownPuzzlePiecesGFX: ; e17a3 +LoadUnownPuzzlePiecesGFX: ld a, [wScriptVar] maskbits NUM_UNOWN_PUZZLES ld e, a @@ -848,30 +821,28 @@ LoadUnownPuzzlePiecesGFX: ; e17a3 call Decompress call ConvertLoadedPuzzlePieces ret -; e17bd -.LZPointers: ; e17bd +.LZPointers: ; entries correspond to UNOWNPUZZLE_* constants dw KabutoPuzzleLZ dw OmanytePuzzleLZ dw AerodactylPuzzleLZ dw HoOhPuzzleLZ -; e17c5 -UnownPuzzleCursorGFX: ; e17c5 +UnownPuzzleCursorGFX: INCBIN "gfx/unown_puzzle/cursor.2bpp" -UnownPuzzleStartCancelLZ: ; e1805 +UnownPuzzleStartCancelLZ: INCBIN "gfx/unown_puzzle/start_cancel.2bpp.lz" -HoOhPuzzleLZ: ; e18ab +HoOhPuzzleLZ: INCBIN "gfx/unown_puzzle/hooh.2bpp.lz" -AerodactylPuzzleLZ: ; e19fb +AerodactylPuzzleLZ: INCBIN "gfx/unown_puzzle/aerodactyl.2bpp.lz" -KabutoPuzzleLZ: ; e1bab +KabutoPuzzleLZ: INCBIN "gfx/unown_puzzle/kabuto.2bpp.lz" -OmanytePuzzleLZ: ; e1c9b +OmanytePuzzleLZ: INCBIN "gfx/unown_puzzle/omanyte.2bpp.lz" diff --git a/engine/gfx/cgb_layouts.asm b/engine/gfx/cgb_layouts.asm index 6ab676cda..c6527085f 100644 --- a/engine/gfx/cgb_layouts.asm +++ b/engine/gfx/cgb_layouts.asm @@ -1,12 +1,11 @@ ; Replaces the functionality of sgb.asm to work with CGB hardware. -CheckCGB: ; 8d55 +CheckCGB: ld a, [hCGB] and a ret -; 8d59 -LoadSGBLayoutCGB: ; 8d59 +LoadSGBLayoutCGB: ld a, b cp SCGB_RAM jr nz, .not_ram @@ -26,13 +25,11 @@ LoadSGBLayoutCGB: ; 8d59 ld de, .ReturnFromJumpTable push de jp hl -; 8d79 -.ReturnFromJumpTable: ; 8d79 +.ReturnFromJumpTable: ret -; 8d7a -.dw ; 8d7a +.dw dw _CGB_BattleGrayscale dw _CGB_BattleColors dw _CGB_PokegearPals @@ -64,9 +61,8 @@ LoadSGBLayoutCGB: ; 8d59 dw _CGB_TrainerOrMonFrontpicPals dw _CGB_MysteryGift dw _CGB1e -; 8db8 -_CGB_BattleGrayscale: ; 8db8 +_CGB_BattleGrayscale: ld hl, PalPacket_BattleGrayscale + 1 ld de, wBGPals1 ld c, 4 @@ -81,7 +77,7 @@ _CGB_BattleGrayscale: ; 8db8 call CopyPalettes jr _CGB_FinishBattleScreenLayout -_CGB_BattleColors: ; 8ddb +_CGB_BattleColors: ld de, wBGPals1 call GetBattlemonBackpicPalettePointer push hl @@ -115,7 +111,7 @@ _CGB_BattleColors: ; 8ddb ld a, SCGB_BATTLE_COLORS ld [wSGBPredef], a call ApplyPals -_CGB_FinishBattleScreenLayout: ; 8e23 +_CGB_FinishBattleScreenLayout: call InitPartyMenuBGPal7 hlcoord 0, 0, wAttrMap ld bc, SCREEN_WIDTH * SCREEN_HEIGHT @@ -152,12 +148,11 @@ _CGB_FinishBattleScreenLayout: ; 8e23 call FarCopyWRAM call ApplyAttrMap ret -; 8e85 -InitPartyMenuBGPal7: ; 8e85 +InitPartyMenuBGPal7: farcall Function100dc0 -Mobile_InitPartyMenuBGPal7: ; 8e8b +Mobile_InitPartyMenuBGPal7: ld hl, PartyMenuBGPalette jr nc, .not_mobile ld hl, PartyMenuBGMobilePalette @@ -167,9 +162,8 @@ Mobile_InitPartyMenuBGPal7: ; 8e8b ld a, BANK(wBGPals1) call FarCopyWRAM ret -; 8e9f -InitPartyMenuBGPal0: ; 8e9f +InitPartyMenuBGPal0: farcall Function100dc0 ld hl, PartyMenuBGPalette jr nc, .not_mobile @@ -180,9 +174,8 @@ InitPartyMenuBGPal0: ; 8e9f ld a, BANK(wBGPals1) call FarCopyWRAM ret -; 8eb9 -_CGB_PokegearPals: ; 8eb9 +_CGB_PokegearPals: ld a, [wPlayerGender] bit PLAYERGENDER_FEMALE_F, a jr z, .male @@ -200,9 +193,8 @@ _CGB_PokegearPals: ; 8eb9 ld a, $1 ld [hCGBPalUpdate], a ret -; 8edb -_CGB_StatsScreenHPPals: ; 8edb +_CGB_StatsScreenHPPals: ld de, wBGPals1 ld a, [wCurHPPal] ld l, a @@ -255,17 +247,14 @@ _CGB_StatsScreenHPPals: ; 8edb ld a, $1 ld [hCGBPalUpdate], a ret -; 8f52 -StatsScreenPagePals: ; 8f52 +StatsScreenPagePals: INCLUDE "gfx/stats/pages.pal" -; 8f6a -StatsScreenPals: ; 8f6a +StatsScreenPals: INCLUDE "gfx/stats/stats.pal" -; 8f70 -_CGB_Pokedex: ; 8f70 +_CGB_Pokedex: ld de, wBGPals1 ld a, PREDEFPAL_POKEDEX call GetPredefPal @@ -297,17 +286,14 @@ _CGB_Pokedex: ; 8f70 ld a, $1 ld [hCGBPalUpdate], a ret -; 8fba -.PokedexQuestionMarkPalette: ; 8fba +.PokedexQuestionMarkPalette: INCLUDE "gfx/pokedex/question_mark.pal" -; 8fc2 -.PokedexCursorPalette: ; 8fc2 +.PokedexCursorPalette: INCLUDE "gfx/pokedex/cursor.pal" -; 8fca -_CGB_BillsPC: ; 8fca +_CGB_BillsPC: ld de, wBGPals1 ld a, PREDEFPAL_POKEDEX call GetPredefPal @@ -335,9 +321,8 @@ _CGB_BillsPC: ; 8fca ld a, $1 ld [hCGBPalUpdate], a ret -; 9009 -.Function9009: ; 9009 +.Function9009: ld hl, .BillsPCOrangePalette call LoadHLPaletteIntoDE jr .asm_901a @@ -358,13 +343,11 @@ _CGB_BillsPC: ; 8fca ld a, $1 ld [hCGBPalUpdate], a ret -; 9036 -.BillsPCOrangePalette: ; 9036 +.BillsPCOrangePalette: INCLUDE "gfx/pc/orange.pal" -; 903e -_CGB_PokedexUnownMode: ; 903e +_CGB_PokedexUnownMode: ld de, wBGPals1 ld a, PREDEFPAL_POKEDEX call GetPredefPal @@ -383,9 +366,8 @@ _CGB_PokedexUnownMode: ; 903e ld a, $1 ld [hCGBPalUpdate], a ret -; 906e -_CGB_SlotMachine: ; 906e +_CGB_SlotMachine: ld hl, SlotMachinePals ld de, wBGPals1 ld bc, 16 palettes @@ -437,9 +419,8 @@ _CGB_SlotMachine: ; 906e ld a, $1 ld [hCGBPalUpdate], a ret -; 90f8 -_CGB06: ; 90f8 +_CGB06: ld hl, PalPacket_SCGB_06 + 1 call CopyFourPalettes call WipeAttrMap @@ -456,9 +437,8 @@ _CGB06: ; 90f8 ld a, $1 ld [hCGBPalUpdate], a ret -; 9122 -_CGB_GSIntro: ; 9122 +_CGB_GSIntro: ld b, 0 ld hl, .Jumptable add hl, bc @@ -467,15 +447,13 @@ _CGB_GSIntro: ; 9122 ld h, [hl] ld l, a jp hl -; 912d -.Jumptable: ; 912d +.Jumptable: dw .ShellderLaprasScene dw .JigglypuffPikachuScene dw .StartersCharizardScene -; 9133 -.ShellderLaprasScene: ; 9133 +.ShellderLaprasScene: ld hl, .ShellderLaprasBGPalette ld de, wBGPals1 call LoadHLPaletteIntoDE @@ -486,15 +464,14 @@ _CGB_GSIntro: ; 9122 call FarCopyWRAM call WipeAttrMap ret -; 914e -.ShellderLaprasBGPalette: ; 914e +.ShellderLaprasBGPalette: RGB 19, 31, 19 RGB 18, 23, 31 RGB 11, 21, 28 RGB 04, 16, 24 -.ShellderLaprasOBPals: ; 9156 +.ShellderLaprasOBPals: RGB 29, 29, 29 RGB 20, 19, 20 RGB 19, 06, 04 @@ -504,9 +481,8 @@ _CGB_GSIntro: ; 9122 RGB 31, 31, 31 RGB 31, 00, 00 RGB 03, 04, 06 -; 9166 -.JigglypuffPikachuScene: ; 9166 +.JigglypuffPikachuScene: ld de, wBGPals1 ld a, PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_BG call GetPredefPal @@ -518,9 +494,8 @@ _CGB_GSIntro: ; 9122 call LoadHLPaletteIntoDE call WipeAttrMap ret -; 9180 -.StartersCharizardScene: ; 9180 +.StartersCharizardScene: ld hl, PalPacket_Pack + 1 call CopyFourPalettes ld de, wOBPals1 @@ -529,9 +504,8 @@ _CGB_GSIntro: ; 9122 call LoadHLPaletteIntoDE call WipeAttrMap ret -; 9195 -_CGB11: ; 9195 +_CGB11: ld hl, BetaPokerPals ld de, wBGPals1 ld bc, 5 palettes @@ -541,9 +515,8 @@ _CGB11: ; 9195 call WipeAttrMap call ApplyAttrMap ret -; 91ad -_CGB_Diploma: ; 91ad +_CGB_Diploma: ld hl, DiplomaPalettes ld de, wBGPals1 ld bc, 16 palettes @@ -555,16 +528,14 @@ _CGB_Diploma: ; 91ad call WipeAttrMap call ApplyAttrMap ret -; 91c8 -_CGB_MapPals: ; 91c8 +_CGB_MapPals: call LoadMapPals ld a, SCGB_MAPPALS ld [wSGBPredef], a ret -; 91d1 -_CGB_PartyMenu: ; 91d1 +_CGB_PartyMenu: ld hl, PalPacket_PartyMenu + 1 call CopyFourPalettes call InitPartyMenuBGPal0 @@ -572,9 +543,8 @@ _CGB_PartyMenu: ; 91d1 call InitPartyMenuOBPals call ApplyAttrMap ret -; 91e4 -_CGB_Evolution: ; 91e4 +_CGB_Evolution: ld de, wBGPals1 ld a, c and a @@ -607,9 +577,8 @@ _CGB_Evolution: ; 91e4 ld a, $1 ld [hCGBPalUpdate], a ret -; 9228 -_CGB_GSTitleScreen: ; 9228 +_CGB_GSTitleScreen: ld hl, UnusedGSTitleBGPals ld de, wBGPals1 ld bc, 5 palettes @@ -626,17 +595,15 @@ _CGB_GSTitleScreen: ; 9228 ld a, $1 ld [hCGBPalUpdate], a ret -; 9251 -_CGB0d: ; 9251 +_CGB0d: ld hl, PalPacket_Diploma + 1 call CopyFourPalettes call WipeAttrMap call ApplyAttrMap ret -; 925e -_CGB_UnownPuzzle: ; 925e +_CGB_UnownPuzzle: ld hl, PalPacket_UnownPuzzle + 1 call CopyFourPalettes ld de, wOBPals1 @@ -657,9 +624,8 @@ _CGB_UnownPuzzle: ; 925e call WipeAttrMap call ApplyAttrMap ret -; 9289 -_CGB_TrainerCard: ; 9289 +_CGB_TrainerCard: ld de, wBGPals1 xor a ; CHRIS call GetTrainerPalettePointer @@ -763,9 +729,8 @@ _CGB_TrainerCard: ; 9289 ld a, $1 ld [hCGBPalUpdate], a ret -; 9373 -_CGB_MoveList: ; 9373 +_CGB_MoveList: ld de, wBGPals1 ld a, PREDEFPAL_GOLDENROD call GetPredefPal @@ -788,9 +753,8 @@ _CGB_MoveList: ; 9373 ld a, $1 ld [hCGBPalUpdate], a ret -; 93a6 -_CGB_BetaPikachuMinigame: ; 93a6 +_CGB_BetaPikachuMinigame: ld hl, PalPacket_BetaPikachuMinigame + 1 call CopyFourPalettes call WipeAttrMap @@ -799,9 +763,8 @@ _CGB_BetaPikachuMinigame: ; 93a6 ld a, $1 ld [hCGBPalUpdate], a ret -; 93ba -_CGB_PokedexSearchOption: ; 93ba +_CGB_PokedexSearchOption: ld de, wBGPals1 ld a, PREDEFPAL_POKEDEX call GetPredefPal @@ -812,9 +775,8 @@ _CGB_PokedexSearchOption: ; 93ba ld a, $1 ld [hCGBPalUpdate], a ret -; 93d3 -_CGB_PackPals: ; 93d3 +_CGB_PackPals: ; pack pals ld a, [wBattleType] cp BATTLETYPE_TUTORIAL @@ -861,17 +823,14 @@ _CGB_PackPals: ; 93d3 ld a, $1 ld [hCGBPalUpdate], a ret -; 9439 -.ChrisPackPals: ; 9439 +.ChrisPackPals: INCLUDE "gfx/pack/pack.pal" -; 9469 -.KrisPackPals: ; 9469 +.KrisPackPals: INCLUDE "gfx/pack/pack_f.pal" -; 9499 -_CGB_Pokepic: ; 9499 +_CGB_Pokepic: call _CGB_MapPals ld de, SCREEN_WIDTH hlcoord 0, 0, wAttrMap @@ -904,9 +863,8 @@ _CGB_Pokepic: ; 9499 call FillBoxCGB call ApplyAttrMap ret -; 94d0 -_CGB13: ; 94d0 +_CGB13: ld hl, PalPacket_SCGB_13 + 1 call CopyFourPalettes call WipeAttrMap @@ -923,9 +881,8 @@ _CGB13: ; 94d0 ld a, $1 ld [hCGBPalUpdate], a ret -; 94fa -_CGB_GamefreakLogo: ; 94fa +_CGB_GamefreakLogo: ld de, wBGPals1 ld a, PREDEFPAL_GAMEFREAK_LOGO call GetPredefPal @@ -940,13 +897,11 @@ _CGB_GamefreakLogo: ; 94fa call ApplyAttrMap call ApplyPals ret -; 9521 -.Palette: ; 9521 +.Palette: INCLUDE "gfx/splash/logo.pal" -; 9529 -_CGB_PlayerOrMonFrontpicPals: ; 9529 +_CGB_PlayerOrMonFrontpicPals: ld de, wBGPals1 ld a, [wCurPartySpecies] ld bc, wTempMonDVs @@ -956,9 +911,8 @@ _CGB_PlayerOrMonFrontpicPals: ; 9529 call ApplyAttrMap call ApplyPals ret -; 9542 -_CGB1e: ; 9542 +_CGB1e: ld de, wBGPals1 ld a, [wCurPartySpecies] call GetMonPalettePointer_ @@ -966,9 +920,8 @@ _CGB1e: ; 9542 call WipeAttrMap call ApplyAttrMap ret -; 9555 -_CGB_TradeTube: ; 9555 +_CGB_TradeTube: ld hl, PalPacket_TradeTube + 1 call CopyFourPalettes ld hl, PartyMenuOBPals @@ -982,9 +935,8 @@ _CGB_TradeTube: ; 9555 call LoadHLPaletteIntoDE call WipeAttrMap ret -; 9578 -_CGB_TrainerOrMonFrontpicPals: ; 9578 +_CGB_TrainerOrMonFrontpicPals: ld de, wBGPals1 ld a, [wCurPartySpecies] ld bc, wTempMonDVs @@ -994,9 +946,8 @@ _CGB_TrainerOrMonFrontpicPals: ; 9578 call ApplyAttrMap call ApplyPals ret -; 9591 -_CGB_MysteryGift: ; 9591 +_CGB_MysteryGift: ld hl, .Palettes ld de, wBGPals1 ld bc, 2 palettes @@ -1026,8 +977,6 @@ _CGB_MysteryGift: ; 9591 call FillBoxCGB call ApplyAttrMap ret -; 95e0 -.Palettes: ; 95e0 +.Palettes: INCLUDE "gfx/mystery_gift/mystery_gift.pal" -; 95f0 diff --git a/engine/gfx/color.asm b/engine/gfx/color.asm index d9b9b1dbc..3be670d75 100644 --- a/engine/gfx/color.asm +++ b/engine/gfx/color.asm @@ -107,7 +107,7 @@ InitPartyMenuPalettes: ret ; SGB layout for SCGB_PARTY_MENU_HP_PALS -SGB_ApplyPartyMenuHPPals: ; 8ade +SGB_ApplyPartyMenuHPPals: ld hl, wHPPals ld a, [wSGBPals] ld e, a @@ -648,7 +648,7 @@ ApplyAttrMap: ret ; CGB layout for SCGB_PARTY_MENU_HP_PALS -CGB_ApplyPartyMenuHPPals: ; 96f3 +CGB_ApplyPartyMenuHPPals: ld hl, wHPPals ld a, [wSGBPals] ld e, a diff --git a/engine/gfx/crystal_layouts.asm b/engine/gfx/crystal_layouts.asm index 71e2e4f56..bc7aa3292 100644 --- a/engine/gfx/crystal_layouts.asm +++ b/engine/gfx/crystal_layouts.asm @@ -20,15 +20,13 @@ GetMysteryGift_MobileAdapterLayout: ; 4930f (mobile) jp hl .done ret -; 49330 (12:5330) -.dw ; 49330 +.dw dw MG_Mobile_Layout00 dw MG_Mobile_Layout01 dw MG_Mobile_Layout02 -; 49336 -MG_Mobile_Layout_FillBox: ; 49336 +MG_Mobile_Layout_FillBox: .row push bc push hl @@ -43,16 +41,15 @@ MG_Mobile_Layout_FillBox: ; 49336 dec b jr nz, .row ret -; 49346 -MG_Mobile_Layout_WipeAttrMap: ; 49346 (12:5346) +MG_Mobile_Layout_WipeAttrMap: hlcoord 0, 0, wAttrMap ld bc, SCREEN_HEIGHT * SCREEN_WIDTH xor a call ByteFill ret -MG_Mobile_Layout_LoadPals: ; 49351 (12:5351) +MG_Mobile_Layout_LoadPals: ld de, wBGPals1 ld hl, Palette_MysteryGiftMobile ld bc, 5 palettes @@ -65,7 +62,7 @@ MG_Mobile_Layout_LoadPals: ; 49351 (12:5351) call FarCopyWRAM ret -MG_Mobile_Layout00: ; 4936e (12:536e) +MG_Mobile_Layout00: call MG_Mobile_Layout_LoadPals call MG_Mobile_Layout_WipeAttrMap call MG_Mobile_Layout_CreatePalBoxes @@ -73,7 +70,7 @@ MG_Mobile_Layout00: ; 4936e (12:536e) farcall ApplyPals ret -MG_Mobile_Layout_CreatePalBoxes: ; 49384 (12:5384) +MG_Mobile_Layout_CreatePalBoxes: hlcoord 0, 0, wAttrMap lb bc, 4, 1 ld a, $1 @@ -109,35 +106,30 @@ MG_Mobile_Layout_CreatePalBoxes: ; 49384 (12:5384) ld a, $7 call ByteFill ret -; 493e1 (12:53e1) -Palette_MysteryGiftMobile: ; 493e1 +Palette_MysteryGiftMobile: INCLUDE "gfx/mystery_gift/mg_mobile.pal" -; 49409 -LoadOW_BGPal7:: ; 49409 +LoadOW_BGPal7:: ld hl, Palette_TextBG7 ld de, wBGPals1 palette PAL_BG_TEXT ld bc, 1 palettes ld a, BANK(wBGPals1) call FarCopyWRAM ret -; 49418 -Palette_TextBG7: ; 49418 +Palette_TextBG7: INCLUDE "gfx/font/bg_text.pal" -; 49420 -Function49420:: ; 49420 (12:5420) +Function49420:: ld hl, MansionPalette1 + 8 palettes ld de, wBGPals1 palette PAL_BG_ROOF ld bc, 1 palettes ld a, BANK(wBGPals1) call FarCopyWRAM ret -; 4942f (12:542f) -MG_Mobile_Layout01: ; 4942f +MG_Mobile_Layout01: call MG_Mobile_Layout_LoadPals ld de, wBGPals1 palette PAL_BG_TEXT ld hl, .Palette_49478 @@ -168,16 +160,14 @@ MG_Mobile_Layout01: ; 4942f ld a, $1 ld [hCGBPalUpdate], a ret -; 49478 -.Palette_49478: ; 49478 +.Palette_49478: RGB 31, 31, 31 RGB 26, 31, 00 RGB 20, 16, 03 RGB 00, 00, 00 -; 49480 -Function49480: ; 49480 +Function49480: hlcoord 0, 0, wAttrMap lb bc, 4, SCREEN_WIDTH ld a, $7 @@ -188,9 +178,8 @@ Function49480: ; 49480 hlcoord 19, 2, wAttrMap ld [hl], a ret -; 49496 -Function49496: ; 49496 +Function49496: hlcoord 0, 0, wAttrMap lb bc, 2, SCREEN_WIDTH ld a, $7 @@ -201,11 +190,10 @@ Function49496: ; 49496 hlcoord 19, 1, wAttrMap ld [hl], a ret -; 494ac INCLUDE "engine/tilesets/tileset_palettes.asm" -MG_Mobile_Layout02: ; 49706 +MG_Mobile_Layout02: ld hl, .Palette_49732 ld de, wBGPals1 ld bc, 1 palettes @@ -220,23 +208,20 @@ MG_Mobile_Layout02: ; 49706 ld a, BANK(wOBPals1) call FarCopyWRAM ret -; 49732 -.Palette_49732: ; 49732 +.Palette_49732: RGB 31, 31, 31 RGB 23, 16, 07 RGB 23, 07, 07 RGB 03, 07, 20 -; 4973a -.Palette_4973a: ; 4973a +.Palette_4973a: RGB 00, 00, 00 RGB 07, 05, 31 RGB 14, 18, 31 RGB 31, 31, 31 -; 49742 -Function49742: ; 49742 +Function49742: ld hl, .Palette_49757 ld de, wBGPals1 ld bc, 8 palettes @@ -244,13 +229,11 @@ Function49742: ; 49742 call FarCopyWRAM farcall ApplyPals ret -; 49757 -.Palette_49757: ; 49757 +.Palette_49757: INCLUDE "gfx/unknown/49757.pal" -; 49797 -_InitMG_Mobile_LinkTradePalMap: ; 49797 +_InitMG_Mobile_LinkTradePalMap: hlcoord 0, 0, wAttrMap lb bc, 16, 2 ld a, $4 @@ -300,9 +283,8 @@ _InitMG_Mobile_LinkTradePalMap: ; 49797 ld bc, 6 call ByteFill ret -; 49811 -LoadTradeRoomBGPals: ; 49811 +LoadTradeRoomBGPals: ld hl, TradeRoomPalette ld de, wBGPals1 palette PAL_BG_GREEN ld bc, 6 palettes @@ -310,16 +292,13 @@ LoadTradeRoomBGPals: ; 49811 call FarCopyWRAM farcall ApplyPals ret -; 49826 -TradeRoomPalette: ; 49826 +TradeRoomPalette: INCLUDE "gfx/trade/border.pal" -; 49856 -InitMG_Mobile_LinkTradePalMap: ; 49856 +InitMG_Mobile_LinkTradePalMap: call _InitMG_Mobile_LinkTradePalMap ret -; 4985a ; unused INCLUDE "gfx/unknown/4985a.asm" diff --git a/engine/gfx/dma_transfer.asm b/engine/gfx/dma_transfer.asm index e22adf69a..6519949df 100644 --- a/engine/gfx/dma_transfer.asm +++ b/engine/gfx/dma_transfer.asm @@ -1,4 +1,4 @@ -HDMATransferAttrMapAndTileMapToWRAMBank3:: ; 104000 +HDMATransferAttrMapAndTileMapToWRAMBank3:: ld hl, .Function jp CallInSafeGFXMode @@ -18,9 +18,8 @@ HDMATransferAttrMapAndTileMapToWRAMBank3:: ; 104000 ld hl, wScratchAttrMap call HDMATransferToWRAMBank3 ret -; 10402d -HDMATransferTileMapToWRAMBank3:: ; 10402d +HDMATransferTileMapToWRAMBank3:: ld hl, .Function jp CallInSafeGFXMode @@ -33,9 +32,8 @@ HDMATransferTileMapToWRAMBank3:: ; 10402d ld hl, wScratchTileMap call HDMATransferToWRAMBank3 ret -; 104047 -HDMATransferAttrMapToWRAMBank3: ; 104047 +HDMATransferAttrMapToWRAMBank3: ld hl, .Function jp CallInSafeGFXMode @@ -48,9 +46,8 @@ HDMATransferAttrMapToWRAMBank3: ; 104047 ld hl, wScratchAttrMap call HDMATransferToWRAMBank3 ret -; 104061 -ReloadMapPart:: ; 104061 +ReloadMapPart:: ld hl, .Function jp CallInSafeGFXMode @@ -80,7 +77,7 @@ ReloadMapPart:: ; 104061 ret -Mobile_ReloadMapPart: ; 104099 +Mobile_ReloadMapPart: ld hl, ReloadMapPart ; useless ld hl, .Function jp CallInSafeGFXMode @@ -110,7 +107,6 @@ Mobile_ReloadMapPart: ; 104099 ei ret -; 1040d4 ; unused ld hl, .unreferenced_1040da @@ -134,7 +130,6 @@ Mobile_ReloadMapPart: ; 104099 ld [hDMATransfer], a call WaitDMATransfer ret -; 1040fb ; unused ld hl, .unreferenced_104101 @@ -148,9 +143,8 @@ Mobile_ReloadMapPart: ; 104099 ld hl, w3_d800 call HDMATransferToWRAMBank3 ret -; 104110 -OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:: ; 104110 +OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:: ; OpenText ld hl, .Function jp CallInSafeGFXMode @@ -182,9 +176,8 @@ OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:: ; 104110 ld [rVBK], a ei ret -; 104148 -Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap: ; 104148 (41:4148) +Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap: ld hl, .Function jp CallInSafeGFXMode @@ -209,9 +202,8 @@ Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap: ; 104148 (41:4148) ld hl, wScratchTileMap call HDMATransfer_Wait127Scanlines_toBGMap ret -; 104177 -CallInSafeGFXMode: ; 104177 +CallInSafeGFXMode: ld a, [hBGMapMode] push af ld a, [hMapAnims] @@ -237,19 +229,17 @@ CallInSafeGFXMode: ; 104177 pop af ld [hBGMapMode], a ret -; 10419c -._hl_ ; 10419c +._hl_ jp hl -; 10419d -HDMATransferToWRAMBank3: ; 10419d (41:419d) +HDMATransferToWRAMBank3: call _LoadHDMAParameters ld a, $23 ld [hDMATransfer], a -WaitDMATransfer: ; 104a14 +WaitDMATransfer: .loop call DelayFrame ld a, [hDMATransfer] @@ -257,7 +247,7 @@ WaitDMATransfer: ; 104a14 jr nz, .loop ret -HDMATransfer_Wait127Scanlines_toBGMap: ; 1041ad (41:41ad) +HDMATransfer_Wait127Scanlines_toBGMap: ; HDMA transfer from hl to [hBGMapAddress] ; hBGMapAddress -> de ; 2 * SCREEN_HEIGHT -> c @@ -268,7 +258,7 @@ HDMATransfer_Wait127Scanlines_toBGMap: ; 1041ad (41:41ad) ld c, 2 * SCREEN_HEIGHT jr HDMATransfer_Wait127Scanlines -HDMATransfer_Wait123Scanlines_toBGMap: ; 1041b7 (41:41b7) +HDMATransfer_Wait123Scanlines_toBGMap: ; HDMA transfer from hl to [hBGMapAddress] ; hBGMapAddress -> de ; 2 * SCREEN_HEIGHT -> c @@ -279,9 +269,8 @@ HDMATransfer_Wait123Scanlines_toBGMap: ; 1041b7 (41:41b7) ld e, a ld c, 2 * SCREEN_HEIGHT jr HDMATransfer_Wait123Scanlines -; 1041c1 (41:41c1) -HDMATransfer_NoDI: ; 1041c1 +HDMATransfer_NoDI: ; HDMA transfer from hl to [hBGMapAddress] ; [hBGMapAddress] --> de ; 2 * SCREEN_HEIGHT --> c @@ -339,7 +328,6 @@ HDMATransfer_NoDI: ; 1041c1 ld hl, rHDMA5 res 7, [hl] ret -; 104205 HDMATransfer_Wait123Scanlines: ld b, $7b @@ -407,10 +395,9 @@ _continue_HDMATransfer: ei ret -; 10424e -_LoadHDMAParameters: ; 10424e (41:424e) +_LoadHDMAParameters: ld a, h ld [rHDMA1], a ld a, l @@ -422,14 +409,14 @@ _LoadHDMAParameters: ; 10424e (41:424e) ld [rHDMA4], a ret -PadTilemapForHDMATransfer: ; 10425f (41:425f) +PadTilemapForHDMATransfer: ld c, " " jr PadMapForHDMATransfer -PadAttrMapForHDMATransfer: ; 104263 (41:4263) +PadAttrMapForHDMATransfer: ld c, $0 -PadMapForHDMATransfer: ; 104265 (41:4265) +PadMapForHDMATransfer: ; pad a 20x18 map to 32x18 for HDMA transfer ; back up the padding value in c to hMapObjectIndexBuffer ld a, [hMapObjectIndexBuffer] @@ -467,7 +454,7 @@ PadMapForHDMATransfer: ; 104265 (41:4265) ret -_Get2bpp:: ; 104284 +_Get2bpp:: ; 2bpp when [rLCDC] & $80 ; switch to WRAM bank 6 ld a, [rSVBK] @@ -510,9 +497,8 @@ _Get2bpp:: ; 104284 pop af ld [rSVBK], a ret -; 1042b2 -_Get1bpp:: ; 1042b2 +_Get1bpp:: ; 1bpp when [rLCDC] & $80 .loop ld a, c @@ -537,9 +523,8 @@ _Get1bpp:: ; 1042b2 sub $10 ld c, a jr .loop -; 1042d6 -.bankswitch ; 1042d6 +.bankswitch ld a, [rSVBK] push af ld a, BANK(wScratchTileMap) @@ -576,12 +561,10 @@ _Get1bpp:: ; 1042b2 pop af ld [rSVBK], a ret -; 104303 -HDMATransfer_OnlyTopFourRows: ; 104303 +HDMATransfer_OnlyTopFourRows: ld hl, .Function jp CallInSafeGFXMode -; 104309 .Function: ld hl, wScratchTileMap @@ -604,7 +587,7 @@ HDMATransfer_OnlyTopFourRows: ; 104303 call HDMATransfer_Wait127Scanlines ret -.Copy: ; 10433a (41:433a) +.Copy: ld b, 4 .outer_loop ld c, SCREEN_WIDTH @@ -623,4 +606,3 @@ HDMATransfer_OnlyTopFourRows: ; 104303 dec b jr nz, .outer_loop ret -; 104350 diff --git a/engine/gfx/load_font.asm b/engine/gfx/load_font.asm index 40dbb9c10..41c0721d6 100644 --- a/engine/gfx/load_font.asm +++ b/engine/gfx/load_font.asm @@ -5,22 +5,20 @@ INCLUDE "gfx/font.asm" Unreferenced_fb434: db 0 -Unreferenced_Functionfb435: ; 4b435 +Unreferenced_Functionfb435: ld a, [Unreferenced_fb434] and a jp nz, Get1bpp_2 jp Get1bpp -; fb43f -Unreferenced_Functionfb43f: ; fb43f +Unreferenced_Functionfb43f: ld a, [Unreferenced_fb434] and a jp nz, Get2bpp_2 jp Get2bpp ; End unreferenced block -; fb449 -_LoadStandardFont:: ; fb449 +_LoadStandardFont:: ld de, Font ld hl, vTiles1 lb bc, BANK(Font), 128 ; "A" to "9" @@ -45,9 +43,8 @@ _LoadStandardFont:: ; fb449 lb bc, BANK(Font), 32 ; "'" to "9" call Get1bpp_2 ret -; fb48a -_LoadFontsExtra1:: ; fb48a +_LoadFontsExtra1:: ld de, FontsExtra_SolidBlackGFX ld hl, vTiles2 tile "■" ; $60 lb bc, BANK(FontsExtra_SolidBlackGFX), 1 @@ -61,26 +58,23 @@ _LoadFontsExtra1:: ; fb48a lb bc, BANK(FontExtra), 22 ; "<BOLD_D>" to "ぉ" call Get2bpp_2 jr LoadFrame -; fb4b0 -_LoadFontsExtra2:: ; fb4b0 +_LoadFontsExtra2:: ld de, FontsExtra2_UpArrowGFX ld hl, vTiles2 tile "▲" ; $61 ld b, BANK(FontsExtra2_UpArrowGFX) ld c, 1 call Get2bpp_2 ret -; fb4be -_LoadFontsBattleExtra:: ; fb4be +_LoadFontsBattleExtra:: ld de, FontBattleExtra ld hl, vTiles2 tile $60 lb bc, BANK(FontBattleExtra), 25 call Get2bpp_2 jr LoadFrame -; fb4cc -LoadFrame: ; fb4cc +LoadFrame: ld a, [wTextBoxFrame] maskbits NUM_FRAMES ld bc, 6 * LEN_1BPP_TILE @@ -96,9 +90,8 @@ LoadFrame: ; fb4cc lb bc, BANK(TextBoxSpaceGFX), 1 call Get1bpp_2 ret -; fb4f2 -LoadBattleFontsHPBar: ; fb4f2 +LoadBattleFontsHPBar: ld de, FontBattleExtra ld hl, vTiles2 tile $60 lb bc, BANK(FontBattleExtra), 12 @@ -109,7 +102,7 @@ LoadBattleFontsHPBar: ; fb4f2 call Get2bpp_2 call LoadFrame -LoadHPBar: ; fb50d +LoadHPBar: ld de, EnemyHPBarBorderGFX ld hl, vTiles2 tile $6c lb bc, BANK(EnemyHPBarBorderGFX), 4 @@ -127,9 +120,8 @@ LoadHPBar: ; fb50d lb bc, BANK(MobilePhoneTilesGFX), 2 call Get2bpp_2 ret -; fb53e -StatsScreen_LoadFont: ; fb53e +StatsScreen_LoadFont: call _LoadFontsBattleExtra ld de, EnemyHPBarBorderGFX ld hl, vTiles2 tile $6c @@ -147,10 +139,9 @@ StatsScreen_LoadFont: ; fb53e ld hl, vTiles2 tile $55 lb bc, BANK(ExpBarGFX), 8 call Get2bpp_2 -LoadStatsScreenPageTilesGFX: ; fb571 +LoadStatsScreenPageTilesGFX: ld de, StatsScreenPageTilesGFX ld hl, vTiles2 tile $31 lb bc, BANK(StatsScreenPageTilesGFX), 17 call Get2bpp_2 ret -; fb57e diff --git a/engine/gfx/load_overworld_font.asm b/engine/gfx/load_overworld_font.asm index f23f01c4e..f4ef84619 100644 --- a/engine/gfx/load_overworld_font.asm +++ b/engine/gfx/load_overworld_font.asm @@ -1,4 +1,4 @@ -LoadOverworldFont:: ; 106594 +LoadOverworldFont:: ld de, .OverworldFontGFX ld hl, vTiles1 lb bc, BANK(.OverworldFontGFX), $80 @@ -8,7 +8,6 @@ LoadOverworldFont:: ; 106594 lb bc, BANK(.OverworldFontSpaceGFX), 1 call Get2bpp ret -; 1065ad .OverworldFontGFX: INCBIN "gfx/font/overworld.2bpp" diff --git a/engine/gfx/load_pics.asm b/engine/gfx/load_pics.asm index 9c909a5cd..9be8428a9 100644 --- a/engine/gfx/load_pics.asm +++ b/engine/gfx/load_pics.asm @@ -1,4 +1,4 @@ -GetUnownLetter: ; 51040 +GetUnownLetter: ; Return Unown letter in wUnownLetter based on DVs at hl ; Take the middle 2 bits of each DV and place them in order: @@ -48,7 +48,7 @@ GetUnownLetter: ; 51040 ld [wUnownLetter], a ret -GetMonFrontpic: ; 51077 +GetMonFrontpic: ld a, [wCurPartySpecies] ld [wCurSpecies], a call IsAPokemon @@ -60,7 +60,7 @@ GetMonFrontpic: ; 51077 ld [rSVBK], a ret -GetAnimatedFrontpic: ; 5108b +GetAnimatedFrontpic: ld a, [wCurPartySpecies] ld [wCurSpecies], a call IsAPokemon @@ -75,7 +75,7 @@ GetAnimatedFrontpic: ; 5108b ld [rSVBK], a ret -_GetFrontpic: ; 510a5 +_GetFrontpic: push de call GetBaseData ld a, [wBasePicSize] @@ -102,7 +102,7 @@ _GetFrontpic: ; 510a5 pop hl ret -GetFrontpicPointer: ; 510d7 +GetFrontpicPointer: ld a, [wCurPartySpecies] cp UNOWN jr z, .unown @@ -129,7 +129,7 @@ GetFrontpicPointer: ; 510d7 pop bc ret -GetAnimatedEnemyFrontpic: ; 51103 +GetAnimatedEnemyFrontpic: ld a, BANK(vTiles3) ld [rVBK], a push hl @@ -172,7 +172,7 @@ GetAnimatedEnemyFrontpic: ; 51103 ld [rVBK], a ret -LoadFrontpicTiles: ; 5114f +LoadFrontpicTiles: ld hl, wDecompressScratch swap c ld a, c @@ -193,7 +193,7 @@ LoadFrontpicTiles: ; 5114f jr nz, .loop ret -GetMonBackpic: ; 5116c +GetMonBackpic: ld a, [wCurPartySpecies] call IsAPokemon ret c @@ -244,7 +244,7 @@ GetMonBackpic: ; 5116c ld [rSVBK], a ret -FixPicBank: ; 511c5 +FixPicBank: ; This is a thing for some reason. PICS_FIX EQU $36 @@ -262,7 +262,7 @@ GLOBAL PICS_FIX pop hl ret -.PicsBanks: ; 511d4 +.PicsBanks: db BANK("Pics 1") ; BANK("Pics 1") + 0 db BANK("Pics 2") ; BANK("Pics 1") + 1 db BANK("Pics 3") ; BANK("Pics 1") + 2 @@ -288,7 +288,7 @@ GLOBAL PICS_FIX db BANK("Pics 23") ; BANK("Pics 1") + 22 db BANK("Pics 24") ; BANK("Pics 1") + 23 -Function511ec: ; 511ec +Function511ec: ld a, c push de ld hl, PokemonPicPointers @@ -307,7 +307,7 @@ Function511ec: ; 511ec call FarDecompress ret -GetTrainerPic: ; 5120d +GetTrainerPic: ld a, [wTrainerClass] and a ret z @@ -349,7 +349,7 @@ GetTrainerPic: ; 5120d ld [hBGMapMode], a ret -DecompressGet2bpp: ; 5125d +DecompressGet2bpp: ; Decompress lz data from b:hl to scratch space at 6:d000, then copy it to address de. ld a, [rSVBK] @@ -373,7 +373,7 @@ DecompressGet2bpp: ; 5125d ld [rSVBK], a ret -FixBackpicAlignment: ; 5127c +FixBackpicAlignment: push de push bc ld a, [wBoxAlignment] @@ -409,7 +409,7 @@ FixBackpicAlignment: ; 5127c pop de ret -PadFrontpic: ; 512ab +PadFrontpic: ; pads frontpic to fill 7x7 box ld a, b cp 6 @@ -461,7 +461,7 @@ PadFrontpic: ; 512ab jr nz, .Fill ret -LoadOrientedFrontpic: ; 512f2 +LoadOrientedFrontpic: ld a, [wBoxAlignment] and a jr nz, .x_flip diff --git a/engine/gfx/load_push_oam.asm b/engine/gfx/load_push_oam.asm index 95f67ff73..11045bb9d 100644 --- a/engine/gfx/load_push_oam.asm +++ b/engine/gfx/load_push_oam.asm @@ -1,4 +1,4 @@ -WriteOAMDMACodeToHRAM:: ; 4031 +WriteOAMDMACodeToHRAM:: ld c, hTransferVirtualOAM - $ff00 ld b, .PushOAMEnd - .PushOAM ld hl, .PushOAM @@ -10,7 +10,7 @@ WriteOAMDMACodeToHRAM:: ; 4031 jr nz, .loop ret -.PushOAM: ; 403f +.PushOAM: ld a, HIGH(wVirtualOAM) ld [rDMA], a ld a, NUM_SPRITE_OAM_STRUCTS diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index 5a26d2d7c..151f8bad5 100644 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -1,4 +1,4 @@ -LoadOverworldMonIcon: ; 8e82b +LoadOverworldMonIcon: ld a, e call ReadMonMenuIcon ld l, a @@ -12,9 +12,8 @@ LoadOverworldMonIcon: ; 8e82b ld b, BANK(Icons) ld c, 8 ret -; 8e83f -LoadMenuMonIcon: ; 8e83f +LoadMenuMonIcon: push hl push de push bc @@ -23,9 +22,8 @@ LoadMenuMonIcon: ; 8e83f pop de pop hl ret -; 8e849 -.LoadIcon: ; 8e849 +.LoadIcon: ld d, 0 ld hl, .Jumptable add hl, de @@ -34,10 +32,9 @@ LoadMenuMonIcon: ; 8e83f ld h, [hl] ld l, a jp hl -; 8e854 -.Jumptable: ; 8e854 (23:6854) +.Jumptable: dw PartyMenu_InitAnimatedMonIcon ; party menu dw NamingScreen_InitAnimatedMonIcon ; naming screen dw MoveList_InitAnimatedMonIcon ; moves (?) @@ -46,13 +43,13 @@ LoadMenuMonIcon: ; 8e83f dw Mobile_InitPartyMenuBGPal71 ; mobile dw .GetPartyMenuMonIcon ; unused -.GetPartyMenuMonIcon: ; 8e862 (23:6862) +.GetPartyMenuMonIcon: call InitPartyMenuIcon call .GetPartyMonItemGFX call SetPartyMonIconAnimSpeed ret -.GetPartyMonItemGFX: ; 8e86c (23:686c) +.GetPartyMonItemGFX: push bc ld a, [hObjectStructIndexBuffer] ld hl, wPartyMon1Item @@ -83,7 +80,7 @@ LoadMenuMonIcon: ; 8e83f ld [hl], a ret -Mobile_InitAnimatedMonIcon: ; 8e898 (23:6898) +Mobile_InitAnimatedMonIcon: call PartyMenu_InitAnimatedMonIcon ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc @@ -99,7 +96,7 @@ Mobile_InitAnimatedMonIcon: ; 8e898 (23:6898) ld [hl], a ret -Mobile_InitPartyMenuBGPal71: ; 8e8b1 (23:68b1) +Mobile_InitPartyMenuBGPal71: call InitPartyMenuIcon call SetPartyMonIconAnimSpeed ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID @@ -120,13 +117,13 @@ Mobile_InitPartyMenuBGPal71: ; 8e8b1 (23:68b1) ld [wc608 + 1], a ret -PartyMenu_InitAnimatedMonIcon: ; 8e8d5 (23:68d5) +PartyMenu_InitAnimatedMonIcon: call InitPartyMenuIcon call .SpawnItemIcon call SetPartyMonIconAnimSpeed ret -.SpawnItemIcon: ; 8e8df (23:68df) +.SpawnItemIcon: push bc ld a, [hObjectStructIndexBuffer] ld hl, wPartyMon1Item @@ -154,7 +151,7 @@ PartyMenu_InitAnimatedMonIcon: ; 8e8d5 (23:68d5) ld [hl], a ret -InitPartyMenuIcon: ; 8e908 (23:6908) +InitPartyMenuIcon: ld a, [wCurIconTile] push af ld a, [hObjectStructIndexBuffer] @@ -185,7 +182,7 @@ InitPartyMenuIcon: ; 8e908 (23:6908) ld [hl], a ret -SetPartyMonIconAnimSpeed: ; 8e936 (23:6936) +SetPartyMonIconAnimSpeed: push bc ld a, [hObjectStructIndexBuffer] ld b, a @@ -202,7 +199,7 @@ SetPartyMonIconAnimSpeed: ; 8e936 (23:6936) ld [hl], a ret -.getspeed ; 8e94c (23:694c) +.getspeed farcall PlacePartymonHPBar call GetHPPal ld e, d @@ -211,15 +208,13 @@ SetPartyMonIconAnimSpeed: ; 8e936 (23:6936) add hl, de ld b, [hl] ret -; 8e95e (23:695e) -.speeds ; 8e95e +.speeds db $00 ; HP_GREEN db $40 ; HP_YELLOW db $80 ; HP_RED -; 8e961 -NamingScreen_InitAnimatedMonIcon: ; 8e961 (23:6961) +NamingScreen_InitAnimatedMonIcon: ld a, [wd265] call ReadMonMenuIcon ld [wCurIcon], a @@ -233,7 +228,7 @@ NamingScreen_InitAnimatedMonIcon: ; 8e961 (23:6961) ld [hl], SPRITE_ANIM_SEQ_NULL ret -MoveList_InitAnimatedMonIcon: ; 8e97d (23:697d) +MoveList_InitAnimatedMonIcon: ld a, [wd265] call ReadMonMenuIcon ld [wCurIcon], a @@ -248,7 +243,7 @@ MoveList_InitAnimatedMonIcon: ; 8e97d (23:697d) ld [hl], SPRITE_ANIM_SEQ_NULL ret -Trade_LoadMonIconGFX: ; 8e99a (23:699a) +Trade_LoadMonIconGFX: ld a, [wd265] call ReadMonMenuIcon ld [wCurIcon], a @@ -257,7 +252,7 @@ Trade_LoadMonIconGFX: ; 8e99a (23:699a) call GetMemIconGFX ret -GetSpeciesIcon: ; 8e9ac +GetSpeciesIcon: ; Load species icon into VRAM at tile a push de ld a, [wd265] @@ -267,10 +262,9 @@ GetSpeciesIcon: ; 8e9ac ld a, e call GetIconGFX ret -; 8e9bc -FlyFunction_GetMonIcon: ; 8e9bc (23:69bc) +FlyFunction_GetMonIcon: push de ld a, [wd265] call ReadMonMenuIcon @@ -279,9 +273,8 @@ FlyFunction_GetMonIcon: ; 8e9bc (23:69bc) ld a, e call GetIcon_a ret -; 8e9cc (23:69cc) -Unreferenced_GetMonIcon2: ; 8e9cc +Unreferenced_GetMonIcon2: push de ld a, [wd265] call ReadMonMenuIcon @@ -289,11 +282,10 @@ Unreferenced_GetMonIcon2: ; 8e9cc pop de call GetIcon_de ret -; 8e9db -GetMemIconGFX: ; 8e9db (23:69db) +GetMemIconGFX: ld a, [wCurIconTile] -GetIconGFX: ; 8e9de +GetIconGFX: call GetIcon_a ld de, 8 tiles add hl, de @@ -308,20 +300,19 @@ GetIconGFX: ; 8e9de HeldItemIcons: INCBIN "gfx/icons/mail.2bpp" INCBIN "gfx/icons/item.2bpp" -; 8ea17 -GetIcon_de: ; 8ea17 +GetIcon_de: ; Load icon graphics into VRAM starting from tile de. ld l, e ld h, d jr GetIcon -GetIcon_a: ; 8ea1b +GetIcon_a: ; Load icon graphics into VRAM starting from tile a. ld l, a ld h, 0 -GetIcon: ; 8ea1e +GetIcon: ; Load icon graphics into VRAM starting from tile hl. ; One tile is 16 bytes long. @@ -352,16 +343,14 @@ endr pop hl ret -; 8ea3f -GetGFXUnlessMobile: ; 8ea3f +GetGFXUnlessMobile: ld a, [wLinkMode] cp LINK_MOBILE jp nz, Request2bpp jp Get2bpp_2 -; 8ea4a -FreezeMonIcons: ; 8ea4a +FreezeMonIcons: ld hl, wSpriteAnimationStructs ld e, PARTY_LENGTH ld a, [wMenuCursorY] @@ -393,9 +382,8 @@ FreezeMonIcons: ; 8ea4a dec e jr nz, .loop ret -; 8ea71 -UnfreezeMonIcons: ; 8ea71 +UnfreezeMonIcons: ld hl, wSpriteAnimationStructs ld e, PARTY_LENGTH .loop @@ -415,9 +403,8 @@ UnfreezeMonIcons: ; 8ea71 dec e jr nz, .loop ret -; 8ea8c (23:6a8c) -HoldSwitchmonIcon: ; 8ea8c +HoldSwitchmonIcon: ld hl, wSpriteAnimationStructs ld e, PARTY_LENGTH ld a, [wSwitchMon] @@ -448,7 +435,7 @@ HoldSwitchmonIcon: ; 8ea8c jr nz, .loop ret -ReadMonMenuIcon: ; 8eab3 +ReadMonMenuIcon: cp EGG jr z, .egg dec a @@ -461,7 +448,6 @@ ReadMonMenuIcon: ; 8eab3 .egg ld a, ICON_EGG ret -; 8eac4 INCLUDE "data/pokemon/menu_icons.asm" diff --git a/engine/gfx/pic_animation.asm b/engine/gfx/pic_animation.asm index 925296388..362fe49cd 100644 --- a/engine/gfx/pic_animation.asm +++ b/engine/gfx/pic_animation.asm @@ -1,6 +1,6 @@ ; Pic animation arrangement. -Unused_AnimateMon_Slow_Normal: ; d0000 +Unused_AnimateMon_Slow_Normal: hlcoord 12, 0 ld a, [wBattleMode] cp WILD_BATTLE @@ -15,42 +15,36 @@ Unused_AnimateMon_Slow_Normal: ; d0000 ld d, $0 call AnimateFrontpic ret -; d001a -AnimateMon_Menu: ; d001a +AnimateMon_Menu: ld e, ANIM_MON_MENU ld d, $0 call AnimateFrontpic ret -; d0022 -AnimateMon_Trade: ; d0022 +AnimateMon_Trade: ld e, ANIM_MON_TRADE ld d, $0 call AnimateFrontpic ret -; d002a -AnimateMon_Evolve: ; d002a +AnimateMon_Evolve: ld e, ANIM_MON_EVOLVE ld d, $0 call AnimateFrontpic ret -; d0032 -AnimateMon_Hatch: ; d0032 +AnimateMon_Hatch: ld e, ANIM_MON_HATCH ld d, $0 call AnimateFrontpic ret -; d003a -AnimateMon_Unused: ; d003a +AnimateMon_Unused: ld e, ANIM_MON_UNUSED ld d, $0 call AnimateFrontpic ret -; d0042 pokeanim: MACRO rept _NARG @@ -64,7 +58,7 @@ endr db (PokeAnim_Finish_ - PokeAnim_SetupCommands) / 2 ENDM -PokeAnims: ; d0042 +PokeAnims: dw .Slow dw .Normal dw .Menu @@ -86,7 +80,7 @@ PokeAnims: ; d0042 .Egg2: pokeanim Idle, Play -AnimateFrontpic: ; d008e +AnimateFrontpic: call AnimateMon_CheckIfPokemon ret c call LoadMonAnimation @@ -97,9 +91,8 @@ AnimateFrontpic: ; d008e pop af jr nc, .loop ret -; d00a3 -LoadMonAnimation: ; d00a3 +LoadMonAnimation: push hl ld c, e ld b, 0 @@ -112,9 +105,8 @@ LoadMonAnimation: ; d00a3 pop hl call PokeAnim_InitPicAttributes ret -; d00b4 -SetUpPokeAnim: ; d00b4 +SetUpPokeAnim: ld a, [rSVBK] push af ld a, BANK(wPokeAnimSceneIndex) @@ -139,9 +131,8 @@ SetUpPokeAnim: ; d00b4 ret z scf ret -; d00da -PokeAnim_SetupCommands: ; d00da +PokeAnim_SetupCommands: setup_command: MACRO \1_: dw \1 ENDM @@ -157,16 +148,15 @@ ENDM setup_command PokeAnim_Cry setup_command PokeAnim_CryNoWait setup_command PokeAnim_StereoCry -; d00f2 -PokeAnim_SetWait: ; d00f2 +PokeAnim_SetWait: ld a, 18 ld [wPokeAnimWaitCounter], a ld a, [wPokeAnimSceneIndex] inc a ld [wPokeAnimSceneIndex], a -PokeAnim_Wait: ; d00fe +PokeAnim_Wait: ld hl, wPokeAnimWaitCounter dec [hl] ret nz @@ -174,9 +164,8 @@ PokeAnim_Wait: ; d00fe inc a ld [wPokeAnimSceneIndex], a ret -; d010b -PokeAnim_Setup: ; d010b +PokeAnim_Setup: ld c, FALSE ld b, 0 call PokeAnim_InitAnim @@ -185,9 +174,8 @@ PokeAnim_Setup: ; d010b inc a ld [wPokeAnimSceneIndex], a ret -; d011d -PokeAnim_Setup2: ; d011d +PokeAnim_Setup2: ld c, FALSE ld b, 4 call PokeAnim_InitAnim @@ -196,9 +184,8 @@ PokeAnim_Setup2: ; d011d inc a ld [wPokeAnimSceneIndex], a ret -; d012f -PokeAnim_Idle: ; d012f +PokeAnim_Idle: ld c, TRUE ld b, 0 call PokeAnim_InitAnim @@ -207,9 +194,8 @@ PokeAnim_Idle: ; d012f inc a ld [wPokeAnimSceneIndex], a ret -; d0141 -PokeAnim_Play: ; d0141 +PokeAnim_Play: call PokeAnim_DoAnimScript ld a, [wPokeAnimJumptableIndex] bit 7, a @@ -219,9 +205,8 @@ PokeAnim_Play: ; d0141 inc a ld [wPokeAnimSceneIndex], a ret -; d0155 -PokeAnim_Play2: ; d0155 +PokeAnim_Play2: call PokeAnim_DoAnimScript ld a, [wPokeAnimJumptableIndex] bit 7, a @@ -230,42 +215,37 @@ PokeAnim_Play2: ; d0155 inc a ld [wPokeAnimSceneIndex], a ret -; d0166 -PokeAnim_BasePic: ; d0166 +PokeAnim_BasePic: call PokeAnim_DeinitFrames ld a, [wPokeAnimSceneIndex] inc a ld [wPokeAnimSceneIndex], a ret -; d0171 -PokeAnim_Finish: ; d0171 +PokeAnim_Finish: call PokeAnim_DeinitFrames ld hl, wPokeAnimSceneIndex set 7, [hl] ret -; d017a -PokeAnim_Cry: ; d017a +PokeAnim_Cry: ld a, [wPokeAnimSpecies] call _PlayMonCry ld a, [wPokeAnimSceneIndex] inc a ld [wPokeAnimSceneIndex], a ret -; d0188 -PokeAnim_CryNoWait: ; d0188 +PokeAnim_CryNoWait: ld a, [wPokeAnimSpecies] call PlayMonCry2 ld a, [wPokeAnimSceneIndex] inc a ld [wPokeAnimSceneIndex], a ret -; d0196 -PokeAnim_StereoCry: ; d0196 +PokeAnim_StereoCry: ld a, $f ld [wCryTracks], a ld a, [wPokeAnimSpecies] @@ -274,9 +254,8 @@ PokeAnim_StereoCry: ; d0196 inc a ld [wPokeAnimSceneIndex], a ret -; d01a9 -PokeAnim_DeinitFrames: ; d01a9 +PokeAnim_DeinitFrames: ld a, [rSVBK] push af ld a, BANK(wPokeAnimCoord) @@ -288,9 +267,8 @@ PokeAnim_DeinitFrames: ; d01a9 pop af ld [rSVBK], a ret -; d01c6 -AnimateMon_CheckIfPokemon: ; d01c6 +AnimateMon_CheckIfPokemon: ld a, [wCurPartySpecies] cp EGG jr z, .fail @@ -302,9 +280,8 @@ AnimateMon_CheckIfPokemon: ; d01c6 .fail scf ret -; d01d6 -PokeAnim_InitPicAttributes: ; d01d6 +PokeAnim_InitPicAttributes: ld a, [rSVBK] push af ld a, BANK(wPokeAnimSceneIndex) @@ -355,9 +332,8 @@ PokeAnim_InitPicAttributes: ; d01d6 pop af ld [rSVBK], a ret -; d0228 -PokeAnim_InitAnim: ; d0228 +PokeAnim_InitAnim: ld a, [rSVBK] push af ld a, BANK(wPokeAnimIdleFlag) @@ -378,9 +354,8 @@ PokeAnim_InitAnim: ; d0228 pop af ld [rSVBK], a ret -; d0250 -PokeAnim_DoAnimScript: ; d0250 +PokeAnim_DoAnimScript: xor a ld [hBGMapMode], a .loop @@ -389,14 +364,12 @@ PokeAnim_DoAnimScript: ; d0250 ld hl, .Jumptable rst JumpTable ret -; d025d -.Jumptable: ; d025d +.Jumptable: dw .RunAnim dw .WaitAnim -; d0261 -.RunAnim: ; d0261 +.RunAnim: call PokeAnim_GetPointer ld a, [wPokeAnimCommand] cp endanim_command @@ -410,22 +383,20 @@ PokeAnim_DoAnimScript: ; d0250 call PokeAnim_GetDuration ld [wPokeAnimWaitCounter], a call PokeAnim_StartWaitAnim -.WaitAnim: ; d0282 +.WaitAnim: ld a, [wPokeAnimWaitCounter] dec a ld [wPokeAnimWaitCounter], a ret nz call PokeAnim_StopWaitAnim ret -; d028e -.SetRepeat: ; d028e +.SetRepeat: ld a, [wPokeAnimParameter] ld [wPokeAnimRepeatTimer], a jr .loop -; d0296 -.DoRepeat: ; d0296 +.DoRepeat: ld a, [wPokeAnimRepeatTimer] and a ret z @@ -435,15 +406,13 @@ PokeAnim_DoAnimScript: ; d0250 ld a, [wPokeAnimParameter] ld [wPokeAnimFrame], a jr .loop -; d02a8 -PokeAnim_End: ; d02a8 +PokeAnim_End: ld hl, wPokeAnimJumptableIndex set 7, [hl] ret -; d02ae -PokeAnim_GetDuration: ; d02ae +PokeAnim_GetDuration: ; a * (1 + [wPokeAnimSpeed] / 16) ld c, a ld b, $0 @@ -460,9 +429,8 @@ PokeAnim_GetDuration: ; d02ae or h add c ret -; d02c8 -PokeAnim_GetFrame: ; d02c8 +PokeAnim_GetFrame: call PokeAnim_PlaceGraphic ld a, [wPokeAnimCommand] and a @@ -473,35 +441,30 @@ PokeAnim_GetFrame: ; d02c8 pop hl call PokeAnim_ConvertAndApplyBitmask ret -; d02dc -PokeAnim_StartWaitAnim: ; d02dc +PokeAnim_StartWaitAnim: ld a, [wPokeAnimJumptableIndex] inc a ld [wPokeAnimJumptableIndex], a ret -; d02e4 -PokeAnim_StopWaitAnim: ; d02e4 +PokeAnim_StopWaitAnim: ld a, [wPokeAnimJumptableIndex] dec a ld [wPokeAnimJumptableIndex], a ret -; d02ec -PokeAnim_IsUnown: ; d02ec +PokeAnim_IsUnown: ld a, [wPokeAnimSpecies] cp UNOWN ret -; d02f2 -PokeAnim_IsEgg: ; d02f2 +PokeAnim_IsEgg: ld a, [wPokeAnimSpecies] cp EGG ret -; d02f8 -PokeAnim_GetPointer: ; d02f8 +PokeAnim_GetPointer: push hl ld a, [wPokeAnimFrame] ld e, a @@ -522,9 +485,8 @@ PokeAnim_GetPointer: ; d02f8 inc [hl] pop hl ret -; d031b -PokeAnim_GetBitmaskIndex: ; d031b +PokeAnim_GetBitmaskIndex: ld a, [wPokeAnimCommand] dec a ld c, a @@ -542,9 +504,8 @@ PokeAnim_GetBitmaskIndex: ; d031b ld [wPokeAnimCurBitmask], a inc hl ret -; d033b -PokeAnim_CopyBitmaskToBuffer: ; d033b +PokeAnim_CopyBitmaskToBuffer: call .GetSize push bc ld hl, wPokeAnimBitmaskAddr @@ -558,9 +519,8 @@ PokeAnim_CopyBitmaskToBuffer: ; d033b ld a, [wPokeAnimBitmaskBank] call FarCopyBytes ret -; d0356 -.GetSize: ; d0356 +.GetSize: push hl ld a, [wPokeAnimFrontpicHeight] sub 5 ; to get a number 0, 1, or 2 @@ -572,7 +532,6 @@ PokeAnim_CopyBitmaskToBuffer: ; d033b ld b, 0 pop hl ret -; d0368 .Sizes: db 4, 5, 7 @@ -588,7 +547,7 @@ y = y + 7 endr ENDM -PokeAnim_ConvertAndApplyBitmask: ; d036b +PokeAnim_ConvertAndApplyBitmask: xor a ld [wPokeAnimBitmaskCurBit], a ld [wPokeAnimBitmaskCurRow], a @@ -614,9 +573,8 @@ PokeAnim_ConvertAndApplyBitmask: ; d036b pop hl jr nc, .loop ret -; d0392 -.IsCurBitSet: ; d0392 +.IsCurBitSet: ; which byte ld a, [wPokeAnimBitmaskCurBit] and $f8 @@ -652,9 +610,8 @@ PokeAnim_ConvertAndApplyBitmask: ; d036b ld hl, wPokeAnimBitmaskCurBit inc [hl] ret -; d03bd -.ApplyFrame: ; d03bd +.ApplyFrame: push af call .GetCoord pop af @@ -665,9 +622,8 @@ PokeAnim_ConvertAndApplyBitmask: ; d036b pop hl ld [hl], a ret -; d03cd -.GetCoord: ; d03cd +.GetCoord: call .GetStartCoord ld a, [wPokeAnimBitmaskCurRow] ld bc, SCREEN_WIDTH @@ -693,12 +649,11 @@ PokeAnim_ConvertAndApplyBitmask: ; d036b .skip2 ret -; d03f4 ; unused db 6, 5, 4 -.GetTilemap: ; d03f7 +.GetTilemap: push af ld a, [wPokeAnimFrontpicHeight] cp 5 @@ -745,7 +700,6 @@ PokeAnim_ConvertAndApplyBitmask: ; d036b .add_13 add 13 ret -; d042f ._5by5: poke_anim_box 5 @@ -765,7 +719,7 @@ PokeAnim_ConvertAndApplyBitmask: ; d036b ; db 43, 44, 45, 46, 47, 48 -.GetStartCoord: ; d046c +.GetStartCoord: ld hl, wPokeAnimCoord ld a, [hli] ld h, [hl] @@ -793,9 +747,8 @@ PokeAnim_ConvertAndApplyBitmask: ; d036b .add_bc add hl, bc ret -; d0499 -.NextBit: ; d0499 +.NextBit: ld a, [wPokeAnimBitmaskCurRow] inc a ld [wPokeAnimBitmaskCurRow], a @@ -818,9 +771,8 @@ PokeAnim_ConvertAndApplyBitmask: ; d036b .no_carry xor a ret -; d04bd -PokeAnim_PlaceGraphic: ; d04bd +PokeAnim_PlaceGraphic: call .ClearBox ld a, [wBoxAlignment] and a @@ -860,9 +812,8 @@ PokeAnim_PlaceGraphic: ; d04bd dec c jr nz, .loop ret -; d04f6 -.ClearBox: ; d04f6 +.ClearBox: ld hl, wPokeAnimCoord ld a, [hli] ld h, [hl] @@ -871,9 +822,8 @@ PokeAnim_PlaceGraphic: ; d04bd ld c, 7 call ClearBox ret -; d0504 -PokeAnim_SetVBank1: ; d0504 +PokeAnim_SetVBank1: ld a, [rSVBK] push af ld a, BANK(wPokeAnimCoord) @@ -885,9 +835,8 @@ PokeAnim_SetVBank1: ; d0504 pop af ld [rSVBK], a ret -; d051b -.SetFlag: ; d051b +.SetFlag: call PokeAnim_GetAttrMapCoord ld b, 7 ld c, 7 @@ -908,9 +857,8 @@ PokeAnim_SetVBank1: ; d0504 dec b jr nz, .row ret -; d0536 -PokeAnim_SetVBank0: ; d0536 +PokeAnim_SetVBank0: call PokeAnim_GetAttrMapCoord ld b, 7 ld c, 7 @@ -931,9 +879,8 @@ PokeAnim_SetVBank0: ; d0536 dec b jr nz, .row ret -; d0551 -PokeAnim_GetAttrMapCoord: ; d0551 +PokeAnim_GetAttrMapCoord: ld hl, wPokeAnimCoord ld a, [hli] ld h, [hl] @@ -941,9 +888,8 @@ PokeAnim_GetAttrMapCoord: ; d0551 ld de, wAttrMap - wTileMap add hl, de ret -; d055c -GetMonAnimPointer: ; d055c +GetMonAnimPointer: call PokeAnim_IsEgg jr z, .egg @@ -996,9 +942,8 @@ GetMonAnimPointer: ; d055c ld a, h ld [wPokeAnimPointerAddr + 1], a ret -; d05b4 -PokeAnim_GetFrontpicDims: ; d05b4 +PokeAnim_GetFrontpicDims: ld a, [rSVBK] push af ld a, BANK(wCurPartySpecies) @@ -1012,9 +957,8 @@ PokeAnim_GetFrontpicDims: ; d05b4 pop af ld [rSVBK], a ret -; d05ce -GetMonFramesPointer: ; d05ce +GetMonFramesPointer: call PokeAnim_IsEgg jr z, .egg @@ -1058,9 +1002,8 @@ GetMonFramesPointer: ; d05ce ld a, h ld [wPokeAnimFramesAddr + 1], a ret -; d061b -GetMonBitmaskPointer: ; d061b +GetMonBitmaskPointer: call PokeAnim_IsEgg jr z, .egg @@ -1097,9 +1040,8 @@ GetMonBitmaskPointer: ; d061b ld a, h ld [wPokeAnimBitmaskAddr + 1], a ret -; d065c -PokeAnim_GetSpeciesOrUnown: ; d065c +PokeAnim_GetSpeciesOrUnown: call PokeAnim_IsUnown jr z, .unown ld a, [wPokeAnimSpecies] @@ -1108,13 +1050,12 @@ PokeAnim_GetSpeciesOrUnown: ; d065c .unown ld a, [wPokeAnimUnownLetter] ret -; d0669 -Unused_HOF_AnimateAlignedFrontpic: ; d0669 +Unused_HOF_AnimateAlignedFrontpic: ld a, $1 ld [wBoxAlignment], a -HOF_AnimateFrontpic: ; d066e +HOF_AnimateFrontpic: call AnimateMon_CheckIfPokemon jr c, .fail ld h, d @@ -1138,4 +1079,3 @@ HOF_AnimateFrontpic: ; d066e inc a ld [wCurPartySpecies], a ret -; d0695 diff --git a/engine/gfx/place_graphic.asm b/engine/gfx/place_graphic.asm index 21b914950..628c72413 100644 --- a/engine/gfx/place_graphic.asm +++ b/engine/gfx/place_graphic.asm @@ -1,4 +1,4 @@ -PlaceGraphic: ; 2ef6e +PlaceGraphic: ; Fill wBoxAlignment-aligned box width b height c ; with iterating tile starting from hGraphicStartTile at hl. diff --git a/engine/gfx/player_gfx.asm b/engine/gfx/player_gfx.asm index deb16ad3a..04208905a 100644 --- a/engine/gfx/player_gfx.asm +++ b/engine/gfx/player_gfx.asm @@ -1,4 +1,4 @@ -Unreferenced_Function88248: ; 88248 +Unreferenced_Function88248: ld c, CAL ld a, [wPlayerGender] bit PLAYERGENDER_FEMALE_F, a @@ -10,17 +10,17 @@ Unreferenced_Function88248: ; 88248 ld [wTrainerClass], a ret -MovePlayerPicRight: ; 88258 +MovePlayerPicRight: hlcoord 6, 4 ld de, 1 jr MovePlayerPic -MovePlayerPicLeft: ; 88260 +MovePlayerPicLeft: hlcoord 13, 4 ld de, -1 ; fallthrough -MovePlayerPic: ; 88266 +MovePlayerPic: ; Move player pic at hl by de * 7 tiles. ld c, $8 .loop @@ -55,7 +55,7 @@ MovePlayerPic: ; 88266 pop hl jr .loop -ShowPlayerNamingChoices: ; 88297 +ShowPlayerNamingChoices: ld hl, ChrisNameMenuHeader ld a, [wPlayerGender] bit PLAYERGENDER_FEMALE_F, a @@ -84,7 +84,7 @@ GetPlayerNameArray: ; 88318 This Function is never called call InitName ret -GetPlayerIcon: ; 8832c +GetPlayerIcon: ; Get the player icon corresponding to gender ; Male @@ -102,7 +102,7 @@ GetPlayerIcon: ; 8832c .done ret -GetCardPic: ; 8833e +GetCardPic: ld hl, ChrisCardPic ld a, [wPlayerGender] bit PLAYERGENDER_FEMALE_F, a @@ -120,23 +120,23 @@ GetCardPic: ; 8833e call FarCopyBytes ret -ChrisCardPic: ; 88365 +ChrisCardPic: INCBIN "gfx/trainer_card/chris_card.2bpp" -KrisCardPic: ; 88595 +KrisCardPic: INCBIN "gfx/trainer_card/kris_card.2bpp" -CardGFX: ; 887c5 +CardGFX: INCBIN "gfx/trainer_card/trainer_card.2bpp" -GetPlayerBackpic: ; 88825 +GetPlayerBackpic: ld a, [wPlayerGender] bit PLAYERGENDER_FEMALE_F, a jr z, GetChrisBackpic call GetKrisBackpic ret -GetChrisBackpic: ; 88830 +GetChrisBackpic: ld hl, ChrisBackpic ld b, BANK(ChrisBackpic) ld de, vTiles2 tile $31 @@ -144,7 +144,7 @@ GetChrisBackpic: ; 88830 predef DecompressGet2bpp ret -HOF_LoadTrainerFrontpic: ; 88840 +HOF_LoadTrainerFrontpic: call WaitBGMap xor a ld [hBGMapMode], a @@ -173,7 +173,7 @@ HOF_LoadTrainerFrontpic: ; 88840 ld [hBGMapMode], a ret -DrawIntroPlayerPic: ; 88874 +DrawIntroPlayerPic: ; Draw the player pic at (6,4). ; Get class @@ -206,13 +206,13 @@ DrawIntroPlayerPic: ; 88874 predef PlaceGraphic ret -ChrisPic: ; 888a9 +ChrisPic: INCBIN "gfx/player/chris.2bpp" -KrisPic: ; 88bb9 +KrisPic: INCBIN "gfx/player/kris.2bpp" -GetKrisBackpic: ; 88ec9 +GetKrisBackpic: ; Kris's backpic is uncompressed. ld de, KrisBackpic ld hl, vTiles2 tile $31 @@ -220,5 +220,5 @@ GetKrisBackpic: ; 88ec9 call Get2bpp ret -KrisBackpic: ; 88ed6 +KrisBackpic: INCBIN "gfx/player/kris_back.2bpp" diff --git a/engine/gfx/sgb_layouts.asm b/engine/gfx/sgb_layouts.asm index d53be908f..538132ce2 100644 --- a/engine/gfx/sgb_layouts.asm +++ b/engine/gfx/sgb_layouts.asm @@ -1,4 +1,4 @@ -LoadSGBLayout: ; 864c +LoadSGBLayout: call CheckCGB jp nz, LoadSGBLayoutCGB @@ -20,9 +20,8 @@ LoadSGBLayout: ; 864c ld de, _LoadSGBLayout_ReturnFromJumpTable push de jp hl -; 866f -.Jumptable: ; 866f +.Jumptable: dw .SGB_BattleGrayscale dw .SGB_BattleColors dw .SGB_PokegearPals @@ -54,15 +53,13 @@ LoadSGBLayout: ; 864c dw .SGB_TrainerOrMonFrontpicPals dw .SGB_MysteryGift dw .SGB1e -; 86ad -.SGB_BattleGrayscale: ; 86ad +.SGB_BattleGrayscale: ld hl, PalPacket_BattleGrayscale ld de, BlkPacket_Battle ret -; 86b4 -.SGB_BattleColors: ; 86b4 +.SGB_BattleColors: ld hl, BlkPacket_Battle call PushSGBPals_ @@ -135,9 +132,8 @@ LoadSGBLayout: ; 864c ld a, SCGB_BATTLE_COLORS ld [wSGBPredef], a ret -; 873c -.SGB_MoveList: ; 873c +.SGB_MoveList: ld hl, PalPacket_9bd6 ld de, wSGBPals ld bc, PALPACKET_LENGTH @@ -154,15 +150,13 @@ LoadSGBLayout: ; 864c ld hl, wSGBPals ld de, BlkPacket_MoveList ret -; 875c -.SGB_PokegearPals: ; 875c +.SGB_PokegearPals: ld hl, PalPacket_Pokegear ld de, BlkPacket_9a86 ret -; 8763 -.SGB_StatsScreenHPPals: ; 8763 +.SGB_StatsScreenHPPals: ld hl, PalPacket_9ce6 ld de, wSGBPals ld bc, PALPACKET_LENGTH @@ -196,15 +190,13 @@ LoadSGBLayout: ; 864c ld hl, wSGBPals ld de, BlkPacket_StatsScreen ret -; 87ab -.SGB_PartyMenu: ; 87ab +.SGB_PartyMenu: ld hl, PalPacket_PartyMenu ld de, wSGBPals + 1 ret -; 87b2 -.SGB_Pokedex: ; 87b2 +.SGB_Pokedex: ld hl, PalPacket_9ce6 ld de, wSGBPals ld bc, PALPACKET_LENGTH @@ -230,9 +222,8 @@ LoadSGBLayout: ; 864c ld hl, wSGBPals ld de, BlkPacket_Pokedex_PC ret -; 87e9 -.SGB_BillsPC: ; 87e9 +.SGB_BillsPC: ld hl, PalPacket_9ce6 ld de, wSGBPals ld bc, PALPACKET_LENGTH @@ -259,15 +250,13 @@ LoadSGBLayout: ; 864c ld hl, wSGBPals ld de, BlkPacket_Pokedex_PC ret -; 8823 -.SGB_PokedexUnownMode: ; 8823 +.SGB_PokedexUnownMode: call .SGB_Pokedex ld de, BlkPacket_PokedexUnownMode ret -; 882a -.SGB_PokedexSearchOption: ; 882a +.SGB_PokedexSearchOption: ld hl, PalPacket_9ce6 ld de, wSGBPals ld bc, PALPACKET_LENGTH @@ -283,34 +272,29 @@ LoadSGBLayout: ; 864c ld hl, wSGBPals ld de, BlkPacket_9a86 ret -; 884b -.SGB_PackPals: ; 884b +.SGB_PackPals: ld hl, PalPacket_Pack ld de, BlkPacket_9a86 ret -; 8852 -.SGB_SlotMachine: ; 8852 +.SGB_SlotMachine: ld hl, PalPacket_SlotMachine ld de, BlkPacket_SlotMachine ret -; 8859 -.SGB06: ; 8859 +.SGB06: ld hl, PalPacket_SCGB_06 ld de, BlkPacket_SCGB_06 ret -; 8860 .SGB_Diploma: -.SGB_MysteryGift: ; 8860 +.SGB_MysteryGift: ld hl, PalPacket_Diploma ld de, BlkPacket_9a86 ret -; 8867 -.SGB_GSIntro: ; 8867 +.SGB_GSIntro: ld b, 0 ld hl, .BlkPacketTable_GSIntro rept 4 @@ -324,35 +308,30 @@ endr ld h, [hl] ld l, a ret -; 8878 -.BlkPacketTable_GSIntro: ; 8878 +.BlkPacketTable_GSIntro: dw BlkPacket_9a86, PalPacket_GSIntroShellderLapras dw BlkPacket_GSIntroJigglypuffPikachu, PalPacket_GSIntroJigglypuffPikachu dw BlkPacket_9a86, PalPacket_GSIntroStartersTransition -; 8884 -.SGB_GSTitleScreen: ; 8884 +.SGB_GSTitleScreen: ld hl, PalPacket_GSTitleScreen ld de, BlkPacket_GSTitleScreen ld a, SCGB_DIPLOMA ld [wSGBPredef], a ret -; 8890 -.SGB13: ; 8890 +.SGB13: ld hl, PalPacket_SCGB_13 ld de, BlkPacket_SCGB_13 ret -; 8897 -.SGB_BetaPikachuMinigame: ; 8897 +.SGB_BetaPikachuMinigame: ld hl, PalPacket_BetaPikachuMinigame ld de, BlkPacket_9a86 ret -; 889e -.SGB_BetaPoker: ; 889e +.SGB_BetaPoker: ld hl, BlkPacket_9a86 ld de, wPlayerLightScreenCount ; ??? ld bc, PALPACKET_LENGTH @@ -360,9 +339,8 @@ endr ld hl, PalPacket_BetaPoker ld de, BlkPacket_9a86 ret -; 88b1 -.SGB_MapPals: ; 88b1 +.SGB_MapPals: ld hl, PalPacket_9bd6 ld de, wSGBPals ld bc, PALPACKET_LENGTH @@ -374,9 +352,8 @@ endr ld a, SCGB_MAPPALS ld [wSGBPredef], a ret -; 88cd -.SGB_Evolution: ; 88cd +.SGB_Evolution: push bc ld hl, PalPacket_9ce6 ld de, wSGBPals @@ -419,22 +396,19 @@ endr ld hl, wSGBPals ld de, BlkPacket_9a86 ret -; 891a .SGB0d: -.SGB_TrainerCard: ; 891a +.SGB_TrainerCard: ld hl, PalPacket_Diploma ld de, BlkPacket_9a86 ret -; 8921 -.SGB_UnownPuzzle: ; 8921 +.SGB_UnownPuzzle: ld hl, PalPacket_UnownPuzzle ld de, BlkPacket_9a86 ret -; 8928 -.SGB12: ; 8928 +.SGB12: ld hl, PalPacket_9bd6 ld de, wSGBPals ld bc, PALPACKET_LENGTH @@ -462,9 +436,8 @@ endr ld hl, wSGBPals ld de, wSGBPals + PALPACKET_LENGTH ret -; 8969 -.SGB1e: ; 8969 +.SGB1e: ld hl, PalPacket_9ce6 ld de, wSGBPals ld bc, PALPACKET_LENGTH @@ -495,15 +468,13 @@ endr ld hl, wSGBPals ld de, BlkPacket_9a86 ret -; 89a6 -.SGB_GamefreakLogo: ; 89a6 +.SGB_GamefreakLogo: ld hl, PalPacket_GamefreakLogo ld de, BlkPacket_9a86 ret -; 89ad -.SGB_PlayerOrMonFrontpicPals: ; 89ad +.SGB_PlayerOrMonFrontpicPals: ld hl, PalPacket_9ce6 ld de, wSGBPals ld bc, PALPACKET_LENGTH @@ -522,15 +493,13 @@ endr ld hl, wSGBPals ld de, BlkPacket_9a86 ret -; 89d9 -.SGB_TradeTube: ; 89d9 +.SGB_TradeTube: ld hl, PalPacket_TradeTube ld de, BlkPacket_9a86 ret -; 89e0 -.SGB_TrainerOrMonFrontpicPals: ; 89e0 +.SGB_TrainerOrMonFrontpicPals: ld hl, PalPacket_9ce6 ld de, wSGBPals ld bc, PALPACKET_LENGTH @@ -549,9 +518,8 @@ endr ld hl, wSGBPals ld de, BlkPacket_9a86 ret -; 8a0c -.GetMapPalsIndex: ; 8a0c +.GetMapPalsIndex: ld a, [wTimeOfDayPal] cp NITE_F jr c, .morn_day @@ -593,13 +561,11 @@ endr .gate ld a, PREDEFPAL_PEWTER ret -; 8a45 INCLUDE "data/maps/sgb_roof_pal_inds.asm" -_LoadSGBLayout_ReturnFromJumpTable: ; 8a60 +_LoadSGBLayout_ReturnFromJumpTable: push de call PushSGBPals_ pop hl jp PushSGBPals_ -; 8a68 diff --git a/engine/gfx/sprite_anims.asm b/engine/gfx/sprite_anims.asm index 9353b71c9..1d3aa6a8b 100644 --- a/engine/gfx/sprite_anims.asm +++ b/engine/gfx/sprite_anims.asm @@ -1,4 +1,4 @@ -DoAnimFrame: ; 8d24b +DoAnimFrame: ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc ld e, [hl] @@ -10,9 +10,8 @@ DoAnimFrame: ; 8d24b ld h, [hl] ld l, a jp hl -; 8d25b -.Jumptable: ; 8d25b (23:525b) +.Jumptable: ; entries correspond to SPRITE_ANIM_SEQ_* constants dw .Null dw .PartyMon @@ -50,10 +49,10 @@ DoAnimFrame: ; 8d24b dw .IntroUnownF dw .IntroSuicuneAway -.Null: ; 8d2a1 (23:52a1) +.Null: ret -.PartyMon ; 8d2a2 (23:52a2) +.PartyMon ld a, [wMenuCursorY] ld hl, SPRITEANIMSTRUCT_INDEX @@ -70,7 +69,7 @@ DoAnimFrame: ; 8d24b ld [hl], $0 ret -.PartyMonSwitch ; 8d2b9 (23:52b9) +.PartyMonSwitch ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld [hl], 8 * 3 @@ -112,7 +111,7 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.PartyMonSelected ; 8d2ea (23:52ea) +.PartyMonSelected ld a, [wMenuCursorY] ld hl, SPRITEANIMSTRUCT_INDEX @@ -131,17 +130,15 @@ DoAnimFrame: ; 8d24b ld [hl], 8 * 3 ret -.GSTitleTrail ; 8d302 (23:5302) +.GSTitleTrail call .AnonymousJumptable jp hl -; 8d306 (23:5306) ; Anonymous dw (see .AnonymousJumptable) dw .four_zero dw .four_one -; 8d30a -.four_zero ; 8d30a +.four_zero call .IncrementJumptableIndex ld hl, SPRITEANIMSTRUCT_INDEX @@ -159,7 +156,7 @@ DoAnimFrame: ; 8d24b add hl, bc ld [hl], a -.four_one ; 8d321 +.four_one ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -200,9 +197,8 @@ DoAnimFrame: ; 8d24b .asm_8d356 call DeinitializeSprite ret -; 8d35a -.GSIntroHoOh ; 8d35a (23:535a) +.GSIntroHoOh ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -216,19 +212,19 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.NamingScreenCursor ; 8d36c (23:536c) +.NamingScreenCursor callfar NamingScreen_AnimateCursor ret -.MailCursor ; 8d373 (23:5373) +.MailCursor callfar ComposeMail_AnimateCursor ret -.GameFreakLogo: ; 8d37a (23:537a) +.GameFreakLogo: callfar GameFreakLogoJumper ret -.GSIntroStar ; 8d381 (23:5381) +.GSIntroStar ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -278,7 +274,7 @@ DoAnimFrame: ; 8d24b call DeinitializeSprite ret -.GSIntroSparkle ; 8d3c3 (23:53c3) +.GSIntroSparkle ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hli] @@ -355,11 +351,11 @@ DoAnimFrame: ; 8d24b call DeinitializeSprite ret -.SlotsGolem: ; 8d422 (23:5422) +.SlotsGolem: callfar Slots_AnimateGolem ret -.SlotsChansey: ; 8d429 (23:5429) +.SlotsChansey: callfar Slots_AnimateChansey ld hl, wcf64 ld a, [hl] @@ -370,7 +366,7 @@ DoAnimFrame: ; 8d24b call _ReinitSpriteAnimFrame ret -.SlotsChanseyEgg: ; 8d43e (23:543e) +.SlotsChanseyEgg: ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld a, [hl] @@ -403,22 +399,21 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.UnusedCursor ; 8d46e (23:546e) +.UnusedCursor callfar ret_e00ed ret -.PokegearArrow ; 8d475 (23:5475) +.PokegearArrow callfar AnimatePokegearModeIndicatorArrow ret -.DummyGameCursor ; 8d47c (23:547c) +.DummyGameCursor callfar DummyGame_InterpretJoypad_AnimateCursor ret -.TradePokeBall ; 8d483 (23:5483) +.TradePokeBall call .AnonymousJumptable jp hl -; 8d487 (23:5487) ; Anonymous dw (see .AnonymousJumptable) dw .TradePokeBall_zero @@ -427,9 +422,8 @@ DoAnimFrame: ; 8d24b dw .TradePokeBall_three dw .TradePokeBall_four dw .TradePokeBall_five -; 8d493 -.TradePokeBall_zero ; 8d493 +.TradePokeBall_zero ld a, SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_WOBBLE call _ReinitSpriteAnimFrame @@ -441,9 +435,8 @@ DoAnimFrame: ; 8d24b add hl, bc ld [hl], $20 ret -; 8d4a5 -.TradePokeBall_two ; 8d4a5 +.TradePokeBall_two ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -459,7 +452,7 @@ DoAnimFrame: ; 8d24b add hl, bc ld [hl], $40 -.TradePokeBall_three ; 8d4b8 +.TradePokeBall_three ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -478,9 +471,8 @@ DoAnimFrame: ; 8d24b ld de, SFX_GOT_SAFARI_BALLS call PlaySFX jr .TradePokeBall_five -; 8d4d5 -.TradePokeBall_one ; 8d4d5 +.TradePokeBall_one ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld [hl], $4 @@ -493,9 +485,8 @@ DoAnimFrame: ; 8d24b add hl, bc ld [hl], $24 ret -; 8d4e8 -.TradePokeBall_four ; 8d4e8 +.TradePokeBall_four ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld a, [hl] @@ -541,12 +532,11 @@ DoAnimFrame: ; 8d24b call .IncrementJumptableIndex ret -.TradePokeBall_five ; 8d526 +.TradePokeBall_five call DeinitializeSprite ret -; 8d52a -.TradeTubeBulge ; 8d52a (23:552a) +.TradeTubeBulge ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -564,11 +554,11 @@ DoAnimFrame: ; 8d24b call DeinitializeSprite ret -.TrademonInTube ; 8d543 (23:5543) +.TrademonInTube callfar TradeAnim_AnimateTrademonInTube ret -.RevealNewMon: ; 8d54a (23:554a) +.RevealNewMon: ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -605,11 +595,11 @@ DoAnimFrame: ; 8d24b call DeinitializeSprite ret -.RadioTuningKnob: ; 8d578 (23:5578) +.RadioTuningKnob: callfar AnimateTuningKnob ret -.CutLeaves ; 8d57f (23:557f) +.CutLeaves ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld e, [hl] @@ -648,7 +638,7 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.FlyFrom: ; 8d5b0 (23:55b0) +.FlyFrom: ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] @@ -687,7 +677,7 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.FlyLeaf: ; 8d5e2 (23:55e2) +.FlyLeaf: ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -716,7 +706,7 @@ DoAnimFrame: ; 8d24b call DeinitializeSprite ret -.FlyTo: ; 8d607 (23:5607) +.FlyTo: ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] @@ -748,15 +738,15 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.MobileTradeSentPulse ; 8d630 (23:5630) +.MobileTradeSentPulse farcall Function108bc7 ret -.MobileTradeOTPulse ; 8d637 (23:5637) +.MobileTradeOTPulse farcall Function108be0 ret -.IntroSuicune ; 8d63e (23:563e) +.IntroSuicune ld a, [wcf65] and a jr nz, .asm_8d645 @@ -783,7 +773,7 @@ DoAnimFrame: ; 8d24b call _ReinitSpriteAnimFrame ret -.IntroPichuWooper ; 8d666 (23:5666) +.IntroPichuWooper ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -802,7 +792,7 @@ DoAnimFrame: ; 8d24b .asm_8d67f ret -.IntroUnown ; 8d680 (23:5680) +.IntroUnown ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld d, [hl] @@ -829,7 +819,7 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.IntroUnownF ; 8d6a2 (23:56a2) +.IntroUnownF ld a, [wcf64] cp $40 ret nz @@ -837,7 +827,7 @@ DoAnimFrame: ; 8d24b call _ReinitSpriteAnimFrame ret -.IntroSuicuneAway ; 8d6ae (23:56ae) +.IntroSuicuneAway ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] @@ -845,15 +835,15 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.EZChatCursor ; 8d6b7 (23:56b7) +.EZChatCursor farcall AnimateEZChatCursor ret -.Celebi ; 8d6be (23:56be) +.Celebi farcall UpdateCelebiPosition ret -.AnonymousJumptable: ; 8d6c5 (23:56c5) +.AnonymousJumptable: ld hl, sp+$0 ld e, [hl] inc hl @@ -870,20 +860,17 @@ DoAnimFrame: ; 8d24b ld h, [hl] ld l, a ret -; 8d6d8 (23:56d8) -.IncrementJumptableIndex: ; 8d6d8 +.IncrementJumptableIndex: ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc inc [hl] ret -; 8d6de -.Sprites_Sine: ; 8d6de (23:56de) +.Sprites_Sine: call Sprites_Sine ret -.Sprites_Cosine: ; 8d6e2 (23:56e2) +.Sprites_Cosine: call Sprites_Cosine ret -; 8d6e6 (23:56e6) diff --git a/engine/gfx/sprites.asm b/engine/gfx/sprites.asm index 63666c624..709f8aad7 100644 --- a/engine/gfx/sprites.asm +++ b/engine/gfx/sprites.asm @@ -1,4 +1,4 @@ -ClearSpriteAnims: ; 8cf53 +ClearSpriteAnims: ld hl, wSpriteAnimDict ld bc, wSpriteAnimsEnd - wSpriteAnimDict .loop @@ -9,15 +9,13 @@ ClearSpriteAnims: ; 8cf53 or b jr nz, .loop ret -; 8cf62 -PlaySpriteAnimationsAndDelayFrame: ; 8cf62 +PlaySpriteAnimationsAndDelayFrame: call PlaySpriteAnimations call DelayFrame ret -; 8cf69 -PlaySpriteAnimations: ; 8cf69 +PlaySpriteAnimations: push hl push de push bc @@ -32,9 +30,8 @@ PlaySpriteAnimations: ; 8cf69 pop de pop hl ret -; 8cf7a -DoNextFrameForAllSprites: ; 8cf7a +DoNextFrameForAllSprites: ld hl, wSpriteAnimationStructs ld e, NUM_SPRITE_ANIM_STRUCTS @@ -72,9 +69,8 @@ DoNextFrameForAllSprites: ; 8cf7a .done ret -; 8cfa8 -DoNextFrameForFirst16Sprites: ; 8cfa8 (23:4fa8) +DoNextFrameForFirst16Sprites: ld hl, wSpriteAnimationStructs ld e, NUM_SPRITE_ANIM_STRUCTS @@ -113,7 +109,7 @@ DoNextFrameForFirst16Sprites: ; 8cfa8 (23:4fa8) .done ret -InitSpriteAnimStruct:: ; 8cfd6 +InitSpriteAnimStruct:: ; Initialize animation a at pixel x=e, y=d ; Find if there's any room in the wSpriteAnimationStructs array, which is 10x16 push de @@ -208,18 +204,16 @@ endr ld a, b ld [wSpriteAnimAddrBackup + 1], a ret -; 8d036 -DeinitializeSprite: ; 8d036 +DeinitializeSprite: ; Clear the index field of the struct in bc. ld hl, SPRITEANIMSTRUCT_INDEX add hl, bc ld [hl], $0 ret -; 8d03d -DeinitializeAllSprites: ; 8d03d (23:503d) +DeinitializeAllSprites: ; Clear the index field of every struct in the wSpriteAnimationStructs array. ld hl, wSpriteAnimationStructs ld bc, SPRITEANIMSTRUCT_LENGTH @@ -233,7 +227,7 @@ DeinitializeAllSprites: ; 8d03d (23:503d) ret -UpdateAnimFrame: ; 8d04c +UpdateAnimFrame: call InitSpriteAnimBuffer ; init WRAM call GetSpriteAnimFrame ; read from a memory array cp -3 @@ -319,9 +313,8 @@ UpdateAnimFrame: ; 8d04c pop bc scf ret -; 8d0be -AddOrSubtractY: ; 8d0be +AddOrSubtractY: push hl ld a, [hl] ld hl, wCurrSpriteAddSubFlags @@ -335,9 +328,8 @@ AddOrSubtractY: ; 8d0be .ok pop hl ret -; 8d0ce -AddOrSubtractX: ; 8d0ce +AddOrSubtractX: push hl ld a, [hl] ld hl, wCurrSpriteAddSubFlags @@ -351,9 +343,8 @@ AddOrSubtractX: ; 8d0ce .ok pop hl ret -; 8d0de -GetSpriteOAMAttr: ; 8d0de +GetSpriteOAMAttr: ld a, [wCurrSpriteAddSubFlags] ld b, a ld a, [hl] @@ -364,9 +355,8 @@ GetSpriteOAMAttr: ; 8d0de and $1f or b ret -; 8d0ec -InitSpriteAnimBuffer: ; 8d0ec +InitSpriteAnimBuffer: xor a ld [wCurrSpriteAddSubFlags], a ld hl, SPRITEANIMSTRUCT_TILE_ID @@ -382,9 +372,8 @@ InitSpriteAnimBuffer: ; 8d0ec ld a, [hli] ld [wCurrAnimYOffset], a ret -; 8d109 -GetSpriteAnimVTile: ; 8d109 +GetSpriteAnimVTile: ; a = wSpriteAnimDict[a] if a in wSpriteAnimDict else 0 ; vTiles offset push hl @@ -409,9 +398,8 @@ GetSpriteAnimVTile: ; 8d109 pop bc pop hl ret -; 8d120 -_ReinitSpriteAnimFrame:: ; 8d120 +_ReinitSpriteAnimFrame:: ld hl, SPRITEANIMSTRUCT_FRAMESET_ID add hl, bc ld [hl], a @@ -422,10 +410,9 @@ _ReinitSpriteAnimFrame:: ; 8d120 add hl, bc ld [hl], -1 ret -; 8d132 -GetSpriteAnimFrame: ; 8d132 +GetSpriteAnimFrame: .loop ld hl, SPRITEANIMSTRUCT_DURATION add hl, bc @@ -491,9 +478,8 @@ GetSpriteAnimFrame: ; 8d132 add hl, bc ld [hl], a jr .loop -; 8d189 -.GetPointer: ; 8d189 +.GetPointer: ; Get the data for the current frame for the current animation sequence ; SpriteAnimFrameData[SpriteAnim[SPRITEANIMSTRUCT_FRAMESET_ID]][SpriteAnim[SPRITEANIMSTRUCT_FRAME]] @@ -514,9 +500,8 @@ GetSpriteAnimFrame: ; 8d132 add hl, hl add hl, de ret -; 8d1a2 -GetFrameOAMPointer: ; 8d1a2 +GetFrameOAMPointer: ; Load OAM data pointer ld e, a ld d, 0 @@ -525,9 +510,8 @@ GetFrameOAMPointer: ; 8d1a2 add hl, de add hl, de ret -; 8d1ac -Unreferenced_BrokenGetStdGraphics: ; 8d1ac +Unreferenced_BrokenGetStdGraphics: push hl ld l, a ld h, 0 @@ -547,7 +531,6 @@ Unreferenced_BrokenGetStdGraphics: ; 8d1ac call Request2bpp pop bc ret -; 8d1c4 INCLUDE "data/sprite_anims/sequences.asm" @@ -573,19 +556,18 @@ BrokenStdGFXPointers: dbbw 16, $21, .deleted .deleted -; 8e72a (23:672a) -Sprites_Cosine: ; 8e72a +Sprites_Cosine: ; a = d * cos(a * pi/32) add %010000 ; cos(x) = sin(x + pi/2) ; fallthrough -Sprites_Sine: ; 8e72c +Sprites_Sine: ; a = d * sin(a * pi/32) calc_sine_wave -AnimateEndOfExpBar: ; 8e79d +AnimateEndOfExpBar: ld a, [hSGB] ld de, EndOfExpBarGFX and a @@ -609,9 +591,8 @@ AnimateEndOfExpBar: ; 8e79d jr nz, .loop call ClearSprites ret -; 8e7c6 -.AnimateFrame: ; 8e7c6 +.AnimateFrame: ld hl, wVirtualOAMSprite00 ld c, 8 ; number of animated circles .anim_loop @@ -648,14 +629,13 @@ AnimateEndOfExpBar: ; 8e79d ld a, PAL_BATTLE_OB_BLUE ld [hli], a ; attributes jr .anim_loop -; 8e7f4 -EndOfExpBarGFX: ; 8e7f4 +EndOfExpBarGFX: INCBIN "gfx/battle/expbarend.2bpp" -SGBEndOfExpBarGFX: ; 8e804 +SGBEndOfExpBarGFX: INCBIN "gfx/battle/expbarend_sgb.2bpp" -ClearSpriteAnims2: ; 8e814 +ClearSpriteAnims2: push hl push de push bc @@ -674,4 +654,3 @@ ClearSpriteAnims2: ; 8e814 pop de pop hl ret -; 8e82b diff --git a/engine/gfx/trademon_frontpic.asm b/engine/gfx/trademon_frontpic.asm index d5f7b55de..d557123e9 100644 --- a/engine/gfx/trademon_frontpic.asm +++ b/engine/gfx/trademon_frontpic.asm @@ -1,4 +1,4 @@ -GetTrademonFrontpic: ; 4d7fd +GetTrademonFrontpic: ld a, [wOTTrademonSpecies] ld hl, wOTTrademonDVs ld de, vTiles2 @@ -13,7 +13,7 @@ GetTrademonFrontpic: ; 4d7fd predef GetAnimatedFrontpic ret -AnimateTrademonFrontpic: ; 4d81e +AnimateTrademonFrontpic: ld a, [wOTTrademonSpecies] call IsAPokemon ret c diff --git a/engine/items/buy_sell_toss.asm b/engine/items/buy_sell_toss.asm index 84481d030..d57a9009b 100644 --- a/engine/items/buy_sell_toss.asm +++ b/engine/items/buy_sell_toss.asm @@ -1,13 +1,12 @@ -SelectQuantityToToss: ; 24fbf +SelectQuantityToToss: ld hl, TossItem_MenuHeader call LoadMenuHeader call Toss_Sell_Loop ret -; 24fc9 -SelectQuantityToBuy: ; 24fc9 +SelectQuantityToBuy: farcall GetItemPrice -RooftopSale_SelectQuantityToBuy: ; 24fcf +RooftopSale_SelectQuantityToBuy: ld a, d ld [wBuffer1], a ld a, e @@ -16,9 +15,8 @@ RooftopSale_SelectQuantityToBuy: ; 24fcf call LoadMenuHeader call Toss_Sell_Loop ret -; 24fe1 -SelectQuantityToSell: ; 24fe1 +SelectQuantityToSell: farcall GetItemPrice ld a, d ld [wBuffer1], a @@ -28,9 +26,8 @@ SelectQuantityToSell: ; 24fe1 call LoadMenuHeader call Toss_Sell_Loop ret -; 24ff9 -Toss_Sell_Loop: ; 24ff9 +Toss_Sell_Loop: ld a, 1 ld [wItemQuantityChangeBuffer], a .loop @@ -45,9 +42,8 @@ Toss_Sell_Loop: ; 24ff9 .nope and a ret -; 2500e -BuySellToss_InterpretJoypad: ; 2500e +BuySellToss_InterpretJoypad: call JoyTextDelay_ForcehJoyDown ; get joypad bit B_BUTTON_F, c jr nz, .b @@ -126,9 +122,8 @@ BuySellToss_InterpretJoypad: ; 2500e ld [wItemQuantityChangeBuffer], a and a ret -; 25072 -BuySellToss_UpdateQuantityDisplay: ; 25072 +BuySellToss_UpdateQuantityDisplay: call MenuBox call MenuBoxCoord2Tile ld de, SCREEN_WIDTH + 1 @@ -145,26 +140,22 @@ BuySellToss_UpdateQuantityDisplay: ; 25072 ld a, [wMenuDataBank] call FarCall_de ret -; 25097 -ret_25097: ; 25097 +ret_25097: ret -; 25098 -DisplayPurchasePrice: ; 25098 +DisplayPurchasePrice: call BuySell_MultiplyPrice call BuySell_DisplaySubtotal ret -; 2509f -DisplaySellingPrice: ; 2509f +DisplaySellingPrice: call BuySell_MultiplyPrice call Sell_HalvePrice call BuySell_DisplaySubtotal ret -; 250a9 -BuySell_MultiplyPrice: ; 250a9 +BuySell_MultiplyPrice: xor a ld [hMultiplicand + 0], a ld a, [wBuffer1] @@ -177,9 +168,8 @@ BuySell_MultiplyPrice: ; 250a9 call Multiply pop hl ret -; 250c1 -Sell_HalvePrice: ; 250c1 +Sell_HalvePrice: push hl ld hl, hProduct + 1 ld a, [hl] @@ -193,9 +183,8 @@ Sell_HalvePrice: ; 250c1 ld [hl], a pop hl ret -; 250d1 -BuySell_DisplaySubtotal: ; 250d1 +BuySell_DisplaySubtotal: push hl ld hl, hMoneyTemp ld a, [hProduct + 1] @@ -211,7 +200,6 @@ BuySell_DisplaySubtotal: ; 250d1 call PrintNum call WaitBGMap ret -; 250ed TossItem_MenuHeader: ; 0x250ed db MENU_BACKUP_TILES ; flags diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index db0ee1be1..5b0ce4ac6 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -1,4 +1,4 @@ -_DoItemEffect:: ; e722 +_DoItemEffect:: ld a, [wCurItem] ld [wd265], a call GetItemName @@ -10,10 +10,9 @@ _DoItemEffect:: ; e722 ld hl, ItemEffects rst JumpTable ret -; e73c -ItemEffects: ; e73c +ItemEffects: ; entries correspond to item ids dw PokeBallEffect ; MASTER_BALL dw PokeBallEffect ; ULTRA_BALL @@ -194,10 +193,9 @@ ItemEffects: ; e73c dw PokeBallEffect ; PARK_BALL dw NoEffect ; RAINBOW_WING dw NoEffect ; ITEM_B3 -; e8a2 -PokeBallEffect: ; e8a2 +PokeBallEffect: ld a, [wBattleMode] dec a jp nz, UseBallInTrainerBattle @@ -713,7 +711,6 @@ PokeBallEffect: ; e8a2 ld hl, wParkBallsRemaining dec [hl] ret -; ec0a BallMultiplierFunctionTable: @@ -1117,7 +1114,6 @@ Text_GotchaMonWasCaught: ; 0xedc9 pop bc ld hl, TextJump_Waitbutton ret -; ede6 TextJump_Waitbutton: ; 0xede6 ; @ @@ -1143,23 +1139,21 @@ Text_AskNicknameNewlyCaughtMon: ; 0xedf5 db "@" ; 0xedfa -ReturnToBattle_UseBall: ; edfa (3:6dfa) +ReturnToBattle_UseBall: farcall _ReturnToBattle_UseBall ret -TownMapEffect: ; ee01 +TownMapEffect: farcall PokegearMap ret -; ee08 -BicycleEffect: ; ee08 +BicycleEffect: farcall BikeFunction ret -; ee0f -EvoStoneEffect: ; ee0f +EvoStoneEffect: ld b, PARTYMENUACTION_EVO_STONE call UseItem_SelectMon @@ -1189,10 +1183,9 @@ EvoStoneEffect: ; ee0f xor a ld [wItemEffectSucceeded], a ret -; ee3d -VitaminEffect: ; ee3d +VitaminEffect: ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon @@ -1236,14 +1229,13 @@ VitaminEffect: ; ee3d jp UseDisposableItem -NoEffectMessage: ; ee83 +NoEffectMessage: ld hl, WontHaveAnyEffectText call PrintText jp ClearPalettes -; ee8c -UpdateStatsAfterItem: ; ee8c +UpdateStatsAfterItem: ld a, MON_MAXHP call GetPartyParamLocation ld d, h @@ -1252,13 +1244,11 @@ UpdateStatsAfterItem: ; ee8c call GetPartyParamLocation ld b, TRUE predef_jump CalcMonStats -; ee9f -RareCandy_StatBooster_ExitMenu: ; ee9f +RareCandy_StatBooster_ExitMenu: xor a ld [wItemEffectSucceeded], a jp ClearPalettes -; eea6 Text_StatRose: ; 0xeea6 @@ -1268,7 +1258,7 @@ Text_StatRose: ; 0xeea6 ; 0xeeab -StatStrings: ; eeab +StatStrings: dw .health dw .attack dw .defense @@ -1280,10 +1270,9 @@ StatStrings: ; eeab .defense db "DEFENSE@" .speed db "SPEED@" .special db "SPECIAL@" -; eed9 -GetStatExpRelativePointer: ; eed9 +GetStatExpRelativePointer: ld a, [wCurItem] ld hl, Table_eeeb .next @@ -1298,18 +1287,16 @@ GetStatExpRelativePointer: ; eed9 ld c, a ld b, 0 ret -; eeeb -Table_eeeb: ; eeeb +Table_eeeb: db HP_UP, MON_HP_EXP - MON_STAT_EXP db PROTEIN, MON_ATK_EXP - MON_STAT_EXP db IRON, MON_DEF_EXP - MON_STAT_EXP db CARBOS, MON_SPD_EXP - MON_STAT_EXP db CALCIUM, MON_SPC_EXP - MON_STAT_EXP -; eef5 -RareCandy_StatBooster_GetParameters: ; eef5 +RareCandy_StatBooster_GetParameters: ld a, [wCurPartySpecies] ld [wCurSpecies], a ld [wd265], a @@ -1325,7 +1312,7 @@ RareCandy_StatBooster_GetParameters: ; eef5 ; 0xef14 -RareCandyEffect: ; ef14 +RareCandyEffect: ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon @@ -1414,10 +1401,9 @@ RareCandyEffect: ; ef14 farcall EvolvePokemon jp UseDisposableItem -; efad -HealPowderEffect: ; efad +HealPowderEffect: ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon @@ -1436,21 +1422,19 @@ HealPowderEffect: ; efad .asm_efc9 jp StatusHealer_Jumptable -; efcc -StatusHealingEffect: ; efcc +StatusHealingEffect: ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon jp c, StatusHealer_ExitMenu -FullyHealStatus: ; efd4 +FullyHealStatus: call UseStatusHealer jp StatusHealer_Jumptable -; efda -UseStatusHealer: ; efda (3:6fda) +UseStatusHealer: call IsMonFainted ld a, $1 ret z @@ -1476,7 +1460,7 @@ UseStatusHealer: ; efda (3:6fda) ld a, $0 ret -IsItemUsedOnConfusedMon: ; f009 (3:7009) +IsItemUsedOnConfusedMon: call IsItemUsedOnBattleMon jr nc, .nope ld a, [wPlayerSubStatus3] @@ -1492,7 +1476,7 @@ IsItemUsedOnConfusedMon: ; f009 (3:7009) and a ret -BattlemonRestoreHealth: ; f01e (3:701e) +BattlemonRestoreHealth: call IsItemUsedOnBattleMon ret nc ld a, MON_HP @@ -1503,7 +1487,7 @@ BattlemonRestoreHealth: ; f01e (3:701e) ld [wBattleMonHP + 1], a ret -HealStatus: ; f030 (3:7030) +HealStatus: call IsItemUsedOnBattleMon ret nc xor a @@ -1524,7 +1508,7 @@ HealStatus: ; f030 (3:7030) pop bc ret -GetItemHealingAction: ; f058 (3:7058) +GetItemHealingAction: push hl ld a, [wCurItem] ld hl, StatusHealingActions @@ -1544,22 +1528,21 @@ GetItemHealingAction: ; f058 (3:7058) cp %11111111 pop hl ret -; f071 (3:7071) INCLUDE "data/items/heal_status.asm" -StatusHealer_Jumptable: ; f09e (3:709e) +StatusHealer_Jumptable: ld hl, .dw rst JumpTable ret -.dw ; f0a3 (3:70a3) +.dw dw StatusHealer_ClearPalettes dw StatusHealer_NoEffect dw StatusHealer_ExitMenu -RevivalHerbEffect: ; f0a9 +RevivalHerbEffect: ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon jp c, StatusHealer_ExitMenu @@ -1575,20 +1558,18 @@ RevivalHerbEffect: ; f0a9 .asm_f0c5 jp StatusHealer_Jumptable -; f0c8 -ReviveEffect: ; f0c8 +ReviveEffect: ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon jp c, StatusHealer_ExitMenu call RevivePokemon jp StatusHealer_Jumptable -; f0d6 -RevivePokemon: ; f0d6 +RevivePokemon: call IsMonFainted ld a, 1 ret nz @@ -1633,10 +1614,9 @@ RevivePokemon: ; f0d6 call UseDisposableItem ld a, 0 ret -; f128 -FullRestoreEffect: ; f128 +FullRestoreEffect: ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon jp c, StatusHealer_ExitMenu @@ -1652,10 +1632,9 @@ FullRestoreEffect: ; f128 .NotAtFullHealth: call .FullRestore jp StatusHealer_Jumptable -; f144 -.FullRestore: ; f144 +.FullRestore: xor a ld [wLowHealthAlarm], a call ReviveFullHP @@ -1673,10 +1652,9 @@ FullRestoreEffect: ; f128 call UseDisposableItem ld a, 0 ret -; f16a -BitterBerryEffect: ; f16a +BitterBerryEffect: ld hl, wPlayerSubStatus3 bit SUBSTATUS_CONFUSED, [hl] ld a, 1 @@ -1694,25 +1672,21 @@ BitterBerryEffect: ; f16a .done jp StatusHealer_Jumptable -; f186 -RestoreHPEffect: ; f186 +RestoreHPEffect: call ItemRestoreHP jp StatusHealer_Jumptable -; f18c -EnergypowderEffect: ; f18c +EnergypowderEffect: ld c, HAPPINESS_BITTERPOWDER jr EnergypowderEnergyRootCommon -; f190 -EnergyRootEffect: ; f190 +EnergyRootEffect: ld c, HAPPINESS_ENERGYROOT -; f192 -EnergypowderEnergyRootCommon: ; f192 +EnergypowderEnergyRootCommon: push bc call ItemRestoreHP pop bc @@ -1725,10 +1699,9 @@ EnergypowderEnergyRootCommon: ; f192 .skip_happiness jp StatusHealer_Jumptable -; f1a9 -ItemRestoreHP: ; f1a9 (3:71a9) +ItemRestoreHP: ld b, PARTYMENUACTION_HEALING_ITEM call UseItem_SelectMon ld a, 2 @@ -1755,7 +1728,7 @@ ItemRestoreHP: ; f1a9 (3:71a9) ld a, 0 ret -HealHP_SFX_GFX: ; f1db (3:71db) +HealHP_SFX_GFX: push de ld de, SFX_POTION call WaitPlaySFX @@ -1768,7 +1741,7 @@ HealHP_SFX_GFX: ; f1db (3:71db) ld [wWhichHPBar], a predef_jump AnimateHPBar -UseItem_SelectMon: ; f1f9 (3:71f9) +UseItem_SelectMon: call .SelectMon ret c @@ -1784,7 +1757,7 @@ UseItem_SelectMon: ; f1f9 (3:71f9) and a ret -.SelectMon: ; f20b (3:720b) +.SelectMon: ld a, b ld [wPartyMenuActionText], a push hl @@ -1797,7 +1770,7 @@ UseItem_SelectMon: ; f1f9 (3:71f9) pop hl ret -ChooseMonToUseItemOn: ; f21c (3:721c) +ChooseMonToUseItemOn: farcall LoadPartyMenuGFX farcall InitPartyMenuWithCancel farcall InitPartyMenuGFX @@ -1809,7 +1782,7 @@ ChooseMonToUseItemOn: ; f21c (3:721c) farcall PartyMenuSelect ret -ItemActionText: ; f24a (3:724a) +ItemActionText: ld [wPartyMenuActionText], a ld a, [wCurPartySpecies] push af @@ -1832,7 +1805,7 @@ ItemActionText: ; f24a (3:724a) ld [wCurPartySpecies], a ret -ItemActionTextWaitButton: ; f279 (3:7279) +ItemActionTextWaitButton: xor a ld [hBGMapMode], a hlcoord 0, 0 @@ -1847,18 +1820,18 @@ ItemActionTextWaitButton: ; f279 (3:7279) call DelayFrames jp WaitPressAorB_BlinkCursor -StatusHealer_NoEffect: ; f299 (3:7299) +StatusHealer_NoEffect: call WontHaveAnyEffectMessage jr StatusHealer_ClearPalettes -StatusHealer_ExitMenu: ; f29e (3:729e) +StatusHealer_ExitMenu: xor a ld [wItemEffectSucceeded], a -StatusHealer_ClearPalettes: ; f2a2 (3:72a2) +StatusHealer_ClearPalettes: call ClearPalettes ret -IsItemUsedOnBattleMon: ; f2a6 (3:72a6) +IsItemUsedOnBattleMon: ld a, [wBattleMode] and a ret z @@ -1875,15 +1848,15 @@ IsItemUsedOnBattleMon: ; f2a6 (3:72a6) xor a ret -ReviveHalfHP: ; f2ba (3:72ba) +ReviveHalfHP: call LoadHPFromBuffer1 srl d rr e jr ContinueRevive -ReviveFullHP: ; f2c3 (3:72c3) +ReviveFullHP: call LoadHPFromBuffer1 -ContinueRevive: ; f2c6 (3:72c6) +ContinueRevive: ld a, MON_HP call GetPartyParamLocation ld [hl], d @@ -1891,7 +1864,7 @@ ContinueRevive: ; f2c6 (3:72c6) ld [hl], e jp LoadCurHPIntoBuffer5 -RestoreHealth: ; f2d1 (3:72d1) +RestoreHealth: ld a, MON_HP + 1 call GetPartyParamLocation ld a, [hl] @@ -1920,7 +1893,7 @@ RestoreHealth: ; f2d1 (3:72d1) .finish ret -RemoveHP: ; f2f9 (3:72f9) +RemoveHP: ld a, MON_HP + 1 call GetPartyParamLocation ld a, [hl] @@ -1937,7 +1910,7 @@ RemoveHP: ; f2f9 (3:72f9) call LoadCurHPIntoBuffer5 ret -IsMonFainted: ; f30d (3:730d) +IsMonFainted: push de call LoadMaxHPToBuffer1 call LoadCurHPToBuffer3 @@ -1947,7 +1920,7 @@ IsMonFainted: ; f30d (3:730d) pop de ret -IsMonAtFullHealth: ; f31b (3:731b) +IsMonAtFullHealth: call LoadHPFromBuffer3 ld h, d ld l, e @@ -1958,7 +1931,7 @@ IsMonAtFullHealth: ; f31b (3:731b) sbc d ret -LoadCurHPIntoBuffer5: ; f328 (3:7328) +LoadCurHPIntoBuffer5: ld a, MON_HP call GetPartyParamLocation ld a, [hli] @@ -1966,25 +1939,22 @@ LoadCurHPIntoBuffer5: ; f328 (3:7328) ld a, [hl] ld [wBuffer5], a ret -; f336 (3:7336) -LoadHPIntoBuffer5: ; f336 +LoadHPIntoBuffer5: ld a, d ld [wBuffer6], a ld a, e ld [wBuffer5], a ret -; f33f -LoadHPFromBuffer5: ; f33f +LoadHPFromBuffer5: ld a, [wBuffer6] ld d, a ld a, [wBuffer5] ld e, a ret -; f348 -LoadCurHPToBuffer3: ; f348 (3:7348) +LoadCurHPToBuffer3: ld a, MON_HP call GetPartyParamLocation ld a, [hli] @@ -1993,14 +1963,14 @@ LoadCurHPToBuffer3: ; f348 (3:7348) ld [wBuffer3], a ret -LoadHPFromBuffer3: ; f356 (3:7356) +LoadHPFromBuffer3: ld a, [wBuffer4] ld d, a ld a, [wBuffer3] ld e, a ret -LoadMaxHPToBuffer1: ; f35f (3:735f) +LoadMaxHPToBuffer1: push hl ld a, MON_MAXHP call GetPartyParamLocation @@ -2011,14 +1981,14 @@ LoadMaxHPToBuffer1: ; f35f (3:735f) pop hl ret -LoadHPFromBuffer1: ; f36f (3:736f) +LoadHPFromBuffer1: ld a, [wBuffer2] ld d, a ld a, [wBuffer1] ld e, a ret -GetOneFifthMaxHP: ; f378 (3:7378) +GetOneFifthMaxHP: push bc ld a, MON_MAXHP call GetPartyParamLocation @@ -2037,7 +2007,7 @@ GetOneFifthMaxHP: ; f378 (3:7378) pop bc ret -GetHealingItemAmount: ; f395 (3:7395) +GetHealingItemAmount: push hl ld a, [wCurItem] ld hl, HealingHPAmounts @@ -2060,11 +2030,10 @@ GetHealingItemAmount: ; f395 (3:7395) ld d, [hl] pop hl ret -; f3af (3:73af) INCLUDE "data/items/heal_hp.asm" -Softboiled_MilkDrinkFunction: ; f3df (3:73df) +Softboiled_MilkDrinkFunction: ; Softboiled/Milk Drink in the field ld a, [wPartyMenuCursor] dec a @@ -2094,7 +2063,7 @@ Softboiled_MilkDrinkFunction: ; f3df (3:73df) ld [wPartyMenuCursor], a ret -.SelectMilkDrinkRecipient: ; f419 (3:7419) +.SelectMilkDrinkRecipient: .loop push bc ld a, PARTYMENUACTION_HEALING_ITEM @@ -2127,7 +2096,6 @@ Softboiled_MilkDrinkFunction: ; f3df (3:73df) call MenuTextBoxBackup pop bc jr .loop -; f44a (3:744a) .Text_CantBeUsed: ; 0xf44a ; That can't be used on this #MON. @@ -2136,7 +2104,7 @@ Softboiled_MilkDrinkFunction: ; f3df (3:73df) ; 0xf44f -EscapeRopeEffect: ; f44f +EscapeRopeEffect: xor a ld [wItemEffectSucceeded], a farcall EscapeRopeFunction @@ -2145,24 +2113,20 @@ EscapeRopeEffect: ; f44f cp 1 call z, UseDisposableItem ret -; f462 -SuperRepelEffect: ; f462 +SuperRepelEffect: ld b, 200 jr UseRepel -; f466 -MaxRepelEffect: ; f466 +MaxRepelEffect: ld b, 250 jr UseRepel -; f466 -RepelEffect: ; f46a +RepelEffect: ld b, 100 -; f46c -UseRepel: ; f46c +UseRepel: ld a, [wRepelEffect] and a ld hl, TextJump_RepelUsedEarlierIsStillInEffect @@ -2180,16 +2144,15 @@ TextJump_RepelUsedEarlierIsStillInEffect: ; 0xf47d ; 0xf482 -XAccuracyEffect: ; f482 +XAccuracyEffect: ld hl, wPlayerSubStatus4 bit SUBSTATUS_X_ACCURACY, [hl] jp nz, WontHaveAnyEffect_NotUsedMessage set SUBSTATUS_X_ACCURACY, [hl] jp UseItemText -; f48f -PokeDollEffect: ; f48f +PokeDollEffect: ld a, [wBattleMode] dec a jr nz, .asm_f4a6 @@ -2205,28 +2168,25 @@ PokeDollEffect: ; f48f xor a ld [wItemEffectSucceeded], a ret -; f4ab -GuardSpecEffect: ; f4ab +GuardSpecEffect: ld hl, wPlayerSubStatus4 bit SUBSTATUS_MIST, [hl] jp nz, WontHaveAnyEffect_NotUsedMessage set SUBSTATUS_MIST, [hl] jp UseItemText -; f4b8 -DireHitEffect: ; f4b8 +DireHitEffect: ld hl, wPlayerSubStatus4 bit SUBSTATUS_FOCUS_ENERGY, [hl] jp nz, WontHaveAnyEffect_NotUsedMessage set SUBSTATUS_FOCUS_ENERGY, [hl] jp UseItemText -; f4c5 -XItemEffect: ; f4c5 +XItemEffect: call UseItemText ld a, [wCurItem] @@ -2257,12 +2217,11 @@ XItemEffect: ; f4c5 ld c, HAPPINESS_USEDXITEM farcall ChangeHappiness ret -; f504 INCLUDE "data/items/x_stats.asm" -PokeFluteEffect: ; f50c +PokeFluteEffect: ld a, [wBattleMode] and a jr nz, .dummy @@ -2326,7 +2285,6 @@ PokeFluteEffect: ; f50c dec c jr nz, .loop ret -; f56c .CatchyTune: ; 0xf56c @@ -2357,57 +2315,49 @@ PokeFluteEffect: ; f50c .battle jp PokeFluteTerminatorCharacter -; f58f -BlueCardEffect: ; f58f +BlueCardEffect: ld hl, .bluecardtext jp MenuTextBoxWaitButton .bluecardtext text_jump UnknownText_0x1c5c5e db "@" -; f59a -CoinCaseEffect: ; f59a +CoinCaseEffect: ld hl, .coincasetext jp MenuTextBoxWaitButton .coincasetext text_jump UnknownText_0x1c5c7b db "@" -; f5a5 -OldRodEffect: ; f5a5 +OldRodEffect: ld e, $0 jr UseRod -; f5a9 -GoodRodEffect: ; f5a9 +GoodRodEffect: ld e, $1 jr UseRod -; f5ad -SuperRodEffect: ; f5ad +SuperRodEffect: ld e, $2 jr UseRod -; f5b1 -UseRod: ; f5b1 +UseRod: farcall FishFunction ret -; f5b8 -ItemfinderEffect: ; f5b8 +ItemfinderEffect: farcall ItemFinder ret -; f5bf -RestorePPEffect: ; f5bf +RestorePPEffect: ld a, [wCurItem] ld [wd002], a @@ -2488,12 +2438,11 @@ RestorePPEffect: ; f5bf ld hl, TextJump_PPsIncreased call PrintText -FinishPPRestore: ; f64c +FinishPPRestore: call ClearPalettes jp UseDisposableItem -; f652 -BattleRestorePP: ; f652 +BattleRestorePP: ld a, [wBattleMode] and a jr z, .not_in_battle @@ -2548,15 +2497,13 @@ endr .done ret -; f6a7 -Not_PP_Up: ; f6a7 +Not_PP_Up: call RestorePP jr nz, BattleRestorePP jp PPRestoreItem_NoEffect -; f6af -Elixer_RestorePPofAllMoves: ; f6af +Elixer_RestorePPofAllMoves: xor a ld hl, wMenuCursorY ld [hli], a @@ -2586,17 +2533,16 @@ Elixer_RestorePPofAllMoves: ; f6af and a jp nz, BattleRestorePP -PPRestoreItem_NoEffect: ; f6dd +PPRestoreItem_NoEffect: call WontHaveAnyEffectMessage -PPRestoreItem_Cancel: ; f6e0 +PPRestoreItem_Cancel: call ClearPalettes xor a ld [wItemEffectSucceeded], a ret -; f6e8 -RestorePP: ; f6e8 +RestorePP: xor a ; PARTYMON ld [wMonType], a call GetMaxPPOfMove @@ -2640,7 +2586,6 @@ RestorePP: ; f6e8 .dont_restore xor a ret -; f725 TextJump_RaiseThePPOfWhichMove: ; 0xf725 ; Raise the PP of which move? @@ -2673,49 +2618,43 @@ UnknownText_0xf739: ; 0xf739 ; 0xf73e -SquirtbottleEffect: ; f73e +SquirtbottleEffect: farcall _Squirtbottle ret -; f745 -CardKeyEffect: ; f745 +CardKeyEffect: farcall _CardKey ret -; f74c -BasementKeyEffect: ; f74c +BasementKeyEffect: farcall _BasementKey ret -; f753 -SacredAshEffect: ; f753 +SacredAshEffect: farcall _SacredAsh ld a, [wItemEffectSucceeded] cp $1 ret nz call UseDisposableItem ret -; f763 -NormalBoxEffect: ; f763 +NormalBoxEffect: ld c, DECOFLAG_SILVER_TROPHY_DOLL jr OpenBox -; f767 -GorgeousBoxEffect: ; f767 +GorgeousBoxEffect: ld c, DECOFLAG_GOLD_TROPHY_DOLL -OpenBox: ; f769 +OpenBox: farcall SetSpecificDecorationFlag ld hl, .text call PrintText jp UseDisposableItem -; f778 .text ; 0xf778 ; There was a trophy inside! @@ -2723,32 +2662,29 @@ OpenBox: ; f769 db "@" ; 0xf77d -NoEffect: ; f77d +NoEffect: jp IsntTheTimeMessage -; f780 -Play_SFX_FULL_HEAL: ; f780 +Play_SFX_FULL_HEAL: push de ld de, SFX_FULL_HEAL call WaitPlaySFX pop de ret -; f789 -UseItemText: ; f789 +UseItemText: ld hl, UsedItemText call PrintText call Play_SFX_FULL_HEAL call WaitPressAorB_BlinkCursor -UseDisposableItem: ; f795 +UseDisposableItem: ld hl, wNumItems ld a, 1 ld [wItemQuantityChangeBuffer], a jp TossItem -; f7a0 -UseBallInTrainerBattle: ; f7a0 +UseBallInTrainerBattle: call ReturnToBattle_UseBall ld de, ANIM_THROW_POKE_BALL ld a, e @@ -2765,9 +2701,8 @@ UseBallInTrainerBattle: ; f7a0 ld hl, DontBeAThiefText call PrintText jr UseDisposableItem -; f7ca -WontHaveAnyEffect_NotUsedMessage: ; f7ca +WontHaveAnyEffect_NotUsedMessage: ld hl, WontHaveAnyEffectText call PrintText @@ -2775,14 +2710,12 @@ WontHaveAnyEffect_NotUsedMessage: ; f7ca ld a, $2 ld [wItemEffectSucceeded], a ret -; f7d6 -LooksBitterMessage: ; f7d6 +LooksBitterMessage: ld hl, LooksBitterText jp PrintText -; f7dc -Ball_BoxIsFullMessage: ; f7dc +Ball_BoxIsFullMessage: ld hl, Ball_BoxIsFullText call PrintText @@ -2790,37 +2723,35 @@ Ball_BoxIsFullMessage: ; f7dc ld a, $2 ld [wItemEffectSucceeded], a ret -; f7e8 -CantUseOnEggMessage: ; f7e8 +CantUseOnEggMessage: ld hl, CantUseOnEggText jr CantUseItemMessage -IsntTheTimeMessage: ; f7ed +IsntTheTimeMessage: ld hl, IsntTheTimeText jr CantUseItemMessage -WontHaveAnyEffectMessage: ; f7f2 +WontHaveAnyEffectMessage: ld hl, WontHaveAnyEffectText jr CantUseItemMessage -BelongsToSomeoneElseMessage: ; f7f7 +BelongsToSomeoneElseMessage: ld hl, BelongsToSomeoneElseText jr CantUseItemMessage -CyclingIsntAllowedMessage: ; f7fc +CyclingIsntAllowedMessage: ld hl, CyclingIsntAllowedText jr CantUseItemMessage -CantGetOnYourBikeMessage: ; f801 +CantGetOnYourBikeMessage: ld hl, CantGetOnYourBikeText -CantUseItemMessage: ; f804 +CantUseItemMessage: ; Item couldn't be used. xor a ld [wItemEffectSucceeded], a jp PrintText -; f80b LooksBitterText: ; 0xf80b ; It looks bitter… @@ -2901,7 +2832,7 @@ GotOffTheItemText: ; 0xf847 ; 0xf84c -ApplyPPUp: ; f84c +ApplyPPUp: ld a, MON_MOVES call GetPartyParamLocation push hl @@ -2935,11 +2866,10 @@ ApplyPPUp: ; f84c inc hl inc de jr .loop -; f881 -ComputeMaxPP: ; f881 +ComputeMaxPP: push bc ; Divide the base PP by 5. ld a, [de] @@ -2987,9 +2917,8 @@ ComputeMaxPP: ; f881 ld [hl], b pop bc ret -; f8b9 -RestoreAllPP: ; f8b9 +RestoreAllPP: ld a, MON_PP call GetPartyParamLocation push hl @@ -3023,10 +2952,9 @@ RestoreAllPP: ; f8b9 dec c jr nz, .loop ret -; f8ec -GetMaxPPOfMove: ; f8ec +GetMaxPPOfMove: ld a, [wStringBuffer1 + 0] push af ld a, [wStringBuffer1 + 1] @@ -3103,16 +3031,14 @@ GetMaxPPOfMove: ; f8ec pop af ld [wStringBuffer1 + 0], a ret -; f963 -GetMthMoveOfNthPartymon: ; f963 +GetMthMoveOfNthPartymon: ld a, [wCurPartyMon] call AddNTimes -GetMthMoveOfCurrentMon: ; f969 +GetMthMoveOfCurrentMon: ld a, [wMenuCursorY] ld c, a ld b, 0 add hl, bc ret -; f971 diff --git a/engine/items/items.asm b/engine/items/items.asm index c07042aed..28c79f4cc 100644 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -1,4 +1,4 @@ -_ReceiveItem:: ; d1d5 +_ReceiveItem:: call DoesHLEqualNumItems jp nz, PutItemInPocket push hl @@ -10,28 +10,28 @@ _ReceiveItem:: ; d1d5 rst JumpTable ret -.Pockets: ; d1e9 +.Pockets: ; entries correspond to item types dw .Item dw .KeyItem dw .Ball dw .TMHM -.Item: ; d1f1 +.Item: ld h, d ld l, e jp PutItemInPocket -.KeyItem: ; d1f6 +.KeyItem: ld h, d ld l, e jp ReceiveKeyItem -.Ball: ; d1fb +.Ball: ld hl, wNumBalls jp PutItemInPocket -.TMHM: ; d201 +.TMHM: ld h, d ld l, e ld a, [wCurItem] @@ -39,7 +39,7 @@ _ReceiveItem:: ; d1d5 call GetTMHMNumber jp ReceiveTMHM -_TossItem:: ; d20d +_TossItem:: call DoesHLEqualNumItems jr nz, .remove push hl @@ -58,11 +58,11 @@ _TossItem:: ; d20d dw .Ball dw .TMHM -.Ball: ; d228 +.Ball: ld hl, wNumBalls jp RemoveItemFromPocket -.TMHM: ; d22e +.TMHM: ld h, d ld l, e ld a, [wCurItem] @@ -70,19 +70,19 @@ _TossItem:: ; d20d call GetTMHMNumber jp TossTMHM -.KeyItem: ; d23a +.KeyItem: ld h, d ld l, e jp TossKeyItem -.Item: ; d23f +.Item: ld h, d ld l, e .remove jp RemoveItemFromPocket -_CheckItem:: ; d244 +_CheckItem:: call DoesHLEqualNumItems jr nz, .nope push hl @@ -101,11 +101,11 @@ _CheckItem:: ; d244 dw .Ball dw .TMHM -.Ball: ; d25f +.Ball: ld hl, wNumBalls jp CheckTheItem -.TMHM: ; d265 +.TMHM: ld h, d ld l, e ld a, [wCurItem] @@ -113,19 +113,19 @@ _CheckItem:: ; d244 call GetTMHMNumber jp CheckTMHM -.KeyItem: ; d271 +.KeyItem: ld h, d ld l, e jp CheckKeyItems -.Item: ; d276 +.Item: ld h, d ld l, e .nope jp CheckTheItem -DoesHLEqualNumItems: ; d27b +DoesHLEqualNumItems: ld a, l cp LOW(wNumItems) ret nz @@ -133,7 +133,7 @@ DoesHLEqualNumItems: ; d27b cp HIGH(wNumItems) ret -GetPocketCapacity: ; d283 +GetPocketCapacity: ld c, MAX_ITEMS ld a, e cp LOW(wNumItems) @@ -155,7 +155,7 @@ GetPocketCapacity: ; d283 ld c, MAX_BALLS ret -PutItemInPocket: ; d29c +PutItemInPocket: ld d, h ld e, l inc hl @@ -231,7 +231,7 @@ PutItemInPocket: ; d29c scf ret -RemoveItemFromPocket: ; d2ff +RemoveItemFromPocket: ld d, h ld e, l ld a, [hli] @@ -296,7 +296,7 @@ RemoveItemFromPocket: ; d2ff and a ret -CheckTheItem: ; d349 +CheckTheItem: ld a, [wCurItem] ld c, a .loop @@ -313,7 +313,7 @@ CheckTheItem: ; d349 and a ret -ReceiveKeyItem: ; d35a +ReceiveKeyItem: ld hl, wNumKeyItems ld a, [hli] cp MAX_KEY_ITEMS @@ -333,7 +333,7 @@ ReceiveKeyItem: ; d35a and a ret -TossKeyItem: ; d374 +TossKeyItem: ld a, [wCurItemQuantity] ld e, a ld d, 0 @@ -363,7 +363,7 @@ TossKeyItem: ; d374 scf ret -.Toss: ; d396 +.Toss: ld hl, wNumKeyItems ld a, [wCurItem] ld c, a @@ -384,7 +384,7 @@ TossKeyItem: ; d374 scf ret -CheckKeyItems: ; d3b1 +CheckKeyItems: ld a, [wCurItem] ld c, a ld hl, wKeyItems @@ -401,7 +401,7 @@ CheckKeyItems: ; d3b1 scf ret -ReceiveTMHM: ; d3c4 +ReceiveTMHM: dec c ld b, 0 ld hl, wTMsHMs @@ -418,7 +418,7 @@ ReceiveTMHM: ; d3c4 and a ret -TossTMHM: ; d3d8 +TossTMHM: dec c ld b, 0 ld hl, wTMsHMs @@ -445,7 +445,7 @@ TossTMHM: ; d3d8 and a ret -CheckTMHM: ; d3fb +CheckTMHM: dec c ld b, $0 ld hl, wTMsHMs @@ -456,7 +456,7 @@ CheckTMHM: ; d3fb scf ret -GetTMHMNumber:: ; d407 +GetTMHMNumber:: ; Return the number of a TM/HM by item id c. ld a, c ; Skip any dummy items. @@ -473,7 +473,7 @@ GetTMHMNumber:: ; d407 ld c, a ret -GetNumberedTMHM: ; d417 +GetNumberedTMHM: ; Return the item id of a TM/HM by number c. ld a, c ; Skip any gaps. @@ -491,7 +491,7 @@ GetNumberedTMHM: ; d417 ld c, a ret -_CheckTossableItem:: ; d427 +_CheckTossableItem:: ; Return 1 in wItemAttributeParamBuffer and carry if wCurItem can't be removed from the bag. ld a, ITEMATTR_PERMISSIONS call GetItemAttr @@ -500,7 +500,7 @@ _CheckTossableItem:: ; d427 and a ret -CheckSelectableItem: ; d432 +CheckSelectableItem: ; Return 1 in wItemAttributeParamBuffer and carry if wCurItem can't be selected. ld a, ITEMATTR_PERMISSIONS call GetItemAttr @@ -509,7 +509,7 @@ CheckSelectableItem: ; d432 and a ret -CheckItemPocket:: ; d43d +CheckItemPocket:: ; Return the pocket for wCurItem in wItemAttributeParamBuffer. ld a, ITEMATTR_POCKET call GetItemAttr @@ -517,7 +517,7 @@ CheckItemPocket:: ; d43d ld [wItemAttributeParamBuffer], a ret -CheckItemContext: ; d448 +CheckItemContext: ; Return the context for wCurItem in wItemAttributeParamBuffer. ld a, ITEMATTR_HELP call GetItemAttr @@ -525,7 +525,7 @@ CheckItemContext: ; d448 ld [wItemAttributeParamBuffer], a ret -CheckItemMenu: ; d453 +CheckItemMenu: ; Return the menu for wCurItem in wItemAttributeParamBuffer. ld a, ITEMATTR_HELP call GetItemAttr @@ -534,7 +534,7 @@ CheckItemMenu: ; d453 ld [wItemAttributeParamBuffer], a ret -GetItemAttr: ; d460 +GetItemAttr: ; Get attribute a of wCurItem. push hl @@ -560,13 +560,13 @@ GetItemAttr: ; d460 pop hl ret -ItemAttr_ReturnCarry: ; d47f +ItemAttr_ReturnCarry: ld a, 1 ld [wItemAttributeParamBuffer], a scf ret -GetItemPrice: ; d486 +GetItemPrice: ; Return the price of wCurItem in de. push hl push bc diff --git a/engine/items/mart.asm b/engine/items/mart.asm index 911251f65..a4a1f6314 100644 --- a/engine/items/mart.asm +++ b/engine/items/mart.asm @@ -6,7 +6,7 @@ const MARTTEXT_HERE_YOU_GO const MARTTEXT_SOLD_OUT -OpenMartDialog:: ; 15a45 +OpenMartDialog:: call GetMart ld a, c ld [wEngineBuffer1], a @@ -15,7 +15,6 @@ OpenMartDialog:: ; 15a45 ld hl, .dialogs rst JumpTable ret -; 15a57 .dialogs dw MartDialog @@ -23,18 +22,16 @@ OpenMartDialog:: ; 15a45 dw BargainShop dw Pharmacist dw RooftopSale -; 15a61 -MartDialog: ; 15a61 +MartDialog: ld a, 0 ld [wEngineBuffer1], a xor a ld [wEngineBuffer5], a call StandardMart ret -; 15a6e -HerbShop: ; 15a6e +HerbShop: call FarReadMart call LoadStandardMenuHeader ld hl, Text_HerbShop_Intro @@ -43,9 +40,8 @@ HerbShop: ; 15a6e ld hl, Text_HerbShop_ComeAgain call MartTextBox ret -; 15a84 -BargainShop: ; 15a84 +BargainShop: ld b, BANK(BargainShopData) ld de, BargainShopData call LoadMartPointer @@ -65,9 +61,8 @@ BargainShop: ; 15a84 ld hl, Text_BargainShop_ComeAgain call MartTextBox ret -; 15aae -Pharmacist: ; 15aae +Pharmacist: call FarReadMart call LoadStandardMenuHeader ld hl, Text_Pharmacist_Intro @@ -76,9 +71,8 @@ Pharmacist: ; 15aae ld hl, Text_Pharmacist_ComeAgain call MartTextBox ret -; 15ac4 -RooftopSale: ; 15ac4 +RooftopSale: ld b, BANK(RooftopSaleMart1) ld de, RooftopSaleMart1 ld hl, wStatusFlags @@ -97,11 +91,10 @@ RooftopSale: ; 15ac4 ld hl, Text_Mart_ComeAgain call MartTextBox ret -; 15aee INCLUDE "data/items/rooftop_sale.asm" -LoadMartPointer: ; 15b10 +LoadMartPointer: ld a, b ld [wMartPointerBank], a ld a, e @@ -117,9 +110,8 @@ LoadMartPointer: ; 15b10 ld [wBargainShopFlags], a ld [wFacingDirection], a ret -; 15b31 -GetMart: ; 15b31 +GetMart: ld a, e cp (Marts.End - Marts) / 2 jr c, .IsAMart @@ -136,9 +128,8 @@ GetMart: ; 15b31 ld d, [hl] ld b, BANK(Marts) ret -; 15b47 -StandardMart: ; 15b47 +StandardMart: .loop ld a, [wEngineBuffer5] ld hl, .MartFunctions @@ -155,17 +146,15 @@ StandardMart: ; 15b47 dw .Sell dw .Quit dw .AnythingElse -; 15b62 -.HowMayIHelpYou: ; 15b62 +.HowMayIHelpYou: call LoadStandardMenuHeader ld hl, Text_Mart_HowMayIHelpYou call PrintText ld a, $1 ; top menu ret -; 15b6e -.TopMenu: ; 15b6e +.TopMenu: ld hl, MenuHeader_BuySell call CopyMenuHeader call VerticalMenu @@ -184,41 +173,36 @@ StandardMart: ; 15b47 .sell ld a, $3 ; sell ret -; 15b8d -.Buy: ; 15b8d +.Buy: call ExitMenu call FarReadMart call BuyMenu and a ld a, $5 ; Anything else? ret -; 15b9a -.Sell: ; 15b9a +.Sell: call ExitMenu call SellMenu ld a, $5 ; Anything else? ret -; 15ba3 -.Quit: ; 15ba3 +.Quit: call ExitMenu ld hl, Text_Mart_ComeAgain call MartTextBox ld a, $ff ; exit ret -; 15baf -.AnythingElse: ; 15baf +.AnythingElse: call LoadStandardMenuHeader ld hl, Text_Mart_AnythingElse call PrintText ld a, $1 ; top menu ret -; 15bbb -FarReadMart: ; 15bbb +FarReadMart: ld hl, wMartPointer ld a, [hli] ld h, [hl] @@ -246,16 +230,15 @@ FarReadMart: ; 15bbb .done ret -; 15be5 -GetMartItemPrice: ; 15be5 +GetMartItemPrice: ; Return the price of item a in BCD at hl and in tiles at wStringBuffer1. push hl ld [wCurItem], a farcall GetItemPrice pop hl -GetMartPrice: ; 15bf0 +GetMartPrice: ; Return price de in BCD at hl and in tiles at wStringBuffer1. push hl ld a, d @@ -280,9 +263,8 @@ GetMartPrice: ; 15bf0 dec c jr nz, .loop ret -; 15c1a -.CharToNybble: ; 15c1a +.CharToNybble: ld a, [de] inc de cp " " @@ -292,9 +274,8 @@ GetMartPrice: ; 15bf0 .not_space sub "0" ret -; 15c25 -ReadMart: ; 15c25 +ReadMart: ; Load the mart pointer. Mart data is local (no need for bank). ld hl, wMartPointer ld a, [hli] @@ -337,12 +318,11 @@ ReadMart: ; 15c25 ld a, [hl] ld [wCurMart], a ret -; 15c51 INCLUDE "data/items/bargain_shop.asm" -BuyMenu: ; 15c62 +BuyMenu: call FadeToMenu farcall BlankScreen xor a @@ -354,9 +334,8 @@ BuyMenu: ; 15c62 jr nc, .loop call CloseSubmenu ret -; 15c7d -LoadBuyMenuText: ; 15c7d +LoadBuyMenuText: ; load text from a nested table ; which table is in wEngineBuffer1 ; which entry is in register a @@ -375,9 +354,8 @@ LoadBuyMenuText: ; 15c7d ld l, a call PrintText ret -; 15c91 -MartAskPurchaseQuantity: ; 15c91 +MartAskPurchaseQuantity: call GetMartDialogGroup ; gets a pointer from GetMartDialogGroup.MartTextFunctionPointers inc hl inc hl @@ -387,9 +365,8 @@ MartAskPurchaseQuantity: ; 15c91 cp 1 jp z, BargainShopAskPurchaseQuantity jp RooftopSaleAskPurchaseQuantity -; 15ca3 -GetMartDialogGroup: ; 15ca3 +GetMartDialogGroup: ld a, [wEngineBuffer1] ld e, a ld d, 0 @@ -398,17 +375,15 @@ GetMartDialogGroup: ; 15ca3 add hl, de add hl, de ret -; 15cb0 -.MartTextFunctionPointers: ; 15cb0 +.MartTextFunctionPointers: dwb .StandardMartPointers, 0 dwb .HerbShopPointers, 0 dwb .BargainShopPointers, 1 dwb .PharmacyPointers, 0 dwb .StandardMartPointers, 2 -; 15cbf -.StandardMartPointers: ; 15cbf +.StandardMartPointers: dw Text_Mart_HowMany dw Text_Mart_CostsThisMuch dw Text_Mart_InsufficientFunds @@ -416,7 +391,7 @@ GetMartDialogGroup: ; 15ca3 dw Text_Mart_HereYouGo dw BuyMenuLoop -.HerbShopPointers: ; 15ccb +.HerbShopPointers: dw Text_HerbShop_HowMany dw Text_HerbShop_CostsThisMuch dw Text_HerbShop_InsufficientFunds @@ -424,7 +399,7 @@ GetMartDialogGroup: ; 15ca3 dw Text_HerbShop_HereYouGo dw BuyMenuLoop -.BargainShopPointers: ; 15cd7 +.BargainShopPointers: dw BuyMenuLoop dw Text_BargainShop_CostsThisMuch dw Text_BargainShop_InsufficientFunds @@ -432,17 +407,16 @@ GetMartDialogGroup: ; 15ca3 dw Text_BargainShop_HereYouGo dw Text_BargainShop_SoldOut -.PharmacyPointers: ; 15ce3 +.PharmacyPointers: dw Text_Pharmacy_HowMany dw Text_Pharmacy_CostsThisMuch dw Text_Pharmacy_InsufficientFunds dw Text_Pharmacy_BagFull dw Text_Pharmacy_HereYouGo dw BuyMenuLoop -; 15cef -BuyMenuLoop: ; 15cef +BuyMenuLoop: farcall PlaceMoneyTopRight call UpdateSprites ld hl, MenuHeader_Buy @@ -512,7 +486,6 @@ BuyMenuLoop: ; 15cef call JoyWaitAorB and a ret -; 15d83 StandardMartAskPurchaseQuantity: ld a, 99 @@ -522,15 +495,13 @@ StandardMartAskPurchaseQuantity: farcall SelectQuantityToBuy call ExitMenu ret -; 15d97 -MartConfirmPurchase: ; 15d97 +MartConfirmPurchase: predef PartyMonItemName ld a, MARTTEXT_COSTS_THIS_MUCH call LoadBuyMenuText call YesNoBox ret -; 15da5 BargainShopAskPurchaseQuantity: ld a, 1 @@ -571,7 +542,6 @@ BargainShopAskPurchaseQuantity: call JoyWaitAorB scf ret -; 15de2 RooftopSaleAskPurchaseQuantity: ld a, MARTTEXT_HOW_MANY @@ -582,9 +552,8 @@ RooftopSaleAskPurchaseQuantity: farcall RooftopSale_SelectQuantityToBuy call ExitMenu ret -; 15df9 -.GetSalePrice: ; 15df9 +.GetSalePrice: ld a, [wMartItemID] ld e, a ld d, 0 @@ -601,7 +570,6 @@ RooftopSaleAskPurchaseQuantity: inc hl ld d, [hl] ret -; 15e0e Text_Mart_HowMany: ; 0x15e0e @@ -631,9 +599,8 @@ MenuHeader_Buy: ; 0x15e18 dba PlaceMenuItemName dba .PrintBCDPrices dba UpdateItemDescription -; 15e30 -.PrintBCDPrices: ; 15e30 +.PrintBCDPrices: ld a, [wScrollingMenuCursorPosition] ld c, a ld b, 0 @@ -650,7 +617,6 @@ MenuHeader_Buy: ; 0x15e18 ld c, PRINTNUM_LEADINGZEROS | PRINTNUM_MONEY | 3 call PrintBCDNumber ret -; 15e4a (5:5e4a) Text_HerbShop_Intro: ; 0x15e4a ; Hello, dear. I sell inexpensive herbal medicine. They're good, but a trifle bitter. Your #MON may not like them. Hehehehe… @@ -779,7 +745,7 @@ Text_Pharmacist_ComeAgain: ; 0x15eae ; 0x15eb3 -SellMenu: ; 15eb3 +SellMenu: call DisableSpriteUpdates farcall DepositSellInitPackBuffers .loop @@ -794,14 +760,12 @@ SellMenu: ; 15eb3 call ReturnToMapWithSpeechTextbox and a ret -; 15ed3 .Unreferenced_NothingToSell: ld hl, .NothingToSellText call MenuTextBoxBackup and a ret -; 15edb .NothingToSellText: ; 0x15edb ; You don't have anything to sell. @@ -810,15 +774,14 @@ SellMenu: ; 15eb3 ; 0x15ee0 -.TryToSellItem: ; 15ee0 +.TryToSellItem: farcall CheckItemMenu ld a, [wItemAttributeParamBuffer] ld hl, .dw rst JumpTable ret -; 15eee -.dw ; 15eee +.dw dw .try_sell dw .cant_buy dw .cant_buy @@ -826,14 +789,12 @@ SellMenu: ; 15eb3 dw .try_sell dw .try_sell dw .try_sell -; 15efc -.cant_buy ; 15efc +.cant_buy ret -; 15efd -.try_sell ; 15efd +.try_sell farcall _CheckTossableItem ld a, [wItemAttributeParamBuffer] and a @@ -877,7 +838,6 @@ SellMenu: ; 15eb3 call ExitMenu and a ret -; 15f73 Text_Mart_SellHowMany: ; 0x15f73 ; How many? @@ -891,7 +851,7 @@ Text_Mart_ICanPayThisMuch: ; 0x15f78 db "@" ; 0x15f7d -.UnusedString15f7d: ; 15f7d +.UnusedString15f7d: db "!ダミー!@" Text_Mart_HowMayIHelpYou: ; 0x15f83 @@ -955,16 +915,14 @@ Text_Mart_SoldForAmount: ; 0x15fbe db "@" ; 0x15fc3 -PlayTransactionSound: ; 15fc3 +PlayTransactionSound: call WaitSFX ld de, SFX_TRANSACTION call PlaySFX ret -; 15fcd -MartTextBox: ; 15fcd +MartTextBox: call MenuTextBox call JoyWaitAorB call ExitMenu ret -; 15fd7 diff --git a/engine/items/pack.asm b/engine/items/pack.asm index 9f0e82f66..3ad330f3a 100644 --- a/engine/items/pack.asm +++ b/engine/items/pack.asm @@ -12,7 +12,7 @@ const PACKSTATE_QUITNOSCRIPT ; 9 const PACKSTATE_QUITRUNSCRIPT ; 10 -Pack: ; 10000 +Pack: ld hl, wOptions set NO_TEXT_SCROLL, [hl] call InitPackBuffers @@ -31,17 +31,15 @@ Pack: ; 10000 ld hl, wOptions res NO_TEXT_SCROLL, [hl] ret -; 10026 -.RunJumptable: ; 10026 +.RunJumptable: ld a, [wJumptableIndex] ld hl, .Jumptable call Pack_GetJumptablePointer jp hl -; 10030 -.Jumptable: ; 10030 (4:4030) +.Jumptable: ; entries correspond to PACKSTATE_* constants dw .InitGFX ; 0 dw .InitItemsPocket ; 1 @@ -55,7 +53,7 @@ Pack: ; 10000 dw Pack_QuitNoScript ; 9 dw Pack_QuitRunScript ; 10 -.InitGFX: ; 10046 (4:4046) +.InitGFX: xor a ld [hBGMapMode], a call Pack_InitGFX @@ -64,7 +62,7 @@ Pack: ; 10000 call Pack_InitColors ret -.InitItemsPocket: ; 10056 (4:4056) +.InitItemsPocket: xor a ; ITEM_POCKET ld [wCurrPocket], a call ClearPocketList @@ -73,7 +71,7 @@ Pack: ; 10000 call Pack_JumptableNext ret -.ItemsPocketMenu: ; 10067 (4:4067) +.ItemsPocketMenu: ld hl, ItemsPocketMenuHeader call CopyMenuHeader ld a, [wItemsPocketCursor] @@ -92,7 +90,7 @@ Pack: ; 10000 call .ItemBallsKey_LoadSubmenu ret -.InitKeyItemsPocket: ; 10094 (4:4094) +.InitKeyItemsPocket: ld a, KEY_ITEM_POCKET ld [wCurrPocket], a call ClearPocketList @@ -101,7 +99,7 @@ Pack: ; 10000 call Pack_JumptableNext ret -.KeyItemsPocketMenu: ; 100a6 (4:40a6) +.KeyItemsPocketMenu: ld hl, KeyItemsPocketMenuHeader call CopyMenuHeader ld a, [wKeyItemsPocketCursor] @@ -120,7 +118,7 @@ Pack: ; 10000 call .ItemBallsKey_LoadSubmenu ret -.InitTMHMPocket: ; 100d3 (4:40d3) +.InitTMHMPocket: ld a, TM_HM_POCKET ld [wCurrPocket], a call ClearPocketList @@ -131,7 +129,7 @@ Pack: ; 10000 call Pack_JumptableNext ret -.TMHMPocketMenu: ; 100e8 (4:40e8) +.TMHMPocketMenu: farcall TMHMPocket ld b, PACKSTATE_INITKEYITEMSPOCKET ; left ld c, PACKSTATE_INITITEMSPOCKET ; right @@ -160,7 +158,6 @@ Pack: ; 10000 call Pack_GetJumptablePointer jp hl -; 10124 (4:4124) .MenuHeader1: ; 0x10124 db MENU_BACKUP_TILES ; flags menu_coords 13, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 @@ -175,11 +172,10 @@ Pack: ; 10000 db "QUIT@" ; 0x10137 -.Jumptable1: ; 10137 +.Jumptable1: dw .UseItem dw QuitItemSubmenu -; 1013b .MenuHeader2: ; 0x1013b db MENU_BACKUP_TILES ; flags @@ -196,13 +192,12 @@ Pack: ; 10000 db "QUIT@" ; 0x10153 -.Jumptable2: ; 10153 +.Jumptable2: dw .UseItem dw GiveItem dw QuitItemSubmenu -; 10159 -.UseItem: ; 10159 +.UseItem: farcall AskTeachTMHM ret c farcall ChooseMonToLearnTMHM @@ -222,7 +217,7 @@ Pack: ; 10000 call Pack_InitColors ret -.InitBallsPocket: ; 10186 (4:4186) +.InitBallsPocket: ld a, BALL_POCKET ld [wCurrPocket], a call ClearPocketList @@ -231,7 +226,7 @@ Pack: ; 10000 call Pack_JumptableNext ret -.BallsPocketMenu: ; 10198 (4:4198) +.BallsPocketMenu: ld hl, BallsPocketMenuHeader call CopyMenuHeader ld a, [wBallsPocketCursor] @@ -250,7 +245,7 @@ Pack: ; 10000 call .ItemBallsKey_LoadSubmenu ret -.ItemBallsKey_LoadSubmenu: ; 101c5 (4:41c5) +.ItemBallsKey_LoadSubmenu: farcall _CheckTossableItem ld a, [wItemAttributeParamBuffer] and a @@ -319,7 +314,6 @@ Pack: ; 10000 call Pack_GetJumptablePointer jp hl -; 10249 (4:4249) MenuHeader_UsableKeyItem: ; 0x10249 db MENU_BACKUP_TILES ; flags menu_coords 13, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 @@ -337,13 +331,12 @@ MenuHeader_UsableKeyItem: ; 0x10249 db "QUIT@" ; 0x1026a -Jumptable_UseGiveTossRegisterQuit: ; 1026a +Jumptable_UseGiveTossRegisterQuit: dw UseItem dw GiveItem dw TossMenu dw RegisterItem dw QuitItemSubmenu -; 10274 MenuHeader_UsableItem: ; 0x10274 db MENU_BACKUP_TILES ; flags @@ -361,12 +354,11 @@ MenuHeader_UsableItem: ; 0x10274 db "QUIT@" ; 0x10291 -Jumptable_UseGiveTossQuit: ; 10291 +Jumptable_UseGiveTossQuit: dw UseItem dw GiveItem dw TossMenu dw QuitItemSubmenu -; 10299 MenuHeader_UnusableItem: ; 0x10299 db MENU_BACKUP_TILES ; flags @@ -382,10 +374,9 @@ MenuHeader_UnusableItem: ; 0x10299 db "QUIT@" ; 0x102ac -Jumptable_UseQuit: ; 102ac +Jumptable_UseQuit: dw UseItem dw QuitItemSubmenu -; 102b0 MenuHeader_UnusableKeyItem: ; 0x102b0 db MENU_BACKUP_TILES ; flags @@ -402,11 +393,10 @@ MenuHeader_UnusableKeyItem: ; 0x102b0 db "QUIT@" ; 0x102c7 -Jumptable_UseRegisterQuit: ; 102c7 +Jumptable_UseRegisterQuit: dw UseItem dw RegisterItem dw QuitItemSubmenu -; 102cd MenuHeader_HoldableKeyItem: ; 0x102cd db MENU_BACKUP_TILES ; flags @@ -424,12 +414,11 @@ MenuHeader_HoldableKeyItem: ; 0x102cd db "QUIT@" ; 0x102ea -Jumptable_GiveTossRegisterQuit: ; 102ea +Jumptable_GiveTossRegisterQuit: dw GiveItem dw TossMenu dw RegisterItem dw QuitItemSubmenu -; 102f2 MenuHeader_HoldableItem: ; 0x102f2 db MENU_BACKUP_TILES ; flags @@ -446,22 +435,20 @@ MenuHeader_HoldableItem: ; 0x102f2 db "QUIT@" ; 0x1030b -Jumptable_GiveTossQuit: ; 1030b +Jumptable_GiveTossQuit: dw GiveItem dw TossMenu dw QuitItemSubmenu -; 10311 -UseItem: ; 10311 +UseItem: farcall CheckItemMenu ld a, [wItemAttributeParamBuffer] ld hl, .dw rst JumpTable ret -; 1031f -.dw ; 1031f (4:431f) +.dw ; entries correspond to ITEMMENU_* constants dw .Oak ; ITEMMENU_NOUSE dw .Oak @@ -470,18 +457,17 @@ UseItem: ; 10311 dw .Current ; ITEMMENU_CURRENT dw .Party ; ITEMMENU_PARTY dw .Field ; ITEMMENU_CLOSE -; 1035c -.Oak: ; 1032d (4:432d) +.Oak: ld hl, Text_ThisIsntTheTime call Pack_PrintTextNoScroll ret -.Current: ; 10334 (4:4334) +.Current: call DoItemEffect ret -.Party: ; 10338 (4:4338) +.Party: ld a, [wPartyCount] and a jr z, .NoPokemon @@ -498,7 +484,7 @@ UseItem: ; 10311 call Pack_PrintTextNoScroll ret -.Field: ; 10355 (4:4355) +.Field: call DoItemEffect ld a, [wItemEffectSucceeded] and a @@ -506,9 +492,8 @@ UseItem: ; 10311 ld a, PACKSTATE_QUITRUNSCRIPT ld [wJumptableIndex], a ret -; 10364 (4:4364) -TossMenu: ; 10364 +TossMenu: ld hl, Text_ThrowAwayHowMany call Pack_PrintTextNoScroll farcall SelectQuantityToToss @@ -532,9 +517,8 @@ TossMenu: ; 10364 call Pack_PrintTextNoScroll .finish ret -; 1039d -Unreferenced_ResetPocketCursorPositions: ; 1039d +Unreferenced_ResetPocketCursorPositions: ld a, [wCurrPocket] and a ; ITEM_POCKET jr z, .items @@ -561,9 +545,8 @@ Unreferenced_ResetPocketCursorPositions: ; 1039d ld [wKeyItemsPocketCursor], a ld [wKeyItemsPocketScrollPosition], a ret -; 103c2 -RegisterItem: ; 103c2 +RegisterItem: farcall CheckSelectableItem ld a, [wItemAttributeParamBuffer] and a @@ -591,9 +574,8 @@ RegisterItem: ; 103c2 ld hl, Text_CantRegister call Pack_PrintTextNoScroll ret -; 103fd -GiveItem: ; 103fd +GiveItem: ld a, [wPartyCount] and a jp z, .NoPokemon @@ -647,22 +629,20 @@ GiveItem: ; 103fd call Pack_InitColors ret -.NoPokemon: ; 10486 (4:4486) +.NoPokemon: ld hl, TextJump_YouDontHaveAMon call Pack_PrintTextNoScroll ret -; 1048d (4:448d) .Egg: ; 0x1048d ; An EGG can't hold an item. text_jump Text_AnEGGCantHoldAnItem db "@" ; 0x10492 -QuitItemSubmenu: ; 10492 +QuitItemSubmenu: ret -; 10493 -BattlePack: ; 10493 +BattlePack: ld hl, wOptions set NO_TEXT_SCROLL, [hl] call InitPackBuffers @@ -681,17 +661,15 @@ BattlePack: ; 10493 ld hl, wOptions res NO_TEXT_SCROLL, [hl] ret -; 104b9 -.RunJumptable: ; 104b9 +.RunJumptable: ld a, [wJumptableIndex] ld hl, .Jumptable call Pack_GetJumptablePointer jp hl -; 104c3 -.Jumptable: ; 104c3 (4:44c3) +.Jumptable: ; entries correspond to PACKSTATE_* constants dw .InitGFX ; 0 dw .InitItemsPocket ; 1 @@ -705,7 +683,7 @@ BattlePack: ; 10493 dw Pack_QuitNoScript ; 9 dw Pack_QuitRunScript ; 10 -.InitGFX: ; 104d9 (4:44d9) +.InitGFX: xor a ld [hBGMapMode], a call Pack_InitGFX @@ -714,7 +692,7 @@ BattlePack: ; 10493 call Pack_InitColors ret -.InitItemsPocket: ; 104e9 (4:44e9) +.InitItemsPocket: xor a ; ITEM_POCKET ld [wCurrPocket], a call ClearPocketList @@ -723,7 +701,7 @@ BattlePack: ; 10493 call Pack_JumptableNext ret -.ItemsPocketMenu: ; 104fa (4:44fa) +.ItemsPocketMenu: ld hl, ItemsPocketMenuHeader call CopyMenuHeader ld a, [wItemsPocketCursor] @@ -742,7 +720,7 @@ BattlePack: ; 10493 call ItemSubmenu ret -.InitKeyItemsPocket: ; 10527 (4:4527) +.InitKeyItemsPocket: ld a, KEY_ITEM_POCKET ld [wCurrPocket], a call ClearPocketList @@ -751,7 +729,7 @@ BattlePack: ; 10493 call Pack_JumptableNext ret -.KeyItemsPocketMenu: ; 10539 (4:4539) +.KeyItemsPocketMenu: ld hl, KeyItemsPocketMenuHeader call CopyMenuHeader ld a, [wKeyItemsPocketCursor] @@ -770,7 +748,7 @@ BattlePack: ; 10493 call ItemSubmenu ret -.InitTMHMPocket: ; 10566 (4:4566) +.InitTMHMPocket: ld a, TM_HM_POCKET ld [wCurrPocket], a call ClearPocketList @@ -783,7 +761,7 @@ BattlePack: ; 10493 call Pack_JumptableNext ret -.TMHMPocketMenu: ; 10581 (4:4581) +.TMHMPocketMenu: farcall TMHMPocket ld b, PACKSTATE_INITKEYITEMSPOCKET ; left ld c, PACKSTATE_INITITEMSPOCKET ; right @@ -793,7 +771,7 @@ BattlePack: ; 10493 call TMHMSubmenu ret -.InitBallsPocket: ; 10594 (4:4594) +.InitBallsPocket: ld a, BALL_POCKET ld [wCurrPocket], a call ClearPocketList @@ -802,7 +780,7 @@ BattlePack: ; 10493 call Pack_JumptableNext ret -.BallsPocketMenu: ; 105a6 (4:45a6) +.BallsPocketMenu: ld hl, BallsPocketMenuHeader call CopyMenuHeader ld a, [wBallsPocketCursor] @@ -821,10 +799,10 @@ BattlePack: ; 10493 call ItemSubmenu ret -ItemSubmenu: ; 105d3 (4:45d3) +ItemSubmenu: farcall CheckItemContext ld a, [wItemAttributeParamBuffer] -TMHMSubmenu: ; 105dc (4:45dc) +TMHMSubmenu: and a jr z, .NoUse ld hl, .UsableMenuHeader @@ -846,7 +824,6 @@ TMHMSubmenu: ; 105dc (4:45dc) call Pack_GetJumptablePointer jp hl -; 10601 (4:4601) .UsableMenuHeader: ; 0x10601 db MENU_BACKUP_TILES ; flags menu_coords 13, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 @@ -861,10 +838,9 @@ TMHMSubmenu: ; 105dc (4:45dc) db "QUIT@" ; 0x10614 -.UsableJumptable: ; 10614 +.UsableJumptable: dw .Use dw .Quit -; 10618 .UnusableMenuHeader: ; 0x10618 db MENU_BACKUP_TILES ; flags @@ -879,18 +855,17 @@ TMHMSubmenu: ; 105dc (4:45dc) db "QUIT@" ; 0x10627 -.UnusableJumptable: ; 10627 +.UnusableJumptable: dw .Quit -; 10629 -.Use: ; 10629 +.Use: farcall CheckItemContext ld a, [wItemAttributeParamBuffer] ld hl, .ItemFunctionJumptable rst JumpTable ret -.ItemFunctionJumptable: ; 10637 (4:4637) +.ItemFunctionJumptable: ; entries correspond to ITEMMENU_* constants dw .Oak ; ITEMMENU_NOUSE dw .Oak @@ -900,19 +875,19 @@ TMHMSubmenu: ; 105dc (4:45dc) dw .BattleField ; ITEMMENU_PARTY dw .BattleOnly ; ITEMMENU_CLOSE -.Oak: ; 10645 (4:4645) +.Oak: ld hl, Text_ThisIsntTheTime call Pack_PrintTextNoScroll ret -.Unused: ; 1064c (4:464c) +.Unused: call DoItemEffect ld a, [wItemEffectSucceeded] and a jr nz, .ReturnToBattle ret -.BattleField: ; 10656 (4:4656) +.BattleField: call DoItemEffect ld a, [wItemEffectSucceeded] and a @@ -924,32 +899,30 @@ TMHMSubmenu: ; 105dc (4:45dc) call Pack_InitColors ret -.ReturnToBattle: ; 1066c (4:466c) +.ReturnToBattle: call ClearBGPalettes jr .quit_run_script -.BattleOnly: ; 10671 (4:4671) +.BattleOnly: call DoItemEffect ld a, [wItemEffectSucceeded] and a jr z, .Oak cp $2 jr z, .didnt_use_item -.quit_run_script ; 1067e (4:467e) +.quit_run_script ld a, PACKSTATE_QUITRUNSCRIPT ld [wJumptableIndex], a ret -.didnt_use_item ; 10684 (4:4684) +.didnt_use_item xor a ld [wItemEffectSucceeded], a ret -; 10689 (4:4689) -.Quit: ; 10689 +.Quit: ret -; 1068a -InitPackBuffers: ; 1068a +InitPackBuffers: xor a ld [wJumptableIndex], a ; pocket id -> jumptable index @@ -965,9 +938,8 @@ InitPackBuffers: ; 1068a xor a ld [wSwitchItem], a ret -; 106a5 -DepositSellInitPackBuffers: ; 106a5 +DepositSellInitPackBuffers: xor a ld [hBGMapMode], a ld [wJumptableIndex], a ; PACKSTATE_INITGFX @@ -978,32 +950,29 @@ DepositSellInitPackBuffers: ; 106a5 call Pack_InitGFX call Pack_InitColors ret -; 106be -DepositSellPack: ; 106be +DepositSellPack: .loop call .RunJumptable call DepositSellTutorial_InterpretJoypad jr c, .loop ret -; 106c7 -.RunJumptable: ; 106c7 +.RunJumptable: ld a, [wJumptableIndex] ld hl, .Jumptable call Pack_GetJumptablePointer jp hl -; 106d1 -.Jumptable: ; 106d1 (4:46d1) +.Jumptable: ; entries correspond to *_POCKET constants dw .ItemsPocket dw .BallsPocket dw .KeyItemsPocket dw .TMHMPocket -.ItemsPocket: ; 106d9 (4:46d9) +.ItemsPocket: xor a ; ITEM_POCKET call InitPocket ld hl, PC_Mart_ItemsPocketMenuHeader @@ -1019,7 +988,7 @@ DepositSellPack: ; 106be ld [wItemsPocketCursor], a ret -.KeyItemsPocket: ; 106ff (4:46ff) +.KeyItemsPocket: ld a, KEY_ITEM_POCKET call InitPocket ld hl, PC_Mart_KeyItemsPocketMenuHeader @@ -1035,7 +1004,7 @@ DepositSellPack: ; 106be ld [wKeyItemsPocketCursor], a ret -.TMHMPocket: ; 10726 (4:4726) +.TMHMPocket: ld a, TM_HM_POCKET call InitPocket call WaitBGMap_DrawPackGFX @@ -1044,7 +1013,7 @@ DepositSellPack: ; 106be ld [wCurItem], a ret -.BallsPocket: ; 1073b (4:473b) +.BallsPocket: ld a, BALL_POCKET call InitPocket ld hl, PC_Mart_BallsPocketMenuHeader @@ -1060,14 +1029,14 @@ DepositSellPack: ; 106be ld [wBallsPocketCursor], a ret -InitPocket: ; 10762 (4:4762) +InitPocket: ld [wCurrPocket], a call ClearPocketList call DrawPocketName call WaitBGMap_DrawPackGFX ret -DepositSellTutorial_InterpretJoypad: ; 1076f +DepositSellTutorial_InterpretJoypad: ld hl, wMenuJoypad ld a, [hl] and A_BUTTON @@ -1119,9 +1088,8 @@ DepositSellTutorial_InterpretJoypad: ; 1076f pop de scf ret -; 107bb -TutorialPack: ; 107bb +TutorialPack: call DepositSellInitPackBuffers ld a, [wInputType] or a @@ -1134,29 +1102,26 @@ TutorialPack: ; 107bb xor a ; FALSE ld [wPackUsedItem], a ret -; 107d7 -.RunJumptable: ; 107d7 +.RunJumptable: ld a, [wJumptableIndex] ld hl, .dw call Pack_GetJumptablePointer jp hl -; 107e1 -.dw ; 107e1 (4:47e1) +.dw ; entries correspond to *_POCKET constants dw .Items dw .Balls dw .KeyItems dw .TMHM -.Items: ; 107e9 (4:47e9) +.Items: xor a ; ITEM_POCKET ld hl, .ItemsMenuHeader jr .DisplayPocket -; 107ef (4:47ef) .ItemsMenuHeader: ; 0x107ef db MENU_BACKUP_TILES ; flags menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 @@ -1172,14 +1137,12 @@ TutorialPack: ; 107bb dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription -; 10807 -.KeyItems: ; 10807 (4:4807) +.KeyItems: ld a, KEY_ITEM_POCKET ld hl, .KeyItemsMenuHeader jr .DisplayPocket -; 1080e (4:480e) .KeyItemsMenuHeader: ; 0x1080e db MENU_BACKUP_TILES ; flags menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 @@ -1195,9 +1158,8 @@ TutorialPack: ; 107bb dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription -; 10826 -.TMHM: ; 10826 (4:4826) +.TMHM: ld a, TM_HM_POCKET call InitPocket call WaitBGMap_DrawPackGFX @@ -1206,12 +1168,11 @@ TutorialPack: ; 107bb ld [wCurItem], a ret -.Balls: ; 1083b (4:483b) +.Balls: ld a, BALL_POCKET ld hl, .BallsMenuHeader jr .DisplayPocket -; 10842 (4:4842) .BallsMenuHeader: ; 0x10842 db MENU_BACKUP_TILES ; flags menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 @@ -1227,9 +1188,8 @@ TutorialPack: ; 107bb dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription -; 1085a -.DisplayPocket: ; 1085a (4:485a) +.DisplayPocket: push hl call InitPocket pop hl @@ -1237,12 +1197,12 @@ TutorialPack: ; 107bb call ScrollingMenu ret -Pack_JumptableNext: ; 10866 (4:4866) +Pack_JumptableNext: ld hl, wJumptableIndex inc [hl] ret -Pack_GetJumptablePointer: ; 1086b +Pack_GetJumptablePointer: ld e, a ld d, 0 add hl, de @@ -1251,23 +1211,22 @@ Pack_GetJumptablePointer: ; 1086b ld h, [hl] ld l, a ret -; 10874 -Pack_QuitNoScript: ; 10874 (4:4874) +Pack_QuitNoScript: ld hl, wJumptableIndex set 7, [hl] xor a ; FALSE ld [wPackUsedItem], a ret -Pack_QuitRunScript: ; 1087e (4:487e) +Pack_QuitRunScript: ld hl, wJumptableIndex set 7, [hl] ld a, TRUE ld [wPackUsedItem], a ret -Pack_PrintTextNoScroll: ; 10889 (4:4889) +Pack_PrintTextNoScroll: ld a, [wOptions] push af set NO_TEXT_SCROLL, a @@ -1277,9 +1236,9 @@ Pack_PrintTextNoScroll: ; 10889 (4:4889) ld [wOptions], a ret -WaitBGMap_DrawPackGFX: ; 1089a (4:489a) +WaitBGMap_DrawPackGFX: call WaitBGMap -DrawPackGFX: ; 1089d +DrawPackGFX: ld a, [wCurrPocket] maskbits NUM_POCKETS ld e, a @@ -1305,16 +1264,14 @@ DrawPackGFX: ; 1089d .female farcall DrawKrisPackGFX ret -; 108cc -PackGFXPointers: ; 108cc +PackGFXPointers: dw PackGFX + (15 tiles) * 1 ; ITEM_POCKET dw PackGFX + (15 tiles) * 3 ; BALL_POCKET dw PackGFX + (15 tiles) * 0 ; KEY_ITEM_POCKET dw PackGFX + (15 tiles) * 2 ; TM_HM_POCKET -; 108d4 -Pack_InterpretJoypad: ; 108d4 (4:48d4) +Pack_InterpretJoypad: ld hl, wMenuJoypad ld a, [wSwitchItem] and a @@ -1398,7 +1355,7 @@ Pack_InterpretJoypad: ; 108d4 (4:48d4) scf ret -Pack_InitGFX: ; 10955 +Pack_InitGFX: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -1435,9 +1392,8 @@ Pack_InitGFX: ; 10955 call EnableLCD call DrawPackGFX ret -; 109a5 -PlacePackGFX: ; 109a5 +PlacePackGFX: hlcoord 0, 3 ld a, $50 ld de, SCREEN_WIDTH - 5 @@ -1453,9 +1409,8 @@ PlacePackGFX: ; 109a5 dec b jr nz, .row ret -; 109bb -DrawPocketName: ; 109bb +DrawPocketName: ld a, [wCurrPocket] ; * 15 ld d, a @@ -1484,9 +1439,8 @@ DrawPocketName: ; 109bb dec c jr nz, .row ret -; 109e1 -.tilemap ; 109e1 +.tilemap ; ITEM_POCKET db $00, $04, $04, $04, $01 ; top border db $06, $07, $08, $09, $0a ; Items @@ -1503,38 +1457,34 @@ DrawPocketName: ; 109bb db $00, $04, $04, $04, $01 ; top border db $10, $11, $12, $13, $14 ; TM/HM db $02, $05, $05, $05, $03 ; bottom border -; 10a1d -Pack_GetItemName: ; 10a1d +Pack_GetItemName: ld a, [wCurItem] ld [wNamedObjectIndexBuffer], a call GetItemName call CopyName1 ret -; 10a2a -Unreferenced_Pack_ClearTilemap: ; 10a2a +Unreferenced_Pack_ClearTilemap: hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, " " call ByteFill ret -; 10a36 -ClearPocketList: ; 10a36 (4:4a36) +ClearPocketList: hlcoord 5, 2 lb bc, 10, SCREEN_WIDTH - 5 call ClearBox ret -Pack_InitColors: ; 10a40 +Pack_InitColors: call WaitBGMap ld b, SCGB_PACKPALS call GetSGBLayout call SetPalettes call DelayFrame ret -; 10a4f ItemsPocketMenuHeader: ; 0x10a4f db MENU_BACKUP_TILES ; flags @@ -1551,7 +1501,6 @@ ItemsPocketMenuHeader: ; 0x10a4f dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription -; 10a67 PC_Mart_ItemsPocketMenuHeader: ; 0x10a67 db MENU_BACKUP_TILES ; flags @@ -1568,7 +1517,6 @@ PC_Mart_ItemsPocketMenuHeader: ; 0x10a67 dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription -; 10a7f KeyItemsPocketMenuHeader: ; 0x10a7f db MENU_BACKUP_TILES ; flags @@ -1585,7 +1533,6 @@ KeyItemsPocketMenuHeader: ; 0x10a7f dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription -; 10a97 PC_Mart_KeyItemsPocketMenuHeader: ; 0x10a97 db MENU_BACKUP_TILES ; flags @@ -1602,7 +1549,6 @@ PC_Mart_KeyItemsPocketMenuHeader: ; 0x10a97 dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription -; 10aaf BallsPocketMenuHeader: ; 0x10aaf db MENU_BACKUP_TILES ; flags @@ -1619,7 +1565,6 @@ BallsPocketMenuHeader: ; 0x10aaf dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription -; 10ac7 PC_Mart_BallsPocketMenuHeader: ; 0x10ac7 db MENU_BACKUP_TILES ; flags @@ -1636,7 +1581,6 @@ PC_Mart_BallsPocketMenuHeader: ; 0x10ac7 dba PlaceMenuItemName dba PlaceMenuItemQuantity dba UpdateItemDescription -; 10adf Text_PackNoItems: ; 0x10adf ; No items. diff --git a/engine/items/pack_kris.asm b/engine/items/pack_kris.asm index 54a21e447..1a169ea6e 100644 --- a/engine/items/pack_kris.asm +++ b/engine/items/pack_kris.asm @@ -1,4 +1,4 @@ -DrawKrisPackGFX: ; 48e81 +DrawKrisPackGFX: ld hl, PackFGFXPointers add hl, de add hl, de @@ -10,11 +10,11 @@ DrawKrisPackGFX: ; 48e81 call Request2bpp ret -PackFGFXPointers: ; 48e93 +PackFGFXPointers: dw PackFGFX + (15 tiles) * 1 ; ITEM_POCKET dw PackFGFX + (15 tiles) * 3 ; BALL_POCKET dw PackFGFX + (15 tiles) * 0 ; KEY_ITEM_POCKET dw PackFGFX + (15 tiles) * 2 ; TM_HM_POCKET -PackFGFX: ; 48e9b +PackFGFX: INCBIN "gfx/pack/pack_f.2bpp" diff --git a/engine/items/switch_items.asm b/engine/items/switch_items.asm index 77b635246..b5fa0f178 100644 --- a/engine/items/switch_items.asm +++ b/engine/items/switch_items.asm @@ -1,4 +1,4 @@ -SwitchItemsInBag: ; 2490c (9:490c) +SwitchItemsInBag: ld a, [wSwitchItem] and a jr z, .init @@ -84,7 +84,7 @@ SwitchItemsInBag: ; 2490c (9:490c) ld [wSwitchItem], a ret -Function249a7: ; 249a7 (9:49a7) +Function249a7: ld a, [wSwitchItem] call ItemSwitch_GetNthItem ld d, h @@ -110,7 +110,7 @@ Function249a7: ; 249a7 (9:49a7) scf ret -Function249d1: ; 249d1 (9:49d1) +Function249d1: ld a, [wSwitchItem] call ItemSwitch_GetNthItem inc hl @@ -180,14 +180,14 @@ Function249d1: ; 249d1 (9:49d1) ld [wSwitchItem], a ret -Function24a40: ; 24a40 (9:4a40) +Function24a40: call ItemSwitch_GetNthItem ld de, wd002 call ItemSwitch_ConvertSpacingToDW call CopyBytes ret -Function24a4d: ; 24a4d (9:4a4d) +Function24a4d: call ItemSwitch_GetNthItem ld d, h ld e, l @@ -196,7 +196,7 @@ Function24a4d: ; 24a4d (9:4a4d) call CopyBytes ret -ItemSwitch_GetNthItem: ; 24a5c (9:4a5c) +ItemSwitch_GetNthItem: push af call ItemSwitch_ConvertSpacingToDW ld hl, wMenuData_ItemsPointerAddr @@ -208,7 +208,7 @@ ItemSwitch_GetNthItem: ; 24a5c (9:4a5c) call AddNTimes ret -Function24a6c: ; 24a6c (9:4a6c) +Function24a6c: push hl call ItemSwitch_ConvertSpacingToDW ld a, d @@ -224,7 +224,7 @@ Function24a6c: ; 24a6c (9:4a6c) pop hl ret -ItemSwitch_ConvertSpacingToDW: ; 24a80 (9:4a80) +ItemSwitch_ConvertSpacingToDW: ; This function is absolutely idiotic. push hl ld a, [wMenuData_ScrollingMenuSpacing] @@ -239,13 +239,11 @@ ItemSwitch_ConvertSpacingToDW: ; 24a80 (9:4a80) pop hl ret -; 24a91 (9:4a91) -.spacing_dws ; 24a91 +.spacing_dws dw 0, 1, 2 -; 24a97 -Function24a97: ; 24a97 (9:4a97) +Function24a97: push af call ItemSwitch_ConvertSpacingToDW ld a, c @@ -262,7 +260,7 @@ Function24a97: ; 24a97 (9:4a97) ld a, $1 ret -Function24aab: ; 24aab (9:4aab) +Function24aab: .loop ld a, [hld] ld [de], a diff --git a/engine/items/tmhm.asm b/engine/items/tmhm.asm index 442f73cfa..57586e2f0 100644 --- a/engine/items/tmhm.asm +++ b/engine/items/tmhm.asm @@ -1,4 +1,4 @@ -TMHMPocket: ; 2c76f (b:476f) +TMHMPocket: ld a, $1 ld [hInMenu], a call TMHM_PocketLoop @@ -20,7 +20,7 @@ TMHMPocket: ; 2c76f (b:476f) scf ret -.ConvertItemToTMHMNumber: ; 2c798 (b:4798) +.ConvertItemToTMHMNumber: ld a, [wCurItem] ld c, a callfar GetNumberedTMHM @@ -28,7 +28,7 @@ TMHMPocket: ; 2c76f (b:476f) ld [wCurItem], a ret -ConvertCurItemIntoCurTMHM: ; 2c7a7 (b:47a7) +ConvertCurItemIntoCurTMHM: ld a, [wCurItem] ld c, a callfar GetTMHMNumber @@ -36,12 +36,12 @@ ConvertCurItemIntoCurTMHM: ; 2c7a7 (b:47a7) ld [wCurTMHM], a ret -GetTMHMItemMove: ; 2c7b6 (b:47b6) +GetTMHMItemMove: call ConvertCurItemIntoCurTMHM predef GetTMHMMove ret -AskTeachTMHM: ; 2c7bf (b:47bf) +AskTeachTMHM: ld hl, wOptions ld a, [hl] push af @@ -70,13 +70,13 @@ AskTeachTMHM: ; 2c7bf (b:47bf) ld [wOptions], a ret -ChooseMonToLearnTMHM: ; 2c7fb +ChooseMonToLearnTMHM: ld hl, wStringBuffer2 ld de, wTMHMMoveNameBackup ld bc, 12 call CopyBytes call ClearBGPalettes -ChooseMonToLearnTMHM_NoRefresh: ; 2c80a +ChooseMonToLearnTMHM_NoRefresh: farcall LoadPartyMenuGFX farcall InitPartyMenuWithCancel farcall InitPartyMenuGFX @@ -115,9 +115,8 @@ ChooseMonToLearnTMHM_NoRefresh: ; 2c80a pop de pop hl jr .loopback -; 2c867 -TeachTMHM: ; 2c867 +TeachTMHM: predef CanLearnTMHMMove push bc @@ -166,7 +165,6 @@ TeachTMHM: ; 2c867 .learned_move scf ret -; 2c8bf (b:48bf) Text_BootedTM: ; 0x2c8bf ; Booted up a TM. @@ -192,7 +190,7 @@ Text_TMHMNotCompatible: ; 0x2c8ce db "@" ; 0x2c8d3 -TMHM_PocketLoop: ; 2c8d3 (b:48d3) +TMHM_PocketLoop: xor a ld [hBGMapMode], a call TMHM_DisplayPocketItems @@ -225,7 +223,7 @@ TMHM_PocketLoop: ; 2c8d3 (b:48d3) ld [wMenuCursorX], a jr TMHM_ShowTMMoveDescription -TMHM_JoypadLoop: ; 2c915 (b:4915) +TMHM_JoypadLoop: call TMHM_DisplayPocketItems call StaticMenuJoypad ld b, a @@ -247,7 +245,7 @@ TMHM_JoypadLoop: ; 2c915 (b:4915) jp nz, TMHM_ExitPocket bit D_LEFT_F, a jp nz, TMHM_ExitPocket -TMHM_ShowTMMoveDescription: ; 2c946 (b:4946) +TMHM_ShowTMMoveDescription: call TMHM_CheckHoveringOverCancel jp nc, TMHM_ExitPocket hlcoord 0, 12 @@ -265,7 +263,7 @@ TMHM_ShowTMMoveDescription: ; 2c946 (b:4946) call PrintMoveDesc jp TMHM_JoypadLoop -TMHM_ChooseTMorHM: ; 2c974 (b:4974) +TMHM_ChooseTMorHM: call TMHM_PlaySFX_ReadText2 call CountTMsHMs ; This stores the count to wd265. ld a, [wMenuCursorY] @@ -277,7 +275,7 @@ TMHM_ChooseTMorHM: ; 2c974 (b:4974) ld a, [wd265] cp b jr z, _TMHM_ExitPack ; our cursor was hovering over CANCEL -TMHM_CheckHoveringOverCancel: ; 2c98a (b:498a) +TMHM_CheckHoveringOverCancel: call TMHM_GetCurrentPocketPosition ld a, [wMenuCursorY] ld b, a @@ -297,19 +295,19 @@ TMHM_CheckHoveringOverCancel: ; 2c98a (b:498a) cp -1 ret -TMHM_ExitPack: ; 2c9a5 (b:49a5) +TMHM_ExitPack: call TMHM_PlaySFX_ReadText2 -_TMHM_ExitPack: ; 2c9a8 (b:49a8) +_TMHM_ExitPack: ld a, $2 ld [wMenuJoypad], a and a ret -TMHM_ExitPocket: ; 2c9af (b:49af) +TMHM_ExitPocket: and a ret -TMHM_ScrollPocket: ; 2c9b1 (b:49b1) +TMHM_ScrollPocket: ld a, b bit 7, a jr nz, .skip @@ -339,7 +337,7 @@ TMHM_ScrollPocket: ; 2c9b1 (b:49b1) call TMHM_DisplayPocketItems jp TMHM_ShowTMMoveDescription -TMHM_DisplayPocketItems: ; 2c9e2 (b:49e2) +TMHM_DisplayPocketItems: ld a, [wBattleType] cp BATTLETYPE_TUTORIAL jp z, Tutorial_TMHMPocket @@ -433,7 +431,7 @@ TMHM_DisplayPocketItems: ; 2c9e2 (b:49e2) .done ret -TMHMPocket_GetCurrentLineCoord: ; 2ca86 (b:4a86) +TMHMPocket_GetCurrentLineCoord: hlcoord 5, 0 ld bc, 2 * SCREEN_WIDTH ld a, 6 @@ -445,9 +443,8 @@ TMHMPocket_GetCurrentLineCoord: ; 2ca86 (b:4a86) dec e jr nz, .loop ret -; 2ca95 (b:4a95) -Unreferenced_Function2ca95: ; 2ca95 +Unreferenced_Function2ca95: pop hl ld bc, 3 add hl, bc @@ -459,13 +456,11 @@ Unreferenced_Function2ca95: ; 2ca95 call PlaceString pop hl ret -; 2caae -TMHM_String_Cancel: ; 2caae +TMHM_String_Cancel: db "CANCEL@" -; 2cab5 -TMHM_GetCurrentPocketPosition: ; 2cab5 (b:4ab5) +TMHM_GetCurrentPocketPosition: ld hl, wTMsHMs ld a, [wTMHMPocketScrollPosition] ld b, a @@ -482,7 +477,7 @@ TMHM_GetCurrentPocketPosition: ; 2cab5 (b:4ab5) dec c ret -Tutorial_TMHMPocket: ; 2caca (b:4aca) +Tutorial_TMHMPocket: hlcoord 9, 3 push de ld de, TMHM_String_Cancel @@ -490,15 +485,14 @@ Tutorial_TMHMPocket: ; 2caca (b:4aca) pop de ret -TMHM_PlaySFX_ReadText2: ; 2cad6 (b:4ad6) +TMHM_PlaySFX_ReadText2: push de ld de, SFX_READ_TEXT_2 call PlaySFX pop de ret -; 2cadf (b:4adf) -Unreferenced_Function2cadf: ; 2cadf +Unreferenced_Function2cadf: call ConvertCurItemIntoCurTMHM call .CheckHaveRoomForTMHM ld hl, .NoRoomText @@ -506,7 +500,6 @@ Unreferenced_Function2cadf: ; 2cadf ld hl, .ReceivedText .print jp PrintText -; 2caf0 .NoRoomText: ; 0x2caf0 ; You have no room for any more @ S. @@ -520,7 +513,7 @@ Unreferenced_Function2cadf: ; 2cadf db "@" ; 0x2cafa -.CheckHaveRoomForTMHM: ; 2cafa +.CheckHaveRoomForTMHM: ld a, [wd265] dec a ld hl, wTMsHMs @@ -533,9 +526,8 @@ Unreferenced_Function2cadf: ; 2cadf ret nc ld [hl], a ret -; 2cb0c -ConsumeTM: ; 2cb0c (b:4b0c) +ConsumeTM: call ConvertCurItemIntoCurTMHM ld a, [wd265] dec a @@ -556,7 +548,7 @@ ConsumeTM: ; 2cb0c (b:4b0c) ld [wTMHMPocketScrollPosition], a ret -CountTMsHMs: ; 2cb2a (b:4b2a) +CountTMsHMs: ld b, 0 ld c, NUM_TMS + NUM_HMS ld hl, wTMsHMs @@ -572,7 +564,7 @@ CountTMsHMs: ; 2cb2a (b:4b2a) ld [wd265], a ret -PrintMoveDesc: ; 2cb3e +PrintMoveDesc: push hl ld hl, MoveDescriptions ld a, [wCurSpecies] @@ -586,4 +578,3 @@ PrintMoveDesc: ; 2cb3e ld d, [hl] pop hl jp PlaceString -; 2cb52 diff --git a/engine/items/tmhm2.asm b/engine/items/tmhm2.asm index 9db3dc291..bb98d8ab8 100644 --- a/engine/items/tmhm2.asm +++ b/engine/items/tmhm2.asm @@ -1,4 +1,4 @@ -CanLearnTMHMMove: ; 11639 +CanLearnTMHMMove: ld a, [wCurPartySpecies] ld [wCurSpecies], a call GetBaseData @@ -31,9 +31,8 @@ CanLearnTMHMMove: ; 11639 pop hl ld c, 0 ret -; 1166a -GetTMHMMove: ; 1166a +GetTMHMMove: ld a, [wd265] dec a ld hl, TMHMMoves @@ -43,7 +42,6 @@ GetTMHMMove: ; 1166a ld a, [hl] ld [wd265], a ret -; 1167a INCLUDE "data/moves/tmhm_moves.asm" diff --git a/engine/link/init_list.asm b/engine/link/init_list.asm index 26c77b5bb..8557b2e9f 100644 --- a/engine/link/init_list.asm +++ b/engine/link/init_list.asm @@ -1,4 +1,4 @@ -InitList: ; 50db9 +InitList: ld a, [wInitListType] cp INIT_ENEMYOT_LIST diff --git a/engine/link/link.asm b/engine/link/link.asm index e0b7f7972..f85dcba9c 100644 --- a/engine/link/link.asm +++ b/engine/link/link.asm @@ -1,4 +1,4 @@ -LinkCommunications: ; 28000 +LinkCommunications: call ClearBGPalettes ld c, 80 call DelayFrames @@ -35,7 +35,7 @@ LinkCommunications: ; 28000 cp LINK_TIMECAPSULE jp nz, Gen2ToGen2LinkComms -Gen2ToGen1LinkComms: ; 2805d +Gen2ToGen1LinkComms: call ClearLinkData call Link_PrepPartyData_Gen1 call FixDataForLinkTransfer @@ -177,9 +177,8 @@ Gen2ToGen1LinkComms: ; 2805d ld de, MUSIC_ROUTE_30 call PlayMusic jp InitTradeMenuDisplay -; 28177 -Gen2ToGen2LinkComms: ; 28177 +Gen2ToGen2LinkComms: call ClearLinkData call Link_PrepPartyData_Gen2 call FixDataForLinkTransfer @@ -474,9 +473,8 @@ Gen2ToGen2LinkComms: ; 28177 ld de, MUSIC_ROUTE_30 call PlayMusic jp InitTradeMenuDisplay -; 283b2 -LinkTimeout: ; 283b2 +LinkTimeout: ld de, .TooMuchTimeHasElapsed ld b, 10 .loop @@ -506,7 +504,6 @@ LinkTimeout: ; 283b2 call GetSGBLayout call WaitBGMap2 ret -; 283ed .TooMuchTimeHasElapsed: ; 0x283ed ; Too much time has elapsed. Please try again. @@ -514,7 +511,7 @@ LinkTimeout: ; 283b2 db "@" ; 0x283f2 -ExchangeBytes: ; 283f2 +ExchangeBytes: ld a, TRUE ld [hSerialIgnoringInitialData], a .loop @@ -546,13 +543,11 @@ ExchangeBytes: ; 283f2 or c jr nz, .loop ret -; 28419 -String_PleaseWait: ; 28419 +String_PleaseWait: db "PLEASE WAIT!@" -; 28426 -ClearLinkData: ; 28426 +ClearLinkData: ld hl, wLinkData ld bc, wLinkDataEnd - wLinkData .loop @@ -563,9 +558,8 @@ ClearLinkData: ; 28426 or c jr nz, .loop ret -; 28434 -FixDataForLinkTransfer: ; 28434 +FixDataForLinkTransfer: ld hl, wd1f3 ld a, SERIAL_PREAMBLE_BYTE ld b, wLinkBattleRNs - wd1f3 @@ -636,9 +630,8 @@ FixDataForLinkTransfer: ; 28434 ld a, SERIAL_PATCH_LIST_PART_TERMINATOR ld [de], a ret -; 28499 -Link_PrepPartyData_Gen1: ; 28499 +Link_PrepPartyData_Gen1: ld de, wLinkData ld a, SERIAL_PREAMBLE_BYTE ld b, PARTY_LENGTH @@ -693,9 +686,8 @@ Link_PrepPartyData_Gen1: ; 28499 .copy_ot_nicks ld bc, PARTY_LENGTH * NAME_LENGTH jp CopyBytes -; 284f6 -.ConvertPartyStruct2to1: ; 284f6 +.ConvertPartyStruct2to1: ld b, h ld c, l push de @@ -804,9 +796,8 @@ Link_PrepPartyData_Gen1: ; 28499 ld h, b ld l, c ret -; 28595 -Link_PrepPartyData_Gen2: ; 28595 +Link_PrepPartyData_Gen2: ld de, wLinkData ld a, SERIAL_PREAMBLE_BYTE ld b, PARTY_LENGTH @@ -942,9 +933,8 @@ Link_PrepPartyData_Gen2: ; 28595 ld a, SERIAL_PATCH_LIST_PART_TERMINATOR ld [de], a ret -; 28682 -Function28682: ; 28682 +Function28682: ld c, 5 .loop ld [de], a @@ -952,9 +942,8 @@ Function28682: ; 28682 dec c jr nz, .loop ret -; 2868a -Function2868a: ; 2868a +Function2868a: push hl ld d, h ld e, l @@ -980,9 +969,8 @@ Function2868a: ; 2868a ld de, wOTPartyMonNicknames ld bc, PARTY_LENGTH * MON_NAME_LENGTH jp CopyBytes -; 286ba -.ConvertToGen2: ; 286ba +.ConvertToGen2: ld b, h ld c, l ld a, [de] @@ -1102,9 +1090,8 @@ Function2868a: ; 2868a inc de inc de ret -; 28771 -TimeCapsule_ReplaceTeruSama: ; 28771 +TimeCapsule_ReplaceTeruSama: ld a, b and a ret z @@ -1130,7 +1117,7 @@ TimeCapsule_ReplaceTeruSama: ; 28771 INCLUDE "data/items/catch_rate_items.asm" -Link_CopyOTData: ; 2879e +Link_CopyOTData: .loop ld a, [hli] cp SERIAL_NO_DATA_BYTE @@ -1142,9 +1129,8 @@ Link_CopyOTData: ; 2879e or c jr nz, .loop ret -; 287ab -Link_CopyRandomNumbers: ; 287ab +Link_CopyRandomNumbers: ld a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ret z @@ -1163,9 +1149,8 @@ Link_CopyRandomNumbers: ; 287ab dec c jr nz, .loop ret -; 287ca -Link_FindFirstNonControlCharacter_SkipZero: ; 287ca +Link_FindFirstNonControlCharacter_SkipZero: .loop ld a, [hli] and a @@ -1176,9 +1161,8 @@ Link_FindFirstNonControlCharacter_SkipZero: ; 287ca jr z, .loop dec hl ret -; 287d8 -Link_FindFirstNonControlCharacter_AllowZero: ; 287d8 +Link_FindFirstNonControlCharacter_AllowZero: .loop ld a, [hli] cp SERIAL_PREAMBLE_BYTE @@ -1187,9 +1171,8 @@ Link_FindFirstNonControlCharacter_AllowZero: ; 287d8 jr z, .loop dec hl ret -; 287e3 -InitTradeMenuDisplay: ; 287e3 +InitTradeMenuDisplay: call ClearScreen call LoadTradeScreenBorder farcall InitTradeSpeciesList @@ -1204,9 +1187,8 @@ InitTradeMenuDisplay: ; 287e3 inc a ld [wPlayerLinkAction], a jp LinkTrade_PlayerPartyMenu -; 28803 -LinkTrade_OTPartyMenu: ; 28803 +LinkTrade_OTPartyMenu: ld a, OTPARTYMON ld [wMonType], a ld a, A_BUTTON | D_UP | D_DOWN @@ -1228,7 +1210,7 @@ LinkTrade_OTPartyMenu: ; 28803 xor a ld [w2DMenuFlags2], a -LinkTradeOTPartymonMenuLoop: ; 28835 +LinkTradeOTPartymonMenuLoop: farcall LinkTradeMenu ld a, d and a @@ -1268,9 +1250,8 @@ LinkTradeOTPartymonMenuLoop: ; 28835 bit D_DOWN_F, a jp z, LinkTradePartiesMenuMasterLoop jp Function28ac9 -; 2888b -LinkTrade_PlayerPartyMenu: ; 2888b +LinkTrade_PlayerPartyMenu: farcall InitMG_Mobile_LinkTradePalMap xor a ld [wMonType], a @@ -1294,7 +1275,7 @@ LinkTrade_PlayerPartyMenu: ; 2888b ld [w2DMenuFlags2], a call WaitBGMap2 -LinkTradePartymonMenuLoop: ; 288c5 +LinkTradePartymonMenuLoop: farcall LinkTradeMenu ld a, d and a @@ -1343,16 +1324,14 @@ LinkTradePartymonMenuLoop: ; 288c5 pop bc pop hl jp Function28ade -; 2891c -LinkTradePartiesMenuMasterLoop: ; 2891c +LinkTradePartiesMenuMasterLoop: ld a, [wMonType] and a jp z, LinkTradePartymonMenuLoop ; PARTYMON jp LinkTradeOTPartymonMenuLoop ; OTPARTYMON -; 28926 -Function28926: ; 28926 +Function28926: call LoadTileMapToTempTileMap ld a, [wMenuCursorY] push af @@ -1510,7 +1489,6 @@ Function28926: ; 28926 ld c, 100 call DelayFrames jp InitTradeMenuDisplay -; 28aaf .Text_CantTradeLastMon: ; 0x28aaf @@ -1519,7 +1497,7 @@ Function28926: ; 28926 db "@" ; 0x28ab4 -.String_Stats_Trade: ; 28ab4 +.String_Stats_Trade: db "STATS TRADE@" .Text_Abnormal: ; 0x28ac4 @@ -1529,7 +1507,7 @@ Function28926: ; 28926 ; 0x28ac9 -Function28ac9: ; 28ac9 +Function28ac9: ld a, [wMenuCursorY] cp 1 jp nz, LinkTradePartiesMenuMasterLoop @@ -1541,7 +1519,7 @@ Function28ac9: ; 28ac9 ld [hl], " " pop bc pop hl -Function28ade: ; 28ade +Function28ade: .loop1 ld a, "▶" ldcoord_a 9, 17 @@ -1576,7 +1554,7 @@ Function28ade: ; 28ade ld a, [wOtherPlayerLinkMode] cp $f jr nz, .loop1 -Function28b22: ; 28b22 +Function28b22: call RotateThreePalettesRight call ClearScreen ld b, SCGB_DIPLOMA @@ -1592,9 +1570,8 @@ Function28b22: ; 28b22 ld a, (1 << rSC_ON) | 1 ld [rSC], a ret -; 28b42 -Unreferenced_Function28b42: ; 28b42 +Unreferenced_Function28b42: hlcoord 0, 16 ld a, "┘" ld bc, 2 * SCREEN_WIDTH @@ -1606,22 +1583,19 @@ Unreferenced_Function28b42: ; 28b42 hlcoord 2, 16 ld de, .Cancel jp PlaceString -; 28b61 -.Cancel: ; 28b61 +.Cancel: db "CANCEL@" -; 28b68 -Function28b68: ; 28b68 +Function28b68: ld a, [wOtherPlayerLinkMode] hlcoord 6, 9 ld bc, SCREEN_WIDTH call AddNTimes ld [hl], "▷" ret -; 28b77 -LinkEngine_FillBox: ; 28b77 +LinkEngine_FillBox: .row push bc push hl @@ -1636,9 +1610,8 @@ LinkEngine_FillBox: ; 28b77 dec b jr nz, .row ret -; 28b87 -LinkTrade: ; 28b87 +LinkTrade: xor a ld [wcf57], a ld [wOtherPlayerLinkAction], a @@ -1972,15 +1945,13 @@ LinkTrade: ; 28b87 cp LINK_TIMECAPSULE jp z, Gen2ToGen1LinkComms jp Gen2ToGen2LinkComms -; 28ea3 -Function28ea3: ; 28ea3 +Function28ea3: ld c, 100 call DelayFrames jp InitTradeMenuDisplay -; 28eab -String28eab: ; 28eab +String28eab: db "TRADE" next "CANCEL@" @@ -1990,33 +1961,30 @@ UnknownText_0x28eb8: ; 0x28eb8 db "@" ; 0x28ebd -String28ebd: ; 28ebd +String28ebd: db "Trade completed!@" -String_TooBadTheTradeWasCanceled: ; 28ece +String_TooBadTheTradeWasCanceled: db "Too bad! The trade" next "was canceled!@" -LinkTextboxAtHL: ; 28eef +LinkTextboxAtHL: ld d, h ld e, l farcall LinkTextbox ret -; 28ef8 -LoadTradeScreenBorder: ; 28ef8 +LoadTradeScreenBorder: farcall _LoadTradeScreenBorder ret -; 28eff -SetTradeRoomBGPals: ; 28eff +SetTradeRoomBGPals: farcall LoadTradeRoomBGPals_ ; just a nested farcall; so wasteful call SetPalettes ret -; 28f09 -Unreferenced_Function28f09: ; 28f09 +Unreferenced_Function28f09: hlcoord 0, 0 ld b, 6 ld c, 18 @@ -2027,11 +1995,10 @@ Unreferenced_Function28f09: ; 28f09 call LinkTextboxAtHL farcall PlaceTradePartnerNamesAndParty ret -; 28f24 INCLUDE "engine/movie/trade_animation.asm" -CheckTimeCapsuleCompatibility: ; 29bfb +CheckTimeCapsuleCompatibility: ; Checks to see if your party is compatible with the Gen 1 games. ; Returns the following in wScriptVar: ; 0: Party is okay @@ -2111,9 +2078,8 @@ CheckTimeCapsuleCompatibility: ; 29bfb .done ld [wScriptVar], a ret -; 29c67 -Function29c67: ; 29c67 +Function29c67: ld a, [wPartyCount] sub b ld c, a @@ -2125,9 +2091,8 @@ Function29c67: ; 29c67 ld [wd265], a call GetPokemonName ret -; 29c7b -EnterTimeCapsule: ; 29c7b +EnterTimeCapsule: ld c, 10 call DelayFrames ld a, $4 @@ -2139,9 +2104,8 @@ EnterTimeCapsule: ; 29c7b inc a ld [wLinkMode], a ret -; 29c92 -WaitForOtherPlayerToExit: ; 29c92 +WaitForOtherPlayerToExit: ld c, 3 call DelayFrames ld a, CONNECTION_NOT_ESTABLISHED @@ -2187,23 +2151,20 @@ WaitForOtherPlayerToExit: ; 29c92 ld [hVBlank], a ld [wLinkMode], a ret -; 29ce8 -SetBitsForLinkTradeRequest: ; 29ce8 +SetBitsForLinkTradeRequest: ld a, LINK_TRADECENTER - 1 ld [wPlayerLinkAction], a ld [wd265], a ret -; 29cf1 -SetBitsForBattleRequest: ; 29cf1 +SetBitsForBattleRequest: ld a, LINK_COLOSSEUM - 1 ld [wPlayerLinkAction], a ld [wd265], a ret -; 29cfa -SetBitsForTimeCapsuleRequest: ; 29cfa +SetBitsForTimeCapsuleRequest: ld a, $2 ld [rSB], a xor a @@ -2216,9 +2177,8 @@ SetBitsForTimeCapsuleRequest: ; 29cfa ld [wPlayerLinkAction], a ld [wd265], a ret -; 29d11 -WaitForLinkedFriend: ; 29d11 +WaitForLinkedFriend: ld a, [wPlayerLinkAction] and a jr z, .no_link_action @@ -2288,9 +2248,8 @@ WaitForLinkedFriend: ; 29d11 xor a ld [wScriptVar], a ret -; 29d92 -CheckLinkTimeout: ; 29d92 +CheckLinkTimeout: ld a, $1 ld [wPlayerLinkAction], a ld hl, wLinkTimeoutFrames @@ -2310,9 +2269,8 @@ CheckLinkTimeout: ; 29d92 and a ret nz jp Link_ResetSerialRegistersAfterLinkClosure -; 29dba -Function29dba: ; 29dba +Function29dba: ld a, $5 ld [wPlayerLinkAction], a ld hl, wLinkTimeoutFrames @@ -2358,9 +2316,8 @@ Function29dba: ; 29dba xor a ld [hVBlank], a ret -; 29e0c -Link_CheckCommunicationError: ; 29e0c +Link_CheckCommunicationError: xor a ld [hSerialReceivedNewData], a ld a, [wLinkTimeoutFrames] @@ -2389,9 +2346,8 @@ Link_CheckCommunicationError: ; 29e0c ld [hli], a ld [hl], a ret -; 29e3b -.CheckConnected: ; 29e3b +.CheckConnected: call WaitLinkTransfer ld hl, wLinkTimeoutFrames ld a, [hli] @@ -2400,9 +2356,8 @@ Link_CheckCommunicationError: ; 29e0c ld a, [hl] inc a ret -; 29e47 -.AcknowledgeSerial: ; 29e47 +.AcknowledgeSerial: ld b, 10 .loop call DelayFrame @@ -2410,9 +2365,8 @@ Link_CheckCommunicationError: ; 29e0c dec b jr nz, .loop ret -; 29e53 -.ConvertDW: ; 29e53 +.ConvertDW: ; [wLinkTimeoutFrames] = ((hl - $100) / 4) + $100 ; = (hl / 4) + $c0 dec h @@ -2426,9 +2380,8 @@ Link_CheckCommunicationError: ; 29e0c ld a, l ld [wLinkTimeoutFrames + 1], a ret -; 29e66 -TryQuickSave: ; 29e66 +TryQuickSave: ld a, [wd265] push af farcall Link_SaveGame @@ -2442,9 +2395,8 @@ TryQuickSave: ; 29e66 pop af ld [wd265], a ret -; 29e82 -CheckBothSelectedSameRoom: ; 29e82 +CheckBothSelectedSameRoom: ld a, [wd265] call Link_EnsureSync push af @@ -2469,9 +2421,8 @@ CheckBothSelectedSameRoom: ; 29e82 xor a ; FALSE ld [wScriptVar], a ret -; 29eaf -TimeCapsule: ; 29eaf +TimeCapsule: ld a, LINK_TIMECAPSULE ld [wLinkMode], a call DisableSpriteUpdates @@ -2480,9 +2431,8 @@ TimeCapsule: ; 29eaf xor a ld [hVBlank], a ret -; 29ec4 -TradeCenter: ; 29ec4 +TradeCenter: ld a, LINK_TRADECENTER ld [wLinkMode], a call DisableSpriteUpdates @@ -2491,9 +2441,8 @@ TradeCenter: ; 29ec4 xor a ld [hVBlank], a ret -; 29ed9 -Colosseum: ; 29ed9 +Colosseum: ld a, LINK_COLOSSEUM ld [wLinkMode], a call DisableSpriteUpdates @@ -2502,24 +2451,21 @@ Colosseum: ; 29ed9 xor a ld [hVBlank], a ret -; 29eee -CloseLink: ; 29eee +CloseLink: xor a ld [wLinkMode], a ld c, 3 call DelayFrames jp Link_ResetSerialRegistersAfterLinkClosure -; 29efa -FailedLinkToPast: ; 29efa +FailedLinkToPast: ld c, 40 call DelayFrames ld a, $e jp Link_EnsureSync -; 29f04 -Link_ResetSerialRegistersAfterLinkClosure: ; 29f04 +Link_ResetSerialRegistersAfterLinkClosure: ld c, 3 call DelayFrames ld a, CONNECTION_NOT_ESTABLISHED @@ -2530,9 +2476,8 @@ Link_ResetSerialRegistersAfterLinkClosure: ; 29f04 ld [hSerialReceive], a ld [rSC], a ret -; 29f17 -Link_EnsureSync: ; 29f17 +Link_EnsureSync: add $d0 ld [wPlayerLinkAction], a ld [wcf57], a @@ -2559,9 +2504,8 @@ Link_EnsureSync: ; 29f17 ld a, b and $f ret -; 29f47 -CableClubCheckWhichChris: ; 29f47 +CableClubCheckWhichChris: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK ld a, TRUE @@ -2571,11 +2515,9 @@ CableClubCheckWhichChris: ; 29f47 .yes ld [wScriptVar], a ret -; 29f54 -Unreferenced_Gen1LinkCommsBorderGFX: ; 29f54 +Unreferenced_Gen1LinkCommsBorderGFX: INCBIN "gfx/trade/unused_gen_1_border_tiles.2bpp" -; 29fe4 Unreferenced_Function29fe4: ld a, BANK(sPartyMail) diff --git a/engine/link/link_2.asm b/engine/link/link_2.asm index e2fe47dc5..ed7a7e2c9 100644 --- a/engine/link/link_2.asm +++ b/engine/link/link_2.asm @@ -1,4 +1,4 @@ -LinkMonStatsScreen: ; 4d319 +LinkMonStatsScreen: ld a, [wMenuCursorY] dec a ld [wCurPartyMon], a @@ -17,12 +17,12 @@ LinkMonStatsScreen: ; 4d319 call WaitBGMap2 ret -Link_WaitBGMap: ; 4d354 +Link_WaitBGMap: call WaitBGMap call WaitBGMap2 ret -LinkTextbox2: ; 4d35b +LinkTextbox2: ld h, d ld l, e push bc @@ -52,9 +52,8 @@ LinkTextbox2: ; 4d35b dec b jr nz, .row ret -; 4d37e -.PlaceBorder: ; 4d37e +.PlaceBorder: push hl ld a, $76 ld [hli], a @@ -84,9 +83,8 @@ LinkTextbox2: ; 4d35b call .PlaceRow ld [hl], "└" ret -; 4d3ab -.PlaceRow: ; 4d3ab +.PlaceRow: ld d, c .row_loop ld [hli], a diff --git a/engine/link/link_trade.asm b/engine/link/link_trade.asm index 4c2af0842..2e584fe4c 100644 --- a/engine/link/link_trade.asm +++ b/engine/link/link_trade.asm @@ -1,24 +1,21 @@ LinkCommsBorderGFX: INCBIN "gfx/trade/border_tiles.2bpp" -; 16d421 -__LoadTradeScreenBorder: ; 16d421 +__LoadTradeScreenBorder: ld de, LinkCommsBorderGFX ld hl, vTiles2 lb bc, BANK(LinkCommsBorderGFX), 70 call Get2bpp ret -; 16d42e -Function16d42e: ; 16d42e +Function16d42e: ld hl, Tilemap_MobileTradeBorderFullscreen decoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyBytes ret -; 16d43b -Function16d43b: ; 16d43b +Function16d43b: call LoadStandardMenuHeader call ClearBGPalettes call ClearTileMap @@ -32,7 +29,6 @@ Function16d43b: ; 16d43b call JoyWaitAorB call Call_ExitMenu ret -; 16d465 Tilemap_MobileTradeBorderFullscreen: INCBIN "gfx/trade/border_mobile_fullscreen.tilemap" @@ -43,7 +39,7 @@ INCBIN "gfx/trade/border_cable_top.tilemap" Tilemap_CableTradeBorderBottom: INCBIN "gfx/trade/border_cable_bottom.tilemap" -_LinkTextbox: ; 16d61d +_LinkTextbox: ld h, d ld l, e push bc @@ -73,9 +69,8 @@ _LinkTextbox: ; 16d61d dec b jr nz, .row ret -; 16d640 -.PlaceBorder ; 16d640 +.PlaceBorder push hl ld a, $30 ld [hli], a @@ -105,18 +100,16 @@ _LinkTextbox: ; 16d61d call .PlaceRow ld [hl], $37 ret -; 16d66d -.PlaceRow ; 16d66d +.PlaceRow ld d, c .row_loop ld [hli], a dec d jr nz, .row_loop ret -; 16d673 -InitTradeSpeciesList: ; 16d673 +InitTradeSpeciesList: call _LoadTradeScreenBorder call Function16d6ae farcall InitMG_Mobile_LinkTradePalMap @@ -125,32 +118,27 @@ InitTradeSpeciesList: ; 16d673 ld de, .CANCEL call PlaceString ret -; 16d68f -.CANCEL: ; 16d68f +.CANCEL: db "CANCEL@" -; 16d696 -_LoadTradeScreenBorder: ; 16d696 +_LoadTradeScreenBorder: call __LoadTradeScreenBorder ret -; 16d69a -LinkComms_LoadPleaseWaitTextboxBorderGFX: ; 16d69a +LinkComms_LoadPleaseWaitTextboxBorderGFX: ld de, LinkCommsBorderGFX + $30 tiles ld hl, vTiles2 tile $76 lb bc, BANK(LinkCommsBorderGFX), 8 call Get2bpp ret -; 16d6a7 -LoadTradeRoomBGPals_: ; 16d6a7 +LoadTradeRoomBGPals_: farcall LoadTradeRoomBGPals ret -; 16d6ae -Function16d6ae: ; 16d6ae +Function16d6ae: call Function16d42e ld hl, Tilemap_CableTradeBorderTop decoord 0, 0 @@ -161,23 +149,20 @@ Function16d6ae: ; 16d6ae ld bc, 2 * SCREEN_WIDTH call CopyBytes ret -; 16d6ca -LinkTextbox: ; 16d6ca +LinkTextbox: call _LinkTextbox ret -; 16d6ce -Function16d6ce: ; 16d6ce +Function16d6ce: call LoadStandardMenuHeader call Function16d6e1 farcall WaitLinkTransfer call Call_ExitMenu call WaitBGMap2 ret -; 16d6e1 -Function16d6e1: ; 16d6e1 +Function16d6e1: hlcoord 4, 10 ld b, 1 ld c, 10 @@ -189,19 +174,16 @@ Function16d6e1: ; 16d6e1 call WaitBGMap2 ld c, 50 jp DelayFrames -; 16d701 -.Waiting: ; 16d701 +.Waiting: db "WAITING..!@" -; 16d70c -LinkTradeMenu: ; 16d70c +LinkTradeMenu: call .MenuAction call .GetJoypad ret -; 16d713 -.GetJoypad: ; 16d713 +.GetJoypad: push bc push af ld a, [hJoyLast] @@ -216,9 +198,8 @@ LinkTradeMenu: ; 16d70c pop bc ld d, a ret -; 16d725 -.MenuAction: ; 16d725 +.MenuAction: ld hl, w2DMenuFlags2 res 7, [hl] ld a, [hBGMapMode] @@ -246,9 +227,8 @@ LinkTradeMenu: ; 16d70c .done ret -; 16d759 -.UpdateBGMapAndOAM: ; 16d759 +.UpdateBGMapAndOAM: ld a, [hOAMUpdate] push af ld a, $1 @@ -269,9 +249,8 @@ LinkTradeMenu: ; 16d70c jr z, .loop2 and a ret -; 16d77a -.UpdateCursor: ; 16d77a +.UpdateCursor: ld hl, wCursorCurrentTile ld a, [hli] ld h, [hl] @@ -346,9 +325,8 @@ LinkTradeMenu: ; 16d70c ld a, h ld [wCursorCurrentTile + 1], a ret -; 16d7e7 -.TryAnims: ; 16d7e7 +.TryAnims: ld a, [w2DMenuFlags1] bit 6, a jr z, .skip_anims @@ -360,4 +338,3 @@ LinkTradeMenu: ; 16d70c ret z scf ret -; 16d7fe diff --git a/engine/link/mystery_gift.asm b/engine/link/mystery_gift.asm index 4aed9ee70..8ac734af6 100644 --- a/engine/link/mystery_gift.asm +++ b/engine/link/mystery_gift.asm @@ -1,4 +1,4 @@ -DoMysteryGift: ; 1048ba (41:48ba) +DoMysteryGift: call ClearTileMap call ClearSprites call WaitBGMap @@ -98,84 +98,74 @@ DoMysteryGift: ; 1048ba (41:48ba) ld hl, .Text_Sent ; sent item jr .PrintTextAndExit -.LinkCanceled: ; 1049af (41:49af) +.LinkCanceled: ld hl, .Text_LinkCanceled ; Link has been canceled jr .PrintTextAndExit -.CommunicationError: ; 1049b4 (41:49b4) +.CommunicationError: ld hl, .Text_CommunicationError ; Communication error call PrintText jp DoMysteryGift -.GiftWaiting: ; 1049bd (41:49bd) +.GiftWaiting: ld hl, .Text_ReceiveGiftAtCounter ; receive gift at counter jr .PrintTextAndExit -.FriendNotReady: ; 1049c2 (41:49c2) +.FriendNotReady: ld hl, .Text_FriendNotReady ; friend not ready -.PrintTextAndExit: ; 1049c5 (41:49c5) +.PrintTextAndExit: call PrintText ld a, LCDC_DEFAULT ld [rLCDC], a ret -; 1049cd (41:49cd) -.String_PressAToLink_BToCancel: ; 1049cd +.String_PressAToLink_BToCancel: db "Press A to" next "link IR-Device" next "Press B to" next "cancel it." db "@" -; 1049fd -.Text_LinkCanceled: ; 1049fd +.Text_LinkCanceled: text_jump UnknownText_0x1c0436 db "@" -; 104a02 -.Text_CommunicationError: ; 104a02 +.Text_CommunicationError: text_jump UnknownText_0x1c0454 db "@" -; 104a07 -.Text_ReceiveGiftAtCounter: ; 104a07 +.Text_ReceiveGiftAtCounter: text_jump UnknownText_0x1c046a db "@" -; 104a0c -.Text_FriendNotReady: ; 104a0c +.Text_FriendNotReady: text_jump UnknownText_0x1c048e db "@" -; 104a11 -.Text_MaxFiveGifts: ; 104a11 +.Text_MaxFiveGifts: text_jump UnknownText_0x1c04a7 db "@" -; 104a16 -.Text_MaxOneGiftPerPerson: ; 104a16 +.Text_MaxOneGiftPerPerson: text_jump UnknownText_0x1c04c6 db "@" -; 104a1b -.Text_Sent: ; 104a1b +.Text_Sent: text_jump UnknownText_0x1c04e9 db "@" -; 104a20 -.Text_SentToHome: ; 104a20 +.Text_SentToHome: text_jump UnknownText_0x1c04fa db "@" -; 104a25 -.CheckAlreadyGotFiveGiftsToday: ; 104a25 (41:4a25) +.CheckAlreadyGotFiveGiftsToday: call GetMysteryGiftBank ld a, [sNumDailyMysteryGiftPartnerIDs] cp $5 jp CloseSRAM -.CheckAlreadyGotAGiftFromThatPerson: ; 104a30 (41:4a30) +.CheckAlreadyGotAGiftFromThatPerson: call GetMysteryGiftBank ld a, [wMysteryGiftPartnerID] ld b, a @@ -203,7 +193,7 @@ DoMysteryGift: ; 1048ba (41:48ba) .No: jp CloseSRAM -.AddMysteryGiftPartnerID: ; 104a56 (41:4a56) +.AddMysteryGiftPartnerID: call GetMysteryGiftBank ld hl, sNumDailyMysteryGiftPartnerIDs ld a, [hl] @@ -219,7 +209,7 @@ DoMysteryGift: ; 1048ba (41:48ba) ld [hl], a jp CloseSRAM -.SaveMysteryGiftTrainerName: ; 104a71 (41:4a71) +.SaveMysteryGiftTrainerName: call GetMysteryGiftBank ld a, $1 ld [sMysteryGiftTrainerHouseFlag], a @@ -235,7 +225,7 @@ DoMysteryGift: ; 1048ba (41:48ba) call CopyBytes jp CloseSRAM -Function104a95: ; 104a95 (41:4a95) +Function104a95: di farcall ClearChannels call Function104d5e @@ -305,10 +295,10 @@ Function104a95: ; 104a95 (41:4a95) ld [hMGStatusFlags], a jp Function104bd0 -Function104b04: ; 104b04 (41:4b04) +Function104b04: call Function104b40 jp nz, Function104bd0 -Function104b0a: ; 104b0a (41:4b0a) +Function104b0a: call Function104d38 jp nz, Function104bd0 call Function104b88 @@ -318,7 +308,7 @@ Function104b0a: ; 104b0a (41:4b0a) call Function105033 jp Function104bd0 -Function104b22: ; 104b22 (41:4b22) +Function104b22: call Function104b88 jp nz, Function104bd0 call Function104d43 @@ -330,13 +320,13 @@ Function104b22: ; 104b22 (41:4b22) call Function10502e jp Function104bd0 -Function104b40: ; 104b40 (41:4b40) +Function104b40: ld hl, hPrintNum1 ld b, $1 call Function104d56 ret nz -Function104b49: ; 104b49 (41:4b49) +Function104b49: call Function105033 ld a, [hMGStatusFlags] cp $6c @@ -368,7 +358,7 @@ Function104b49: ; 104b49 (41:4b49) cp $6c ret -Function104b88: ; 104b88 (41:4b88) +Function104b88: ld a, $96 ld [hPrintNum1], a ld hl, hPrintNum1 @@ -404,7 +394,7 @@ Function104b88: ; 104b88 (41:4b88) cp $6c ret -Function104bd0: ; 104bd0 (41:4bd0) +Function104bd0: nop ld a, [hMGStatusFlags] cp $10 @@ -451,7 +441,7 @@ Function104bd0: ; 104bd0 (41:4bd0) pop af ret -Function104c2d: ; 104c2d (41:4c2d) +Function104c2d: di farcall ClearChannels call Function104d5e @@ -488,7 +478,7 @@ Function104c2d: ; 104c2d (41:4c2d) call Function10502e jp Function104d1c -Function104c8a: ; 104c8a (41:4c8a) +Function104c8a: ld hl, hPrintNum1 ld b, $1 call Function104d56 @@ -524,7 +514,7 @@ Function104c8a: ; 104c8a (41:4c8a) cp $6c ret -Function104cd2: ; 104cd2 (41:4cd2) +Function104cd2: ld a, $3c ld [hPrintNum1], a ld hl, hPrintNum1 @@ -561,7 +551,7 @@ Function104cd2: ; 104cd2 (41:4cd2) cp $6c ret -Function104d1c: ; 104d1c (41:4d1c) +Function104d1c: nop ld a, [hMGStatusFlags] push af @@ -576,39 +566,39 @@ Function104d1c: ; 104d1c (41:4d1c) pop af ret -Function104d32: ; 104d32 (41:4d32) +Function104d32: ld a, $80 ld [hMGStatusFlags], a and a ret -Function104d38: ; 104d38 (41:4d38) +Function104d38: call Function104d96 call Function104e46 ld a, [hMGStatusFlags] cp $6c ret -Function104d43: ; 104d43 (41:4d43) +Function104d43: call Function104d96 call Function104dfe ld a, [hMGStatusFlags] cp $6c ret -Function104d4e: ; 104d4e (41:4d4e) +Function104d4e: call Function104e93 ld a, [hMGStatusFlags] cp $6c ret -Function104d56: ; 104d56 (41:4d56) +Function104d56: call Function104f57 ld a, [hMGStatusFlags] cp $6c ret -Function104d5e: ; 104d5e (41:4d5e) +Function104d5e: call Function104d74 ld a, $4 ld [rIE], a @@ -624,7 +614,7 @@ Function104d5e: ; 104d5e (41:4d5e) jr nz, .asm_104d6d ret -Function104d74: ; 104d74 (41:4d74) +Function104d74: xor a ld [rTAC], a ld a, $fe @@ -636,7 +626,7 @@ Function104d74: ; 104d74 (41:4d74) ld [rTAC], a ret -Function104d86: ; 104d86 (41:4d86) +Function104d86: xor a ld [rTAC], a ld [rTMA], a @@ -647,21 +637,21 @@ Function104d86: ; 104d86 (41:4d86) ld [rTAC], a ret -Function104d96: ; 104d96 (41:4d96) +Function104d96: ld a, $c0 call Function104e8c ld a, $1 ld [hPrintNum9], a ret -Function104da0: ; 104da0 (41:4da0) +Function104da0: xor a call Function104e8c ld a, $2 ld [rTAC], a ret -Function104da9: ; 104da9 (41:4da9) +Function104da9: inc d ret z xor a @@ -673,7 +663,7 @@ Function104da9: ; 104da9 (41:4da9) or a ret -Function104db7: ; 104db7 (41:4db7) +Function104db7: inc d ret z xor a @@ -685,7 +675,7 @@ Function104db7: ; 104db7 (41:4db7) or a ret -Function104dc5: ; 104dc5 (41:4dc5) +Function104dc5: ld a, $c1 ld [$ff00+c], a .wait @@ -696,7 +686,7 @@ Function104dc5: ; 104dc5 (41:4dc5) halt jr .wait -Function104dd1: ; 104dd1 (41:4dd1) +Function104dd1: ld a, $c0 ld [$ff00+c], a .wait @@ -707,7 +697,7 @@ Function104dd1: ; 104dd1 (41:4dd1) halt jr .wait -Function104ddd: ; 104ddd (41:4ddd) +Function104ddd: ld d, $0 ld e, d ld a, $1 @@ -730,7 +720,7 @@ Function104ddd: ; 104ddd (41:4ddd) and b jr nz, .loop -Function104dfe: ; 104dfe (41:4dfe) +Function104dfe: ld c, LOW(rRP) ld d, $0 ld e, d @@ -757,7 +747,7 @@ Function104dfe: ; 104dfe (41:4dfe) call Function104dd1 ret -Function104e3a: ; 104e3a (41:4e3a) +Function104e3a: ; Wait a random amount of time call Random ld e, a @@ -768,7 +758,7 @@ Function104e3a: ; 104e3a (41:4e3a) ld a, d or e jr nz, .loop -Function104e46: ; 104e46 (41:4e46) +Function104e46: ld a, $2 ld [hPrintNum9], a ld c, LOW(rRP) @@ -800,13 +790,13 @@ Function104e46: ; 104e46 (41:4e46) ld [hMGStatusFlags], a ret -Function104e8c: ; 104e8c (41:4e8c) +Function104e8c: ld [rRP], a ld a, $ff ld [hMGStatusFlags], a ret -Function104e93: ; 104e93 (41:4e93) +Function104e93: xor a ld [hPrintNum5], a ld [hPrintNum6], a @@ -843,7 +833,7 @@ Function104e93: ; 104e93 (41:4e93) pop hl ret -Function104ed6: ; 104ed6 (41:4ed6) +Function104ed6: ld c, LOW(rRP) ld d, $5 call Function104dd1 @@ -910,25 +900,25 @@ Function104ed6: ; 104ed6 (41:4ed6) call Function104dd1 ret -Function104f42: ; 104f42 (41:4f42) +Function104f42: ld a, [hMGStatusFlags] or $2 ld [hMGStatusFlags], a ret -Function104f49: ; 104f49 (41:4f49) +Function104f49: ld a, [hMGStatusFlags] or $1 ld [hMGStatusFlags], a ret -Function104f50: ; 104f50 (41:4f50) +Function104f50: ld a, [hMGStatusFlags] or $80 ld [hMGStatusFlags], a ret -Function104f57: ; 104f57 (41:4f57) +Function104f57: xor a ld [hPrintNum5], a ld [hPrintNum6], a @@ -980,7 +970,7 @@ Function104f57: ; 104f57 (41:4f57) ld [hPrintNum6], a ret -Function104faf: ; 104faf (41:4faf) +Function104faf: ld c, LOW(rRP) ld d, $0 call Function104db7 @@ -1059,15 +1049,15 @@ Function104faf: ; 104faf (41:4faf) call Function104dd1 ret -Function10502e: ; 10502e (41:502e) +Function10502e: ld b, $0 jp Function104e93 -Function105033: ; 105033 (41:5033) +Function105033: ld b, $0 jp Function104f57 -MysteryGift_ReadJoypad: ; 105038 (41:5038) +MysteryGift_ReadJoypad: ; We can only get four inputs at a time. ; We take d-pad first for no particular reason. ld a, R_DPAD @@ -1112,7 +1102,7 @@ endr ld [rJOYP], a ret -MysteryGift_CheckAndSetDecorationAlreadyReceived: ; 105069 (41:5069) +MysteryGift_CheckAndSetDecorationAlreadyReceived: call GetMysteryGiftBank ld d, $0 ld b, CHECK_FLAG @@ -1134,7 +1124,7 @@ MysteryGift_CheckAndSetDecorationAlreadyReceived: ; 105069 (41:5069) xor a ret -MysteryGift_CopyReceivedDecosToPC: ; 105091 (41:5091) +MysteryGift_CopyReceivedDecosToPC: call GetMysteryGiftBank ld c, $0 .loop @@ -1157,7 +1147,7 @@ MysteryGift_CopyReceivedDecosToPC: ; 105091 (41:5091) jr c, .loop jp CloseSRAM -UnlockMysteryGift: ; 1050b9 +UnlockMysteryGift: call GetMysteryGiftBank ld hl, sMysteryGiftUnlocked ld a, [hl] @@ -1167,9 +1157,8 @@ UnlockMysteryGift: ; 1050b9 ld [hl], a .ok jp CloseSRAM -; 1050c8 -Function1050c8: ; 1050c8 +Function1050c8: call GetMysteryGiftBank ld a, [sNumDailyMysteryGiftPartnerIDs] cp $ff @@ -1178,10 +1167,9 @@ Function1050c8: ; 1050c8 ld [sNumDailyMysteryGiftPartnerIDs], a .okay jp CloseSRAM -; 1050d9 -BackupMysteryGift: ; 1050d9 +BackupMysteryGift: call GetMysteryGiftBank ld hl, sMysteryGiftItem ld de, sBackupMysteryGiftItem @@ -1191,10 +1179,9 @@ BackupMysteryGift: ; 1050d9 ld a, [hl] ld [de], a jp CloseSRAM -; 1050ea -RestoreMysteryGift: ; 1050ea (41:50ea) +RestoreMysteryGift: call GetMysteryGiftBank ld hl, sBackupMysteryGiftItem ld de, sMysteryGiftItem @@ -1205,7 +1192,7 @@ RestoreMysteryGift: ; 1050ea (41:50ea) ld [de], a jp CloseSRAM -MysteryGift_ClearTrainerData: ; 1050fb (41:50fb) +MysteryGift_ClearTrainerData: ld hl, wMysteryGiftTrainerData xor a ld b, wMysteryGiftTrainerDataEnd - wMysteryGiftTrainerData @@ -1216,13 +1203,12 @@ MysteryGift_ClearTrainerData: ; 1050fb (41:50fb) ret -GetMysteryGiftBank: ; 105106 +GetMysteryGiftBank: ld a, BANK(sBackupMysteryGiftItem) jp GetSRAMBank -; 10510b -StagePartyDataForMysteryGift: ; 10510b (41:510b) +StagePartyDataForMysteryGift: ; You will be sending this data to your mystery gift partner. ; Structure is the same as a trainer with species and moves ; defined. @@ -1273,7 +1259,7 @@ StagePartyDataForMysteryGift: ; 10510b (41:510b) ld [wca00], a jp CloseSRAM -InitMysteryGiftLayout: ; 105153 (41:5153) +InitMysteryGiftLayout: call ClearBGPalettes call DisableLCD ld hl, MysteryGiftGFX @@ -1364,37 +1350,36 @@ InitMysteryGiftLayout: ; 105153 (41:5153) call SetPalettes ret -.Load5GFX: ; 10522e (41:522e) +.Load5GFX: ld b, 5 jr .gfx_loop -; 105232 (41:5232) .Unreferenced_Load6GFX: ld b, 6 jr .gfx_loop -.Load16GFX: ; 105236 (41:5236) +.Load16GFX: ld b, 16 -.gfx_loop ; 105238 (41:5238) +.gfx_loop ld [hli], a inc a dec b jr nz, .gfx_loop ret -.Load9Column: ; 10523e (41:523e) +.Load9Column: ld b, 9 jr .col_loop -.Load11Column: ; 105242 (41:5242) +.Load11Column: ld b, 11 jr .col_loop -.Load14Column: ; 105246 (41:5246) +.Load14Column: ld b, 14 -.col_loop ; 105248 (41:5248) +.col_loop ld [hl], a ld de, SCREEN_WIDTH add hl, de @@ -1402,7 +1387,7 @@ InitMysteryGiftLayout: ; 105153 (41:5153) jr nz, .col_loop ret -.Load16Row: ; 105251 (41:5251) +.Load16Row: ld b, 16 .row_loop ld [hli], a @@ -1410,11 +1395,11 @@ InitMysteryGiftLayout: ; 105153 (41:5153) jr nz, .row_loop ret -MysteryGiftGFX: ; 105258 +MysteryGiftGFX: INCBIN "gfx/mystery_gift/mystery_gift.2bpp" .End -Function105688: ; 105688 (41:5688) +Function105688: call ClearTileMap call ClearSprites call WaitBGMap @@ -1455,7 +1440,7 @@ Function105688: ; 105688 (41:5688) ld hl, Text_ListedCardAsNumber jr PrintTextAndExit_JP -Function1056eb: ; 1056eb (41:56eb) +Function1056eb: ld c, 16 .loop ld hl, wVirtualOAMSprite00YCoord @@ -1484,55 +1469,52 @@ endr pop bc jr .loop -Function105712: ; 105712 (41:5712) +Function105712: call Function105777 ld hl, Text_MGLinkCanceled jr PrintTextAndExit_JP -Function10571a: ; 10571a (41:571a) +Function10571a: call Function105777 ld hl, Text_MGCommError call PrintText jp Function105688 -PrintTextAndExit_JP: ; 105726 (41:5726) +PrintTextAndExit_JP: call PrintText ld a, LCDC_DEFAULT ld [rLCDC], a ret -; 10572e (41:572e) -String_PressAToLink_BToCancel_JP: ; 10572e +String_PressAToLink_BToCancel_JP: db "エーボタン<WO>おすと" next "つうしん<PKMN>おこなわれるよ!" next "ビーボタン<WO>おすと" next "つうしん<WO>ちゅうし します" db "@" -; 10575e -Text_ReceivedCard: ; 10575e +Text_ReceivedCard: text_jump UnknownText_0x1c051a db "@" -Text_ListedCardAsNumber: ; 105763 +Text_ListedCardAsNumber: text_jump UnknownText_0x1c0531 db "@" -Text_CardNotRegistered: ; 105768 +Text_CardNotRegistered: text_jump UnknownText_0x1c0555 db "@" -Text_MGLinkCanceled: ; 10576d +Text_MGLinkCanceled: text_jump UnknownText_0x1c0573 db "@" -Text_MGCommError: ; 105772 +Text_MGCommError: text_jump UnknownText_0x1c0591 db "@" -; 105777 -Function105777: ; 105777 (41:5777) +Function105777: call ClearSprites call ClearTileMap call EnableLCD @@ -1542,7 +1524,7 @@ Function105777: ; 105777 (41:5777) call SetPalettes ret -Function10578c: ; 10578c (41:578c) +Function10578c: ld de, wLinkData ld a, BANK(sPlayerData) call GetSRAMBank @@ -1572,7 +1554,7 @@ Function10578c: ; 10578c (41:578c) call CloseSRAM ret -Function1057d7: ; 1057d7 (41:57d7) +Function1057d7: call ClearBGPalettes call DisableLCD ld hl, MysteryGiftJP_GFX @@ -1666,36 +1648,36 @@ Function1057d7: ; 1057d7 (41:57d7) farcall GetMysteryGift_MobileAdapterLayout jp SetPalettes -.Load6Row: ; 1058c6 (41:58c6) +.Load6Row: ld b, 6 jr .row_loop -.Load11Row: ; 1058ca (41:58ca) +.Load11Row: ld b, 11 jr .row_loop -.Load12Row: ; 1058ce (41:58ce) +.Load12Row: ld b, 12 -.row_loop ; 1058d0 (41:58d0) +.row_loop ld [hli], a inc a dec b jr nz, .row_loop ret -.Load9Column: ; 1058d6 (41:58d6) +.Load9Column: ld b, 9 jr .column_loop -.Load11Column: ; 1058da (41:58da) +.Load11Column: ld b, 11 jr .column_loop -.Load14Column: ; 1058de (41:58de) +.Load14Column: ld b, 14 -.column_loop ; 1058e0 (41:58e0) +.column_loop ld [hl], a ld de, SCREEN_WIDTH add hl, de @@ -1703,16 +1685,15 @@ Function1057d7: ; 1057d7 (41:57d7) jr nz, .column_loop ret -.Load16Row: ; 1058e9 (41:58e9) +.Load16Row: ld b, 16 .row_loop_no_inc ld [hli], a dec b jr nz, .row_loop_no_inc ret -; 1058f0 (41:58f0) -.OAM_data: ; 1058f0 +.OAM_data: dsprite 2, 1, 6, 4, $00, 0 dsprite 2, 1, 7, 4, $01, 0 dsprite 2, 1, 8, 4, $02, 0 @@ -1731,5 +1712,5 @@ Function1057d7: ; 1057d7 (41:57d7) dsprite 1, 1, 14, 4, $07, 0 ; japanese mystery gift gfx -MysteryGiftJP_GFX: ; 105930 +MysteryGiftJP_GFX: INCBIN "gfx/mystery_gift/mystery_gift_jp.2bpp" diff --git a/engine/link/mystery_gift_2.asm b/engine/link/mystery_gift_2.asm index e0e2e88fd..a2ce60678 100644 --- a/engine/link/mystery_gift_2.asm +++ b/engine/link/mystery_gift_2.asm @@ -1,4 +1,4 @@ -PrepMysteryGiftDataToSend: ; 2c642 (b:4642) +PrepMysteryGiftDataToSend: ld de, wMysteryGiftStaging ld a, $1 ld [de], a @@ -56,7 +56,7 @@ PrepMysteryGiftDataToSend: ; 2c642 (b:4642) ld bc, wMysteryGiftPlayerDataEnd - wMysteryGiftPlayerData jp CopyBytes -.RandomSample: ; 2c6ac (b:46ac) +.RandomSample: push de call Random cp 10 percent @@ -121,7 +121,7 @@ PrepMysteryGiftDataToSend: ; 2c642 (b:4642) pop de ret -MysteryGiftGetItemHeldEffect: ; 2c708 (b:4708) +MysteryGiftGetItemHeldEffect: ld a, c cp MysteryGiftItems.End - MysteryGiftItems jr nc, MysteryGiftFallbackItem @@ -131,7 +131,7 @@ MysteryGiftGetItemHeldEffect: ; 2c708 (b:4708) ld c, [hl] ret -MysteryGiftGetDecoration: ; 2c715 (b:4715) +MysteryGiftGetDecoration: ld a, c cp MysteryGiftDecos.End - MysteryGiftDecos jr nc, MysteryGiftFallbackItem @@ -141,10 +141,9 @@ MysteryGiftGetDecoration: ; 2c715 (b:4715) ld c, [hl] ret -MysteryGiftFallbackItem: ; 2c722 (b:4722) +MysteryGiftFallbackItem: ld c, DECO_POLKADOT_BED ; GREAT_BALL ret -; 2c725 (b:4725) INCLUDE "data/items/mystery_gift_items.asm" diff --git a/engine/link/place_waiting_text.asm b/engine/link/place_waiting_text.asm index 9b2260722..147683042 100644 --- a/engine/link/place_waiting_text.asm +++ b/engine/link/place_waiting_text.asm @@ -1,4 +1,4 @@ -PlaceWaitingText:: ; 4000 +PlaceWaitingText:: hlcoord 3, 10 ld b, 1 ld c, 11 @@ -20,5 +20,5 @@ PlaceWaitingText:: ; 4000 ld c, 50 jp DelayFrames -.Waiting: ; 4025 +.Waiting: db "Waiting...!@" diff --git a/engine/link/time_capsule.asm b/engine/link/time_capsule.asm index f90b7e249..195062c1e 100644 --- a/engine/link/time_capsule.asm +++ b/engine/link/time_capsule.asm @@ -1,6 +1,6 @@ ; These functions seem to be related to backwards compatibility -ValidateOTTrademon: ; fb57e +ValidateOTTrademon: ld a, [wd003] ld hl, wOTPartyMon1Species call GetPartyLocation @@ -63,9 +63,8 @@ ValidateOTTrademon: ; fb57e .abnormal scf ret -; fb5dd -Functionfb5dd: ; fb5dd +Functionfb5dd: ld a, [wd002] ld d, a ld a, [wPartyCount] @@ -100,9 +99,8 @@ Functionfb5dd: ; fb5dd .done and a ret -; fb60d -PlaceTradePartnerNamesAndParty: ; fb60d +PlaceTradePartnerNamesAndParty: hlcoord 4, 0 ld de, wPlayerName call PlaceString @@ -118,7 +116,7 @@ PlaceTradePartnerNamesAndParty: ; fb60d call .PlaceSpeciesNames hlcoord 7, 9 ld de, wOTPartySpecies -.PlaceSpeciesNames: ; fb634 +.PlaceSpeciesNames: ld c, $0 .loop ld a, [de] @@ -142,6 +140,5 @@ PlaceTradePartnerNamesAndParty: ; fb60d pop bc inc c jr .loop -; fb656 INCLUDE "data/pokemon/gen1_base_special.asm" diff --git a/engine/link/time_capsule_2.asm b/engine/link/time_capsule_2.asm index a56e51785..4300105c6 100644 --- a/engine/link/time_capsule_2.asm +++ b/engine/link/time_capsule_2.asm @@ -1,4 +1,4 @@ -ConvertMon_2to1: ; fb8f1 +ConvertMon_2to1: ; Takes the Gen-2 Pokemon number stored in wd265, finds it in the Pokered_MonIndices table, and returns its index in wd265. push bc push hl @@ -16,9 +16,8 @@ ConvertMon_2to1: ; fb8f1 pop hl pop bc ret -; fb908 -ConvertMon_1to2: ; fb908 +ConvertMon_1to2: ; Takes the Gen-1 Pokemon number stored in wd265 and returns the corresponding value from Pokered_MonIndices in wd265. push bc push hl @@ -33,7 +32,6 @@ ConvertMon_1to2: ; fb908 pop hl pop bc ret -; fb91c INCLUDE "data/pokemon/gen1_order.asm" diff --git a/engine/math/get_square_root.asm b/engine/math/get_square_root.asm index 412fd04ff..6791fd7b8 100644 --- a/engine/math/get_square_root.asm +++ b/engine/math/get_square_root.asm @@ -1,6 +1,6 @@ NUM_SQUARE_ROOTS EQU 255 -GetSquareRoot: ; 13b87 +GetSquareRoot: ; Return the square root of de in b. ; Rather than calculating the result, we take the index of the @@ -24,7 +24,7 @@ GetSquareRoot: ; 13b87 jr c, .loop ret -.Squares: ; 13b98 +.Squares: x = 1 rept NUM_SQUARE_ROOTS dw x * x diff --git a/engine/math/math.asm b/engine/math/math.asm index 0cd6b0b47..4240ef6cd 100644 --- a/engine/math/math.asm +++ b/engine/math/math.asm @@ -1,4 +1,4 @@ -_Multiply:: ; 66de +_Multiply:: ; hMultiplier is one byte. ld a, 8 @@ -82,10 +82,9 @@ _Multiply:: ; 66de ld [hProduct + 0], a ret -; 673e -_Divide:: ; 673e +_Divide:: xor a ld [hMathBuffer + 0], a ld [hMathBuffer + 1], a @@ -193,4 +192,3 @@ _Divide:: ; 673e ld [hDividend + 0], a ret -; 67c1 diff --git a/engine/math/print_num.asm b/engine/math/print_num.asm index fec798d5c..c8899be6c 100644 --- a/engine/math/print_num.asm +++ b/engine/math/print_num.asm @@ -1,4 +1,4 @@ -_PrintNum:: ; c4c7 +_PrintNum:: ; Print c digits of the b-byte value from de to hl. ; Allows 2 to 7 digits. For 1-digit numbers, add ; the value to char "0" instead of calling PrintNum. @@ -178,7 +178,7 @@ _PrintNum:: ; c4c7 pop bc ret -.PrintYen: ; c5ba +.PrintYen: push af ld a, [hPrintNum1] and a @@ -193,7 +193,7 @@ _PrintNum:: ; c4c7 pop af ret -.PrintDigit: ; c5cb (3:45cb) +.PrintDigit: dec e jr nz, .ok ld a, "0" @@ -278,14 +278,14 @@ _PrintNum:: ; c4c7 ld [hl], "<DOT>" ret -.PrintLeadingZero: ; c644 +.PrintLeadingZero: ; prints a leading zero unless they are turned off in the flags bit 7, d ; print leading zeroes? ret z ld [hl], "0" ret -.AdvancePointer: ; c64a +.AdvancePointer: ; increments the pointer unless leading zeroes are not being printed, ; the number is left-aligned, and no nonzero digits have been printed yet bit 7, d ; print leading zeroes? diff --git a/engine/math/sine.asm b/engine/math/sine.asm index 23e86c015..c7422aaf8 100644 --- a/engine/math/sine.asm +++ b/engine/math/sine.asm @@ -1,4 +1,4 @@ -_Sine:: ; 84d9 +_Sine:: ; a = d * sin(e * pi/32) ld a, e calc_sine_wave diff --git a/engine/menus/debug.asm b/engine/menus/debug.asm index d148af542..d10d8b7b1 100644 --- a/engine/menus/debug.asm +++ b/engine/menus/debug.asm @@ -22,7 +22,7 @@ const DEBUGTEST_E ; $7e const DEBUGTEST_F ; $7f -ColorTest: ; 818ac +ColorTest: ; A debug menu to test monster and trainer palettes at runtime. ld a, [hCGB] @@ -62,15 +62,14 @@ ColorTest: ; 818ac pop af ld [hInMenu], a ret -; 818f4 -Function818f4: ; 818f4 +Function818f4: ld a, [wd002] and a jr nz, Function81911 ld hl, PokemonPalettes -Function818fd: ; 818fd +Function818fd: ld de, wOverworldMapBlocks ld c, NUM_POKEMON + 1 .asm_81902 @@ -85,7 +84,7 @@ Function818fd: ; 818fd jr nz, .asm_81902 ret -Function81911: ; 81911 +Function81911: ld hl, TrainerPalettes ld de, wOverworldMapBlocks ld c, NUM_TRAINER_CLASSES @@ -100,9 +99,8 @@ Function81911: ; 81911 dec c jr nz, .asm_81919 ret -; 81928 -Function81928: ; 81928 +Function81928: ld a, BANK(PokemonPalettes) ; BANK(TrainerPalettes) call GetFarByte ld [de], a @@ -123,9 +121,8 @@ Function81928: ; 81928 ld [de], a inc de ret -; 81948 -Function81948: ; 81948 +Function81948: ld a, $1 ld [rVBK], a ld hl, vTiles0 @@ -148,9 +145,8 @@ Function81948: ; 81948 call ByteFill call ClearSprites ret -; 8197c -Function8197c: ; 8197c +Function8197c: ld hl, DebugColorTestGFX + 1 tiles ld de, vTiles2 tile DEBUGTEST_UP_ARROW ld bc, 22 tiles @@ -171,9 +167,8 @@ Function8197c: ; 8197c or b jr nz, .asm_8199d ret -; 819a7 -Function819a7: ; 819a7 +Function819a7: ld a, [hCGB] and a ret z @@ -214,16 +209,14 @@ Function819a7: ; 819a7 pop af ld [rSVBK], a ret -; 819f4 -Palette_DebugBG: ; 819f4 +Palette_DebugBG: INCLUDE "gfx/debug/bg.pal" -Palette_DebugOB: ; 81a34 +Palette_DebugOB: INCLUDE "gfx/debug/ob.pal" -; 81a74 -Function81a74: ; 81a74 +Function81a74: call JoyTextDelay ld a, [wJumptableIndex] cp $4 @@ -273,9 +266,8 @@ Function81a74: ; 81a74 ld a, $0 ld [wJumptableIndex], a ret -; 81ac3 -Function81ac3: ; 81ac3 +Function81ac3: ; Looping back around the pic set. ld a, [wd002] and a @@ -286,18 +278,16 @@ Function81ac3: ; 81ac3 .asm_81acc ld a, NUM_TRAINER_CLASSES - 1 ; MYSTICALMAN ret -; 81acf -Jumptable_81acf: ; 81acf +Jumptable_81acf: dw Function81adb dw Function81c18 dw Function81c33 dw Function81cc2 dw Function81d8e dw Function81daf -; 81adb -Function81adb: ; 81adb +Function81adb: xor a ld [hBGMapMode], a hlcoord 0, 0 @@ -382,14 +372,12 @@ Function81adb: ; 81adb ld a, $1 ld [wJumptableIndex], a ret -; 81baf String_81baf: db "レア", DEBUGTEST_BLACK, DEBUGTEST_BLACK, "@" ; rare (shiny) String_81bb4: db "ノーマル@" ; normal String_81bb9: db DEBUGTEST_A, "きりかえ▶@" ; (A) switches -; 81bc0 -Function81bc0: ; 81bc0 +Function81bc0: decoord 0, 11, wAttrMap hlcoord 2, 11 ld a, $1 @@ -402,7 +390,7 @@ Function81bc0: ; 81bc0 hlcoord 2, 15 ld a, $3 -Function81bde: ; 81bde +Function81bde: push af ld a, DEBUGTEST_UP_ARROW ld [hli], a @@ -415,9 +403,8 @@ Function81bde: ; 81bde ld bc, $28 call ByteFill ret -; 81bf4 -Function81bf4: ; 81bf4 +Function81bf4: ld a, [wcf66] inc a ld l, a @@ -435,9 +422,8 @@ Function81bf4: ; 81bf4 ld de, wc608 call Function81ea5 ret -; 81c18 -Function81c18: ; 81c18 +Function81c18: ld a, [hCGB] and a jr z, .asm_81c2a @@ -452,9 +438,8 @@ Function81c18: ; 81c18 ld a, $2 ld [wJumptableIndex], a ret -; 81c33 -Function81c33: ; 81c33 +Function81c33: ld a, [hCGB] and a jr z, .asm_81c69 @@ -511,9 +496,8 @@ Function81c33: ; 81c33 ld a, $3 ld [wJumptableIndex], a ret -; 81ca7 -Function81ca7: ; 81ca7 +Function81ca7: inc hl inc hl inc hl @@ -528,14 +512,13 @@ Function81ca7: ; 81ca7 ld a, [de] swap a -Function81cbc: ; 81cbc +Function81cbc: and $f add DEBUGTEST_0 ld [hld], a ret -; 81cc2 -Function81cc2: ; 81cc2 +Function81cc2: ld a, [hJoyLast] and B_BUTTON jr nz, .asm_81cdf @@ -574,16 +557,14 @@ Function81cc2: ; 81cc2 ld a, $0 ld [wJumptableIndex], a ret -; 81d02 -Jumptable_81d02: ; 81d02 +Jumptable_81d02: dw Function81d0a dw Function81d34 dw Function81d46 dw Function81d58 -; 81d0a -Function81d0a: ; 81d0a +Function81d0a: ld hl, hJoyLast ld a, [hl] and D_DOWN @@ -610,7 +591,7 @@ Function81d0a: ; 81d0a call Function81ea5 ret -Function81d34: ; 81d34 +Function81d34: ld hl, hJoyLast ld a, [hl] and D_DOWN @@ -621,7 +602,7 @@ Function81d34: ; 81d34 ld hl, wc608 + 10 jr Function81d63 -Function81d46: ; 81d46 +Function81d46: ld hl, hJoyLast ld a, [hl] and D_DOWN @@ -632,14 +613,14 @@ Function81d46: ; 81d46 ld hl, wc608 + 11 jr Function81d63 -Function81d58: ; 81d58 +Function81d58: ld hl, hJoyLast ld a, [hl] and D_UP jr nz, Function81d84 ld hl, wc608 + 12 -Function81d63: ; 81d63 +Function81d63: ld a, [hJoyLast] and D_RIGHT jr nz, Function81d70 @@ -648,37 +629,36 @@ Function81d63: ; 81d63 jr nz, Function81d77 ret -Function81d70: ; 81d70 +Function81d70: ld a, [hl] cp $1f ret nc inc [hl] jr Function81d7b -Function81d77: ; 81d77 +Function81d77: ld a, [hl] and a ret z dec [hl] -Function81d7b: ; 81d7b +Function81d7b: call Function81e67 ld a, $2 ld [wJumptableIndex], a ret -Function81d84: ; 81d84 +Function81d84: ld hl, wcf64 dec [hl] ret -Function81d89: ; 81d89 +Function81d89: ld hl, wcf64 inc [hl] ret -; 81d8e -Function81d8e: ; 81d8e +Function81d8e: hlcoord 0, 10 ld bc, $a0 ld a, DEBUGTEST_BLACK @@ -692,9 +672,8 @@ Function81d8e: ; 81d8e ld a, $5 ld [wJumptableIndex], a ret -; 81daf -Function81daf: ; 81daf +Function81daf: ld hl, hJoyPressed ld a, [hl] and B_BUTTON @@ -706,15 +685,13 @@ Function81daf: ; 81daf ld a, $0 ld [wJumptableIndex], a ret -; 81dc1 -Function81dc1: ; 81dc1 +Function81dc1: ld hl, wJumptableIndex set 7, [hl] ret -; 81dc7 -Function81dc7: ; 81dc7 +Function81dc7: ld hl, hJoyLast ld a, [hl] and D_UP @@ -749,9 +726,8 @@ Function81dc7: ; 81dc7 ld [wd004], a call Function81df4 ret -; 81df4 -Function81df4: ; 81df4 +Function81df4: hlcoord 10, 11 call Function81e5e hlcoord 10, 12 @@ -783,13 +759,11 @@ Function81df4: ; 81df4 hlcoord 10, 14 call PlaceString ret -; 81e46 String_81e46: db "おぼえられる@" ; can be taught String_81e4d: db "おぼえられない@" ; cannot be taught -; 81e55 -Function81e55: ; 81e55 +Function81e55: cp $32 jr c, .asm_81e5b inc a @@ -798,16 +772,14 @@ Function81e55: ; 81e55 .asm_81e5b add $bf ret -; 81e5e -Function81e5e: ; 81e5e +Function81e5e: ld bc, 10 ld a, DEBUGTEST_BLACK call ByteFill ret -; 81e67 -Function81e67: ; 81e67 +Function81e67: ld a, [wc608 + 10] and $1f ld e, a @@ -843,9 +815,8 @@ Function81e67: ; 81e67 ld a, d ld [wc608 + 1], a ret -; 81ea5 -Function81ea5: ; 81ea5 +Function81ea5: ld a, [de] and $1f ld [wc608 + 10], a @@ -867,9 +838,8 @@ Function81ea5: ; 81ea5 srl a ld [wc608 + 12], a ret -; 81eca -Function81eca: ; 81eca +Function81eca: ld a, [wcf66] inc a ld l, a @@ -884,9 +854,8 @@ Function81eca: ; 81eca ld bc, 4 call CopyBytes ret -; 81ee3 -Function81ee3: ; 81ee3 +Function81ee3: .asm_81ee3 ld a, LOW(PALRGB_WHITE) ld [hli], a @@ -910,9 +879,8 @@ Function81ee3: ; 81ee3 dec c jr nz, .asm_81ee3 ret -; 81efc -Bank20_FillBoxWithByte: ; 81efc +Bank20_FillBoxWithByte: ; For some reason, we have another copy of FillBoxWithByte here .row push bc @@ -928,9 +896,8 @@ Bank20_FillBoxWithByte: ; 81efc dec b jr nz, .row ret -; 81f0c -Function81f0c: ; 81f0c +Function81f0c: ld a, [wcfbe] push af set 7, a @@ -939,9 +906,8 @@ Function81f0c: ; 81f0c pop af ld [wcfbe], a ret -; 81f1d -Function81f1d: ; 81f1d +Function81f1d: ld a, [hl] and $7 ret z @@ -989,9 +955,8 @@ Function81f1d: ; 81f1d dec b jr nz, .asm_81f22 ret -; 81f5e -Function81f5e: ; 81f5e +Function81f5e: ld a, DEBUGTEST_BLACK hlcoord 10, 0 ld [hl], a @@ -1059,14 +1024,12 @@ Function81f5e: ; 81f5e .asm_81fc9 call ClearSprites ret -; 81fcd -String_81fcd: ; 81fcd +String_81fcd: db "おわりますか?" ; Are you finished? next "はい<DOT><DOT><DOT>", DEBUGTEST_A ; YES...(A) next "いいえ<DOT><DOT>", DEBUGTEST_B ; NO..(B) db "@" -; 81fe3 DebugColorTestGFX: INCBIN "gfx/debug/color_test.2bpp" @@ -1122,17 +1085,16 @@ TilesetColorTest: ld a, $40 ld [hWY], a ret -; 821d2 -Function821d2: ; 821d2 +Function821d2: hlcoord 0, 0 call Function821de -Function821d8: ; 821d8 +Function821d8: ld a, [wcf64] hlcoord 0, 0, wAttrMap -Function821de: ; 821de +Function821de: add hl, de rept 4 ld [hli], a @@ -1148,25 +1110,23 @@ rept 4 ld [hli], a endr ret -; 821f4 -Function821f4: ; 821f4 +Function821f4: hlcoord 2, 4 call Function82203 hlcoord 2, 6 call Function82203 hlcoord 2, 8 -Function82203: ; 82203 +Function82203: ld a, DEBUGTEST_UP_ARROW ld [hli], a ld bc, $10 - 1 ld a, DEBUGTEST_TICKS call ByteFill ret -; 8220f -Function8220f: ; 8220f +Function8220f: ld a, [rSVBK] push af ld a, BANK(wBGPals1) @@ -1187,10 +1147,9 @@ Function8220f: ; 8220f pop af ld [rSVBK], a ret -; 82236 -Function82236: ; 82236 +Function82236: ld hl, hJoyLast ld a, [hl] and SELECT @@ -1247,9 +1206,8 @@ Function82236: ; 82236 xor $d0 ld [hWY], a ret -; 822a3 -Function822a3: ; 822a3 +Function822a3: ld a, [rSVBK] push af ld a, BANK(wBGPals2) @@ -1281,9 +1239,8 @@ Function822a3: ; 822a3 ld [hCGBPalUpdate], a call DelayFrame ret -; 822f0 -Function822f0: ; 822f0 +Function822f0: ld a, [wcf65] and 3 ld e, a @@ -1295,16 +1252,14 @@ Function822f0: ; 822f0 ld h, [hl] ld l, a jp hl -; 82301 -.dw ; 82301 +.dw dw Function82309 dw Function82339 dw Function8234b dw Function8235d -; 82309 -Function82309: ; 82309 +Function82309: ld hl, hJoyLast ld a, [hl] and D_DOWN @@ -1339,7 +1294,7 @@ Function82309: ; 82309 call Function81ea5 ret -Function82339: ; 82338 +Function82339: ld hl, hJoyLast ld a, [hl] and D_DOWN @@ -1350,7 +1305,7 @@ Function82339: ; 82338 ld hl, wc608 + 10 jr Function82368 -Function8234b: ; 8234b +Function8234b: ld hl, hJoyLast ld a, [hl] and D_DOWN @@ -1361,14 +1316,14 @@ Function8234b: ; 8234b ld hl, wc608 + 11 jr Function82368 -Function8235d: ; 8235d +Function8235d: ld hl, hJoyLast ld a, [hl] and D_UP jr nz, Function82387 ld hl, wc608 + 12 -Function82368: ; 82368 +Function82368: ld a, [hJoyLast] and D_RIGHT jr nz, .asm_82375 @@ -1395,18 +1350,17 @@ Function82368: ; 82368 call Function822a3 ret -Function82387: ; 82387 +Function82387: ld hl, wcf65 dec [hl] ret -Function8238c: ; 8238c +Function8238c: ld hl, wcf65 inc [hl] ret -; 82391 -Function82391: ; 82391 +Function82391: ld a, [wc608 + 10] and $1f ld e, a @@ -1437,11 +1391,9 @@ Function82391: ; 82391 ld [hli], a ld [hl], d ret -; 823c6 -Function823c6: ; 823c6 +Function823c6: ret -Function823c7: ; 823c7 +Function823c7: ret -; 823c8 diff --git a/engine/menus/delete_save.asm b/engine/menus/delete_save.asm index a86faf06a..ecfb9761d 100644 --- a/engine/menus/delete_save.asm +++ b/engine/menus/delete_save.asm @@ -1,4 +1,4 @@ -_DeleteSaveData: ; 4d54c +_DeleteSaveData: farcall BlankScreen ld b, SCGB_DIPLOMA call GetSGBLayout diff --git a/engine/menus/empty_sram.asm b/engine/menus/empty_sram.asm index 8b060f3ef..45a4a8884 100644 --- a/engine/menus/empty_sram.asm +++ b/engine/menus/empty_sram.asm @@ -1,4 +1,4 @@ -EmptyAllSRAMBanks: ; 4cf1f +EmptyAllSRAMBanks: ld a, 0 call .EmptyBank ld a, 1 @@ -9,7 +9,7 @@ EmptyAllSRAMBanks: ; 4cf1f call .EmptyBank ret -.EmptyBank: ; 4cf34 +.EmptyBank: call GetSRAMBank ld hl, SRAM_Begin ld bc, SRAM_End - SRAM_Begin diff --git a/engine/menus/init_gender.asm b/engine/menus/init_gender.asm index 8fd95bc85..cf942cf38 100644 --- a/engine/menus/init_gender.asm +++ b/engine/menus/init_gender.asm @@ -1,4 +1,4 @@ -InitCrystalData: ; 48000 +InitCrystalData: ld a, $1 ld [wd474], a xor a @@ -18,11 +18,10 @@ InitCrystalData: ; 48000 res 1, a ld [wd479], a ret -; 4802f INCLUDE "mobile/mobile_12.asm" -InitGender: ; 48dcb (12:4dcb) +InitGender: call InitGenderScreen call LoadGenderScreenPal call LoadGenderScreenLightBlueTile @@ -41,7 +40,6 @@ InitGender: ; 48dcb (12:4dcb) ld c, 10 call DelayFrames ret -; 48dfc (12:4dfc) .MenuHeader: ; 0x48dfc db MENU_BACKUP_TILES ; flags @@ -63,7 +61,7 @@ TextJump_AreYouABoyOrAreYouAGirl: ; 0x48e0f db "@" ; 0x48e14 -InitGenderScreen: ; 48e14 (12:4e14) +InitGenderScreen: ld a, $10 ld [wMusicFade], a ld a, MUSIC_NONE @@ -85,7 +83,7 @@ InitGenderScreen: ; 48e14 (12:4e14) call ByteFill ret -LoadGenderScreenPal: ; 48e47 (12:4e47) +LoadGenderScreenPal: ld hl, .Palette ld de, wBGPals1 ld bc, 1 palettes @@ -93,19 +91,16 @@ LoadGenderScreenPal: ; 48e47 (12:4e47) call FarCopyWRAM farcall ApplyPals ret -; 48e5c (12:4e5c) -.Palette: ; 48e5c +.Palette: INCLUDE "gfx/new_game/gender_screen.pal" -; 48e64 -LoadGenderScreenLightBlueTile: ; 48e64 (12:4e64) +LoadGenderScreenLightBlueTile: ld de, .LightBlueTile ld hl, vTiles2 tile $00 lb bc, BANK(.LightBlueTile), 1 call Get2bpp ret -; 48e71 (12:4e71) -.LightBlueTile: ; 48e71 +.LightBlueTile: INCBIN "gfx/new_game/gender_screen.2bpp" diff --git a/engine/menus/intro_menu.asm b/engine/menus/intro_menu.asm index af6e0c09e..87334b25e 100644 --- a/engine/menus/intro_menu.asm +++ b/engine/menus/intro_menu.asm @@ -1,4 +1,4 @@ -_MainMenu: ; 5ae8 +_MainMenu: ld de, MUSIC_NONE call PlayMusic call DelayFrame @@ -8,13 +8,11 @@ _MainMenu: ; 5ae8 call PlayMusic farcall MainMenu jp StartTitleScreen -; 5b04 ; unused ret -; 5b05 -PrintDayOfWeek: ; 5b05 +PrintDayOfWeek: push de ld hl, .Days ld a, b @@ -28,9 +26,8 @@ PrintDayOfWeek: ; 5b05 ld de, .Day call PlaceString ret -; 5b1c -.Days: ; 5b1c +.Days: db "SUN@" db "MON@" db "TUES@" @@ -38,13 +35,11 @@ PrintDayOfWeek: ; 5b05 db "THURS@" db "FRI@" db "SATUR@" -; 5b40 -.Day: ; 5b40 +.Day: db "DAY@" -; 5b44 -NewGame_ClearTileMapEtc: ; 5b44 +NewGame_ClearTileMapEtc: xor a ld [hMapAnims], a call ClearTileMap @@ -52,21 +47,18 @@ NewGame_ClearTileMapEtc: ; 5b44 call LoadStandardFont call ClearWindowData ret -; 5b54 -MysteryGift: ; 5b54 +MysteryGift: call UpdateTime farcall DoMysteryGiftIfDayHasPassed farcall DoMysteryGift ret -; 5b64 -OptionsMenu: ; 5b64 +OptionsMenu: farcall _OptionsMenu ret -; 5b6b -NewGame: ; 5b6b +NewGame: xor a ld [wMonStatusFlags], a call ResetWRAM @@ -83,9 +75,8 @@ NewGame: ; 5b6b ld a, MAPSETUP_WARP ld [hMapEntryMethod], a jp FinishContinueFunction -; 5b8f -AreYouABoyOrAreYouAGirl: ; 5b8f +AreYouABoyOrAreYouAGirl: farcall Mobile_AlwaysReturnNotCarry ; some mobile stuff jr c, .ok farcall InitGender @@ -95,16 +86,14 @@ AreYouABoyOrAreYouAGirl: ; 5b8f ld c, 0 farcall InitMobileProfile ; mobile ret -; 5ba7 -ResetWRAM: ; 5ba7 +ResetWRAM: xor a ld [hBGMapMode], a call _ResetWRAM ret -; 5bae -_ResetWRAM: ; 5bae +_ResetWRAM: ld hl, wVirtualOAM ld bc, wOptions - wVirtualOAM @@ -228,18 +217,16 @@ endc call ResetGameTime ret -; 5ca1 -.InitList: ; 5ca1 +.InitList: ; Loads 0 in the count and -1 in the first item or mon slot. xor a ld [hli], a dec a ld [hl], a ret -; 5ca6 -SetDefaultBoxNames: ; 5ca6 +SetDefaultBoxNames: ld hl, wBoxNames ld c, 0 .loop @@ -270,9 +257,8 @@ SetDefaultBoxNames: ; 5ca6 .Box: db "BOX@" -; 5cd3 -InitializeMagikarpHouse: ; 5cd3 +InitializeMagikarpHouse: ld hl, wBestMagikarpLengthFeet ld a, $3 ld [hli], a @@ -281,13 +267,11 @@ InitializeMagikarpHouse: ; 5cd3 ld de, .Ralph call CopyName2 ret -; 5ce3 -.Ralph: ; 5ce3 +.Ralph: db "RALPH@" -; 5ce9 -InitializeNPCNames: ; 5ce9 +InitializeNPCNames: ld hl, .Rival ld de, wRivalName call .Copy @@ -312,16 +296,14 @@ InitializeNPCNames: ; 5ce9 .Red: db "RED@" .Green: db "GREEN@" .Mom: db "MOM@" -; 5d23 -InitializeWorld: ; 5d23 +InitializeWorld: call ShrinkPlayer farcall SpawnPlayer farcall _InitializeStartDay ret -; 5d33 -LoadOrRegenerateLuckyIDNumber: ; 5d33 +LoadOrRegenerateLuckyIDNumber: ld a, BANK(sLuckyIDNumber) call GetSRAMBank ld a, [wCurDay] @@ -346,9 +328,8 @@ LoadOrRegenerateLuckyIDNumber: ; 5d33 ld [wLuckyIDNumber + 1], a ld [sLuckyIDNumber + 1], a jp CloseSRAM -; 5d65 -Continue: ; 5d65 +Continue: farcall TryLoadSaveFile jr c, .FailToLoad farcall _LoadData @@ -400,22 +381,19 @@ Continue: ; 5d65 ld [wDefaultSpawnpoint], a call PostCreditsSpawn jp FinishContinueFunction -; 5de2 -SpawnAfterRed: ; 5de2 +SpawnAfterRed: ld a, SPAWN_MT_SILVER ld [wDefaultSpawnpoint], a -; 5de7 -PostCreditsSpawn: ; 5de7 +PostCreditsSpawn: xor a ld [wSpawnAfterChampion], a ld a, MAPSETUP_WARP ld [hMapEntryMethod], a ret -; 5df0 -Continue_MobileAdapterMenu: ; 5df0 +Continue_MobileAdapterMenu: farcall Mobile_AlwaysReturnNotCarry ; mobile check ret nc @@ -444,9 +422,8 @@ Continue_MobileAdapterMenu: ; 5df0 ld c, 35 call DelayFrames ret -; 5e34 -ConfirmContinue: ; 5e34 +ConfirmContinue: .loop call DelayFrame call GetJoypad @@ -460,9 +437,8 @@ ConfirmContinue: ; 5e34 .PressA: ret -; 5e48 -Continue_CheckRTC_RestartClock: ; 5e48 +Continue_CheckRTC_RestartClock: call CheckRTCStatus and %10000000 ; Day count exceeded 16383 jr z, .pass @@ -476,9 +452,8 @@ Continue_CheckRTC_RestartClock: ; 5e48 .pass xor a ret -; 5e5d -FinishContinueFunction: ; 5e5d +FinishContinueFunction: .loop xor a ld [wDontPlayMapMusicOnReload], a @@ -497,9 +472,8 @@ FinishContinueFunction: ; 5e5d .AfterRed: call SpawnAfterRed jr .loop -; 5e85 -DisplaySaveInfoOnContinue: ; 5e85 +DisplaySaveInfoOnContinue: call CheckRTCStatus and %10000000 jr z, .clock_ok @@ -511,32 +485,28 @@ DisplaySaveInfoOnContinue: ; 5e85 lb de, 4, 8 call DisplayNormalContinueData ret -; 5e9a -DisplaySaveInfoOnSave: ; 5e9a +DisplaySaveInfoOnSave: lb de, 4, 0 jr DisplayNormalContinueData -; 5e9f -DisplayNormalContinueData: ; 5e9f +DisplayNormalContinueData: call Continue_LoadMenuHeader call Continue_DisplayBadgesDexPlayerName call Continue_PrintGameTime call LoadFontsExtra call UpdateSprites ret -; 5eaf -DisplayContinueDataWithRTCError: ; 5eaf +DisplayContinueDataWithRTCError: call Continue_LoadMenuHeader call Continue_DisplayBadgesDexPlayerName call Continue_UnknownGameTime call LoadFontsExtra call UpdateSprites ret -; 5ebf -Continue_LoadMenuHeader: ; 5ebf +Continue_LoadMenuHeader: xor a ld [hBGMapMode], a ld hl, .MenuHeader_Dex @@ -550,42 +520,37 @@ Continue_LoadMenuHeader: ; 5ebf call MenuBox call PlaceVerticalMenuItems ret -; 5ed9 -.MenuHeader_Dex: ; 5ed9 +.MenuHeader_Dex: db MENU_BACKUP_TILES ; flags menu_coords 0, 0, 15, 9 dw .MenuData_Dex db 1 ; default option -; 5ee1 -.MenuData_Dex: ; 5ee1 +.MenuData_Dex: db 0 ; flags db 4 ; items db "PLAYER@" db "BADGES@" db "#DEX@" db "TIME@" -; 5efb -.MenuHeader_NoDex: ; 5efb +.MenuHeader_NoDex: db MENU_BACKUP_TILES ; flags menu_coords 0, 0, 15, 9 dw .MenuData_NoDex db 1 ; default option -; 5f03 -.MenuData_NoDex: ; 5f03 +.MenuData_NoDex: db 0 ; flags db 4 ; items db "PLAYER <PLAYER>@" db "BADGES@" db " @" db "TIME@" -; 5f1c -Continue_DisplayBadgesDexPlayerName: ; 5f1c +Continue_DisplayBadgesDexPlayerName: call MenuBoxCoord2Tile push hl decoord 13, 4, 0 @@ -607,16 +572,14 @@ Continue_DisplayBadgesDexPlayerName: ; 5f1c .Player: db "<PLAYER>@" -; 5f40 -Continue_PrintGameTime: ; 5f40 +Continue_PrintGameTime: decoord 9, 8, 0 add hl, de call Continue_DisplayGameTime ret -; 5f48 -Continue_UnknownGameTime: ; 5f48 +Continue_UnknownGameTime: decoord 9, 8, 0 add hl, de ld de, .three_question_marks @@ -625,9 +588,8 @@ Continue_UnknownGameTime: ; 5f48 .three_question_marks db " ???@" -; 5f58 -Continue_DisplayBadgeCount: ; 5f58 +Continue_DisplayBadgeCount: push hl ld hl, wJohtoBadges ld b, 2 @@ -636,9 +598,8 @@ Continue_DisplayBadgeCount: ; 5f58 ld de, wd265 lb bc, 1, 2 jp PrintNum -; 5f6b -Continue_DisplayPokedexNumCaught: ; 5f6b +Continue_DisplayPokedexNumCaught: ld a, [wStatusFlags] bit STATUSFLAGS_POKEDEX_F, a ret z @@ -654,9 +615,8 @@ endc ld de, wd265 lb bc, 1, 3 jp PrintNum -; 5f84 -Continue_DisplayGameTime: ; 5f84 +Continue_DisplayGameTime: ld de, wGameTimeHours lb bc, 2, 3 call PrintNum @@ -665,7 +625,6 @@ Continue_DisplayGameTime: ; 5f84 ld de, wGameTimeMinutes lb bc, PRINTNUM_LEADINGZEROS | 1, 2 jp PrintNum -; 5f99 OakSpeech: ; 0x5f99 @@ -823,7 +782,6 @@ NamePlayer: ; 0x6074 db "CHRIS@@@@@@" .Kris: db "KRIS@@@@@@@" -; 60e9 Unreferenced_Function60e9: call LoadMenuHeader @@ -833,9 +791,8 @@ Unreferenced_Function60e9: call CopyNameFromMenu call CloseWindow ret -; 60fa -StorePlayerName: ; 60fa +StorePlayerName: ld a, "@" ld bc, NAME_LENGTH ld hl, wPlayerName @@ -844,9 +801,8 @@ StorePlayerName: ; 60fa ld de, wStringBuffer2 call CopyName2 ret -; 610f -ShrinkPlayer: ; 610f +ShrinkPlayer: ld a, [hROMBank] push af @@ -898,9 +854,8 @@ ShrinkPlayer: ; 610f call RotateThreePalettesRight call ClearTileMap ret -; 616a -Intro_RotatePalettesLeftFrontpic: ; 616a +Intro_RotatePalettesLeftFrontpic: ld hl, IntroFadePalettes ld b, IntroFadePalettes.End - IntroFadePalettes .loop @@ -911,7 +866,6 @@ Intro_RotatePalettesLeftFrontpic: ; 616a dec b jr nz, .loop ret -; 617c IntroFadePalettes: ; 0x617c db %01010100 @@ -921,9 +875,8 @@ IntroFadePalettes: ; 0x617c db %11110100 db %11100100 .End -; 6182 -Intro_WipeInFrontpic: ; 6182 +Intro_WipeInFrontpic: ld a, $77 ld [hWX], a call DelayFrame @@ -937,9 +890,8 @@ Intro_WipeInFrontpic: ; 6182 ret z ld [hWX], a jr .loop -; 619c -Intro_PrepTrainerPic: ; 619c +Intro_PrepTrainerPic: ld de, vTiles2 farcall GetTrainerPic xor a @@ -948,9 +900,8 @@ Intro_PrepTrainerPic: ; 619c lb bc, 7, 7 predef PlaceGraphic ret -; 61b4 -ShrinkFrame: ; 61b4 +ShrinkFrame: ld de, vTiles2 ld c, 7 * 7 predef DecompressGet2bpp @@ -960,9 +911,8 @@ ShrinkFrame: ; 61b4 lb bc, 7, 7 predef PlaceGraphic ret -; 61cd -Intro_PlacePlayerSprite: ; 61cd +Intro_PlacePlayerSprite: farcall GetPlayerIcon ld c, $c @@ -998,24 +948,22 @@ Intro_PlacePlayerSprite: ; 61cd dec c jr nz, .loop ret -; 61fe -.sprites ; 61fe +.sprites db 4 ; y pxl, x pxl, tile offset db 9 * 8 + 4, 9 * 8, 0 db 9 * 8 + 4, 10 * 8, 1 db 10 * 8 + 4, 9 * 8, 2 db 10 * 8 + 4, 10 * 8, 3 -; 620b -CrystalIntroSequence: ; 620b +CrystalIntroSequence: callfar Copyright_GFPresents jr c, StartTitleScreen farcall CrystalIntro -StartTitleScreen: ; 6219 +StartTitleScreen: ld a, [rSVBK] push af ld a, BANK(wBGPals1) @@ -1062,7 +1010,6 @@ StartTitleScreen: ; 6219 ld h, [hl] ld l, a jp hl -; 626a .dw dw _MainMenu @@ -1070,15 +1017,13 @@ StartTitleScreen: ; 6219 dw CrystalIntroSequence dw CrystalIntroSequence dw ResetClock -; 6274 -.TitleScreen: ; 6274 +.TitleScreen: farcall _TitleScreen ret -; 627b -RunTitleScreen: ; 627b +RunTitleScreen: ld a, [wJumptableIndex] bit 7, a jr nz, .done_title @@ -1091,9 +1036,8 @@ RunTitleScreen: ; 627b .done_title scf ret -; 6292 -Unreferenced_Function6292: ; 6292 +Unreferenced_Function6292: ld a, [hVBlankCounter] and $7 ret nz @@ -1103,9 +1047,8 @@ Unreferenced_Function6292: ; 6292 ld bc, 2 * SCREEN_WIDTH call ByteFill ret -; 62a3 -TitleScreenScene: ; 62a3 +TitleScreenScene: ld e, a ld d, 0 ld hl, .scenes @@ -1115,23 +1058,20 @@ TitleScreenScene: ; 62a3 ld h, [hl] ld l, a jp hl -; 62af .scenes dw TitleScreenEntrance dw TitleScreenTimer dw TitleScreenMain dw TitleScreenEnd -; 62b7 .Unreferenced_NextScene: ld hl, wJumptableIndex inc [hl] ret -; 62bc -TitleScreenEntrance: ; 62bc +TitleScreenEntrance: ; Animate the logo: ; Move each line by 4 pixels until our count hits 0. @@ -1178,10 +1118,9 @@ TitleScreenEntrance: ; 62bc ld a, $88 ld [hWY], a ret -; 62f6 -TitleScreenTimer: ; 62f6 +TitleScreenTimer: ; Next scene ld hl, wJumptableIndex @@ -1194,9 +1133,8 @@ TitleScreenTimer: ; 62f6 inc hl ld [hl], d ret -; 6304 -TitleScreenMain: ; 6304 +TitleScreenMain: ; Run the timer down. ld hl, wTitleScreenTimer @@ -1296,9 +1234,8 @@ TitleScreenMain: ; 6304 ld hl, wJumptableIndex set 7, [hl] ret -; 6375 -TitleScreenEnd: ; 6375 +TitleScreenEnd: ; Wait until the music is done fading. @@ -1316,17 +1253,14 @@ TitleScreenEnd: ; 6375 ld hl, wJumptableIndex set 7, [hl] ret -; 6389 -DeleteSaveData: ; 6389 +DeleteSaveData: farcall _DeleteSaveData jp Init -; 6392 -ResetClock: ; 6392 +ResetClock: farcall _ResetClock jp Init -; 639b Unreferenced_Function639b: ; If bit 0 or 1 of [wTitleScreenTimer] is set, we don't need to be here. @@ -1359,9 +1293,8 @@ Unreferenced_Function639b: ld a, SPRITE_ANIM_INDEX_GS_TITLE_TRAIL call _InitSpriteAnimStruct ret -; 63ca -.Data63ca: ; 63ca +.Data63ca: ; frame 0 y, x; frame 1 y, x db 11 * 8 + 4, 10 * 8, 0 * 8, 0 * 8 db 11 * 8 + 4, 13 * 8, 11 * 8 + 4, 11 * 8 @@ -1369,9 +1302,8 @@ Unreferenced_Function639b: db 11 * 8 + 4, 17 * 8, 11 * 8 + 4, 15 * 8 db 0 * 8, 0 * 8, 11 * 8 + 4, 15 * 8 db 0 * 8, 0 * 8, 11 * 8 + 4, 11 * 8 -; 63e2 -Copyright: ; 63e2 +Copyright: call ClearTileMap call LoadFontsExtra ld de, CopyrightGFX @@ -1381,9 +1313,8 @@ Copyright: ; 63e2 hlcoord 2, 7 ld de, CopyrightString jp PlaceString -; 63fd -CopyrightString: ; 63fd +CopyrightString: ; ©1995-2001 Nintendo db $60, $61, $62, $63, $64, $65, $66 db $67, $68, $69, $6a, $6b, $6c @@ -1397,9 +1328,8 @@ CopyrightString: ; 63fd db $73, $74, $75, $76, $77, $78, $79, $7a, $7b, $7c db "@" -; 642e -GameInit:: ; 642e +GameInit:: farcall TryLoadSaveData call ClearWindowData call ClearBGPalettes @@ -1415,4 +1345,3 @@ GameInit:: ; 642e ld [hWY], a call WaitBGMap jp CrystalIntroSequence -; 6454 diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index d83ce873b..dc57fe971 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -1,8 +1,7 @@ -GFX_49c0c: ; 49c0c +GFX_49c0c: INCBIN "gfx/unknown/049c0c.2bpp" -; 49cdc -MainMenu: ; 49cdc +MainMenu: xor a ld [wDisableTextAcceleration], a call Function49ed0 @@ -27,24 +26,21 @@ MainMenu: ; 49cdc .quit ret -; 49d14 -.MenuHeader: ; 49d14 +.MenuHeader: db MENU_BACKUP_TILES ; flags menu_coords 0, 0, 16, 7 dw .MenuData db 1 ; default option -; 49d1c -.MenuData: ; 49d1c +.MenuData: db STATICMENU_CURSOR ; flags db 0 ; items dw MainMenuItems dw PlaceMenuStrings dw .Strings -; 49d20 -.Strings: ; 49d24 +.Strings: db "CONTINUE@" db "NEW GAME@" db "OPTION@" @@ -145,7 +141,7 @@ StudiumMenu: ; 0x49d9e db -1 -MainMenu_GetWhichMenu: ; 49da4 +MainMenu_GetWhichMenu: nop nop nop @@ -193,9 +189,8 @@ MainMenu_GetWhichMenu: ; 49da4 .ok4 ld a, $6 ; Mystery Gift ret -; 49de4 -MainMenuJoypadLoop: ; 49de4 +MainMenuJoypadLoop: call SetUpMenu .loop call MainMenu_PrintCurrentTimeAndDay @@ -218,9 +213,8 @@ MainMenuJoypadLoop: ; 49de4 .b_button scf ret -; 49e09 -MainMenu_PrintCurrentTimeAndDay: ; 49e09 +MainMenu_PrintCurrentTimeAndDay: ld a, [wSaveFileExists] and a ret z @@ -237,10 +231,9 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09 ld a, $1 ld [hBGMapMode], a ret -; 49e27 -.PlaceBox: ; 49e27 +.PlaceBox: call CheckRTCStatus and $80 jr nz, .TimeFail @@ -253,10 +246,9 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09 .TimeFail: call SpeechTextBox ret -; 49e3d -.PlaceTime: ; 49e3d +.PlaceTime: ld a, [wSaveFileExists] and a ret z @@ -282,26 +274,22 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09 .min ; unused db "min.@" -; 49e75 -.PrintTimeNotSet: ; 49e75 +.PrintTimeNotSet: hlcoord 1, 14 ld de, .TimeNotSet call PlaceString ret -; 49e7f -.TimeNotSet: ; 49e7f +.TimeNotSet: db "TIME NOT SET@" -; 49e8c -.UnusedText: ; 49e8c +.UnusedText: ; Clock time unknown text_jump UnknownText_0x1c5182 db "@" -; 49e91 -.PlaceCurrentDay: ; 49e91 +.PlaceCurrentDay: push de ld hl, .Days ld a, b @@ -315,7 +303,6 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09 ld de, .Day call PlaceString ret -; 49ea8 .Days: db "SUN@" @@ -327,9 +314,8 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09 db "SATUR@" .Day: db "DAY@" -; 49ed0 -Function49ed0: ; 49ed0 +Function49ed0: xor a ld [hMapAnims], a call ClearTileMap @@ -337,25 +323,20 @@ Function49ed0: ; 49ed0 call LoadStandardFont call ClearWindowData ret -; 49ee0 -MainMenu_NewGame: ; 49ee0 +MainMenu_NewGame: farcall NewGame ret -; 49ee7 -MainMenu_Options: ; 49ee7 +MainMenu_Options: farcall OptionsMenu ret -; 49eee -MainMenu_Continue: ; 49eee +MainMenu_Continue: farcall Continue ret -; 49ef5 -MainMenu_MysteryGift: ; 49ef5 +MainMenu_MysteryGift: farcall MysteryGift ret -; 49efc diff --git a/engine/menus/menu.asm b/engine/menus/menu.asm index 51de2e1a4..5f2864ea3 100644 --- a/engine/menus/menu.asm +++ b/engine/menus/menu.asm @@ -1,4 +1,4 @@ -_2DMenu_:: ; 2400e +_2DMenu_:: ld hl, CopyMenuData ld a, [wMenuData_2DMenuItemStringsBank] rst FarCall @@ -8,9 +8,8 @@ _2DMenu_:: ; 2400e call ApplyTilemap call Get2DMenuSelection ret -; 24022 -_InterpretBattleMenu:: ; 24022 +_InterpretBattleMenu:: ld hl, CopyMenuData ld a, [wMenuData_2DMenuItemStringsBank] rst FarCall @@ -21,9 +20,8 @@ _InterpretBattleMenu:: ; 24022 call ApplyTilemap call Get2DMenuSelection ret -; 2403c -_InterpretMobileMenu:: ; 2403c +_InterpretMobileMenu:: ld hl, CopyMenuData ld a, [wMenuData_2DMenuItemStringsBank] rst FarCall @@ -56,23 +54,21 @@ _InterpretMobileMenu:: ; 2403c ld [wMenuCursorBuffer], a and a ret -; 24085 -Draw2DMenu: ; 24085 +Draw2DMenu: xor a ld [hBGMapMode], a call MenuBox call Place2DMenuItemStrings ret -; 2408f -Get2DMenuSelection: ; 2408f +Get2DMenuSelection: call Init2DMenuCursorPosition call StaticMenuJoypad call MenuClickSound -Mobile_GetMenuSelection: ; 24098 +Mobile_GetMenuSelection: ld a, [wMenuDataFlags] bit 1, a jr z, .skip @@ -108,22 +104,19 @@ Mobile_GetMenuSelection: ; 24098 .quit2 scf ret -; 240cd -Get2DMenuNumberOfColumns: ; 240cd +Get2DMenuNumberOfColumns: ld a, [wMenuData_2DMenuDimensions] and $f ret -; 240d3 -Get2DMenuNumberOfRows: ; 240d3 +Get2DMenuNumberOfRows: ld a, [wMenuData_2DMenuDimensions] swap a and $f ret -; 240db -Place2DMenuItemStrings: ; 240db +Place2DMenuItemStrings: ld hl, wMenuData_2DMenuItemStringsAddr ld e, [hl] inc hl @@ -164,10 +157,9 @@ Place2DMenuItemStrings: ; 240db ld a, [wMenuData_2DMenuFunctionBank] rst FarCall ret -; 2411a -Init2DMenuCursorPosition: ; 2411a (9:411a) +Init2DMenuCursorPosition: call GetMenuTextStartCoord ld a, b ld [w2DMenuCursorInitY], a @@ -222,9 +214,8 @@ Init2DMenuCursorPosition: ; 2411a (9:411a) ld [wCursorCurrentTile], a ld [wCursorCurrentTile + 1], a ret -; 24179 -.InitFlags_a: ; 24179 +.InitFlags_a: xor a ld hl, w2DMenuFlags1 ld [hli], a @@ -235,16 +226,14 @@ Init2DMenuCursorPosition: ; 2411a (9:411a) set 5, [hl] set 4, [hl] ret -; 2418a -.InitFlags_b: ; 2418a +.InitFlags_b: ld a, [wMenuData_2DMenuSpacing] or $20 ld [w2DMenuCursorOffsets], a ret -; 24193 -.InitFlags_c: ; 24193 +.InitFlags_c: ld hl, wMenuDataFlags ld a, A_BUTTON bit 0, [hl] @@ -257,12 +246,11 @@ Init2DMenuCursorPosition: ; 2411a (9:411a) .skip2 ld [wMenuJoypadFilter], a ret -; 241a8 -_StaticMenuJoypad:: ; 241a8 +_StaticMenuJoypad:: call Place2DMenuCursor -_ScrollingMenuJoypad:: ; 241ab +_ScrollingMenuJoypad:: ld hl, w2DMenuFlags2 res 7, [hl] ld a, [hBGMapMode] @@ -271,9 +259,8 @@ _ScrollingMenuJoypad:: ; 241ab pop af ld [hBGMapMode], a ret -; 241ba -MobileMenuJoypad: ; 241ba +MobileMenuJoypad: ld hl, w2DMenuFlags2 res 7, [hl] ld a, [hBGMapMode] @@ -288,10 +275,9 @@ MobileMenuJoypad: ; 241ba call GetMenuJoypad ld c, a ret -; 241d5 -Unreferenced_Function241d5: ; 241d5 +Unreferenced_Function241d5: call Place2DMenuCursor .loop call Move2DMenuCursor @@ -328,10 +314,9 @@ Unreferenced_Function241d5: ; 241d5 jr z, .loop2 and a ret -; 24216 -MenuJoypadLoop: ; 24216 +MenuJoypadLoop: .loop call Move2DMenuCursor call .BGMap_OAM @@ -350,9 +335,8 @@ MenuJoypadLoop: ; 24216 .done ret -; 24238 -.BGMap_OAM: ; 24238 +.BGMap_OAM: ld a, [hOAMUpdate] push af ld a, $1 @@ -363,9 +347,8 @@ MenuJoypadLoop: ; 24216 xor a ld [hBGMapMode], a ret -; 24249 -Do2DMenuRTCJoypad: ; 24249 +Do2DMenuRTCJoypad: .loopRTC call RTC call Menu_WasButtonPressed @@ -375,9 +358,8 @@ Do2DMenuRTCJoypad: ; 24249 jr z, .loopRTC and a ret -; 24259 -Menu_WasButtonPressed: ; 24259 +Menu_WasButtonPressed: ld a, [w2DMenuFlags1] bit 6, a jr z, .skip_to_joypad @@ -390,9 +372,8 @@ Menu_WasButtonPressed: ; 24259 ret z scf ret -; 24270 -_2DMenuInterpretJoypad: ; 24270 +_2DMenuInterpretJoypad: call GetMenuJoypad bit A_BUTTON_F, a jp nz, .a_b_start_select @@ -413,7 +394,7 @@ _2DMenuInterpretJoypad: ; 24270 and a ret -.set_bit_7 ; 24299 +.set_bit_7 ld hl, w2DMenuFlags2 set 7, [hl] scf @@ -512,14 +493,12 @@ _2DMenuInterpretJoypad: ; 24270 ld [hl], $1 xor a ret -; 24318 -.a_b_start_select ; 24318 +.a_b_start_select xor a ret -; 2431a -Move2DMenuCursor: ; 2431a +Move2DMenuCursor: ld hl, wCursorCurrentTile ld a, [hli] ld h, [hl] @@ -529,7 +508,7 @@ Move2DMenuCursor: ; 2431a jr nz, Place2DMenuCursor ld a, [wCursorOffCharacter] ld [hl], a -Place2DMenuCursor: ; 24329 +Place2DMenuCursor: ld a, [w2DMenuCursorInitY] ld b, a ld a, [w2DMenuCursorInitX] @@ -580,9 +559,8 @@ Place2DMenuCursor: ; 24329 ld a, h ld [wCursorCurrentTile + 1], a ret -; 24374 -_PushWindow:: ; 24374 +_PushWindow:: ld a, [rSVBK] push af ld a, BANK(wWindowStack) @@ -651,9 +629,8 @@ _PushWindow:: ; 24374 ld hl, wWindowStackSize inc [hl] ret -; 243cd -.copy ; 243cd +.copy call GetMenuBoxDims inc b inc c @@ -678,13 +655,11 @@ _PushWindow:: ; 24374 jr nz, .row ret -; 243e7 -.ret ; 243e7 +.ret ret -; 243e8 -_ExitMenu:: ; 243e8 +_ExitMenu:: xor a ld [hBGMapMode], a @@ -722,9 +697,8 @@ _ExitMenu:: ; 243e8 ld hl, wWindowStackSize dec [hl] ret -; 24423 -Unreferenced_Function24423: ; 24423 +Unreferenced_Function24423: ld a, [wVramState] bit 0, a ret z @@ -755,22 +729,19 @@ Unreferenced_Function24423: ; 24423 jr nz, .loop call CloseSRAM ret -; 2445d -Error_Cant_ExitMenu: ; 2445d +Error_Cant_ExitMenu: ld hl, .Text_NoWindowsAvailableForPopping call PrintText call WaitBGMap .InfiniteLoop: jr .InfiniteLoop -; 24468 -.Text_NoWindowsAvailableForPopping: ; 24468 +.Text_NoWindowsAvailableForPopping: text_jump UnknownText_0x1c46b7 db "@" -; 2446d -_InitVerticalMenuCursor:: ; 2446d +_InitVerticalMenuCursor:: ld a, [wMenuDataFlags] ld b, a ld hl, w2DMenuCursorInitY @@ -838,4 +809,3 @@ _InitVerticalMenuCursor:: ; 2446d ld [hli], a ld [hli], a ret -; 244c3 diff --git a/engine/menus/menu_2.asm b/engine/menus/menu_2.asm index 16cce5348..b4a9ef95a 100644 --- a/engine/menus/menu_2.asm +++ b/engine/menus/menu_2.asm @@ -27,22 +27,22 @@ PlaceMenuItemQuantity: ; 0x24ac3 .done ret -PlaceMoneyTopRight: ; 24ae8 +PlaceMoneyTopRight: ld hl, MenuHeader_0x24b15 call CopyMenuHeader jr PlaceMoneyTextBox -PlaceMoneyBottomLeft: ; 24af0 +PlaceMoneyBottomLeft: ld hl, MenuHeader_0x24b1d call CopyMenuHeader jr PlaceMoneyTextBox -PlaceMoneyAtTopLeftOfTextbox: ; 24af8 +PlaceMoneyAtTopLeftOfTextbox: ld hl, MenuHeader_0x24b15 lb de, 0, 11 call OffsetMenuHeader -PlaceMoneyTextBox: ; 24b01 +PlaceMoneyTextBox: call MenuBox call MenuBoxCoord2Tile ld de, SCREEN_WIDTH + 1 @@ -64,7 +64,7 @@ MenuHeader_0x24b1d: ; 0x24b1d dw NULL db 1 ; default option -DisplayCoinCaseBalance: ; 24b25 +DisplayCoinCaseBalance: ; Place a text box of size 1x7 at 11, 0. hlcoord 11, 0 ld b, 1 @@ -82,7 +82,7 @@ DisplayCoinCaseBalance: ; 24b25 call PrintNum ret -DisplayMoneyAndCoinBalance: ; 24b4e +DisplayMoneyAndCoinBalance: hlcoord 5, 0 ld b, 3 ld c, 13 @@ -103,14 +103,14 @@ DisplayMoneyAndCoinBalance: ; 24b4e call PrintNum ret -MoneyString: ; 24b83 +MoneyString: db "MONEY@" -CoinString: ; 24b89 +CoinString: db "COIN@" -ShowMoney_TerminatorString: ; 24b8e +ShowMoney_TerminatorString: db "@" -Unreferenced_Function24b8f: ; 24b8f +Unreferenced_Function24b8f: ; related to safari? ld hl, wOptions ld a, [hl] @@ -138,19 +138,19 @@ Unreferenced_Function24b8f: ; 24b8f ld [wOptions], a ret -.slash_500 ; 24bcf +.slash_500 db "/500@" -.booru_ko ; 24bd4 +.booru_ko db "ボール こ@" -StartMenu_DrawBugContestStatusBox: ; 24bdc +StartMenu_DrawBugContestStatusBox: hlcoord 0, 0 ld b, 5 ld c, 17 call TextBox ret -StartMenu_PrintBugContestStatus: ; 24be7 +StartMenu_PrintBugContestStatus: ld hl, wOptions ld a, [hl] push af @@ -194,18 +194,18 @@ StartMenu_PrintBugContestStatus: ; 24be7 ld [wOptions], a ret -.Balls_JP: ; 24c43 +.Balls_JP: db "ボール こ@" -.CAUGHT: ; 24c4b +.CAUGHT: db "CAUGHT@" -.Balls_EN: ; 24c52 +.Balls_EN: db "BALLS:@" -.None: ; 24c59 +.None: db "None@" -.LEVEL: ; 24c5e +.LEVEL: db "LEVEL@" -FindApricornsInBag: ; 24c64 +FindApricornsInBag: ; Checks the bag for Apricorns. ld hl, wBuffer1 xor a @@ -239,7 +239,7 @@ FindApricornsInBag: ; 24c64 scf ret -.addtobuffer ; 24c94 +.addtobuffer push hl ld hl, wBuffer1 inc [hl] diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index a958e10eb..fb42b1350 100644 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -12,7 +12,7 @@ _NamingScreen: ; 0x116b7 ; 0x116c1 -NamingScreen: ; 116c1 +NamingScreen: ld hl, wNamingScreenDestinationPointer ld [hl], e inc hl @@ -45,9 +45,8 @@ NamingScreen: ; 116c1 call ClearJoypad ret -; 116f8 -.SetUpNamingScreen: ; 116f8 +.SetUpNamingScreen: call ClearBGPalettes ld b, SCGB_DIPLOMA call GetSGBLayout @@ -63,9 +62,8 @@ NamingScreen: ; 116c1 call NamingScreen_InitNameEntry ret -; 1171d -.GetNamingScreenSetup: ; 1171d +.GetNamingScreenSetup: ld a, [wNamingScreenType] and 7 ld e, a @@ -78,9 +76,8 @@ NamingScreen: ; 116c1 ld l, a jp hl -; 1172e -.Jumptable: ; 1172e (4:572e) +.Jumptable: dw .Pokemon dw .Player dw .Rival @@ -90,7 +87,7 @@ NamingScreen: ; 116c1 dw .Pokemon dw .Pokemon -.Pokemon: ; 1173e (4:573e) +.Pokemon: ld a, [wCurPartySpecies] ld [wd265], a ld hl, LoadMenuMonIcon @@ -121,15 +118,13 @@ NamingScreen: ; 116c1 call .StoreMonIconParams ret -; 11780 (4:5780) -.NicknameStrings: ; 11780 +.NicknameStrings: db "'S@" db "NICKNAME?@" -; 1178d -.Player: ; 1178d (4:578d) +.Player: farcall GetPlayerIcon call .LoadSprite hlcoord 5, 2 @@ -138,14 +133,12 @@ NamingScreen: ; 116c1 call .StoreSpriteIconParams ret -; 117a3 (4:57a3) -.PlayerNameString: ; 117a3 +.PlayerNameString: db "YOUR NAME?@" -; 117ae -.Rival: ; 117ae (4:57ae) +.Rival: ld de, SilverSpriteGFX ld b, BANK(SilverSpriteGFX) call .LoadSprite @@ -155,14 +148,12 @@ NamingScreen: ; 116c1 call .StoreSpriteIconParams ret -; 117c3 (4:57c3) -.RivalNameString: ; 117c3 +.RivalNameString: db "RIVAL'S NAME?@" -; 117d1 -.Mom: ; 117d1 (4:57d1) +.Mom: ld de, MomSpriteGFX ld b, BANK(MomSpriteGFX) call .LoadSprite @@ -172,14 +163,12 @@ NamingScreen: ; 116c1 call .StoreSpriteIconParams ret -; 117e6 (4:57e6) -.MomNameString: ; 117e6 +.MomNameString: db "MOTHER'S NAME?@" -; 117f5 -.Box: ; 117f5 (4:57f5) +.Box: ld de, PokeBallSpriteGFX ld hl, vTiles0 tile $00 lb bc, BANK(PokeBallSpriteGFX), 4 @@ -200,28 +189,24 @@ NamingScreen: ; 116c1 call .StoreBoxIconParams ret -; 11822 (4:5822) -.BoxNameString: ; 11822 +.BoxNameString: db "BOX NAME?@" -; 1182c -.Tomodachi: ; 1182c (4:582c) +.Tomodachi: hlcoord 3, 2 ld de, .oTomodachi_no_namae_sutoringu call PlaceString call .StoreSpriteIconParams ret -; 11839 (4:5839) -.oTomodachi_no_namae_sutoringu ; 11839 +.oTomodachi_no_namae_sutoringu db "おともだち の なまえは?@" -; 11847 -.LoadSprite: ; 11847 (4:5847) +.LoadSprite: push de ld hl, vTiles0 tile $00 ld c, $4 @@ -253,22 +238,22 @@ NamingScreen: ; 116c1 call _InitSpriteAnimStruct ret -.StoreMonIconParams: ; 1187b (4:587b) +.StoreMonIconParams: ld a, MON_NAME_LENGTH - 1 hlcoord 5, 6 jr .StoreParams -.StoreSpriteIconParams: ; 11882 (4:5882) +.StoreSpriteIconParams: ld a, PLAYER_NAME_LENGTH - 1 hlcoord 5, 6 jr .StoreParams -.StoreBoxIconParams: ; 11889 (4:5889) +.StoreBoxIconParams: ld a, BOX_NAME_LENGTH - 1 hlcoord 5, 4 jr .StoreParams -.StoreParams: ; 11890 (4:5890) +.StoreParams: ld [wNamingScreenMaxNameLength], a ld a, l ld [wNamingScreenStringEntryCoord], a @@ -276,7 +261,7 @@ NamingScreen: ; 116c1 ld [wNamingScreenStringEntryCoord + 1], a ret -NamingScreen_IsTargetBox: ; 1189c +NamingScreen_IsTargetBox: push bc push af ld a, [wNamingScreenType] @@ -287,9 +272,8 @@ NamingScreen_IsTargetBox: ; 1189c pop bc ret -; 118a8 -NamingScreen_InitText: ; 118a8 +NamingScreen_InitText: call WaitTop hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT @@ -304,7 +288,7 @@ NamingScreen_InitText: ; 118a8 .not_box call ClearBox ld de, NameInputUpper -NamingScreen_ApplyTextInputMode: ; 118ca +NamingScreen_ApplyTextInputMode: call NamingScreen_IsTargetBox jr nz, .not_box ld hl, BoxNameInputLower - NameInputLower @@ -350,9 +334,8 @@ NamingScreen_ApplyTextInputMode: ; 118ca jr nz, .row ret -; 11915 -NamingScreenJoypadLoop: ; 11915 +NamingScreenJoypadLoop: call JoyTextDelay ld a, [wJumptableIndex] bit 7, a @@ -373,9 +356,8 @@ NamingScreenJoypadLoop: ; 11915 scf ret -; 11940 -.UpdateStringEntry: ; 11940 +.UpdateStringEntry: xor a ld [hBGMapMode], a hlcoord 1, 5 @@ -399,9 +381,8 @@ NamingScreenJoypadLoop: ; 11915 ld [hBGMapMode], a ret -; 11968 -.RunJumptable: ; 11968 +.RunJumptable: ld a, [wJumptableIndex] ld e, a ld d, $0 @@ -413,13 +394,12 @@ NamingScreenJoypadLoop: ; 11915 ld l, a jp hl -; 11977 -.Jumptable: ; 11977 (4:5977) +.Jumptable: dw .InitCursor dw .ReadButtons -.InitCursor: ; 1197b (4:597b) +.InitCursor: depixel 10, 3 call NamingScreen_IsTargetBox jr nz, .got_cursor_position @@ -441,7 +421,7 @@ NamingScreenJoypadLoop: ; 11915 inc [hl] ret -.ReadButtons: ; 119a1 (4:59a1) +.ReadButtons: ld hl, hJoyPressed ; $ffa7 ld a, [hl] and A_BUTTON @@ -510,13 +490,13 @@ NamingScreenJoypadLoop: ; 11915 call NamingScreen_ApplyTextInputMode ret -.GetCursorPosition: ; 11a0b (4:5a0b) +.GetCursorPosition: ld hl, wNamingScreenCursorObjectPointer ld c, [hl] inc hl ld b, [hl] -NamingScreen_GetCursorPosition: ; 11a11 (4:5a11) +NamingScreen_GetCursorPosition: ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld a, [hl] @@ -551,7 +531,7 @@ NamingScreen_GetCursorPosition: ; 11a11 (4:5a11) xor a ret -NamingScreen_AnimateCursor: ; 11a3b (4:5a3b) +NamingScreen_AnimateCursor: call .GetDPad ld hl, SPRITEANIMSTRUCT_0D add hl, bc @@ -590,17 +570,15 @@ NamingScreen_AnimateCursor: ; 11a3b (4:5a3b) ld [hl], a ret -; 11a79 (4:5a79) -.LetterEntries: ; 11a79 +.LetterEntries: db $00, $10, $20, $30, $40, $50, $60, $70, $80 -.CaseDelEnd: ; 11a82 +.CaseDelEnd: db $00, $00, $00, $30, $30, $30, $60, $60, $60 -; 11a8b -.GetDPad: ; 11a8b (4:5a8b) +.GetDPad: ld hl, hJoyLast ld a, [hl] and D_UP @@ -713,9 +691,9 @@ NamingScreen_AnimateCursor: ; 11a3b (4:5a3b) inc [hl] ret -NamingScreen_TryAddCharacter: ; 11b14 (4:5b14) +NamingScreen_TryAddCharacter: ld a, [wNamingScreenLastCharacter] ; lost -MailComposition_TryAddCharacter: ; 11b17 (4:5b17) +MailComposition_TryAddCharacter: ld a, [wNamingScreenMaxNameLength] ld c, a ld a, [wNamingScreenCurrNameLength] @@ -724,11 +702,11 @@ MailComposition_TryAddCharacter: ; 11b17 (4:5b17) ld a, [wNamingScreenLastCharacter] -NamingScreen_LoadNextCharacter: ; 11b23 +NamingScreen_LoadNextCharacter: call NamingScreen_GetTextCursorPosition ld [hl], a -NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27 +NamingScreen_AdvanceCursor_CheckEndOfString: ld hl, wNamingScreenCurrNameLength inc [hl] call NamingScreen_GetTextCursorPosition @@ -743,7 +721,6 @@ NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27 scf ret -; 11b39 (4:5b39) ; unused ld a, [wNamingScreenCurrNameLength] @@ -769,13 +746,11 @@ NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27 ld a, [hl] jr NamingScreen_LoadNextCharacter -; 11b56 INCLUDE "data/text/unused_dakutens.asm" -; 11bbc -NamingScreen_DeleteCharacter: ; 11bbc (4:5bbc) +NamingScreen_DeleteCharacter: ld hl, wNamingScreenCurrNameLength ld a, [hl] and a @@ -790,7 +765,7 @@ NamingScreen_DeleteCharacter: ; 11bbc (4:5bbc) ld [hl], NAMINGSCREEN_MIDDLELINE ret -NamingScreen_GetTextCursorPosition: ; 11bd0 (4:5bd0) +NamingScreen_GetTextCursorPosition: push af ld hl, wNamingScreenDestinationPointer ld a, [hli] @@ -803,9 +778,8 @@ NamingScreen_GetTextCursorPosition: ; 11bd0 (4:5bd0) pop af ret -; 11be0 -NamingScreen_InitNameEntry: ; 11be0 +NamingScreen_InitNameEntry: ; load NAMINGSCREEN_UNDERLINE, (NAMINGSCREEN_MIDDLELINE * [wNamingScreenMaxNameLength]), "@" into the dw address at wNamingScreenDestinationPointer ld hl, wNamingScreenDestinationPointer ld a, [hli] @@ -824,9 +798,8 @@ NamingScreen_InitNameEntry: ; 11be0 ld [hl], "@" ret -; 11bf7 -NamingScreen_StoreEntry: ; 11bf7 (4:5bf7) +NamingScreen_StoreEntry: ld hl, wNamingScreenDestinationPointer ld a, [hli] ld h, [hl] @@ -847,7 +820,7 @@ NamingScreen_StoreEntry: ; 11bf7 (4:5bf7) jr nz, .loop ret -NamingScreen_GetLastCharacter: ; 11c11 (4:5c11) +NamingScreen_GetLastCharacter: ld hl, wNamingScreenCursorObjectPointer ld c, [hl] inc hl @@ -890,7 +863,7 @@ NamingScreen_GetLastCharacter: ; 11c11 (4:5c11) ld [wNamingScreenLastCharacter], a ret -LoadNamingScreenGFX: ; 11c51 +LoadNamingScreenGFX: call ClearSprites callfar ClearSpriteAnims call LoadStandardFont @@ -935,30 +908,23 @@ LoadNamingScreenGFX: ; 11c51 ld [hWX], a ret -; 11cb7 -NamingScreenGFX_Border: ; 11cb7 +NamingScreenGFX_Border: INCBIN "gfx/naming_screen/border.2bpp" -; 11cc7 -NamingScreenGFX_Cursor: ; 11cc7 +NamingScreenGFX_Cursor: INCBIN "gfx/naming_screen/cursor.2bpp" -; 11ce7 INCLUDE "data/text/name_input_chars.asm" -; 11e5d NamingScreenGFX_End: ; unused INCBIN "gfx/naming_screen/end.1bpp" -; 11e6d NamingScreenGFX_MiddleLine: INCBIN "gfx/naming_screen/middle_line.1bpp" -; 11e6d -NamingScreenGFX_UnderLine: ; 11e6d +NamingScreenGFX_UnderLine: INCBIN "gfx/naming_screen/underline.1bpp" -; 11e75 _ComposeMailMessage: ; 11e75 (mail?) ld hl, wNamingScreenDestinationPointer @@ -986,7 +952,7 @@ _ComposeMailMessage: ; 11e75 (mail?) ld [hMapAnims], a ret -.InitBlankMail: ; 11e9a (4:5e9a) +.InitBlankMail: call ClearBGPalettes call DisableLCD call LoadNamingScreenGFX @@ -1030,25 +996,21 @@ _ComposeMailMessage: ; 11e75 (mail?) ld [hl], "<NEXT>" ret -; 11ef4 (4:5ef4) -.MailIcon: ; 11ef4 +.MailIcon: INCBIN "gfx/icons/mail_big.2bpp" -; 11f74 -.initwNamingScreenMaxNameLength ; 11f74 (4:5f74) +.initwNamingScreenMaxNameLength ld a, MAIL_MSG_LENGTH + 1 ld [wNamingScreenMaxNameLength], a ret -; 11f7a (4:5f7a) .UnusedString11f7a: db "メールを かいてね@" -; 11f84 -.InitCharset: ; 11f84 (4:5f84) +.InitCharset: call WaitTop hlcoord 0, 0 ld bc, 6 * SCREEN_WIDTH @@ -1063,7 +1025,7 @@ INCBIN "gfx/icons/mail_big.2bpp" call ClearBox ld de, MailEntry_Uppercase -.PlaceMailCharset: ; 11fa9 (4:5fa9) +.PlaceMailCharset: hlcoord 1, 7 ld b, 6 .next @@ -1082,7 +1044,7 @@ INCBIN "gfx/icons/mail_big.2bpp" jr nz, .next ret -.DoMailEntry: ; 11fc0 (4:5fc0) +.DoMailEntry: call JoyTextDelay ld a, [wJumptableIndex] bit 7, a @@ -1103,7 +1065,7 @@ INCBIN "gfx/icons/mail_big.2bpp" scf ret -.Update: ; 11feb (4:5feb) +.Update: xor a ld [hBGMapMode], a hlcoord 1, 1 @@ -1119,7 +1081,7 @@ INCBIN "gfx/icons/mail_big.2bpp" ld [hBGMapMode], a ret -.DoJumptable: ; 12008 (4:6008) +.DoJumptable: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -1131,11 +1093,11 @@ INCBIN "gfx/icons/mail_big.2bpp" ld l, a jp hl -.Jumptable: ; 12017 (4:6017) +.Jumptable: dw .init_blinking_cursor dw .process_joypad -.init_blinking_cursor ; 1201b (4:601b) +.init_blinking_cursor depixel 9, 2 ld a, SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR call _InitSpriteAnimStruct @@ -1153,7 +1115,7 @@ INCBIN "gfx/icons/mail_big.2bpp" inc [hl] ret -.process_joypad ; 1203a (4:603a) +.process_joypad ld hl, hJoyPressed ; $ffa7 ld a, [hl] and A_BUTTON @@ -1240,7 +1202,7 @@ INCBIN "gfx/icons/mail_big.2bpp" ; called from engine/sprite_anims.asm -ComposeMail_AnimateCursor: ; 120c1 (4:60c1) +ComposeMail_AnimateCursor: call .GetDPad ld hl, SPRITEANIMSTRUCT_0D add hl, bc @@ -1274,17 +1236,15 @@ ComposeMail_AnimateCursor: ; 120c1 (4:60c1) ld [hl], a ret -; 120f8 (4:60f8) -.LetterEntries: ; 120f8 +.LetterEntries: db $00, $10, $20, $30, $40, $50, $60, $70, $80, $90 -.CaseDelEnd: ; 12102 +.CaseDelEnd: db $00, $00, $00, $30, $30, $30, $60, $60, $60, $60 -; 1210c -.GetDPad: ; 1210c (4:610c) +.GetDPad: ld hl, hJoyLast ld a, [hl] and D_UP @@ -1386,13 +1346,13 @@ ComposeMail_AnimateCursor: ; 120c1 (4:60c1) ld [hl], $5 ret -NamingScreen_PressedA_GetCursorCommand: ; 12185 (4:6185) +NamingScreen_PressedA_GetCursorCommand: ld hl, wNamingScreenCursorObjectPointer ld c, [hl] inc hl ld b, [hl] -ComposeMail_GetCursorPosition: ; 1218b (4:618b) +ComposeMail_GetCursorPosition: ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld a, [hl] @@ -1420,11 +1380,10 @@ ComposeMail_GetCursorPosition: ; 1218b (4:618b) xor a ret -MailComposition_TryAddLastCharacter: ; 121ac (4:61ac) +MailComposition_TryAddLastCharacter: ld a, [wNamingScreenLastCharacter] jp MailComposition_TryAddCharacter -; 121b2 (4:61b2) ; unused ld a, [wNamingScreenCurrNameLength] @@ -1460,8 +1419,6 @@ MailComposition_TryAddLastCharacter: ; 121ac (4:61ac) ld a, [hl] jp NamingScreen_LoadNextCharacter -; 121dd INCLUDE "data/text/mail_input_chars.asm" -; 122c1 diff --git a/engine/menus/options_menu.asm b/engine/menus/options_menu.asm index c0a255cb0..071872068 100644 --- a/engine/menus/options_menu.asm +++ b/engine/menus/options_menu.asm @@ -1,4 +1,4 @@ -_OptionsMenu: ; e41d0 +_OptionsMenu: ld hl, hInMenu ld a, [hl] push af @@ -59,9 +59,8 @@ _OptionsMenu: ; e41d0 pop af ld [hInMenu], a ret -; e4241 -StringOptions: ; e4241 +StringOptions: db "TEXT SPEED<LNBRK>" db " :<LNBRK>" db "BATTLE SCENE<LNBRK>" @@ -77,10 +76,9 @@ StringOptions: ; e4241 db "FRAME<LNBRK>" db " :TYPE<LNBRK>" db "CANCEL@" -; e42d6 -GetOptionPointer: ; e42d6 +GetOptionPointer: ld a, [wJumptableIndex] ; load the cursor position to a ld e, a ; copy it to de ld d, 0 @@ -91,7 +89,6 @@ GetOptionPointer: ; e42d6 ld h, [hl] ld l, a jp hl ; jump to the code of the current highlighted item -; e42e5 .Pointers: dw Options_TextSpeed @@ -102,7 +99,6 @@ GetOptionPointer: ; e42d6 dw Options_MenuAccount dw Options_Frame dw Options_Cancel -; e42f5 const_def @@ -110,7 +106,7 @@ GetOptionPointer: ; e42d6 const OPT_TEXT_SPEED_MED ; 1 const OPT_TEXT_SPEED_SLOW ; 2 -Options_TextSpeed: ; e42f5 +Options_TextSpeed: call GetTextSpeed ld a, [hJoyPressed] bit D_LEFT_F, a @@ -156,7 +152,6 @@ Options_TextSpeed: ; e42f5 call PlaceString and a ret -; e4331 .Strings: ; entries correspond to OPT_TEXT_SPEED_* constants @@ -167,10 +162,9 @@ Options_TextSpeed: ; e42f5 .Fast: db "FAST@" .Mid: db "MID @" .Slow: db "SLOW@" -; e4346 -GetTextSpeed: ; e4346 +GetTextSpeed: ; converts TEXT_DELAY_* value in a to OPT_TEXT_SPEED_* value in c, ; with previous/next TEXT_DELAY_* values in d/e ld a, [wOptions] @@ -193,10 +187,9 @@ GetTextSpeed: ; e4346 ld c, OPT_TEXT_SPEED_FAST lb de, TEXT_DELAY_SLOW, TEXT_DELAY_MED ret -; e4365 -Options_BattleScene: ; e4365 +Options_BattleScene: ld hl, wOptions ld a, [hJoyPressed] bit D_LEFT_F, a @@ -231,14 +224,12 @@ Options_BattleScene: ; e4365 call PlaceString and a ret -; e4398 .On: db "ON @" .Off: db "OFF@" -; e43a0 -Options_BattleStyle: ; e43a0 +Options_BattleStyle: ld hl, wOptions ld a, [hJoyPressed] bit D_LEFT_F, a @@ -272,14 +263,12 @@ Options_BattleStyle: ; e43a0 call PlaceString and a ret -; e43d1 .Shift: db "SHIFT@" .Set: db "SET @" -; e43dd -Options_Sound: ; e43dd +Options_Sound: ld hl, wOptions ld a, [hJoyPressed] bit D_LEFT_F, a @@ -320,11 +309,9 @@ Options_Sound: ; e43dd call PlaceString and a ret -; e4416 .Mono: db "MONO @" .Stereo: db "STEREO@" -; e4424 const_def @@ -334,7 +321,7 @@ Options_Sound: ; e43dd const OPT_PRINT_DARKER ; 3 const OPT_PRINT_DARKEST ; 4 -Options_Print: ; e4424 +Options_Print: call GetPrinterSetting ld a, [hJoyPressed] bit D_LEFT_F, a @@ -377,7 +364,6 @@ Options_Print: ; e4424 call PlaceString and a ret -; e445a .Strings: ; entries correspond to OPT_PRINT_* constants @@ -392,10 +378,9 @@ Options_Print: ; e4424 .Normal: db "NORMAL @" .Darker: db "DARKER @" .Darkest: db "DARKEST @" -; e4491 -GetPrinterSetting: ; e4491 +GetPrinterSetting: ; converts GBPRINTER_* value in a to OPT_PRINT_* value in c, ; with previous/next GBPRINTER_* values in d/e ld a, [wGBPrinter] @@ -431,9 +416,8 @@ GetPrinterSetting: ; e4491 ld c, OPT_PRINT_DARKEST lb de, GBPRINTER_DARKER, GBPRINTER_LIGHTEST ret -; e44c1 -Options_MenuAccount: ; e44c1 +Options_MenuAccount: ld hl, wOptions2 ld a, [hJoyPressed] bit D_LEFT_F, a @@ -467,14 +451,12 @@ Options_MenuAccount: ; e44c1 call PlaceString and a ret -; e44f2 .Off: db "OFF@" .On: db "ON @" -; e44fa -Options_Frame: ; e44fa +Options_Frame: ld hl, wTextBoxFrame ld a, [hJoyPressed] bit D_LEFT_F, a @@ -496,7 +478,7 @@ Options_Frame: ; e44fa .Save: and $7 ld [hl], a -UpdateFrame: ; e4512 +UpdateFrame: ld a, [wTextBoxFrame] hlcoord 16, 15 ; where on the screen the number is drawn add "1" @@ -504,9 +486,8 @@ UpdateFrame: ; e4512 call LoadFontsExtra and a ret -; e4520 -Options_Cancel: ; e4520 +Options_Cancel: ld a, [hJoyPressed] and A_BUTTON jr nz, .Exit @@ -516,9 +497,8 @@ Options_Cancel: ; e4520 .Exit: scf ret -; e452a -OptionsControl: ; e452a +OptionsControl: ld hl, wJumptableIndex ld a, [hJoyLast] cp D_DOWN @@ -563,9 +543,8 @@ OptionsControl: ; e452a dec [hl] scf ret -; e455c -Options_UpdateCursorPosition: ; e455c +Options_UpdateCursorPosition: hlcoord 1, 1 ld de, SCREEN_WIDTH ld c, $10 @@ -580,4 +559,3 @@ Options_UpdateCursorPosition: ; e455c call AddNTimes ld [hl], "▶" ret -; e4579 diff --git a/engine/menus/save.asm b/engine/menus/save.asm index efde37ffe..a0db01a95 100644 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -1,4 +1,4 @@ -SaveMenu: ; 14a1a +SaveMenu: call LoadStandardMenuHeader farcall DisplaySaveInfoOnSave call SpeechTextBox @@ -23,7 +23,7 @@ SaveMenu: ; 14a1a scf ret -SaveAfterLinkTrade: ; 14a58 +SaveAfterLinkTrade: call PauseGameLogic farcall StageRTCTimeForSave farcall BackupMysteryGift @@ -35,10 +35,9 @@ SaveAfterLinkTrade: ; 14a58 farcall SaveRTC call ResumeGameLogic ret -; 14a83 -ChangeBoxSaveGame: ; 14a83 (5:4a83) +ChangeBoxSaveGame: push de ld hl, Text_SaveOnBoxSwitch call MenuTextBox @@ -62,7 +61,7 @@ ChangeBoxSaveGame: ; 14a83 (5:4a83) pop de ret -Link_SaveGame: ; 14ab2 +Link_SaveGame: call AskOverwriteSaveFile jr c, .refused call PauseGameLogic @@ -72,9 +71,8 @@ Link_SaveGame: ; 14ab2 .refused ret -; 14ac2 -MoveMonWOMail_SaveGame: ; 14ac2 +MoveMonWOMail_SaveGame: call PauseGameLogic push de call SaveBox @@ -84,9 +82,8 @@ MoveMonWOMail_SaveGame: ; 14ac2 call LoadBox call ResumeGameLogic ret -; 14ad5 -MoveMonWOMail_InsertMon_SaveGame: ; 14ad5 +MoveMonWOMail_InsertMon_SaveGame: call PauseGameLogic push de call SaveBox @@ -117,9 +114,8 @@ MoveMonWOMail_InsertMon_SaveGame: ; 14ad5 ld c, 24 call DelayFrames ret -; 14b34 -StartMoveMonWOMail_SaveGame: ; 14b34 +StartMoveMonWOMail_SaveGame: ld hl, Text_SaveOnMoveMonWOMail call MenuTextBox call YesNoBox @@ -136,22 +132,19 @@ StartMoveMonWOMail_SaveGame: ; 14b34 .refused scf ret -; 14b54 -PauseGameLogic: ; 14b54 +PauseGameLogic: ld a, $1 ld [wGameLogicPaused], a ret -; 14b5a -ResumeGameLogic: ; 14b5a +ResumeGameLogic: xor a ld [wGameLogicPaused], a ret -; 14b5f -AddHallOfFameEntry: ; 14b5f +AddHallOfFameEntry: ld a, BANK(sHallOfFame) call GetSRAMBank ld hl, sHallOfFame + HOF_LENGTH * (NUM_HOF_TEAMS - 1) - 1 @@ -171,14 +164,12 @@ AddHallOfFameEntry: ; 14b5f call CopyBytes call CloseSRAM ret -; 14b85 -SaveGameData: ; 14b85 +SaveGameData: call SaveGameData_ ret -; 14b89 -AskOverwriteSaveFile: ; 14b89 +AskOverwriteSaveFile: ld a, [wSaveFileExists] and a jr z, .erase @@ -205,9 +196,8 @@ AskOverwriteSaveFile: ; 14b89 .refused scf ret -; 14baf -SaveTheGame_yesorno: ; 14baf +SaveTheGame_yesorno: ld b, BANK(Text_WouldYouLikeToSaveTheGame) call MapTextbox call LoadMenuTextBox @@ -221,9 +211,8 @@ SaveTheGame_yesorno: ; 14baf pop af and a ret -; 14bcb -CompareLoadedAndSavedPlayerID: ; 14bcb +CompareLoadedAndSavedPlayerID: ld a, BANK(sPlayerData) call GetSRAMBank ld hl, sPlayerData + (wPlayerID - wPlayerData) @@ -237,11 +226,10 @@ CompareLoadedAndSavedPlayerID: ; 14bcb ld a, [wPlayerID + 1] cp c ret -; 14be3 -_SavingDontTurnOffThePower: ; 14be3 +_SavingDontTurnOffThePower: call SavingDontTurnOffThePower -SavedTheGame: ; 14be6 +SavedTheGame: call SaveGameData_ ; wait 32 frames ld c, $20 @@ -265,10 +253,9 @@ SavedTheGame: ; 14be6 ld c, $1e call DelayFrames ret -; 14c10 -SaveGameData_: ; 14c10 +SaveGameData_: ld a, 1 ld [wSaveFileExists], a farcall StageRTCTimeForSave @@ -298,9 +285,8 @@ SaveGameData_: ; 14c10 .ok call CloseSRAM ret -; 14c6b -UpdateStackTop: ; 14c6b +UpdateStackTop: ; sStackTop appears to be unused. ; It could have been used to debug stack overflow during saving. call FindStackTop @@ -327,9 +313,8 @@ UpdateStackTop: ; 14c6b .done call CloseSRAM ret -; 14c90 -FindStackTop: ; 14c90 +FindStackTop: ; Find the furthest point that sp has traversed to. ; This is distinct from the current value of sp. ld hl, wStack - $ff @@ -339,9 +324,8 @@ FindStackTop: ; 14c90 ret nz inc hl jr .loop -; 14c99 -SavingDontTurnOffThePower: ; 14c99 +SavingDontTurnOffThePower: ; Prevent joypad interrupts xor a ld [hJoypadReleased], a @@ -364,10 +348,9 @@ SavingDontTurnOffThePower: ; 14c99 ld c, $10 call DelayFrames ret -; 14cbb -ErasePreviousSave: ; 14cbb +ErasePreviousSave: call EraseBoxes call EraseHallOfFame call EraseLinkBattleStats @@ -383,9 +366,8 @@ ErasePreviousSave: ; 14cbb ld a, $1 ld [wSavedAtLeastOnce], a ret -; 14ce2 -EraseLinkBattleStats: ; 14ce2 +EraseLinkBattleStats: ld a, BANK(sLinkBattleStats) call GetSRAMBank ld hl, sLinkBattleStats @@ -393,9 +375,8 @@ EraseLinkBattleStats: ; 14ce2 xor a call ByteFill jp CloseSRAM -; 14cf4 -EraseMysteryGift: ; 14cf4 +EraseMysteryGift: ld a, BANK(sBackupMysteryGiftItem) call GetSRAMBank ld hl, sBackupMysteryGiftItem @@ -403,9 +384,8 @@ EraseMysteryGift: ; 14cf4 xor a call ByteFill jp CloseSRAM -; 14d06 -EraseHallOfFame: ; 14d06 +EraseHallOfFame: ld a, BANK(sHallOfFame) call GetSRAMBank ld hl, sHallOfFame @@ -413,9 +393,8 @@ EraseHallOfFame: ; 14d06 xor a call ByteFill jp CloseSRAM -; 14d18 -Unreferenced_Function14d18: ; 14d18 +Unreferenced_Function14d18: ; copy .Data to SRA4:a007 ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3 call GetSRAMBank @@ -424,9 +403,8 @@ Unreferenced_Function14d18: ; 14d18 ld bc, .DataEnd - .Data call CopyBytes jp CloseSRAM -; 14d2c -.Data: ; 14d2c +.Data: db $0d, $02, $00, $05, $00, $00 db $22, $02, $01, $05, $00, $00 db $03, $04, $05, $08, $03, $05 @@ -435,23 +413,20 @@ Unreferenced_Function14d18: ; 14d18 db $04, $07, $01, $05, $00, $00 db $0f, $05, $14, $07, $05, $05 db $11, $0c, $0c, $06, $06, $04 -; 14d5c .DataEnd -EraseBattleTowerStatus: ; 14d5c +EraseBattleTowerStatus: ld a, BANK(sBattleTowerChallengeState) call GetSRAMBank xor a ld [sBattleTowerChallengeState], a jp CloseSRAM -; 14d68 -SaveData: ; 14d68 +SaveData: call _SaveData ret -; 14d6c -Unreferenced_Function14d6c: ; 14d6c +Unreferenced_Function14d6c: ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3 call GetSRAMBank ld a, [$a60b] ; address of MBC30 bank @@ -465,9 +440,8 @@ Unreferenced_Function14d6c: ; 14d6c ld [$a60b], a ; address of MBC30 bank call CloseSRAM ret -; 14d83 -Unreferenced_Function14d83: ; 14d83 +Unreferenced_Function14d83: ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3 call GetSRAMBank xor a @@ -475,27 +449,24 @@ Unreferenced_Function14d83: ; 14d83 ld [$a60d], a ; address of MBC30 bank call CloseSRAM ret -; 14d93 -Unreferenced_Function14d93: ; 14d93 +Unreferenced_Function14d93: ld a, 7 ; MBC30 bank used by JP Crystal; inaccessible by MBC3 call GetSRAMBank xor a ld [$a000], a ; address of MBC30 bank call CloseSRAM ret -; 14da0 -HallOfFame_InitSaveIfNeeded: ; 14da0 +HallOfFame_InitSaveIfNeeded: ld a, [wSavedAtLeastOnce] and a ret nz call ErasePreviousSave ret -; 14da9 -ValidateSave: ; 14da9 +ValidateSave: ld a, BANK(sCheckValue1) ; BANK(sCheckValue2) call GetSRAMBank ld a, SAVE_CHECK_VALUE_1 @@ -503,9 +474,8 @@ ValidateSave: ; 14da9 ld a, SAVE_CHECK_VALUE_2 ld [sCheckValue2], a jp CloseSRAM -; 14dbb -SaveOptions: ; 14dbb +SaveOptions: ld a, BANK(sOptions) call GetSRAMBank ld hl, wOptions @@ -516,9 +486,8 @@ SaveOptions: ; 14dbb and $ff ^ (1 << NO_TEXT_SCROLL) ld [sOptions], a jp CloseSRAM -; 14dd7 -SavePlayerData: ; 14dd7 +SavePlayerData: ld a, BANK(sPlayerData) call GetSRAMBank ld hl, wPlayerData @@ -530,9 +499,8 @@ SavePlayerData: ; 14dd7 ld bc, wCurrMapDataEnd - wCurrMapData call CopyBytes jp CloseSRAM -; 14df7 -SavePokemonData: ; 14df7 +SavePokemonData: ld a, BANK(sPokemonData) call GetSRAMBank ld hl, wPokemonData @@ -541,15 +509,13 @@ SavePokemonData: ; 14df7 call CopyBytes call CloseSRAM ret -; 14e0c -SaveBox: ; 14e0c +SaveBox: call GetBoxAddress call SaveBoxAddress ret -; 14e13 -SaveChecksum: ; 14e13 +SaveChecksum: ld hl, sGameData ld bc, sGameDataEnd - sGameData ld a, BANK(sGameData) @@ -561,9 +527,8 @@ SaveChecksum: ; 14e13 ld [sChecksum + 1], a call CloseSRAM ret -; 14e2d -ValidateBackupSave: ; 14e2d +ValidateBackupSave: ld a, BANK(sBackupCheckValue1) ; BANK(sBackupCheckValue2) call GetSRAMBank ld a, SAVE_CHECK_VALUE_1 @@ -572,9 +537,8 @@ ValidateBackupSave: ; 14e2d ld [sBackupCheckValue2], a call CloseSRAM ret -; 14e40 -SaveBackupOptions: ; 14e40 +SaveBackupOptions: ld a, BANK(sBackupOptions) call GetSRAMBank ld hl, wOptions @@ -583,9 +547,8 @@ SaveBackupOptions: ; 14e40 call CopyBytes call CloseSRAM ret -; 14e55 -SaveBackupPlayerData: ; 14e55 +SaveBackupPlayerData: ld a, BANK(sBackupPlayerData) call GetSRAMBank ld hl, wPlayerData @@ -598,9 +561,8 @@ SaveBackupPlayerData: ; 14e55 call CopyBytes call CloseSRAM ret -; 14e76 -SaveBackupPokemonData: ; 14e76 +SaveBackupPokemonData: ld a, BANK(sBackupPokemonData) call GetSRAMBank ld hl, wPokemonData @@ -609,9 +571,8 @@ SaveBackupPokemonData: ; 14e76 call CopyBytes call CloseSRAM ret -; 14e8b -SaveBackupChecksum: ; 14e8b +SaveBackupChecksum: ld hl, sBackupGameData ld bc, sBackupGameDataEnd - sBackupGameData ld a, BANK(sBackupGameData) @@ -623,10 +584,9 @@ SaveBackupChecksum: ; 14e8b ld [sBackupChecksum + 1], a call CloseSRAM ret -; 14ea5 -TryLoadSaveFile: ; 14ea5 (5:4ea5) +TryLoadSaveFile: call VerifyChecksum jr nz, .backup call LoadPlayerData @@ -673,7 +633,7 @@ TryLoadSaveFile: ; 14ea5 (5:4ea5) ret -TryLoadSaveData: ; 14f1c +TryLoadSaveData: xor a ld [wSaveFileExists], a call CheckPrimarySaveFile @@ -720,13 +680,12 @@ TryLoadSaveData: ; 14f1c call CopyBytes call PanicResetClock ret -; 14f7c INCLUDE "data/default_options.asm" -CheckPrimarySaveFile: ; 14f84 +CheckPrimarySaveFile: ld a, BANK(sCheckValue1) ; BANK(sCheckValue2) call GetSRAMBank ld a, [sCheckValue1] @@ -746,9 +705,8 @@ CheckPrimarySaveFile: ; 14f84 .nope call CloseSRAM ret -; 14faf -CheckBackupSaveFile: ; 14faf +CheckBackupSaveFile: ld a, BANK(sBackupCheckValue1) ; BANK(sBackupCheckValue2) call GetSRAMBank ld a, [sBackupCheckValue1] @@ -767,10 +725,9 @@ CheckBackupSaveFile: ; 14faf .nope call CloseSRAM ret -; 14fd7 -LoadPlayerData: ; 14fd7 (5:4fd7) +LoadPlayerData: ld a, BANK(sPlayerData) call GetSRAMBank ld hl, sPlayerData @@ -793,7 +750,7 @@ LoadPlayerData: ; 14fd7 (5:4fd7) call CloseSRAM ret -LoadPokemonData: ; 1500c +LoadPokemonData: ld a, BANK(sPokemonData) call GetSRAMBank ld hl, sPokemonData @@ -802,14 +759,13 @@ LoadPokemonData: ; 1500c call CopyBytes call CloseSRAM ret -; 15021 -LoadBox: ; 15021 (5:5021) +LoadBox: call GetBoxAddress call LoadBoxAddress ret -VerifyChecksum: ; 15028 (5:5028) +VerifyChecksum: ld hl, sGameData ld bc, sGameDataEnd - sGameData ld a, BANK(sGameData) @@ -826,7 +782,7 @@ VerifyChecksum: ; 15028 (5:5028) pop af ret -LoadBackupPlayerData: ; 15046 (5:5046) +LoadBackupPlayerData: ld a, BANK(sBackupPlayerData) call GetSRAMBank ld hl, sBackupPlayerData @@ -840,7 +796,7 @@ LoadBackupPlayerData: ; 15046 (5:5046) call CloseSRAM ret -LoadBackupPokemonData: ; 15067 (5:5067) +LoadBackupPokemonData: ld a, BANK(sBackupPokemonData) call GetSRAMBank ld hl, sBackupPokemonData @@ -850,7 +806,7 @@ LoadBackupPokemonData: ; 15067 (5:5067) call CloseSRAM ret -VerifyBackupChecksum: ; 1507c (5:507c) +VerifyBackupChecksum: ld hl, sBackupGameData ld bc, sBackupGameDataEnd - sBackupGameData ld a, BANK(sBackupGameData) @@ -868,7 +824,7 @@ VerifyBackupChecksum: ; 1507c (5:507c) ret -_SaveData: ; 1509a +_SaveData: ; This is called within two scenarios: ; a) ErasePreviousSave (the process of erasing the save from a previous game file) ; b) unused mobile functionality @@ -895,7 +851,7 @@ _SaveData: ; 1509a jp CloseSRAM -_LoadData: ; 150b9 +_LoadData: ld a, BANK(sCrystalData) call GetSRAMBank ld hl, sCrystalData @@ -915,7 +871,7 @@ _LoadData: ; 150b9 jp CloseSRAM -GetBoxAddress: ; 150d8 +GetBoxAddress: ld a, [wCurBox] cp NUM_BOXES jr c, .ok @@ -940,9 +896,8 @@ endr ld l, a pop af ret -; 150f9 -SaveBoxAddress: ; 150f9 +SaveBoxAddress: ; Save box via wBoxPartialData. ; We do this in three steps because the size of wBoxPartialData is less than ; the size of sBox. @@ -1016,10 +971,9 @@ SaveBoxAddress: ; 150f9 pop hl ret -; 1517d -LoadBoxAddress: ; 1517d (5:517d) +LoadBoxAddress: ; Load box via wBoxPartialData. ; We do this in three steps because the size of wBoxPartialData is less than ; the size of sBox. @@ -1083,7 +1037,7 @@ LoadBoxAddress: ; 1517d (5:517d) ret -EraseBoxes: ; 151fb +EraseBoxes: ld hl, BoxAddresses ld c, NUM_BOXES .next @@ -1123,9 +1077,8 @@ EraseBoxes: ; 151fb dec c jr nz, .next ret -; 1522d -BoxAddresses: ; 1522d +BoxAddresses: ; dbww bank, address, address dbww BANK(sBox1), sBox1, sBox1End dbww BANK(sBox2), sBox2, sBox2End @@ -1141,10 +1094,9 @@ BoxAddresses: ; 1522d dbww BANK(sBox12), sBox12, sBox12End dbww BANK(sBox13), sBox13, sBox13End dbww BANK(sBox14), sBox14, sBox14End -; 15273 -Checksum: ; 15273 +Checksum: ld de, 0 .loop ld a, [hli] @@ -1158,7 +1110,6 @@ Checksum: ; 15273 or c jr nz, .loop ret -; 15283 Text_WouldYouLikeToSaveTheGame: ; 0x15283 diff --git a/engine/menus/savemenu_copytilemapatonce.asm b/engine/menus/savemenu_copytilemapatonce.asm index 9b50494a4..8271603d9 100644 --- a/engine/menus/savemenu_copytilemapatonce.asm +++ b/engine/menus/savemenu_copytilemapatonce.asm @@ -1,4 +1,4 @@ -SaveMenu_CopyTilemapAtOnce: ; 4cf45 (13:4f45) +SaveMenu_CopyTilemapAtOnce: ld a, [hCGB] and a jp z, WaitBGMap @@ -38,7 +38,7 @@ SaveMenu_CopyTilemapAtOnce: ; 4cf45 (13:4f45) ld [hBGMapMode], a ret -.CopyTilemapAtOnce: ; 4cf80 (13:4f80) +.CopyTilemapAtOnce: ld [hSPBuffer], sp ; $ffd9 ld sp, hl ld a, [hBGMapAddress + 1] diff --git a/engine/menus/scrolling_menu.asm b/engine/menus/scrolling_menu.asm index 3be3d839c..a313c6646 100644 --- a/engine/menus/scrolling_menu.asm +++ b/engine/menus/scrolling_menu.asm @@ -1,4 +1,4 @@ -_InitScrollingMenu:: ; 245af +_InitScrollingMenu:: xor a ld [wMenuJoypad], a ld [hBGMapMode], a @@ -12,25 +12,22 @@ _InitScrollingMenu:: ; 245af xor a ld [hBGMapMode], a ret -; 245cb -_ScrollingMenu:: ; 245cb +_ScrollingMenu:: .loop call ScrollingMenuJoyAction jp c, .exit call z, .zero jr .loop -; 245d6 -.exit ; 245d6 +.exit call MenuClickSound ld [wMenuJoypad], a ld a, 0 ld [hInMenu], a ret -; 245e1 -.zero ; 245e1 +.zero call ScrollingMenu_InitDisplay ld a, 1 ld [hBGMapMode], a @@ -39,9 +36,8 @@ _ScrollingMenu:: ; 245cb xor a ld [hBGMapMode], a ret -; 245f1 -ScrollingMenu_InitDisplay: ; 245f1 +ScrollingMenu_InitDisplay: xor a ld [hBGMapMode], a ld hl, wOptions @@ -54,9 +50,8 @@ ScrollingMenu_InitDisplay: ; 245f1 pop af ld [wOptions], a ret -; 24609 -ScrollingMenuJoyAction: ; 24609 +ScrollingMenuJoyAction: .loop call ScrollingMenuJoypad ld a, [hJoyLast] @@ -82,15 +77,13 @@ ScrollingMenuJoyAction: ; 24609 bit D_DOWN_F, a jp nz, .d_down jr .loop -; 24640 .unreferenced ; unused ld a, -1 and a ret -; 24644 -.a_button ; 24644 +.a_button call PlaceHollowCursor ld a, [wMenuCursorY] dec a @@ -109,15 +102,13 @@ ScrollingMenuJoyAction: ; 24609 ld a, A_BUTTON scf ret -; 2466f -.b_button ; 2466f +.b_button ld a, B_BUTTON scf ret -; 24673 -.select ; 24673 +.select ld a, [wMenuDataFlags] bit 7, a jp z, xor_a_dec_a @@ -133,18 +124,16 @@ ScrollingMenuJoyAction: ; 24609 ld a, SELECT scf ret -; 24695 -.start ; 24695 +.start ld a, [wMenuDataFlags] bit 6, a jp z, xor_a_dec_a ld a, START scf ret -; 246a1 -.d_left ; 246a1 +.d_left ld hl, w2DMenuFlags2 bit 7, [hl] jp z, xor_a_dec_a @@ -154,9 +143,8 @@ ScrollingMenuJoyAction: ; 24609 ld a, D_LEFT scf ret -; 246b5 -.d_right ; 246b5 +.d_right ld hl, w2DMenuFlags2 bit 7, [hl] jp z, xor_a_dec_a @@ -166,9 +154,8 @@ ScrollingMenuJoyAction: ; 24609 ld a, D_RIGHT scf ret -; 246c9 -.d_up ; 246c9 +.d_up ld hl, w2DMenuFlags2 bit 7, [hl] jp z, xor_a @@ -181,9 +168,8 @@ ScrollingMenuJoyAction: ; 24609 .xor_dec_up jp xor_a_dec_a -; 246df -.d_down ; 246df +.d_down ld hl, w2DMenuFlags2 bit 7, [hl] jp z, xor_a @@ -199,18 +185,16 @@ ScrollingMenuJoyAction: ; 24609 .xor_dec_down jp xor_a_dec_a -; 246fc -ScrollingMenu_GetCursorPosition: ; 246fc +ScrollingMenu_GetCursorPosition: ld a, [wMenuScrollPosition] ld c, a ld a, [wMenuCursorY] add c ld c, a ret -; 24706 -ScrollingMenu_ClearLeftColumn: ; 24706 (9:4706) +ScrollingMenu_ClearLeftColumn: call MenuBoxCoord2Tile ld de, SCREEN_WIDTH add hl, de @@ -223,7 +207,7 @@ ScrollingMenu_ClearLeftColumn: ; 24706 (9:4706) jr nz, .loop ret -InitScrollingMenuCursor: ; 2471a +InitScrollingMenuCursor: ld hl, wMenuData_ItemsPointerAddr ld a, [hli] ld h, [hl] @@ -271,9 +255,8 @@ InitScrollingMenuCursor: ; 2471a .asm_24763 ret -; 24764 -ScrollingMenu_InitFlags: ; 24764 +ScrollingMenu_InitFlags: ld a, [wMenuDataFlags] ld c, a ld a, [wScrollingMenuListSize] @@ -343,9 +326,8 @@ ScrollingMenu_InitFlags: ; 24764 ld [wCursorCurrentTile + 1], a ld [wCursorOffCharacter], a ret -; 247dd -ScrollingMenu_ValidateSwitchItem: ; 247dd +ScrollingMenu_ValidateSwitchItem: ld a, [wScrollingMenuListSize] ld c, a ld a, [wSwitchItem] @@ -359,9 +341,8 @@ ScrollingMenu_ValidateSwitchItem: ; 247dd .done ret -; 247f0 -ScrollingMenu_UpdateDisplay: ; 247f0 +ScrollingMenu_UpdateDisplay: call ClearWholeMenuBox ld a, [wMenuDataFlags] bit 4, a ; place arrows @@ -432,9 +413,8 @@ ScrollingMenu_UpdateDisplay: ; 247f0 ld e, l ld hl, wMenuData_ScrollingMenuFunction1 jp CallPointerAt -; 2486e -ScrollingMenu_CallFunctions1and2: ; 2486e +ScrollingMenu_CallFunctions1and2: push hl ld d, h ld e, l @@ -454,9 +434,8 @@ ScrollingMenu_CallFunctions1and2: ; 2486e .done ret -; 2488b -ScrollingMenu_PlaceCursor: ; 2488b +ScrollingMenu_PlaceCursor: ld a, [wSwitchItem] and a jr z, .done @@ -486,9 +465,8 @@ ScrollingMenu_PlaceCursor: ; 2488b .done ret -; 248b8 -ScrollingMenu_CheckCallFunction3: ; 248b8 +ScrollingMenu_CheckCallFunction3: ld a, [wMenuDataFlags] bit 5, a ; call function 3 ret z @@ -505,9 +483,8 @@ ScrollingMenu_CheckCallFunction3: ; 248b8 ld hl, wMenuData_ScrollingMenuFunction3 call CallPointerAt ret -; 248d5 -ScrollingMenu_GetListItemCoordAndFunctionArgs: ; 248d5 +ScrollingMenu_GetListItemCoordAndFunctionArgs: push de push hl ld e, a @@ -540,4 +517,3 @@ ScrollingMenu_GetListItemCoordAndFunctionArgs: ; 248d5 pop hl pop de ret -; 2490c diff --git a/engine/menus/start_menu.asm b/engine/menus/start_menu.asm index 037efd947..0330b00a3 100644 --- a/engine/menus/start_menu.asm +++ b/engine/menus/start_menu.asm @@ -11,7 +11,7 @@ const STARTMENUITEM_QUIT ; 8 -StartMenu:: ; 125cd +StartMenu:: call ClearWindowData @@ -118,23 +118,20 @@ StartMenu:: ; 125cd .b scf ret -; 12691 -.ExitMenuRunScript: ; 12691 +.ExitMenuRunScript: call ExitMenu ld a, HMENURETURN_SCRIPT ld [hMenuReturn], a ret -; 12699 -.ExitMenuRunScriptCloseText: ; 12699 +.ExitMenuRunScriptCloseText: call ExitMenu ld a, HMENURETURN_SCRIPT ld [hMenuReturn], a jr .ReturnEnd2 -; 126a2 -.ExitMenuCallFuncCloseText: ; 126a2 +.ExitMenuCallFuncCloseText: call ExitMenu ld hl, wQueuedScriptAddr ld a, [hli] @@ -143,14 +140,12 @@ StartMenu:: ; 125cd ld a, [wQueuedScriptBank] rst FarCall jr .ReturnEnd2 -; 126b1 -.ReturnRedraw: ; 126b1 +.ReturnRedraw: call .Clear jp .Reopen -; 126b7 -.Clear: ; 126b7 +.Clear: call ClearBGPalettes call Call_ExitMenu call ReloadTilesetAndPalettes @@ -161,7 +156,6 @@ StartMenu:: ; 125cd call ret_d90 call FinishExitMenu ret -; 126d3 .MenuHeader: @@ -242,16 +236,15 @@ StartMenu:: ; 125cd next "be judged.@" -.OpenMenu: ; 127e5 +.OpenMenu: ld a, [wMenuSelection] call .GetMenuAccountTextPointer ld a, [hli] ld h, [hl] ld l, a jp hl -; 127ef -.MenuString: ; 127ef +.MenuString: push de ld a, [wMenuSelection] call .GetMenuAccountTextPointer @@ -263,9 +256,8 @@ StartMenu:: ; 125cd pop hl call PlaceString ret -; 12800 -.MenuDesc: ; 12800 +.MenuDesc: push de ld a, [wMenuSelection] cp $ff @@ -283,10 +275,9 @@ endr .none pop de ret -; 12819 -.GetMenuAccountTextPointer: ; 12819 +.GetMenuAccountTextPointer: ld e, a ld d, 0 ld hl, wMenuDataPointerTableAddr @@ -297,10 +288,9 @@ rept 6 add hl, de endr ret -; 12829 -.SetUpMenuItems: ; 12829 +.SetUpMenuItems: xor a ld [wWhichIndexSet], a call .FillMenuList @@ -358,10 +348,9 @@ endr ld a, c ld [wMenuItemsList], a ret -; 1288d -.FillMenuList: ; 1288d +.FillMenuList: xor a ld hl, wMenuItemsList ld [hli], a @@ -371,28 +360,24 @@ endr ld de, wMenuItemsList + 1 ld c, 0 ret -; 128a0 -.AppendMenuList: ; 128a0 +.AppendMenuList: ld [de], a inc de inc c ret -; 128a4 -.DrawMenuAccount_: ; 128a4 +.DrawMenuAccount_: jp .DrawMenuAccount -; 128a7 -.PrintMenuAccount: ; 128a7 +.PrintMenuAccount: call .IsMenuAccountOn ret z call .DrawMenuAccount decoord 0, 14 jp .MenuDesc -; 128b4 -.DrawMenuAccount: ; 128b4 +.DrawMenuAccount: call .IsMenuAccountOn ret z hlcoord 0, 13 @@ -402,23 +387,20 @@ endr ld b, 3 ld c, 8 jp TextBoxPalette -; 128cb -.IsMenuAccountOn: ; 128cb +.IsMenuAccountOn: ld a, [wOptions2] and 1 << MENU_ACCOUNT ret -; 128d1 -.DrawBugContestStatusBox: ; 128d1 +.DrawBugContestStatusBox: ld hl, wStatusFlags2 bit STATUSFLAGS2_BUG_CONTEST_TIMER_F, [hl] ret z farcall StartMenu_DrawBugContestStatusBox ret -; 128de -.DrawBugContestStatus: ; 128de +.DrawBugContestStatus: ld hl, wStatusFlags2 bit STATUSFLAGS2_BUG_CONTEST_TIMER_F, [hl] jr nz, .contest @@ -426,18 +408,16 @@ endr .contest farcall StartMenu_PrintBugContestStatus ret -; 128ed -StartMenu_Exit: ; 128ed +StartMenu_Exit: ; Exit the menu. ld a, 1 ret -; 128f0 -StartMenu_Quit: ; 128f0 +StartMenu_Quit: ; Retire from the bug catching contest. ld hl, .EndTheContestText @@ -456,10 +436,9 @@ StartMenu_Quit: ; 128f0 .EndTheContestText: text_jump UnknownText_0x1c1a6c db "@" -; 1290b -StartMenu_Save: ; 1290b +StartMenu_Save: ; Save the game. call BufferScreen @@ -470,20 +449,18 @@ StartMenu_Save: ; 1290b .asm_12919 ld a, 1 ret -; 1291c -StartMenu_Option: ; 1291c +StartMenu_Option: ; Game options. call FadeToMenu farcall OptionsMenu ld a, 6 ret -; 12928 -StartMenu_Status: ; 12928 +StartMenu_Status: ; Player status. call FadeToMenu @@ -491,10 +468,9 @@ StartMenu_Status: ; 12928 call CloseSubmenu ld a, 0 ret -; 12937 -StartMenu_Pokedex: ; 12937 +StartMenu_Pokedex: ld a, [wPartyCount] and a @@ -507,20 +483,18 @@ StartMenu_Pokedex: ; 12937 .asm_12949 ld a, 0 ret -; 1294c -StartMenu_Pokegear: ; 1294c +StartMenu_Pokegear: call FadeToMenu farcall PokeGear call CloseSubmenu ld a, 0 ret -; 1295b -StartMenu_Pack: ; 1295b +StartMenu_Pack: call FadeToMenu farcall Pack @@ -535,10 +509,9 @@ StartMenu_Pack: ; 1295b call ExitAllMenus ld a, 4 ret -; 12976 -StartMenu_Pokemon: ; 12976 +StartMenu_Pokemon: ld a, [wPartyCount] and a @@ -586,9 +559,8 @@ StartMenu_Pokemon: ; 12976 call ExitAllMenus pop af ret -; 129d5 -HasNoItems: ; 129d5 +HasNoItems: ld a, [wNumItems] and a ret nz @@ -612,7 +584,7 @@ HasNoItems: ; 129d5 and a ret -TossItemFromPC: ; 129f4 +TossItemFromPC: push de call PartyMonItemName farcall _CheckTossableItem @@ -677,36 +649,32 @@ TossItemFromPC: ; 129f4 db "@" ; 0x12a60 -CantUseItem: ; 12a60 +CantUseItem: ld hl, CantUseItemText call MenuTextBoxWaitButton ret -; 12a67 -CantUseItemText: ; 12a67 +CantUseItemText: text_jump UnknownText_0x1c1b03 db "@" -; 12a6c -PartyMonItemName: ; 12a6c +PartyMonItemName: ld a, [wCurItem] ld [wd265], a call GetItemName call CopyName1 ret -; 12a79 -CancelPokemonAction: ; 12a79 +CancelPokemonAction: farcall InitPartyMenuWithCancel farcall UnfreezeMonIcons ld a, 1 ret -; 12a88 -PokemonActionSubmenu: ; 12a88 +PokemonActionSubmenu: hlcoord 1, 15 lb bc, 2, 18 call ClearBox @@ -749,10 +717,9 @@ PokemonActionSubmenu: ; 12a88 dbw MONMENUITEM_CANCEL, CancelPokemonAction dbw MONMENUITEM_MOVE, ManagePokemonMoves dbw MONMENUITEM_MAIL, MonMailAction -; 12aec -SwitchPartyMons: ; 12aec +SwitchPartyMons: ; Don't try if there's nothing to switch! ld a, [wPartyCount] @@ -802,10 +769,9 @@ SwitchPartyMons: ; 12aec ld [wPartyMenuActionText], a call CancelPokemonAction ret -; 12b60 -GiveTakePartyMonItem: ; 12b60 +GiveTakePartyMonItem: ; Eggs can't hold items! ld a, [wCurPartySpecies] @@ -844,7 +810,6 @@ GiveTakePartyMonItem: ; 12b60 .cancel ld a, 3 ret -; 12ba9 .GiveItem: @@ -877,10 +842,9 @@ GiveTakePartyMonItem: ; 12b60 .quit ret -; 12bd9 -TryGiveItemToPartymon: ; 12bd9 +TryGiveItemToPartymon: call SpeechTextBox call PartyMonItemName @@ -942,10 +906,9 @@ TryGiveItemToPartymon: ; 12bd9 .abort ret -; 12c4c -GivePartyItem: ; 12c4c +GivePartyItem: call GetPartyItemLocation ld a, [wCurItem] @@ -957,10 +920,9 @@ GivePartyItem: ; 12c4c .done ret -; 12c60 -TakePartyItem: ; 12c60 +TakePartyItem: call SpeechTextBox call GetPartyItemLocation @@ -993,10 +955,9 @@ TakePartyItem: ; 12c60 .asm_12c9a ret -; 12c9b -GiveTakeItemMenuData: ; 12c9b +GiveTakeItemMenuData: db MENU_SPRITE_ANIMS | MENU_BACKUP_TILES ; flags menu_coords 12, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 dw .Items @@ -1007,81 +968,69 @@ GiveTakeItemMenuData: ; 12c9b db 2 ; # items db "GIVE@" db "TAKE@" -; 12caf -TookAndMadeHoldText: ; 12caf +TookAndMadeHoldText: text_jump UnknownText_0x1c1b2c db "@" -; 12cb4 -MadeHoldText: ; 12cb4 +MadeHoldText: text_jump UnknownText_0x1c1b57 db "@" -; 12cb9 -PleaseRemoveMailText: ; 12cb9 +PleaseRemoveMailText: text_jump UnknownText_0x1c1b6f db "@" -; 12cbe -IsntHoldingAnythingText: ; 12cbe +IsntHoldingAnythingText: text_jump UnknownText_0x1c1b8e db "@" -; 12cc3 -ItemStorageIsFullText: ; 12cc3 +ItemStorageIsFullText: text_jump UnknownText_0x1c1baa db "@" -; 12cc8 -TookFromText: ; 12cc8 +TookFromText: text_jump UnknownText_0x1c1bc4 db "@" -; 12ccd -SwitchAlreadyHoldingText: ; 12ccd +SwitchAlreadyHoldingText: text_jump UnknownText_0x1c1bdc db "@" -; 12cd2 -CantBeHeldText: ; 12cd2 +CantBeHeldText: text_jump UnknownText_0x1c1c09 db "@" -; 12cd7 -GetPartyItemLocation: ; 12cd7 +GetPartyItemLocation: push af ld a, MON_ITEM call GetPartyParamLocation pop af ret -; 12cdf -ReceiveItemFromPokemon: ; 12cdf +ReceiveItemFromPokemon: ld a, 1 ld [wItemQuantityChangeBuffer], a ld hl, wNumItems jp ReceiveItem -; 12cea -GiveItemToPokemon: ; 12cea (4:6cea) +GiveItemToPokemon: ld a, 1 ld [wItemQuantityChangeBuffer], a ld hl, wNumItems jp TossItem -StartMenuYesNo: ; 12cf5 +StartMenuYesNo: call MenuTextBox call YesNoBox jp ExitMenu -; 12cfe -ComposeMailMessage: ; 12cfe (4:6cfe) +ComposeMailMessage: ld de, wTempMailMessage farcall _ComposeMailMessage ld hl, wPlayerName @@ -1110,7 +1059,7 @@ ComposeMailMessage: ; 12cfe (4:6cfe) call CloseSRAM ret -MonMailAction: ; 12d45 +MonMailAction: ; If in the time capsule or trade center, ; selecting the mail only allows you to ; read the mail. @@ -1181,7 +1130,6 @@ MonMailAction: ; 12d45 .done ld a, $3 ret -; 12dc9 .MenuHeader: @@ -1237,7 +1185,7 @@ MonMailAction: ; 12d45 ; 0x12e00 -OpenPartyStats: ; 12e00 +OpenPartyStats: call LoadStandardMenuHeader call ClearSprites ; PartyMon @@ -1249,10 +1197,9 @@ OpenPartyStats: ; 12e00 call Call_ExitMenu ld a, 0 ret -; 12e1b -MonMenu_Cut: ; 12e1b +MonMenu_Cut: farcall CutFunction ld a, [wFieldMoveSucceeded] cp $1 @@ -1264,10 +1211,9 @@ MonMenu_Cut: ; 12e1b .Fail: ld a, $3 ret -; 12e30 -MonMenu_Fly: ; 12e30 +MonMenu_Fly: farcall FlyFunction ld a, [wFieldMoveSucceeded] cp $2 @@ -1290,9 +1236,8 @@ MonMenu_Fly: ; 12e30 .Unreferenced: ld a, $1 ret -; 12e55 -MonMenu_Flash: ; 12e55 +MonMenu_Flash: farcall OWFlash ld a, [wFieldMoveSucceeded] cp $1 @@ -1304,9 +1249,8 @@ MonMenu_Flash: ; 12e55 .Fail: ld a, $3 ret -; 12e6a -MonMenu_Strength: ; 12e6a +MonMenu_Strength: farcall StrengthFunction ld a, [wFieldMoveSucceeded] cp $1 @@ -1318,9 +1262,8 @@ MonMenu_Strength: ; 12e6a .Fail: ld a, $3 ret -; 12e7f -MonMenu_Whirlpool: ; 12e7f +MonMenu_Whirlpool: farcall WhirlpoolFunction ld a, [wFieldMoveSucceeded] cp $1 @@ -1332,9 +1275,8 @@ MonMenu_Whirlpool: ; 12e7f .Fail: ld a, $3 ret -; 12e94 -MonMenu_Waterfall: ; 12e94 +MonMenu_Waterfall: farcall WaterfallFunction ld a, [wFieldMoveSucceeded] cp $1 @@ -1346,9 +1288,8 @@ MonMenu_Waterfall: ; 12e94 .Fail: ld a, $3 ret -; 12ea9 -MonMenu_Teleport: ; 12ea9 +MonMenu_Teleport: farcall TeleportFunction ld a, [wFieldMoveSucceeded] and a @@ -1360,9 +1301,8 @@ MonMenu_Teleport: ; 12ea9 .Fail: ld a, $3 ret -; 12ebd -MonMenu_Surf: ; 12ebd +MonMenu_Surf: farcall SurfFunction ld a, [wFieldMoveSucceeded] and a @@ -1374,9 +1314,8 @@ MonMenu_Surf: ; 12ebd .Fail: ld a, $3 ret -; 12ed1 -MonMenu_Dig: ; 12ed1 +MonMenu_Dig: farcall DigFunction ld a, [wFieldMoveSucceeded] cp $1 @@ -1388,9 +1327,8 @@ MonMenu_Dig: ; 12ed1 .Fail: ld a, $3 ret -; 12ee6 -MonMenu_Softboiled_MilkDrink: ; 12ee6 +MonMenu_Softboiled_MilkDrink: call .CheckMonHasEnoughHP jr nc, .NotEnoughHP farcall Softboiled_MilkDrinkFunction @@ -1405,7 +1343,6 @@ MonMenu_Softboiled_MilkDrink: ; 12ee6 ld [wPartyMenuActionText], a ld a, $3 ret -; 12f00 .Text_NotEnoughHP: ; Not enough HP! @@ -1433,9 +1370,8 @@ MonMenu_Softboiled_MilkDrink: ; 12ee6 ld a, [hQuotient + 1] sbc [hl] ret -; 12f26 -MonMenu_Headbutt: ; 12f26 +MonMenu_Headbutt: farcall HeadbuttFunction ld a, [wFieldMoveSucceeded] cp $1 @@ -1447,9 +1383,8 @@ MonMenu_Headbutt: ; 12f26 .Fail: ld a, $3 ret -; 12f3b -MonMenu_RockSmash: ; 12f3b +MonMenu_RockSmash: farcall RockSmashFunction ld a, [wFieldMoveSucceeded] cp $1 @@ -1461,16 +1396,14 @@ MonMenu_RockSmash: ; 12f3b .Fail: ld a, $3 ret -; 12f50 -MonMenu_SweetScent: ; 12f50 +MonMenu_SweetScent: farcall SweetScentFromMenu ld b, $4 ld a, $2 ret -; 12f5b -ChooseMoveToDelete: ; 12f5b +ChooseMoveToDelete: ld hl, wOptions ld a, [hl] push af @@ -1484,7 +1417,6 @@ ChooseMoveToDelete: ; 12f5b call ClearBGPalettes pop af ret -; 12f73 .ChooseMoveToDelete call SetUpMoveScreenBG @@ -1506,7 +1438,6 @@ ChooseMoveToDelete: ; 12f5b call PrepareToPlaceMoveData call PlaceMoveData jp .loop -; 12f9c .a_button and a @@ -1525,17 +1456,15 @@ ChooseMoveToDelete: ; 12f5b call ClearTileMap pop af ret -; 12fb2 -DeleteMoveScreenAttrs: ; 12fb2 +DeleteMoveScreenAttrs: db 3, 1 db 3, 1 db $40, $00 dn 2, 0 db D_UP | D_DOWN | A_BUTTON | B_BUTTON -; 12fba -ManagePokemonMoves: ; 12fba +ManagePokemonMoves: ld a, [wCurPartySpecies] cp EGG jr z, .egg @@ -1551,9 +1480,8 @@ ManagePokemonMoves: ; 12fba .egg ld a, $0 ret -; 12fd5 -MoveScreenLoop: ; 12fd5 +MoveScreenLoop: ld a, [wCurPartyMon] inc a ld [wPartyMenuCursor], a @@ -1613,7 +1541,6 @@ MoveScreenLoop: ; 12fd5 lb bc, 8, SCREEN_WIDTH - 2 call ClearBox jp .loop -; 1305b .d_right ld a, [wMoveSwapBuffer] @@ -1678,7 +1605,6 @@ MoveScreenLoop: ; 12fd5 and a jr z, .cycle_right jr .cycle_left_loop -; 130c6 .a_button call PlayClickSFX @@ -1729,7 +1655,6 @@ MoveScreenLoop: ; 12fd5 lb bc, 1, 9 call ClearBox jp .loop -; 1313a .copy_move push hl @@ -1752,7 +1677,6 @@ MoveScreenLoop: ; 12fd5 ld a, b ld [de], a ret -; 13154 .exit xor a @@ -1761,21 +1685,18 @@ MoveScreenLoop: ; 12fd5 res 6, [hl] call ClearSprites jp ClearTileMap -; 13163 -MoveScreenAttributes: ; 13163 +MoveScreenAttributes: db 3, 1 db 3, 1 db $40, $00 dn 2, 0 db D_UP | D_DOWN | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON -; 1316b -String_MoveWhere: ; 1316b +String_MoveWhere: db "Where?@" -; 13172 -SetUpMoveScreenBG: ; 13172 +SetUpMoveScreenBG: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -1821,9 +1742,8 @@ SetUpMoveScreenBG: ; 13172 hlcoord 16, 0 lb bc, 1, 3 jp ClearBox -; 131ef -SetUpMoveList: ; 131ef +SetUpMoveList: xor a ld [hBGMapMode], a ld [wMoveSwapBuffer], a @@ -1848,9 +1768,8 @@ SetUpMoveList: ; 131ef ld b, 5 ld c, 18 jp TextBox -; 13235 -PrepareToPlaceMoveData: ; 13235 +PrepareToPlaceMoveData: ld hl, wPartyMon1Moves ld bc, PARTYMON_STRUCT_LENGTH ld a, [wCurPartyMon] @@ -1865,9 +1784,8 @@ PrepareToPlaceMoveData: ; 13235 hlcoord 1, 12 lb bc, 5, 18 jp ClearBox -; 13256 -PlaceMoveData: ; 13256 +PlaceMoveData: xor a ld [hBGMapMode], a hlcoord 0, 10 @@ -1909,28 +1827,22 @@ PlaceMoveData: ; 13256 ld a, $1 ld [hBGMapMode], a ret -; 132ba -String_MoveType_Top: ; 132ba +String_MoveType_Top: db "┌─────┐@" -; 132c2 -String_MoveType_Bottom: ; 132c2 +String_MoveType_Bottom: db "│TYPE/└@" -; 132ca -String_MoveAtk: ; 132ca +String_MoveAtk: db "ATK/@" -; 132cf -String_MoveNoPower: ; 132cf +String_MoveNoPower: db "---@" -; 132d3 -Function132d3: ; 132d3 +Function132d3: call Function132da call Function132fe ret -; 132da -Function132da: ; 132da +Function132da: ld a, [wCurPartyMon] and a ret z @@ -1958,9 +1870,8 @@ Function132da: ; 132da hlcoord 16, 0 ld [hl], "◀" ret -; 132fe -Function132fe: ; 132fe +Function132fe: ld a, [wCurPartyMon] inc a ld c, a @@ -1990,4 +1901,3 @@ Function132fe: ; 132fe hlcoord 18, 0 ld [hl], "▶" ret -; 13327 diff --git a/engine/menus/trainer_card.asm b/engine/menus/trainer_card.asm index e84c1c9f3..7a0249b61 100644 --- a/engine/menus/trainer_card.asm +++ b/engine/menus/trainer_card.asm @@ -8,7 +8,7 @@ const TRAINERCARDSTATE_PAGE3_JOYPAD ; 5 const TRAINERCARDSTATE_QUIT ; 6 -TrainerCard: ; 25105 +TrainerCard: ld a, [wVramState] push af xor a @@ -38,7 +38,7 @@ TrainerCard: ; 25105 ld [wVramState], a ret -.InitRAM: ; 2513b (9:513b) +.InitRAM: call ClearBGPalettes call ClearSprites call ClearTileMap @@ -78,10 +78,10 @@ TrainerCard: ; 25105 ld [hl], a ; wTrainerCardBadgeAttributes ret -.RunJumptable: ; 2518e (9:518e) +.RunJumptable: jumptable .Jumptable, wJumptableIndex -.Jumptable: ; 2519d (9:519d) +.Jumptable: ; entries correspond to TRAINERCARDSTATE_* constants dw TrainerCard_Page1_LoadGFX dw TrainerCard_Page1_Joypad @@ -91,17 +91,17 @@ TrainerCard: ; 25105 dw TrainerCard_Page3_Joypad dw TrainerCard_Quit -TrainerCard_IncrementJumptable: ; 251ab (9:51ab) +TrainerCard_IncrementJumptable: ld hl, wJumptableIndex inc [hl] ret -TrainerCard_Quit: ; 251b0 (9:51b0) +TrainerCard_Quit: ld hl, wJumptableIndex set 7, [hl] ret -TrainerCard_Page1_LoadGFX: ; 251b6 (9:51b6) +TrainerCard_Page1_LoadGFX: call ClearSprites hlcoord 0, 8 ld d, 6 @@ -115,7 +115,7 @@ TrainerCard_Page1_LoadGFX: ; 251b6 (9:51b6) call TrainerCard_IncrementJumptable ret -TrainerCard_Page1_Joypad: ; 251d7 (9:51d7) +TrainerCard_Page1_Joypad: call TrainerCard_Page1_PrintGameTime ld hl, hJoyLast ld a, [hl] @@ -136,9 +136,8 @@ TrainerCard_Page1_Joypad: ; 251d7 (9:51d7) ld [wJumptableIndex], a ret -; 251f4 -TrainerCard_Page2_LoadGFX: ; 251f4 (9:51f4) +TrainerCard_Page2_LoadGFX: call ClearSprites hlcoord 0, 8 ld d, 6 @@ -156,7 +155,7 @@ TrainerCard_Page2_LoadGFX: ; 251f4 (9:51f4) call TrainerCard_IncrementJumptable ret -TrainerCard_Page2_Joypad: ; 25221 (9:5221) +TrainerCard_Page2_Joypad: ld hl, TrainerCard_JohtoBadgesOAM call TrainerCard_Page2_3_AnimateBadges ld hl, hJoyLast @@ -186,7 +185,7 @@ TrainerCard_Page2_Joypad: ; 25221 (9:5221) ld [wJumptableIndex], a ret -TrainerCard_Page3_LoadGFX: ; 2524c (9:524c) +TrainerCard_Page3_LoadGFX: call ClearSprites hlcoord 0, 8 ld d, 6 @@ -204,7 +203,7 @@ TrainerCard_Page3_LoadGFX: ; 2524c (9:524c) call TrainerCard_IncrementJumptable ret -TrainerCard_Page3_Joypad: ; 25279 (9:5279) +TrainerCard_Page3_Joypad: ld hl, TrainerCard_JohtoBadgesOAM call TrainerCard_Page2_3_AnimateBadges ld hl, hJoyLast @@ -226,7 +225,7 @@ TrainerCard_Page3_Joypad: ; 25279 (9:5279) ld [wJumptableIndex], a ret -TrainerCard_PrintTopHalfOfCard: ; 25299 (9:5299) +TrainerCard_PrintTopHalfOfCard: hlcoord 0, 0 ld d, 5 call TrainerCard_InitBorder @@ -257,21 +256,19 @@ TrainerCard_PrintTopHalfOfCard: ; 25299 (9:5299) predef PlaceGraphic ret -; 252ec (9:52ec) -.Name_Money: ; 252ec +.Name_Money: db "NAME/" next "" next "MONEY@" -.ID_No: ; 252f9 +.ID_No: db $27, $28, -1 ; ID NO -.HorizontalDivider: ; 252fc +.HorizontalDivider: db $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $26, -1 ; ____________> -; 2530a -TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a) +TrainerCard_Page1_PrintDexCaught_GameTime: hlcoord 2, 10 ld de, .Dex_PlayTime call PlaceString @@ -304,11 +301,10 @@ TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a) .Badges: db " BADGES▶@" -.StatusTilemap: ; 25366 +.StatusTilemap: db $29, $2a, $2b, $2c, $2d, -1 -; 2536c -TrainerCard_Page2_3_InitObjectsAndStrings: ; 2536c (9:536c) +TrainerCard_Page2_3_InitObjectsAndStrings: hlcoord 2, 8 ld de, .BadgesTilemap call TrainerCardSetup_PlaceTilemapString @@ -338,13 +334,11 @@ endr call TrainerCard_Page2_3_OAMUpdate ret -; 253a2 (9:53a2) -.BadgesTilemap: ; 253a2 +.BadgesTilemap: db $79, $7a, $7b, $7c, $7d, -1 ; "BADGES" -; 253a8 -TrainerCardSetup_PlaceTilemapString: ; 253a8 (9:53a8) +TrainerCardSetup_PlaceTilemapString: .loop ld a, [de] cp -1 @@ -353,7 +347,7 @@ TrainerCardSetup_PlaceTilemapString: ; 253a8 (9:53a8) inc de jr .loop -TrainerCard_InitBorder: ; 253b0 (9:53b0) +TrainerCard_InitBorder: ld e, SCREEN_WIDTH .loop1 ld a, $23 @@ -411,7 +405,7 @@ TrainerCard_InitBorder: ; 253b0 (9:53b0) jr nz, .loop6 ret -TrainerCard_Page2_3_PlaceLeadersFaces: ; 253f4 (9:53f4) +TrainerCard_Page2_3_PlaceLeadersFaces: push de push hl ld [hli], a @@ -442,7 +436,7 @@ TrainerCard_Page2_3_PlaceLeadersFaces: ; 253f4 (9:53f4) pop de ret -TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415) +TrainerCard_Page1_PrintGameTime: hlcoord 11, 12 ld de, wGameTimeHours lb bc, 2, 4 @@ -460,7 +454,7 @@ TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415) ld [hl], a ret -TrainerCard_Page2_3_AnimateBadges: ; 25438 (9:5438) +TrainerCard_Page2_3_AnimateBadges: ld a, [hVBlankCounter] and %111 ret nz @@ -470,7 +464,7 @@ TrainerCard_Page2_3_AnimateBadges: ; 25438 (9:5438) ld [wTrainerCardBadgeFrameCounter], a jr TrainerCard_Page2_3_OAMUpdate -TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448) +TrainerCard_Page2_3_OAMUpdate: ; copy flag array pointer ld a, [hli] ld e, a @@ -510,7 +504,7 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448) jr nz, .loop ret -.PrepOAM: ; 2547b (9:547b) +.PrepOAM: ld a, [wTrainerCardBadgeTileID] and 1 << 7 jr nz, .xflip @@ -546,23 +540,22 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448) inc de jr .loop2 -; 254a7 (9:54a7) -.facing1 ; 254a7 +.facing1 dsprite 0, 0, 0, 0, $00, 0 dsprite 0, 0, 1, 0, $01, 0 dsprite 1, 0, 0, 0, $02, 0 dsprite 1, 0, 1, 0, $03, 0 db -1 -.facing2 ; 254b8 +.facing2 dsprite 0, 0, 0, 0, $01, 0 | X_FLIP dsprite 0, 0, 1, 0, $00, 0 | X_FLIP dsprite 1, 0, 0, 0, $03, 0 | X_FLIP dsprite 1, 0, 1, 0, $02, 0 | X_FLIP db -1 -TrainerCard_JohtoBadgesOAM: ; 254c9 +TrainerCard_JohtoBadgesOAM: ; Template OAM data for each badge on the trainer card. ; Format: ; y, x, palette @@ -611,7 +604,6 @@ TrainerCard_JohtoBadgesOAM: ; 254c9 db $80, $78, 0 db $1c, $20, $24, $20 | (1 << 7) db $1c | (1 << 7), $20, $24, $20 | (1 << 7) -; 25523 CardStatusGFX: INCBIN "gfx/trainer_card/card_status.2bpp" diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index 87ebfb14f..e8d880816 100644 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -3,7 +3,7 @@ INCLUDE "constants.asm" SECTION "Credits", ROMX -Credits:: ; 109847 +Credits:: bit 6, b ; Hall Of Fame ld a, $0 jr z, .okay @@ -104,18 +104,16 @@ Credits:: ; 109847 pop af ld [rSVBK], a ret -; 1098fd -Credits_HandleAButton: ; 1098fd +Credits_HandleAButton: ld a, [hJoypadDown] and A_BUTTON ret z ld a, [wJumptableIndex] bit 7, a ret -; 109908 -Credits_HandleBButton: ; 109908 +Credits_HandleBButton: ld a, [hJoypadDown] and B_BUTTON ret z @@ -136,9 +134,8 @@ Credits_HandleBButton: ; 109908 ret z dec [hl] ret -; 109926 -Credits_Jumptable: ; 109926 +Credits_Jumptable: ld a, [wJumptableIndex] and $f ld e, a @@ -150,9 +147,8 @@ Credits_Jumptable: ; 109926 ld h, [hl] ld l, a jp hl -; 109937 -.Jumptable: ; 109937 (42:5937) +.Jumptable: dw ParseCredits dw Credits_Next dw Credits_Next @@ -167,24 +163,24 @@ Credits_Jumptable: ; 109926 dw Credits_RequestGFX dw Credits_LoopBack -Credits_Next: ; 109951 (42:5951) +Credits_Next: ld hl, wJumptableIndex inc [hl] ret -Credits_LoopBack: ; 109956 (42:5956) +Credits_LoopBack: ld hl, wJumptableIndex ld a, [hl] and $f0 ld [hl], a ret -Credits_PrepBGMapUpdate: ; 10995e (42:595e) +Credits_PrepBGMapUpdate: xor a ld [hBGMapMode], a jp Credits_Next -Credits_UpdateGFXRequestPath: ; 109964 (42:5964) +Credits_UpdateGFXRequestPath: call Credits_LoadBorderGFX ld a, l ld [wRequested2bppSource], a @@ -196,14 +192,14 @@ Credits_UpdateGFXRequestPath: ; 109964 (42:5964) ld [wRequested2bppDest + 1], a jr Credits_RequestGFX -Credits_RequestGFX: ; 10997b (42:597b) +Credits_RequestGFX: xor a ld [hBGMapMode], a ld a, $8 ld [wRequested2bpp], a jp Credits_Next -Credits_LYOverride: ; 109986 (42:5986) +Credits_LYOverride: ld a, [rLY] cp $30 jr c, Credits_LYOverride @@ -217,17 +213,16 @@ Credits_LYOverride: ; 109986 (42:5986) call .Fill jp Credits_Next -.Fill: ; 1099a3 (42:59a3) +.Fill: ld c, $8 .loop ld [hli], a dec c jr nz, .loop ret -; 1099aa -ParseCredits: ; 1099aa +ParseCredits: ld hl, wJumptableIndex bit 7, [hl] jp nz, .done @@ -397,10 +392,9 @@ ParseCredits: ; 1099aa pop de pop hl ret -; 109a95 -ConstructCreditsTilemap: ; 109a95 (42:5a95) +ConstructCreditsTilemap: xor a ld [hBGMapMode], a ld a, $c @@ -453,7 +447,7 @@ ConstructCreditsTilemap: ; 109a95 (42:5a95) call WaitBGMap2 ret -.InitTopPortion: ; 109aff (42:5aff) +.InitTopPortion: ld b, 5 .outer_loop push hl @@ -478,7 +472,7 @@ endr jr nz, .outer_loop ret -DrawCreditsBorder: ; 109b1d (42:5b1d) +DrawCreditsBorder: ld c, SCREEN_WIDTH / 4 .loop push af @@ -492,7 +486,7 @@ endr jr nz, .loop ret -GetCreditsPalette: ; 109b2c +GetCreditsPalette: call .GetPalAddress push hl @@ -541,9 +535,8 @@ GetCreditsPalette: ; 109b2c CreditsPalettes: INCLUDE "gfx/credits/credits.pal" -; 109bca -Credits_LoadBorderGFX: ; 109bca (42:5bca) +Credits_LoadBorderGFX: ld hl, wCreditsBorderFrame ld a, [hl] cp $ff @@ -572,9 +565,8 @@ Credits_LoadBorderGFX: ; 109bca (42:5bca) .init ld hl, wCreditsFaux2bpp ret -; 109bf1 (42:5bf1) -.Frames: ; 109bf1 +.Frames: dw CreditsPichuGFX dw CreditsPichuGFX + 16 tiles dw CreditsPichuGFX + 32 tiles @@ -591,14 +583,13 @@ Credits_LoadBorderGFX: ; 109bca (42:5bca) dw CreditsIgglybuffGFX + 16 tiles dw CreditsIgglybuffGFX + 32 tiles dw CreditsIgglybuffGFX + 48 tiles -; 109c11 -Credits_TheEnd: ; 109c11 (42:5c11) +Credits_TheEnd: ld a, $40 hlcoord 6, 9 call .Load hlcoord 6, 10 -.Load: ; 109c1c (42:5c1c) +.Load: ld c, 8 .loop ld [hli], a @@ -606,7 +597,6 @@ Credits_TheEnd: ; 109c11 (42:5c11) dec c jr nz, .loop ret -; 109c24 (42:5c24) CreditsBorderGFX: INCBIN "gfx/credits/border.2bpp" diff --git a/engine/movie/crystal_intro.asm b/engine/movie/crystal_intro.asm index 56bb02750..6e132cfec 100644 --- a/engine/movie/crystal_intro.asm +++ b/engine/movie/crystal_intro.asm @@ -1,4 +1,4 @@ -Copyright_GFPresents: ; e4579 +Copyright_GFPresents: ld de, MUSIC_NONE call PlayMusic call ClearBGPalettes @@ -47,9 +47,8 @@ Copyright_GFPresents: ; e4579 call .StopGamefreakAnim and a ret -; e45e8 -.GetGFLogoGFX: ; e45e8 +.GetGFLogoGFX: ld de, GameFreakLogo ld hl, vTiles2 lb bc, BANK(GameFreakLogo), 28 @@ -104,18 +103,16 @@ Copyright_GFPresents: ; e4579 lb de, %11100100, %11100100 call DmgToCgbObjPals ret -; e465e -.StopGamefreakAnim: ; e465e +.StopGamefreakAnim: farcall ClearSpriteAnims call ClearTileMap call ClearSprites ld c, 16 call DelayFrames ret -; e4670 -PlaceGameFreakPresents: ; e4670 +PlaceGameFreakPresents: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -126,26 +123,22 @@ PlaceGameFreakPresents: ; e4670 ld h, [hl] ld l, a jp hl -; e467f -.dw ; e467f +.dw dw PlaceGameFreakPresents_0 dw PlaceGameFreakPresents_1 dw PlaceGameFreakPresents_2 dw PlaceGameFreakPresents_3 -; e4687 -PlaceGameFreakPresents_AdvanceIndex: ; e4687 +PlaceGameFreakPresents_AdvanceIndex: ld hl, wJumptableIndex inc [hl] ret -; e468c -PlaceGameFreakPresents_0: ; e468c +PlaceGameFreakPresents_0: ret -; e468d -PlaceGameFreakPresents_1: ; e468d +PlaceGameFreakPresents_1: ld hl, wIntroSceneTimer ld a, [hl] cp $20 @@ -163,16 +156,14 @@ PlaceGameFreakPresents_1: ; e468d ld de, SFX_GAME_FREAK_PRESENTS call PlaySFX ret -; e46af .GAME_FREAK: ; G A M E _ F R E A K db 0, 1, 2, 3, 13, 4, 5, 3, 1, 6 .end db "@" -; e46ba -PlaceGameFreakPresents_2: ; e46ba +PlaceGameFreakPresents_2: ld hl, wIntroSceneTimer ld a, [hl] cp $40 @@ -188,15 +179,13 @@ PlaceGameFreakPresents_2: ; e46ba call CopyBytes call PlaceGameFreakPresents_AdvanceIndex ret -; e46d6 .presents db 7, 8, 9, 10, 11, 12 .end db "@" -; e46dd -PlaceGameFreakPresents_3: ; e46dd +PlaceGameFreakPresents_3: ld hl, wIntroSceneTimer ld a, [hl] cp $80 @@ -208,10 +197,9 @@ PlaceGameFreakPresents_3: ; e46dd ld hl, wJumptableIndex set 7, [hl] ret -; e46ed -GameFreakLogoJumper: ; e46ed (39:46ed) +GameFreakLogoJumper: ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld e, [hl] @@ -224,20 +212,20 @@ GameFreakLogoJumper: ; e46ed (39:46ed) ld l, a jp hl -GameFreakLogoScenes: ; e46fd (39:46fd) +GameFreakLogoScenes: dw GameFreakLogoScene1 dw GameFreakLogoScene2 dw GameFreakLogoScene3 dw GameFreakLogoScene4 dw GameFreakLogoScene5 -GameFreakLogoScene1: ; e4707 (39:4707) +GameFreakLogoScene1: ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc inc [hl] ret -GameFreakLogoScene2: ; e470d (39:470d) +GameFreakLogoScene2: ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -283,7 +271,7 @@ GameFreakLogoScene2: ; e470d (39:470d) call PlaySFX ret -GameFreakLogoScene3: ; e4759 (39:4759) +GameFreakLogoScene3: ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld a, [hl] @@ -303,7 +291,7 @@ GameFreakLogoScene3: ; e4759 (39:4759) call PlaySFX ret -GameFreakLogoScene4: ; e4776 (39:4776) +GameFreakLogoScene4: ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld a, [hl] @@ -336,20 +324,17 @@ GameFreakLogoScene4: ; e4776 (39:4776) add hl, bc inc [hl] call PlaceGameFreakPresents_AdvanceIndex -GameFreakLogoScene5: ; e47ab (39:47ab) +GameFreakLogoScene5: ret -; e47ac (39:47ac) -GameFreakLogoPalettes: ; e47ac +GameFreakLogoPalettes: INCLUDE "gfx/intro/gamefreak_logo.pal" -; e47cc -GameFreakLogo: ; e47cc +GameFreakLogo: INCBIN "gfx/splash/logo1.1bpp" INCBIN "gfx/splash/logo2.1bpp" -; e48ac -CrystalIntro: ; e48ac +CrystalIntro: ld a, [rSVBK] push af ld a, BANK(wGBCPalettes) @@ -359,7 +344,7 @@ CrystalIntro: ; e48ac ld a, [hVBlank] push af call .InitRAMAddrs -.loop ; e48bc +.loop call JoyTextDelay ld a, [hJoyLast] and BUTTONS @@ -394,9 +379,8 @@ CrystalIntro: ; e48ac pop af ld [rSVBK], a ret -; e4901 -.InitRAMAddrs: ; e4901 +.InitRAMAddrs: xor a ld [hVBlank], a ld a, $1 @@ -405,9 +389,8 @@ CrystalIntro: ; e48ac ld [hMapAnims], a ld [wJumptableIndex], a ret -; e490f -IntroSceneJumper: ; e490f +IntroSceneJumper: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -418,9 +401,8 @@ IntroSceneJumper: ; e490f ld h, [hl] ld l, a jp hl -; e491e -IntroScenes: ; e491e (39:491e) +IntroScenes: dw IntroScene1 dw IntroScene2 dw IntroScene3 @@ -450,12 +432,12 @@ IntroScenes: ; e491e (39:491e) dw IntroScene27 dw IntroScene28 -NextIntroScene: ; e4956 (39:4956) +NextIntroScene: ld hl, wJumptableIndex inc [hl] ret -IntroScene1: ; e495b (39:495b) +IntroScene1: ; Setup the next scene. call Intro_ClearBGPals call ClearSprites @@ -507,7 +489,7 @@ IntroScene1: ; e495b (39:495b) call NextIntroScene ret -IntroScene2: ; e49d6 (39:49d6) +IntroScene2: ; First Unown (A) fades in, pulses, then fades out. ld hl, wIntroSceneFrameCounter ld a, [hl] @@ -531,7 +513,7 @@ IntroScene2: ; e49d6 (39:49d6) call NextIntroScene ret -IntroScene3: ; e49fd (39:49fd) +IntroScene3: ; More setup. Transition to the outdoor scene. call Intro_ClearBGPals call ClearSprites @@ -579,7 +561,7 @@ IntroScene3: ; e49fd (39:49fd) call NextIntroScene ret -IntroScene4: ; e4a69 (39:4a69) +IntroScene4: ; Scroll the outdoor panorama for a bit. call Intro_PerspectiveScrollBG ld hl, wIntroSceneFrameCounter @@ -593,7 +575,7 @@ IntroScene4: ; e4a69 (39:4a69) call NextIntroScene ret -IntroScene5: ; e4a7a (39:4a7a) +IntroScene5: ; Go back to the Unown. call Intro_ClearBGPals call ClearSprites @@ -646,7 +628,7 @@ IntroScene5: ; e4a7a (39:4a7a) call NextIntroScene ret -IntroScene6: ; e4af7 (39:4af7) +IntroScene6: ; Two more Unown (I, H) fade in. ld hl, wIntroSceneFrameCounter ld a, [hl] @@ -691,7 +673,7 @@ IntroScene6: ; e4af7 (39:4af7) call NextIntroScene ret -IntroScene7: ; e4b3f (39:4b3f) +IntroScene7: ; Back to the outdoor scene. call Intro_ClearBGPals call ClearSprites @@ -762,7 +744,7 @@ IntroScene7: ; e4b3f (39:4b3f) call NextIntroScene ret -IntroScene8: ; e4bd3 (39:4bd3) +IntroScene8: ; Scroll the scene, then show Suicune running across the screen. ld hl, wIntroSceneFrameCounter ld a, [hl] @@ -791,7 +773,7 @@ IntroScene8: ; e4bd3 (39:4bd3) call NextIntroScene ret -IntroScene9: ; e4c04 (39:4c04) +IntroScene9: ; Set up the next scene (same bg). xor a ld [hLCDCPointer], a @@ -828,7 +810,7 @@ IntroScene9: ; e4c04 (39:4c04) call NextIntroScene ret -IntroScene10: ; e4c4f (39:4c4f) +IntroScene10: ; Wooper and Pichu enter. call Intro_RustleGrass ld hl, wIntroSceneFrameCounter @@ -861,7 +843,7 @@ IntroScene10: ; e4c4f (39:4c4f) call NextIntroScene ret -IntroScene11: ; e4c86 (39:4c86) +IntroScene11: ; Back to Unown again. call Intro_ClearBGPals call ClearSprites @@ -911,7 +893,7 @@ IntroScene11: ; e4c86 (39:4c86) call NextIntroScene ret -IntroScene12: ; e4cfa (39:4cfa) +IntroScene12: ; Even more Unown. call .PlayUnownSound ld hl, wIntroSceneFrameCounter @@ -951,7 +933,7 @@ IntroScene12: ; e4cfa (39:4cfa) call NextIntroScene ret -.PlayUnownSound: ; e4d36 (39:4d36) +.PlayUnownSound: ld a, [wIntroSceneFrameCounter] ld c, a ld hl, .UnownSounds @@ -973,9 +955,8 @@ IntroScene12: ; e4cfa (39:4cfa) pop de call PlaySFX ret -; e4d54 (39:4d54) -.UnownSounds: ; e4d54 +.UnownSounds: dbw $00, SFX_INTRO_UNOWN_3 dbw $20, SFX_INTRO_UNOWN_2 dbw $40, SFX_INTRO_UNOWN_1 @@ -984,9 +965,9 @@ IntroScene12: ; e4cfa (39:4cfa) dbw $90, SFX_INTRO_UNOWN_2 dbw $a0, SFX_INTRO_UNOWN_1 dbw $b0, SFX_INTRO_UNOWN_2 - db -1 ; e4d6d + db -1 -IntroScene13: ; e4d6d (39:4d6d) +IntroScene13: ; Switch scenes again. call Intro_ClearBGPals call ClearSprites @@ -1045,7 +1026,7 @@ IntroScene13: ; e4d6d (39:4d6d) call NextIntroScene ret -IntroScene14: ; e4dfa (39:4dfa) +IntroScene14: ; Suicune runs then jumps. ld a, [hSCX] sub 10 @@ -1090,7 +1071,7 @@ IntroScene14: ; e4dfa (39:4dfa) call NextIntroScene ret -IntroScene15: ; e4e40 (39:4e40) +IntroScene15: ; Transition to a new scene. call Intro_ClearBGPals call ClearSprites @@ -1154,7 +1135,7 @@ IntroScene15: ; e4e40 (39:4e40) call NextIntroScene ret -IntroScene16: ; e4edc (39:4edc) +IntroScene16: ; Suicune shows its face. An Unown appears in front. ld hl, wIntroSceneFrameCounter ld a, [hl] @@ -1172,7 +1153,7 @@ IntroScene16: ; e4edc (39:4edc) call NextIntroScene ret -IntroScene17: ; e4ef5 (39:4ef5) +IntroScene17: ; ... call Intro_ClearBGPals call ClearSprites @@ -1221,7 +1202,7 @@ IntroScene17: ; e4ef5 (39:4ef5) call NextIntroScene ret -IntroScene18: ; e4f67 (39:4f67) +IntroScene18: ; Suicune close up. ld hl, wIntroSceneFrameCounter ld a, [hl] @@ -1238,7 +1219,7 @@ IntroScene18: ; e4f67 (39:4f67) call NextIntroScene ret -IntroScene19: ; e4f7e (39:4f7e) +IntroScene19: ; More setup. call Intro_ClearBGPals call ClearSprites @@ -1303,7 +1284,7 @@ IntroScene19: ; e4f7e (39:4f7e) call NextIntroScene ret -IntroScene20: ; e5019 (39:5019) +IntroScene20: ; Suicune running away. A bunch of Unown appear. ld hl, wIntroSceneFrameCounter ld a, [hl] @@ -1335,7 +1316,6 @@ IntroScene20: ; e5019 (39:5019) xor a call Intro_Scene20_AppearUnown ret -; e5049 (39:5049) ; unused ld a, c and $1c @@ -1350,7 +1330,7 @@ IntroScene20: ; e5019 (39:5019) call NextIntroScene ret -IntroScene21: ; e505d (39:505d) +IntroScene21: ; Suicune gets more distant and turns black. call Intro_ColoredSuicuneFrameSwap ld c, 3 @@ -1362,7 +1342,7 @@ IntroScene21: ; e505d (39:505d) call NextIntroScene ret -IntroScene22: ; e5072 (39:5072) +IntroScene22: ld hl, wIntroSceneFrameCounter ld a, [hl] inc [hl] @@ -1374,13 +1354,13 @@ IntroScene22: ; e5072 (39:5072) call NextIntroScene ret -IntroScene23: ; e5086 (39:5086) +IntroScene23: xor a ld [wIntroSceneFrameCounter], a call NextIntroScene ret -IntroScene24: ; e508e (39:508e) +IntroScene24: ; Fade to white. ld hl, wIntroSceneFrameCounter ld a, [hl] @@ -1404,7 +1384,7 @@ IntroScene24: ; e508e (39:508e) call NextIntroScene ret -IntroScene25: ; e50ad (39:50ad) +IntroScene25: ; Wait around a bit. ld a, [wIntroSceneFrameCounter] dec a @@ -1416,7 +1396,7 @@ IntroScene25: ; e50ad (39:50ad) call NextIntroScene ret -IntroScene26: ; e50bb (39:50bb) +IntroScene26: ; Load the final scene. call ClearBGPalettes call ClearSprites @@ -1465,7 +1445,7 @@ IntroScene26: ; e50bb (39:50bb) call NextIntroScene ret -IntroScene27: ; e512d (39:512d) +IntroScene27: ; Spell out C R Y S T A L with Unown. ld hl, wIntroSceneTimer inc [hl] @@ -1490,7 +1470,7 @@ IntroScene27: ; e512d (39:512d) ld [wIntroSceneFrameCounter], a ret -IntroScene28: ; e5152 (39:5152) +IntroScene28: ; Cut out when the music ends, and lead into the title screen. ld hl, wIntroSceneFrameCounter ld a, [hl] @@ -1515,7 +1495,7 @@ IntroScene28: ; e5152 (39:5152) set 7, [hl] ret -Intro_Scene24_ApplyPaletteFade: ; e5172 (39:5172) +Intro_Scene24_ApplyPaletteFade: ; load the (a)th palette from .FadePals to all wBGPals2 ld hl, .FadePals add l @@ -1547,13 +1527,11 @@ Intro_Scene24_ApplyPaletteFade: ; e5172 (39:5172) ld a, $1 ld [hCGBPalUpdate], a ret -; e519c (39:519c) -.FadePals: ; e519c +.FadePals: INCLUDE "gfx/intro/fade.pal" -; e51dc -CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) +CrystalIntro_InitUnownAnim: push de ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN call _InitSpriteAnimStruct @@ -1593,7 +1571,7 @@ CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) call ReinitSpriteAnimFrame ret -CrystalIntro_UnownFade: ; e5223 (39:5223) +CrystalIntro_UnownFade: add a add a add a @@ -1673,36 +1651,32 @@ CrystalIntro_UnownFade: ; e5223 (39:5223) ld a, $1 ld [hCGBPalUpdate], a ret -; e5288 (39:5288) -.BWFade: ; e5288 +.BWFade: ; Fade between black and white. hue = 0 rept 32 RGB hue, hue, hue hue = hue + 1 endr -; e52c8 -.BlackLBlueFade: ; e52c8 +.BlackLBlueFade: ; Fade between black and light blue. hue = 0 rept 32 RGB 0, hue / 2, hue hue = hue + 1 endr -; e5308 -.BlackBlueFade: ; e5308 +.BlackBlueFade: ; Fade between black and blue. hue = 0 rept 32 RGB 0, 0, hue hue = hue + 1 endr -; e5348 -Intro_Scene20_AppearUnown: ; e5348 (39:5348) +Intro_Scene20_AppearUnown: ; Spawn the palette for the nth Unown and a jr nz, .load_pal_2 @@ -1755,25 +1729,22 @@ Intro_Scene20_AppearUnown: ; e5348 (39:5348) ld a, $1 ld [hCGBPalUpdate], a ret -; e538d (39:538d) -.pal1 ; e538d +.pal1 RGB 24, 12, 09 RGB 31, 31, 31 RGB 12, 00, 31 RGB 00, 00, 00 -; e5395 -.pal2 ; e5395 +.pal2 RGB 24, 12, 09 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 31, 31 -; e539d -Intro_FadeUnownWordPals: ; e539d (39:539d) +Intro_FadeUnownWordPals: add a add a add a @@ -1823,9 +1794,8 @@ endr ld a, $1 ld [hCGBPalUpdate], a ret -; e53db (39:53db) -.FastFadePalettes: ; e53db +.FastFadePalettes: hue = 31 rept 8 RGB hue, hue, hue @@ -1833,17 +1803,15 @@ hue = hue + -1 RGB hue, hue, hue hue = hue + -2 endr -; e53fb -.SlowFadePalettes: ; e53fb +.SlowFadePalettes: hue = 31 rept 16 RGB hue, hue, hue hue = hue + -1 endr -; e541b -Intro_LoadTilemap: ; e541b (39:541b) +Intro_LoadTilemap: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) @@ -1873,7 +1841,7 @@ Intro_LoadTilemap: ; e541b (39:541b) ld [rSVBK], a ret -Intro_Scene16_AnimateSuicune: ; e5441 (39:5441) +Intro_Scene16_AnimateSuicune: ld a, [wIntroSceneFrameCounter] and $3 jr z, Intro_ColoredSuicuneFrameSwap @@ -1886,7 +1854,7 @@ Intro_Scene16_AnimateSuicune: ; e5441 (39:5441) ld [hBGMapMode], a ret -Intro_ColoredSuicuneFrameSwap: ; e5451 (39:5451) +Intro_ColoredSuicuneFrameSwap: hlcoord 0, 0 ld bc, SCREEN_HEIGHT * SCREEN_WIDTH .loop @@ -1907,7 +1875,7 @@ Intro_ColoredSuicuneFrameSwap: ; e5451 (39:5451) ld [hBGMapMode], a ret -Intro_RustleGrass: ; e546d (39:546d) +Intro_RustleGrass: ld a, [wIntroSceneFrameCounter] cp 36 ret nc @@ -1928,21 +1896,19 @@ Intro_RustleGrass: ; e546d (39:546d) ld a, 4 ld [wRequested2bppSize], a ret -; e5496 (39:5496) -.RustlingGrassPointers: ; e5496 +.RustlingGrassPointers: dw IntroGrass1GFX dw IntroGrass2GFX dw IntroGrass3GFX dw IntroGrass2GFX -; e549e -Intro_SetCGBPalUpdate: ; e549e (39:549e) +Intro_SetCGBPalUpdate: ld a, $1 ld [hCGBPalUpdate], a ret -Intro_ClearBGPals: ; e54a3 (39:54a3) +Intro_ClearBGPals: ld a, [rSVBK] push af ld a, BANK(wBGPals2) @@ -1961,7 +1927,7 @@ Intro_ClearBGPals: ; e54a3 (39:54a3) call DelayFrame ret -Intro_DecompressRequest2bpp_128Tiles: ; e54c2 (39:54c2) +Intro_DecompressRequest2bpp_128Tiles: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) @@ -1980,7 +1946,7 @@ Intro_DecompressRequest2bpp_128Tiles: ; e54c2 (39:54c2) ld [rSVBK], a ret -Intro_DecompressRequest2bpp_255Tiles: ; e54de (39:54de) +Intro_DecompressRequest2bpp_255Tiles: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) @@ -1999,7 +1965,7 @@ Intro_DecompressRequest2bpp_255Tiles: ; e54de (39:54de) ld [rSVBK], a ret -Intro_DecompressRequest2bpp_64Tiles: ; e54fa (39:54fa) +Intro_DecompressRequest2bpp_64Tiles: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) @@ -2018,7 +1984,7 @@ Intro_DecompressRequest2bpp_64Tiles: ; e54fa (39:54fa) ld [rSVBK], a ret -Intro_ResetLYOverrides: ; e5516 (39:5516) +Intro_ResetLYOverrides: ld a, [rSVBK] push af ld a, BANK(wLYOverrides) @@ -2035,7 +2001,7 @@ Intro_ResetLYOverrides: ; e5516 (39:5516) ld [hLCDCPointer], a ret -Intro_PerspectiveScrollBG: ; e552f (39:552f) +Intro_PerspectiveScrollBG: ld a, [rSVBK] push af ld a, BANK(wLYOverrides) @@ -2066,134 +2032,104 @@ Intro_PerspectiveScrollBG: ; e552f (39:552f) ld [rSVBK], a ret -IntroSuicuneRunGFX: ; e555d +IntroSuicuneRunGFX: INCBIN "gfx/intro/suicune_run.2bpp.lz" -; e592d -IntroPichuWooperGFX: ; e592d +IntroPichuWooperGFX: INCBIN "gfx/intro/pichu_wooper.2bpp.lz" -; e5c7d -IntroBackgroundGFX: ; e5c7d +IntroBackgroundGFX: INCBIN "gfx/intro/background.2bpp.lz" -; e5e6d -IntroTilemap004: ; e5e6d +IntroTilemap004: INCBIN "gfx/intro/004.tilemap.lz" -; e5ecd -IntroTilemap003: ; e5ecd +IntroTilemap003: INCBIN "gfx/intro/003.tilemap.lz" -; e5edd -IntroPalette1: ; e5edd +IntroPalette1: INCLUDE "gfx/intro/intro_1.pal" -; e5f5d -IntroUnownsGFX: ; e5f5d +IntroUnownsGFX: INCBIN "gfx/intro/unowns.2bpp.lz" -; e634d -IntroPulseGFX: ; e634d +IntroPulseGFX: INCBIN "gfx/intro/pulse.2bpp.lz" -; e63dd -IntroTilemap002: ; e63dd +IntroTilemap002: INCBIN "gfx/intro/002.tilemap.lz" -; e641d -IntroTilemap001: ; e641d +IntroTilemap001: INCBIN "gfx/intro/001.tilemap.lz" -; e642d -IntroTilemap006: ; e642d +IntroTilemap006: INCBIN "gfx/intro/006.tilemap.lz" -; e647d -IntroTilemap005: ; e647d +IntroTilemap005: INCBIN "gfx/intro/005.tilemap.lz" -; e649d -IntroTilemap008: ; e649d +IntroTilemap008: INCBIN "gfx/intro/008.tilemap.lz" -; e655d -IntroTilemap007: ; e655d +IntroTilemap007: INCBIN "gfx/intro/007.tilemap.lz" -; e65ad -IntroPalette2: ; e65ad +IntroPalette2: INCLUDE "gfx/intro/intro_2.pal" -; e662d -IntroCrystalUnownsGFX: ; e662d +IntroCrystalUnownsGFX: INCBIN "gfx/intro/crystal_unowns.2bpp.lz" -; e672d -IntroTilemap017: ; e672d +IntroTilemap017: INCBIN "gfx/intro/017.tilemap.lz" -; e676d -IntroTilemap015: ; e676d +IntroTilemap015: INCBIN "gfx/intro/015.tilemap.lz" -; e679d -IntroPalette3: ; e679d +IntroPalette3: INCLUDE "gfx/intro/intro_3.pal" -; e681d -IntroSuicuneCloseGFX: ; e681d +IntroSuicuneCloseGFX: INCBIN "gfx/intro/suicune_close.2bpp.lz" -; e6c3d -IntroTilemap012: ; e6c3d +IntroTilemap012: INCBIN "gfx/intro/012.tilemap.lz" -; e6d0d -IntroTilemap011: ; e6d0d +IntroTilemap011: INCBIN "gfx/intro/011.tilemap.lz" -; e6d6d -IntroPalette4: ; e6d6d +IntroPalette4: INCLUDE "gfx/intro/intro_4.pal" -; e6ded -IntroSuicuneJumpGFX: ; e6ded +IntroSuicuneJumpGFX: INCBIN "gfx/intro/suicune_jump.2bpp.lz" -; e72ad -IntroSuicuneBackGFX: ; e72ad +IntroSuicuneBackGFX: INCBIN "gfx/intro/suicune_back.2bpp.lz" -; e764d -IntroTilemap010: ; e764d +IntroTilemap010: INCBIN "gfx/intro/010.tilemap.lz" -; e76ad -IntroTilemap009: ; e76ad +IntroTilemap009: INCBIN "gfx/intro/009.tilemap.lz" -; e76bd -IntroTilemap014: ; e76bd +IntroTilemap014: INCBIN "gfx/intro/014.tilemap.lz" -; e778d -IntroTilemap013: ; e778d +IntroTilemap013: INCBIN "gfx/intro/013.tilemap.lz" -; e77dd -IntroPalette5: ; e77dd +IntroPalette5: INCLUDE "gfx/intro/intro_5.pal" -IntroUnownBackGFX: ; e785d +IntroUnownBackGFX: INCBIN "gfx/intro/unown_back.2bpp.lz" -; e799d -IntroGrass1GFX: ; e799d +IntroGrass1GFX: INCBIN "gfx/intro/grass1.2bpp" -IntroGrass2GFX: ; e79dd +IntroGrass2GFX: INCBIN "gfx/intro/grass2.2bpp" -IntroGrass3GFX: ; e7a1d +IntroGrass3GFX: INCBIN "gfx/intro/grass3.2bpp" -IntroGrass4GFX: ; e7a5d +IntroGrass4GFX: INCBIN "gfx/intro/grass4.2bpp" diff --git a/engine/movie/evolution_animation.asm b/engine/movie/evolution_animation.asm index 978f9e968..426636a0e 100644 --- a/engine/movie/evolution_animation.asm +++ b/engine/movie/evolution_animation.asm @@ -1,4 +1,4 @@ -EvolutionAnimation: ; 4e5e1 +EvolutionAnimation: push hl push de push bc @@ -27,9 +27,8 @@ EvolutionAnimation: ; 4e5e1 scf ret -; 4e607 -.EvolutionAnimation: ; 4e607 +.EvolutionAnimation: ld a, %11100100 ld [rOBP0], a @@ -150,20 +149,17 @@ EvolutionAnimation: ; 4e5e1 ld a, [wPlayerHPPal] call PlayMonCry ret -; 4e703 -.GetSGBLayout: ; 4e703 +.GetSGBLayout: ld b, SCGB_EVOLUTION jp GetSGBLayout -; 4e708 -.PlaceFrontpic: ; 4e708 +.PlaceFrontpic: call GetBaseData hlcoord 7, 2 jp PrepMonFrontpic -; 4e711 -.LoadFrontpic: ; 4e711 +.LoadFrontpic: call GetBaseData ld a, $1 ld [wBoxAlignment], a @@ -172,9 +168,8 @@ EvolutionAnimation: ; 4e5e1 xor a ld [wBoxAlignment], a ret -; 4e726 -.AnimationSequence: ; 4e726 +.AnimationSequence: call ClearJoypad lb bc, 1, 2 * 7 ; flash b times, wait c frames in between .loop @@ -195,9 +190,8 @@ EvolutionAnimation: ; 4e5e1 .exit_sequence scf ret -; 4e741 -.Flash: ; 4e741 +.Flash: ld a, -7 * 7 ; new stage ld [wEvolutionPicOffset], a call .ReplaceFrontpic @@ -207,9 +201,8 @@ EvolutionAnimation: ; 4e5e1 dec b jr nz, .Flash ret -; 4e755 -.ReplaceFrontpic: ; 4e755 +.ReplaceFrontpic: push bc xor a ld [hBGMapMode], a @@ -233,9 +226,8 @@ EvolutionAnimation: ; 4e5e1 call WaitBGMap pop bc ret -; 4e779 -.WaitFrames_CheckPressedB: ; 4e779 +.WaitFrames_CheckPressedB: call DelayFrame push bc call JoyTextDelay @@ -255,9 +247,8 @@ EvolutionAnimation: ; 4e5e1 jr nz, .loop3 scf ret -; 4e794 -.check_statused ; 4e794 +.check_statused ld a, [wCurPartyMon] ld hl, wPartyMon1Species call GetPartyLocation @@ -265,9 +256,8 @@ EvolutionAnimation: ; 4e5e1 ld c, l farcall CheckFaintedFrzSlp ret -; 4e7a6 -.PlayEvolvedSFX: ; 4e7a6 +.PlayEvolvedSFX: ld a, [wEvolutionCanceled] and a ret nz @@ -292,9 +282,8 @@ EvolutionAnimation: ; 4e5e1 pop af ld [wJumptableIndex], a ret -; 4e7cf -.balls_of_light ; 4e7cf +.balls_of_light ld hl, wJumptableIndex ld a, [hl] cp 32 @@ -311,9 +300,8 @@ EvolutionAnimation: ; 4e5e1 .done_balls scf ret -; 4e7e8 -.GenerateBallOfLight: ; 4e7e8 +.GenerateBallOfLight: push de depixel 9, 11 ld a, SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT @@ -333,9 +321,8 @@ EvolutionAnimation: ; 4e5e1 add hl, bc ld [hl], $10 ret -; 4e80c -.AnimateBallsOfLight: ; 4e80c +.AnimateBallsOfLight: push bc callfar PlaySpriteAnimations ; a = (([hVBlankCounter] + 4) / 2) % NUM_PALETTES @@ -360,7 +347,6 @@ endr pop bc call DelayFrame ret -; 4e831 .GFX: diff --git a/engine/movie/gbc_only.asm b/engine/movie/gbc_only.asm index badd953aa..39a2ea47e 100644 --- a/engine/movie/gbc_only.asm +++ b/engine/movie/gbc_only.asm @@ -1,4 +1,4 @@ -GBCOnlyScreen: ; 4ea82 +GBCOnlyScreen: ld a, [hCGB] and a @@ -37,10 +37,9 @@ GBCOnlyScreen: ; 4ea82 .loop call DelayFrame jr .loop -; 4eac5 -DrawGBCOnlyScreen: ; 4eac5 +DrawGBCOnlyScreen: call DrawGBCOnlyBorder @@ -63,10 +62,9 @@ DrawGBCOnlyScreen: ; 4eac5 call PlaceString ret -; 4eaea -DrawGBCOnlyBorder: ; 4eaea +DrawGBCOnlyBorder: hlcoord 0, 0 ld [hl], 0 ; top-left @@ -94,18 +92,16 @@ DrawGBCOnlyBorder: ; 4eaea ld [hl], 7 ; bottom-right ret -; 4eb15 -.FillRow: ; 4eb15 +.FillRow: ld c, SCREEN_WIDTH - 2 .next_column ld [hli], a dec c jr nz, .next_column ret -; 4eb1c -.FillColumn: ; 4eb1c +.FillColumn: ld de, SCREEN_WIDTH ld c, SCREEN_HEIGHT - 2 .next_row @@ -114,10 +110,9 @@ DrawGBCOnlyBorder: ; 4eaea dec c jr nz, .next_row ret -; 4eb27 -DrawGBCOnlyGraphic: ; 4eb27 +DrawGBCOnlyGraphic: ld de, SCREEN_WIDTH .y push bc @@ -133,17 +128,14 @@ DrawGBCOnlyGraphic: ; 4eb27 dec c jr nz, .y ret -; 4eb38 -GBCOnlyString: ; 4eb38 +GBCOnlyString: db "This Game Pak is" next "designed only for" next "use on the" next "Game Boy Color.@" -; 4eb76 -GBCOnlyGFX: ; 4eb76 +GBCOnlyGFX: INCBIN "gfx/sgb/gbc_only.2bpp.lz" -; 4f0bc diff --git a/engine/movie/init_hof_credits.asm b/engine/movie/init_hof_credits.asm index e8e98a0e1..cc98e9e15 100644 --- a/engine/movie/init_hof_credits.asm +++ b/engine/movie/init_hof_credits.asm @@ -1,4 +1,4 @@ -InitDisplayForHallOfFame: ; 4e881 +InitDisplayForHallOfFame: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -28,7 +28,7 @@ InitDisplayForHallOfFame: ; 4e881 text_jump UnknownText_0x1bd39e db "@" -InitDisplayForRedCredits: ; 4e8c2 +InitDisplayForRedCredits: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -60,7 +60,7 @@ InitDisplayForRedCredits: ; 4e8c2 call SetPalettes ret -ResetDisplayBetweenHallOfFameMons: ; 4e906 +ResetDisplayBetweenHallOfFameMons: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) diff --git a/engine/movie/title.asm b/engine/movie/title.asm index ad1246790..56402c7df 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -1,4 +1,4 @@ -_TitleScreen: ; 10ed67 +_TitleScreen: call ClearBGPalettes call ClearSprites @@ -228,9 +228,8 @@ _TitleScreen: ; 10ed67 call PlaySFX ret -; 10eea7 -SuicuneFrameIterator: ; 10eea7 +SuicuneFrameIterator: ld hl, wd002 ld a, [hl] ld c, a @@ -257,17 +256,15 @@ SuicuneFrameIterator: ; 10eea7 ld a, $3 ld [hBGMapThird], a ret -; 10eece -.Frames: ; 10eece +.Frames: db $80 ; vTiles4 tile $00 db $88 ; vTiles4 tile $08 db $00 ; vTiles5 tile $00 db $08 ; vTiles5 tile $08 -; 10eed2 -LoadSuicuneFrame: ; 10eed2 +LoadSuicuneFrame: hlcoord 6, 12 ld b, 6 .bgrows @@ -290,9 +287,8 @@ LoadSuicuneFrame: ; 10eed2 dec b jr nz, .bgrows ret -; 10eeef -DrawTitleGraphic: ; 10eeef +DrawTitleGraphic: ; input: ; hl: draw location ; b: height @@ -320,9 +316,8 @@ DrawTitleGraphic: ; 10eeef dec b jr nz, .bgrows ret -; 10ef06 -InitializeBackground: ; 10ef06 +InitializeBackground: ld hl, wVirtualOAMSprite00 ld d, -$22 ld e, $0 @@ -337,9 +332,8 @@ InitializeBackground: ; 10ef06 dec c jr nz, .loop ret -; 10ef1c -.InitColumn: ; 10ef1c +.InitColumn: ld c, $6 ld b, $40 .loop2 @@ -358,10 +352,9 @@ InitializeBackground: ; 10ef06 dec c jr nz, .loop2 ret -; 10ef32 -AnimateTitleCrystal: ; 10ef32 +AnimateTitleCrystal: ; Move the title screen crystal downward until it's fully visible ; Stop at y=6 @@ -384,19 +377,15 @@ endr jr nz, .loop ret -; 10ef46 -TitleSuicuneGFX: ; 10ef46 +TitleSuicuneGFX: INCBIN "gfx/title/suicune.2bpp.lz" -; 10f326 -TitleLogoGFX: ; 10f326 +TitleLogoGFX: INCBIN "gfx/title/logo.2bpp.lz" -; 10fcee -TitleCrystalGFX: ; 10fcee +TitleCrystalGFX: INCBIN "gfx/title/crystal.2bpp.lz" -; 10fede TitleScreenPalettes: INCLUDE "gfx/title/title.pal" diff --git a/engine/movie/trade_animation.asm b/engine/movie/trade_animation.asm index 0b9c72681..1b17ff670 100644 --- a/engine/movie/trade_animation.asm +++ b/engine/movie/trade_animation.asm @@ -9,7 +9,7 @@ TRADEANIM_LEFT_ARROW EQU $ee const TRADEANIMSTATE_3 ; 3 TRADEANIMJUMPTABLE_LENGTH EQU const_value -TradeAnimation: ; 28f24 +TradeAnimation: xor a ld [wcf66], a ld hl, wPlayerTrademonSenderName @@ -60,7 +60,7 @@ TradeAnimation: ; 28f24 tradeanim_scroll_out_right tradeanim_end -TradeAnimationPlayer2: ; 28f63 +TradeAnimationPlayer2: xor a ld [wcf66], a ld hl, wOTTrademonSenderName @@ -110,7 +110,7 @@ TradeAnimationPlayer2: ; 28f63 tradeanim_scroll_out_right tradeanim_end -RunTradeAnimScript: ; 28fa1 +RunTradeAnimScript: ld hl, wTradeAnimAddress ld [hl], e inc hl @@ -144,9 +144,8 @@ RunTradeAnimScript: ; 28fa1 ld [hMapAnims], a ret -; 28fdb -.TradeAnimLayout: ; 28fdb +.TradeAnimLayout: xor a ld [wJumptableIndex], a call ClearBGPalettes @@ -212,9 +211,8 @@ RunTradeAnimScript: ; 28fa1 call TradeAnim_NormalPals ret -; 29082 -DoTradeAnimation: ; 29082 +DoTradeAnimation: ld a, [wJumptableIndex] bit 7, a jr nz, .finished @@ -231,9 +229,8 @@ DoTradeAnimation: ; 29082 scf ret -; 290a0 -.DoTradeAnimCommand: ; 290a0 +.DoTradeAnimCommand: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -244,9 +241,8 @@ DoTradeAnimation: ; 29082 ld h, [hl] ld l, a jp hl -; 290af -.JumpTable: ; 290af +.JumpTable: ; entries correspond to macros/scripts/trade_anims.asm enumeration dw TradeAnim_AdvanceScriptPointer ; 00 dw TradeAnim_ShowGivemonData ; 01 @@ -296,16 +292,14 @@ DoTradeAnimation: ; 29082 dw TraideAnim_Wait96 ; 2d dw TraideAnim_Wait80IfOTEgg ; 2e dw TraideAnim_Wait180IfOTEgg ; 2f -; 2910f -TradeAnim_IncrementJumptableIndex: ; 2910f +TradeAnim_IncrementJumptableIndex: ld hl, wJumptableIndex inc [hl] ret -; 29114 -TradeAnim_AdvanceScriptPointer: ; 29114 +TradeAnim_AdvanceScriptPointer: ld hl, wTradeAnimAddress ld e, [hl] inc hl @@ -318,16 +312,14 @@ TradeAnim_AdvanceScriptPointer: ; 29114 ld [hl], e ret -; 29123 -TradeAnim_End: ; 29123 +TradeAnim_End: ld hl, wJumptableIndex set 7, [hl] ret -; 29129 -TradeAnim_TubeToOT1: ; 29129 +TradeAnim_TubeToOT1: ld a, TRADEANIM_RIGHT_ARROW call TradeAnim_PlaceTrademonStatsOnTubeAnim ld a, [wLinkTradeSendmonSpecies] @@ -337,7 +329,7 @@ TradeAnim_TubeToOT1: ; 29129 ld b, $0 jr TradeAnim_InitTubeAnim -TradeAnim_TubeToPlayer1: ; 2913c +TradeAnim_TubeToPlayer1: ld a, TRADEANIM_LEFT_ARROW call TradeAnim_PlaceTrademonStatsOnTubeAnim ld a, [wLinkTradeGetmonSpecies] @@ -345,7 +337,7 @@ TradeAnim_TubeToPlayer1: ; 2913c ld a, TRADEANIMSTATE_2 depixel 9, 18, 4, 4 ld b, $4 -TradeAnim_InitTubeAnim: ; 2914e +TradeAnim_InitTubeAnim: push bc push de push bc @@ -402,9 +394,8 @@ TradeAnim_InitTubeAnim: ; 2914e ld [wFrameCounter], a ret -; 291af -TradeAnim_TubeToOT2: ; 291af +TradeAnim_TubeToOT2: call TradeAnim_FlashBGPals ld a, [hSCX] add $2 @@ -416,9 +407,8 @@ TradeAnim_TubeToOT2: ; 291af call TradeAnim_IncrementJumptableIndex ret -; 291c4 -TradeAnim_TubeToOT3: ; 291c4 +TradeAnim_TubeToOT3: call TradeAnim_FlashBGPals ld a, [hSCX] add $2 @@ -430,9 +420,8 @@ TradeAnim_TubeToOT3: ; 291c4 call TradeAnim_IncrementJumptableIndex ret -; 291d9 -TradeAnim_TubeToOT4: ; 291d9 +TradeAnim_TubeToOT4: call TradeAnim_FlashBGPals ld a, [hSCX] add $2 @@ -442,9 +431,8 @@ TradeAnim_TubeToOT4: ; 291d9 call TradeAnim_IncrementJumptableIndex ret -; 291e8 -TradeAnim_TubeToPlayer3: ; 291e8 +TradeAnim_TubeToPlayer3: call TradeAnim_FlashBGPals ld a, [hSCX] sub $2 @@ -456,9 +444,8 @@ TradeAnim_TubeToPlayer3: ; 291e8 call TradeAnim_IncrementJumptableIndex ret -; 291fd -TradeAnim_TubeToPlayer4: ; 291fd +TradeAnim_TubeToPlayer4: call TradeAnim_FlashBGPals ld a, [hSCX] sub $2 @@ -470,9 +457,8 @@ TradeAnim_TubeToPlayer4: ; 291fd call TradeAnim_IncrementJumptableIndex ret -; 29211 -TradeAnim_TubeToPlayer5: ; 29211 +TradeAnim_TubeToPlayer5: call TradeAnim_FlashBGPals ld a, [hSCX] sub $2 @@ -482,19 +468,17 @@ TradeAnim_TubeToPlayer5: ; 29211 call TradeAnim_IncrementJumptableIndex ret -; 29220 TradeAnim_TubeToOT6: -TradeAnim_TubeToPlayer6: ; 29220 +TradeAnim_TubeToPlayer6: ld a, 128 ld [wFrameCounter], a call TradeAnim_IncrementJumptableIndex ret -; 29229 TradeAnim_TubeToOT8: -TradeAnim_TubeToPlayer8: ; 29229 +TradeAnim_TubeToPlayer8: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -515,12 +499,11 @@ TradeAnim_TubeToPlayer8: ; 29229 call TradeAnim_AdvanceScriptPointer ret -; 2925d TradeAnim_TubeToOT5: TradeAnim_TubeToOT7: TradeAnim_TubeToPlayer2: -TradeAnim_TubeToPlayer7: ; 2925d +TradeAnim_TubeToPlayer7: call TradeAnim_FlashBGPals ld hl, wFrameCounter ld a, [hl] @@ -533,25 +516,22 @@ TradeAnim_TubeToPlayer7: ; 2925d call TradeAnim_IncrementJumptableIndex ret -; 2926d -TradeAnim_GiveTrademonSFX: ; 2926d +TradeAnim_GiveTrademonSFX: call TradeAnim_AdvanceScriptPointer ld de, SFX_GIVE_TRADEMON call PlaySFX ret -; 29277 -TradeAnim_GetTrademonSFX: ; 29277 +TradeAnim_GetTrademonSFX: call TradeAnim_AdvanceScriptPointer ld de, SFX_GET_TRADEMON call PlaySFX ret -; 29281 -TradeAnim_TubeAnimJumptable: ; 29281 +TradeAnim_TubeAnimJumptable: maskbits TRADEANIMJUMPTABLE_LENGTH ld e, a ld d, 0 @@ -562,18 +542,16 @@ TradeAnim_TubeAnimJumptable: ; 29281 ld h, [hl] ld l, a jp hl -; 2928f -.Jumptable: ; 2928f +.Jumptable: ; entries correspond to TRADEANIMSTATE_* constants dw .Zero dw .One dw .Two dw .Three -; 29297 -.Zero: ; 29297 -.Three: ; 29297 +.Zero: +.Three: call TradeAnim_BlankTileMap hlcoord 9, 3 ld [hl], $5b @@ -585,9 +563,8 @@ TradeAnim_TubeAnimJumptable: ; 29281 call TradeAnim_CopyTradeGameBoyTilemap ret -; 292af -.One: ; 292af +.One: call TradeAnim_BlankTileMap hlcoord 0, 3 ld bc, SCREEN_WIDTH @@ -595,9 +572,8 @@ TradeAnim_TubeAnimJumptable: ; 29281 call ByteFill ret -; 292be -.Two: ; 292be +.Two: call TradeAnim_BlankTileMap hlcoord 0, 3 ld bc, $11 @@ -625,17 +601,15 @@ TradeAnim_TubeAnimJumptable: ; 29281 call TradeAnim_CopyTradeGameBoyTilemap ret -; 292ec -TradeAnim_CopyTradeGameBoyTilemap: ; 292ec +TradeAnim_CopyTradeGameBoyTilemap: ld de, TradeGameBoyTilemap lb bc, 8, 6 call TradeAnim_CopyBoxFromDEtoHL ret -; 292f6 -TradeAnim_PlaceTrademonStatsOnTubeAnim: ; 292f6 +TradeAnim_PlaceTrademonStatsOnTubeAnim: push af call ClearBGPalettes call WaitTop @@ -674,9 +648,8 @@ TradeAnim_PlaceTrademonStatsOnTubeAnim: ; 292f6 call ClearTileMap ret -; 29348 -TradeAnim_EnterLinkTube1: ; 29348 +TradeAnim_EnterLinkTube1: call ClearTileMap call WaitTop ld a, $a0 @@ -698,9 +671,8 @@ TradeAnim_EnterLinkTube1: ; 29348 call TradeAnim_IncrementJumptableIndex ret -; 2937e -TradeAnim_EnterLinkTube2: ; 2937e +TradeAnim_EnterLinkTube2: ld a, [hSCX] and a jr z, .done @@ -714,9 +686,8 @@ TradeAnim_EnterLinkTube2: ; 2937e call TradeAnim_AdvanceScriptPointer ret -; 29391 -TradeAnim_ExitLinkTube: ; 29391 +TradeAnim_ExitLinkTube: ld a, [hSCX] cp $a0 jr z, .done @@ -731,9 +702,8 @@ TradeAnim_ExitLinkTube: ; 29391 call TradeAnim_AdvanceScriptPointer ret -; 293a6 -TradeAnim_SetupGivemonScroll: ; 293a6 +TradeAnim_SetupGivemonScroll: ld a, $8f ld [hWX], a ld a, $88 @@ -743,9 +713,8 @@ TradeAnim_SetupGivemonScroll: ; 293a6 call TradeAnim_AdvanceScriptPointer ret -; 293b6 -TradeAnim_DoGivemonScroll: ; 293b6 +TradeAnim_DoGivemonScroll: ld a, [hWX] cp $7 jr z, .done @@ -764,9 +733,8 @@ TradeAnim_DoGivemonScroll: ; 293b6 call TradeAnim_AdvanceScriptPointer ret -; 293d2 -TradeAnim_FrontpicScrollStart: ; 293d2 +TradeAnim_FrontpicScrollStart: ld a, $7 ld [hWX], a ld a, $50 @@ -774,9 +742,8 @@ TradeAnim_FrontpicScrollStart: ; 293d2 call TradeAnim_AdvanceScriptPointer ret -; 293de -TradeAnim_TextboxScrollStart: ; 293de +TradeAnim_TextboxScrollStart: ld a, $7 ld [hWX], a ld a, $90 @@ -784,9 +751,8 @@ TradeAnim_TextboxScrollStart: ; 293de call TradeAnim_AdvanceScriptPointer ret -; 293ea -TradeAnim_ScrollOutRight: ; 293ea +TradeAnim_ScrollOutRight: call WaitTop ld a, HIGH(vBGMap1) ld [hBGMapAddress + 1], a @@ -803,9 +769,8 @@ TradeAnim_ScrollOutRight: ; 293ea call TradeAnim_IncrementJumptableIndex ret -; 2940c -TradeAnim_ScrollOutRight2: ; 2940c +TradeAnim_ScrollOutRight2: ld a, [hWX] cp $a1 jr nc, .done @@ -826,9 +791,8 @@ TradeAnim_ScrollOutRight2: ; 2940c call TradeAnim_AdvanceScriptPointer ret -; 2942e -TradeAnim_ShowGivemonData: ; 2942e +TradeAnim_ShowGivemonData: call ShowPlayerTrademonStats ld a, [wPlayerTrademonSpecies] ld [wCurPartySpecies], a @@ -853,9 +817,8 @@ TradeAnim_ShowGivemonData: ; 2942e call TradeAnim_AdvanceScriptPointer ret -; 29461 -TradeAnim_ShowGetmonData: ; 29461 +TradeAnim_ShowGetmonData: call ShowOTTrademonStats ld a, [wOTTrademonSpecies] ld [wCurPartySpecies], a @@ -871,16 +834,14 @@ TradeAnim_ShowGetmonData: ; 29461 call TradeAnim_AdvanceScriptPointer ret -; 29487 -TradeAnim_AnimateFrontpic: ; 29487 +TradeAnim_AnimateFrontpic: farcall AnimateTrademonFrontpic call TradeAnim_AdvanceScriptPointer ret -; 29491 -TradeAnim_GetFrontpic: ; 29491 +TradeAnim_GetFrontpic: push de push af predef GetUnownLetter @@ -892,9 +853,8 @@ TradeAnim_GetFrontpic: ; 29491 predef GetMonFrontpic ret -; 294a9 -TradeAnim_GetNickname: ; 294a9 +TradeAnim_GetNickname: push de ld [wd265], a call GetPokemonName @@ -904,15 +864,14 @@ TradeAnim_GetNickname: ; 294a9 call CopyBytes ret -; 294bb -TradeAnim_ShowGivemonFrontpic: ; 294bb +TradeAnim_ShowGivemonFrontpic: ld de, vTiles0 jr TradeAnim_ShowFrontpic -TradeAnim_ShowGetmonFrontpic: ; 294c0 +TradeAnim_ShowGetmonFrontpic: ld de, vTiles0 tile $31 -TradeAnim_ShowFrontpic: ; 294c3 +TradeAnim_ShowFrontpic: call DelayFrame ld hl, vTiles2 lb bc, 10, $31 @@ -927,58 +886,51 @@ TradeAnim_ShowFrontpic: ; 294c3 call WaitBGMap ret -; 294e7 -TraideAnim_Wait80: ; 294e7 +TraideAnim_Wait80: ld c, 80 call DelayFrames call TradeAnim_AdvanceScriptPointer ret -; 294f0 -TraideAnim_Wait40: ; 294f0 +TraideAnim_Wait40: ld c, 40 call DelayFrames call TradeAnim_AdvanceScriptPointer ret -; 294f9 -TraideAnim_Wait96: ; 294f9 +TraideAnim_Wait96: ld c, 96 call DelayFrames call TradeAnim_AdvanceScriptPointer ret -; 29502 -TraideAnim_Wait80IfOTEgg: ; 29502 +TraideAnim_Wait80IfOTEgg: call IsOTTrademonEgg ret nz ld c, 80 call DelayFrames ret -; 2950c -TraideAnim_Wait180IfOTEgg: ; 2950c +TraideAnim_Wait180IfOTEgg: call IsOTTrademonEgg ret nz ld c, 180 call DelayFrames ret -; 29516 -IsOTTrademonEgg: ; 29516 +IsOTTrademonEgg: call TradeAnim_AdvanceScriptPointer ld a, [wOTTrademonSpecies] cp EGG ret -; 2951f -ShowPlayerTrademonStats: ; 2951f +ShowPlayerTrademonStats: ld de, wPlayerTrademonSpecies ld a, [de] cp EGG @@ -996,9 +948,8 @@ ShowPlayerTrademonStats: ; 2951f call TrademonStats_WaitBGMap ret -; 29549 -ShowOTTrademonStats: ; 29549 +ShowOTTrademonStats: ld de, wOTTrademonSpecies ld a, [de] cp EGG @@ -1016,9 +967,8 @@ ShowOTTrademonStats: ; 29549 call TrademonStats_WaitBGMap ret -; 29573 -TrademonStats_MonTemplate: ; 29573 +TrademonStats_MonTemplate: call WaitTop call TradeAnim_BlankTileMap ld a, HIGH(vBGMap1) @@ -1032,16 +982,14 @@ TrademonStats_MonTemplate: ; 29573 call PlaceString ret -; 29591 -.OTMonData: ; 29591 +.OTMonData: db "─── №." next "" next "OT/" next "<ID>№.@" -; 295a1 -TrademonStats_Egg: ; 295a1 +TrademonStats_Egg: call WaitTop call TradeAnim_BlankTileMap ld a, HIGH(vBGMap1) @@ -1056,40 +1004,35 @@ TrademonStats_Egg: ; 295a1 call TrademonStats_WaitBGMap ret -; 295c2 -.EggData: ; 295c2 +.EggData: db "EGG" next "OT/?????" next "<ID>№.?????@" -; 295d8 -TrademonStats_WaitBGMap: ; 295d8 +TrademonStats_WaitBGMap: call WaitBGMap call WaitTop ld a, HIGH(vBGMap0) ld [hBGMapAddress + 1], a ret -; 295e3 -TrademonStats_PrintSpeciesNumber: ; 295e3 +TrademonStats_PrintSpeciesNumber: hlcoord 10, 0 lb bc, PRINTNUM_LEADINGZEROS | 1, 3 call PrintNum ld [hl], " " ret -; 295ef -TrademonStats_PrintSpeciesName: ; 295ef +TrademonStats_PrintSpeciesName: hlcoord 4, 2 call PlaceString ret -; 295f6 -TrademonStats_PrintOTName: ; 295f6 +TrademonStats_PrintOTName: cp 3 jr c, .caught_gender_okay xor a @@ -1107,21 +1050,18 @@ TrademonStats_PrintOTName: ; 295f6 ld [bc], a ret -; 2960e -.Gender: ; 2960e +.Gender: db " ", "♂", "♀" -; 29611 -TrademonStats_PrintTrademonID: ; 29611 +TrademonStats_PrintTrademonID: hlcoord 7, 6 lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum ret -; 2961b -TradeAnim_RockingBall: ; 2961b +TradeAnim_RockingBall: depixel 10, 11, 4, 0 ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL call _InitSpriteAnimStruct @@ -1130,9 +1070,8 @@ TradeAnim_RockingBall: ; 2961b ld [wFrameCounter], a ret -; 2962c -TradeAnim_DropBall: ; 2962c +TradeAnim_DropBall: depixel 10, 11, 4, 0 ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL call _InitSpriteAnimStruct @@ -1147,9 +1086,8 @@ TradeAnim_DropBall: ; 2962c ld [wFrameCounter], a ret -; 29649 -TradeAnim_Poof: ; 29649 +TradeAnim_Poof: depixel 10, 11, 4, 0 ld a, SPRITE_ANIM_INDEX_TRADE_POOF call _InitSpriteAnimStruct @@ -1160,9 +1098,8 @@ TradeAnim_Poof: ; 29649 call PlaySFX ret -; 29660 -TradeAnim_BulgeThroughTube: ; 29660 +TradeAnim_BulgeThroughTube: ld a, %11100100 ; 3,2,1,0 call DmgToCgbObjPal0 depixel 5, 11 @@ -1173,9 +1110,8 @@ TradeAnim_BulgeThroughTube: ; 29660 ld [wFrameCounter], a ret -; 29676 -TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) +TradeAnim_AnimateTrademonInTube: ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld e, [hl] @@ -1187,9 +1123,8 @@ TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) ld h, [hl] ld l, a jp hl -; 29686 -.Jumptable: ; 29686 (a:5686) +.Jumptable: dw .InitTimer dw .WaitTimer1 dw .MoveRight @@ -1197,22 +1132,21 @@ TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) dw .MoveUp dw .MoveLeft dw .WaitTimer2 -; 2969a -.JumptableNext: ; 29694 (a:5694) +.JumptableNext: ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc inc [hl] ret -.InitTimer: ; 2969a (a:569a) +.InitTimer: call .JumptableNext ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld [hl], $80 ret -.WaitTimer1: ; 296a4 (a:56a4) +.WaitTimer1: ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -1221,7 +1155,7 @@ TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) ret nz call .JumptableNext -.MoveRight: ; 296af (a:56af) +.MoveRight: ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -1233,7 +1167,7 @@ TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) .done_move_right call .JumptableNext -.MoveDown: ; 296bd (a:56bd) +.MoveDown: ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] @@ -1248,7 +1182,7 @@ TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) ld [hl], $0 ret -.MoveUp: ; 296cf (a:56cf) +.MoveUp: ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] @@ -1260,7 +1194,7 @@ TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) .done_move_up call .JumptableNext -.MoveLeft: ; 296dd (a:56dd) +.MoveLeft: ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -1276,7 +1210,7 @@ TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) ld [hl], $80 ret -.WaitTimer2: ; 296f2 (a:56f2) +.WaitTimer2: ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -1288,9 +1222,8 @@ TradeAnim_AnimateTrademonInTube: ; 29676 (a:5676) ld [hl], $0 ret -; 29701 (a:5701) -TradeAnim_SentToOTText: ; 29701 +TradeAnim_SentToOTText: ld a, [wLinkMode] cp LINK_TIMECAPSULE jr z, .time_capsule @@ -1313,7 +1246,6 @@ TradeAnim_SentToOTText: ; 29701 call TradeAnim_AdvanceScriptPointer ret -; 29732 .Text_WasSentTo: ; 0x29732 ; was sent to @ . @@ -1327,7 +1259,7 @@ TradeAnim_SentToOTText: ; 29701 db "@" ; 0x2973c -TradeAnim_OTBidsFarewell: ; 2973c +TradeAnim_OTBidsFarewell: ld hl, .Text_BidsFarewellToMon call PrintText call TradeAnim_Wait80Frames @@ -1337,7 +1269,6 @@ TradeAnim_OTBidsFarewell: ; 2973c call TradeAnim_AdvanceScriptPointer ret -; 29752 .Text_BidsFarewellToMon: ; 0x29752 ; bids farewell to @@ -1351,7 +1282,7 @@ TradeAnim_OTBidsFarewell: ; 2973c db "@" ; 0x2975c -TradeAnim_TakeCareOfText: ; 2975c +TradeAnim_TakeCareOfText: call WaitTop hlcoord 0, 10 ld bc, 8 * SCREEN_WIDTH @@ -1364,7 +1295,6 @@ TradeAnim_TakeCareOfText: ; 2975c call TradeAnim_AdvanceScriptPointer ret -; 2977a .Text_TakeGoodCareOfMon: ; 0x2977a ; Take good care of @ . @@ -1372,7 +1302,7 @@ TradeAnim_TakeCareOfText: ; 2975c db "@" ; 0x2977f -TradeAnim_OTSendsText1: ; 2977f +TradeAnim_OTSendsText1: ld hl, .Text_ForYourMon call PrintText call TradeAnim_Wait80Frames @@ -1384,7 +1314,6 @@ TradeAnim_OTSendsText1: ; 2977f call TradeAnim_AdvanceScriptPointer ret -; 2979a .Text_ForYourMon: ; 0x2979a ; For @ 's @ , @@ -1398,7 +1327,7 @@ TradeAnim_OTSendsText1: ; 2977f db "@" ; 0x297a4 -TradeAnim_OTSendsText2: ; 297a4 +TradeAnim_OTSendsText2: ld hl, .Text_WillTrade call PrintText call TradeAnim_Wait80Frames @@ -1410,7 +1339,6 @@ TradeAnim_OTSendsText2: ; 297a4 call TradeAnim_AdvanceScriptPointer ret -; 297bf .Text_WillTrade: ; 0x297bf ; will trade @ @ @@ -1424,23 +1352,21 @@ TradeAnim_OTSendsText2: ; 297a4 db "@" ; 0x297c9 -TradeAnim_Wait80Frames: ; 297c9 +TradeAnim_Wait80Frames: ld c, 80 call DelayFrames ret -; 297cf -TradeAnim_BlankTileMap: ; 297cf +TradeAnim_BlankTileMap: hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, " " call ByteFill ret -; 297db -TradeAnim_CopyBoxFromDEtoHL: ; 297db +TradeAnim_CopyBoxFromDEtoHL: .row push bc push hl @@ -1458,9 +1384,8 @@ TradeAnim_CopyBoxFromDEtoHL: ; 297db jr nz, .row ret -; 297ed -TradeAnim_NormalPals: ; 297ed +TradeAnim_NormalPals: ld a, [hSGB] and a ld a, %11100100 ; 3,2,1,0 @@ -1473,9 +1398,8 @@ TradeAnim_NormalPals: ; 297ed call DmgToCgbBGPals ret -; 297ff -LinkTradeAnim_LoadTradePlayerNames: ; 297ff +LinkTradeAnim_LoadTradePlayerNames: push de ld de, wLinkPlayer1Name ld bc, NAME_LENGTH @@ -1486,18 +1410,16 @@ LinkTradeAnim_LoadTradePlayerNames: ; 297ff call CopyBytes ret -; 29814 -LinkTradeAnim_LoadTradeMonSpecies: ; 29814 +LinkTradeAnim_LoadTradeMonSpecies: ld a, [hl] ld [wLinkTradeSendmonSpecies], a ld a, [de] ld [wLinkTradeGetmonSpecies], a ret -; 2981d -TradeAnim_FlashBGPals: ; 2981d +TradeAnim_FlashBGPals: ld a, [wcf65] and $7 ret nz @@ -1506,9 +1428,8 @@ TradeAnim_FlashBGPals: ; 2981d call DmgToCgbBGPals ret -; 2982b -LoadTradeBallAndCableGFX: ; 2982b +LoadTradeBallAndCableGFX: call DelayFrame ld de, TradeBallGFX ld hl, vTiles0 tile $62 @@ -1528,9 +1449,8 @@ LoadTradeBallAndCableGFX: ; 2982b ld [hl], $62 ret -; 2985a -LoadTradeBubbleGFX: ; 2985a +LoadTradeBubbleGFX: call DelayFrame ld e, $3 callfar LoadMenuMonIcon @@ -1544,9 +1464,8 @@ LoadTradeBubbleGFX: ; 2985a ld [hl], $62 ret -; 29879 -TradeAnim_WaitAnim: ; 29879 +TradeAnim_WaitAnim: ld hl, wFrameCounter ld a, [hl] and a @@ -1558,9 +1477,8 @@ TradeAnim_WaitAnim: ; 29879 call TradeAnim_AdvanceScriptPointer ret -; 29886 -TradeAnim_WaitAnim2: ; 29886 +TradeAnim_WaitAnim2: ld hl, wFrameCounter ld a, [hl] and a @@ -1572,10 +1490,9 @@ TradeAnim_WaitAnim2: ; 29886 call TradeAnim_AdvanceScriptPointer ret -; 29893 -Unreferenced_DebugTrade: ; 29893 +Unreferenced_DebugTrade: ; This function is not referenced. ; It was meant for use in Japanese versions, so the ; constant used for copy length was changed by accident. @@ -1605,7 +1522,6 @@ Unreferenced_DebugTrade: ; 29893 jr nz, .loop2 ret -; 298b5 debugtrade: MACRO ; species, ot name, ot id (?) @@ -1613,13 +1529,12 @@ debugtrade: MACRO dw \3 ENDM -.DebugTradeData: ; 298b5 +.DebugTradeData: debugtrade VENUSAUR, "ゲーフり@@", $0123 ; GAME FREAK debugtrade CHARIZARD, "クりーチャ@", $0456 ; Creatures Inc. -; 298c7 -TradeGameBoyTilemap: ; 298c7 +TradeGameBoyTilemap: ; 6x8 db $31, $32, $32, $32, $32, $33 db $34, $35, $36, $36, $37, $38 @@ -1629,14 +1544,12 @@ TradeGameBoyTilemap: ; 298c7 db $46, $47, $43, $48, $49, $4a db $41, $43, $4b, $4c, $4d, $4e db $4f, $50, $50, $50, $51, $52 -; 297f7 -TradeLinkTubeTilemap: ; 297f7 +TradeLinkTubeTilemap: ; 12x3 db $43, $55, $56, $53, $53, $53, $53, $53, $53, $53, $53, $53 db $43, $57, $58, $54, $54, $54, $54, $54, $54, $54, $54, $54 db $43, $59, $5a, $43, $43, $43, $43, $43, $43, $43, $43, $43 -; 2991b TradeArrowGFX: INCBIN "gfx/trade/arrow.2bpp" TradeCableGFX: INCBIN "gfx/trade/cable.2bpp" diff --git a/engine/movie/unused_title.asm b/engine/movie/unused_title.asm index 8e52a71bb..4527d9ade 100644 --- a/engine/movie/unused_title.asm +++ b/engine/movie/unused_title.asm @@ -1,4 +1,4 @@ -UnusedTitleScreen: ; 10c000 +UnusedTitleScreen: call ClearBGPalettes call ClearTileMap @@ -96,30 +96,24 @@ UnusedTitleScreen: ; 10c000 call PlayMusic ret -; 10c0b1 -UnusedTitleBG_GFX: ; 10c0b1 +UnusedTitleBG_GFX: INCBIN "gfx/title/old_bg.2bpp" -; 10d0b1 -UnusedTitleBG_Tilemap: ; 10d0b1 +UnusedTitleBG_Tilemap: ; 32x32 (alternating tiles and attributes) INCBIN "gfx/title/old_bg.tilemap" -; 10d8b1 -UnusedTitleBG_Palettes: ; 10d8b1 +UnusedTitleBG_Palettes: INCLUDE "gfx/title/old_bg.pal" -; 10dab1 -UnusedTitleFG_GFX: ; 10dab1 +UnusedTitleFG_GFX: INCBIN "gfx/title/old_fg.2bpp" -; 10eab1 -UnusedTitleFG_Palettes: ; 10eab1 +UnusedTitleFG_Palettes: INCLUDE "gfx/title/old_fg.pal" -; 10ecb1 -UnusedTitleFG_OAM: ; 10ecb1 +UnusedTitleFG_OAM: dsprite 3, 0, 7, 0, $00, 1 dsprite 3, 0, 8, 0, $02, 1 dsprite 3, 0, 9, 0, $04, 1 @@ -160,9 +154,8 @@ UnusedTitleFG_OAM: ; 10ecb1 dsprite 11, 0, 12, 0, $4a, 1 dsprite 11, 0, 13, 0, $4c, 1 dsprite 11, 0, 14, 0, $4e, 1 -; 10ed51 -Function10ed51: ; 10ed51 +Function10ed51: call _TitleScreen .loop call JoyTextDelay @@ -175,4 +168,3 @@ Function10ed51: ; 10ed51 jr .loop .done ret -; 10ed67 diff --git a/engine/overworld/decorations.asm b/engine/overworld/decorations.asm index 33d0ca0cd..0ed34e318 100644 --- a/engine/overworld/decorations.asm +++ b/engine/overworld/decorations.asm @@ -1,4 +1,4 @@ -InitDecorations: ; 26751 (9:6751) +InitDecorations: ld a, DECO_FEATHERY_BED ld [wDecoBed], a ld a, DECO_TOWN_MAP @@ -51,7 +51,7 @@ _PlayerDecorationMenu: ; 0x2675c dw .pointers ; 0x267aa -.pointers ; 267aa +.pointers dw DecoBedMenu, .bed dw DecoCarpetMenu, .carpet dw DecoPlantMenu, .plant @@ -69,9 +69,8 @@ _PlayerDecorationMenu: ; 0x2675c .ornament db "ORNAMENT@" .big_doll db "BIG DOLL@" .exit db "EXIT@" -; 26806 -.FindCategoriesWithOwnedDecos: ; 26806 +.FindCategoriesWithOwnedDecos: xor a ld [wWhichIndexSet], a call .ClearStringBuffer2 @@ -84,7 +83,7 @@ _PlayerDecorationMenu: ; 0x2675c call CopyBytes ret -.ClearStringBuffer2: ; 26822 (9:6822) +.ClearStringBuffer2: ld hl, wStringBuffer2 xor a ld [hli], a @@ -93,7 +92,7 @@ _PlayerDecorationMenu: ; 0x2675c call ByteFill ret -.AppendToStringBuffer2: ; 26830 (9:6830) +.AppendToStringBuffer2: ld hl, wStringBuffer2 inc [hl] ld e, [hl] @@ -102,7 +101,7 @@ _PlayerDecorationMenu: ; 0x2675c ld [hl], a ret -.FindOwndDecos: ; 2683a (9:683a) +.FindOwndDecos: ld hl, .dw .loop ld a, [hli] @@ -124,9 +123,8 @@ _PlayerDecorationMenu: ; 0x2675c jr .loop .done ret -; 26855 (9:6855) -.dw ; 26855 +.dw dwb FindOwnedBeds, 0 ; bed dwb FindOwnedCarpets, 1 ; carpet dwb FindOwnedPlants, 2 ; plant @@ -135,9 +133,8 @@ _PlayerDecorationMenu: ; 0x2675c dwb FindOwnedOrnaments, 5 ; ornament dwb FindOwnedBigDolls, 6 ; big doll dw 0 ; end -; 2686c -Deco_FillTempWithMinusOne: ; 2686c +Deco_FillTempWithMinusOne: xor a ld hl, wd002 ld [hli], a @@ -145,9 +142,8 @@ Deco_FillTempWithMinusOne: ; 2686c ld bc, $10 call ByteFill ret -; 2687a -CheckAllDecorationFlags: ; 2687a +CheckAllDecorationFlags: .loop ld a, [hli] cp -1 @@ -166,9 +162,8 @@ CheckAllDecorationFlags: ; 2687a .done ret -; 26891 -AppendDecoIndex: ; 26891 +AppendDecoIndex: ld hl, wd002 inc [hl] ld e, [hl] @@ -176,9 +171,8 @@ AppendDecoIndex: ; 26891 add hl, de ld [hl], a ret -; 2689b -FindOwnedDecosInCategory: ; 2689b +FindOwnedDecosInCategory: push bc push hl call Deco_FillTempWithMinusOne @@ -195,126 +189,108 @@ FindOwnedDecosInCategory: ; 2689b call AppendDecoIndex scf ret -; 268b5 -DecoBedMenu: ; 268b5 +DecoBedMenu: call FindOwnedBeds call PopulateDecoCategoryMenu xor a ret -; 268bd -FindOwnedBeds: ; 268bd +FindOwnedBeds: ld hl, .beds ld c, BEDS jp FindOwnedDecosInCategory -; 268c5 -.beds ; 268c5 +.beds db DECO_FEATHERY_BED ; 2 db DECO_PINK_BED ; 3 db DECO_POLKADOT_BED ; 4 db DECO_PIKACHU_BED ; 5 db -1 -; 268ca -DecoCarpetMenu: ; 268ca +DecoCarpetMenu: call FindOwnedCarpets call PopulateDecoCategoryMenu xor a ret -; 268d2 -FindOwnedCarpets: ; 268d2 +FindOwnedCarpets: ld hl, .carpets ld c, CARPETS jp FindOwnedDecosInCategory -; 268da -.carpets ; 268da +.carpets db DECO_RED_CARPET ; 7 db DECO_BLUE_CARPET ; 8 db DECO_YELLOW_CARPET ; 9 db DECO_GREEN_CARPET ; a db -1 -; 268df -DecoPlantMenu: ; 268df +DecoPlantMenu: call FindOwnedPlants call PopulateDecoCategoryMenu xor a ret -; 268e7 -FindOwnedPlants: ; 268e7 +FindOwnedPlants: ld hl, .plants ld c, PLANTS jp FindOwnedDecosInCategory -; 268ef -.plants ; 268ef +.plants db DECO_MAGNAPLANT ; c db DECO_TROPICPLANT ; d db DECO_JUMBOPLANT ; e db -1 -; 268f3 -DecoPosterMenu: ; 268f3 +DecoPosterMenu: call FindOwnedPosters call PopulateDecoCategoryMenu xor a ret -; 268fb -FindOwnedPosters: ; 268fb +FindOwnedPosters: ld hl, .posters ld c, POSTERS jp FindOwnedDecosInCategory -; 26903 -.posters ; 26903 +.posters db DECO_TOWN_MAP ; 10 db DECO_PIKACHU_POSTER ; 11 db DECO_CLEFAIRY_POSTER ; 12 db DECO_JIGGLYPUFF_POSTER ; 13 db -1 -; 26908 -DecoConsoleMenu: ; 26908 +DecoConsoleMenu: call FindOwnedConsoles call PopulateDecoCategoryMenu xor a ret -; 26910 -FindOwnedConsoles: ; 26910 +FindOwnedConsoles: ld hl, .consoles ld c, CONSOLES jp FindOwnedDecosInCategory -; 26918 -.consoles ; 26918 +.consoles db DECO_FAMICOM ; 15 db DECO_SNES ; 16 db DECO_N64 ; 17 db DECO_VIRTUAL_BOY ; 18 db -1 -; 2691d -DecoOrnamentMenu: ; 2691d +DecoOrnamentMenu: call FindOwnedOrnaments call PopulateDecoCategoryMenu xor a ret -; 26925 -FindOwnedOrnaments: ; 26925 +FindOwnedOrnaments: ld hl, .ornaments ld c, DOLLS jp FindOwnedDecosInCategory -; 2692d -.ornaments ; 2692d +.ornaments db DECO_PIKACHU_DOLL ; 1e db DECO_SURF_PIKACHU_DOLL ; 1f db DECO_CLEFAIRY_DOLL ; 20 @@ -339,34 +315,29 @@ FindOwnedOrnaments: ; 26925 db DECO_GOLD_TROPHY_DOLL ; 33 db DECO_SILVER_TROPHY_DOLL ; 34 db -1 -; 26945 -DecoBigDollMenu: ; 26945 +DecoBigDollMenu: call FindOwnedBigDolls call PopulateDecoCategoryMenu xor a ret -; 2694d -FindOwnedBigDolls: ; 2694d +FindOwnedBigDolls: ld hl, .big_dolls ld c, BIG_DOLLS jp FindOwnedDecosInCategory -; 26955 -.big_dolls ; 26955 +.big_dolls db DECO_BIG_SNORLAX_DOLL ; 1a db DECO_BIG_ONIX_DOLL ; 1b db DECO_BIG_LAPRAS_DOLL ; 1c db -1 -; 26959 -DecoExitMenu: ; 26959 +DecoExitMenu: scf ret -; 2695b -PopulateDecoCategoryMenu: ; 2695b +PopulateDecoCategoryMenu: ld a, [wd002] and a jr z, .empty @@ -413,7 +384,6 @@ PopulateDecoCategoryMenu: ; 2695b ld hl, .Text_nothing_to_choose call MenuTextBoxBackup ret -; 269b0 .Text_nothing_to_choose: ; 0x269b0 ; There's nothing to choose. @@ -451,26 +421,23 @@ PopulateDecoCategoryMenu: ; 2695b dba DecorationMenuFunction dbw 0, 0 dbw 0, 0 -; 269dd -GetDecorationData: ; 269dd +GetDecorationData: ld hl, DecorationAttributes ld bc, 6 call AddNTimes ret -; 269e7 -GetDecorationName: ; 269e7 +GetDecorationName: push hl call GetDecorationData call GetDecoName pop hl call CopyName2 ret -; 269f3 -DecorationMenuFunction: ; 269f3 +DecorationMenuFunction: ld a, [wMenuSelection] push de call GetDecorationData @@ -478,9 +445,8 @@ DecorationMenuFunction: ; 269f3 pop hl call PlaceString ret -; 26a02 -DoDecorationAction2: ; 26a02 +DoDecorationAction2: ld a, [wMenuSelection] call GetDecorationData ld de, 2 ; function 2 @@ -489,9 +455,8 @@ DoDecorationAction2: ; 26a02 ld hl, .DecoActions rst JumpTable ret -; 26a12 -.DecoActions: ; 26a12 +.DecoActions: dw DecoAction_nothing dw DecoAction_setupbed dw DecoAction_putawaybed @@ -507,10 +472,9 @@ DoDecorationAction2: ; 26a02 dw DecoAction_putawaybigdoll dw DecoAction_setupornament dw DecoAction_putawayornament -; 26a30 -GetDecorationFlag: ; 26a30 +GetDecorationFlag: call GetDecorationData ld de, 3 ; event flag add hl, de @@ -518,17 +482,15 @@ GetDecorationFlag: ; 26a30 ld d, [hl] ld e, a ret -; 26a3b -DecorationFlagAction: ; 26a3b +DecorationFlagAction: push bc call GetDecorationFlag pop bc call EventFlagAction ret -; 26a44 -GetDecorationSprite: ; 26a44 +GetDecorationSprite: ld a, c call GetDecorationData ld de, 5 ; sprite @@ -536,13 +498,12 @@ GetDecorationSprite: ; 26a44 ld a, [hl] ld c, a ret -; 26a4f INCLUDE "data/decorations/attributes.asm" INCLUDE "data/decorations/names.asm" -GetDecoName: ; 26c72 +GetDecoName: ld a, [hli] ld e, [hl] ld bc, wStringBuffer2 @@ -551,9 +512,8 @@ GetDecoName: ; 26c72 rst JumpTable pop de ret -; 26c7e -.NameFunctions: ; 26c7e +.NameFunctions: dw .invalid dw .plant dw .bed @@ -561,40 +521,38 @@ GetDecoName: ; 26c72 dw .poster dw .doll dw .bigdoll -; 26c8c -.invalid ; 26c8c +.invalid ret -; 26c8d -.plant ; 26c8d +.plant ld a, e jr .getdeconame -.bed ; 26c90 +.bed call .plant ld a, _BED jr .getdeconame -.carpet ; 26c97 +.carpet call .plant ld a, _CARPET jr .getdeconame -.poster ; 26c9e +.poster ld a, e call .getpokename ld a, _POSTER jr .getdeconame -.doll ; 26ca6 +.doll ld a, e call .getpokename ld a, _DOLL jr .getdeconame -.bigdoll ; 26cae +.bigdoll push de ld a, BIG_ call .getdeconame @@ -602,25 +560,25 @@ GetDecoName: ; 26c72 ld a, e jr .getpokename -.unused ; 26cb8 +.unused push de call .getdeconame pop de ld a, e jr .getdeconame -.getpokename ; 26cc0 +.getpokename push bc ld [wd265], a call GetPokemonName pop bc jr .copy -.getdeconame ; 26cca +.getdeconame call ._getdeconame jr .copy -._getdeconame ; 26ccf +._getdeconame push bc ld hl, DecorationNames call GetNthString @@ -629,7 +587,7 @@ GetDecoName: ; 26c72 pop bc ret -.copy ; 26cda +.copy ld h, b ld l, c call CopyName2 @@ -637,74 +595,60 @@ GetDecoName: ; 26c72 ld b, h ld c, l ret -; 26ce3 -DecoAction_nothing: ; 26ce3 +DecoAction_nothing: scf ret -; 26ce5 -DecoAction_setupbed: ; 26ce5 +DecoAction_setupbed: ld hl, wDecoBed jp DecoAction_TrySetItUp -; 26ceb -DecoAction_putawaybed: ; 26ceb +DecoAction_putawaybed: ld hl, wDecoBed jp DecoAction_TryPutItAway -; 26cf1 -DecoAction_setupcarpet: ; 26cf1 +DecoAction_setupcarpet: ld hl, wDecoCarpet jp DecoAction_TrySetItUp -; 26cf7 -DecoAction_putawaycarpet: ; 26cf7 +DecoAction_putawaycarpet: ld hl, wDecoCarpet jp DecoAction_TryPutItAway -; 26cfd -DecoAction_setupplant: ; 26cfd +DecoAction_setupplant: ld hl, wDecoPlant jp DecoAction_TrySetItUp -; 26d03 -DecoAction_putawayplant: ; 26d03 +DecoAction_putawayplant: ld hl, wDecoPlant jp DecoAction_TryPutItAway -; 26d09 -DecoAction_setupposter: ; 26d09 +DecoAction_setupposter: ld hl, wDecoPoster jp DecoAction_TrySetItUp -; 26d0f -DecoAction_putawayposter: ; 26d0f +DecoAction_putawayposter: ld hl, wDecoPoster jp DecoAction_TryPutItAway -; 26d15 -DecoAction_setupconsole: ; 26d15 +DecoAction_setupconsole: ld hl, wDecoConsole jp DecoAction_TrySetItUp -; 26d1b -DecoAction_putawayconsole: ; 26d1b +DecoAction_putawayconsole: ld hl, wDecoConsole jp DecoAction_TryPutItAway -; 26d21 -DecoAction_setupbigdoll: ; 26d21 +DecoAction_setupbigdoll: ld hl, wDecoBigDoll jp DecoAction_TrySetItUp -; 26d27 -DecoAction_putawaybigdoll: ; 26d27 +DecoAction_putawaybigdoll: ld hl, wDecoBigDoll jp DecoAction_TryPutItAway -; 26d2d -DecoAction_TrySetItUp: ; 26d2d +DecoAction_TrySetItUp: ld a, [hl] ld [wBuffer1], a push hl @@ -722,9 +666,8 @@ DecoAction_TrySetItUp: ; 26d2d pop hl xor a ret -; 26d46 -DecoAction_SetItUp: ; 26d46 +DecoAction_SetItUp: ; See if there's anything of the same type already out ld a, [wBuffer1] and a @@ -760,9 +703,8 @@ DecoAction_SetItUp: ; 26d46 call MenuTextBoxBackup scf ret -; 26d86 -DecoAction_TryPutItAway: ; 26d86 +DecoAction_TryPutItAway: ; If there is no item of that type already set, there is nothing to put away. ld a, [hl] ld [wBuffer1], a @@ -788,9 +730,8 @@ DecoAction_TryPutItAway: ; 26d86 call MenuTextBoxBackup xor a ret -; 26db3 -DecoAction_setupornament: ; 26db3 +DecoAction_setupornament: ld hl, UnknownText_0x26e41 call DecoAction_AskWhichSide jr c, .cancel @@ -804,7 +745,7 @@ DecoAction_setupornament: ; 26db3 xor a ret -DecoAction_putawayornament: ; 26dc9 +DecoAction_putawayornament: ld hl, DecoText_WhichSide call DecoAction_AskWhichSide jr nc, .incave @@ -814,7 +755,7 @@ DecoAction_putawayornament: ; 26dc9 .incave call DecoAction_PutItAway_Ornament -DecoAction_FinishUp_Ornament: ; 26dd6 +DecoAction_FinishUp_Ornament: call QueryWhichSide ld a, [wSelectedDecoration] ld [hl], a @@ -822,9 +763,8 @@ DecoAction_FinishUp_Ornament: ; 26dd6 ld [de], a xor a ret -; 26de3 -DecoAction_SetItUp_Ornament: ; 26de3 +DecoAction_SetItUp_Ornament: ld a, [wSelectedDecoration] and a jr z, .nothingthere @@ -863,9 +803,8 @@ DecoAction_SetItUp_Ornament: ; 26de3 call MenuTextBoxBackup scf ret -; 26e33 -.getwhichside ; 26e33 +.getwhichside ld a, [wMenuSelection] ld b, a ld a, [wOtherDecoration] @@ -874,7 +813,6 @@ DecoAction_SetItUp_Ornament: ; 26de3 xor a ld [wOtherDecoration], a ret -; 26e41 UnknownText_0x26e41: ; 0x26e41 ; Which side do you want to put it on? @@ -882,7 +820,7 @@ UnknownText_0x26e41: ; 0x26e41 db "@" ; 0x26e46 -DecoAction_PutItAway_Ornament: ; 26e46 +DecoAction_PutItAway_Ornament: ld a, [wSelectedDecoration] and a jr z, .nothingthere @@ -902,7 +840,6 @@ DecoAction_PutItAway_Ornament: ; 26e46 call MenuTextBoxBackup xor a ret -; 26e6b DecoText_WhichSide: ; 0x26e6b ; Which side do you want to put away? @@ -910,7 +847,7 @@ DecoText_WhichSide: ; 0x26e6b db "@" ; 0x26e70 -DecoAction_AskWhichSide: ; 26e70 +DecoAction_AskWhichSide: call MenuTextBox ld hl, MenuHeader_0x26eab call GetMenu2 @@ -932,9 +869,8 @@ DecoAction_AskWhichSide: ; 26e70 .nope scf ret -; 26e9a -QueryWhichSide: ; 26e9a +QueryWhichSide: ld hl, wDecoRightOrnament ld de, wDecoLeftOrnament ld a, [wBuffer2] @@ -945,7 +881,6 @@ QueryWhichSide: ; 26e9a ld l, e pop de ret -; 26eab MenuHeader_0x26eab: ; 0x26eab db MENU_BACKUP_TILES ; flags @@ -992,21 +927,19 @@ DecoText_AlreadySetUp: ; 0x26ee5 db "@" ; 0x26eea -GetDecorationName_c_de: ; 26eea +GetDecorationName_c_de: ld a, c ld h, d ld l, e call GetDecorationName ret -; 26ef1 -DecorationFlagAction_c: ; 26ef1 +DecorationFlagAction_c: ld a, c jp DecorationFlagAction -; 26ef5 -GetDecorationName_c: ; 26ef5 (9:6ef5) +GetDecorationName_c: ld a, c call GetDecorationID ld hl, wStringBuffer1 @@ -1016,15 +949,14 @@ GetDecorationName_c: ; 26ef5 (9:6ef5) ret -SetSpecificDecorationFlag: ; 26f02 +SetSpecificDecorationFlag: ld a, c call GetDecorationID ld b, SET_FLAG call DecorationFlagAction ret -; 26f0c -GetDecorationID: ; 26f0c +GetDecorationID: push hl push de ld e, a @@ -1035,9 +967,8 @@ GetDecorationID: ; 26f0c pop de pop hl ret -; 26f19 -SetAllDecorationFlags: ; 26f19 +SetAllDecorationFlags: ld hl, DecorationIDs .loop ld a, [hli] @@ -1051,27 +982,24 @@ SetAllDecorationFlags: ; 26f19 .done ret -; 26f2b INCLUDE "data/decorations/decorations.asm" -DescribeDecoration:: ; 26f59 +DescribeDecoration:: ld a, b ld hl, .JumpTable rst JumpTable ret -; 26f5f -.JumpTable: ; 26f5f +.JumpTable: ; entries correspond to DECODESC_* constants dw DecorationDesc_Poster dw DecorationDesc_LeftOrnament dw DecorationDesc_RightOrnament dw DecorationDesc_GiantOrnament dw DecorationDesc_Console -; 26f69 -DecorationDesc_Poster: ; 26f69 +DecorationDesc_Poster: ld a, [wDecoPoster] ld hl, DecorationDesc_PosterPointers ld de, 3 @@ -1088,15 +1016,13 @@ DecorationDesc_Poster: ; 26f69 ld d, [hl] ld e, a ret -; 26f84 -DecorationDesc_PosterPointers: ; 26f84 +DecorationDesc_PosterPointers: dbw DECO_TOWN_MAP, DecorationDesc_TownMapPoster dbw DECO_PIKACHU_POSTER, DecorationDesc_PikachuPoster dbw DECO_CLEFAIRY_POSTER, DecorationDesc_ClefairyPoster dbw DECO_JIGGLYPUFF_POSTER, DecorationDesc_JigglypuffPoster db -1 -; 26f91 DecorationDesc_TownMapPoster: ; 0x26f91 opentext @@ -1143,34 +1069,31 @@ DecorationDesc_JigglypuffPoster: ; 0x26fb0 db "@" ; 0x26fb8 -DecorationDesc_NullPoster: ; 26fb8 +DecorationDesc_NullPoster: end -; 26fb9 -DecorationDesc_LeftOrnament: ; 26fb9 +DecorationDesc_LeftOrnament: ld a, [wDecoLeftOrnament] jr DecorationDesc_OrnamentOrConsole -DecorationDesc_RightOrnament: ; 26fbe +DecorationDesc_RightOrnament: ld a, [wDecoRightOrnament] jr DecorationDesc_OrnamentOrConsole -DecorationDesc_Console: ; 26fc3 +DecorationDesc_Console: ld a, [wDecoConsole] jr DecorationDesc_OrnamentOrConsole -DecorationDesc_OrnamentOrConsole: ; 26fc8 +DecorationDesc_OrnamentOrConsole: ld c, a ld de, wStringBuffer3 call GetDecorationName_c_de ld b, BANK(.OrnamentConsoleScript) ld de, .OrnamentConsoleScript ret -; 26fd5 -.OrnamentConsoleScript: ; 26fd5 +.OrnamentConsoleScript: jumptext .OrnamentConsoleText -; 26fd8 .OrnamentConsoleText: ; 0x26fd8 ; It's an adorable @ . @@ -1178,15 +1101,13 @@ DecorationDesc_OrnamentOrConsole: ; 26fc8 db "@" ; 0x26fdd -DecorationDesc_GiantOrnament: ; 26fdd +DecorationDesc_GiantOrnament: ld b, BANK(.BigDollScript) ld de, .BigDollScript ret -; 26fe3 -.BigDollScript: ; 26fe3 +.BigDollScript: jumptext .BigDollText -; 26fe6 .BigDollText: ; 0x26fe6 ; A giant doll! It's fluffy and cuddly. @@ -1194,7 +1115,7 @@ DecorationDesc_GiantOrnament: ; 26fdd db "@" ; 0x26feb -ToggleMaptileDecorations: ; 26feb +ToggleMaptileDecorations: lb de, 0, 4 ld a, [wDecoBed] call SetDecorationTile @@ -1223,9 +1144,8 @@ ToggleMaptileDecorations: ; 26feb dec a ld [hl], a ret -; 27027 -SetPosterVisibility: ; 27027 +SetPosterVisibility: ld b, SET_FLAG ld a, [wDecoPoster] and a @@ -1235,9 +1155,8 @@ SetPosterVisibility: ; 27027 .ok ld de, EVENT_PLAYERS_ROOM_POSTER jp EventFlagAction -; 27037 -SetDecorationTile: ; 27037 +SetDecorationTile: push af call PadCoords_de pop af @@ -1246,9 +1165,8 @@ SetDecorationTile: ; 27037 call _GetDecorationSprite ld [hl], a ret -; 27043 -ToggleDecorationsVisibility: ; 27043 +ToggleDecorationsVisibility: ld de, EVENT_PLAYERS_HOUSE_2F_CONSOLE ld hl, wVariableSprites + SPRITE_CONSOLE - SPRITE_VARS ld a, [wDecoConsole] @@ -1266,9 +1184,8 @@ ToggleDecorationsVisibility: ; 27043 ld a, [wDecoBigDoll] call ToggleDecorationVisibility ret -; 27074 -ToggleDecorationVisibility: ; 27074 +ToggleDecorationVisibility: and a jr z, .hide call _GetDecorationSprite @@ -1279,9 +1196,8 @@ ToggleDecorationVisibility: ; 27074 .hide ld b, SET_FLAG jp EventFlagAction -; 27085 -_GetDecorationSprite: ; 27085 +_GetDecorationSprite: ld c, a push de push hl @@ -1290,9 +1206,8 @@ _GetDecorationSprite: ; 27085 pop de ld a, c ret -; 27092 -PadCoords_de: ; 27092 +PadCoords_de: ld a, d add 4 ld d, a diff --git a/engine/overworld/events.asm b/engine/overworld/events.asm index cc2c8c574..daa7b8414 100644 --- a/engine/overworld/events.asm +++ b/engine/overworld/events.asm @@ -3,7 +3,7 @@ INCLUDE "constants.asm" SECTION "Events", ROMX -OverworldLoop:: ; 966b0 +OverworldLoop:: xor a ld [wMapStatus], a .loop @@ -21,99 +21,83 @@ OverworldLoop:: ; 966b0 dw EnterMap dw HandleMap dw .done -; 966cb -DisableEvents: ; 966cb +DisableEvents: xor a ld [wScriptFlags3], a ret -; 966d0 -EnableEvents:: ; 966d0 +EnableEvents:: ld a, $ff ld [wScriptFlags3], a ret -; 966d6 -CheckBit5_ScriptFlags3: ; 966d6 +CheckBit5_ScriptFlags3: ld hl, wScriptFlags3 bit 5, [hl] ret -; 966dc -DisableWarpsConnxns: ; 966dc +DisableWarpsConnxns: ld hl, wScriptFlags3 res 2, [hl] ret -; 966e2 -DisableCoordEvents: ; 966e2 +DisableCoordEvents: ld hl, wScriptFlags3 res 1, [hl] ret -; 966e8 -DisableStepCount: ; 966e8 +DisableStepCount: ld hl, wScriptFlags3 res 0, [hl] ret -; 966ee -DisableWildEncounters: ; 966ee +DisableWildEncounters: ld hl, wScriptFlags3 res 4, [hl] ret -; 966f4 -EnableWarpsConnxns: ; 966f4 +EnableWarpsConnxns: ld hl, wScriptFlags3 set 2, [hl] ret -; 966fa -EnableCoordEvents: ; 966fa +EnableCoordEvents: ld hl, wScriptFlags3 set 1, [hl] ret -; 96700 -EnableStepCount: ; 96700 +EnableStepCount: ld hl, wScriptFlags3 set 0, [hl] ret -; 96706 -EnableWildEncounters: ; 96706 +EnableWildEncounters: ld hl, wScriptFlags3 set 4, [hl] ret -; 9670c -CheckWarpConnxnScriptFlag: ; 9670c +CheckWarpConnxnScriptFlag: ld hl, wScriptFlags3 bit 2, [hl] ret -; 96712 -CheckCoordEventScriptFlag: ; 96712 +CheckCoordEventScriptFlag: ld hl, wScriptFlags3 bit 1, [hl] ret -; 96718 -CheckStepCountScriptFlag: ; 96718 +CheckStepCountScriptFlag: ld hl, wScriptFlags3 bit 0, [hl] ret -; 9671e -CheckWildEncountersScriptFlag: ; 9671e +CheckWildEncountersScriptFlag: ld hl, wScriptFlags3 bit 4, [hl] ret -; 96724 -StartMap: ; 96724 +StartMap: xor a ld [wScriptVar], a xor a @@ -123,7 +107,7 @@ StartMap: ; 96724 call ByteFill farcall InitCallReceiveDelay call ClearJoypad -EnterMap: ; 9673e +EnterMap: xor a ld [wXYComparePointer], a ld [wXYComparePointer + 1], a @@ -149,15 +133,13 @@ EnterMap: ; 9673e ld a, 2 ; HandleMap ld [wMapStatus], a ret -; 9676d -UnusedWait30Frames: ; 9676d +UnusedWait30Frames: ld c, 30 call DelayFrames ret -; 96773 -HandleMap: ; 96773 +HandleMap: call ResetOverworldDelay call HandleMapTimeAndJoypad farcall HandleCmdQueue ; no need to farcall @@ -173,9 +155,8 @@ HandleMap: ; 96773 call HandleMapBackground call CheckPlayerState ret -; 96795 -MapEvents: ; 96795 +MapEvents: ld a, [wMapEventStatus] ld hl, .jumps rst JumpTable @@ -184,39 +165,33 @@ MapEvents: ; 96795 .jumps dw .events dw .no_events -; 967a1 -.events ; 967a1 +.events call PlayerEvents call DisableEvents farcall ScriptEvents ret -; 967ae -.no_events ; 967ae +.no_events ret -; 967af -MaxOverworldDelay: ; 967af +MaxOverworldDelay: db 2 -; 967b0 -ResetOverworldDelay: ; 967b0 +ResetOverworldDelay: ld a, [MaxOverworldDelay] ld [wOverworldDelay], a ret -; 967b7 -NextOverworldFrame: ; 967b7 +NextOverworldFrame: ld a, [wOverworldDelay] and a ret z ld c, a call DelayFrames ret -; 967c1 -HandleMapTimeAndJoypad: ; 967c1 +HandleMapTimeAndJoypad: ld a, [wMapEventStatus] cp 1 ; no events ret z @@ -225,23 +200,20 @@ HandleMapTimeAndJoypad: ; 967c1 call GetJoypad call TimeOfDayPals ret -; 967d1 -HandleMapObjects: ; 967d1 +HandleMapObjects: farcall HandleNPCStep ; engine/map_objects.asm farcall _HandlePlayerStep call _CheckObjectEnteringVisibleRange ret -; 967e1 -HandleMapBackground: ; 967e1 +HandleMapBackground: farcall _UpdateSprites farcall ScrollScreen farcall PlaceMapNameSign ret -; 967f4 -CheckPlayerState: ; 967f4 +CheckPlayerState: ld a, [wPlayerStepFlags] bit 5, a ; in the middle of step jr z, .events @@ -259,17 +231,15 @@ CheckPlayerState: ; 967f4 ld a, 1 ; no events ld [wMapEventStatus], a ret -; 96812 -_CheckObjectEnteringVisibleRange: ; 96812 +_CheckObjectEnteringVisibleRange: ld hl, wPlayerStepFlags bit 6, [hl] ret z farcall CheckObjectEnteringVisibleRange ret -; 9681f -PlayerEvents: ; 9681f +PlayerEvents: xor a ; If there's already a player event, don't interrupt it. ld a, [wScriptRunning] @@ -318,9 +288,8 @@ PlayerEvents: ; 9681f .ok2 scf ret -; 96867 -CheckTrainerBattle3: ; 96867 +CheckTrainerBattle3: nop nop call CheckTrainerBattle2 @@ -333,9 +302,8 @@ CheckTrainerBattle3: ; 96867 .nope xor a ret -; 96874 -CheckTileEvent: ; 96874 +CheckTileEvent: ; Check for warps, coord events, or wild battles. call CheckWarpConnxnScriptFlag @@ -399,9 +367,8 @@ CheckTileEvent: ; 96874 call GetMapScriptsBank call CallScript ret -; 968c7 -CheckWildEncounterCooldown:: ; 968c7 +CheckWildEncounterCooldown:: ld hl, wWildEncounterCooldown ld a, [hl] and a @@ -410,35 +377,30 @@ CheckWildEncounterCooldown:: ; 968c7 ret z scf ret -; 968d1 -SetUpFiveStepWildEncounterCooldown: ; 968d1 +SetUpFiveStepWildEncounterCooldown: ld a, 5 ld [wWildEncounterCooldown], a ret -; 968d7 -ret_968d7: ; 968d7 +ret_968d7: ret -;968d8 -SetMinTwoStepWildEncounterCooldown: ; 968d8 +SetMinTwoStepWildEncounterCooldown: ld a, [wWildEncounterCooldown] cp 2 ret nc ld a, 2 ld [wWildEncounterCooldown], a ret -; 968e4 -Dummy_CheckScriptFlags3Bit5: ; 968e4 +Dummy_CheckScriptFlags3Bit5: call CheckBit5_ScriptFlags3 ret z call ret_2f3e ret -; 968ec -RunSceneScript: ; 968ec +RunSceneScript: ld a, [wCurrMapSceneScriptCount] and a jr z, .nope @@ -485,9 +447,8 @@ endr .nope xor a ret -; 9693a -CheckTimeEvents: ; 9693a +CheckTimeEvents: ld a, [wLinkMode] and a jr nz, .nothing @@ -517,15 +478,13 @@ CheckTimeEvents: ; 9693a call CallScript scf ret -; 96970 -.unused ; 96970 +.unused ld a, 8 scf ret -; 96974 -OWPlayerInput: ; 96974 +OWPlayerInput: call PlayerMovement ret c @@ -552,9 +511,8 @@ OWPlayerInput: ; 96974 pop af scf ret -; 96999 -CheckAPressOW: ; 96999 +CheckAPressOW: ld a, [hJoyPressed] and A_BUTTON ret z @@ -566,17 +524,15 @@ CheckAPressOW: ; 96999 ret c xor a ret -; 969ac -PlayTalkObject: ; 969ac +PlayTalkObject: push de ld de, SFX_READ_TEXT_2 call PlaySFX pop de ret -; 969b5 -TryObjectEvent: ; 969b5 +TryObjectEvent: farcall CheckFacingObject jr c, .IsObject xor a @@ -627,9 +583,8 @@ TryObjectEvent: ; 969b5 dbw OBJECTTYPE_5, .five dbw OBJECTTYPE_6, .six db -1 -; 96a04 -.script ; 96a04 +.script ld hl, MAPOBJECT_SCRIPT_POINTER add hl, bc ld a, [hli] @@ -638,9 +593,8 @@ TryObjectEvent: ; 969b5 call GetMapScriptsBank call CallScript ret -; 96a12 -.itemball ; 96a12 +.itemball ld hl, MAPOBJECT_SCRIPT_POINTER add hl, bc ld a, [hli] @@ -653,36 +607,30 @@ TryObjectEvent: ; 969b5 ld a, PLAYEREVENT_ITEMBALL scf ret -; 96a29 -.trainer ; 96a29 +.trainer call TalkToTrainer ld a, PLAYEREVENT_TALKTOTRAINER scf ret -; 96a30 -.three ; 96a30 +.three xor a ret -; 96a32 -.four ; 96a32 +.four xor a ret -; 96a34 -.five ; 96a34 +.five xor a ret -; 96a36 -.six ; 96a36 +.six xor a ret -; 96a38 -TryBGEvent: ; 96a38 +TryBGEvent: call CheckFacingBGEvent jr c, .is_bg_event xor a @@ -704,7 +652,6 @@ TryBGEvent: ; 96a38 dw .ifnotset dw .itemifset dw .copy -; 96a59 .up ld b, OW_UP @@ -784,9 +731,8 @@ TryBGEvent: ; 96a38 .dontread xor a ret -; 96ad8 -CheckBGEventFlag: ; 96ad8 +CheckBGEventFlag: ld hl, wEngineBuffer4 ld a, [hli] ld h, [hl] @@ -802,16 +748,14 @@ CheckBGEventFlag: ; 96ad8 and a pop hl ret -; 96af0 -PlayerMovement: ; 96af0 +PlayerMovement: farcall DoPlayerMovement ld a, c ld hl, .pointers rst JumpTable ld a, c ret -; 96afd .pointers dw .zero @@ -824,34 +768,30 @@ PlayerMovement: ; 96af0 dw .seven .zero -.four ; 96b0d +.four xor a ld c, a ret -; 96b10 -.seven ; 96b10 +.seven call ret_968d7 ; mobile xor a ld c, a ret -; 96b16 -.one ; 96b16 +.one ld a, 5 ld c, a scf ret -; 96b1b -.two ; 96b1b +.two ld a, 9 ld c, a scf ret -; 96b20 -.three ; 96b20 +.three ; force the player to move in some direction ld a, BANK(Script_ForcedMovement) ld hl, Script_ForcedMovement @@ -860,17 +800,15 @@ PlayerMovement: ; 96af0 ld c, a scf ret -; 96b2b .five -.six ; 96b2b +.six ld a, -1 ld c, a and a ret -; 96b30 -CheckMenuOW: ; 96b30 +CheckMenuOW: xor a ld [hMenuReturn], a ld [hMenuReturn + 1], a @@ -899,36 +837,30 @@ CheckMenuOW: ; 96b30 call CallScript scf ret -; 96b58 -StartMenuScript: ; 96b58 +StartMenuScript: callasm StartMenu jump StartMenuCallback -; 96b5f -SelectMenuScript: ; 96b5f +SelectMenuScript: callasm SelectMenu jump SelectMenuCallback -; 96b66 StartMenuCallback: -SelectMenuCallback: ; 96b66 +SelectMenuCallback: copybytetovar hMenuReturn ifequal HMENURETURN_SCRIPT, .Script ifequal HMENURETURN_ASM, .Asm end -; 96b72 -.Script: ; 96b72 +.Script: ptjump wQueuedScriptBank -; 96b75 -.Asm: ; 96b75 +.Asm: ptcallasm wQueuedScriptBank end -; 96b79 -CountStep: ; 96b79 +CountStep: ; Don't count steps in link communication rooms. ld a, [wLinkMode] and a @@ -993,16 +925,14 @@ CountStep: ; 96b79 ld a, 8 scf ret -; 96bd3 ; unused -.unreferenced ; 96bd3 +.unreferenced ld a, 7 scf ret -; 96bd7 -DoRepelStep: ; 96bd7 +DoRepelStep: ld a, [wRepelEffect] and a ret z @@ -1016,9 +946,8 @@ DoRepelStep: ; 96bd7 call CallScript scf ret -; 96beb -DoPlayerEvent: ; 96beb +DoPlayerEvent: ld a, [wScriptRunning] and a ret z @@ -1042,9 +971,8 @@ DoPlayerEvent: ; 96beb ld a, [hl] ld [wScriptPos + 1], a ret -; 96c0c -PlayerEventScriptPointers: ; 96c0c +PlayerEventScriptPointers: dba Invalid_0x96c2d ; 0 dba SeenByTrainerScript ; 1 dba TalkToTrainerScript ; 2 @@ -1056,55 +984,45 @@ PlayerEventScriptPointers: ; 96c0c dba HatchEggScript ; 8 dba ChangeDirectionScript ; 9 dba Invalid_0x96c2d ; 10 -; 96c2d -Invalid_0x96c2d: ; 96c2d +Invalid_0x96c2d: end -; 96c2e ; unused end -; 96c2f -HatchEggScript: ; 96c2f +HatchEggScript: callasm OverworldHatchEgg end -; 96c34 -WarpToNewMapScript: ; 96c34 +WarpToNewMapScript: warpsound newloadmap MAPSETUP_DOOR end -; 96c38 -FallIntoMapScript: ; 96c38 +FallIntoMapScript: newloadmap MAPSETUP_FALL playsound SFX_KINESIS applymovement PLAYER, MovementData_0x96c48 playsound SFX_STRENGTH scall LandAfterPitfallScript end -; 96c48 -MovementData_0x96c48: ; 96c48 +MovementData_0x96c48: skyfall step_end -; 96c4a -LandAfterPitfallScript: ; 96c4a +LandAfterPitfallScript: earthquake 16 end -; 96c4d EdgeWarpScript: ; 4 reloadandreturn MAPSETUP_CONNECTION -; 96c4f ChangeDirectionScript: ; 9 deactivatefacing 3 callasm EnableWildEncounters end -; 96c56 INCLUDE "engine/overworld/scripting.asm" diff --git a/engine/overworld/events_2.asm b/engine/overworld/events_2.asm index 6e106541a..b7376d48d 100644 --- a/engine/overworld/events_2.asm +++ b/engine/overworld/events_2.asm @@ -1,14 +1,13 @@ ; More overworld event handling. -WarpToSpawnPoint:: ; 97c28 +WarpToSpawnPoint:: ld hl, wStatusFlags2 res STATUSFLAGS2_SAFARI_GAME_F, [hl] res STATUSFLAGS2_BUG_CONTEST_TIMER_F, [hl] ret -; 97c30 -RunMemScript:: ; 97c30 +RunMemScript:: ; If there is no script here, we don't need to be here. ld a, [wMapReentryScriptQueueFlag] and a @@ -29,9 +28,8 @@ RunMemScript:: ; 97c30 call ByteFill pop af ret -; 97c4f -LoadScriptBDE:: ; 97c4f +LoadScriptBDE:: ; If there's already a script here, don't overwrite. ld hl, wMapReentryScriptQueueFlag ld a, [hl] @@ -48,9 +46,8 @@ LoadScriptBDE:: ; 97c4f ld [hl], d scf ret -; 97c5f -TryTileCollisionEvent:: ; 97c5f +TryTileCollisionEvent:: call GetFacingTileCoord ld [wEngineBuffer1], a ld c, a @@ -98,10 +95,9 @@ TryTileCollisionEvent:: ; 97c5f ld a, $ff scf ret -; 97cc0 -RandomEncounter:: ; 97cc0 +RandomEncounter:: ; Random encounter call CheckWildEncounterCooldown @@ -139,16 +135,14 @@ RandomEncounter:: ; 97cc0 call CallScript scf ret -; 97cf9 -WildBattleScript: ; 97cf9 +WildBattleScript: randomwildmon startbattle reloadmapafterbattle end -; 97cfd -CanUseSweetScent:: ; 97cfd +CanUseSweetScent:: ld hl, wStatusFlags bit STATUSFLAGS_NO_WILD_ENCOUNTERS_F, [hl] jr nz, .no @@ -170,17 +164,15 @@ CanUseSweetScent:: ; 97cfd .no and a ret -; 97d23 -_TryWildEncounter_BugContest: ; 97d23 +_TryWildEncounter_BugContest: call TryWildEncounter_BugContest ret nc call ChooseWildEncounter_BugContest farcall CheckRepelEffect ret -; 97d31 -ChooseWildEncounter_BugContest:: ; 97d31 +ChooseWildEncounter_BugContest:: ; Pick a random mon out of ContestMons. .loop @@ -232,9 +224,8 @@ ChooseWildEncounter_BugContest:: ; 97d31 xor a ret -; 97d64 -TryWildEncounter_BugContest: ; 97d64 +TryWildEncounter_BugContest: ld a, [wPlayerStandingTile] call CheckSuperTallGrassTile ld b, 40 percent @@ -251,13 +242,12 @@ TryWildEncounter_BugContest: ; 97d64 ld a, 1 and a ret -; 97d87 INCLUDE "data/wild/bug_contest_mons.asm" -DoBikeStep:: ; 97db3 +DoBikeStep:: nop nop ; If the bike shop owner doesn't have our number, or @@ -322,9 +312,8 @@ DoBikeStep:: ; 97db3 .NoCall: xor a ret -; 97df9 -ClearCmdQueue:: ; 97df9 +ClearCmdQueue:: ld hl, wCmdQueue ld de, 6 ld c, 4 @@ -335,9 +324,8 @@ ClearCmdQueue:: ; 97df9 dec c jr nz, .loop ret -; 97e08 -HandleCmdQueue:: ; 97e08 +HandleCmdQueue:: ld hl, wCmdQueue xor a .loop @@ -359,18 +347,16 @@ HandleCmdQueue:: ; 97e08 cp CMDQUEUE_CAPACITY jr nz, .loop ret -; 97e25 -Unreferenced_GetNthCmdQueueEntry: ; 97e25 +Unreferenced_GetNthCmdQueueEntry: ld hl, wCmdQueue ld bc, CMDQUEUE_ENTRY_SIZE call AddNTimes ld b, h ld c, l ret -; 97e31 -WriteCmdQueue:: ; 97e31 +WriteCmdQueue:: push bc push de call .GetNextEmptyEntry @@ -385,9 +371,8 @@ WriteCmdQueue:: ; 97e31 xor a ld [hl], a ret -; 97e45 -.GetNextEmptyEntry: ; 97e45 +.GetNextEmptyEntry: ld hl, wCmdQueue ld de, CMDQUEUE_ENTRY_SIZE ld c, CMDQUEUE_CAPACITY @@ -406,9 +391,8 @@ WriteCmdQueue:: ; 97e31 sub c and a ret -; 97e5c -DelCmdQueue:: ; 97e5c +DelCmdQueue:: ld hl, wCmdQueue ld de, CMDQUEUE_ENTRY_SIZE ld c, CMDQUEUE_CAPACITY @@ -427,16 +411,14 @@ DelCmdQueue:: ; 97e5c ld [hl], a scf ret -; 97e72 -_DelCmdQueue: ; 97e72 +_DelCmdQueue: ld hl, CMDQUEUE_TYPE add hl, bc ld [hl], 0 ret -; 97e79 -HandleQueuedCommand: ; 97e79 +HandleQueuedCommand: ld hl, CMDQUEUE_TYPE add hl, bc ld a, [hl] @@ -459,62 +441,54 @@ HandleQueuedCommand: ; 97e79 pop af rst FarCall ret -; 97e94 -.Jumptable: ; 97e94 +.Jumptable: dba CmdQueue_Null dba CmdQueue_Null2 dba CmdQueue_StoneTable dba CmdQueue_Type3 dba CmdQueue_Type4 -; 97ea3 -CmdQueueAnonymousJumptable: ; 97ea3 +CmdQueueAnonymousJumptable: ld hl, CMDQUEUE_05 add hl, bc ld a, [hl] pop hl rst JumpTable ret -; 97eab -CmdQueueAnonJT_Increment: ; 97eab +CmdQueueAnonJT_Increment: ld hl, CMDQUEUE_05 add hl, bc inc [hl] ret -; 97eb1 -CmdQueueAnonJT_Decrement: ; 97eb1 +CmdQueueAnonJT_Decrement: ld hl, CMDQUEUE_05 add hl, bc dec [hl] ret -; 97eb7 -CmdQueue_Null: ; 97eb7 +CmdQueue_Null: ret -; 97eb8 -CmdQueue_Null2: ; 97eb8 +CmdQueue_Null2: call ret_2f3e ret -; 97ebc -CmdQueue_Type4: ; 97ebc +CmdQueue_Type4: call CmdQueueAnonymousJumptable ; anonymous dw dw .zero dw .one -; 97ec3 -.zero ; 97ec3 +.zero ld a, [hSCY] ld hl, 4 add hl, bc ld [hl], a call CmdQueueAnonJT_Increment -.one ; 97ecd +.one ld hl, 1 add hl, bc ld a, [hl] @@ -545,21 +519,19 @@ CmdQueue_Type4: ; 97ebc ld [hSCY], a call _DelCmdQueue ret -; 97ef9 -CmdQueue_Type3: ; 97ef9 +CmdQueue_Type3: call CmdQueueAnonymousJumptable ; anonymous dw dw .zero dw .one dw .two -; 97f02 -.zero ; 97f02 +.zero call .IsPlayerFacingDown jr z, .PlayerNotFacingDown call CmdQueueAnonJT_Increment -.one ; 97f0a +.one call .IsPlayerFacingDown jr z, .PlayerNotFacingDown call CmdQueueAnonJT_Increment @@ -569,9 +541,8 @@ CmdQueue_Type3: ; 97ef9 ld a, [hl] ld [wd173], a ret -; 97f1b -.two ; 97f1b +.two call .IsPlayerFacingDown jr z, .PlayerNotFacingDown call CmdQueueAnonJT_Decrement @@ -581,27 +552,24 @@ CmdQueue_Type3: ; 97ef9 ld a, [hl] ld [wd173], a ret -; 97f2c -.PlayerNotFacingDown: ; 97f2c +.PlayerNotFacingDown: ld a, $7f ld [wd173], a ld hl, 5 add hl, bc ld [hl], 0 ret -; 97f38 -.IsPlayerFacingDown: ; 97f38 +.IsPlayerFacingDown: push bc ld bc, wPlayerStruct call GetSpriteDirection and a pop bc ret -; 97f42 -CmdQueue_StoneTable: ; 97f42 +CmdQueue_StoneTable: ld de, wPlayerStruct ld a, NUM_OBJECT_STRUCTS .loop @@ -647,4 +615,3 @@ CmdQueue_StoneTable: ; 97f42 .fall_down_hole pop af ret -; 97f7e diff --git a/engine/overworld/init_map.asm b/engine/overworld/init_map.asm index 2eb4998a6..ba1e74295 100644 --- a/engine/overworld/init_map.asm +++ b/engine/overworld/init_map.asm @@ -1,4 +1,4 @@ -ReanchorBGMap_NoOAMUpdate:: ; 6454 +ReanchorBGMap_NoOAMUpdate:: call DelayFrame ld a, [hOAMUpdate] push af @@ -50,13 +50,13 @@ ReanchorBGMap_NoOAMUpdate:: ; 6454 call ApplyBGMapAnchorToObjects ret -.LoadBGMapAddrIntoHRAM: ; 64b9 +.LoadBGMapAddrIntoHRAM: ld [hBGMapAddress + 1], a xor a ld [hBGMapAddress], a ret -LoadFonts_NoOAMUpdate:: ; 64bf +LoadFonts_NoOAMUpdate:: ld a, [hOAMUpdate] push af ld a, $1 @@ -76,7 +76,7 @@ LoadFonts_NoOAMUpdate:: ; 64bf call LoadStandardFont ret -HDMATransfer_FillBGMap0WithBlack: ; 64db +HDMATransfer_FillBGMap0WithBlack: ld a, [rSVBK] push af ld a, BANK(wDecompressScratch) diff --git a/engine/overworld/load_map_part.asm b/engine/overworld/load_map_part.asm index 9eeef7259..da1436406 100644 --- a/engine/overworld/load_map_part.asm +++ b/engine/overworld/load_map_part.asm @@ -1,4 +1,4 @@ -_LoadMapPart:: ; 4d15b +_LoadMapPart:: ld hl, wSurroundingTiles ld a, [wMetatileStandingY] and a diff --git a/engine/overworld/map_object_action.asm b/engine/overworld/map_object_action.asm index 8c897d25a..613e3b099 100644 --- a/engine/overworld/map_object_action.asm +++ b/engine/overworld/map_object_action.asm @@ -1,4 +1,4 @@ -ObjectActionPairPointers: ; 445f +ObjectActionPairPointers: ; entries correspond to OBJECT_ACTION_* constants dw SetFacingStanding, SetFacingStanding dw SetFacingStandAction, SetFacingCurrent @@ -17,34 +17,30 @@ ObjectActionPairPointers: ; 445f dw SetFacingBoulderDust, SetFacingStanding dw SetFacingGrassShake, SetFacingStanding dw SetFacingSkyfall, SetFacingCurrent -; 44a3 -SetFacingStanding: ; 44a3 +SetFacingStanding: ld hl, OBJECT_FACING_STEP add hl, bc ld [hl], STANDING ret -; 44aa -SetFacingCurrent: ; 44aa +SetFacingCurrent: call GetSpriteDirection or FACING_STEP_DOWN_0 ; useless ld hl, OBJECT_FACING_STEP add hl, bc ld [hl], a ret -; 44b5 -SetFacingStandAction: ; 44b5 +SetFacingStandAction: ld hl, OBJECT_FACING_STEP add hl, bc ld a, [hl] and 1 jr nz, SetFacingStepAction jp SetFacingCurrent -; 44c1 -SetFacingStepAction: ; 44c1 +SetFacingStepAction: ld hl, OBJECT_FLAGS1 add hl, bc bit SLIDING_F, [hl] @@ -69,9 +65,8 @@ SetFacingStepAction: ; 44c1 add hl, bc ld [hl], a ret -; 44e4 -SetFacingSkyfall: ; 44e4 +SetFacingSkyfall: ld hl, OBJECT_FLAGS1 add hl, bc bit SLIDING_F, [hl] @@ -96,9 +91,8 @@ SetFacingSkyfall: ; 44e4 add hl, bc ld [hl], a ret -; 4508 -SetFacingBumpAction: ; 4508 +SetFacingBumpAction: ld hl, OBJECT_FLAGS1 add hl, bc bit SLIDING_F, [hl] @@ -122,9 +116,8 @@ SetFacingBumpAction: ; 4508 add hl, bc ld [hl], a ret -; 4529 -SetFacingCounterclockwiseSpin: ; 4529 +SetFacingCounterclockwiseSpin: call CounterclockwiseSpinAction ld hl, OBJECT_FACING add hl, bc @@ -134,14 +127,12 @@ SetFacingCounterclockwiseSpin: ; 4529 add hl, bc ld [hl], a ret -; 4539 -SetFacingCounterclockwiseSpin2: ; 4539 +SetFacingCounterclockwiseSpin2: call CounterclockwiseSpinAction jp SetFacingStanding -; 453f -CounterclockwiseSpinAction: ; 453f +CounterclockwiseSpinAction: ; Here, OBJECT_STEP_FRAME consists of two 2-bit components, ; using only bits 0,1 and 4,5. ; bits 0,1 is a timer (4 overworld frames) @@ -179,13 +170,11 @@ CounterclockwiseSpinAction: ; 453f add hl, bc ld [hl], a ret -; 456a -.Directions: ; 456a +.Directions: db OW_DOWN, OW_RIGHT, OW_UP, OW_LEFT -; 456e -SetFacingFish: ; 456e +SetFacingFish: call GetSpriteDirection rrca rrca @@ -194,30 +183,26 @@ SetFacingFish: ; 456e add hl, bc ld [hl], a ret -; 457b -SetFacingShadow: ; 457b +SetFacingShadow: ld hl, OBJECT_FACING_STEP add hl, bc ld [hl], FACING_SHADOW ret -; 4582 SetFacingEmote: ; 4582 emote ld hl, OBJECT_FACING_STEP add hl, bc ld [hl], FACING_EMOTE ret -; 4589 -SetFacingBigDollSym: ; 4589 +SetFacingBigDollSym: ld hl, OBJECT_FACING_STEP add hl, bc ld [hl], FACING_BIG_DOLL_SYM ret -; 4590 -SetFacingBounce: ; 4590 +SetFacingBounce: ld hl, OBJECT_STEP_FRAME add hl, bc ld a, [hl] @@ -230,16 +215,14 @@ SetFacingBounce: ; 4590 add hl, bc ld [hl], FACING_STEP_UP_0 ret -; 45a4 -SetFacingFreezeBounce: ; 45a4 +SetFacingFreezeBounce: ld hl, OBJECT_FACING_STEP add hl, bc ld [hl], FACING_STEP_DOWN_0 ret -; 45ab -SetFacingWeirdTree: ; 45ab +SetFacingWeirdTree: ld hl, OBJECT_STEP_FRAME add hl, bc ld a, [hl] @@ -253,16 +236,14 @@ SetFacingWeirdTree: ; 45ab add hl, bc ld [hl], a ret -; 45be -SetFacingBigDollAsym: ; 45be +SetFacingBigDollAsym: ld hl, OBJECT_FACING_STEP add hl, bc ld [hl], FACING_BIG_DOLL_ASYM ret -; 45c5 -SetFacingBigDoll: ; 45c5 +SetFacingBigDoll: ld a, [wVariableSprites + SPRITE_BIG_DOLL - SPRITE_VARS] ld d, FACING_BIG_DOLL_SYM ; symmetric cp SPRITE_BIG_SNORLAX @@ -276,9 +257,8 @@ SetFacingBigDoll: ; 45c5 add hl, bc ld [hl], d ret -; 45da -SetFacingBoulderDust: ; 45da +SetFacingBoulderDust: ld hl, OBJECT_STEP_FRAME add hl, bc inc [hl] @@ -293,9 +273,8 @@ SetFacingBoulderDust: ; 45da .ok ld [hl], a ret -; 45ed -SetFacingGrassShake: ; 45ed +SetFacingGrassShake: ld hl, OBJECT_STEP_FRAME add hl, bc inc [hl] @@ -310,4 +289,3 @@ SetFacingGrassShake: ; 45ed .ok ld [hl], a ret -; 4600 diff --git a/engine/overworld/map_objects.asm b/engine/overworld/map_objects.asm index 7ed1d5f5f..0846f01b1 100644 --- a/engine/overworld/map_objects.asm +++ b/engine/overworld/map_objects.asm @@ -3,8 +3,7 @@ INCLUDE "data/sprites/facings.asm" INCLUDE "data/sprites/map_objects.asm" -; 4357 -DeleteMapObject:: ; 4357 +DeleteMapObject:: push bc ld hl, OBJECT_MAP_OBJECT_INDEX add hl, bc @@ -27,9 +26,8 @@ DeleteMapObject:: ; 4357 .ok pop bc ret -; 437b -Function437b: ; 437b +Function437b: call .CheckObjectStillVisible ret c call .HandleStepType @@ -156,9 +154,8 @@ Function437b: ; 437b jr nz, asm_4448 ld de, ObjectActionPairPointers ; use first column jr _HandleObjectAction -; 4440 -Function4440: ; 4440 +Function4440: ld hl, OBJECT_FLAGS1 add hl, bc bit INVISIBLE_F, [hl] @@ -166,7 +163,6 @@ Function4440: ; 4440 asm_4448: ld de, ObjectActionPairPointers + 2 ; use second column jr _HandleObjectAction -; 444d _HandleObjectAction: ; call [4 * wObjectStructs[ObjInd, OBJECT_ACTION] + de] @@ -183,11 +179,10 @@ _HandleObjectAction: ld l, a call _hl_ ret -; 445f INCLUDE "engine/overworld/map_object_action.asm" -CopyNextCoordsTileToStandingCoordsTile: ; 4600 +CopyNextCoordsTileToStandingCoordsTile: ld hl, OBJECT_NEXT_MAP_X add hl, bc ld a, [hl] @@ -212,9 +207,8 @@ CopyNextCoordsTileToStandingCoordsTile: ; 4600 ld a, [hl] call UselessAndA ret -; 462a -Function462a: ; 462a +Function462a: ld hl, OBJECT_MAP_X add hl, bc ld a, [hl] @@ -228,9 +222,8 @@ Function462a: ; 462a add hl, bc ld [hl], a ret -; 463f -UpdateTallGrassFlags: ; 463f +UpdateTallGrassFlags: ld hl, OBJECT_FLAGS2 add hl, bc bit OVERHEAD_F, [hl] @@ -250,9 +243,8 @@ UpdateTallGrassFlags: ; 463f ld a, [hl] call UselessAndA ret -; 4661 -SetTallGrassFlags: ; 4661 +SetTallGrassFlags: call CheckSuperTallGrassTile jr z, .set call CheckGrassTile @@ -268,14 +260,12 @@ SetTallGrassFlags: ; 4661 add hl, bc res OVERHEAD_F, [hl] ret -; 4679 -UselessAndA: ; 4679 +UselessAndA: and a ret -; 467b -EndSpriteMovement: ; 467b +EndSpriteMovement: xor a ld hl, OBJECT_STEP_FRAME add hl, bc @@ -290,9 +280,8 @@ EndSpriteMovement: ; 467b add hl, bc ld [hl], STANDING ret -; 4690 -InitStep: ; 4690 +InitStep: ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], a @@ -306,7 +295,7 @@ InitStep: ; 4690 ld hl, OBJECT_FACING add hl, bc ld [hl], a -GetNextTile: ; 46a6 +GetNextTile: call GetStepVector ld hl, OBJECT_STEP_DURATION add hl, bc @@ -336,9 +325,8 @@ GetNextTile: ; 46a6 add hl, bc ld [hl], a ret -; 46d7 -AddStepVector: ; 46d7 +AddStepVector: call GetStepVector ld hl, OBJECT_SPRITE_X add hl, bc @@ -351,9 +339,8 @@ AddStepVector: ; 46d7 add e ld [hl], a ret -; 46e9 -GetStepVector: ; 46e9 +GetStepVector: ; Return (x, y, duration, speed) in (d, e, a, h). ld hl, OBJECT_DIRECTION_WALKING add hl, bc @@ -372,9 +359,8 @@ GetStepVector: ; 46e9 ld a, [hli] ld h, [hl] ret -; 4700 -StepVectors: ; 4700 +StepVectors: ; x, y, duration, speed ; slow db 0, 1, 16, 1 @@ -391,18 +377,16 @@ StepVectors: ; 4700 db 0, -4, 4, 4 db -4, 0, 4, 4 db 4, 0, 4, 4 -; 4730 -GetStepVectorSign: ; 4730 +GetStepVectorSign: add a ret z ; 0 or 128 ld a, 1 ret nc ; 1 - 127 ld a, -1 ret ; 129 - 255 -; 4738 -UpdatePlayerStep: ; 4738 +UpdatePlayerStep: ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld a, [hl] @@ -418,9 +402,8 @@ UpdatePlayerStep: ; 4738 ld hl, wPlayerStepFlags set 5, [hl] ret -; 4759 -Unreferenced_Function4759: ; 4759 +Unreferenced_Function4759: push bc ld e, a ld d, 0 @@ -432,9 +415,8 @@ Unreferenced_Function4759: ; 4759 ld a, [hl] pop bc ret -; 4769 -RestoreDefaultMovement: ; 4769 +RestoreDefaultMovement: ld hl, OBJECT_MAP_OBJECT_INDEX add hl, bc ld a, [hl] @@ -451,76 +433,66 @@ RestoreDefaultMovement: ; 4769 .ok ld a, SPRITEMOVEFN_STANDING ret -; 4780 -ClearObjectMovementByteIndex: ; 4780 +ClearObjectMovementByteIndex: ld hl, OBJECT_MOVEMENT_BYTE_INDEX add hl, bc ld [hl], 0 ret -; 4787 -IncrementObjectMovementByteIndex: ; 4787 +IncrementObjectMovementByteIndex: ld hl, OBJECT_MOVEMENT_BYTE_INDEX add hl, bc inc [hl] ret -; 478d -DecrementObjectMovementByteIndex: ; 478d +DecrementObjectMovementByteIndex: ld hl, OBJECT_MOVEMENT_BYTE_INDEX add hl, bc dec [hl] ret -; 4793 -MovementAnonymousJumptable: ; 4793 +MovementAnonymousJumptable: ld hl, OBJECT_MOVEMENT_BYTE_INDEX add hl, bc ld a, [hl] pop hl rst JumpTable ret -; 479b -ClearObjectStructField1c: ; 479b +ClearObjectStructField1c: ld hl, OBJECT_1C add hl, bc ld [hl], 0 ret -; 47a2 -IncrementObjectStructField1c: ; 47a2 +IncrementObjectStructField1c: ld hl, OBJECT_1C add hl, bc inc [hl] ret -; 47a8 -Field1cAnonymousJumptable: ; 47a8 +Field1cAnonymousJumptable: ld hl, OBJECT_1C add hl, bc ld a, [hl] pop hl rst JumpTable ret -; 47b0 -GetValueObjectStructField1c: ; 47b0 +GetValueObjectStructField1c: ld hl, OBJECT_1C add hl, bc ld a, [hl] ret -; 47b6 -SetValueObjectStructField1c: ; 47b6 +SetValueObjectStructField1c: ld hl, OBJECT_1C add hl, bc ld [hl], a ret -; 47bc -ObjectMovementReset: ; 47bc +ObjectMovementReset: ld hl, OBJECT_NEXT_MAP_X add hl, bc ld d, [hl] @@ -539,9 +511,8 @@ ObjectMovementReset: ; 47bc add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 47dd -MapObjectMovementPattern: ; 47dd +MapObjectMovementPattern: call ClearObjectStructField1c call GetSpriteMovementFunction ld a, [hl] @@ -549,7 +520,7 @@ MapObjectMovementPattern: ; 47dd rst JumpTable ret -.Pointers: ; 47e9 +.Pointers: ; entries correspond to SPRITEMOVEFN_* constants dw .Null_00 ; 00 dw .RandomWalkY ; 01 @@ -848,7 +819,7 @@ MapObjectMovementPattern: ; 47dd call .MovementSpinNextFacing jr .MovementSpinCounterclockwise -.DirectionData_Counterclockwise: ; 49c0 +.DirectionData_Counterclockwise: db OW_RIGHT, OW_LEFT, OW_DOWN, OW_UP .MovementSpinTurnRight: @@ -856,7 +827,7 @@ MapObjectMovementPattern: ; 47dd call .MovementSpinNextFacing jr .MovementSpinClockwise -.DirectionData_Clockwise: ; 49cc +.DirectionData_Clockwise: db OW_LEFT, OW_RIGHT, OW_UP, OW_DOWN .MovementSpinNextFacing: @@ -969,7 +940,7 @@ MapObjectMovementPattern: ; 47dd ld [hl], STEP_TYPE_TRACKING_OBJECT ret -.data_4a81 ; 4a81 +.data_4a81 ; x, y db 0, -4 db 0, 8 @@ -1073,18 +1044,17 @@ MapObjectMovementPattern: ; 47dd .NewDuration: call EndSpriteMovement call Function462a -RandomStepDuration_Slow: ; 4b1d +RandomStepDuration_Slow: call Random ld a, [hRandomAdd] and %01111111 jr SetRandomStepDuration -; 4b26 -RandomStepDuration_Fast: ; 4b26 +RandomStepDuration_Fast: call Random ld a, [hRandomAdd] and %00011111 -SetRandomStepDuration: ; 4b2d +SetRandomStepDuration: ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a @@ -1098,9 +1068,8 @@ SetRandomStepDuration: ; 4b2d add hl, bc ld [hl], STEP_TYPE_03 ret -; 4b45 -StepTypesJumptable: ; 4b45 +StepTypesJumptable: ; entries correspond to STEP_TYPE_* constants dw ObjectMovementReset ; 00 dw MapObjectMovementPattern ; 01 @@ -1128,9 +1097,8 @@ StepTypesJumptable: ; 4b45 dw StepType17 ; 17 dw StepType18 ; 18 dw SkyfallTop ; 19 -; 4b79 -WaitStep_InPlace: ; 4b79 +WaitStep_InPlace: ld hl, OBJECT_STEP_DURATION add hl, bc dec [hl] @@ -1139,9 +1107,8 @@ WaitStep_InPlace: ; 4b79 add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4b86 -NPCJump: ; 4b86 +NPCJump: call Field1cAnonymousJumptable ; anonymous dw dw .Jump @@ -1174,9 +1141,8 @@ NPCJump: ; 4b86 add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4bbf -PlayerJump: ; 4bbf +PlayerJump: call Field1cAnonymousJumptable ; anonymous dw dw .initjump @@ -1224,16 +1190,14 @@ PlayerJump: ; 4bbf add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4c18 -TeleportFrom: ; 4c18 +TeleportFrom: call Field1cAnonymousJumptable ; anonymous dw dw .InitSpin dw .DoSpin dw .InitSpinRise dw .DoSpinRise -; 4c23 .InitSpin: ld hl, OBJECT_STEP_FRAME @@ -1294,9 +1258,8 @@ TeleportFrom: ; 4c18 add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4c89 -TeleportTo: ; 4c89 +TeleportTo: call Field1cAnonymousJumptable ; anonymous dw dw .InitWait @@ -1306,7 +1269,6 @@ TeleportTo: ; 4c89 dw .InitFinalSpin dw .DoFinalSpin dw .FinishStep -; 4c9a .InitWait: ld hl, OBJECT_ACTION @@ -1317,7 +1279,6 @@ TeleportTo: ; 4c89 ld [hl], 16 call IncrementObjectStructField1c ret -; 4caa .DoWait: ld hl, OBJECT_STEP_DURATION @@ -1337,7 +1298,6 @@ TeleportTo: ; 4c89 ld [hl], 16 call IncrementObjectStructField1c ret -; 4cc9 .DoDescent: ld hl, OBJECT_ACTION @@ -1365,7 +1325,6 @@ TeleportTo: ; 4c89 ld [hl], 16 call IncrementObjectStructField1c ret -; 4cf5 .DoFinalSpin: ld hl, OBJECT_ACTION @@ -1386,16 +1345,14 @@ TeleportTo: ; 4c89 add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4d14 -Skyfall: ; 4d14 +Skyfall: call Field1cAnonymousJumptable ; anonymous dw dw .Init dw .Step dw .Fall dw .Finish -; 4d1f .Init: ld hl, OBJECT_ACTION @@ -1451,14 +1408,12 @@ Skyfall: ; 4d14 add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4d7e -GotBiteStep: ; 4d7e +GotBiteStep: call Field1cAnonymousJumptable ; anonymous dw dw .Init dw .Run -; 4d85 .Init: ld hl, OBJECT_STEP_DURATION @@ -1485,12 +1440,10 @@ GotBiteStep: ; 4d7e add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4daf -RockSmashStep: ; 4daf +RockSmashStep: call .Step jp WaitStep_InPlace -; 4db5 .Step: ld hl, OBJECT_STEP_DURATION @@ -1505,9 +1458,8 @@ RockSmashStep: ; 4daf add hl, bc ld [hl], a ret -; 4dc8 -ReturnDigStep: ; 4dc8 +ReturnDigStep: ld hl, OBJECT_STEP_DURATION add hl, bc ld a, [hl] @@ -1520,9 +1472,8 @@ ReturnDigStep: ; 4dc8 add hl, bc ld [hl], a jp WaitStep_InPlace -; 4ddd -StepType03: ; 4ddd +StepType03: ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], STANDING @@ -1534,9 +1485,8 @@ StepType03: ; 4ddd add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4df0 -StepType18: ; 4df0 +StepType18: ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], STANDING @@ -1545,9 +1495,8 @@ StepType18: ; 4df0 dec [hl] ret nz jp DeleteMapObject -; 4dff -StepTypeBump: ; 4dff +StepTypeBump: ld hl, OBJECT_STEP_DURATION add hl, bc dec [hl] @@ -1556,9 +1505,8 @@ StepTypeBump: ; 4dff add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4e0c -StepType05: ; 4e0c +StepType05: call Field1cAnonymousJumptable ; anonymous dw dw .Reset @@ -1571,15 +1519,14 @@ StepType05: ; 4e0c add hl, bc ld [hl], a call IncrementObjectStructField1c -StepType04: ; 4e21 +StepType04: call Stubbed_Function4fb2 ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld [hl], STANDING ret -; 4e2b -NPCStep: ; 4e2b +NPCStep: call Stubbed_Function4fb2 call AddStepVector ld hl, OBJECT_STEP_DURATION @@ -1594,9 +1541,8 @@ NPCStep: ; 4e2b add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4e47 -StepType07: ; 4e47 +StepType07: call AddStepVector ld hl, OBJECT_STEP_DURATION add hl, bc @@ -1604,9 +1550,8 @@ StepType07: ; 4e47 ret nz call CopyNextCoordsTileToStandingCoordsTile jp RandomStepDuration_Slow -; 4e56 -PlayerStep: ; 4e56 +PlayerStep: ; AnimateStep? call Field1cAnonymousJumptable ; anonymous dw @@ -1633,9 +1578,8 @@ PlayerStep: ; 4e56 add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4e83 -PlayerOrNPCTurnStep: ; 4e83 +PlayerOrNPCTurnStep: call Field1cAnonymousJumptable ; anonymous dw dw .init1 @@ -1681,9 +1625,8 @@ PlayerOrNPCTurnStep: ; 4e83 add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4ecd -StepType0f: ; 4ecd +StepType0f: call AddStepVector ld hl, OBJECT_STEP_DURATION add hl, bc @@ -1713,9 +1656,8 @@ StepType0f: ; 4ecd add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4f04 -StepTypeTrackingObject: ; 4f04 +StepTypeTrackingObject: ld hl, OBJECT_1D add hl, bc ld e, [hl] @@ -1747,10 +1689,9 @@ StepTypeTrackingObject: ; 4f04 ret nz .nope jp DeleteMapObject -; 4f33 -StepType14: ; 4f33 -StepType15: ; 4f33 +StepType14: +StepType15: call Field1cAnonymousJumptable ; anonymous dw dw .Init @@ -1797,21 +1738,18 @@ StepType15: ; 4f33 cpl inc a ret -; 4f77 -StepType16: ; 4f77 +StepType16: call Field1cAnonymousJumptable ; ???? -; 4f7a -StepType17: ; 4f7a +StepType17: call Field1cAnonymousJumptable ; anonymous dw dw .null dw .null dw .null .null -; 4f83 -SkyfallTop: ; 4f83 +SkyfallTop: call Field1cAnonymousJumptable ; anonymous dw dw .Init @@ -1841,7 +1779,6 @@ SkyfallTop: ; 4f83 add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 4fb2 Stubbed_Function4fb2: ret @@ -1862,10 +1799,9 @@ Stubbed_Function4fb2: ld [hl], a ret -.y ; 4fcd +.y db 0, -1, -2, -3, -4, -3, -2, -1 -; 4fd5 -UpdateJumpPosition: ; 4fd5 +UpdateJumpPosition: call GetStepVector ld a, h ld hl, OBJECT_1F @@ -1884,10 +1820,9 @@ UpdateJumpPosition: ; 4fd5 ld [hl], a ret -.y ; 4ff0 +.y db -4, -6, -8, -10, -11, -12, -12, -12 db -11, -10, -9, -8, -6, -4, 0, 0 -; 5000 Function5000: ; unscripted? ; copy [wPlayerNextMovement] to [wPlayerMovement] ld a, [wPlayerNextMovement] @@ -1899,15 +1834,13 @@ Function5000: ; unscripted? ; recover the previous value of [wPlayerNextMovement] ld a, [hl] ret -; 500e GetMovementByte: ld hl, wMovementDataPointer call _GetMovementByte ret -; 5015 -Function5015: ; 5015 +Function5015: ld hl, OBJECT_MOVEMENT_BYTE_INDEX add hl, bc ld e, [hl] @@ -1920,9 +1853,8 @@ Function5015: ; 5015 add hl, de ld a, [hl] ret -; 5026 -Function5026: ; 5026 +Function5026: ld hl, OBJECT_MOVEMENT_BYTE_INDEX add hl, bc ld e, [hl] @@ -1935,19 +1867,16 @@ Function5026: ; 5026 add hl, de ld a, [hl] ret -; 5037 -_GetMovementObject: ; 5037 +_GetMovementObject: ld hl, GetMovementObject jp HandleMovementData -; 503d -GetMovementObject: ; 503d +GetMovementObject: ld a, [wMovementObject] ret -; 5041 -HandleMovementData: ; 5041 +HandleMovementData: call .StorePointer .loop xor a @@ -1965,35 +1894,30 @@ HandleMovementData: ; 5041 ld a, h ld [wMovementPointer + 1], a ret -; 505e -JumpMovementPointer: ; 505e +JumpMovementPointer: ld hl, wMovementPointer ld a, [hli] ld h, [hl] ld l, a jp hl -; 5065 -ContinueReadingMovement: ; 5065 +ContinueReadingMovement: ld a, 1 ld [wMovementByteWasControlSwitch], a ret -; 506b -DoMovementFunction: ; 506b +DoMovementFunction: push af call ApplyMovementToFollower pop af ld hl, MovementPointers rst JumpTable ret -; 5075 INCLUDE "engine/overworld/movement.asm" -; 54b8 -ApplyMovementToFollower: ; 54b8 +ApplyMovementToFollower: ld e, a ld a, [wObjectFollow_Follower] cp -1 @@ -2024,9 +1948,8 @@ ApplyMovementToFollower: ; 54b8 pop af ld [hl], a ret -; 54e6 -GetFollowerNextMovementByte: ; 54e6 +GetFollowerNextMovementByte: ld hl, wFollowerMovementQueueLength ld a, [hl] and a @@ -2075,9 +1998,8 @@ GetFollowerNextMovementByte: ; 54e6 ld a, movement_step_end scf ret -; 5529 -SpawnShadow: ; 5529 +SpawnShadow: push bc ld de, .ShadowObject call CopyTempObjectData @@ -2088,9 +2010,8 @@ SpawnShadow: ; 5529 .ShadowObject: ; vtile, palette, movement db $00, PAL_OW_SILVER, SPRITEMOVEDATA_SHADOW -; 5538 -SpawnStrengthBoulderDust: ; 5538 +SpawnStrengthBoulderDust: push bc ld de, .BoulderDustObject call CopyTempObjectData @@ -2100,9 +2021,8 @@ SpawnStrengthBoulderDust: ; 5538 .BoulderDustObject: db $00, PAL_OW_SILVER, SPRITEMOVEDATA_BOULDERDUST -; 5547 -SpawnEmote: ; 5547 +SpawnEmote: push bc ld de, .EmoteObject call CopyTempObjectData @@ -2112,9 +2032,8 @@ SpawnEmote: ; 5547 .EmoteObject: db $00, PAL_OW_SILVER, SPRITEMOVEDATA_EMOTE -; 5556 -ShakeGrass: ; 5556 +ShakeGrass: push bc ld de, .GrassObject call CopyTempObjectData @@ -2124,9 +2043,8 @@ ShakeGrass: ; 5556 .GrassObject db $00, PAL_OW_TREE, SPRITEMOVEDATA_GRASS -; 5565 -ShakeScreen: ; 5565 +ShakeScreen: push bc push af ld de, .ScreenShakeObject @@ -2139,9 +2057,8 @@ ShakeScreen: ; 5565 .ScreenShakeObject: db $00, PAL_OW_SILVER, SPRITEMOVEDATA_SCREENSHAKE -; 5579 -DespawnEmote: ; 5579 +DespawnEmote: push bc ld a, [hMapObjectIndexBuffer] ld c, a @@ -2177,18 +2094,16 @@ DespawnEmote: ; 5579 dec a jr nz, .loop ret -; 55ac -InitTempObject: ; 55ac +InitTempObject: call FindFirstEmptyObjectStruct ret nc ld d, h ld e, l farcall CopyTempObjectToObjectStruct ret -; 55b9 -CopyTempObjectData: ; 55b9 +CopyTempObjectData: ; load into wTempObjectCopy: ; -1, -1, [de], [de + 1], [de + 2], [hMapObjectIndexBuffer], [NextMapX], [NextMapY], -1 ; This spawns the object at the same place as whichever object is loaded into bc. @@ -2221,9 +2136,8 @@ CopyTempObjectData: ; 55b9 inc hl ld [hl], -1 ret -; 55e0 -Function55e0:: ; 55e0 +Function55e0:: ld a, [wVramState] bit 0, a ret z @@ -2244,7 +2158,6 @@ Function55e0:: ; 55e0 cp NUM_OBJECT_STRUCTS jr nz, .loop ret -; 5602 Function5602: ; 5602, called at battle start call Function5645 ; clear sprites @@ -2260,17 +2173,15 @@ Function5602: ; 5602, called at battle start .ok call _UpdateSprites ret -; 561d -Function561d: ; 561d +Function561d: call Function5645 ; clear sprites ld a, PLAYER call Function5629 ; respawn player call _UpdateSprites ret -; 5629 -Function5629: ; 5629 +Function5629: cp NUM_OBJECTS ret nc call GetMapObject @@ -2286,9 +2197,8 @@ Function5629: ; 5629 ret z call Function5673 ret -; 5645 -Function5645: ; 5645 +Function5645: xor a ld bc, wObjectStructs .loop @@ -2303,9 +2213,8 @@ Function5645: ; 5645 cp NUM_OBJECT_STRUCTS jr nz, .loop ret -; 565c -Function565c: ; 565c +Function565c: push bc call Function56cd pop bc @@ -2316,25 +2225,22 @@ Function565c: ; 565c farcall Function4440 xor a ret -; 5673 -Function5673: ; 5673 +Function5673: call Function56a3 jr c, SetFacing_Standing farcall Function4440 ; no need to farcall xor a ret -; 5680 -SetFacing_Standing: ; 5680 +SetFacing_Standing: ld hl, OBJECT_FACING_STEP add hl, bc ld [hl], STANDING scf ret -; 5688 -Function5688: ; 5688 +Function5688: push bc ld hl, OBJECT_NEXT_MAP_X add hl, bc @@ -2349,9 +2255,8 @@ Function5688: ; 5688 ld [hl], a farcall UpdateTallGrassFlags ; no need to farcall ret -; 56a3 -Function56a3: ; 56a3 +Function56a3: ld hl, OBJECT_NEXT_MAP_X add hl, bc ld d, [hl] @@ -2382,9 +2287,8 @@ Function56a3: ; 56a3 .nope scf ret -; 56cd -Function56cd: ; 56cd +Function56cd: ld a, [wPlayerBGMapOffsetX] ld d, a ld hl, OBJECT_SPRITE_X_OFFSET @@ -2492,9 +2396,8 @@ Function56cd: ; 56cd .nope scf ret -; 576a -HandleNPCStep:: ; 576a +HandleNPCStep:: call .ResetStepVector call .DoStepsForAllObjects ret @@ -2526,9 +2429,8 @@ HandleNPCStep:: ; 576a cp NUM_OBJECT_STRUCTS jr nz, .loop ret -; 579d -RefreshPlayerSprite: ; 579d +RefreshPlayerSprite: ld a, movement_step_sleep ld [wPlayerNextMovement], a ld [wPlayerMovement], a @@ -2540,9 +2442,8 @@ RefreshPlayerSprite: ; 579d call c, SpawnInFacingDown call .SpawnInCustomFacing ret -; 57bc -.TryResetPlayerAction: ; 57bc +.TryResetPlayerAction: ld hl, wPlayerSpriteSetupFlags bit PLAYERSPRITESETUP_RESET_ACTION_F, [hl] jr nz, .ok @@ -2552,9 +2453,8 @@ RefreshPlayerSprite: ; 579d ld a, OBJECT_ACTION_00 ld [wPlayerAction], a ret -; 57ca -.SpawnInCustomFacing: ; 57ca +.SpawnInCustomFacing: ld hl, wPlayerSpriteSetupFlags bit PLAYERSPRITESETUP_CUSTOM_FACING_F, [hl] ret z @@ -2563,17 +2463,15 @@ RefreshPlayerSprite: ; 579d add a add a jr ContinueSpawnFacing -; 57d9 -SpawnInFacingDown: ; 57d9 +SpawnInFacingDown: ld a, 0 -ContinueSpawnFacing: ; 57db +ContinueSpawnFacing: ld bc, wPlayerStruct call SetSpriteDirection ret -; 57e2 -_SetPlayerPalette: ; 57e2 +_SetPlayerPalette: ld a, d and 1 << 7 ret z @@ -2595,9 +2493,8 @@ _SetPlayerPalette: ; 57e2 or d ld [hl], a ret -; 5803 -StartFollow:: ; 5803 +StartFollow:: push bc ld a, b call SetLeaderIfVisible @@ -2607,29 +2504,25 @@ StartFollow:: ; 5803 call SetFollowerIfVisible farcall QueueFollowerFirstStep ret -; 5815 -SetLeaderIfVisible: ; 5815 +SetLeaderIfVisible: call CheckObjectVisibility ret c ld a, [hObjectStructIndexBuffer] ld [wObjectFollow_Leader], a ret -; 581f -StopFollow:: ; 581f +StopFollow:: call ResetLeader call ResetFollower ret -; 5826 -ResetLeader: ; 5826 +ResetLeader: ld a, -1 ld [wObjectFollow_Leader], a ret -; 582c -SetFollowerIfVisible: ; 582c +SetFollowerIfVisible: push af call ResetFollower pop af @@ -2644,9 +2537,8 @@ SetFollowerIfVisible: ; 582c ld a, [hObjectStructIndexBuffer] ld [wObjectFollow_Follower], a ret -; 5847 -ResetFollower: ; 5847 +ResetFollower: ld a, [wObjectFollow_Follower] cp -1 ret z @@ -2655,9 +2547,8 @@ ResetFollower: ; 5847 ld a, -1 ld [wObjectFollow_Follower], a ret -; 585c -SetFlagsForMovement_1:: ; 585c +SetFlagsForMovement_1:: ld a, c call CheckObjectVisibility ret c @@ -2669,9 +2560,8 @@ SetFlagsForMovement_1:: ; 585c res 5, [hl] xor a ret -; 586e -Function586e: ; 586e +Function586e: call CheckObjectVisibility ret c ld hl, OBJECT_FLAGS2 @@ -2679,9 +2569,8 @@ Function586e: ; 586e set 5, [hl] xor a ret -; 587a -Function587a: ; 587a +Function587a: ld bc, wObjectStructs xor a .loop @@ -2701,9 +2590,8 @@ Function587a: ; 587a cp NUM_OBJECT_STRUCTS jr nz, .loop ret -; 5897 -_SetFlagsForMovement_2:: ; 5897 +_SetFlagsForMovement_2:: ld a, [wObjectFollow_Leader] cp -1 ret z @@ -2723,9 +2611,8 @@ _SetFlagsForMovement_2:: ; 5897 add hl, bc res 5, [hl] ret -; 58b9 -Function58b9:: ; 58b9 +Function58b9:: push bc ld bc, wObjectStructs xor a @@ -2747,18 +2634,16 @@ Function58b9:: ; 58b9 jr nz, .loop pop bc ret -; 58d8 -Function58d8: ; 58d8 +Function58d8: call CheckObjectVisibility ret c ld hl, OBJECT_FLAGS2 add hl, bc res 5, [hl] ret -; 58e3 -Function58e3: ; 58e3 +Function58e3: ld hl, OBJECT_MAP_OBJECT_INDEX add hl, bc ld a, [hl] @@ -2777,9 +2662,8 @@ Function58e3: ; 58e3 add hl, bc ld [hl], STEP_TYPE_00 ret -; 5903 -Function5903: ; 5903 +Function5903: call GetSpriteDirection rrca rrca @@ -2801,9 +2685,8 @@ Function5903: ; 5903 db SPRITEMOVEDATA_STANDING_UP db SPRITEMOVEDATA_STANDING_LEFT db SPRITEMOVEDATA_STANDING_RIGHT -; 5920 -_UpdateSprites:: ; 5920 +_UpdateSprites:: ld a, [wVramState] bit 0, a ret z @@ -2840,9 +2723,8 @@ _UpdateSprites:: ; 5920 cp l jr nz, .loop ret -; 5958 -ApplyBGMapAnchorToObjects: ; 5958 +ApplyBGMapAnchorToObjects: push hl push de push bc @@ -2881,14 +2763,13 @@ ApplyBGMapAnchorToObjects: ; 5958 pop de pop hl ret -; 5991 PRIORITY_LOW EQU $10 PRIORITY_NORM EQU $20 PRIORITY_HIGH EQU $30 -InitSprites: ; 5991 +InitSprites: call .DeterminePriorities ld c, PRIORITY_HIGH call .InitSpritesByPriority @@ -3107,7 +2988,7 @@ InitSprites: ; 5991 ld b, [hl] ret -.Addresses: ; 5ace +.Addresses: dw wPlayerStruct dw wObject1Struct dw wObject2Struct @@ -3121,4 +3002,3 @@ InitSprites: ; 5991 dw wObject10Struct dw wObject11Struct dw wObject12Struct -; 5ae8 diff --git a/engine/overworld/map_objects_2.asm b/engine/overworld/map_objects_2.asm index 038e2b49b..f055e0fd9 100644 --- a/engine/overworld/map_objects_2.asm +++ b/engine/overworld/map_objects_2.asm @@ -1,4 +1,4 @@ -LoadObjectMasks: ; 2454f +LoadObjectMasks: ld hl, wObjectMasks xor a ld bc, NUM_OBJECTS @@ -29,7 +29,7 @@ LoadObjectMasks: ; 2454f jr nz, .loop ret -CheckObjectFlag: ; 2457d (9:457d) +CheckObjectFlag: ld hl, MAPOBJECT_SPRITE add hl, bc ld a, [hl] @@ -62,7 +62,7 @@ CheckObjectFlag: ; 2457d (9:457d) scf ret -GetObjectTimeMask: ; 245a7 (9:45a7) +GetObjectTimeMask: call CheckObjectTime ld a, -1 ret c diff --git a/engine/overworld/map_setup.asm b/engine/overworld/map_setup.asm index 268574de0..6cdccba71 100644 --- a/engine/overworld/map_setup.asm +++ b/engine/overworld/map_setup.asm @@ -1,4 +1,4 @@ -RunMapSetupScript:: ; 15363 +RunMapSetupScript:: ld a, [hMapEntryMethod] and $f dec a @@ -12,11 +12,10 @@ RunMapSetupScript:: ; 15363 ld l, a call ReadMapSetupScript ret -; 15377 INCLUDE "data/maps/setup_scripts.asm" -ReadMapSetupScript: ; 1541d +ReadMapSetupScript: .loop ld a, [hli] cp -1 @@ -58,9 +57,8 @@ ReadMapSetupScript: ; 1541d pop hl jr .loop -; 15440 -MapSetupCommands: ; 15440 +MapSetupCommands: ; entries correspond to command indexes in constants/map_setup_constants.asm dba EnableLCD ; 00 dba DisableLCD ; 01 @@ -108,51 +106,44 @@ MapSetupCommands: ; 15440 dba RetainOldPalettes ; 2b dba DontScrollText ; 2c dba ReturnFromMapSetupScript ; 2d -; 154ca -DontScrollText: ; 154ca +DontScrollText: xor a ld [wDisableTextAcceleration], a ret -; 154cf -ActivateMapAnims: ; 154cf +ActivateMapAnims: ld a, $1 ld [hMapAnims], a ret -; 154d3 -SuspendMapAnims: ; 154d3 +SuspendMapAnims: xor a ld [hMapAnims], a ret -; 154d7 -LoadObjectsRunCallback_02: ; 154d7 +LoadObjectsRunCallback_02: ld a, MAPCALLBACK_OBJECTS call RunMapCallback farcall LoadObjectMasks farcall InitializeVisibleSprites ret -; 154ea (5:54ea) ; unused ret -; 154eb -DelayClearingOldSprites: ; 154eb +DelayClearingOldSprites: ld hl, wPlayerSpriteSetupFlags set PLAYERSPRITESETUP_RESET_ACTION_F, [hl] ret -; 154f1 -DelayLoadingNewSprites: ; 154f1 +DelayLoadingNewSprites: ld hl, wPlayerSpriteSetupFlags set PLAYERSPRITESETUP_SKIP_RELOAD_GFX_F, [hl] ret -CheckReplaceKrisSprite: ; 154f7 +CheckReplaceKrisSprite: nop call .CheckBiking jr c, .ok @@ -166,7 +157,7 @@ CheckReplaceKrisSprite: ; 154f7 call ReplaceKrisSprite ret -.CheckBiking: ; 1550c (5:550c) +.CheckBiking: and a ld hl, wBikeFlags bit BIKEFLAGS_ALWAYS_ON_BIKE_F, [hl] @@ -176,7 +167,7 @@ CheckReplaceKrisSprite: ; 154f7 scf ret -.CheckSurfing2: ; 1551a (5:551a) +.CheckSurfing2: ld a, [wPlayerState] cp PLAYER_NORMAL jr z, .nope @@ -208,7 +199,7 @@ CheckReplaceKrisSprite: ; 154f7 and a ret -.CheckSurfing: ; 1554e (5:554e) +.CheckSurfing: call CheckOnWater jr nz, .ret_nc ld a, [wPlayerState] @@ -224,19 +215,17 @@ CheckReplaceKrisSprite: ; 154f7 .ret_nc and a ret -; 15567 -FadeOldMapMusic: ; 15567 +FadeOldMapMusic: ld a, 6 call SkipMusic ret -; 1556d -RetainOldPalettes: ; 1556d +RetainOldPalettes: farcall _UpdateTimePals ret -RotatePalettesRightMapAndMusic: ; 15574 +RotatePalettesRightMapAndMusic: ld e, 0 ld a, [wMusicFadeID] ld d, 0 @@ -245,9 +234,8 @@ RotatePalettesRightMapAndMusic: ; 15574 ld [wMusicFade], a call RotateThreePalettesRight ret -; 15587 -ForceMapMusic: ; 15587 +ForceMapMusic: ld a, [wPlayerState] cp PLAYER_BIKE jr nz, .notbiking @@ -257,4 +245,3 @@ ForceMapMusic: ; 15587 .notbiking call TryRestartMapMusic ret -; 1559a diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index fcb8d55fb..fac0b4ae8 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -1,4 +1,4 @@ -MovementPointers: ; 5075 +MovementPointers: ; entries correspond to macros/scripts/movement.asm enumeration dw Movement_turn_head_down ; 00 dw Movement_turn_head_up ; 01 @@ -90,38 +90,33 @@ MovementPointers: ; 5075 dw Movement_rock_smash ; 57 dw Movement_return_dig ; 58 dw Movement_skyfall_top ; 59 -; 5129 -Movement_teleport_from: ; 5129 +Movement_teleport_from: ld hl, OBJECT_STEP_TYPE add hl, bc ld [hl], STEP_TYPE_TELEPORT_FROM ret -; 5130 -Movement_teleport_to: ; 5130 +Movement_teleport_to: ld hl, OBJECT_STEP_TYPE add hl, bc ld [hl], STEP_TYPE_TELEPORT_TO ret -; 5137 -Movement_skyfall: ; 5137 +Movement_skyfall: ld hl, OBJECT_STEP_TYPE add hl, bc ld [hl], STEP_TYPE_SKYFALL ret -; 513e -Movement_skyfall_top: ; 513e +Movement_skyfall_top: ld hl, OBJECT_STEP_TYPE add hl, bc ld [hl], STEP_TYPE_SKYFALL_TOP ret -; 5145 -Movement_step_dig: ; 5145 +Movement_step_dig: call GetSpriteDirection rlca rlca @@ -142,9 +137,8 @@ Movement_step_dig: ; 5145 add hl, bc ld [hl], STANDING ret -; 516a -Movement_return_dig: ; 516a +Movement_return_dig: call GetSpriteDirection rlca rlca @@ -162,9 +156,8 @@ Movement_return_dig: ; 516a add hl, bc ld [hl], STEP_TYPE_RETURN_DIG ret -; 5189 -Movement_fish_got_bite: ; 5189 +Movement_fish_got_bite: ld hl, OBJECT_ACTION add hl, bc ld [hl], OBJECT_ACTION_FISHING @@ -172,9 +165,8 @@ Movement_fish_got_bite: ; 5189 add hl, bc ld [hl], STEP_TYPE_GOT_BITE ret -; 5196 -Movement_rock_smash: ; 5196 +Movement_rock_smash: call JumpMovementPointer ld hl, OBJECT_STEP_DURATION add hl, bc @@ -186,9 +178,8 @@ Movement_rock_smash: ; 5196 add hl, bc ld [hl], STEP_TYPE_ROCK_SMASH ret -; 51ab -Movement_fish_cast_rod: ; 51ab +Movement_fish_cast_rod: ld hl, OBJECT_ACTION add hl, bc ld [hl], OBJECT_ACTION_FISHING @@ -196,16 +187,14 @@ Movement_fish_cast_rod: ; 51ab add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 51b8 -Movement_step_loop: ; 51b8 +Movement_step_loop: ld hl, OBJECT_MOVEMENT_BYTE_INDEX add hl, bc ld [hl], $0 jp ContinueReadingMovement -; 51c1 -Movement_step_end: ; 51c1 +Movement_step_end: call RestoreDefaultMovement ld hl, OBJECT_MOVEMENTTYPE add hl, bc @@ -222,9 +211,8 @@ Movement_step_end: ; 51c1 add hl, bc ld [hl], STEP_TYPE_SLEEP ret -; 51db -Movement_48: ; 51db +Movement_48: call RestoreDefaultMovement ld hl, OBJECT_MOVEMENTTYPE add hl, bc @@ -246,9 +234,8 @@ Movement_48: ; 51db ld hl, wVramState res 7, [hl] ret -; 51fd -Movement_remove_object: ; 51fd +Movement_remove_object: call DeleteMapObject ld hl, wObjectFollow_Leader ld a, [hMapObjectIndexBuffer] @@ -260,9 +247,8 @@ Movement_remove_object: ; 51fd ld hl, wVramState res 7, [hl] ret -; 5210 -Movement_4b: ; 5210 +Movement_4b: ld hl, OBJECT_ACTION add hl, bc ld [hl], OBJECT_ACTION_STAND @@ -274,48 +260,47 @@ Movement_4b: ; 5210 ld hl, wVramState res 7, [hl] ret -; 5222 -Movement_step_sleep_1: ; 5222 +Movement_step_sleep_1: ld a, 1 jr Movement_step_sleep_common -Movement_step_sleep_2: ; 5226 +Movement_step_sleep_2: ld a, 2 jr Movement_step_sleep_common -Movement_step_sleep_3: ; 522a +Movement_step_sleep_3: ld a, 3 jr Movement_step_sleep_common -Movement_step_sleep_4: ; 522e +Movement_step_sleep_4: ld a, 4 jr Movement_step_sleep_common -Movement_step_sleep_5: ; 5232 +Movement_step_sleep_5: ld a, 5 jr Movement_step_sleep_common -Movement_step_sleep_6: ; 5236 +Movement_step_sleep_6: ld a, 6 jr Movement_step_sleep_common -Movement_step_sleep_7: ; 523a +Movement_step_sleep_7: ld a, 7 jr Movement_step_sleep_common -Movement_step_sleep_8: ; 523e +Movement_step_sleep_8: ld a, 8 jr Movement_step_sleep_common -Movement_step_sleep: ; 5242 +Movement_step_sleep: ; parameters: ; duration (DecimalParam) call JumpMovementPointer jr Movement_step_sleep_common -Movement_step_sleep_common: ; 5247 +Movement_step_sleep_common: ld hl, OBJECT_STEP_DURATION add hl, bc ld [hl], a @@ -332,9 +317,8 @@ Movement_step_sleep_common: ; 5247 add hl, bc ld [hl], STANDING ret -; 525f -Movement_step_bump: ; 525f +Movement_step_bump: ld a, 1 ld hl, OBJECT_STEP_DURATION add hl, bc @@ -352,9 +336,8 @@ Movement_step_bump: ; 525f add hl, bc ld [hl], STANDING ret -; 5279 -Movement_tree_shake: ; 5279 +Movement_tree_shake: ld a, 24 ld hl, OBJECT_STEP_DURATION add hl, bc @@ -372,86 +355,76 @@ Movement_tree_shake: ; 5279 add hl, bc ld [hl], STANDING ret -; 5293 -Movement_remove_sliding: ; 5293 +Movement_remove_sliding: ld hl, OBJECT_FLAGS1 add hl, bc res SLIDING_F, [hl] jp ContinueReadingMovement -; 529c -Movement_set_sliding: ; 529c +Movement_set_sliding: ld hl, OBJECT_FLAGS1 add hl, bc set SLIDING_F, [hl] jp ContinueReadingMovement -; 52a5 -Movement_remove_fixed_facing: ; 52a5 +Movement_remove_fixed_facing: ld hl, OBJECT_FLAGS1 add hl, bc res FIXED_FACING_F, [hl] jp ContinueReadingMovement -; 52ae -Movement_fix_facing: ; 52ae +Movement_fix_facing: ld hl, OBJECT_FLAGS1 add hl, bc set FIXED_FACING_F, [hl] jp ContinueReadingMovement -; 52b7 -Movement_show_object: ; 52b7 +Movement_show_object: ld hl, OBJECT_FLAGS1 add hl, bc res INVISIBLE_F, [hl] jp ContinueReadingMovement -; 52c0 -Movement_hide_object: ; 52c0 +Movement_hide_object: ld hl, OBJECT_FLAGS1 add hl, bc set INVISIBLE_F, [hl] jp ContinueReadingMovement -; 52c9 -Movement_hide_emote: ; 52c9 +Movement_hide_emote: call DespawnEmote jp ContinueReadingMovement -; 52cf -Movement_show_emote: ; 52cf +Movement_show_emote: call SpawnEmote jp ContinueReadingMovement -; 52d5 -Movement_step_shake: ; 52d5 +Movement_step_shake: ; parameters: ; displacement (DecimalParam) call JumpMovementPointer call ShakeScreen jp ContinueReadingMovement -; 52de -Movement_turn_head_down: ; 52de +Movement_turn_head_down: ld a, OW_DOWN jr TurnHead -Movement_turn_head_up: ; 52e2 +Movement_turn_head_up: ld a, OW_UP jr TurnHead -Movement_turn_head_left: ; 52e6 +Movement_turn_head_left: ld a, OW_LEFT jr TurnHead -Movement_turn_head_right: ; 52ea +Movement_turn_head_right: ld a, OW_RIGHT jr TurnHead -TurnHead: ; 52ee +TurnHead: ld hl, OBJECT_FACING add hl, bc ld [hl], a @@ -464,269 +437,220 @@ TurnHead: ; 52ee add hl, bc ld [hl], STANDING ret -; 5300 -Movement_slow_step_down: ; 5300 +Movement_slow_step_down: ld a, STEP_SLOW << 2 | DOWN jp NormalStep -; 5305 -Movement_slow_step_up: ; 5305 +Movement_slow_step_up: ld a, STEP_SLOW << 2 | UP jp NormalStep -; 530a -Movement_slow_step_left: ; 530a +Movement_slow_step_left: ld a, STEP_SLOW << 2 | LEFT jp NormalStep -; 530f -Movement_slow_step_right: ; 530f +Movement_slow_step_right: ld a, STEP_SLOW << 2 | RIGHT jp NormalStep -; 5314 -Movement_step_down: ; 5314 +Movement_step_down: ld a, STEP_WALK << 2 | DOWN jp NormalStep -; 5319 -Movement_step_up: ; 5319 +Movement_step_up: ld a, STEP_WALK << 2 | UP jp NormalStep -; 531e -Movement_step_left: ; 531e +Movement_step_left: ld a, STEP_WALK << 2 | LEFT jp NormalStep -; 5323 -Movement_step_right: ; 5323 +Movement_step_right: ld a, STEP_WALK << 2 | RIGHT jp NormalStep -; 5328 -Movement_big_step_down: ; 5328 +Movement_big_step_down: ld a, STEP_BIKE << 2 | DOWN jp NormalStep -; 532d -Movement_big_step_up: ; 532d +Movement_big_step_up: ld a, STEP_BIKE << 2 | UP jp NormalStep -; 5332 -Movement_big_step_left: ; 5332 +Movement_big_step_left: ld a, STEP_BIKE << 2 | LEFT jp NormalStep -; 5337 -Movement_big_step_right: ; 5337 +Movement_big_step_right: ld a, STEP_BIKE << 2 | RIGHT jp NormalStep -; 533c -Movement_turn_away_down: ; 533c +Movement_turn_away_down: ld a, STEP_SLOW << 2 | DOWN jp TurningStep -; 5341 -Movement_turn_away_up: ; 5341 +Movement_turn_away_up: ld a, STEP_SLOW << 2 | UP jp TurningStep -; 5346 -Movement_turn_away_left: ; 5346 +Movement_turn_away_left: ld a, STEP_SLOW << 2 | LEFT jp TurningStep -; 534b -Movement_turn_away_right: ; 534b +Movement_turn_away_right: ld a, STEP_SLOW << 2 | RIGHT jp TurningStep -; 5350 -Movement_turn_in_down: ; 5350 +Movement_turn_in_down: ld a, STEP_WALK << 2 | DOWN jp TurningStep -; 5355 -Movement_turn_in_up: ; 5355 +Movement_turn_in_up: ld a, STEP_WALK << 2 | UP jp TurningStep -; 535a -Movement_turn_in_left: ; 535a +Movement_turn_in_left: ld a, STEP_WALK << 2 | LEFT jp TurningStep -; 535f -Movement_turn_in_right: ; 535f +Movement_turn_in_right: ld a, STEP_WALK << 2 | RIGHT jp TurningStep -; 5364 -Movement_turn_waterfall_down: ; 5364 +Movement_turn_waterfall_down: ld a, STEP_BIKE << 2 | DOWN jp TurningStep -; 5369 -Movement_turn_waterfall_up: ; 5369 +Movement_turn_waterfall_up: ld a, STEP_BIKE << 2 | UP jp TurningStep -; 536e -Movement_turn_waterfall_left: ; 536e +Movement_turn_waterfall_left: ld a, STEP_BIKE << 2 | LEFT jp TurningStep -; 5373 -Movement_turn_waterfall_right: ; 5373 +Movement_turn_waterfall_right: ld a, STEP_BIKE << 2 | RIGHT jp TurningStep -; 5378 -Movement_slow_slide_step_down: ; 5378 +Movement_slow_slide_step_down: ld a, STEP_SLOW << 2 | DOWN jp SlideStep -; 537d -Movement_slow_slide_step_up: ; 537d +Movement_slow_slide_step_up: ld a, STEP_SLOW << 2 | UP jp SlideStep -; 5382 -Movement_slow_slide_step_left: ; 5382 +Movement_slow_slide_step_left: ld a, STEP_SLOW << 2 | LEFT jp SlideStep -; 5387 -Movement_slow_slide_step_right: ; 5387 +Movement_slow_slide_step_right: ld a, STEP_SLOW << 2 | RIGHT jp SlideStep -; 538c -Movement_slide_step_down: ; 538c +Movement_slide_step_down: ld a, STEP_WALK << 2 | DOWN jp SlideStep -; 5391 -Movement_slide_step_up: ; 5391 +Movement_slide_step_up: ld a, STEP_WALK << 2 | UP jp SlideStep -; 5396 -Movement_slide_step_left: ; 5396 +Movement_slide_step_left: ld a, STEP_WALK << 2 | LEFT jp SlideStep -; 539b -Movement_slide_step_right: ; 539b +Movement_slide_step_right: ld a, STEP_WALK << 2 | RIGHT jp SlideStep -; 53a0 -Movement_fast_slide_step_down: ; 53a0 +Movement_fast_slide_step_down: ld a, STEP_BIKE << 2 | DOWN jp SlideStep -; 53a5 -Movement_fast_slide_step_up: ; 53a5 +Movement_fast_slide_step_up: ld a, STEP_BIKE << 2 | UP jp SlideStep -; 53aa -Movement_fast_slide_step_left: ; 53aa +Movement_fast_slide_step_left: ld a, STEP_BIKE << 2 | LEFT jp SlideStep -; 53af -Movement_fast_slide_step_right: ; 53af +Movement_fast_slide_step_right: ld a, STEP_BIKE << 2 | RIGHT jp SlideStep -; 53b4 -Movement_slow_jump_step_down: ; 53b4 +Movement_slow_jump_step_down: ld a, STEP_SLOW << 2 | DOWN jp JumpStep -; 53b9 -Movement_slow_jump_step_up: ; 53b9 +Movement_slow_jump_step_up: ld a, STEP_SLOW << 2 | UP jp JumpStep -; 53be -Movement_slow_jump_step_left: ; 53be +Movement_slow_jump_step_left: ld a, STEP_SLOW << 2 | LEFT jp JumpStep -; 53c3 -Movement_slow_jump_step_right: ; 53c3 +Movement_slow_jump_step_right: ld a, STEP_SLOW << 2 | RIGHT jp JumpStep -; 53c8 -Movement_jump_step_down: ; 53c8 +Movement_jump_step_down: ld a, STEP_WALK << 2 | DOWN jp JumpStep -; 53cd -Movement_jump_step_up: ; 53cd +Movement_jump_step_up: ld a, STEP_WALK << 2 | UP jp JumpStep -; 53d2 -Movement_jump_step_left: ; 53d2 +Movement_jump_step_left: ld a, STEP_WALK << 2 | LEFT jp JumpStep -; 53d7 -Movement_jump_step_right: ; 53d7 +Movement_jump_step_right: ld a, STEP_WALK << 2 | RIGHT jp JumpStep -; 53dc -Movement_fast_jump_step_down: ; 53dc +Movement_fast_jump_step_down: ld a, STEP_BIKE << 2 | DOWN jp JumpStep -; 53e1 -Movement_fast_jump_step_up: ; 53e1 +Movement_fast_jump_step_up: ld a, STEP_BIKE << 2 | UP jp JumpStep -; 53e6 -Movement_fast_jump_step_left: ; 53e6 +Movement_fast_jump_step_left: ld a, STEP_BIKE << 2 | LEFT jp JumpStep -; 53eb -Movement_fast_jump_step_right: ; 53eb +Movement_fast_jump_step_right: ld a, STEP_BIKE << 2 | RIGHT jp JumpStep -; 53f0 -Movement_turn_step_down: ; 53f0 +Movement_turn_step_down: ld a, OW_DOWN jr TurnStep -Movement_turn_step_up: ; 53f4 +Movement_turn_step_up: ld a, OW_UP jr TurnStep -Movement_turn_step_left: ; 53f8 +Movement_turn_step_left: ld a, OW_LEFT jr TurnStep -Movement_turn_step_right: ; 53fc +Movement_turn_step_right: ld a, OW_RIGHT jr TurnStep -TurnStep: ; 5400 +TurnStep: ld hl, OBJECT_1D ; new facing add hl, bc ld [hl], a @@ -739,9 +663,8 @@ TurnStep: ; 5400 add hl, bc ld [hl], STEP_TYPE_HALF_STEP ret -; 5412 -NormalStep: ; 5412 +NormalStep: call InitStep call UpdateTallGrassFlags ld hl, OBJECT_ACTION @@ -776,9 +699,8 @@ NormalStep: ; 5412 add hl, bc ld [hl], STEP_TYPE_PLAYER_WALK ret -; 5446 -TurningStep: ; 5446 +TurningStep: call InitStep call UpdateTallGrassFlags @@ -801,10 +723,9 @@ TurningStep: ; 5446 add hl, bc ld [hl], STEP_TYPE_PLAYER_WALK ret -; 5468 -SlideStep: ; 5468 +SlideStep: call InitStep call UpdateTallGrassFlags @@ -827,10 +748,9 @@ SlideStep: ; 5468 add hl, bc ld [hl], STEP_TYPE_PLAYER_WALK ret -; 548a -JumpStep: ; 548a +JumpStep: call InitStep ld hl, OBJECT_1F add hl, bc @@ -861,4 +781,3 @@ JumpStep: ; 548a add hl, bc ld [hl], STEP_TYPE_PLAYER_JUMP ret -; 54b8 diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/npc_movement.asm index 40ced1a5f..07881a788 100644 --- a/engine/overworld/npc_movement.asm +++ b/engine/overworld/npc_movement.asm @@ -1,4 +1,4 @@ -CanObjectMoveInDirection: ; 6ec1 +CanObjectMoveInDirection: ld hl, OBJECT_PALETTE add hl, bc @@ -57,10 +57,9 @@ CanObjectMoveInDirection: ; 6ec1 .move_anywhere and a ret -; 6f07 -WillObjectBumpIntoWater: ; 6f07 +WillObjectBumpIntoWater: call Function6f5f ret c ld hl, OBJECT_NEXT_MAP_X @@ -82,9 +81,8 @@ WillObjectBumpIntoWater: ; 6f07 jr z, WillObjectBumpIntoTile scf ret -; 6f2c -WillObjectBumpIntoLand: ; 6f2c +WillObjectBumpIntoLand: call Function6f5f ret c ld hl, OBJECT_NEXT_TILE @@ -95,9 +93,8 @@ WillObjectBumpIntoLand: ; 6f2c jr z, WillObjectBumpIntoTile scf ret -; 6f3e -WillObjectBumpIntoTile: ; 6f3e +WillObjectBumpIntoTile: ld hl, OBJECT_NEXT_TILE add hl, bc ld a, [hl] @@ -117,13 +114,11 @@ WillObjectBumpIntoTile: ; 6f3e ret z scf ret -; 6f5b .data_6f5b db DOWN_MASK, UP_MASK, RIGHT_MASK, LEFT_MASK -; 6f5f -Function6f5f: ; 6f5f +Function6f5f: ld hl, OBJECT_STANDING_TILE add hl, bc ld a, [hl] @@ -142,13 +137,11 @@ Function6f5f: ; 6f5f ret z scf ret -; 6f7b .data_6f7b db UP_MASK, DOWN_MASK, LEFT_MASK, RIGHT_MASK -; 6f7f -Function6f7f: ; 6f7f +Function6f7f: ld d, a and $f0 cp $b0 @@ -168,14 +161,12 @@ Function6f7f: ; 6f7f ld a, [hl] scf ret -; 6f99 .data_6f99 db 8, 4, 1, 2 db 10, 6, 9, 5 -; 6fa1 -Function6fa1: ; 6fa1 +Function6fa1: ld hl, OBJECT_DIRECTION_WALKING add hl, bc ld a, [hl] @@ -224,11 +215,10 @@ Function6fa1: ; 6fa1 .not_land scf ret -; 6fd9 -CheckFacingObject:: ; 6fd9 +CheckFacingObject:: call GetFacingTileCoord @@ -267,10 +257,9 @@ CheckFacingObject:: ; 6fd9 .standing scf ret -; 7009 -WillObjectBumpIntoSomeoneElse: ; 7009 +WillObjectBumpIntoSomeoneElse: ld hl, OBJECT_NEXT_MAP_X add hl, bc ld d, [hl] @@ -278,7 +267,6 @@ WillObjectBumpIntoSomeoneElse: ; 7009 add hl, bc ld e, [hl] jr IsNPCAtCoord -; 7015 Unreferenced_Function7015: ld a, [hMapObjectIndexBuffer] @@ -287,7 +275,7 @@ Unreferenced_Function7015: call IsNPCAtCoord ret -.CheckWillBeFacingNPC: ; 7021 +.CheckWillBeFacingNPC: ld hl, OBJECT_NEXT_MAP_X add hl, bc ld d, [hl] @@ -315,9 +303,8 @@ Unreferenced_Function7015: .left dec d ret -; 7041 -IsNPCAtCoord: ; 7041 +IsNPCAtCoord: ld bc, wObjectStructs xor a .loop @@ -390,9 +377,8 @@ IsNPCAtCoord: ; 7041 .setcarry scf ret -; 70a4 -HasObjectReachedMovementLimit: ; 70a4 +HasObjectReachedMovementLimit: ld hl, OBJECT_RADIUS add hl, bc ld a, [hl] @@ -450,9 +436,8 @@ HasObjectReachedMovementLimit: ; 70a4 .yes scf ret -; 70ed -IsObjectMovingOffEdgeOfScreen: ; 70ed +IsObjectMovingOffEdgeOfScreen: ld hl, OBJECT_NEXT_MAP_X add hl, bc ld a, [wXCoord] @@ -481,7 +466,6 @@ IsObjectMovingOffEdgeOfScreen: ; 70ed .yes scf ret -; 7113 Unreferenced_Function7113: ld a, [wPlayerStandingMapX] @@ -547,10 +531,9 @@ Unreferenced_Function7113: .yes scf ret -; 7171 -Function7171: ; 7171 +Function7171: ld hl, OBJECT_NEXT_MAP_X add hl, bc ld a, d @@ -571,4 +554,3 @@ Function7171: ; 7171 .nope and a ret -; 718d diff --git a/engine/overworld/overworld.asm b/engine/overworld/overworld.asm index 381c2d89f..35a792921 100644 --- a/engine/overworld/overworld.asm +++ b/engine/overworld/overworld.asm @@ -1,13 +1,12 @@ -GetEmote2bpp: ; 1412a +GetEmote2bpp: ld a, $1 ld [rVBK], a call Get2bpp xor a ld [rVBK], a ret -; 14135 -_ReplaceKrisSprite:: ; 14135 +_ReplaceKrisSprite:: call GetPlayerSprite ld a, [wUsedSprites] ld [hUsedSpriteIndex], a @@ -15,7 +14,6 @@ _ReplaceKrisSprite:: ; 14135 ld [hUsedSpriteTile], a call GetUsedSprite ret -; 14146 Function14146: ; mobile ld hl, wSpriteFlags @@ -27,7 +25,6 @@ Function14146: ; mobile pop af ld [wSpriteFlags], a ret -; 14157 Function14157: ; mobile ld hl, wSpriteFlags @@ -39,15 +36,13 @@ Function14157: ; mobile pop af ld [wSpriteFlags], a ret -; 14168 -RefreshSprites:: ; 14168 +RefreshSprites:: call .Refresh call LoadUsedSpritesGFX ret -; 1416f -.Refresh: ; 1416f +.Refresh: xor a ld bc, wUsedSpritesEnd - wUsedSprites ld hl, wUsedSprites @@ -56,9 +51,8 @@ RefreshSprites:: ; 14168 call AddMapSprites call LoadAndSortSprites ret -; 14183 -GetPlayerSprite: ; 14183 +GetPlayerSprite: ; Get Chris or Kris's sprite. ld hl, ChrisStateSprites ld a, [wPlayerSpriteSetupFlags] @@ -98,7 +92,7 @@ GetPlayerSprite: ; 14183 INCLUDE "data/sprites/player_sprites.asm" -AddMapSprites: ; 141c9 +AddMapSprites: call GetMapEnvironment call CheckOutdoorMap jr z, .outdoor @@ -108,10 +102,9 @@ AddMapSprites: ; 141c9 .outdoor call AddOutdoorSprites ret -; 141d9 -AddIndoorSprites: ; 141d9 +AddIndoorSprites: ld hl, wMap1ObjectSprite ld a, 1 .loop @@ -125,10 +118,9 @@ AddIndoorSprites: ; 141d9 cp NUM_OBJECTS jr nz, .loop ret -; 141ee -AddOutdoorSprites: ; 141ee +AddOutdoorSprites: ld a, [wMapGroup] dec a ld c, a @@ -148,18 +140,16 @@ AddOutdoorSprites: ; 141ee dec c jr nz, .loop ret -; 14209 -LoadUsedSpritesGFX: ; 14209 +LoadUsedSpritesGFX: ld a, MAPCALLBACK_SPRITES call RunMapCallback call GetUsedSprites call .LoadMiscTiles ret -; 14215 -.LoadMiscTiles: ; 14215 +.LoadMiscTiles: ld a, [wSpriteFlags] bit 6, a ret nz @@ -174,18 +164,16 @@ LoadUsedSpritesGFX: ; 14209 .outdoor farcall LoadEmote ret -; 14236 -SafeGetSprite: ; 14236 +SafeGetSprite: push hl call GetSprite pop hl ret -; 1423c -GetSprite: ; 1423c +GetSprite: call GetMonSprite ret c @@ -211,10 +199,9 @@ GetSprite: ; 1423c ld l, [hl] ld h, a ret -; 14259 -GetMonSprite: ; 14259 +GetMonSprite: ; Return carry if a monster sprite was loaded. cp SPRITE_POKEMON @@ -275,10 +262,9 @@ GetMonSprite: ; 14259 ld h, 0 and a ret -; 142a7 -_DoesSpriteHaveFacings:: ; 142a7 +_DoesSpriteHaveFacings:: ; Checks to see whether we can apply a facing to a sprite. ; Returns carry unless the sprite is a Pokemon or a Still Sprite. cp SPRITE_POKEMON @@ -303,10 +289,9 @@ _DoesSpriteHaveFacings:: ; 142a7 .only_down and a ret -; 142c4 -_GetSpritePalette:: ; 142c4 +_GetSpritePalette:: ld a, c call GetMonSprite jr c, .is_pokemon @@ -324,18 +309,16 @@ _GetSpritePalette:: ; 142c4 xor a ld c, a ret -; 142db -LoadAndSortSprites: ; 142db +LoadAndSortSprites: call LoadSpriteGFX call SortUsedSprites call ArrangeUsedSprites ret -; 142e5 -AddSpriteGFX: ; 142e5 +AddSpriteGFX: ; Add any new sprite ids to a list of graphics to be loaded. ; Return carry if the list is full. @@ -372,10 +355,9 @@ AddSpriteGFX: ; 142e5 pop hl and a ret -; 14306 -LoadSpriteGFX: ; 14306 +LoadSpriteGFX: ; Bug: b is not preserved, so it's useless as a next count. ; Uncomment the lines below to fix. @@ -401,10 +383,9 @@ LoadSpriteGFX: ; 14306 ; pop bc ld a, l ret -; 1431e -SortUsedSprites: ; 1431e +SortUsedSprites: ; Bubble-sort sprites by type. ; Run backwards through wUsedSprites to find the last one. @@ -473,10 +454,9 @@ SortUsedSprites: ; 1431e .quit ret -; 14355 -ArrangeUsedSprites: ; 14355 +ArrangeUsedSprites: ; Get the length of each sprite and space them out in VRAM. ; Crystal introduces a second table in VRAM bank 0. @@ -533,10 +513,9 @@ ArrangeUsedSprites: ; 14355 .quit ret -; 14386 -GetSpriteLength: ; 14386 +GetSpriteLength: ; Return the length of sprite type a in tiles. cp WALKING_SPRITE @@ -556,10 +535,9 @@ GetSpriteLength: ; 14386 .OneDirection: ld a, 4 ret -; 1439b -GetUsedSprites: ; 1439b +GetUsedSprites: ld hl, wUsedSprites ld c, SPRITE_GFX_LIST_CAPACITY @@ -594,9 +572,8 @@ GetUsedSprites: ; 1439b .done ret -; 143c8 -GetUsedSprite: ; 143c8 +GetUsedSprite: ld a, [hUsedSpriteIndex] call SafeGetSprite ld a, [hUsedSpriteTile] @@ -639,9 +616,8 @@ endr .done ret -; 14406 -.GetTileAddr: ; 14406 +.GetTileAddr: ; Return the address of tile (a) in (hl). and $7f ld l, a @@ -656,9 +632,8 @@ endr adc HIGH(vTiles0) ld h, a ret -; 14418 -.CopyToVram: ; 14418 +.CopyToVram: ld a, [rVBK] push af ld a, [wSpriteFlags] @@ -673,9 +648,8 @@ endr pop af ld [rVBK], a ret -; 1442f -LoadEmote:: ; 1442f +LoadEmote:: ; Get the address of the pointer to emote c. ld a, c ld bc, 6 ; sizeof(emote) @@ -703,7 +677,6 @@ LoadEmote:: ; 1442f ret z call GetEmote2bpp ret -; 1444d INCLUDE "data/sprites/emotes.asm" diff --git a/engine/overworld/player_movement.asm b/engine/overworld/player_movement.asm index f8bbe4952..0a2674341 100644 --- a/engine/overworld/player_movement.asm +++ b/engine/overworld/player_movement.asm @@ -1,4 +1,4 @@ -DoPlayerMovement:: ; 80000 +DoPlayerMovement:: call .GetDPad ld a, movement_step_sleep @@ -30,7 +30,6 @@ DoPlayerMovement:: ; 80000 or D_DOWN ld [wCurInput], a ret -; 8002d .TranslateIntoMovement: ld a, [wPlayerState] @@ -112,9 +111,8 @@ DoPlayerMovement:: ; 80000 call .StandInPlace xor a ret -; 800b7 -.CheckTile: ; 800b7 +.CheckTile: ; Tiles such as waterfalls and warps move the player ; in a given direction, overriding input. @@ -227,9 +225,8 @@ DoPlayerMovement:: ; 80000 ld a, 5 scf ret -; 80147 -.CheckTurning: ; 80147 +.CheckTurning: ; If the player is turning, change direction first. This also lets ; the player change facing without moving by tapping a direction. @@ -257,9 +254,8 @@ DoPlayerMovement:: ; 80000 .not_turning xor a ret -; 8016b -.TryStep: ; 8016b +.TryStep: ; Surfing actually calls .TrySurf directly instead of passing through here. ld a, [wPlayerState] @@ -323,9 +319,8 @@ DoPlayerMovement:: ; 80000 .bump xor a ret -; 801c0 -.TrySurf: ; 801c0 +.TrySurf: call .CheckSurfPerms ld [wd040], a @@ -359,9 +354,8 @@ DoPlayerMovement:: ; 80000 .surf_bump xor a ret -; 801f3 -.TryJump: ; 801f3 +.TryJump: ld a, [wPlayerStandingTile] ld e, a and $f0 @@ -399,9 +393,8 @@ DoPlayerMovement:: ; 80000 db FACE_DOWN | FACE_LEFT ; COLL_HOP_DOWN_LEFT db FACE_UP | FACE_RIGHT ; COLL_HOP_UP_RIGHT db FACE_UP | FACE_LEFT ; COLL_HOP_UP_LEFT -; 80226 -.CheckWarp: ; 80226 +.CheckWarp: ; Bug: Since no case is made for STANDING here, it will check ; [.edgewarps + $ff]. This resolves to $3e at $8035a. @@ -450,7 +443,6 @@ DoPlayerMovement:: ; 80000 db COLL_WARP_CARPET_UP db COLL_WARP_CARPET_LEFT db COLL_WARP_CARPET_RIGHT -; 8025f .DoStep: ld e, a @@ -529,27 +521,24 @@ DoPlayerMovement:: ; 80000 db $80 + UP db $80 + LEFT db $80 + RIGHT -; 802b3 -.StandInPlace: ; 802b3 +.StandInPlace: ld a, 0 ld [wPlayerTurningDirection], a ld a, movement_step_sleep ld [wMovementAnimation], a xor a ret -; 802bf -._WalkInPlace: ; 802bf +._WalkInPlace: ld a, 0 ld [wPlayerTurningDirection], a ld a, movement_step_bump ld [wMovementAnimation], a xor a ret -; 802cb -.CheckForced: ; 802cb +.CheckForced: ; When sliding on ice, input is forced to remain in the same direction. call CheckStandingOnIce @@ -572,9 +561,8 @@ DoPlayerMovement:: ; 80000 .forced_dpad db D_DOWN, D_UP, D_LEFT, D_RIGHT -; 802ec -.GetAction: ; 802ec +.GetAction: ; Poll player input and update movement info. ld hl, .table @@ -631,9 +619,8 @@ DoPlayerMovement:: ; 80000 dw wTileUp db DOWN, FACE_DOWN, 0, 1 dw wTileDown -; 80341 -.CheckNPC: ; 80341 +.CheckNPC: ; Returns 0 if there is an NPC in front that you can't move ; Returns 1 if there is no NPC in front ; Returns 2 if there is a movable NPC in front @@ -668,9 +655,8 @@ DoPlayerMovement:: ; 80000 .no_bump ld a, 2 ret -; 8036f -.CheckStrengthBoulder: ; 8036f +.CheckStrengthBoulder: ld hl, wBikeFlags bit BIKEFLAGS_STRENGTH_ACTIVE_F, [hl] @@ -706,9 +692,8 @@ DoPlayerMovement:: ; 80000 .not_boulder xor a ret -; 8039e -.CheckLandPerms: ; 8039e +.CheckLandPerms: ; Return 0 if walking onto land and tile permissions allow it. ; Otherwise, return carry. @@ -728,9 +713,8 @@ DoPlayerMovement:: ; 80000 .NotWalkable: scf ret -; 803b4 -.CheckSurfPerms: ; 803b4 +.CheckSurfPerms: ; Return 0 if moving in water, or 1 if moving onto land. ; Otherwise, return carry. @@ -750,17 +734,15 @@ DoPlayerMovement:: ; 80000 .NotSurfable: scf ret -; 803ca -.BikeCheck: ; 803ca +.BikeCheck: ld a, [wPlayerState] cp PLAYER_BIKE ret z cp PLAYER_SKATE ret -; 803d3 -.CheckWalkable: ; 803d3 +.CheckWalkable: ; Return 0 if tile a is land. Otherwise, return carry. call GetTileCollision @@ -768,9 +750,8 @@ DoPlayerMovement:: ; 80000 ret z scf ret -; 803da -.CheckSurfable: ; 803da +.CheckSurfable: ; Return 0 if tile a is water, or 1 if land. ; Otherwise, return carry. @@ -796,27 +777,24 @@ DoPlayerMovement:: ; 80000 .Neither: scf ret -; 803ee -.BumpSound: ; 803ee +.BumpSound: call CheckSFX ret c ld de, SFX_BUMP call PlaySFX ret -; 803f9 -.GetOutOfWater: ; 803f9 +.GetOutOfWater: push bc ld a, PLAYER_NORMAL ld [wPlayerState], a call ReplaceKrisSprite ; UpdateSprites pop bc ret -; 80404 -CheckStandingOnIce:: ; 80404 +CheckStandingOnIce:: ld a, [wPlayerTurningDirection] cp 0 jr z, .not_ice @@ -836,9 +814,8 @@ CheckStandingOnIce:: ; 80404 .not_ice and a ret -; 80422 -StopPlayerForEvent:: ; 80422 +StopPlayerForEvent:: ld hl, wPlayerNextMovement ld a, movement_step_sleep cp [hl] @@ -848,4 +825,3 @@ StopPlayerForEvent:: ; 80422 ld a, 0 ld [wPlayerTurningDirection], a ret -; 80430 diff --git a/engine/overworld/player_object.asm b/engine/overworld/player_object.asm index 7d287dedb..08a990f4b 100644 --- a/engine/overworld/player_object.asm +++ b/engine/overworld/player_object.asm @@ -1,4 +1,4 @@ -BlankScreen: ; 8000 +BlankScreen: call DisableSpriteUpdates xor a ld [hBGMapMode], a @@ -16,7 +16,7 @@ BlankScreen: ; 8000 call SetPalettes ret -SpawnPlayer: ; 8029 +SpawnPlayer: ld a, -1 ld [wObjectFollow_Leader], a ld [wObjectFollow_Follower], a @@ -51,13 +51,13 @@ SpawnPlayer: ; 8029 ld [wCenteredObject], a ret -PlayerObjectTemplate: ; 8071 +PlayerObjectTemplate: ; A dummy map object used to initialize the player object. ; Shorter than the actual amount copied by two bytes. ; Said bytes seem to be unused. object_event -4, -4, SPRITE_CHRIS, SPRITEMOVEDATA_PLAYER, 15, 15, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, 0, -1 -CopyDECoordsToMapObject:: ; 807e +CopyDECoordsToMapObject:: push de ld a, b call GetMapObject @@ -70,7 +70,7 @@ CopyDECoordsToMapObject:: ; 807e ld [hl], e ret -PlayerSpawn_ConvertCoords: ; 808f +PlayerSpawn_ConvertCoords: push bc ld a, [wXCoord] add 4 @@ -82,7 +82,7 @@ PlayerSpawn_ConvertCoords: ; 808f call CopyDECoordsToMapObject ret -WriteObjectXY:: ; 80a1 +WriteObjectXY:: ld a, b call CheckObjectVisibility ret c @@ -99,7 +99,7 @@ WriteObjectXY:: ; 80a1 and a ret -RefreshPlayerCoords: ; 80b8 +RefreshPlayerCoords: ld a, [wXCoord] add 4 ld d, a @@ -127,7 +127,7 @@ RefreshPlayerCoords: ; 80b8 ret nz ; wtf ret -CopyObjectStruct:: ; 80e7 +CopyObjectStruct:: call CheckObjectMask and a ret nz ; masked @@ -161,12 +161,12 @@ CopyObjectStruct:: ; 80e7 set 5, [hl] ret -CopyMapObjectToObjectStruct: ; 8116 +CopyMapObjectToObjectStruct: call .CopyMapObjectToTempObject call CopyTempObjectToObjectStruct ret -.CopyMapObjectToTempObject: ; 811d +.CopyMapObjectToTempObject: ld a, [hObjectStructIndexBuffer] ld hl, MAPOBJECT_OBJECT_STRUCT_ID add hl, bc @@ -223,7 +223,7 @@ CopyMapObjectToObjectStruct: ; 8116 ld [wTempObjectCopyRadius], a ret -InitializeVisibleSprites: ; 8177 +InitializeVisibleSprites: ld bc, wMapObjects + OBJECT_LENGTH ld a, 1 .loop @@ -281,10 +281,10 @@ InitializeVisibleSprites: ; 8177 jr nz, .loop ret -.ret ; 81c9 +.ret ret -CheckObjectEnteringVisibleRange:: ; 81ca +CheckObjectEnteringVisibleRange:: nop ld a, [wPlayerStepDirection] cp STANDING @@ -293,21 +293,21 @@ CheckObjectEnteringVisibleRange:: ; 81ca rst JumpTable ret -.dw ; 81d6 +.dw dw .Down dw .Up dw .Left dw .Right -.Up: ; 81de +.Up: ld a, [wYCoord] sub 1 jr .Vertical -.Down: ; 81e5 +.Down: ld a, [wYCoord] add 9 -.Vertical: ; 81ea +.Vertical: ld d, a ld a, [wXCoord] ld e, a @@ -355,15 +355,15 @@ CheckObjectEnteringVisibleRange:: ; 81ca jr nz, .loop_v ret -.Left: ; 8232 +.Left: ld a, [wXCoord] sub 1 jr .Horizontal -.Right: ; 8239 +.Right: ld a, [wXCoord] add 10 -.Horizontal: ; 823e +.Horizontal: ld e, a ld a, [wYCoord] ld d, a @@ -411,7 +411,7 @@ CheckObjectEnteringVisibleRange:: ; 81ca jr nz, .loop_h ret -CopyTempObjectToObjectStruct: ; 8286 +CopyTempObjectToObjectStruct: ld a, [wTempObjectCopyMapObjectIndex] ld hl, OBJECT_MAP_OBJECT_INDEX add hl, de @@ -461,7 +461,7 @@ CopyTempObjectToObjectStruct: ; 8286 and a ret -.InitYCoord: ; 82d5 +.InitYCoord: ld hl, OBJECT_INIT_Y add hl, de ld [hl], a @@ -481,7 +481,7 @@ CopyTempObjectToObjectStruct: ; 8286 ld [hl], a ret -.InitXCoord: ; 82f1 +.InitXCoord: ld hl, OBJECT_INIT_X add hl, de ld [hl], a @@ -499,7 +499,7 @@ CopyTempObjectToObjectStruct: ; 8286 ld [hl], a ret -.InitRadius: ; 830d +.InitRadius: ld h, a inc a and $f @@ -513,7 +513,7 @@ CopyTempObjectToObjectStruct: ; 8286 ld [hl], a ret -TrainerWalkToPlayer: ; 831e +TrainerWalkToPlayer: ld a, [hLastTalked] call InitMovementBuffer ld a, movement_step_sleep @@ -533,7 +533,7 @@ TrainerWalkToPlayer: ; 831e call AppendToMovementBuffer ret -.GetPathToPlayer: ; 8341 +.GetPathToPlayer: push de push bc ; get player object struct, load to de @@ -577,7 +577,7 @@ TrainerWalkToPlayer: ; 831e call ComputePathToWalkToPlayer ret -SurfStartStep: ; 8379 +SurfStartStep: call InitMovementBuffer call .GetMovementData call AppendToMovementBuffer @@ -585,7 +585,7 @@ SurfStartStep: ; 8379 call AppendToMovementBuffer ret -.GetMovementData: ; 8388 +.GetMovementData: ld a, [wPlayerDirection] srl a srl a @@ -603,7 +603,7 @@ SurfStartStep: ; 8379 slow_step LEFT slow_step RIGHT -FollowNotExact:: ; 839e +FollowNotExact:: push bc ld a, c call CheckObjectVisibility @@ -690,7 +690,7 @@ FollowNotExact:: ; 839e ld [hl], STEP_TYPE_00 ret -GetRelativeFacing:: ; 8417 +GetRelativeFacing:: ; Determines which way map object e would have to turn to face map object d. Returns carry if it's impossible for whatever reason. ld a, d call GetMapObject @@ -715,7 +715,7 @@ GetRelativeFacing:: ; 8417 scf ret -.GetFacing_e_relativeto_d: ; 8439 +.GetFacing_e_relativeto_d: ; Determines which way object e would have to turn to face object d. Returns carry if it's impossible. ; load the coordinates of object d into bc ld a, d @@ -796,7 +796,7 @@ GetRelativeFacing:: ; 8417 scf ret -QueueFollowerFirstStep: ; 848a +QueueFollowerFirstStep: call .QueueFirstStep jr c, .same ld [wFollowMovementQueue], a diff --git a/engine/overworld/player_step.asm b/engine/overworld/player_step.asm index 675c6553b..eba149b57 100644 --- a/engine/overworld/player_step.asm +++ b/engine/overworld/player_step.asm @@ -1,4 +1,4 @@ -_HandlePlayerStep:: ; d497 (3:5497) +_HandlePlayerStep:: ld a, [wPlayerStepFlags] and a ret z @@ -34,7 +34,7 @@ _HandlePlayerStep:: ; d497 (3:5497) ld [wPlayerBGMapOffsetY], a ret -ScrollScreen:: ; d4d2 (3:54d2) +ScrollScreen:: ld a, [wPlayerStepVectorX] ld d, a ld a, [wPlayerStepVectorY] @@ -47,7 +47,7 @@ ScrollScreen:: ; d4d2 (3:54d2) ld [hSCY], a ret -HandlePlayerStep: ; d4e5 (3:54e5) +HandlePlayerStep: ld hl, wHandlePlayerStep ld a, [hl] and a @@ -58,7 +58,7 @@ HandlePlayerStep: ; d4e5 (3:54e5) rst JumpTable ret -.Jumptable: ; d4f2 (3:54f2) +.Jumptable: dw GetMovementPermissions dw BufferScreen dw .mobile @@ -72,17 +72,17 @@ HandlePlayerStep: ; d4e5 (3:54e5) dw .fail1 dw .fail1 -.fail1 ; d508 (3:5508) +.fail1 ret -.mobile ; d509 (3:5509) +.mobile farcall StubbedTrainerRankings_StepCount ret -.fail2 ; d510 (3:5510) +.fail2 ret -UpdatePlayerCoords: ; d511 (3:5511) +UpdatePlayerCoords: ld a, [wPlayerStepDirection] and a jr nz, .check_step_down @@ -111,7 +111,7 @@ UpdatePlayerCoords: ; d511 (3:5511) inc [hl] ret -UpdateOverworldMap: ; d536 (3:5536) +UpdateOverworldMap: ld a, [wPlayerStepDirection] and a jr z, .step_down @@ -147,7 +147,7 @@ UpdateOverworldMap: ; d536 (3:5536) call ScrollMapLeft ret -.ScrollOverworldMapDown: ; d571 (3:5571) +.ScrollOverworldMapDown: ld a, [wBGMapAnchor] add 2 * BG_MAP_WIDTH ld [wBGMapAnchor], a @@ -168,7 +168,7 @@ UpdateOverworldMap: ; d536 (3:5536) .done_down ret -.Add6ToOverworldMapAnchor: ; d595 (3:5595) +.Add6ToOverworldMapAnchor: ld hl, wOverworldMapAnchor ld a, [wMapWidth] add 6 @@ -178,7 +178,7 @@ UpdateOverworldMap: ; d536 (3:5536) inc [hl] ret -.ScrollOverworldMapUp: ; d5a2 (3:55a2) +.ScrollOverworldMapUp: ld a, [wBGMapAnchor] sub 2 * BG_MAP_WIDTH ld [wBGMapAnchor], a @@ -199,7 +199,7 @@ UpdateOverworldMap: ; d536 (3:5536) .done_up ret -.Sub6FromOverworldMapAnchor: ; d5c6 (3:55c6) +.Sub6FromOverworldMapAnchor: ld hl, wOverworldMapAnchor ld a, [wMapWidth] add 6 @@ -211,7 +211,7 @@ UpdateOverworldMap: ; d536 (3:5536) dec [hl] ret -.ScrollOverworldMapLeft: ; d5d5 (3:55d5) +.ScrollOverworldMapLeft: ld a, [wBGMapAnchor] ld e, a and $e0 @@ -231,7 +231,7 @@ UpdateOverworldMap: ; d536 (3:5536) .done_left ret -.DecrementwOverworldMapAnchor: ; d5f4 (3:55f4) +.DecrementwOverworldMapAnchor: ld hl, wOverworldMapAnchor ld a, [hl] sub 1 @@ -240,7 +240,7 @@ UpdateOverworldMap: ; d536 (3:5536) dec [hl] ret -.ScrollOverworldMapRight: ; d5fe (3:55fe) +.ScrollOverworldMapRight: ld a, [wBGMapAnchor] ld e, a and $e0 @@ -260,7 +260,7 @@ UpdateOverworldMap: ; d536 (3:5536) .done_right ret -.IncrementwOverworldMapAnchor: ; d61d (3:561d) +.IncrementwOverworldMapAnchor: ld hl, wOverworldMapAnchor ld a, [hl] add 1 diff --git a/engine/overworld/select_menu.asm b/engine/overworld/select_menu.asm index 9898afda2..069d74f2d 100644 --- a/engine/overworld/select_menu.asm +++ b/engine/overworld/select_menu.asm @@ -1,4 +1,4 @@ -SelectMenu:: ; 13327 +SelectMenu:: call CheckRegisteredItem jr c, .NotRegistered @@ -11,16 +11,14 @@ SelectMenu:: ; 13327 call MapTextbox call WaitButton jp CloseText -; 13340 -ItemMayBeRegisteredText: ; 13340 +ItemMayBeRegisteredText: text_jump UnknownText_0x1c1cf3 db "@" -; 13345 -CheckRegisteredItem: ; 13345 +CheckRegisteredItem: ld a, [wWhichRegisteredItem] and a @@ -86,10 +84,9 @@ CheckRegisteredItem: ; 13345 ld [wRegisteredItem], a scf ret -; 133a6 -.CheckRegisteredNo: ; 133a6 +.CheckRegisteredNo: ld a, [wWhichRegisteredItem] and REGISTERED_NUMBER dec a @@ -102,10 +99,9 @@ CheckRegisteredItem: ; 13345 .NotEnoughItems: scf ret -; 133b6 -.IsSameItem: ; 133b6 +.IsSameItem: ld a, [wRegisteredItem] cp [hl] jr nz, .NotSameItem @@ -116,10 +112,9 @@ CheckRegisteredItem: ; 13345 .NotSameItem: scf ret -; 133c3 -UseRegisteredItem: ; 133c3 +UseRegisteredItem: farcall CheckItemMenu ld a, [wItemAttributeParamBuffer] @@ -136,25 +131,22 @@ UseRegisteredItem: ; 133c3 dw .Current dw .Party dw .Overworld -; 133df -.NoFunction: ; 133df +.NoFunction: call OpenText call CantUseItem call CloseText and a ret -; 133ea -.Current: ; 133ea +.Current: call OpenText call DoItemEffect call CloseText and a ret -; 133f5 -.Party: ; 133f5 +.Party: call RefreshScreen call FadeToMenu call DoItemEffect @@ -162,9 +154,8 @@ UseRegisteredItem: ; 133c3 call CloseText and a ret -; 13406 -.Overworld: ; 13406 +.Overworld: call RefreshScreen ld a, 1 ld [wUsingItemWithSelect], a @@ -178,9 +169,8 @@ UseRegisteredItem: ; 133c3 ld a, HMENURETURN_SCRIPT ld [hMenuReturn], a ret -; 13422 -.CantUse: ; 13422 +.CantUse: call RefreshScreen ._cantuse @@ -188,4 +178,3 @@ UseRegisteredItem: ; 133c3 call CloseText and a ret -; 1342d diff --git a/engine/overworld/spawn_points.asm b/engine/overworld/spawn_points.asm index 1a3d12441..2c673d6b1 100644 --- a/engine/overworld/spawn_points.asm +++ b/engine/overworld/spawn_points.asm @@ -1,7 +1,7 @@ INCLUDE "data/maps/spawn_points.asm" -LoadSpawnPoint: ; 1531f +LoadSpawnPoint: ; loads the spawn point in wDefaultSpawnpoint push hl push de @@ -26,10 +26,9 @@ LoadSpawnPoint: ; 1531f pop de pop hl ret -; 15344 -IsSpawnPoint: ; 15344 +IsSpawnPoint: ; Checks if the map loaded in de is a spawn point. Returns carry if it's a spawn point. ld hl, SpawnPoints ld c, 0 @@ -59,4 +58,3 @@ IsSpawnPoint: ; 15344 .yes scf ret -; 15363 diff --git a/engine/overworld/tile_events.asm b/engine/overworld/tile_events.asm index 705c0e427..bb566c997 100644 --- a/engine/overworld/tile_events.asm +++ b/engine/overworld/tile_events.asm @@ -1,4 +1,4 @@ -CheckWarpCollision:: ; 1499a +CheckWarpCollision:: ; Is this tile a warp? ld a, [wPlayerStandingTile] cp COLL_PIT @@ -14,9 +14,8 @@ CheckWarpCollision:: ; 1499a .warp scf ret -; 149af -CheckDirectionalWarp:: ; 149af +CheckDirectionalWarp:: ; If this is a directional warp, clear carry (press the designated button to warp). ; Else, set carry (immediate warp). ld a, [wPlayerStandingTile] @@ -34,17 +33,15 @@ CheckDirectionalWarp:: ; 149af .directional xor a ret -; 149c6 -CheckWarpFacingDown: ; 149c6 +CheckWarpFacingDown: ld de, 1 ld hl, .blocks ld a, [wPlayerStandingTile] call IsInArray ret -; 149d3 -.blocks ; 149d3 +.blocks db COLL_DOOR db COLL_DOOR_79 db COLL_STAIRCASE @@ -55,17 +52,15 @@ CheckWarpFacingDown: ; 149c6 db COLL_DOOR_75 db COLL_DOOR_7D db -1 -; 149dd -CheckGrassCollision:: ; 149dd +CheckGrassCollision:: ld a, [wPlayerStandingTile] ld hl, .blocks ld de, 1 call IsInArray ret -; 149ea -.blocks ; 149ea +.blocks db COLL_CUT_08 db COLL_TALL_GRASS db COLL_LONG_GRASS @@ -77,17 +72,15 @@ CheckGrassCollision:: ; 149dd db COLL_GRASS_4B db COLL_GRASS_4C db -1 -; 149f5 -CheckCutCollision: ; 149f5 +CheckCutCollision: ld a, c ld hl, .blocks ld de, 1 call IsInArray ret -; 14a00 -.blocks ; 14a00 +.blocks db COLL_CUT_TREE db COLL_CUT_TREE_1A db COLL_TALL_GRASS_10 @@ -95,9 +88,8 @@ CheckCutCollision: ; 149f5 db COLL_LONG_GRASS db COLL_LONG_GRASS_1C db -1 -; 14a07 -GetWarpSFX:: ; 14a07 +GetWarpSFX:: ld a, [wPlayerStandingTile] ld de, SFX_ENTER_DOOR cp COLL_DOOR @@ -107,4 +99,3 @@ GetWarpSFX:: ; 14a07 ret z ld de, SFX_EXIT_BUILDING ret -; 14a1a diff --git a/engine/overworld/time.asm b/engine/overworld/time.asm index 0f83447cc..136adb221 100644 --- a/engine/overworld/time.asm +++ b/engine/overworld/time.asm @@ -1,21 +1,19 @@ -_InitializeStartDay: ; 113d6 +_InitializeStartDay: call InitializeStartDay ret -; 113da -ClearDailyTimers: ; 113da +ClearDailyTimers: xor a ld [wLuckyNumberDayBuffer], a ld [wUnusedTwoDayTimer], a ld [wDailyResetTimer], a ret -; 113e5 -InitCallReceiveDelay:: ; 113e5 +InitCallReceiveDelay:: xor a ld [wTimeCyclesSinceLastCall], a -NextCallReceiveDelay: ; 113e9 +NextCallReceiveDelay: ld a, [wTimeCyclesSinceLastCall] cp 3 jr c, .okay @@ -28,13 +26,11 @@ NextCallReceiveDelay: ; 113e9 add hl, de ld a, [hl] jp RestartReceiveCallDelay -; 113fd .ReceiveCallDelays: db 20, 10, 5, 3 -; 11401 -CheckReceiveCallTimer: ; 11401 +CheckReceiveCallTimer: call CheckReceiveCallDelay ; check timer ret nc ld hl, wTimeCyclesSinceLastCall @@ -47,12 +43,11 @@ CheckReceiveCallTimer: ; 11401 call NextCallReceiveDelay ; restart timer scf ret -; 11413 -InitOneDayCountdown: ; 11413 +InitOneDayCountdown: ld a, 1 -InitNDaysCountdown: ; 11415 +InitNDaysCountdown: ld [hl], a push hl call UpdateTime @@ -60,9 +55,8 @@ InitNDaysCountdown: ; 11415 inc hl call CopyDayToHL ret -; 11420 -CheckDayDependentEventHL: ; 11420 +CheckDayDependentEventHL: inc hl push hl call CalcDaysSince @@ -71,32 +65,28 @@ CheckDayDependentEventHL: ; 11420 dec hl call UpdateTimeRemaining ret -; 1142e -RestartReceiveCallDelay: ; 1142e +RestartReceiveCallDelay: ld hl, wReceiveCallDelay_MinsRemaining ld [hl], a call UpdateTime ld hl, wReceiveCallDelay_StartTime call CopyDayHourMinToHL ret -; 1143c -CheckReceiveCallDelay: ; 1143c +CheckReceiveCallDelay: ld hl, wReceiveCallDelay_StartTime call CalcMinsHoursDaysSince call GetMinutesSinceIfLessThan60 ld hl, wReceiveCallDelay_MinsRemaining call UpdateTimeRemaining ret -; 1144c -RestartDailyResetTimer: ; 1144c +RestartDailyResetTimer: ld hl, wDailyResetTimer jp InitOneDayCountdown -; 11452 -CheckDailyResetTimer:: ; 11452 +CheckDailyResetTimer:: ld hl, wDailyResetTimer call CheckDayDependentEventHL ret nc @@ -128,18 +118,16 @@ endr call SampleKenjiBreakCountdown .DontRestartKenjiBreakCountdown: jr RestartDailyResetTimer -; 11485 -SampleKenjiBreakCountdown: ; 11485 +SampleKenjiBreakCountdown: ; Generate a random number between 3 and 6 call Random and %11 add 3 ld [wKenjiBreakTimer], a ret -; 11490 -StartBugContestTimer: ; 11490 +StartBugContestTimer: ld a, BUG_CONTEST_MINUTES ld [wBugContestMinsRemaining], a ld a, BUG_CONTEST_SECONDS @@ -148,10 +136,9 @@ StartBugContestTimer: ; 11490 ld hl, wBugContestStartTime call CopyDayHourMinSecToHL ret -; 114a4 -CheckBugContestTimer:: ; 114a4 (4:54a4) +CheckBugContestTimer:: ld hl, wBugContestStartTime call CalcSecsMinsHoursDaysSince ld a, [wDaysSince] @@ -186,14 +173,13 @@ CheckBugContestTimer:: ; 114a4 (4:54a4) ret -InitializeStartDay: ; 114dd +InitializeStartDay: call UpdateTime ld hl, wTimerEventStartDay call CopyDayToHL ret -; 114e7 -CheckPokerusTick:: ; 114e7 +CheckPokerusTick:: ld hl, wTimerEventStartDay call CalcDaysSince call GetDaysSince @@ -204,9 +190,8 @@ CheckPokerusTick:: ; 114e7 .done xor a ret -; 114fc -SetUnusedTwoDayTimer: ; 114fc +SetUnusedTwoDayTimer: ld a, 2 ld hl, wUnusedTwoDayTimer ld [hl], a @@ -214,22 +199,19 @@ SetUnusedTwoDayTimer: ; 114fc ld hl, wUnusedTwoDayTimerStartDate call CopyDayToHL ret -; 1150c -CheckUnusedTwoDayTimer: ; 1150c +CheckUnusedTwoDayTimer: ld hl, wUnusedTwoDayTimerStartDate call CalcDaysSince call GetDaysSince ld hl, wUnusedTwoDayTimer call UpdateTimeRemaining ret -; 1151c ; unused ld hl, wDailyFlags set DAILYFLAGS_FISH_SWARM_F, [hl] ret -; 11522 ; unused and a @@ -238,15 +220,13 @@ CheckUnusedTwoDayTimer: ; 1150c ret nz scf ret -; 1152b -RestartLuckyNumberCountdown: ; 1152b +RestartLuckyNumberCountdown: call .GetDaysUntilNextFriday ld hl, wLuckyNumberDayBuffer jp InitNDaysCountdown -; 11534 -.GetDaysUntilNextFriday: ; 11534 +.GetDaysUntilNextFriday: call GetWeekday ld c, a ld a, FRIDAY @@ -259,14 +239,12 @@ RestartLuckyNumberCountdown: ; 1152b .earlier ret -; 11542 -_CheckLuckyNumberShowFlag: ; 11542 +_CheckLuckyNumberShowFlag: ld hl, wLuckyNumberDayBuffer jp CheckDayDependentEventHL -; 11548 -DoMysteryGiftIfDayHasPassed: ; 11548 +DoMysteryGiftIfDayHasPassed: ld a, BANK(sMysteryGiftTimer) call GetSRAMBank ld hl, sMysteryGiftTimer @@ -294,9 +272,8 @@ DoMysteryGiftIfDayHasPassed: ; 11548 ld [sMysteryGiftTimer + 1], a call CloseSRAM ret -; 11586 -UpdateTimeRemaining: ; 11586 +UpdateTimeRemaining: ; If the amount of time elapsed exceeds the capacity of its ; unit, skip this part. cp -1 @@ -318,9 +295,8 @@ UpdateTimeRemaining: ; 11586 ld [hl], a scf ret -; 11599 -GetSecondsSinceIfLessThan60: ; 11599 +GetSecondsSinceIfLessThan60: ld a, [wDaysSince] and a jr nz, GetTimeElapsed_ExceedsUnitLimit @@ -331,9 +307,8 @@ GetSecondsSinceIfLessThan60: ; 11599 jr nz, GetTimeElapsed_ExceedsUnitLimit ld a, [wSecondsSince] ret -; 115ae -GetMinutesSinceIfLessThan60: ; 115ae +GetMinutesSinceIfLessThan60: ld a, [wDaysSince] and a jr nz, GetTimeElapsed_ExceedsUnitLimit @@ -342,45 +317,38 @@ GetMinutesSinceIfLessThan60: ; 115ae jr nz, GetTimeElapsed_ExceedsUnitLimit ld a, [wMinutesSince] ret -; 115be -GetHoursSinceIfLessThan24: ; 115be +GetHoursSinceIfLessThan24: ld a, [wDaysSince] and a jr nz, GetTimeElapsed_ExceedsUnitLimit ld a, [wHoursSince] ret -; 115c8 -GetDaysSince: ; 115c8 +GetDaysSince: ld a, [wDaysSince] ret -; 115cc -GetTimeElapsed_ExceedsUnitLimit: ; 115cc +GetTimeElapsed_ExceedsUnitLimit: ld a, -1 ret -; 115cf -CalcDaysSince: ; 115cf +CalcDaysSince: xor a jr _CalcDaysSince -; 115d2 -CalcHoursDaysSince: ; 115d2 +CalcHoursDaysSince: inc hl xor a jr _CalcHoursDaysSince -; 115d6 -CalcMinsHoursDaysSince: ; 115d6 +CalcMinsHoursDaysSince: inc hl inc hl xor a jr _CalcMinsHoursDaysSince -; 115db -CalcSecsMinsHoursDaysSince: ; 115db +CalcSecsMinsHoursDaysSince: inc hl inc hl inc hl @@ -394,7 +362,7 @@ CalcSecsMinsHoursDaysSince: ; 115db dec hl ld [wSecondsSince], a ; seconds since -_CalcMinsHoursDaysSince: ; 115eb +_CalcMinsHoursDaysSince: ld a, [hMinutes] ld c, a sbc [hl] @@ -405,7 +373,7 @@ _CalcMinsHoursDaysSince: ; 115eb dec hl ld [wMinutesSince], a ; minutes since -_CalcHoursDaysSince: ; 115f8 +_CalcHoursDaysSince: ld a, [hHours] ld c, a sbc [hl] @@ -426,9 +394,8 @@ _CalcDaysSince: ld [hl], c ; current days ld [wDaysSince], a ; days since ret -; 11613 -CopyDayHourMinSecToHL: ; 11613 +CopyDayHourMinSecToHL: ld a, [wCurDay] ld [hli], a ld a, [hHours] @@ -438,23 +405,20 @@ CopyDayHourMinSecToHL: ; 11613 ld a, [hSeconds] ld [hli], a ret -; 11621 -CopyDayToHL: ; 11621 +CopyDayToHL: ld a, [wCurDay] ld [hl], a ret -; 11626 -CopyDayHourToHL: ; 11626 +CopyDayHourToHL: ld a, [wCurDay] ld [hli], a ld a, [hHours] ld [hli], a ret -; 1162e -CopyDayHourMinToHL: ; 1162e +CopyDayHourMinToHL: ld a, [wCurDay] ld [hli], a ld a, [hHours] @@ -462,4 +426,3 @@ CopyDayHourMinToHL: ; 1162e ld a, [hMinutes] ld [hli], a ret -; 11639 diff --git a/engine/overworld/variables.asm b/engine/overworld/variables.asm index 3adf6df33..9b5e3846c 100644 --- a/engine/overworld/variables.asm +++ b/engine/overworld/variables.asm @@ -1,4 +1,4 @@ -_GetVarAction:: ; 80648 (20:4648) +_GetVarAction:: ld a, c cp NUM_VARS jr c, .valid @@ -28,13 +28,12 @@ _GetVarAction:: ; 80648 (20:4648) call _de_ ret -.loadstringbuffer2 ; 8066c (20:466c) +.loadstringbuffer2 ld de, wStringBuffer2 ld [de], a ret -; 80671 (20:4671) -.VarActionTable: ; 80671 +.VarActionTable: ; entries correspond to VAR_* constants ; RETVAR_STRBUF2: copy [de] to wStringBuffer2 ; RETVAR_ADDR_DE: return address in de @@ -67,51 +66,45 @@ _GetVarAction:: ; 80648 (20:4648) dwb wBuenasPassword, RETVAR_ADDR_DE dwb wKenjiBreakTimer, RETVAR_STRBUF2 dwb NULL, RETVAR_STRBUF2 -; 806c5 -.CountCaughtMons: ; 806c5 +.CountCaughtMons: ; Caught mons. ld hl, wPokedexCaught ld b, wEndPokedexCaught - wPokedexCaught call CountSetBits ld a, [wd265] jp .loadstringbuffer2 -; 806d3 -.CountSeenMons: ; 806d3 +.CountSeenMons: ; Seen mons. ld hl, wPokedexSeen ld b, wEndPokedexSeen - wPokedexSeen call CountSetBits ld a, [wd265] jp .loadstringbuffer2 -; 806e1 -.CountBadges: ; 806e1 +.CountBadges: ; Number of owned badges. ld hl, wBadges ld b, 2 call CountSetBits ld a, [wd265] jp .loadstringbuffer2 -; 806ef -.PlayerFacing: ; 806ef +.PlayerFacing: ; The direction the player is facing. ld a, [wPlayerDirection] and $c rrca rrca jp .loadstringbuffer2 -; 806f9 -.DayOfWeek: ; 806f9 +.DayOfWeek: ; The day of the week. call GetWeekday jp .loadstringbuffer2 -; 806ff -.UnownCaught: ; 806ff +.UnownCaught: ; Number of unique Unown caught. call .count ld a, b @@ -129,9 +122,8 @@ _GetVarAction:: ; 80648 (20:4648) cp NUM_UNOWN jr c, .loop ret -; 80715 -.BoxFreeSpace: ; 80715 +.BoxFreeSpace: ; Remaining slots in the current box. ld a, BANK(sBoxCount) call GetSRAMBank @@ -142,10 +134,8 @@ _GetVarAction:: ; 80648 (20:4648) call CloseSRAM ld a, b jp .loadstringbuffer2 -; 80728 -.BattleResult: ; 80728 +.BattleResult: ld a, [wBattleResult] and $ff ^ BATTLERESULT_BITMASK jp .loadstringbuffer2 -; 80730 diff --git a/engine/overworld/warp_connection.asm b/engine/overworld/warp_connection.asm index 2f5e488cc..0ab9a6c2d 100644 --- a/engine/overworld/warp_connection.asm +++ b/engine/overworld/warp_connection.asm @@ -1,5 +1,5 @@ -HandleNewMap: ; 1045b0 +HandleNewMap: call Clearwc7e8 call ResetMapBufferEventFlags call ResetFlashIfOutOfCave @@ -7,7 +7,7 @@ HandleNewMap: ; 1045b0 call ResetBikeFlags ld a, MAPCALLBACK_NEWMAP call RunMapCallback -InitCommandQueue: ; 1045c4 +InitCommandQueue: farcall ClearCmdQueue ld a, MAPCALLBACK_CMDQUEUE call RunMapCallback @@ -16,7 +16,7 @@ InitCommandQueue: ; 1045c4 ret -EnterMapConnection: ; 1045d6 +EnterMapConnection: ; Return carry if a connection has been entered. ld a, [wPlayerStepDirection] and a @@ -150,9 +150,8 @@ EnterMapConnection: ; 1045d6 .done scf ret -; 1046c6 -LoadWarpData: ; 1046c6 +LoadWarpData: call .SaveDigWarp call .SetSpawn ld a, [wNextWarp] @@ -163,7 +162,7 @@ LoadWarpData: ; 1046c6 ld [wMapNumber], a ret -.SaveDigWarp: ; 1046df (41:46df) +.SaveDigWarp: call GetMapEnvironment call CheckOutdoorMap ret nz @@ -195,7 +194,7 @@ LoadWarpData: ; 1046c6 ld [wDigMapNumber], a ret -.SetSpawn: ; 104718 (41:4718) +.SetSpawn: call GetMapEnvironment call CheckOutdoorMap ret nz @@ -227,7 +226,7 @@ LoadWarpData: ; 1046c6 ld [wLastSpawnMapNumber], a ret -LoadMapTimeOfDay: ; 104750 +LoadMapTimeOfDay: ld hl, wVramState res 6, [hl] ld a, $1 @@ -239,7 +238,7 @@ LoadMapTimeOfDay: ; 104750 call .PushAttrMap ret -.ClearBGMap: ; 104770 (41:4770) +.ClearBGMap: ld a, HIGH(vBGMap0) ld [wBGMapAnchor + 1], a xor a ; LOW(vBGMap0) @@ -267,7 +266,7 @@ LoadMapTimeOfDay: ; 104750 call ByteFill ret -.PushAttrMap: ; 1047a3 (41:47a3) +.PushAttrMap: decoord 0, 0 call .copy ld a, [hCGB] @@ -298,7 +297,7 @@ LoadMapTimeOfDay: ; 104750 ld [rVBK], a ret -LoadGraphics: ; 1047cf +LoadGraphics: call LoadTileset call LoadTilesetGFX xor a @@ -310,12 +309,11 @@ LoadGraphics: ; 1047cf farcall LoadOverworldFont ret -LoadMapPalettes: ; 1047eb +LoadMapPalettes: ld b, SCGB_MAPPALS jp GetSGBLayout -; 1047f0 -RefreshMapSprites: ; 1047f0 +RefreshMapSprites: call ClearSprites farcall ReturnFromMapSetupScript call GetMovementPermissions @@ -333,7 +331,7 @@ RefreshMapSprites: ; 1047f0 ld [wPlayerSpriteSetupFlags], a ret -CheckMovingOffEdgeOfMap:: ; 104820 (41:4820) +CheckMovingOffEdgeOfMap:: ld a, [wPlayerStepDirection] cp STANDING ret z @@ -391,7 +389,7 @@ CheckMovingOffEdgeOfMap:: ; 104820 (41:4820) ret -GetCoordOfUpperLeftCorner:: ; 10486d +GetCoordOfUpperLeftCorner:: ld hl, wOverworldMapBlocks ld a, [wXCoord] bit 0, a @@ -436,4 +434,3 @@ GetCoordOfUpperLeftCorner:: ; 10486d and $1 ld [wMetatileStandingX], a ret -; 1048ba diff --git a/engine/overworld/wildmons.asm b/engine/overworld/wildmons.asm index 20375ba6c..e28a18f89 100644 --- a/engine/overworld/wildmons.asm +++ b/engine/overworld/wildmons.asm @@ -1,4 +1,4 @@ -LoadWildMonData: ; 29ff8 +LoadWildMonData: call _GrassWildmonLookup jr c, .copy ld hl, wMornEncounterRate @@ -25,7 +25,7 @@ LoadWildMonData: ; 29ff8 ld [wWaterEncounterRate], a ret -FindNest: ; 2a01f +FindNest: ; Parameters: ; e: 0 = Johto, 1 = Kanto ; wNamedObjectIndexBuffer: species @@ -51,9 +51,8 @@ FindNest: ; 2a01f call .FindGrass ld hl, KantoWaterWildMons jp .FindWater -; 2a052 -.FindGrass: ; 2a052 +.FindGrass: ld a, [hl] cp -1 ret z @@ -76,9 +75,8 @@ FindNest: ; 2a01f ld bc, GRASS_WILDDATA_LENGTH add hl, bc jr .FindGrass -; 2a06e -.FindWater: ; 2a06e +.FindWater: ld a, [hl] cp -1 ret z @@ -99,9 +97,8 @@ FindNest: ; 2a01f ld bc, 3 * 3 add hl, bc jr .FindWater -; 2a088 -.SearchMapForMon: ; 2a088 +.SearchMapForMon: inc hl .ScanMapLoop: push af @@ -119,9 +116,8 @@ FindNest: ; 2a01f .found pop af jp .AppendNest -; 2a09c -.AppendNest: ; 2a09c +.AppendNest: push de call GetWorldMapLocation ld c, a @@ -144,9 +140,8 @@ FindNest: ; 2a01f pop de and a ret -; 2a0b7 -.RoamMon1: ; 2a0b7 +.RoamMon1: ld a, [wRoamMon1Species] ld b, a ld a, [wNamedObjectIndexBuffer] @@ -161,9 +156,8 @@ FindNest: ; 2a01f ld [de], a inc de ret -; 2a0cf -.RoamMon2: ; 2a0cf +.RoamMon2: ld a, [wRoamMon2Species] ld b, a ld a, [wNamedObjectIndexBuffer] @@ -178,9 +172,8 @@ FindNest: ; 2a01f ld [de], a inc de ret -; 2a0e7 -TryWildEncounter:: ; 2a0e7 +TryWildEncounter:: ; Try to trigger a wild encounter. call .EncounterRate jr nc, .no_battle @@ -198,18 +191,16 @@ TryWildEncounter:: ; 2a0e7 ld a, 1 and a ret -; 2a103 -.EncounterRate: ; 2a103 +.EncounterRate: call GetMapEncounterRate call ApplyMusicEffectOnEncounterRate call ApplyCleanseTagEffectOnEncounterRate call Random cp b ret -; 2a111 -GetMapEncounterRate: ; 2a111 +GetMapEncounterRate: ld hl, wMornEncounterRate call CheckOnWater ld a, wWaterEncounterRate - wMornEncounterRate @@ -221,9 +212,8 @@ GetMapEncounterRate: ; 2a111 add hl, bc ld b, [hl] ret -; 2a124 -ApplyMusicEffectOnEncounterRate:: ; 2a124 +ApplyMusicEffectOnEncounterRate:: ; Pokemon March and Ruins of Alph signal double encounter rate. ; Pokemon Lullaby halves encounter rate. ld a, [wMapMusic] @@ -239,9 +229,8 @@ ApplyMusicEffectOnEncounterRate:: ; 2a124 .double sla b ret -; 2a138 -ApplyCleanseTagEffectOnEncounterRate:: ; 2a138 +ApplyCleanseTagEffectOnEncounterRate:: ; Cleanse Tag halves encounter rate. ld hl, wPartyMon1Item ld de, PARTYMON_STRUCT_LENGTH @@ -259,9 +248,8 @@ ApplyCleanseTagEffectOnEncounterRate:: ; 2a138 .cleansetag srl b ret -; 2a14f -ChooseWildEncounter: ; 2a14f +ChooseWildEncounter: call LoadWildMonDataPointer jp nc, .nowildbattle call CheckEncounterRoamMon @@ -355,11 +343,10 @@ ChooseWildEncounter: ; 2a14f .startwildbattle xor a ret -; 2a1cb INCLUDE "data/wild/probabilities.asm" -CheckRepelEffect:: ; 2a1df +CheckRepelEffect:: ; If there is no active Repel, there's no need to be here. ld a, [wRepelEffect] and a @@ -389,13 +376,12 @@ endr .encounter scf ret -; 2a200 -LoadWildMonDataPointer: ; 2a200 +LoadWildMonDataPointer: call CheckOnWater jr z, _WaterWildmonLookup -_GrassWildmonLookup: ; 2a205 +_GrassWildmonLookup: ld hl, SwarmGrassWildMons ld bc, GRASS_WILDDATA_LENGTH call _SwarmWildmonCheck @@ -406,7 +392,7 @@ _GrassWildmonLookup: ; 2a205 ld bc, GRASS_WILDDATA_LENGTH jr _NormalWildmonOK -_WaterWildmonLookup: ; 2a21d +_WaterWildmonLookup: ld hl, SwarmWaterWildMons ld bc, WATER_WILDDATA_LENGTH call _SwarmWildmonCheck @@ -467,17 +453,15 @@ _NoSwarmWildmon: _NormalWildmonOK: call CopyCurrMapDE jr LookUpWildmonsForMapDE -; 2a27f -CopyCurrMapDE: ; 2a27f +CopyCurrMapDE: ld a, [wMapGroup] ld d, a ld a, [wMapNumber] ld e, a ret -; 2a288 -LookUpWildmonsForMapDE: ; 2a288 +LookUpWildmonsForMapDE: .loop push hl ld a, [hl] @@ -505,10 +489,9 @@ LookUpWildmonsForMapDE: ; 2a288 pop hl scf ret -; 2a2a0 -InitRoamMons: ; 2a2a0 +InitRoamMons: ; initialize wRoamMon structs ; species @@ -540,10 +523,9 @@ InitRoamMons: ; 2a2a0 ld [wRoamMon2HP], a ret -; 2a2ce -CheckEncounterRoamMon: ; 2a2ce +CheckEncounterRoamMon: push hl ; Don't trigger an encounter if we're on water. call CheckOnWater @@ -589,10 +571,9 @@ CheckEncounterRoamMon: ; 2a2ce pop hl and a ret -; 2a30d -UpdateRoamMons: ; 2a30d +UpdateRoamMons: ld a, [wRoamMon1MapGroup] cp GROUP_N_A jr z, .SkipRaikou @@ -633,10 +614,9 @@ UpdateRoamMons: ; 2a30d .Finished: jp _BackUpMapIndices -; 2a355 -.Update: ; 2a355 +.Update: ld hl, RoamMaps .loop ; Are we at the end of the table? @@ -693,7 +673,7 @@ UpdateRoamMons: ; 2a30d ld c, [hl] ret -JumpRoamMons: ; 2a394 +JumpRoamMons: ld a, [wRoamMon1MapGroup] cp GROUP_N_A jr z, .SkipRaikou @@ -726,7 +706,7 @@ JumpRoamMons: ; 2a394 .Finished: jp _BackUpMapIndices -JumpRoamMon: ; 2a3cd +JumpRoamMon: .loop ld hl, RoamMaps .innerloop1 ; This loop happens to be unnecessary. @@ -760,9 +740,8 @@ JumpRoamMon: ; 2a3cd ld b, a ld c, [hl] ret -; 2a3f6 -_BackUpMapIndices: ; 2a3f6 +_BackUpMapIndices: ld a, [wRoamMons_CurrentMapNumber] ld [wRoamMons_LastMapNumber], a ld a, [wRoamMons_CurrentMapGroup] @@ -772,13 +751,12 @@ _BackUpMapIndices: ; 2a3f6 ld a, [wMapGroup] ld [wRoamMons_CurrentMapGroup], a ret -; 2a40f INCLUDE "data/wild/roammon_maps.asm" -ValidateTempWildMonSpecies: ; 2a4a0 +ValidateTempWildMonSpecies: ; Due to a development oversight, this function is called with the wild Pokemon's level, not its species, in a. and a jr z, .nowildmon ; = 0 @@ -790,11 +768,10 @@ ValidateTempWildMonSpecies: ; 2a4a0 .nowildmon scf ret -; 2a4ab ; Finds a rare wild Pokemon in the route of the trainer calling, then checks if it's been Seen already. ; The trainer will then tell you about the Pokemon if you haven't seen it. -RandomUnseenWildMon: ; 2a4ab +RandomUnseenWildMon: farcall GetCallerLocation ld d, b ld e, c @@ -867,7 +844,7 @@ RandomUnseenWildMon: ; 2a4ab db "@" ; 0x2a51f -RandomPhoneWildMon: ; 2a51f +RandomPhoneWildMon: farcall GetCallerLocation ld d, b ld e, c @@ -905,9 +882,8 @@ RandomPhoneWildMon: ; 2a51f ld de, wStringBuffer4 ld bc, MON_NAME_LENGTH jp CopyBytes -; 2a567 -RandomPhoneMon: ; 2a567 +RandomPhoneMon: ; Get a random monster owned by the trainer who's calling. farcall GetCallerLocation ld hl, TrainerGroups @@ -989,7 +965,6 @@ RandomPhoneMon: ; 2a567 ld de, wStringBuffer4 ld bc, MON_NAME_LENGTH jp CopyBytes -; 2a5e9 INCLUDE "data/wild/johto_grass.asm" diff --git a/engine/phone/buenas_password.asm b/engine/phone/buenas_password.asm index 82a696648..68c5c01b9 100644 --- a/engine/phone/buenas_password.asm +++ b/engine/phone/buenas_password.asm @@ -165,6 +165,5 @@ BuenaPhoneScript_Random1: .two writetext UnknownText_0xa1e2f end -; a0c28 INCLUDE "data/phone/text/buena.asm" diff --git a/engine/phone/generic_calls.asm b/engine/phone/generic_calls.asm index b3b3eb56a..359d0146b 100644 --- a/engine/phone/generic_calls.asm +++ b/engine/phone/generic_calls.asm @@ -1254,7 +1254,6 @@ PhoneScript_MonFlavorText: farwritetext UnknownText_0x1b522b buttonsound farjump PhoneScript_HangupText_Male -; be643 GrandmaString: db "Grandma@" diff --git a/engine/phone/phone.asm b/engine/phone/phone.asm index 41f7bf47f..019fc7e07 100644 --- a/engine/phone/phone.asm +++ b/engine/phone/phone.asm @@ -1,4 +1,4 @@ -AddPhoneNumber:: ; 90000 +AddPhoneNumber:: call _CheckCellNum jr c, .cant_add call Phone_FindOpenSlot @@ -10,10 +10,9 @@ AddPhoneNumber:: ; 90000 .cant_add scf ret -; 9000f -DelCellNum:: ; 9000f +DelCellNum:: call _CheckCellNum jr nc, .not_in_list xor a @@ -23,13 +22,11 @@ DelCellNum:: ; 9000f .not_in_list scf ret -; 90019 -CheckCellNum:: ; 90019 +CheckCellNum:: jp _CheckCellNum ; wtf -; 9001c -_CheckCellNum: ; 9001c +_CheckCellNum: ld hl, wPhoneList ld b, CONTACT_LIST_SIZE .loop @@ -45,9 +42,8 @@ _CheckCellNum: ; 9001c dec hl scf ret -; 9002d -Phone_FindOpenSlot: ; 9002d +Phone_FindOpenSlot: call GetRemainingSpaceInPhoneList ld b, a ld hl, wPhoneList @@ -64,9 +60,8 @@ Phone_FindOpenSlot: ; 9002d dec hl scf ret -; 90040 -GetRemainingSpaceInPhoneList: ; 90040 +GetRemainingSpaceInPhoneList: xor a ld [wBuffer1], a ld hl, PermanentNumbers @@ -96,12 +91,11 @@ GetRemainingSpaceInPhoneList: ; 90040 ld hl, wBuffer1 sub [hl] ret -; 90066 INCLUDE "data/phone/permanent_numbers.asm" -FarPlaceString: ; 90069 +FarPlaceString: ld a, [hROMBank] push af ld a, b @@ -112,10 +106,9 @@ FarPlaceString: ; 90069 pop af rst Bankswitch ret -; 90074 -CheckPhoneCall:: ; 90074 (24:4074) +CheckPhoneCall:: ; Check if the phone is ringing in the overworld. call CheckStandingOnEntrance @@ -151,11 +144,11 @@ CheckPhoneCall:: ; 90074 (24:4074) xor a ret -.timecheck ; 900a6 (24:40a6) +.timecheck farcall CheckReceiveCallTimer ret -CheckPhoneContactTimeOfDay: ; 900ad (24:40ad) +CheckPhoneContactTimeOfDay: push hl push bc push de @@ -171,7 +164,7 @@ CheckPhoneContactTimeOfDay: ; 900ad (24:40ad) pop hl ret -ChooseRandomCaller: ; 900bf (24:40bf) +ChooseRandomCaller: ; If no one is available to call, don't return anything. ld a, [wEngineBuffer3] and a @@ -198,7 +191,7 @@ ChooseRandomCaller: ; 900bf (24:40bf) xor a ret -GetAvailableCallers: ; 900de (24:40de) +GetAvailableCallers: farcall CheckTime ld a, c ld [wEngineBuffer1], a @@ -246,7 +239,7 @@ GetAvailableCallers: ; 900de (24:40de) jr nz, .loop ret -CheckSpecialPhoneCall:: ; 90136 (24:4136) +CheckSpecialPhoneCall:: ld a, [wSpecialPhoneCallID] and a jr z, .NoPhoneCall @@ -288,14 +281,13 @@ CheckSpecialPhoneCall:: ; 90136 (24:4136) .NoPhoneCall: xor a ret -; 90173 (24:4173) .script ; 0x90173 pause 30 jump Script_ReceivePhoneCall ; 0x90178 -.DoSpecialPhoneCall: ; 90178 (24:4178) +.DoSpecialPhoneCall: ld a, [wSpecialPhoneCallID] dec a ld c, a @@ -305,7 +297,7 @@ CheckSpecialPhoneCall:: ; 90136 (24:4136) call AddNTimes ret -SpecialCallOnlyWhenOutside: ; 90188 +SpecialCallOnlyWhenOutside: ld a, [wEnvironment] cp TOWN jr z, .outside @@ -318,11 +310,11 @@ SpecialCallOnlyWhenOutside: ; 90188 scf ret -SpecialCallWhereverYouAre: ; 90197 +SpecialCallWhereverYouAre: scf ret -Function90199: ; 90199 (24:4199) +Function90199: ; Don't do the call if you're in a link communication ld a, [wLinkMode] and a @@ -388,7 +380,6 @@ Function90199: ; 90199 (24:4199) ld de, UnknownScript_0x90205 call ExecuteCallbackScript ret -; 90205 (24:4205) UnknownScript_0x90205: ; 0x90205 ptcall wd002 @@ -400,7 +391,7 @@ UnknownScript_0x90209: ; 0x90209 return ; 0x9020d -LoadCallerScript: ; 9020d (24:420d) +LoadCallerScript: nop nop ld a, e @@ -422,9 +413,8 @@ LoadCallerScript: ; 9020d (24:420d) ld bc, 12 call FarCopyBytes ret -; 90233 (24:4233) -WrongNumber: ; 90233 +WrongNumber: db TRAINER_NONE, PHONE_00 dba .script .script @@ -434,7 +424,6 @@ WrongNumber: ; 90233 ; Huh? Sorry, wrong number! text_jump UnknownText_0x1c5565 db "@" -; 90241 Script_ReceivePhoneCall: ; 0x90241 refreshscreen @@ -454,7 +443,6 @@ Script_SpecialBillCall:: ; 0x90255 .LoadBillScript: ld e, PHONE_BILL jp LoadCallerScript -; 90261 UnknownScript_0x90261: ; 0x90261 callasm .LoadElmScript @@ -464,16 +452,14 @@ UnknownScript_0x90261: ; 0x90261 .LoadElmScript: ld e, PHONE_ELM jp LoadCallerScript -; 9026f -RingTwice_StartCall: ; 9026f +RingTwice_StartCall: call .Ring call .Ring farcall StubbedTrainerRankings_PhoneCalls ret -; 9027c -.Ring: ; 9027c (24:427c) +.Ring: call Phone_StartRinging call Phone_Wait20Frames call Phone_CallerTextboxWithName @@ -483,13 +469,13 @@ RingTwice_StartCall: ; 9026f call Phone_CallerTextboxWithName ret -Phone_CallerTextboxWithName: ; 90292 (24:4292) +Phone_CallerTextboxWithName: ld a, [wCurrentCaller] ld b, a call Function90363 ret -PhoneCall:: ; 9029a +PhoneCall:: ld a, b ld [wPhoneScriptBank], a ld a, e @@ -500,9 +486,8 @@ PhoneCall:: ; 9029a call Phone_FirstOfTwoRings farcall StubbedTrainerRankings_PhoneCalls ret -; 902b3 -Phone_FirstOfTwoRings: ; 902b3 +Phone_FirstOfTwoRings: call Phone_StartRinging call Phone_Wait20Frames call Phone_CallerTextboxWithName2 @@ -511,9 +496,8 @@ Phone_FirstOfTwoRings: ; 902b3 call Phone_Wait20Frames call Phone_CallerTextboxWithName2 ret -; 902c9 -Phone_CallerTextboxWithName2: ; 902c9 +Phone_CallerTextboxWithName2: call Phone_CallerTextbox hlcoord 1, 2 ld [hl], "☎" @@ -527,15 +511,14 @@ Phone_CallerTextboxWithName2: ; 902c9 ld d, a call FarPlaceString ret -; 902e3 -Phone_NoSignal: ; 902e3 (24:42e3) +Phone_NoSignal: ld de, SFX_NO_SIGNAL call PlaySFX jr Phone_CallEnd -HangUp:: ; 902eb +HangUp:: call HangUp_Beep call HangUp_Wait20Frames Phone_CallEnd: @@ -552,33 +535,28 @@ Phone_CallEnd: call HangUp_BoopOff call HangUp_Wait20Frames ret -; 90316 -Function90316: ; 90316 +Function90316: ld de, SFX_SHUT_DOWN_PC call PlaySFX ret -; 9031d -HangUp_Beep: ; 9031d +HangUp_Beep: ld hl, UnknownText_0x9032a call PrintText ld de, SFX_HANG_UP call PlaySFX ret -; 9032a -UnknownText_0x9032a: ; 9032a +UnknownText_0x9032a: text_jump UnknownText_0x1c5580 db "@" -; 9032f -HangUp_BoopOn: ; 9032f +HangUp_BoopOn: ld hl, UnknownText_0x90336 call PrintText ret -; 90336 UnknownText_0x90336: ; 0x90336 text_jump UnknownText_0x1c5588 @@ -586,12 +564,11 @@ UnknownText_0x90336: ; 0x90336 ; 0x9033b -HangUp_BoopOff: ; 9033b +HangUp_BoopOff: call SpeechTextBox ret -; 9033f -Phone_StartRinging: ; 9033f +Phone_StartRinging: call WaitSFX ld de, SFX_CALL call PlaySFX @@ -599,9 +576,8 @@ Phone_StartRinging: ; 9033f call UpdateSprites farcall PhoneRing_CopyTilemapAtOnce ret -; 90355 -HangUp_Wait20Frames: ; 90355 +HangUp_Wait20Frames: jr Phone_Wait20Frames Phone_Wait20Frames: @@ -609,10 +585,9 @@ Phone_Wait20Frames: call DelayFrames farcall PhoneRing_CopyTilemapAtOnce ret -; 90363 -Function90363: ; 90363 (24:4363) +Function90363: push bc call Phone_CallerTextbox hlcoord 1, 1 @@ -626,16 +601,15 @@ Function90363: ; 90363 (24:4363) ret -Phone_CallerTextbox: ; 90375 +Phone_CallerTextbox: hlcoord 0, 0 ld b, 2 ld c, SCREEN_WIDTH - 2 call TextBox ret -; 90380 -Function90380: ; 90380 (24:4380) +Function90380: ld h, d ld l, e ld a, b @@ -643,7 +617,7 @@ Function90380: ; 90380 (24:4380) call GetCallerName ret -CheckCanDeletePhoneNumber: ; 9038a (24:438a) +CheckCanDeletePhoneNumber: ld a, c call GetCallerTrainerClass ld a, c @@ -657,7 +631,7 @@ CheckCanDeletePhoneNumber: ; 9038a (24:438a) ld c, $1 ret -GetCallerTrainerClass: ; 9039a +GetCallerTrainerClass: push hl ld hl, PhoneContacts + PHONE_CONTACT_TRAINER_CLASS ld bc, PHONE_TABLE_WIDTH @@ -667,10 +641,9 @@ GetCallerTrainerClass: ; 9039a ld c, a pop hl ret -; 903a9 -GetCallerName: ; 903a9 (24:43a9) +GetCallerName: ld a, c and a jr z, .NotTrainer @@ -702,11 +675,10 @@ GetCallerName: ; 903a9 (24:43a9) pop hl call PlaceString ret -; 903d6 (24:43d6) INCLUDE "data/phone/non_trainer_names.asm" -Phone_GetTrainerName: ; 90423 (24:4423) +Phone_GetTrainerName: push hl push bc farcall GetTrainerName @@ -714,7 +686,7 @@ Phone_GetTrainerName: ; 90423 (24:4423) pop hl ret -Phone_GetTrainerClassName: ; 9042e (24:442e) +Phone_GetTrainerClassName: push hl push bc farcall GetTrainerClassName @@ -722,7 +694,7 @@ Phone_GetTrainerClassName: ; 9042e (24:442e) pop hl ret -GetCallerLocation: ; 90439 +GetCallerLocation: ld a, [wCurrentCaller] call GetCallerTrainerClass ld d, c @@ -742,7 +714,6 @@ GetCallerLocation: ; 90439 pop bc pop de ret -; 9045f INCLUDE "data/phone/phone_contacts.asm" diff --git a/engine/phone/phone_scripts.asm b/engine/phone/phone_scripts.asm index 6a4813634..45856ad46 100644 --- a/engine/phone/phone_scripts.asm +++ b/engine/phone/phone_scripts.asm @@ -294,7 +294,6 @@ ElmPhoneScript2: ; 0xbd081 farwritetext ElmPhoneUnusedText specialphonecall SPECIALCALL_NONE end -; bd0d0 ; Jack diff --git a/engine/phone/phonering_copytilemapatonce.asm b/engine/phone/phonering_copytilemapatonce.asm index b0d4ffa1e..41f92a5e3 100644 --- a/engine/phone/phonering_copytilemapatonce.asm +++ b/engine/phone/phonering_copytilemapatonce.asm @@ -1,4 +1,4 @@ -PhoneRing_CopyTilemapAtOnce: ; 4d188 +PhoneRing_CopyTilemapAtOnce: ld a, [hCGB] and a jp z, WaitBGMap @@ -41,7 +41,7 @@ PhoneRing_CopyTilemapAtOnce: ; 4d188 ld [hBGMapMode], a ret -.CopyTilemapAtOnce: ; 4d1cb +.CopyTilemapAtOnce: ld [hSPBuffer], sp ld sp, hl ld a, [hBGMapAddress + 1] diff --git a/engine/pokedex/new_pokedex_entry.asm b/engine/pokedex/new_pokedex_entry.asm index 365cf1b70..765f2f576 100644 --- a/engine/pokedex/new_pokedex_entry.asm +++ b/engine/pokedex/new_pokedex_entry.asm @@ -1,4 +1,4 @@ -NewPokedexEntry: ; fb877 +NewPokedexEntry: ld a, [hMapAnims] push af xor a @@ -32,9 +32,8 @@ NewPokedexEntry: ; fb877 pop af ld [hMapAnims], a ret -; fb8c8 -.ReturnFromDexRegistration: ; fb8c8 +.ReturnFromDexRegistration: call ClearTileMap call LoadFontsExtra call LoadStandardFont @@ -49,4 +48,3 @@ NewPokedexEntry: ; fb877 call GetSGBLayout call SetPalettes ret -; fb8f1 diff --git a/engine/pokedex/pokedex.asm b/engine/pokedex/pokedex.asm index 2e36175ab..147a0ff15 100644 --- a/engine/pokedex/pokedex.asm +++ b/engine/pokedex/pokedex.asm @@ -18,7 +18,7 @@ POKEDEX_SCX EQU 5 GLOBAL POKEDEX_SCX -Pokedex: ; 40000 +Pokedex: ld a, [hWX] ld l, a @@ -77,7 +77,7 @@ Pokedex: ; 40000 ld [hWY], a ret -InitPokedex: ; 40063 +InitPokedex: call ClearBGPalettes call ClearSprites call ClearTileMap @@ -106,7 +106,7 @@ InitPokedex: ; 40063 call Pokedex_ResetBGMapMode ret -Pokedex_CheckUnlockedUnownMode: ; 400a2 +Pokedex_CheckUnlockedUnownMode: ld a, [wStatusFlags] bit STATUSFLAGS_UNOWN_DEX_F, a jr nz, .unlocked @@ -120,7 +120,7 @@ Pokedex_CheckUnlockedUnownMode: ; 400a2 ld [wUnlockedUnownMode], a ret -Pokedex_InitCursorPosition: ; 400b4 +Pokedex_InitCursorPosition: ld hl, wPokedexOrder ld a, [wPrevDexEntry] and a @@ -162,7 +162,7 @@ Pokedex_InitCursorPosition: ; 400b4 .done ret -Pokedex_GetLandmark: ; 400ed +Pokedex_GetLandmark: ld a, [wMapGroup] ld b, a ld a, [wMapNumber] @@ -182,13 +182,13 @@ Pokedex_GetLandmark: ; 400ed ld [wDexCurrentLocation], a ret -Pokedex_RunJumptable: ; 4010b +Pokedex_RunJumptable: ld a, [wJumptableIndex] ld hl, .Jumptable call Pokedex_LoadPointer jp hl -.Jumptable: ; 40115 (10:4115) +.Jumptable: ; entries correspond to DEXSTATE_* constants dw Pokedex_InitMainScreen dw Pokedex_UpdateMainScreen @@ -205,17 +205,17 @@ Pokedex_RunJumptable: ; 4010b dw Pokedex_UpdateUnownMode dw Pokedex_Exit -Pokedex_IncrementDexPointer: ; 40131 (10:4131) +Pokedex_IncrementDexPointer: ld hl, wJumptableIndex inc [hl] ret -Pokedex_Exit: ; 40136 (10:4136) +Pokedex_Exit: ld hl, wJumptableIndex set 7, [hl] ret -Pokedex_InitMainScreen: ; 4013c (10:413c) +Pokedex_InitMainScreen: xor a ld [hBGMapMode], a call ClearSprites @@ -263,7 +263,7 @@ Pokedex_InitMainScreen: ; 4013c (10:413c) call Pokedex_IncrementDexPointer ret -Pokedex_UpdateMainScreen: ; 401ae (10:41ae) +Pokedex_UpdateMainScreen: ld hl, hJoyPressed ld a, [hl] and B_BUTTON @@ -324,7 +324,7 @@ Pokedex_UpdateMainScreen: ; 401ae (10:41ae) ld [wJumptableIndex], a ret -Pokedex_InitDexEntryScreen: ; 40217 (10:4217) +Pokedex_InitDexEntryScreen: call LowVolume xor a ; page 1 ld [wPokedexStatus], a @@ -350,7 +350,7 @@ Pokedex_InitDexEntryScreen: ; 40217 (10:4217) call Pokedex_IncrementDexPointer ret -Pokedex_UpdateDexEntryScreen: ; 40258 (10:4258) +Pokedex_UpdateDexEntryScreen: ld de, DexEntryScreen_ArrowCursorData call Pokedex_MoveArrowCursor ld hl, hJoyPressed @@ -384,7 +384,7 @@ Pokedex_UpdateDexEntryScreen: ; 40258 (10:4258) ld [wJumptableIndex], a ret -Pokedex_Page: ; 40292 +Pokedex_Page: ld a, [wPokedexStatus] xor 1 ; toggle page ld [wPokedexStatus], a @@ -394,7 +394,7 @@ Pokedex_Page: ; 40292 call WaitBGMap ret -Pokedex_ReinitDexEntryScreen: ; 402aa (10:42aa) +Pokedex_ReinitDexEntryScreen: ; Reinitialize the Pokédex entry screen after changing the selected mon. call Pokedex_BlackOutBG xor a ; page 1 @@ -420,7 +420,7 @@ Pokedex_ReinitDexEntryScreen: ; 402aa (10:42aa) dec [hl] ret -DexEntryScreen_ArrowCursorData: ; 402e8 +DexEntryScreen_ArrowCursorData: db D_RIGHT | D_LEFT, 4 dwcoord 1, 17 ; PAGE dwcoord 6, 17 ; AREA @@ -428,13 +428,13 @@ DexEntryScreen_ArrowCursorData: ; 402e8 dwcoord 15, 17 ; PRNT -DexEntryScreen_MenuActionJumptable: ; 402f2 +DexEntryScreen_MenuActionJumptable: dw Pokedex_Page dw .Area dw .Cry dw .Print -.Area: ; 402fa +.Area: call Pokedex_BlackOutBG xor a ld [hSCX], a @@ -465,7 +465,7 @@ DexEntryScreen_MenuActionJumptable: ; 402f2 call Pokedex_GetSGBLayout ret -.Cry: ; 40340 +.Cry: call Pokedex_GetSelectedMon ld a, [wd265] call GetCryIndex @@ -474,7 +474,7 @@ DexEntryScreen_MenuActionJumptable: ; 402f2 call PlayCry ret -.Print: ; 4034f +.Print: call Pokedex_ApplyPrintPals xor a ld [hSCX], a @@ -502,14 +502,14 @@ DexEntryScreen_MenuActionJumptable: ; 402f2 call Pokedex_ApplyUsualPals ret -Pokedex_RedisplayDexEntry: ; 4038d +Pokedex_RedisplayDexEntry: call Pokedex_DrawDexEntryScreenBG call Pokedex_GetSelectedMon farcall DisplayDexEntry call Pokedex_DrawFootprint ret -Pokedex_InitOptionScreen: ; 4039d (10:439d) +Pokedex_InitOptionScreen: xor a ld [hBGMapMode], a call ClearSprites @@ -524,7 +524,7 @@ Pokedex_InitOptionScreen: ; 4039d (10:439d) call Pokedex_IncrementDexPointer ret -Pokedex_UpdateOptionScreen: ; 403be (10:43be) +Pokedex_UpdateOptionScreen: ld a, [wUnlockedUnownMode] and a jr nz, .okay @@ -556,37 +556,37 @@ Pokedex_UpdateOptionScreen: ; 403be (10:43be) ld [wJumptableIndex], a ret -.NoUnownModeArrowCursorData: ; 403f3 +.NoUnownModeArrowCursorData: db D_UP | D_DOWN, 3 dwcoord 2, 4 ; NEW dwcoord 2, 6 ; OLD dwcoord 2, 8 ; ABC -.ArrowCursorData: ; 403fb +.ArrowCursorData: db D_UP | D_DOWN, 4 dwcoord 2, 4 ; NEW dwcoord 2, 6 ; OLD dwcoord 2, 8 ; ABC dwcoord 2, 10 ; UNOWN -.MenuActionJumptable: ; 40405 (10:4405) +.MenuActionJumptable: dw .MenuAction_NewMode dw .MenuAction_OldMode dw .MenuAction_ABCMode dw .MenuAction_UnownMode -.MenuAction_NewMode: ; 4040d (10:440d) +.MenuAction_NewMode: ld b, DEXMODE_NEW jr .ChangeMode -.MenuAction_OldMode: ; 40411 (10:4411) +.MenuAction_OldMode: ld b, DEXMODE_OLD jr .ChangeMode -.MenuAction_ABCMode: ; 40415 (10:4415) +.MenuAction_ABCMode: ld b, DEXMODE_ABC -.ChangeMode: ; 40417 (10:4417) +.ChangeMode: ld a, [wCurrentDexMode] cp b jr z, .skip_changing_mode ; Skip if new mode is same as current. @@ -606,13 +606,13 @@ Pokedex_UpdateOptionScreen: ; 403be (10:43be) ld [wJumptableIndex], a ret -.MenuAction_UnownMode: ; 4043a (10:443a) +.MenuAction_UnownMode: call Pokedex_BlackOutBG ld a, DEXSTATE_UNOWN_MODE ld [wJumptableIndex], a ret -Pokedex_InitSearchScreen: ; 40443 (10:4443) +Pokedex_InitSearchScreen: xor a ld [hBGMapMode], a call ClearSprites @@ -632,7 +632,7 @@ Pokedex_InitSearchScreen: ; 40443 (10:4443) call Pokedex_IncrementDexPointer ret -Pokedex_UpdateSearchScreen: ; 40471 (10:4471) +Pokedex_UpdateSearchScreen: ld de, .ArrowCursorData call Pokedex_MoveArrowCursor call Pokedex_UpdateSearchMonType @@ -658,25 +658,25 @@ Pokedex_UpdateSearchScreen: ; 40471 (10:4471) ld [wJumptableIndex], a ret -.ArrowCursorData: ; 4049e +.ArrowCursorData: db D_UP | D_DOWN, 4 dwcoord 2, 4 ; TYPE 1 dwcoord 2, 6 ; TYPE 2 dwcoord 2, 13 ; BEGIN SEARCH dwcoord 2, 15 ; CANCEL -.MenuActionJumptable: ; 404a8 +.MenuActionJumptable: dw .MenuAction_MonSearchType dw .MenuAction_MonSearchType dw .MenuAction_BeginSearch dw .MenuAction_Cancel -.MenuAction_MonSearchType: ; 404b0 +.MenuAction_MonSearchType: call Pokedex_NextSearchMonType call Pokedex_PlaceSearchScreenTypeStrings ret -.MenuAction_BeginSearch: ; 404b7 +.MenuAction_BeginSearch: call Pokedex_SearchForMons farcall AnimateDexSearchSlowpoke ld a, [wDexSearchResultCount] @@ -710,13 +710,13 @@ Pokedex_UpdateSearchScreen: ; 40471 (10:4471) ld [wJumptableIndex], a ret -.MenuAction_Cancel: ; 40501 +.MenuAction_Cancel: call Pokedex_BlackOutBG ld a, DEXSTATE_MAIN_SCR ld [wJumptableIndex], a ret -Pokedex_InitSearchResultsScreen: ; 4050a (10:450a) +Pokedex_InitSearchResultsScreen: xor a ld [hBGMapMode], a xor a @@ -751,7 +751,7 @@ Pokedex_InitSearchResultsScreen: ; 4050a (10:450a) call Pokedex_IncrementDexPointer ret -Pokedex_UpdateSearchResultsScreen: ; 40562 (10:4562) +Pokedex_UpdateSearchResultsScreen: ld hl, hJoyPressed ld a, [hl] and B_BUTTON @@ -797,7 +797,7 @@ Pokedex_UpdateSearchResultsScreen: ; 40562 (10:4562) ld [hWX], a ret -Pokedex_InitUnownMode: ; 405bd (10:45bd) +Pokedex_InitUnownMode: call Pokedex_LoadUnownFont call Pokedex_DrawUnownModeBG xor a @@ -811,7 +811,7 @@ Pokedex_InitUnownMode: ; 405bd (10:45bd) call Pokedex_IncrementDexPointer ret -Pokedex_UpdateUnownMode: ; 405df (10:45df) +Pokedex_UpdateUnownMode: ld hl, hJoyPressed ld a, [hl] and A_BUTTON | B_BUTTON @@ -838,7 +838,7 @@ Pokedex_UpdateUnownMode: ; 405df (10:45df) .done ret -Pokedex_UnownModeHandleDPadInput: ; 40610 (10:4610) +Pokedex_UnownModeHandleDPadInput: ld hl, hJoyLast ld a, [hl] and D_RIGHT @@ -883,15 +883,15 @@ Pokedex_UnownModeHandleDPadInput: ; 40610 (10:4610) call DelayFrame ret -Pokedex_UnownModeEraseCursor: ; 40654 (10:4654) +Pokedex_UnownModeEraseCursor: ld c, " " jr Pokedex_UnownModeUpdateCursorGfx -Pokedex_UnownModePlaceCursor: ; 40658 (10:4658) +Pokedex_UnownModePlaceCursor: ld a, [wDexCurrentUnownIndex] ld c, $5a ; diamond cursor -Pokedex_UnownModeUpdateCursorGfx: ; 4065d (10:465d) +Pokedex_UnownModeUpdateCursorGfx: ld e, a ld d, 0 ld hl, UnownModeLetterAndCursorCoords + 2 @@ -904,7 +904,7 @@ endr ld [hl], c ret -Pokedex_NextOrPreviousDexEntry: ; 4066c (10:466c) +Pokedex_NextOrPreviousDexEntry: ld a, [wDexListingCursor] ld [wBackupDexListingCursor], a ld a, [wDexListingScrollOffset] @@ -955,7 +955,7 @@ Pokedex_NextOrPreviousDexEntry: ; 4066c (10:466c) and a ret -Pokedex_ListingHandleDPadInput: ; 406c5 (10:46c5) +Pokedex_ListingHandleDPadInput: ; Handles D-pad input for a list of Pokémon. ld a, [wDexListingHeight] ld d, a @@ -979,7 +979,7 @@ Pokedex_ListingHandleDPadInput: ; 406c5 (10:46c5) jr nz, Pokedex_ListingMoveDownOnePage jr Pokedex_ListingPosStayedSame -Pokedex_ListingMoveCursorUp: ; 406ea (10:46ea) +Pokedex_ListingMoveCursorUp: ld hl, wDexListingCursor ld a, [hl] and a @@ -994,7 +994,7 @@ Pokedex_ListingMoveCursorUp: ; 406ea (10:46ea) dec [hl] jr Pokedex_ListingPosChanged -Pokedex_ListingMoveCursorDown: ; 406fe (10:46fe) +Pokedex_ListingMoveCursorDown: ld hl, wDexListingCursor ld a, [hl] inc a @@ -1012,7 +1012,7 @@ Pokedex_ListingMoveCursorDown: ; 406fe (10:46fe) inc [hl] jr Pokedex_ListingPosChanged -Pokedex_ListingMoveUpOnePage: ; 40716 (10:4716) +Pokedex_ListingMoveUpOnePage: ld hl, wDexListingScrollOffset ld a, [hl] and a @@ -1028,7 +1028,7 @@ Pokedex_ListingMoveUpOnePage: ; 40716 (10:4716) ld [hl], a jr Pokedex_ListingPosChanged -Pokedex_ListingMoveDownOnePage: ; 40728 (10:4728) +Pokedex_ListingMoveDownOnePage: ; When moving down a page, the return value always report a change in position. ld hl, wDexListingScrollOffset ld a, d @@ -1048,15 +1048,15 @@ Pokedex_ListingMoveDownOnePage: ; 40728 (10:4728) ld [hl], a jr Pokedex_ListingPosChanged -Pokedex_ListingPosStayedSame: ; 4073d (10:473d) +Pokedex_ListingPosStayedSame: and a ret -Pokedex_ListingPosChanged: ; 4073f (10:473f) +Pokedex_ListingPosChanged: scf ret -Pokedex_FillColumn: ; 40741 +Pokedex_FillColumn: ; Fills a column starting at HL, going downwards. ; B is the height of the column and A is the tile it's filled with. push de @@ -1070,7 +1070,7 @@ Pokedex_FillColumn: ; 40741 ret -Pokedex_DrawMainScreenBG: ; 4074c (10:474c) +Pokedex_DrawMainScreenBG: ; Draws the left sidebar and the bottom bar on the main screen. hlcoord 0, 17 ld de, String_START_SEARCH @@ -1127,17 +1127,17 @@ Pokedex_DrawMainScreenBG: ; 4074c (10:474c) call Pokedex_PlaceFrontpicTopLeftCorner ret -String_SEEN: ; 407e1 +String_SEEN: db "SEEN", -1 -String_OWN: ; 407e6 +String_OWN: db "OWN", -1 -String_SELECT_OPTION: ; 407ea +String_SELECT_OPTION: db $3b, $48, $49, $4a, $44, $45, $46, $47 ; SELECT > OPTION ; fallthrough -String_START_SEARCH: ; 407f2 +String_START_SEARCH: db $3c, $3b, $41, $42, $43, $4b, $4c, $4d, $4e, $3c, -1 ; START > SEARCH -Pokedex_DrawDexEntryScreenBG: ; 407fd +Pokedex_DrawDexEntryScreenBG: call Pokedex_FillBackgroundColor2 hlcoord 0, 0 lb bc, 15, 18 @@ -1169,16 +1169,16 @@ Pokedex_DrawDexEntryScreenBG: ; 407fd call Pokedex_PlaceFrontpicTopLeftCorner ret -.Unused: ; 4084f +.Unused: db $5c, $5d, -1 ; No. -.Height: ; 40852 +.Height: db "HT ?", $5e, "??", $5f, -1 ; HT ?'??" -.Weight: ; 4085c +.Weight: db "WT ???lb", -1 ; WT ???lb -.MenuItems: ; 40867 +.MenuItems: db $3b, " PAGE AREA CRY PRNT", -1 -Pokedex_DrawOptionScreenBG: ; 4087c (10:487c) +Pokedex_DrawOptionScreenBG: call Pokedex_FillBackgroundColor2 hlcoord 0, 2 lb bc, 8, 18 @@ -1200,19 +1200,19 @@ Pokedex_DrawOptionScreenBG: ; 4087c (10:487c) call PlaceString ret -.Title: ; 408b2 +.Title: db $3b, " OPTION ", $3c, -1 -.Modes: ; 408bd +.Modes: db "NEW #DEX MODE" next "OLD #DEX MODE" next "A to Z MODE" db "@" -.UnownMode: ; 408e5 +.UnownMode: db "UNOWN MODE@" -Pokedex_DrawSearchScreenBG: ; 408f0 (10:48f0) +Pokedex_DrawSearchScreenBG: call Pokedex_FillBackgroundColor2 hlcoord 0, 2 lb bc, 14, 18 @@ -1234,23 +1234,23 @@ Pokedex_DrawSearchScreenBG: ; 408f0 (10:48f0) call PlaceString ret -.Title: ; 4092a +.Title: db $3b, " SEARCH ", $3c, -1 -.TypeLeftRightArrows: ; 40935 +.TypeLeftRightArrows: db $3d, " ", $3e, -1 -.Types: ; 40940 +.Types: db "TYPE1" next "TYPE2" db "@" -.Menu: ; 4094c +.Menu: db "BEGIN SEARCH!!" next "CANCEL" db "@" -Pokedex_DrawSearchResultsScreenBG: ; 40962 (10:4962) +Pokedex_DrawSearchResultsScreenBG: call Pokedex_FillBackgroundColor2 hlcoord 0, 0 lb bc, 7, 7 @@ -1280,13 +1280,13 @@ Pokedex_DrawSearchResultsScreenBG: ; 40962 (10:4962) call Pokedex_PlaceFrontpicTopLeftCorner ret -.BottomWindowText: ; 409ae +.BottomWindowText: db "SEARCH RESULTS" next " TYPE" next " FOUND!" db "@" -Pokedex_PlaceSearchResultsTypeStrings: ; 409cf (10:49cf) +Pokedex_PlaceSearchResultsTypeStrings: ld a, [wDexSearchMonType1] hlcoord 0, 14 call Pokedex_PlaceTypeString @@ -1304,7 +1304,7 @@ Pokedex_PlaceSearchResultsTypeStrings: ; 409cf (10:49cf) .done ret -Pokedex_DrawUnownModeBG: ; 409f1 (10:49f1) +Pokedex_DrawUnownModeBG: call Pokedex_FillBackgroundColor2 hlcoord 2, 1 lb bc, 10, 13 @@ -1347,7 +1347,7 @@ endr ld [wDexUnownCount], a ret -UnownModeLetterAndCursorCoords: ; 40a3e +UnownModeLetterAndCursorCoords: ; entries correspond to Unown forms ; letter, cursor dwcoord 4,11, 3,11 ; A @@ -1377,16 +1377,16 @@ UnownModeLetterAndCursorCoords: ; 40a3e dwcoord 14, 9, 15, 9 ; Y dwcoord 14,10, 15,10 ; Z -Pokedex_FillBackgroundColor2: ; 40aa6 +Pokedex_FillBackgroundColor2: hlcoord 0, 0 ld a, $32 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call ByteFill ret -Pokedex_PlaceFrontpicTopLeftCorner: ; 40ab2 +Pokedex_PlaceFrontpicTopLeftCorner: hlcoord 1, 1 -Pokedex_PlaceFrontpicAtHL: ; 40ab5 +Pokedex_PlaceFrontpicAtHL: xor a ld b, $7 .row @@ -1407,7 +1407,7 @@ Pokedex_PlaceFrontpicAtHL: ; 40ab5 jr nz, .row ret -Pokedex_PlaceString: ; 40acd +Pokedex_PlaceString: .loop ld a, [de] cp -1 @@ -1417,7 +1417,7 @@ Pokedex_PlaceString: ; 40acd jr .loop -Pokedex_PlaceBorder: ; 40ad5 +Pokedex_PlaceBorder: push hl ld a, $33 ld [hli], a @@ -1449,7 +1449,7 @@ Pokedex_PlaceBorder: ; 40ad5 ld [hl], a ret -.FillRow: ; 40b06 +.FillRow: ld e, c .row_loop ld a, e @@ -1461,7 +1461,7 @@ Pokedex_PlaceBorder: ; 40ad5 jr .row_loop -Pokedex_PrintListing: ; 40b0f (10:4b0f) +Pokedex_PrintListing: ; Prints the list of Pokémon on the main Pokédex screen. ; This check is completely useless. @@ -1512,7 +1512,7 @@ Pokedex_PrintListing: ; 40b0f (10:4b0f) call Pokedex_LoadSelectedMonTiles ret -.PrintEntry: ; 40b55 (10:4b55) +.PrintEntry: ; Prints one entry in the list of Pokémon on the main Pokédex screen. and a ret z @@ -1526,7 +1526,7 @@ Pokedex_PrintListing: ; 40b0f (10:4b0f) call PlaceString ret -Pokedex_PrintNumberIfOldMode: ; 40b6a (10:4b6a) +Pokedex_PrintNumberIfOldMode: ld a, [wCurrentDexMode] cp DEXMODE_OLD jr z, .printnum @@ -1542,7 +1542,7 @@ Pokedex_PrintNumberIfOldMode: ; 40b6a (10:4b6a) pop hl ret -Pokedex_PlaceCaughtSymbolIfCaught: ; 40b82 (10:4b82) +Pokedex_PlaceCaughtSymbolIfCaught: call Pokedex_CheckCaught jr nz, .place_caught_symbol inc hl @@ -1553,7 +1553,7 @@ Pokedex_PlaceCaughtSymbolIfCaught: ; 40b82 (10:4b82) ld [hli], a ret -Pokedex_PlaceDefaultStringIfNotSeen: ; 40b8d (10:4b8d) +Pokedex_PlaceDefaultStringIfNotSeen: call Pokedex_CheckSeen ret nz inc hl @@ -1562,10 +1562,10 @@ Pokedex_PlaceDefaultStringIfNotSeen: ; 40b8d (10:4b8d) scf ret -.NameNotSeen: ; 40b9a +.NameNotSeen: db "-----@" -Pokedex_DrawFootprint: ; 40ba0 +Pokedex_DrawFootprint: hlcoord 18, 1 ld a, $62 ld [hli], a @@ -1579,7 +1579,7 @@ Pokedex_DrawFootprint: ; 40ba0 ret -Pokedex_GetSelectedMon: ; 40bb1 +Pokedex_GetSelectedMon: ; Gets the species of the currently selected Pokémon. This corresponds to the ; position of the cursor in the main listing, but this function can be used ; on all Pokédex screens. @@ -1595,7 +1595,7 @@ Pokedex_GetSelectedMon: ; 40bb1 ret -Pokedex_CheckCaught: ; 40bc4 (10:4bc4) +Pokedex_CheckCaught: push de push hl ld a, [wd265] @@ -1606,7 +1606,7 @@ Pokedex_CheckCaught: ; 40bc4 (10:4bc4) ret -Pokedex_CheckSeen: ; 40bd0 +Pokedex_CheckSeen: push de push hl ld a, [wd265] @@ -1618,7 +1618,7 @@ Pokedex_CheckSeen: ; 40bd0 -Pokedex_OrderMonsByMode: ; 40bdc +Pokedex_OrderMonsByMode: ld hl, wPokedexOrder ld bc, wPokedexOrderEnd - wPokedexOrder xor a @@ -1628,12 +1628,12 @@ Pokedex_OrderMonsByMode: ; 40bdc call Pokedex_LoadPointer jp hl -.Jumptable: ; 40bf0 (10:4bf0) +.Jumptable: dw .NewMode dw .OldMode dw Pokedex_ABCMode -.NewMode: ; 40bf6 (10:4bf6) +.NewMode: ld de, NewPokedexOrder ld hl, wPokedexOrder ld c, NUM_POKEMON @@ -1646,7 +1646,7 @@ Pokedex_OrderMonsByMode: ; 40bdc call .FindLastSeen ret -.OldMode: ; 40c08 (10:4c08) +.OldMode: ld hl, wPokedexOrder ld a, $1 ld c, NUM_POKEMON @@ -1658,7 +1658,7 @@ Pokedex_OrderMonsByMode: ; 40bdc call .FindLastSeen ret -.FindLastSeen: ; 40c18 (10:4c18) +.FindLastSeen: ld hl, wPokedexOrder + NUM_POKEMON - 1 ld d, NUM_POKEMON ld e, d @@ -1675,7 +1675,7 @@ Pokedex_OrderMonsByMode: ; 40bdc ld [wDexListingEnd], a ret -Pokedex_ABCMode: ; 40c30 +Pokedex_ABCMode: xor a ld [wDexListingEnd], a ld hl, wPokedexOrder @@ -1717,7 +1717,7 @@ INCLUDE "data/pokemon/dex_order_alpha.asm" INCLUDE "data/pokemon/dex_order_new.asm" -Pokedex_DisplayModeDescription: ; 40e5b +Pokedex_DisplayModeDescription: xor a ld [hBGMapMode], a hlcoord 0, 12 @@ -1734,29 +1734,29 @@ Pokedex_DisplayModeDescription: ; 40e5b ld [hBGMapMode], a ret -.Modes: ; 40e7d +.Modes: dw .NewMode dw .OldMode dw .ABCMode dw .UnownMode -.NewMode: ; 40e85 +.NewMode: db "<PK><MN> are listed by" next "evolution type.@" -.OldMode: ; 40ea6 +.OldMode: db "<PK><MN> are listed by" next "official type.@" -.ABCMode: ; 40ec6 +.ABCMode: db "<PK><MN> are listed" next "alphabetically.@" -.UnownMode: ; 40ee4 +.UnownMode: db "UNOWN are listed" next "in catching order.@" -Pokedex_DisplayChangingModesMessage: ; 40f08 (10:4f08) +Pokedex_DisplayChangingModesMessage: xor a ld [hBGMapMode], a hlcoord 0, 12 @@ -1775,11 +1775,11 @@ Pokedex_DisplayChangingModesMessage: ; 40f08 (10:4f08) call DelayFrames ret -String_ChangingModesPleaseWait: ; 40f32 +String_ChangingModesPleaseWait: db "Changing modes." next "Please wait.@" -Pokedex_UpdateSearchMonType: ; 40f4f (10:4f4f) +Pokedex_UpdateSearchMonType: ld a, [wDexArrowCursorPosIndex] cp 2 jr nc, .no_change @@ -1794,7 +1794,7 @@ Pokedex_UpdateSearchMonType: ; 40f4f (10:4f4f) and a ret -Pokedex_PrevSearchMonType: ; 40f65 +Pokedex_PrevSearchMonType: ld a, [wDexArrowCursorPosIndex] and a jr nz, .type2 @@ -1821,7 +1821,7 @@ Pokedex_PrevSearchMonType: ; 40f65 scf ret -Pokedex_NextSearchMonType: ; 40f84 +Pokedex_NextSearchMonType: ld a, [wDexArrowCursorPosIndex] and a jr nz, .type2 @@ -1850,7 +1850,7 @@ Pokedex_NextSearchMonType: ; 40f84 scf ret -Pokedex_PlaceSearchScreenTypeStrings: ; 40fa8 (10:4fa8) +Pokedex_PlaceSearchScreenTypeStrings: xor a ld [hBGMapMode], a hlcoord 9, 3 @@ -1867,7 +1867,7 @@ Pokedex_PlaceSearchScreenTypeStrings: ; 40fa8 (10:4fa8) ld [hBGMapMode], a ret -Pokedex_PlaceTypeString: ; 40fcd (10:4fcd) +Pokedex_PlaceTypeString: push hl ld e, a ld d, 0 @@ -1883,7 +1883,7 @@ endr INCLUDE "data/types/search_strings.asm" -Pokedex_SearchForMons: ; 41086 +Pokedex_SearchForMons: ld a, [wDexSearchMonType2] and a call nz, .Search @@ -1892,7 +1892,7 @@ Pokedex_SearchForMons: ; 41086 call nz, .Search ret -.Search: ; 41095 +.Search: dec a ld e, a ld d, 0 @@ -1960,7 +1960,7 @@ Pokedex_SearchForMons: ; 41086 INCLUDE "data/types/search_types.asm" -Pokedex_DisplayTypeNotFoundMessage: ; 41107 +Pokedex_DisplayTypeNotFoundMessage: xor a ld [hBGMapMode], a hlcoord 0, 12 @@ -1975,11 +1975,11 @@ Pokedex_DisplayTypeNotFoundMessage: ; 41107 call DelayFrames ret -.TypeNotFound: ; 41126 +.TypeNotFound: db "The specified type" next "was not found.@" -Pokedex_UpdateCursorOAM: ; 41148 (10:5148) +Pokedex_UpdateCursorOAM: ld a, [wCurrentDexMode] cp DEXMODE_OLD jp z, Pokedex_PutOldModeCursorOAM @@ -1987,7 +1987,7 @@ Pokedex_UpdateCursorOAM: ; 41148 (10:5148) call Pokedex_PutScrollbarOAM ret -Pokedex_PutOldModeCursorOAM: ; 41157 (10:5157) +Pokedex_PutOldModeCursorOAM: ld hl, .CursorOAM ld a, [wDexListingCursor] or a @@ -1997,7 +1997,7 @@ Pokedex_PutOldModeCursorOAM: ; 41157 (10:5157) call Pokedex_LoadCursorOAM ret -.CursorOAM: ; 41167 +.CursorOAM: dsprite 3, 0, 9, -1, $30, 7 dsprite 2, 0, 9, -1, $31, 7 dsprite 2, 0, 10, -1, $32, 7 @@ -2024,7 +2024,7 @@ Pokedex_PutOldModeCursorOAM: ; 41157 (10:5157) dsprite 4, 0, 20, -2, $30, 7 | X_FLIP | Y_FLIP db -1 -.CursorAtTopOAM: ; 411c8 +.CursorAtTopOAM: ; OAM data for when the cursor is at the top of the list. The tiles at the top ; are cut off so they don't show up outside the list area. dsprite 3, 0, 9, -1, $30, 7 @@ -2053,12 +2053,12 @@ Pokedex_PutOldModeCursorOAM: ; 41157 (10:5157) dsprite 4, 0, 20, -2, $30, 7 | X_FLIP | Y_FLIP db -1 -Pokedex_PutNewModeABCModeCursorOAM: ; 41229 (10:5229) +Pokedex_PutNewModeABCModeCursorOAM: ld hl, .CursorOAM call Pokedex_LoadCursorOAM ret -.CursorOAM: ; 41230 +.CursorOAM: dsprite 3, 3, 9, -1, $30, 7 dsprite 2, 3, 9, -1, $31, 7 dsprite 2, 3, 10, -1, $32, 7 @@ -2081,7 +2081,7 @@ Pokedex_PutNewModeABCModeCursorOAM: ; 41229 (10:5229) dsprite 4, 3, 19, 0, $30, 7 | X_FLIP | Y_FLIP db -1 -Pokedex_UpdateSearchResultsCursorOAM: ; 41281 (10:5281) +Pokedex_UpdateSearchResultsCursorOAM: ld a, [wCurrentDexMode] cp DEXMODE_OLD jp z, Pokedex_PutOldModeCursorOAM @@ -2089,7 +2089,7 @@ Pokedex_UpdateSearchResultsCursorOAM: ; 41281 (10:5281) call Pokedex_LoadCursorOAM ret -.CursorOAM: ; 41290 +.CursorOAM: dsprite 3, 3, 9, -1, $30, 7 dsprite 2, 3, 9, -1, $31, 7 dsprite 2, 3, 10, -1, $32, 7 @@ -2116,7 +2116,7 @@ Pokedex_UpdateSearchResultsCursorOAM: ; 41281 (10:5281) dsprite 4, 3, 20, -2, $30, 7 | X_FLIP | Y_FLIP db -1 -Pokedex_LoadCursorOAM: ; 412f1 (10:52f1) +Pokedex_LoadCursorOAM: ld de, wVirtualOAMSprite00 .loop ld a, [hl] @@ -2140,7 +2140,7 @@ Pokedex_LoadCursorOAM: ; 412f1 (10:52f1) inc de jr .loop -Pokedex_PutScrollbarOAM: ; 4130e (10:530e) +Pokedex_PutScrollbarOAM: ; Writes the OAM data for the scrollbar in the new mode and ABC mode. push de ld a, [wDexListingEnd] @@ -2186,14 +2186,14 @@ Pokedex_PutScrollbarOAM: ; 4130e (10:530e) ld [hl], $0 ret -Pokedex_InitArrowCursor: ; 4134f (10:534f) +Pokedex_InitArrowCursor: xor a ld [wDexArrowCursorPosIndex], a ld [wDexArrowCursorDelayCounter], a ld [wDexArrowCursorBlinkCounter], a ret -Pokedex_MoveArrowCursor: ; 4135a (10:535a) +Pokedex_MoveArrowCursor: ; bc = [de] - 1 ld a, [de] ld b, a @@ -2275,7 +2275,7 @@ Pokedex_MoveArrowCursor: ; 4135a (10:535a) ld [wDexArrowCursorPosIndex], a jr .update_cursor_pos -Pokedex_GetArrowCursorPos: ; 413d4 (10:53d4) +Pokedex_GetArrowCursorPos: ld a, [wDexArrowCursorPosIndex] add a ld l, a @@ -2286,7 +2286,7 @@ Pokedex_GetArrowCursorPos: ; 413d4 (10:53d4) ld l, a ret -Pokedex_BlinkArrowCursor: ; 413e0 (10:53e0) +Pokedex_BlinkArrowCursor: ld hl, wDexArrowCursorBlinkCounter ld a, [hl] inc [hl] @@ -2301,7 +2301,7 @@ Pokedex_BlinkArrowCursor: ; 413e0 (10:53e0) ld [hl], "▶" ret -Pokedex_ArrowCursorDelay: ; 413f5 (10:53f5) +Pokedex_ArrowCursorDelay: ; Updates the delay counter set when moving the arrow cursor. ; Returns whether the delay is active in carry. ld hl, wDexArrowCursorDelayCounter @@ -2313,10 +2313,10 @@ Pokedex_ArrowCursorDelay: ; 413f5 (10:53f5) scf ret -Pokedex_FillBox: ; 413fe (10:53fe) +Pokedex_FillBox: jp FillBoxWithByte -Pokedex_BlackOutBG: ; 41401 (10:5401) +Pokedex_BlackOutBG: ; Make BG palettes black so that the BG becomes all black. ld a, [rSVBK] push af @@ -2329,7 +2329,7 @@ Pokedex_BlackOutBG: ; 41401 (10:5401) pop af ld [rSVBK], a -Pokedex_ApplyPrintPals: ; 41415 +Pokedex_ApplyPrintPals: ld a, $ff call DmgToCgbBGPals ld a, $ff @@ -2337,11 +2337,11 @@ Pokedex_ApplyPrintPals: ; 41415 call DelayFrame ret -Pokedex_GetSGBLayout: ; 41423 +Pokedex_GetSGBLayout: ld b, a call GetSGBLayout -Pokedex_ApplyUsualPals: ; 41427 +Pokedex_ApplyUsualPals: ; This applies the palettes used for most Pokédex screens. ld a, $e4 call DmgToCgbBGPals @@ -2350,7 +2350,7 @@ Pokedex_ApplyUsualPals: ; 41427 ret -Pokedex_LoadPointer: ; 41432 +Pokedex_LoadPointer: ld e, a ld d, 0 add hl, de @@ -2360,7 +2360,7 @@ Pokedex_LoadPointer: ; 41432 ld l, a ret -Pokedex_LoadSelectedMonTiles: ; 4143b +Pokedex_LoadSelectedMonTiles: ; Loads the tiles of the currently selected Pokémon. call Pokedex_GetSelectedMon call Pokedex_CheckSeen @@ -2388,10 +2388,10 @@ Pokedex_LoadSelectedMonTiles: ; 4143b ret -Pokedex_LoadCurrentFootprint: ; 41478 (10:5478) +Pokedex_LoadCurrentFootprint: call Pokedex_GetSelectedMon -Pokedex_LoadAnyFootprint: ; 4147b +Pokedex_LoadAnyFootprint: ld a, [wd265] dec a and %11111000 @@ -2432,7 +2432,7 @@ Pokedex_LoadAnyFootprint: ; 4147b ret -Pokedex_LoadGFX: ; 414b7 +Pokedex_LoadGFX: call DisableLCD ld hl, vTiles2 ld bc, $31 tiles @@ -2462,12 +2462,12 @@ Pokedex_LoadGFX: ; 414b7 call EnableLCD ret -Pokedex_LoadInvertedFont: ; 414fb +Pokedex_LoadInvertedFont: call LoadStandardFont ld hl, vTiles1 ld bc, $80 tiles -Pokedex_InvertTiles: ; 41504 +Pokedex_InvertTiles: .loop ld a, [hl] xor $ff @@ -2478,13 +2478,13 @@ Pokedex_InvertTiles: ; 41504 jr nz, .loop ret -PokedexLZ: ; 4150e +PokedexLZ: INCBIN "gfx/pokedex/pokedex.2bpp.lz" -PokedexSlowpokeLZ: ; 416b0 +PokedexSlowpokeLZ: INCBIN "gfx/pokedex/slowpoke.2bpp.lz" -Pokedex_CheckSGB: ; 41a24 +Pokedex_CheckSGB: ld a, [hCGB] or a ret nz @@ -2492,7 +2492,7 @@ Pokedex_CheckSGB: ; 41a24 dec a ret -Pokedex_LoadUnownFont: ; 41a2c +Pokedex_LoadUnownFont: ld a, BANK(sScratch) call GetSRAMBank ld hl, UnownFont @@ -2510,7 +2510,7 @@ Pokedex_LoadUnownFont: ; 41a2c call CloseSRAM ret -Pokedex_LoadUnownFrontpicTiles: ; 41a58 (10:5a58) +Pokedex_LoadUnownFrontpicTiles: ld a, [wUnownLetter] push af ld a, [wDexCurrentUnownIndex] @@ -2529,7 +2529,7 @@ Pokedex_LoadUnownFrontpicTiles: ; 41a58 (10:5a58) ld [wUnownLetter], a ret -_NewPokedexEntry: ; 41a7f +_NewPokedexEntry: xor a ld [hBGMapMode], a farcall DrawDexEntryScreenRightEdge @@ -2562,21 +2562,21 @@ _NewPokedexEntry: ; 41a7f ret -Pokedex_SetBGMapMode3: ; 41ad7 (10:5ad7) +Pokedex_SetBGMapMode3: ld a, $3 ld [hBGMapMode], a ld c, 4 call DelayFrames ret -Pokedex_SetBGMapMode4: ; 41ae1 (10:5ae1) +Pokedex_SetBGMapMode4: ld a, $4 ld [hBGMapMode], a ld c, 4 call DelayFrames ret -Pokedex_SetBGMapMode_3ifDMG_4ifCGB: ; 41aeb (10:5aeb) +Pokedex_SetBGMapMode_3ifDMG_4ifCGB: ld a, [hCGB] and a jr z, .DMG @@ -2586,7 +2586,7 @@ Pokedex_SetBGMapMode_3ifDMG_4ifCGB: ; 41aeb (10:5aeb) ret -Pokedex_ResetBGMapMode: ; 41af7 +Pokedex_ResetBGMapMode: xor a ld [hBGMapMode], a ret diff --git a/engine/pokedex/pokedex_2.asm b/engine/pokedex/pokedex_2.asm index cca246ec7..21aea61b4 100644 --- a/engine/pokedex/pokedex_2.asm +++ b/engine/pokedex/pokedex_2.asm @@ -1,4 +1,4 @@ -AnimateDexSearchSlowpoke: ; 441cf +AnimateDexSearchSlowpoke: ld hl, .FrameIDs ld b, 25 .loop @@ -29,7 +29,7 @@ AnimateDexSearchSlowpoke: ; 441cf call DelayFrames ret -.FrameIDs: ; 441fc +.FrameIDs: ; frame ID, duration db 0, 7 db 1, 7 @@ -38,7 +38,7 @@ AnimateDexSearchSlowpoke: ; 441cf db 4, 7 db -2 -DoDexSearchSlowpokeFrame: ; 44207 +DoDexSearchSlowpokeFrame: ld a, [wDexSearchSlowpokeFrame] ld hl, .SlowpokeSpriteData ld de, wVirtualOAMSprite00 @@ -64,7 +64,7 @@ DoDexSearchSlowpokeFrame: ; 44207 inc de jr .loop -.SlowpokeSpriteData: ; 44228 +.SlowpokeSpriteData: dsprite 11, 0, 9, 0, $00, 0 dsprite 11, 0, 10, 0, $01, 0 dsprite 11, 0, 11, 0, $02, 0 @@ -76,7 +76,7 @@ DoDexSearchSlowpokeFrame: ; 44207 dsprite 13, 0, 11, 0, $22, 0 db -1 -DisplayDexEntry: ; 4424d +DisplayDexEntry: call GetPokemonName hlcoord 9, 3 call PlaceString ; mon species @@ -211,11 +211,11 @@ DisplayDexEntry: ; 4424d call FarString ret -UnreferencedPOKeString: ; 44331 +UnreferencedPOKeString: ; unused db "#@" -GetDexEntryPointer: ; 44333 +GetDexEntryPointer: ; return dex entry pointer b:de push hl ld hl, PokedexDataPointerTable @@ -247,8 +247,8 @@ GetDexEntryPointer: ; 44333 db BANK("Pokedex Entries 129-192") db BANK("Pokedex Entries 193-251") -GetDexEntryPagePointer: ; 44355 - call GetDexEntryPointer ; b:de +GetDexEntryPagePointer: + call GetDexEntryPointer push hl ld h, d ld l, e diff --git a/engine/pokedex/pokedex_3.asm b/engine/pokedex/pokedex_3.asm index 51399f434..d11c18fc6 100644 --- a/engine/pokedex/pokedex_3.asm +++ b/engine/pokedex/pokedex_3.asm @@ -1,29 +1,29 @@ -LoadSGBPokedexGFX: ; 1ddf1c +LoadSGBPokedexGFX: ld hl, SGBPokedexGFX_LZ ld de, vTiles2 tile $31 call Decompress ret -LoadSGBPokedexGFX2: ; 1ddf26 (77:5f26) +LoadSGBPokedexGFX2: ld hl, SGBPokedexGFX_LZ ld de, vTiles2 tile $31 lb bc, BANK(SGBPokedexGFX_LZ), 58 call DecompressRequest2bpp ret -SGBPokedexGFX_LZ: ; 1ddf33 +SGBPokedexGFX_LZ: INCBIN "gfx/pokedex/sgb.2bpp.lz" -LoadQuestionMarkPic: ; 1de0d7 +LoadQuestionMarkPic: ld hl, .QuestionMarkLZ ld de, sScratch call Decompress ret -.QuestionMarkLZ: ; 1de0e1 +.QuestionMarkLZ: INCBIN "gfx/pokedex/question_mark.2bpp.lz" -DrawPokedexListWindow: ; 1de171 (77:6171) +DrawPokedexListWindow: ld a, $32 hlcoord 0, 17 ld bc, 12 @@ -68,7 +68,7 @@ DrawPokedexListWindow: ; 1de171 (77:6171) .Done: ret -DrawPokedexSearchResultsWindow: ; 1de1d1 (77:61d1) +DrawPokedexSearchResultsWindow: ld a, $34 hlcoord 0, 0 ld bc, 11 @@ -111,14 +111,14 @@ DrawPokedexSearchResultsWindow: ; 1de1d1 (77:61d1) call PlaceString ret -.esults_D ; 1de23c +.esults_D ; (SEARCH R) db "ESULTS" next "" ; (### FOUN) next "D!@" -DrawDexEntryScreenRightEdge: ; 1de247 +DrawDexEntryScreenRightEdge: ld a, [hBGMapAddress] ld l, a ld a, [hBGMapAddress + 1] @@ -150,7 +150,7 @@ DrawDexEntryScreenRightEdge: ; 1de247 ld [hBGMapAddress + 1], a ret -Bank77_FillColumn: ; 1de27f +Bank77_FillColumn: push de ld de, SCREEN_WIDTH .loop diff --git a/engine/pokedex/unown_dex.asm b/engine/pokedex/unown_dex.asm index a35a266b7..93f9d3d81 100644 --- a/engine/pokedex/unown_dex.asm +++ b/engine/pokedex/unown_dex.asm @@ -1,4 +1,4 @@ -UpdateUnownDex: ; fba18 +UpdateUnownDex: ld a, [wUnownLetter] ld c, a ld b, NUM_UNOWN @@ -17,9 +17,8 @@ UpdateUnownDex: ; fba18 dec hl ld [hl], c ret -; fba2e -PrintUnownWord: ; fba2e (3e:7a2e) +PrintUnownWord: hlcoord 4, 15 ld bc, 12 ld a, " " @@ -46,7 +45,6 @@ PrintUnownWord: ; fba2e (3e:7a2e) inc de ld [hli], a jr .loop -; fba5a (3e:7a5a) INCLUDE "data/pokemon/unown_words.asm" diff --git a/engine/pokegear/pokegear.asm b/engine/pokegear/pokegear.asm index aabc4262f..4bea5fbd5 100644 --- a/engine/pokegear/pokegear.asm +++ b/engine/pokegear/pokegear.asm @@ -22,7 +22,7 @@ NUM_POKEGEAR_CARDS EQU const_value const POKEGEARSTATE_RADIOINIT ; b const POKEGEARSTATE_RADIOJOYPAD ; c -PokeGear: ; 90b8d (24:4b8d) +PokeGear: ld hl, wOptions ld a, [hl] push af @@ -68,7 +68,7 @@ PokeGear: ; 90b8d (24:4b8d) call ExitPokegearRadio_HandleMusic ret -.InitTilemap: ; 90bea (24:4bea) +.InitTilemap: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -109,7 +109,7 @@ PokeGear: ; 90b8d (24:4b8d) call DmgToCgbObjPal0 ret -Pokegear_LoadGFX: ; 90c4e +Pokegear_LoadGFX: call ClearVBank1 ld hl, TownMapGFX ld de, vTiles2 @@ -157,13 +157,11 @@ Pokegear_LoadGFX: ; 90c4e call CopyBytes ret -; 90cb2 -FastShipGFX: ; 90cb2 +FastShipGFX: INCBIN "gfx/pokegear/fast_ship.2bpp" -; 90d32 -InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32) +InitPokegearModeIndicatorArrow: depixel 4, 2, 4, 0 ld a, SPRITE_ANIM_INDEX_POKEGEAR_ARROW call _InitSpriteAnimStruct @@ -172,7 +170,7 @@ InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32) ld [hl], $0 ret -AnimatePokegearModeIndicatorArrow: ; 90d41 (24:4d41) +AnimatePokegearModeIndicatorArrow: ld hl, wPokegearCard ld e, [hl] ld d, 0 @@ -184,16 +182,14 @@ AnimatePokegearModeIndicatorArrow: ; 90d41 (24:4d41) ld [hl], a ret -; 90d52 (24:4d52) -.XCoords: ; 90d52 +.XCoords: db $00 ; POKEGEARCARD_CLOCK db $10 ; POKEGEARCARD_MAP db $20 ; POKEGEARCARD_PHONE db $30 ; POKEGEARCARD_RADIO -; 90d56 -TownMap_GetCurrentLandmark: ; 90d56 +TownMap_GetCurrentLandmark: ld a, [wMapGroup] ld b, a ld a, [wMapNumber] @@ -208,9 +204,8 @@ TownMap_GetCurrentLandmark: ; 90d56 call GetWorldMapLocation ret -; 90d70 -TownMap_InitCursorAndPlayerIconPositions: ; 90d70 (24:4d70) +TownMap_InitCursorAndPlayerIconPositions: ld a, [wMapGroup] ld b, a ld a, [wMapNumber] @@ -236,14 +231,14 @@ TownMap_InitCursorAndPlayerIconPositions: ; 90d70 (24:4d70) ld [wPokegearMapCursorLandmark], a ret -Pokegear_InitJumptableIndices: ; 90d9e (24:4d9e) +Pokegear_InitJumptableIndices: ld a, POKEGEARSTATE_CLOCKINIT ld [wJumptableIndex], a xor a ; POKEGEARCARD_CLOCK ld [wPokegearCard], a ret -InitPokegearTilemap: ; 90da8 (24:4da8) +InitPokegearTilemap: xor a ld [hBGMapMode], a hlcoord 0, 0 @@ -294,7 +289,7 @@ InitPokegearTilemap: ; 90da8 (24:4da8) ld [wPokegearMapRegion], a ret -.UpdateBGMap: ; 90e00 (24:4e00) +.UpdateBGMap: ld a, [hCGB] and a jr z, .dmg @@ -306,17 +301,15 @@ InitPokegearTilemap: ; 90da8 (24:4da8) call WaitBGMap ret -; 90e12 (24:4e12) -.Jumptable: ; 90e12 +.Jumptable: ; entries correspond to POKEGEARCARD_* constants dw .Clock dw .Map dw .Phone dw .Radio -; 90e1a -.Clock: ; 90e1a +.Clock: ld de, ClockTilemapRLE call Pokegear_LoadTilemapRLE hlcoord 12, 1 @@ -328,13 +321,11 @@ InitPokegearTilemap: ; 90da8 (24:4da8) call Pokegear_UpdateClock ret -; 90e36 (24:4e36) .switch db " SWITCH▶@" -; 90e3f -.Map: ; 90e3f +.Map: ld a, [wPokegearMapPlayerIconLandmark] cp FAST_SHIP jr z, .johto @@ -360,9 +351,8 @@ InitPokegearTilemap: ; 90da8 (24:4da8) call PokegearMap_UpdateLandmarkName ret -; 90e72 -.Radio: ; 90e72 +.Radio: ld de, RadioTilemapRLE call Pokegear_LoadTilemapRLE hlcoord 0, 12 @@ -370,9 +360,8 @@ InitPokegearTilemap: ; 90da8 (24:4da8) call TextBox ret -; 90e82 -.Phone: ; 90e82 +.Phone: ld de, PhoneTilemapRLE call Pokegear_LoadTilemapRLE hlcoord 0, 12 @@ -382,9 +371,8 @@ InitPokegearTilemap: ; 90da8 (24:4da8) call PokegearPhone_UpdateDisplayList ret -; 90e98 -.PlacePhoneBars: ; 90e98 (24:4e98) +.PlacePhoneBars: hlcoord 17, 1 ld a, $3c ld [hli], a @@ -400,7 +388,7 @@ InitPokegearTilemap: ; 90da8 (24:4da8) ld [hl], $3f ret -Pokegear_FinishTilemap: ; 90eb0 (24:4eb0) +Pokegear_FinishTilemap: hlcoord 0, 0 ld bc, $8 ld a, $4f @@ -424,20 +412,20 @@ Pokegear_FinishTilemap: ; 90eb0 (24:4eb0) call .PlacePokegearCardIcon ret -.PlaceMapIcon: ; 90ee4 (24:4ee4) +.PlaceMapIcon: hlcoord 2, 0 ld a, $40 jr .PlacePokegearCardIcon -.PlacePhoneIcon: ; 90eeb (24:4eeb) +.PlacePhoneIcon: hlcoord 4, 0 ld a, $44 jr .PlacePokegearCardIcon -.PlaceRadioIcon: ; 90ef2 (24:4ef2) +.PlaceRadioIcon: hlcoord 6, 0 ld a, $42 -.PlacePokegearCardIcon: ; 90ef7 (24:4ef7) +.PlacePokegearCardIcon: ld [hli], a inc a ld [hld], a @@ -449,7 +437,7 @@ Pokegear_FinishTilemap: ; 90eb0 (24:4eb0) ld [hld], a ret -PokegearJumptable: ; 90f04 (24:4f04) +PokegearJumptable: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -461,7 +449,7 @@ PokegearJumptable: ; 90f04 (24:4f04) ld l, a jp hl -.Jumptable: ; 90f13 (24:4f13) +.Jumptable: ; entries correspond to POKEGEARSTATE_* constants dw PokegearClock_Init dw PokegearClock_Joypad @@ -477,7 +465,7 @@ PokegearJumptable: ; 90f04 (24:4f04) dw PokegearRadio_Init dw PokegearRadio_Joypad -PokegearClock_Init: ; 90f2d (24:4f2d) +PokegearClock_Init: call InitPokegearTilemap ld hl, PokegearText_PressAnyButtonToExit call PrintText @@ -486,7 +474,7 @@ PokegearClock_Init: ; 90f2d (24:4f2d) call ExitPokegearRadio_HandleMusic ret -PokegearClock_Joypad: ; 90f3e (24:4f3e) +PokegearClock_Joypad: call .UpdateClock ld hl, hJoyLast ld a, [hl] @@ -525,7 +513,7 @@ PokegearClock_Joypad: ; 90f3e (24:4f3e) set 7, [hl] ret -.UpdateClock: ; 90f7b (24:4f7b) +.UpdateClock: xor a ld [hBGMapMode], a call Pokegear_UpdateClock @@ -533,7 +521,7 @@ PokegearClock_Joypad: ; 90f3e (24:4f3e) ld [hBGMapMode], a ret -Pokegear_UpdateClock: ; 90f86 (24:4f86) +Pokegear_UpdateClock: hlcoord 3, 5 lb bc, 5, 14 call ClearBox @@ -548,7 +536,6 @@ Pokegear_UpdateClock: ; 90f86 (24:4f86) call PlaceHLTextAtBC ret -; 90fa8 (24:4fa8) db "ごぜん@" db "ごご@" @@ -558,7 +545,7 @@ Pokegear_UpdateClock: ; 90f86 (24:4f86) ; 0x90fb4 -PokegearMap_CheckRegion: ; 90fb4 (24:4fb4) +PokegearMap_CheckRegion: ld a, [wPokegearMapPlayerIconLandmark] cp FAST_SHIP jr z, .johto @@ -576,7 +563,7 @@ PokegearMap_CheckRegion: ; 90fb4 (24:4fb4) call ExitPokegearRadio_HandleMusic ret -PokegearMap_Init: ; 90fcd (24:4fcd) +PokegearMap_Init: call InitPokegearTilemap ld a, [wPokegearMapPlayerIconLandmark] call PokegearMap_InitPlayerIcon @@ -590,14 +577,14 @@ PokegearMap_Init: ; 90fcd (24:4fcd) inc [hl] ret -PokegearMap_KantoMap: ; 90fe9 (24:4fe9) +PokegearMap_KantoMap: call TownMap_GetKantoLandmarkLimits jr PokegearMap_ContinueMap -PokegearMap_JohtoMap: ; 90fee (24:4fee) +PokegearMap_JohtoMap: ld d, SILVER_CAVE ld e, NEW_BARK_TOWN -PokegearMap_ContinueMap: ; 90ff2 (24:4ff2) +PokegearMap_ContinueMap: ld hl, hJoyLast ld a, [hl] and B_BUTTON @@ -639,7 +626,7 @@ PokegearMap_ContinueMap: ; 90ff2 (24:4ff2) set 7, [hl] ret -.DPad: ; 9102f (24:502f) +.DPad: ld hl, hJoyLast ld a, [hl] and D_UP @@ -682,7 +669,7 @@ PokegearMap_ContinueMap: ; 90ff2 (24:4ff2) call PokegearMap_UpdateCursorPosition ret -PokegearMap_InitPlayerIcon: ; 9106a +PokegearMap_InitPlayerIcon: push af depixel 0, 0 ld b, SPRITE_ANIM_INDEX_RED_WALK @@ -709,9 +696,8 @@ PokegearMap_InitPlayerIcon: ; 9106a ld [hl], d ret -; 91098 -PokegearMap_InitCursor: ; 91098 +PokegearMap_InitCursor: push af depixel 0, 0 ld a, SPRITE_ANIM_INDEX_POKEGEAR_ARROW @@ -728,9 +714,8 @@ PokegearMap_InitCursor: ; 91098 pop bc ret -; 910b4 -PokegearMap_UpdateLandmarkName: ; 910b4 +PokegearMap_UpdateLandmarkName: push af hlcoord 8, 0 lb bc, 2, 12 @@ -745,9 +730,8 @@ PokegearMap_UpdateLandmarkName: ; 910b4 ld [hl], $34 ret -; 910d4 -PokegearMap_UpdateCursorPosition: ; 910d4 +PokegearMap_UpdateCursorPosition: push bc ld e, a farcall GetLandmarkCoords @@ -760,9 +744,8 @@ PokegearMap_UpdateCursorPosition: ; 910d4 ld [hl], d ret -; 910e8 -TownMap_GetKantoLandmarkLimits: ; 910e8 +TownMap_GetKantoLandmarkLimits: ld a, [wStatusFlags] bit STATUSFLAGS_HALL_OF_FAME_F, a jr z, .not_hof @@ -775,9 +758,8 @@ TownMap_GetKantoLandmarkLimits: ; 910e8 ld e, VICTORY_ROAD ret -; 910f9 -PokegearRadio_Init: ; 910f9 (24:50f9) +PokegearRadio_Init: call InitPokegearTilemap depixel 4, 10, 4, 4 ld a, SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB @@ -790,7 +772,7 @@ PokegearRadio_Init: ; 910f9 (24:50f9) inc [hl] ret -PokegearRadio_Joypad: ; 91112 (24:5112) +PokegearRadio_Joypad: ld hl, hJoyLast ld a, [hl] and B_BUTTON @@ -836,7 +818,7 @@ PokegearRadio_Joypad: ; 91112 (24:5112) set 7, [hl] ret -PokegearPhone_Init: ; 91156 (24:5156) +PokegearPhone_Init: ld hl, wJumptableIndex inc [hl] xor a @@ -849,7 +831,7 @@ PokegearPhone_Init: ; 91156 (24:5156) call PrintText ret -PokegearPhone_Joypad: ; 91171 (24:5171) +PokegearPhone_Joypad: ld hl, hJoyPressed ld a, [hl] and B_BUTTON @@ -925,7 +907,7 @@ PokegearPhone_Joypad: ; 91171 (24:5171) ld [wJumptableIndex], a ret -PokegearPhone_MakePhoneCall: ; 911eb (24:51eb) +PokegearPhone_MakePhoneCall: call GetMapPhoneService and a jr nz, .no_service @@ -967,7 +949,6 @@ PokegearPhone_MakePhoneCall: ; 911eb (24:51eb) call PrintText ret -; 9124c (24:524c) .dotdotdot ; 0x9124c ; @@ -983,7 +964,7 @@ PokegearPhone_MakePhoneCall: ; 911eb (24:51eb) ; 0x91256 -PokegearPhone_FinishPhoneCall: ; 91256 (24:5256) +PokegearPhone_FinishPhoneCall: ld a, [hJoyPressed] and A_BUTTON | B_BUTTON ret z @@ -994,7 +975,7 @@ PokegearPhone_FinishPhoneCall: ; 91256 (24:5256) call PrintText ret -PokegearPhone_GetDPad: ; 9126d (24:526d) +PokegearPhone_GetDPad: ld hl, hJoyLast ld a, [hl] and D_UP @@ -1050,7 +1031,7 @@ PokegearPhone_GetDPad: ; 9126d (24:526d) call WaitBGMap ret -PokegearPhone_UpdateCursor: ; 912b7 (24:52b7) +PokegearPhone_UpdateCursor: ld a, " " hlcoord 1, 4 ld [hl], a @@ -1067,7 +1048,7 @@ PokegearPhone_UpdateCursor: ; 912b7 (24:52b7) ld [hl], "▶" ret -PokegearPhone_UpdateDisplayList: ; 912d8 (24:52d8) +PokegearPhone_UpdateDisplayList: hlcoord 1, 3 ld b, 9 ld a, " " @@ -1110,9 +1091,8 @@ PokegearPhone_UpdateDisplayList: ; 912d8 (24:52d8) call PokegearPhone_UpdateCursor ret -; 9131e (24:531e) -PokegearPhone_DeletePhoneNumber: ; 9131e +PokegearPhone_DeletePhoneNumber: ld hl, wPhoneList ld a, [wPokegearPhoneScrollPosition] ld e, a @@ -1137,9 +1117,8 @@ PokegearPhone_DeletePhoneNumber: ; 9131e jr nz, .loop ret -; 91342 -PokegearPhoneContactSubmenu: ; 91342 (24:5342) +PokegearPhoneContactSubmenu: ld hl, wPhoneList ld a, [wPokegearPhoneScrollPosition] ld e, a @@ -1248,15 +1227,14 @@ PokegearPhoneContactSubmenu: ; 91342 (24:5342) ld l, a jp hl -.Cancel: ; 913f1 +.Cancel: ld hl, PokegearText_WhomToCall call PrintText scf ret -; 913f9 (24:53f9) -.Delete: ; 913f9 +.Delete: ld hl, PokegearText_DeleteStoredNumber call MenuTextBox call YesNoBox @@ -1273,15 +1251,13 @@ PokegearPhoneContactSubmenu: ; 91342 (24:5342) scf ret -; 9141b -.Call: ; 9141b +.Call: and a ret -; 9141d -.UpdateCursor: ; 9141d (24:541d) +.UpdateCursor: push de ld a, [de] inc de @@ -1307,37 +1283,32 @@ PokegearPhoneContactSubmenu: ; 91342 (24:5342) pop de ret -; 9143f (24:543f) -.CallDeleteCancelStrings: ; 9143f +.CallDeleteCancelStrings: dwcoord 10, 6 db 3 db "CALL" next "DELETE" next "CANCEL" db "@" -; 91455 -.CallDeleteCancelJumptable: ; 91455 +.CallDeleteCancelJumptable: dw .Call dw .Delete dw .Cancel -; 9145b -.CallCancelStrings: ; 9145b +.CallCancelStrings: dwcoord 10, 8 db 2 db "CALL" next "CANCEL" db "@" -; 9146a -.CallCancelJumptable: ; 9146a +.CallCancelJumptable: dw .Call dw .Cancel -; 9146e ; unused ld a, [hHours] @@ -1353,9 +1324,8 @@ PokegearPhoneContactSubmenu: ; 91342 (24:5342) and a ret -; 91480 -Pokegear_SwitchPage: ; 91480 (24:5480) +Pokegear_SwitchPage: ld de, SFX_READ_TEXT_2 call PlaySFX ld a, c @@ -1365,7 +1335,7 @@ Pokegear_SwitchPage: ; 91480 (24:5480) call DeleteSpriteAnimStruct2ToEnd ret -ExitPokegearRadio_HandleMusic: ; 91492 +ExitPokegearRadio_HandleMusic: ld a, [wPokegearRadioMusicPlaying] cp RESTART_MAP_MUSIC jr z, .restart_map_music @@ -1381,9 +1351,8 @@ ExitPokegearRadio_HandleMusic: ; 91492 ld [wPokegearRadioMusicPlaying], a ret -; 914ab -DeleteSpriteAnimStruct2ToEnd: ; 914ab (24:54ab) +DeleteSpriteAnimStruct2ToEnd: ld hl, wSpriteAnim2 ld bc, wSpriteAnimationStructsEnd - wSpriteAnim2 xor a @@ -1392,7 +1361,7 @@ DeleteSpriteAnimStruct2ToEnd: ; 914ab (24:54ab) ld [wSpriteAnimCount], a ret -Pokegear_LoadTilemapRLE: ; 914bb (24:54bb) +Pokegear_LoadTilemapRLE: ; Format: repeat count, tile ID ; Terminated with -1 hlcoord 0, 0 @@ -1412,7 +1381,6 @@ Pokegear_LoadTilemapRLE: ; 914bb (24:54bb) jr nz, .load jr .loop -; 914ce (24:54ce) PokegearText_WhomToCall: ; 0x914ce ; Whom do you want to call? @@ -1435,24 +1403,22 @@ PokegearText_DeleteStoredNumber: ; 0x914d8 ; 0x914dd -PokegearSpritesGFX: ; 914dd +PokegearSpritesGFX: INCBIN "gfx/pokegear/pokegear_sprites.2bpp.lz" -; 9150d -RadioTilemapRLE: ; 9150d +RadioTilemapRLE: INCBIN "gfx/pokegear/radio.tilemap.rle" -PhoneTilemapRLE: ; 9158a +PhoneTilemapRLE: INCBIN "gfx/pokegear/phone.tilemap.rle" -ClockTilemapRLE: ; 915db +ClockTilemapRLE: INCBIN "gfx/pokegear/clock.tilemap.rle" -; 9163e -_UpdateRadioStation: ; 9163e (24:563e) +_UpdateRadioStation: jr UpdateRadioStation ; called from engine/sprite_anims.asm -AnimateTuningKnob: ; 91640 (24:5640) +AnimateTuningKnob: push bc call .TuningKnob pop bc @@ -1462,7 +1428,7 @@ AnimateTuningKnob: ; 91640 (24:5640) ld [hl], a ret -.TuningKnob: ; 9164e (24:564e) +.TuningKnob: ld hl, hJoyLast ld a, [hl] and D_DOWN @@ -1489,7 +1455,7 @@ AnimateTuningKnob: ; 91640 (24:5640) inc [hl] inc [hl] .update -UpdateRadioStation: ; 9166f (24:566f) +UpdateRadioStation: ld hl, wRadioTuningKnob ld d, [hl] ld hl, RadioChannels @@ -1527,7 +1493,6 @@ UpdateRadioStation: ; 9166f (24:566f) ld [hBGMapMode], a ret -; 916a1 (24:56a1) ; unused ld [wPokegearRadioChannelBank], a @@ -1537,7 +1502,6 @@ UpdateRadioStation: ; 9166f (24:566f) ld [wPokegearRadioChannelAddr + 1], a ret -; 916ad RadioChannels: ; entries correspond to constants/radio_constants.asm @@ -1646,7 +1610,7 @@ RadioChannels: scf ret -LoadStation_OaksPokemonTalk: ; 91753 (24:5753) +LoadStation_OaksPokemonTalk: xor a ; OAKS_POKEMON_TALK ld [wCurrentRadioLine], a ld [wNumRadioLinesPrinted], a @@ -1656,7 +1620,7 @@ LoadStation_OaksPokemonTalk: ; 91753 (24:5753) ld de, OaksPKMNTalkName ret -LoadStation_PokedexShow: ; 91766 (24:5766) +LoadStation_PokedexShow: ld a, POKEDEX_SHOW ld [wCurrentRadioLine], a xor a @@ -1667,7 +1631,7 @@ LoadStation_PokedexShow: ; 91766 (24:5766) ld de, PokedexShowName ret -LoadStation_PokemonMusic: ; 9177b (24:577b) +LoadStation_PokemonMusic: ld a, POKEMON_MUSIC ld [wCurrentRadioLine], a xor a @@ -1678,7 +1642,7 @@ LoadStation_PokemonMusic: ; 9177b (24:577b) ld de, PokemonMusicName ret -LoadStation_LuckyChannel: ; 91790 (24:5790) +LoadStation_LuckyChannel: ld a, LUCKY_CHANNEL ld [wCurrentRadioLine], a xor a @@ -1689,7 +1653,7 @@ LoadStation_LuckyChannel: ; 91790 (24:5790) ld de, LuckyChannelName ret -LoadStation_BuenasPassword: ; 917a5 (24:57a5) +LoadStation_BuenasPassword: ld a, BUENAS_PASSWORD ld [wCurrentRadioLine], a xor a @@ -1704,12 +1668,11 @@ LoadStation_BuenasPassword: ; 917a5 (24:57a5) ld de, BuenasPasswordName ret -; 917c3 (24:57c3) BuenasPasswordName: db "BUENA'S PASSWORD@" NotBuenasPasswordName: db "@" -LoadStation_UnownRadio: ; 917d5 (24:57d5) +LoadStation_UnownRadio: ld a, UNOWN_RADIO ld [wCurrentRadioLine], a xor a @@ -1720,7 +1683,7 @@ LoadStation_UnownRadio: ; 917d5 (24:57d5) ld de, UnownStationName ret -LoadStation_PlacesAndPeople: ; 917ea (24:57ea) +LoadStation_PlacesAndPeople: ld a, PLACES_AND_PEOPLE ld [wCurrentRadioLine], a xor a @@ -1731,7 +1694,7 @@ LoadStation_PlacesAndPeople: ; 917ea (24:57ea) ld de, PlacesAndPeopleName ret -LoadStation_LetsAllSing: ; 917ff (24:57ff) +LoadStation_LetsAllSing: ld a, LETS_ALL_SING ld [wCurrentRadioLine], a xor a @@ -1742,9 +1705,8 @@ LoadStation_LetsAllSing: ; 917ff (24:57ff) ld de, LetsAllSingName ret -; 91814 (24:5814) -LoadStation_RocketRadio: ; 91814 +LoadStation_RocketRadio: ld a, ROCKET_RADIO ld [wCurrentRadioLine], a xor a @@ -1755,9 +1717,8 @@ LoadStation_RocketRadio: ; 91814 ld de, LetsAllSingName ret -; 91829 -LoadStation_PokeFluteRadio: ; 91829 (24:5829) +LoadStation_PokeFluteRadio: ld a, POKE_FLUTE_RADIO ld [wCurrentRadioLine], a xor a @@ -1768,7 +1729,7 @@ LoadStation_PokeFluteRadio: ; 91829 (24:5829) ld de, PokeFluteStationName ret -LoadStation_EvolutionRadio: ; 9183e (24:583e) +LoadStation_EvolutionRadio: ld a, EVOLUTION_RADIO ld [wCurrentRadioLine], a xor a @@ -1779,12 +1740,11 @@ LoadStation_EvolutionRadio: ; 9183e (24:583e) ld de, UnownStationName ret -; 91853 (24:5853) -Unreferenced_LoadStation: ; 91853 +Unreferenced_LoadStation: ret -RadioMusicRestartDE: ; 91854 (24:5854) +RadioMusicRestartDE: push de ld a, e ld [wPokegearRadioMusicPlaying], a @@ -1796,7 +1756,7 @@ RadioMusicRestartDE: ; 91854 (24:5854) call PlayMusic ret -RadioMusicRestartPokemonChannel: ; 91868 (24:5868) +RadioMusicRestartPokemonChannel: push de ld a, RESTART_MAP_MUSIC ld [wPokegearRadioMusicPlaying], a @@ -1807,7 +1767,7 @@ RadioMusicRestartPokemonChannel: ; 91868 (24:5868) call PlayMusic ret -Radio_BackUpFarCallParams: ; 9187c (24:587c) +Radio_BackUpFarCallParams: ld [wPokegearRadioChannelBank], a ld a, l ld [wPokegearRadioChannelAddr], a @@ -1815,7 +1775,7 @@ Radio_BackUpFarCallParams: ; 9187c (24:587c) ld [wPokegearRadioChannelAddr + 1], a ret -NoRadioStation: ; 91888 (24:5888) +NoRadioStation: call NoRadioMusic call NoRadioName xor a @@ -1826,14 +1786,14 @@ NoRadioStation: ; 91888 (24:5888) ld [hBGMapMode], a ret -NoRadioMusic: ; 9189d (24:589d) +NoRadioMusic: ld de, MUSIC_NONE call PlayMusic ld a, ENTER_MAP_MUSIC ld [wPokegearRadioMusicPlaying], a ret -NoRadioName: ; 918a9 (24:58a9) +NoRadioName: xor a ld [hBGMapMode], a hlcoord 1, 8 @@ -1844,7 +1804,6 @@ NoRadioName: ; 918a9 (24:58a9) call TextBox ret -; 918bf OaksPKMNTalkName: db "OAK's <PK><MN> Talk@" PokedexShowName: db "#DEX Show@" @@ -1855,9 +1814,8 @@ UnownStationName: db "?????@" PlacesAndPeopleName: db "Places & People@" LetsAllSingName: db "Let's All Sing!@" PokeFluteStationName: db "# FLUTE@" -; 9191c -_TownMap: ; 9191c +_TownMap: ld hl, wOptions ld a, [hl] push af @@ -1990,9 +1948,8 @@ _TownMap: ; 9191c call PokegearMap_UpdateCursorPosition pop de jr .loop2 -; 91a04 -.InitTilemap: ; 91a04 +.InitTilemap: ld a, [wTownMapPlayerIconLandmark] cp KANTO_LANDMARK jr nc, .kanto2 @@ -2025,9 +1982,8 @@ _TownMap: ; 9191c call PokegearMap_UpdateLandmarkName farcall TownMapPals ret -; 91a53 -PlayRadio: ; 91a53 +PlayRadio: ld hl, wOptions ld a, [hl] push af @@ -2058,9 +2014,8 @@ PlayRadio: ; 91a53 call ExitPokegearRadio_HandleMusic ret -; 91a87 -.PlayStation: ; 91a87 +.PlayStation: ld a, ENTER_MAP_MUSIC ld [wPokegearRadioMusicPlaying], a ld hl, .StationPointers @@ -2090,9 +2045,8 @@ PlayRadio: ; 91a53 call WaitBGMap ret -; 91ab9 -.StationPointers: ; 91ab9 +.StationPointers: ; entries correspond to MAPRADIO_* constants dw .OakOrPnP dw LoadStation_OaksPokemonTalk @@ -2104,9 +2058,8 @@ PlayRadio: ; 91a53 dw LoadStation_LetsAllSing dw LoadStation_RocketRadio -; 91acb -.OakOrPnP: ; 91acb +.OakOrPnP: call IsInJohto and a jr nz, .kanto @@ -2119,9 +2072,8 @@ PlayRadio: ; 91a53 .kanto jp LoadStation_PlacesAndPeople -; 91ae1 -PokegearMap: ; 91ae1 +PokegearMap: ld a, e and a jr nz, .kanto @@ -2134,9 +2086,8 @@ PokegearMap: ; 91ae1 call FillKantoMap ret -; 91af3 -_FlyMap: ; 91af3 +_FlyMap: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -2199,9 +2150,8 @@ _FlyMap: ; 91af3 ld e, a ret -; 91b73 -FlyMapScroll: ; 91b73 +FlyMapScroll: ld a, [wStartFlypoint] ld e, a ld a, [wEndFlypoint] @@ -2248,9 +2198,8 @@ FlyMapScroll: ; 91b73 ld [hBGMapMode], a ret -; 91bb5 -TownMapBubble: ; 91bb5 +TownMapBubble: ; Draw the bubble containing the location text in the town map HUD ; Top-left corner @@ -2312,9 +2261,8 @@ TownMapBubble: ; 91bb5 call PlaceString ret -; 91c17 -GetMapCursorCoordinates: ; 91c17 +GetMapCursorCoordinates: ld a, [wTownMapPlayerIconLandmark] ld l, a ld h, 0 @@ -2335,9 +2283,8 @@ GetMapCursorCoordinates: ; 91c17 ld [hl], d ret -; 91c3c -CheckIfVisitedFlypoint: ; 91c3c +CheckIfVisitedFlypoint: ; Check if the flypoint loaded in [hl] has been visited yet. push bc push de @@ -2355,9 +2302,8 @@ CheckIfVisitedFlypoint: ; 91c3c and a ret -; 91c50 -HasVisitedSpawn: ; 91c50 +HasVisitedSpawn: ; Check if spawn point c has been visited. ld hl, wVisitedSpawns ld b, CHECK_FLAG @@ -2366,16 +2312,14 @@ HasVisitedSpawn: ; 91c50 ld a, c ret -; 91c5e INCLUDE "data/maps/flypoints.asm" -ret_91c8f: ; 91c8f +ret_91c8f: ret -; 91c90 -FlyMap: ; 91c90 +FlyMap: ld a, [wMapGroup] ld b, a ld a, [wMapNumber] @@ -2469,9 +2413,8 @@ FlyMap: ; 91c90 ld [wTownMapCursorCoordinates + 1], a ret -; 91d11 -Pokedex_GetArea: ; 91d11 +Pokedex_GetArea: ; e: Current landmark ld a, [wTownMapPlayerIconLandmark] push af @@ -2537,9 +2480,8 @@ Pokedex_GetArea: ; 91d11 ld [wTownMapPlayerIconLandmark], a ret -; 91d9b -.LeftRightInput: ; 91d9b +.LeftRightInput: ld a, [hl] and D_LEFT jr nz, .left @@ -2573,9 +2515,8 @@ Pokedex_GetArea: ; 91d11 call .GetAndPlaceNest ret -; 91dcd -.BlinkNestIcons: ; 91dcd +.BlinkNestIcons: ld a, [hVBlankCounter] ld e, a and $f @@ -2593,9 +2534,8 @@ Pokedex_GetArea: ; 91d11 call CopyBytes ret -; 91de9 -.PlaceString_MonsNest: ; 91de9 +.PlaceString_MonsNest: hlcoord 0, 0 ld bc, SCREEN_WIDTH ld a, " " @@ -2616,13 +2556,11 @@ Pokedex_GetArea: ; 91d11 call PlaceString ret -; 91e16 .String_SNest: db "'S NEST@" -; 91e1e -.GetAndPlaceNest: ; 91e1e +.GetAndPlaceNest: ld [wTownMapCursorLandmark], a ld e, a farcall FindNest ; load nest landmarks into wTileMap[0,0] @@ -2660,9 +2598,8 @@ Pokedex_GetArea: ; 91d11 call CopyBytes ret -; 91e5a -.HideNestsShowPlayer: ; 91e5a +.HideNestsShowPlayer: call .CheckPlayerLocation ret c ld a, [wTownMapPlayerIconLandmark] @@ -2706,18 +2643,16 @@ Pokedex_GetArea: ; 91d11 call ByteFill ret -; 91e9c -.PlayerOAM: ; 91e9c +.PlayerOAM: ; y pxl, x pxl, tile offset db -1 * 8, -1 * 8, 0 ; top left db -1 * 8, 0 * 8, 1 ; top right db 0 * 8, -1 * 8, 2 ; bottom left db 0 * 8, 0 * 8, 3 ; bottom right db $80 ; terminator -; 91ea9 -.CheckPlayerLocation: ; 91ea9 +.CheckPlayerLocation: ; Don't show the player's sprite if you're ; not in the same region as what's currently ; on the screen. @@ -2748,9 +2683,8 @@ Pokedex_GetArea: ; 91d11 scf ret -; 91ed0 -.GetPlayerOrFastShipIcon: ; 91ed0 +.GetPlayerOrFastShipIcon: ld a, [wTownMapPlayerIconLandmark] cp FAST_SHIP jr z, .FastShip @@ -2762,9 +2696,8 @@ Pokedex_GetArea: ; 91d11 ld b, BANK(FastShipGFX) ret -; 91ee4 -TownMapBGUpdate: ; 91ee4 +TownMapBGUpdate: ; Update BG Map tiles and attributes ; BG Map address @@ -2792,15 +2725,14 @@ TownMapBGUpdate: ; 91ee4 ld [hBGMapMode], a ret -; 91eff -FillJohtoMap: ; 91eff +FillJohtoMap: ld de, JohtoMap jr FillTownMap -FillKantoMap: ; 91f04 +FillKantoMap: ld de, KantoMap -FillTownMap: ; 91f07 +FillTownMap: hlcoord 0, 0 .loop ld a, [de] @@ -2811,9 +2743,8 @@ FillTownMap: ; 91f07 inc de jr .loop -; 91f13 -TownMapPals: ; 91f13 +TownMapPals: ; Assign palettes based on tile ids hlcoord 0, 0 decoord 0, 0, wAttrMap @@ -2866,9 +2797,8 @@ TownMapPals: ; 91f13 .PalMap: INCLUDE "gfx/pokegear/town_map_palette_map.asm" -; 91f7b -TownMapMon: ; 91f7b +TownMapMon: ; Draw the FlyMon icon at town map location ; Get FlyMon species @@ -2894,9 +2824,8 @@ TownMapMon: ; 91f7b ld [hl], SPRITE_ANIM_SEQ_NULL ret -; 91fa6 -TownMapPlayerIcon: ; 91fa6 +TownMapPlayerIcon: ; Draw the player icon at town map location in a push af farcall GetPlayerIcon @@ -2941,26 +2870,23 @@ TownMapPlayerIcon: ; 91fa6 ; 0x91ff2 -LoadTownMapGFX: ; 91ff2 +LoadTownMapGFX: ld hl, TownMapGFX ld de, vTiles2 lb bc, BANK(TownMapGFX), 48 call DecompressRequest2bpp ret -; 91fff -JohtoMap: ; 91fff +JohtoMap: INCBIN "gfx/pokegear/johto.bin" -; 92168 -KantoMap: ; 92168 +KantoMap: INCBIN "gfx/pokegear/kanto.bin" -; 922d1 -PokedexNestIconGFX: ; 922d1 +PokedexNestIconGFX: INCBIN "gfx/pokegear/dexmap_nest_icon.2bpp" -FlyMapLabelBorderGFX: ; 922e1 +FlyMapLabelBorderGFX: INCBIN "gfx/pokegear/flymap_label_border.1bpp" Unreferenced_Function92311: @@ -3041,9 +2967,8 @@ Unreferenced_Function92311: ld e, a ret -; 923b8 -.HandleDPad: ; 923b8 +.HandleDPad: ld hl, hJoyLast ld a, [hl] and D_DOWN | D_RIGHT @@ -3094,4 +3019,3 @@ Unreferenced_Function92311: ld [hBGMapMode], a ret -; 92402 diff --git a/engine/pokegear/townmap_convertlinebreakcharacters.asm b/engine/pokegear/townmap_convertlinebreakcharacters.asm index 6ccd79aae..e0ed55131 100644 --- a/engine/pokegear/townmap_convertlinebreakcharacters.asm +++ b/engine/pokegear/townmap_convertlinebreakcharacters.asm @@ -1,4 +1,4 @@ -TownMap_ConvertLineBreakCharacters: ; 1de2c5 +TownMap_ConvertLineBreakCharacters: ld hl, wStringBuffer1 .loop ld a, [hl] diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index 75cc3fe35..312164b49 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -1,4 +1,4 @@ -_DepositPKMN: ; e2391 (38:6391) +_DepositPKMN: ld hl, wOptions ld a, [hl] push af @@ -35,20 +35,20 @@ _DepositPKMN: ; e2391 (38:6391) ld [wOptions], a ret -.RunJumptable: ; e23d5 (38:63d5) +.RunJumptable: ld a, [wJumptableIndex] ld hl, .Jumptable call BillsPC_Jumptable jp hl -.Jumptable: ; e23df (38:63df) +.Jumptable: dw .Init dw .HandleJoypad dw .WhatsUp dw .Submenu dw BillsPC_EndJumptableLoop -.Init: ; e23e9 (38:63e9) +.Init: xor a ld [hBGMapMode], a call ClearSprites @@ -69,7 +69,7 @@ _DepositPKMN: ; e2391 (38:6391) call BillsPC_IncrementJumptableIndex ret -.HandleJoypad: ; e241a (38:641a) +.HandleJoypad: ld hl, hJoyPressed ; $ffa7 ld a, [hl] and B_BUTTON @@ -100,7 +100,6 @@ _DepositPKMN: ; e2391 (38:6391) ld a, $2 ld [wJumptableIndex], a ret -; e2452 (38:6452) .go_back ld hl, wJumptableIndex @@ -112,7 +111,7 @@ _DepositPKMN: ; e2391 (38:6391) ld [wJumptableIndex], a ret -.WhatsUp: ; e245d (38:645d) +.WhatsUp: xor a ld [hBGMapMode], a call ClearSprites @@ -127,7 +126,7 @@ _DepositPKMN: ; e2391 (38:6391) call BillsPC_IncrementJumptableIndex ret -.Submenu: ; e247d (38:647d) +.Submenu: ld hl, BillsPCDepositMenuHeader call CopyMenuHeader ld a, [wMenuCursorY] @@ -147,14 +146,14 @@ _DepositPKMN: ; e2391 (38:6391) ld l, a jp hl -BillsPCDepositJumptable: ; e24a1 (38:64a1) +BillsPCDepositJumptable: dw BillsPCDepositFuncDeposit ; Deposit Pokemon dw BillsPCDepositFuncStats ; Pokemon Stats dw BillsPCDepositFuncRelease ; Release Pokemon dw BillsPCDepositFuncCancel ; Cancel -BillsPCDepositFuncDeposit: ; e24a9 (38:64a9) +BillsPCDepositFuncDeposit: call BillsPC_CheckMail_PreventBlackout jp c, BillsPCDepositFuncCancel call DepositPokemon @@ -171,7 +170,7 @@ BillsPCDepositFuncDeposit: ; e24a9 (38:64a9) call BillsPC_PlaceString ret -BillsPCDepositFuncStats: ; e24c8 (38:64c8) +BillsPCDepositFuncStats: call LoadStandardMenuHeader call BillsPC_StatsScreen call ExitMenu @@ -182,7 +181,7 @@ BillsPCDepositFuncStats: ; e24c8 (38:64c8) call BillsPC_ApplyPalettes ret -BillsPCDepositFuncRelease: ; e24e0 (38:64e0) +BillsPCDepositFuncRelease: call BillsPC_CheckMail_PreventBlackout jr c, BillsPCDepositFuncCancel call BillsPC_IsMonAnEgg @@ -222,11 +221,10 @@ BillsPCDepositFuncRelease: ; e24e0 (38:64e0) ld [wMenuCursorY], a ret -BillsPCDepositFuncCancel: ; e2537 (38:6537) +BillsPCDepositFuncCancel: ld a, $0 ld [wJumptableIndex], a ret -; e253d (38:653d) BillsPCDepositMenuHeader: ; 0xe253d (38:653d) db MENU_BACKUP_TILES ; flags @@ -244,7 +242,7 @@ BillsPCDepositMenuHeader: ; 0xe253d (38:653d) db "CANCEL@" ; 0xe2564 (38:6564) -Unreferenced_BillsPCClearThreeBoxes: ; e2564 +Unreferenced_BillsPCClearThreeBoxes: hlcoord 0, 0 ld b, 4 ld c, 8 @@ -258,9 +256,8 @@ Unreferenced_BillsPCClearThreeBoxes: ; e2564 ld c, 8 call ClearBox ret -; e2583 -_WithdrawPKMN: ; e2583 (38:6583) +_WithdrawPKMN: ld hl, wOptions ld a, [hl] push af @@ -297,20 +294,20 @@ _WithdrawPKMN: ; e2583 (38:6583) ld [wOptions], a ret -.RunJumptable: ; e25c8 (38:65c8) +.RunJumptable: ld a, [wJumptableIndex] ld hl, .Jumptable call BillsPC_Jumptable jp hl -.Jumptable: ; e25d2 (38:65d2) +.Jumptable: dw .Init dw .Joypad dw .PrepSubmenu dw BillsPC_Withdraw dw BillsPC_EndJumptableLoop -.Init: ; e25dc (38:65dc) +.Init: ld a, NUM_BOXES + 1 ld [wBillsPC_LoadedBox], a xor a @@ -333,7 +330,7 @@ _WithdrawPKMN: ; e2583 (38:6583) call BillsPC_IncrementJumptableIndex ret -.Joypad: ; e2612 (38:6612) +.Joypad: ld hl, hJoyPressed ; $ffa7 ld a, [hl] and B_BUTTON @@ -362,7 +359,7 @@ _WithdrawPKMN: ; e2583 (38:6583) jr z, .b_button ld a, $2 ld [wJumptableIndex], a - ret ; e264a (38:664a) + ret .unused ld hl, wJumptableIndex @@ -373,9 +370,8 @@ _WithdrawPKMN: ; e2583 (38:6583) ld a, $4 ld [wJumptableIndex], a ret -; e2655 -.PrepSubmenu: ; e2655 (38:6655) +.PrepSubmenu: xor a ld [hBGMapMode], a call ClearSprites @@ -390,7 +386,7 @@ _WithdrawPKMN: ; e2583 (38:6583) call BillsPC_IncrementJumptableIndex ret -BillsPC_Withdraw: ; e2675 (38:6675) +BillsPC_Withdraw: ld hl, .MenuHeader call CopyMenuHeader ld a, [wMenuCursorY] @@ -417,7 +413,7 @@ BillsPC_Withdraw: ; e2675 (38:6675) dw .cancel ; Cancel -.withdraw ; e26a1 (38:66a1) +.withdraw call BillsPC_CheckMail_PreventBlackout jp c, .cancel call TryWithdrawPokemon @@ -433,7 +429,7 @@ BillsPC_Withdraw: ; e2675 (38:6675) call BillsPC_PlaceString ret -.stats ; e26c0 (38:66c0) +.stats call LoadStandardMenuHeader call BillsPC_StatsScreen call ExitMenu @@ -444,7 +440,7 @@ BillsPC_Withdraw: ; e2675 (38:6675) call BillsPC_ApplyPalettes ret -.release ; e26d8 (38:66d8) +.release ld a, [wMenuCursorY] push af call BillsPC_IsMonAnEgg @@ -481,11 +477,10 @@ BillsPC_Withdraw: ; e2675 (38:6675) ld [wMenuCursorY], a ret -.cancel ; e272b (38:672b) +.cancel ld a, $0 ld [wJumptableIndex], a ret -; e2731 (38:6731) .MenuHeader: ; 0xe2731 db MENU_BACKUP_TILES ; flags @@ -503,7 +498,7 @@ BillsPC_Withdraw: ; e2675 (38:6675) db "CANCEL@" ; 0xe2759 -_MovePKMNWithoutMail: ; e2759 +_MovePKMNWithoutMail: ld hl, wOptions ld a, [hl] push af @@ -542,16 +537,14 @@ _MovePKMNWithoutMail: ; e2759 pop af ld [wOptions], a ret -; e27a2 -.RunJumptable: ; e27a2 +.RunJumptable: ld a, [wJumptableIndex] ld hl, .Jumptable call BillsPC_Jumptable jp hl -; e27ac -.Jumptable: ; e27ac +.Jumptable: dw .Init dw .Joypad dw .PrepSubmenu @@ -559,9 +552,8 @@ _MovePKMNWithoutMail: ; e2759 dw .PrepInsertCursor dw .Joypad2 dw BillsPC_EndJumptableLoop -; e27ba -.Init: ; e27ba +.Init: xor a ld [hBGMapMode], a call ClearSprites @@ -581,9 +573,8 @@ _MovePKMNWithoutMail: ; e2759 call BillsPC_UpdateSelectionCursor call BillsPC_IncrementJumptableIndex ret -; e27eb -.Joypad: ; e27eb +.Joypad: ld hl, hJoyPressed ld a, [hl] and B_BUTTON @@ -633,9 +624,8 @@ _MovePKMNWithoutMail: ; e2759 ld a, $6 ld [wJumptableIndex], a ret -; e283d -.PrepSubmenu: ; e283d +.PrepSubmenu: xor a ld [hBGMapMode], a call ClearSprites @@ -649,9 +639,8 @@ _MovePKMNWithoutMail: ; e2759 ld [wMenuCursorY], a call BillsPC_IncrementJumptableIndex ret -; e285d -.MoveMonWOMailSubmenu: ; e285d +.MoveMonWOMailSubmenu: ld hl, .MenuHeader call CopyMenuHeader ld a, [wMenuCursorY] @@ -670,15 +659,13 @@ _MovePKMNWithoutMail: ; e2759 ld h, [hl] ld l, a jp hl -; e2881 -.Jumptable2: ; e2881 +.Jumptable2: dw .Move dw .Stats dw .Cancel -; e2887 -.Move: ; e2887 +.Move: call BillsPC_CheckMail_PreventBlackout jp c, .Cancel ld a, [wBillsPC_ScrollPosition] @@ -690,9 +677,8 @@ _MovePKMNWithoutMail: ; e2759 ld a, $4 ld [wJumptableIndex], a ret -; e28a5 -.Stats: ; e28a5 +.Stats: call LoadStandardMenuHeader call BillsPC_StatsScreen call ExitMenu @@ -702,13 +688,11 @@ _MovePKMNWithoutMail: ; e2759 ld a, SCGB_BILLS_PC call BillsPC_ApplyPalettes ret -; e28bd -.Cancel: ; e28bd +.Cancel: ld a, $0 ld [wJumptableIndex], a ret -; e28c3 .MenuHeader: ; 0xe28c3 db MENU_BACKUP_TILES ; flags @@ -725,7 +709,7 @@ _MovePKMNWithoutMail: ; e2759 db "CANCEL@" ; 0xe28df -.PrepInsertCursor: ; e28df +.PrepInsertCursor: xor a ld [hBGMapMode], a call CopyBoxmonSpecies @@ -740,9 +724,8 @@ _MovePKMNWithoutMail: ; e2759 call WaitBGMap call BillsPC_IncrementJumptableIndex ret -; e2903 -.Joypad2: ; e2903 +.Joypad2: ld hl, hJoyPressed ld a, [hl] and B_BUTTON @@ -795,9 +778,8 @@ _MovePKMNWithoutMail: ; e2759 ld a, $0 ld [wJumptableIndex], a ret -; e2963 -BillsPC_InitRAM: ; e2963 (38:6963) +BillsPC_InitRAM: call ClearBGPalettes call ClearSprites call ClearTileMap @@ -815,17 +797,17 @@ BillsPC_InitRAM: ; e2963 (38:6963) ld [wBillsPC_ScrollPosition], a ret -BillsPC_IncrementJumptableIndex: ; e298d (38:698d) +BillsPC_IncrementJumptableIndex: ld hl, wJumptableIndex inc [hl] ret -BillsPC_EndJumptableLoop: ; e2992 (38:6992) +BillsPC_EndJumptableLoop: ld hl, wJumptableIndex set 7, [hl] ret -_StatsScreenDPad: ; e2998 (38:6998) +_StatsScreenDPad: ld a, [wBillsPC_NumMonsOnScreen] ld d, a ld a, [wBillsPC_NumMonsInBox] @@ -844,7 +826,7 @@ _StatsScreenDPad: ; e2998 (38:6998) .empty jp BillsPC_JoypadDidNothing -Withdraw_UpDown: ; e29b5 (38:69b5) +Withdraw_UpDown: ld hl, hJoyLast ld a, [wBillsPC_NumMonsOnScreen] ld d, a @@ -860,9 +842,8 @@ Withdraw_UpDown: ; e29b5 (38:69b5) jr nz, BillsPC_PressDown .empty jp BillsPC_JoypadDidNothing -; e29d0 (38:69d0) -MoveMonWithoutMail_DPad: ; e29d0 +MoveMonWithoutMail_DPad: ld hl, hJoyLast ld a, [wBillsPC_NumMonsOnScreen] ld d, a @@ -886,7 +867,7 @@ MoveMonWithoutMail_DPad: ; e29d0 jr nz, BillsPC_PressRight jr BillsPC_JoypadDidNothing -MoveMonWithoutMail_DPad_2: ; e29f4 +MoveMonWithoutMail_DPad_2: ld hl, hJoyLast ld a, [wBillsPC_NumMonsOnScreen] ld d, a @@ -911,7 +892,7 @@ MoveMonWithoutMail_DPad_2: ; e29f4 jr nz, BillsPC_PressRight jr BillsPC_JoypadDidNothing -BillsPC_PressUp: ; e2a18 (38:6a18) +BillsPC_PressUp: ld hl, wBillsPC_CursorPosition ld a, [hl] and a @@ -927,7 +908,7 @@ BillsPC_PressUp: ; e2a18 (38:6a18) dec [hl] jr BillsPC_UpDownDidSomething -BillsPC_PressDown: ; e2a2c (38:6a2c) +BillsPC_PressDown: ld a, [wBillsPC_CursorPosition] ld hl, wBillsPC_ScrollPosition add [hl] @@ -947,9 +928,8 @@ BillsPC_PressDown: ; e2a2c (38:6a2c) ld hl, wBillsPC_ScrollPosition inc [hl] jr BillsPC_UpDownDidSomething -; e2a48 (38:6a48) -BillsPC_PressLeft: ; e2a48 +BillsPC_PressLeft: ld hl, wBillsPC_LoadedBox ld a, [hl] and a @@ -961,7 +941,7 @@ BillsPC_PressLeft: ; e2a48 ld [hl], NUM_BOXES jr BillsPC_LeftRightDidSomething -BillsPC_PressRight: ; e2a56 +BillsPC_PressRight: ld hl, wBillsPC_LoadedBox ld a, [hl] cp NUM_BOXES @@ -973,23 +953,21 @@ BillsPC_PressRight: ; e2a56 ld [hl], 0 jr BillsPC_LeftRightDidSomething -BillsPC_JoypadDidNothing: ; e2a65 (38:6a65) +BillsPC_JoypadDidNothing: xor a and a ret -BillsPC_UpDownDidSomething: ; e2a68 (38:6a68) +BillsPC_UpDownDidSomething: ld a, TRUE and a ret -; e2a6c (38:6a6c) -BillsPC_LeftRightDidSomething: ; e2a6c +BillsPC_LeftRightDidSomething: scf ret -; e2a6e -BillsPC_PlaceString: ; e2a6e (38:6a6e) +BillsPC_PlaceString: push de hlcoord 0, 15 lb bc, 1, 18 @@ -998,18 +976,16 @@ BillsPC_PlaceString: ; e2a6e (38:6a6e) hlcoord 1, 16 call PlaceString ret -; e2a80 (38:6a80) -BillsPC_MoveMonWOMail_BoxNameAndArrows: ; e2a80 +BillsPC_MoveMonWOMail_BoxNameAndArrows: call BillsPC_BoxName hlcoord 8, 1 ld [hl], $5f hlcoord 19, 1 ld [hl], $5e ret -; e2a8e -BillsPC_BoxName: ; e2a8e (38:6a8e) +BillsPC_BoxName: hlcoord 8, 0 lb bc, 1, 10 call TextBox @@ -1038,13 +1014,11 @@ BillsPC_BoxName: ; e2a8e (38:6a8e) hlcoord 10, 1 call PlaceString ret -; e2abd (38:6abd) .PartyPKMN: db "PARTY <PK><MN>@" -; e2ac6 -PCMonInfo: ; e2ac6 (38:6ac6) +PCMonInfo: ; Display a monster's pic and ; attributes when highlighting ; it in a PC menu. @@ -1143,7 +1117,7 @@ PCMonInfo: ; e2ac6 (38:6ac6) ld [hl], a ret -BillsPC_LoadMonStats: ; e2b6d (38:6b6d) +BillsPC_LoadMonStats: ld a, [wBillsPC_CursorPosition] ld hl, wBillsPC_ScrollPosition add [hl] @@ -1250,7 +1224,7 @@ BillsPC_LoadMonStats: ; e2b6d (38:6b6d) call CloseSRAM ret -BillsPC_RefreshTextboxes: ; e2c2c (38:6c2c) +BillsPC_RefreshTextboxes: hlcoord 8, 2 lb bc, 10, 10 call TextBox @@ -1287,13 +1261,11 @@ BillsPC_RefreshTextboxes: ; e2c2c (38:6c2c) dec a jr nz, .loop ret -; e2c67 (38:6c67) .CancelString: db "CANCEL@" -; e2c6e -.PlaceNickname: ; e2c6e (38:6c6e) +.PlaceNickname: ld a, [de] and a ret z @@ -1402,11 +1374,9 @@ BillsPC_RefreshTextboxes: ; e2c2c (38:6c2c) ld de, .Placeholder call PlaceString ret -; e2d2a (38:6d2a) .Placeholder: db "-----@" -; e2d30 copy_box_data: MACRO .loop\@ @@ -1442,7 +1412,7 @@ endc ld [wBillsPC_NumMonsInBox], a ENDM -CopyBoxmonSpecies: ; e2d30 (38:6d30) +CopyBoxmonSpecies: xor a ld hl, wBillsPCPokemonList ld bc, 3 * 30 @@ -1476,7 +1446,7 @@ CopyBoxmonSpecies: ; e2d30 (38:6d30) copy_box_data 1 ret -BillsPC_GetSelectedPokemonSpecies: ; e2def (38:6def) +BillsPC_GetSelectedPokemonSpecies: ld a, [wBillsPC_CursorPosition] ld hl, wBillsPC_ScrollPosition add [hl] @@ -1489,7 +1459,7 @@ BillsPC_GetSelectedPokemonSpecies: ; e2def (38:6def) ld a, [hl] ret -BillsPC_UpdateSelectionCursor: ; e2e01 (38:6e01) +BillsPC_UpdateSelectionCursor: ld a, [wBillsPC_NumMonsInBox] and a jr nz, .place_cursor @@ -1516,9 +1486,8 @@ rept SPRITEOAMSTRUCT_LENGTH + -1 inc de endr jr .loop -; e2e2b (38:6e2b) -.OAM: ; e2e2b +.OAM: dsprite 4, 6, 10, 0, $00, 0 dsprite 4, 6, 11, 0, $00, 0 dsprite 4, 6, 12, 0, $00, 0 @@ -1544,9 +1513,8 @@ endr dsprite 5, 6, 19, 1, $01, 0 | X_FLIP dsprite 6, 1, 19, 1, $01, 0 | X_FLIP | Y_FLIP db -1 -; e2e8c -BillsPC_UpdateInsertCursor: ; e2e8c +BillsPC_UpdateInsertCursor: ld hl, .OAM ld de, wVirtualOAMSprite00 .loop @@ -1566,9 +1534,8 @@ rept SPRITEOAMSTRUCT_LENGTH + -1 inc de endr jr .loop -; e2eac -.OAM: ; e2eac +.OAM: dsprite 4, 7, 10, 0, $06, 0 dsprite 5, 3, 11, 0, $00, 0 | Y_FLIP dsprite 5, 3, 12, 0, $00, 0 | Y_FLIP @@ -1580,9 +1547,8 @@ endr dsprite 5, 3, 18, 0, $00, 0 | Y_FLIP dsprite 4, 7, 19, 0, $07, 0 db -1 -; e2ed5 -Unreferenced_BillsPC_FillBox: ; e2ed5 +Unreferenced_BillsPC_FillBox: .row push bc push hl @@ -1597,9 +1563,8 @@ Unreferenced_BillsPC_FillBox: ; e2ed5 dec b jr nz, .row ret -; e2ee5 -BillsPC_CheckSpaceInDestination: ; e2ee5 +BillsPC_CheckSpaceInDestination: ; If moving within a box, no need to be here. ld hl, wBillsPC_LoadedBox ld a, [wBillsPC_BackupLoadedBox] @@ -1633,9 +1598,8 @@ BillsPC_CheckSpaceInDestination: ; e2ee5 call DelayFrames scf ret -; e2f18 -BillsPC_CheckMail_PreventBlackout: ; e2f18 (38:6f18) +BillsPC_CheckMail_PreventBlackout: ld a, [wBillsPC_LoadedBox] and a jr nz, .Okay @@ -1675,7 +1639,7 @@ BillsPC_CheckMail_PreventBlackout: ; e2f18 (38:6f18) scf ret -BillsPC_IsMonAnEgg: ; e2f5f (38:6f5f) +BillsPC_IsMonAnEgg: ld a, [wCurPartySpecies] cp EGG jr z, .egg @@ -1693,7 +1657,7 @@ BillsPC_IsMonAnEgg: ; e2f5f (38:6f5f) scf ret -BillsPC_StatsScreen: ; e2f7e (38:6f7e) +BillsPC_StatsScreen: call LowVolume call BillsPC_CopyMon ld a, $3 @@ -1703,7 +1667,7 @@ BillsPC_StatsScreen: ; e2f7e (38:6f7e) call MaxVolume ret -StatsScreenDPad: ; e2f95 (38:6f95) +StatsScreenDPad: ld hl, hJoyPressed ; $ffa7 ld a, [hl] and A_BUTTON | B_BUTTON | D_RIGHT | D_LEFT @@ -1737,7 +1701,7 @@ StatsScreenDPad: ; e2f95 (38:6f95) ld [wMenuJoypad], a ret -BillsPC_CopyMon: ; e2fd6 (38:6fd6) +BillsPC_CopyMon: ld a, [wBillsPC_CursorPosition] ld hl, wBillsPC_ScrollPosition add [hl] @@ -1809,7 +1773,7 @@ BillsPC_CopyMon: ; e2fd6 (38:6fd6) farcall CalcBufferMonStats ret -DepositPokemon: ; e307c (38:707c) +DepositPokemon: ld a, [wBillsPC_CursorPosition] ld hl, wBillsPC_ScrollPosition add [hl] @@ -1861,7 +1825,7 @@ DepositPokemon: ; e307c (38:707c) scf ret -TryWithdrawPokemon: ; e30fa (38:70fa) +TryWithdrawPokemon: ld a, [wBillsPC_CursorPosition] ld hl, wBillsPC_ScrollPosition add [hl] @@ -1917,7 +1881,7 @@ TryWithdrawPokemon: ; e30fa (38:70fa) ret -ReleasePKMN_ByePKMN: ; e3180 (38:7180) +ReleasePKMN_ByePKMN: hlcoord 0, 0 lb bc, 15, 8 call ClearBox @@ -1962,9 +1926,8 @@ ReleasePKMN_ByePKMN: ; e3180 (38:7180) ld c, 50 call DelayFrames ret -; e31e7 (38:71e7) -MovePKMNWitoutMail_InsertMon: ; e31e7 +MovePKMNWitoutMail_InsertMon: push hl push de push bc @@ -2005,27 +1968,23 @@ MovePKMNWitoutMail_InsertMon: ; e31e7 ld de, .dw_return push de jp hl -; e322a -.dw_return ; e322a +.dw_return pop af ld e, a farcall MoveMonWOMail_InsertMon_SaveGame ret -; e3233 .Saving_LeaveOn: db "Saving… Leave ON!@" -; e3245 -.Jumptable: ; e3245 +.Jumptable: dw .BoxToBox dw .PartyToBox dw .BoxToParty dw .PartyToParty -; e324d -.BoxToBox: ; e324d +.BoxToBox: ld hl, wBillsPC_BackupLoadedBox ld a, [wBillsPC_LoadedBox] cp [hl] @@ -2039,9 +1998,8 @@ MovePKMNWitoutMail_InsertMon: ; e31e7 call .CheckTrivialMove call .CopyToBox ret -; e3267 -.PartyToBox: ; e3267 +.PartyToBox: call .CopyFromParty ld a, $1 ld [wGameLogicPaused], a @@ -2050,22 +2008,19 @@ MovePKMNWitoutMail_InsertMon: ; e31e7 ld [wGameLogicPaused], a call .CopyToBox ret -; e327d -.BoxToParty: ; e327d +.BoxToParty: call .CopyFromBox call .CopyToParty ret -; e3284 -.PartyToParty: ; e3284 +.PartyToParty: call .CopyFromParty call .CheckTrivialMove call .CopyToParty ret -; e328e -.CheckTrivialMove: ; e328e +.CheckTrivialMove: ld a, [wBillsPC_CursorPosition] ld hl, wBillsPC_ScrollPosition add [hl] @@ -2089,9 +2044,8 @@ MovePKMNWitoutMail_InsertMon: ; e31e7 ret z dec [hl] ret -; e32b0 -.CopyFromBox: ; e32b0 +.CopyFromBox: ld a, [wBillsPC_BackupLoadedBox] dec a ld e, a @@ -2117,9 +2071,8 @@ MovePKMNWitoutMail_InsertMon: ; e31e7 ld [wPokemonWithdrawDepositParameter], a farcall RemoveMonFromPartyOrBox ret -; e32fa -.CopyToBox: ; e32fa +.CopyToBox: ld a, [wBillsPC_LoadedBox] dec a ld e, a @@ -2130,9 +2083,8 @@ MovePKMNWitoutMail_InsertMon: ; e31e7 ld [wCurPartyMon], a farcall InsertPokemonIntoBox ret -; e3316 -.CopyFromParty: ; e3316 +.CopyFromParty: ld a, [wBillsPC_BackupCursorPosition] ld hl, wBillsPC_BackupScrollPosition add [hl] @@ -2150,18 +2102,16 @@ MovePKMNWitoutMail_InsertMon: ; e31e7 ld [wPokemonWithdrawDepositParameter], a farcall RemoveMonFromPartyOrBox ret -; e3346 -.CopyToParty: ; e3346 +.CopyToParty: ld a, [wBillsPC_CursorPosition] ld hl, wBillsPC_ScrollPosition add [hl] ld [wCurPartyMon], a farcall InsertPokemonIntoParty ret -; e3357 -CopySpeciesToTemp: ; e3357 (38:7357) +CopySpeciesToTemp: ld a, [wCurPartyMon] ld c, a ld b, $0 @@ -2170,7 +2120,7 @@ CopySpeciesToTemp: ; e3357 (38:7357) ld [wCurPartySpecies], a ret -CopyNicknameToTemp: ; e3363 (38:7363) +CopyNicknameToTemp: ld bc, MON_NAME_LENGTH ld a, [wCurPartyMon] call AddNTimes @@ -2179,7 +2129,7 @@ CopyNicknameToTemp: ; e3363 (38:7363) call CopyBytes ret -CopyOTNameToTemp: ; e3376 (38:7376) +CopyOTNameToTemp: ld bc, NAME_LENGTH ld a, [wCurPartyMon] call AddNTimes @@ -2188,14 +2138,14 @@ CopyOTNameToTemp: ; e3376 (38:7376) call CopyBytes ret -CopyMonToTemp: ; e3389 (38:7389) +CopyMonToTemp: ld a, [wCurPartyMon] call AddNTimes ld de, wBufferMon call CopyBytes ret -GetBoxPointer: ; e3396 (38:7396) +GetBoxPointer: dec b ld c, b ld b, 0 @@ -2209,9 +2159,8 @@ GetBoxPointer: ; e3396 (38:7396) ld h, [hl] ld l, a ret -; e33a6 (38:73a6) -.boxes ; e33a6 +.boxes ; bank, address dba sBox1 dba sBox2 @@ -2227,9 +2176,8 @@ GetBoxPointer: ; e3396 (38:7396) dba sBox12 dba sBox13 dba sBox14 -; e33d0 -BillsPC_ApplyPalettes: ; e33d0 (38:73d0) +BillsPC_ApplyPalettes: ld b, a call GetSGBLayout ld a, %11100100 @@ -2238,7 +2186,7 @@ BillsPC_ApplyPalettes: ; e33d0 (38:73d0) call DmgToCgbObjPal0 ret -BillsPC_Jumptable: ; e33df (38:73df) +BillsPC_Jumptable: ld e, a ld d, $0 add hl, de @@ -2248,7 +2196,7 @@ BillsPC_Jumptable: ; e33df (38:73df) ld l, a ret -BillsPC_InitGFX: ; e33e8 (38:73e8) +BillsPC_InitGFX: call DisableLCD ld hl, vTiles2 tile $00 ld bc, $31 tiles @@ -2267,11 +2215,9 @@ BillsPC_InitGFX: ; e33e8 (38:73e8) call SkipMusic call EnableLCD ret -; e3419 (38:7419) PCSelectLZ: INCBIN "gfx/pc/pc.2bpp.lz" PCMailGFX: INCBIN "gfx/pc/pc_mail.2bpp" -; e34dd PCString_ChooseaPKMN: db "Choose a <PK><MN>.@" PCString_WhatsUp: db "What's up?@" @@ -2289,10 +2235,9 @@ PCString_Non: db "Non.@" PCString_BoxFull: db "The BOX is full.@" PCString_PartyFull: db "The party's full!@" PCString_NoReleasingEGGS: db "No releasing EGGS!@" -; e35aa -_ChangeBox: ; e35aa (38:75aa) +_ChangeBox: call LoadStandardMenuHeader call BillsPC_ClearTilemap .loop @@ -2318,7 +2263,7 @@ _ChangeBox: ; e35aa (38:75aa) call CloseWindow ret -BillsPC_ClearTilemap: ; e35e2 (38:75e2) +BillsPC_ClearTilemap: xor a ld [hBGMapMode], a hlcoord 0, 0 @@ -2326,7 +2271,6 @@ BillsPC_ClearTilemap: ; e35e2 (38:75e2) ld a, " " call ByteFill ret -; e35f1 (38:75f1) _ChangeBox_MenuHeader: ; 0xe35f1 db MENU_BACKUP_TILES ; flags @@ -2343,9 +2287,8 @@ _ChangeBox_MenuHeader: ; 0xe35f1 dba .boxnames dba NULL dba BillsPC_PrintBoxCountAndCapacity -; e3609 -.boxes ; e3609 +.boxes db NUM_BOXES x = 1 rept NUM_BOXES @@ -2353,9 +2296,8 @@ rept NUM_BOXES x = x + 1 endr db -1 -; e3619 -.boxnames ; e3619 +.boxnames push de ld a, [wMenuSelection] dec a @@ -2363,18 +2305,16 @@ endr pop hl call PlaceString ret -; e3626 -GetBoxName: ; e3626 (38:7626) +GetBoxName: ld bc, BOX_NAME_LENGTH ld hl, wBoxNames call AddNTimes ld d, h ld e, l ret -; e3632 (38:7632) -BillsPC_PrintBoxCountAndCapacity: ; e3632 +BillsPC_PrintBoxCountAndCapacity: hlcoord 11, 7 lb bc, 5, 7 call TextBox @@ -2393,21 +2333,18 @@ BillsPC_PrintBoxCountAndCapacity: ; e3632 ld de, .out_of_20 call PlaceString ret -; e3663 -.Pokemon: ; e3663 +.Pokemon: db "#MON@" -; e3668 -.out_of_20 ; e3668 +.out_of_20 ; db "/20@" db "/" db "0" + MONS_PER_BOX / 10 ; "2" db "0" + MONS_PER_BOX % 10 ; "0" db "@" -; e366c -GetBoxCount: ; e366c (38:766c) +GetBoxCount: ld a, [wCurBox] ld c, a ld a, [wMenuSelection] @@ -2447,9 +2384,8 @@ GetBoxCount: ; e366c (38:766c) ld a, [hl] call CloseSRAM ret -; e36a5 (38:76a5) -.boxbanks ; e36a5 +.boxbanks dba sBox1 dba sBox2 dba sBox3 @@ -2464,9 +2400,8 @@ GetBoxCount: ; e366c (38:766c) dba sBox12 dba sBox13 dba sBox14 -; e36cf -BillsPC_PrintBoxName: ; e36cf (38:76cf) +BillsPC_PrintBoxName: hlcoord 0, 0 ld b, 2 ld c, 18 @@ -2480,13 +2415,11 @@ BillsPC_PrintBoxName: ; e36cf (38:76cf) hlcoord 11, 2 call PlaceString ret -; e36f1 (38:76f1) -.Current: ; e36f1 +.Current: db "CURRENT@" -; e36f9 -BillsPC_ChangeBoxSubmenu: ; e36f9 (38:76f9) +BillsPC_ChangeBoxSubmenu: ld hl, .MenuHeader call LoadMenuHeader call VerticalMenu @@ -2552,7 +2485,6 @@ BillsPC_ChangeBoxSubmenu: ; e36f9 (38:76f9) ld de, wd002 call CopyName2 ret -; e3778 (38:7778) hlcoord 11, 7 ; unused @@ -2572,25 +2504,21 @@ BillsPC_ChangeBoxSubmenu: ; e36f9 (38:76f9) db "QUIT@" ; 0xe379c -BillsPC_PlaceChooseABoxString: ; e379c (38:779c) +BillsPC_PlaceChooseABoxString: ld de, .ChooseABox jr BillsPC_PlaceChangeBoxString -; e37a1 (38:77a1) -.ChooseABox: ; e37a1 +.ChooseABox: db "Choose a BOX.@" -; e37af -BillsPC_PlaceWhatsUpString: ; e37af (38:77af) +BillsPC_PlaceWhatsUpString: ld de, .WhatsUp jr BillsPC_PlaceChangeBoxString -; e37b4 (38:77b4) -.WhatsUp: ; e37b4 +.WhatsUp: db "What's up?@" -; e37be -BillsPC_PlaceEmptyBoxString_SFX: ; e37be (38:77be) +BillsPC_PlaceEmptyBoxString_SFX: ld de, .NoMonString call BillsPC_PlaceChangeBoxString ld de, SFX_WRONG @@ -2599,13 +2527,11 @@ BillsPC_PlaceEmptyBoxString_SFX: ; e37be (38:77be) ld c, 50 call DelayFrames ret -; e37d3 (38:77d3) -.NoMonString: ; e37d3 +.NoMonString: db "There's no #MON.@" -; e37e3 -BillsPC_PlaceChangeBoxString: ; e37e3 (38:77e3) +BillsPC_PlaceChangeBoxString: push de hlcoord 0, 14 lb bc, 2, 18 diff --git a/engine/pokemon/bills_pc_top.asm b/engine/pokemon/bills_pc_top.asm index e25381e29..d3b55ccce 100644 --- a/engine/pokemon/bills_pc_top.asm +++ b/engine/pokemon/bills_pc_top.asm @@ -1,11 +1,11 @@ -_BillsPC: ; e3fd +_BillsPC: call .CheckCanUsePC ret c call .LogIn call .UseBillsPC jp .LogOut -.CheckCanUsePC: ; e40a (3:640a) +.CheckCanUsePC: ld a, [wPartyCount] and a ret nz @@ -19,7 +19,7 @@ _BillsPC: ; e3fd text_jump UnknownText_0x1c1006 db "@" -.LogIn: ; e41c (3:641c) +.LogIn: xor a ld [hBGMapMode], a call LoadStandardMenuHeader @@ -40,11 +40,11 @@ _BillsPC: ; e3fd text_jump UnknownText_0x1c1024 db "@" -.LogOut: ; e43f (3:643f) +.LogOut: call CloseSubmenu ret -.UseBillsPC: ; e443 (3:6443) +.UseBillsPC: ld hl, .MenuHeader call LoadMenuHeader ld a, $1 @@ -81,21 +81,21 @@ _BillsPC: ; e3fd dw PlaceMenuStrings dw .strings -.strings ; e47f +.strings db "WITHDRAW <PK><MN>@" db "DEPOSIT <PK><MN>@" db "CHANGE BOX@" db "MOVE <PK><MN> W/O MAIL@" db "SEE YA!@" -.Jumptable: ; e4ba (3:64ba) +.Jumptable: dw BillsPC_WithdrawMenu dw BillsPC_DepositMenu dw BillsPC_ChangeBoxMenu dw BillsPC_MovePKMNMenu dw BillsPC_SeeYa -.items ; e4c4 +.items db 5 ; # items db 0 ; WITHDRAW db 1 ; DEPOSIT @@ -104,11 +104,11 @@ _BillsPC: ; e3fd db 4 ; SEE YA! db -1 -BillsPC_SeeYa: ; e4cb +BillsPC_SeeYa: scf ret -BillsPC_MovePKMNMenu: ; e4cd +BillsPC_MovePKMNMenu: call LoadStandardMenuHeader farcall IsAnyMonHoldingMail jr nc, .no_mail @@ -133,7 +133,7 @@ BillsPC_MovePKMNMenu: ; e4cd text_jump UnknownText_0x1c102b db "@" -BillsPC_DepositMenu: ; e4fe (3:64fe) +BillsPC_DepositMenu: call LoadStandardMenuHeader farcall _DepositPKMN call ReturnToMapFromSubmenu @@ -173,7 +173,7 @@ Unreferenced_Functione512: text_jump UnknownText_0x1c1080 db "@" -CheckCurPartyMonFainted: ; e538 +CheckCurPartyMonFainted: ld hl, wPartyMon1HP ld de, PARTYMON_STRUCT_LENGTH ld b, $0 @@ -202,7 +202,7 @@ CheckCurPartyMonFainted: ; e538 and a ret -BillsPC_WithdrawMenu: ; e559 (3:6559) +BillsPC_WithdrawMenu: call LoadStandardMenuHeader farcall _WithdrawPKMN call ReturnToMapFromSubmenu @@ -229,12 +229,12 @@ UnknownText_0xe57e: ; 0xe57e text_jump UnknownText_0x1c10a2 db "@" -BillsPC_ChangeBoxMenu: ; e583 (3:6583) +BillsPC_ChangeBoxMenu: farcall _ChangeBox and a ret -ClearPCItemScreen: ; e58b +ClearPCItemScreen: call DisableSpriteUpdates xor a ld [hBGMapMode], a @@ -254,7 +254,7 @@ ClearPCItemScreen: ; e58b call SetPalettes ; load regular palettes? ret -CopyBoxmonToTempMon: ; e5bb +CopyBoxmonToTempMon: ld a, [wCurPartyMon] ld hl, sBoxMon1Species ld bc, BOXMON_STRUCT_LENGTH @@ -370,7 +370,7 @@ Unreferenced_Functione5d9: call CloseSRAM ret -.BoxAddrs: ; e66e +.BoxAddrs: dba sBox1 dba sBox2 dba sBox3 diff --git a/engine/pokemon/breeding.asm b/engine/pokemon/breeding.asm index cc32122a7..4f4319be1 100644 --- a/engine/pokemon/breeding.asm +++ b/engine/pokemon/breeding.asm @@ -1,4 +1,4 @@ -CheckBreedmonCompatibility: ; 16e1d +CheckBreedmonCompatibility: call .CheckBreedingGroupCompatibility ld c, $0 jp nc, .done @@ -83,10 +83,9 @@ CheckBreedmonCompatibility: ; 16e1d ld a, c ld [wd265], a ret -; 16ebc -.CheckDVs: ; 16ebc (5:6ebc) +.CheckDVs: ; If Defense DVs match and the lower 3 bits of the Special DVs match, ; avoid breeding ld a, [wBreedMon1DVs] @@ -103,9 +102,8 @@ CheckBreedmonCompatibility: ; 16e1d and %111 cp b ret -; 16ed6 -.CheckBreedingGroupCompatibility: ; 16ed6 +.CheckBreedingGroupCompatibility: ; If either mon is in the No Eggs group, ; they are not compatible. ld a, [wBreedMon2Species] @@ -173,9 +171,8 @@ CheckBreedmonCompatibility: ; 16e1d .Compatible: scf ret -; 16f3e -DoEggStep:: ; 16f3e +DoEggStep:: ld de, wPartySpecies ld hl, wPartyMon1Happiness ld c, 0 @@ -198,24 +195,22 @@ DoEggStep:: ; 16f3e add hl, de pop de jr .loop -; 16f5e -OverworldHatchEgg:: ; 16f5e +OverworldHatchEgg:: call RefreshScreen call LoadStandardMenuHeader call HatchEggs call ExitAllMenus call RestartMapMusic jp CloseText -; 16f70 -HatchEggs: ; 16f70 (5:6f70) +HatchEggs: ld de, wPartySpecies ld hl, wPartyMon1Happiness xor a ld [wCurPartyMon], a -.loop ; 16f7a (5:6f7a) +.loop ld a, [de] inc de cp -1 @@ -348,7 +343,7 @@ HatchEggs: ; 16f70 (5:6f70) ld bc, MON_NAME_LENGTH call CopyBytes -.next ; 1707d (5:707d) +.next ld hl, wCurPartyMon inc [hl] pop hl @@ -357,9 +352,8 @@ HatchEggs: ; 16f70 (5:6f70) pop de jp .loop -.done ; 1708a (5:708a) +.done ret -; 1708b (5:708b) .Text_HatchEgg: ; 0x1708b ; Huh? @ @ @@ -382,7 +376,6 @@ HatchEggs: ; 16f70 (5:6f70) pop hl ld hl, .CameOutOfItsEgg ret -; 170b0 (5:70b0) .ClearTextbox: ; 0x170b0 ; @@ -402,7 +395,7 @@ HatchEggs: ; 16f70 (5:6f70) db "@" ; 0x170bf -InitEggMoves: ; 170bf +InitEggMoves: call GetHeritableMoves ld d, h ld e, l @@ -431,9 +424,8 @@ InitEggMoves: ; 170bf .done ret -; 170e4 -GetEggMove: ; 170e4 +GetEggMove: push bc ld a, [wEggMonSpecies] dec a @@ -526,9 +518,8 @@ GetEggMove: ; 170e4 pop bc and a ret -; 17169 -LoadEggMove: ; 17169 +LoadEggMove: push de push bc ld a, [de] @@ -561,9 +552,8 @@ LoadEggMove: ; 17169 pop bc pop de ret -; 17197 -GetHeritableMoves: ; 17197 +GetHeritableMoves: ld hl, wBreedMon2Moves ld a, [wBreedMon1Species] cp DITTO @@ -619,9 +609,8 @@ GetHeritableMoves: ; 17197 pop af ld [wCurPartySpecies], a ret -; 1720b -GetBreedmonMovePointer: ; 1720b +GetBreedmonMovePointer: ld hl, wBreedMon1Moves ld a, [wBreedMon1Species] cp DITTO @@ -636,10 +625,9 @@ GetBreedmonMovePointer: ; 1720b .ditto ld hl, wBreedMon2Moves ret -; 17224 -GetEggFrontpic: ; 17224 (5:7224) +GetEggFrontpic: push de ld [wCurPartySpecies], a ld [wCurSpecies], a @@ -649,7 +637,7 @@ GetEggFrontpic: ; 17224 (5:7224) pop de predef_jump GetMonFrontpic -GetHatchlingFrontpic: ; 1723c (5:723c) +GetHatchlingFrontpic: push de ld [wCurPartySpecies], a ld [wCurSpecies], a @@ -659,7 +647,7 @@ GetHatchlingFrontpic: ; 1723c (5:723c) pop de predef_jump GetAnimatedFrontpic -Hatch_UpdateFrontpicBGMapCenter: ; 17254 (5:7254) +Hatch_UpdateFrontpicBGMapCenter: push af call WaitTop push hl @@ -681,7 +669,7 @@ Hatch_UpdateFrontpicBGMapCenter: ; 17254 (5:7254) call SetPalettes jp WaitBGMap -EggHatch_DoAnimFrame: ; 1727f (5:727f) +EggHatch_DoAnimFrame: push hl push de push bc @@ -692,7 +680,7 @@ EggHatch_DoAnimFrame: ; 1727f (5:727f) pop hl ret -EggHatch_AnimationSequence: ; 1728f (5:728f) +EggHatch_AnimationSequence: ld a, [wd265] ld [wJumptableIndex], a ld a, [wCurSpecies] @@ -782,13 +770,13 @@ EggHatch_AnimationSequence: ; 1728f (5:728f) ld [wCurSpecies], a ret -Hatch_LoadFrontpicPal: ; 17363 (5:7363) +Hatch_LoadFrontpicPal: ld [wPlayerHPPal], a ld b, SCGB_EVOLUTION ld c, $0 jp GetSGBLayout -EggHatch_CrackShell: ; 1736d (5:736d) +EggHatch_CrackShell: ld a, [wFrameCounter] dec a and $7 @@ -808,13 +796,11 @@ EggHatch_CrackShell: ; 1736d (5:736d) ld [hl], $0 ld de, SFX_EGG_CRACK jp PlaySFX -; 17393 (5:7393) -EggHatchGFX: ; 17393 +EggHatchGFX: INCBIN "gfx/evo/egg_hatch.2bpp" -; 173b3 -Hatch_InitShellFragments: ; 173b3 (5:73b3) +Hatch_InitShellFragments: farcall ClearSpriteAnims ld hl, .SpriteData .loop @@ -856,14 +842,13 @@ Hatch_InitShellFragments: ; 173b3 (5:73b3) call PlaySFX call EggHatch_DoAnimFrame ret -; 173ef (5:73ef) shell_fragment: MACRO ; y tile, y pxl, x tile, x pxl, frameset offset, ??? db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5 - SPRITE_ANIM_FRAMESET_EGG_HATCH_1, \6 ENDM -.SpriteData: ; 173ef +.SpriteData: shell_fragment 10, 4, 9, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_1, $3c shell_fragment 11, 4, 9, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_2, $04 shell_fragment 10, 4, 10, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_1, $30 @@ -875,9 +860,8 @@ ENDM shell_fragment 10, 0, 10, 4, SPRITE_ANIM_FRAMESET_EGG_HATCH_3, $2a shell_fragment 12, 0, 10, 4, SPRITE_ANIM_FRAMESET_EGG_HATCH_4, $16 db -1 -; 17418 -Hatch_ShellFragmentLoop: ; 17418 (5:7418) +Hatch_ShellFragmentLoop: ld c, 129 .loop call EggHatch_DoAnimFrame @@ -885,7 +869,7 @@ Hatch_ShellFragmentLoop: ; 17418 (5:7418) jr nz, .loop ret -DayCareMon1: ; 17421 +DayCareMon1: ld hl, DayCareMon1Text call PrintText ld a, [wBreedMon1Species] @@ -898,7 +882,7 @@ DayCareMon1: ; 17421 call DayCareMonCompatibilityText jp PrintText -DayCareMon2: ; 17440 +DayCareMon2: ld hl, DayCareMon2Text call PrintText ld a, [wBreedMon2Species] @@ -911,9 +895,8 @@ DayCareMon2: ; 17440 call DayCareMonCompatibilityText jp PrintText -DayCareMonCursor: ; 1745f +DayCareMonCursor: jp WaitPressAorB_BlinkCursor -; 17462 DayCareMon2Text: ; 0x17462 ; It's @ that was left with the DAY-CARE LADY. @@ -927,7 +910,7 @@ DayCareMon1Text: ; 0x17467 db "@" ; 0x1746c -DayCareMonCompatibilityText: ; 1746c +DayCareMonCompatibilityText: push bc ld de, wStringBuffer1 ld bc, NAME_LENGTH @@ -951,7 +934,6 @@ DayCareMonCompatibilityText: ; 1746c .done ret -; 1749c .AllAlone: ; 0x1749c ; It's brimming with energy. @@ -983,12 +965,10 @@ DayCareMonCompatibilityText: ; 1746c db "@" ; 0x174b5 -Unreferenced_DayCareMonPrintEmptyString: ; 174b5 +Unreferenced_DayCareMonPrintEmptyString: ld hl, .string ret -; 174b9 -.string ; 174b9 +.string db "@" -; 174ba diff --git a/engine/pokemon/breedmon_level_growth.asm b/engine/pokemon/breedmon_level_growth.asm index dc22db798..c6356dd6e 100644 --- a/engine/pokemon/breedmon_level_growth.asm +++ b/engine/pokemon/breedmon_level_growth.asm @@ -1,4 +1,4 @@ -GetBreedMon1LevelGrowth: ; e698 +GetBreedMon1LevelGrowth: ld hl, wBreedMon1Stats ld de, wTempMon ld bc, BOXMON_STRUCT_LENGTH @@ -12,7 +12,7 @@ GetBreedMon1LevelGrowth: ; e698 ld d, a ret -GetBreedMon2LevelGrowth: ; e6b3 +GetBreedMon2LevelGrowth: ld hl, wBreedMon2Stats ld de, wTempMon ld bc, BOXMON_STRUCT_LENGTH diff --git a/engine/pokemon/caught_data.asm b/engine/pokemon/caught_data.asm index 3bfacf539..a3edecb2d 100644 --- a/engine/pokemon/caught_data.asm +++ b/engine/pokemon/caught_data.asm @@ -1,4 +1,4 @@ -CheckPartyFullAfterContest: ; 4d9e5 +CheckPartyFullAfterContest: ld a, [wContestMon] and a jp z, .DidntCatchAnything @@ -85,7 +85,7 @@ CheckPartyFullAfterContest: ; 4d9e5 ld [wScriptVar], a ret -.TryAddToBox: ; 4daa3 +.TryAddToBox: ld a, BANK(sBoxCount) call GetSRAMBank ld hl, sBoxCount @@ -146,12 +146,12 @@ CheckPartyFullAfterContest: ; 4d9e5 ld [wScriptVar], a ret -.DidntCatchAnything: ; 4db35 +.DidntCatchAnything: ld a, BUGCONTEST_NO_CATCH ld [wScriptVar], a ret -GiveANickname_YesNo: ; 4db3b +GiveANickname_YesNo: ld hl, TextJump_GiveANickname call PrintText jp YesNoBox @@ -161,12 +161,12 @@ TextJump_GiveANickname: ; 0x4db44 text_jump UnknownText_0x1c12fc db "@" -SetCaughtData: ; 4db49 +SetCaughtData: ld a, [wPartyCount] dec a ld hl, wPartyMon1CaughtLevel call GetPartyLocation -SetBoxmonOrEggmonCaughtData: ; 4db53 +SetBoxmonOrEggmonCaughtData: ld a, [wTimeOfDay] inc a rrca @@ -199,7 +199,7 @@ SetBoxmonOrEggmonCaughtData: ; 4db53 ld [hl], a ret -SetBoxMonCaughtData: ; 4db83 +SetBoxMonCaughtData: ld a, BANK(sBoxMon1CaughtLevel) call GetSRAMBank ld hl, sBoxMon1CaughtLevel @@ -207,7 +207,7 @@ SetBoxMonCaughtData: ; 4db83 call CloseSRAM ret -SetGiftBoxMonCaughtData: ; 4db92 +SetGiftBoxMonCaughtData: push bc ld a, BANK(sBoxMon1CaughtLevel) call GetSRAMBank @@ -217,14 +217,14 @@ SetGiftBoxMonCaughtData: ; 4db92 call CloseSRAM ret -SetGiftPartyMonCaughtData: ; 4dba3 +SetGiftPartyMonCaughtData: ld a, [wPartyCount] dec a ld hl, wPartyMon1CaughtLevel push bc call GetPartyLocation pop bc -SetGiftMonCaughtData: ; 4dbaf +SetGiftMonCaughtData: xor a ld [hli], a ld a, GIFT_LOCATION @@ -233,7 +233,7 @@ SetGiftMonCaughtData: ; 4dbaf ld [hl], a ret -SetEggMonCaughtData: ; 4dbb8 (13:5bb8) +SetEggMonCaughtData: ld a, [wCurPartyMon] ld hl, wPartyMon1CaughtLevel call GetPartyLocation diff --git a/engine/pokemon/correct_nick_errors.asm b/engine/pokemon/correct_nick_errors.asm index 5d44846bf..335540cfe 100644 --- a/engine/pokemon/correct_nick_errors.asm +++ b/engine/pokemon/correct_nick_errors.asm @@ -1,4 +1,4 @@ -CorrectNickErrors:: ; 669f +CorrectNickErrors:: ; error-check monster nick before use ; must be a peace offering to gamesharkers @@ -60,7 +60,7 @@ CorrectNickErrors:: ; 669f pop bc ret -.textcommands ; 66cf +.textcommands ; table defining which characters are actually text commands ; format: ; ≥ < diff --git a/engine/pokemon/correct_party_errors.asm b/engine/pokemon/correct_party_errors.asm index cf60115ee..50a9f3562 100644 --- a/engine/pokemon/correct_party_errors.asm +++ b/engine/pokemon/correct_party_errors.asm @@ -201,13 +201,11 @@ Unreferenced_CorrectPartyErrors: dec b jr nz, .loop5 ret -; 13b6b -.TAMAGO: ; 13b6b +.TAMAGO: db "タマゴ@@@" -; 13b71 -.GetLengthOfStringWith6CharCap: ; 13b71 +.GetLengthOfStringWith6CharCap: push de ld c, 1 ld b, NAME_LENGTH_JAPANESE @@ -226,4 +224,3 @@ Unreferenced_CorrectPartyErrors: .done pop de ret -; 13b87 diff --git a/engine/pokemon/european_mail.asm b/engine/pokemon/european_mail.asm index 8f037cc43..38c542d35 100644 --- a/engine/pokemon/european_mail.asm +++ b/engine/pokemon/european_mail.asm @@ -1,4 +1,4 @@ -IsMailEuropean: ; 1de5c8 +IsMailEuropean: ; return 1 if French ; return 2 if German ; return 3 if Italian @@ -27,18 +27,18 @@ IsMailEuropean: ; 1de5c8 ret ; The regular font. -StandardEnglishFont: ; 1de5e6 +StandardEnglishFont: INCBIN "gfx/font/english.1bpp" ; An extended font. -FrenchGermanFont: ; 1de9e6 +FrenchGermanFont: INCBIN "gfx/font/french_german.1bpp" ; An even more extended font. -SpanishItalianFont: ; 1dede6 +SpanishItalianFont: INCBIN "gfx/font/spanish_italian.1bpp" -HandleFrenchGermanMail: ; 1df1e6 +HandleFrenchGermanMail: ; called if mail is french or german ; fix 's 't 'v ld b, sPartyMon1MailAuthor - sPartyMon1Mail @@ -68,7 +68,7 @@ HandleFrenchGermanMail: ; 1df1e6 ret LireLeCourrierAnglais: -DeutenEnglischenPost: ; 1df203 +DeutenEnglischenPost: ; Cette fonction convertit certains des caractères anglais pour ; leur équivalent dans le jeu de caractères français. ; Diese Funktion wandelt bestimmte englische Zeichen, um ihre @@ -99,7 +99,7 @@ DeutenEnglischenPost: ; 1df203 jr nz, .loop ret -HandleSpanishItalianMail: ; 1df220 +HandleSpanishItalianMail: LeerCorreosIngleses: LeggiPostaInglese: ; This function converts certain characters between diff --git a/engine/pokemon/evolve.asm b/engine/pokemon/evolve.asm index 291bd79b0..ad17ca43e 100644 --- a/engine/pokemon/evolve.asm +++ b/engine/pokemon/evolve.asm @@ -1,4 +1,4 @@ -EvolvePokemon: ; 421d8 +EvolvePokemon: ld hl, wEvolvableFlags xor a ld [hl], a @@ -6,7 +6,7 @@ EvolvePokemon: ; 421d8 ld c, a ld b, SET_FLAG call EvoFlagAction -EvolveAfterBattle: ; 421e6 +EvolveAfterBattle: xor a ld [wMonTriedToEvolve], a dec a @@ -323,7 +323,6 @@ EvolveAfterBattle_MasterLoop: ld l, e ld h, d jp EvolveAfterBattle_MasterLoop -; 423f8 .dont_evolve_1 inc hl @@ -349,9 +348,8 @@ EvolveAfterBattle_MasterLoop: and a call nz, RestartMapMusic ret -; 42414 -UpdateSpeciesNameIfNotNicknamed: ; 42414 +UpdateSpeciesNameIfNotNicknamed: ld a, [wCurSpecies] push af ld a, [wBaseDexNo] @@ -382,17 +380,15 @@ UpdateSpeciesNameIfNotNicknamed: ; 42414 pop de ld bc, MON_NAME_LENGTH jp CopyBytes -; 42454 -CancelEvolution: ; 42454 +CancelEvolution: ld hl, Text_StoppedEvolving call PrintText call ClearTileMap pop hl jp EvolveAfterBattle_MasterLoop -; 42461 -IsMonHoldingEverstone: ; 42461 +IsMonHoldingEverstone: push hl ld a, [wCurPartyMon] ld hl, wPartyMon1Item @@ -402,7 +398,6 @@ IsMonHoldingEverstone: ; 42461 cp EVERSTONE pop hl ret -; 42473 Text_CongratulationsYourPokemon: ; 0x42473 ; Congratulations! Your @ @ @@ -429,7 +424,7 @@ Text_WhatEvolving: ; 0x42482 ; 0x42487 -LearnLevelMoves: ; 42487 +LearnLevelMoves: ld a, [wd265] ld [wCurPartySpecies], a dec a @@ -492,10 +487,9 @@ LearnLevelMoves: ; 42487 ld a, [wCurPartySpecies] ld [wd265], a ret -; 424e1 -FillMoves: ; 424e1 +FillMoves: ; Fill in moves at de for wCurPartySpecies at wCurPartyLevel push hl @@ -604,9 +598,8 @@ FillMoves: ; 424e1 pop de pop hl ret -; 4256e -ShiftMoves: ; 4256e +ShiftMoves: ld c, NUM_MOVES - 1 .loop inc de @@ -615,18 +608,16 @@ ShiftMoves: ; 4256e dec c jr nz, .loop ret -; 42577 -EvoFlagAction: ; 42577 +EvoFlagAction: push de ld d, $0 predef SmallFarFlagAction pop de ret -; 42581 -GetPreEvolution: ; 42581 +GetPreEvolution: ; Find the first mon to evolve into wCurPartySpecies. ; Return carry and the new species in wCurPartySpecies @@ -673,4 +664,3 @@ GetPreEvolution: ; 42581 ld [wCurPartySpecies], a scf ret -; 425b1 diff --git a/engine/pokemon/experience.asm b/engine/pokemon/experience.asm index 6b94ed357..3c3b10439 100644 --- a/engine/pokemon/experience.asm +++ b/engine/pokemon/experience.asm @@ -1,4 +1,4 @@ -CalcLevel: ; 50e1b +CalcLevel: ld a, [wTempMonSpecies] ld [wCurSpecies], a call GetBaseData @@ -30,7 +30,7 @@ CalcLevel: ; 50e1b dec d ret -CalcExpAtLevel: ; 50e47 +CalcExpAtLevel: ; (a/b)*n**3 + c*n**2 + d*n - e ld a, [wBaseGrowthRate] add a @@ -150,7 +150,7 @@ CalcExpAtLevel: ; 50e47 ld [hMultiplicand], a ret -.LevelSquared: ; 50eed +.LevelSquared: xor a ld [hMultiplicand + 0], a ld [hMultiplicand + 1], a diff --git a/engine/pokemon/health.asm b/engine/pokemon/health.asm index cc47e8252..229da1e19 100644 --- a/engine/pokemon/health.asm +++ b/engine/pokemon/health.asm @@ -1,4 +1,4 @@ -HealParty: ; c658 +HealParty: xor a ld [wCurPartyMon], a ld hl, wPartySpecies @@ -22,7 +22,7 @@ HealParty: ; c658 .done ret -HealPartyMon: ; c677 +HealPartyMon: ld a, MON_SPECIES call GetPartyParamLocation ld d, h @@ -52,7 +52,7 @@ HealPartyMon: ; c677 farcall RestoreAllPP ret -ComputeHPBarPixels: ; c699 +ComputeHPBarPixels: ; e = bc * (6 * 8) / de ld a, b or c @@ -103,7 +103,7 @@ ComputeHPBarPixels: ; c699 ld e, 0 ret -AnimateHPBar: ; c6e0 +AnimateHPBar: call WaitBGMap call _AnimateHPBar call WaitBGMap diff --git a/engine/pokemon/knows_move.asm b/engine/pokemon/knows_move.asm index 4ec3da347..16021450f 100644 --- a/engine/pokemon/knows_move.asm +++ b/engine/pokemon/knows_move.asm @@ -1,4 +1,4 @@ -KnowsMove: ; f9ea +KnowsMove: ld a, MON_MOVES call GetPartyParamLocation ld a, [wPutativeTMHMMove] diff --git a/engine/pokemon/learn.asm b/engine/pokemon/learn.asm index fb62289a7..20294c878 100644 --- a/engine/pokemon/learn.asm +++ b/engine/pokemon/learn.asm @@ -1,4 +1,4 @@ -LearnMove: ; 6508 +LearnMove: call LoadTileMapToTempTileMap ld a, [wCurPartyMon] ld hl, wPartyMonNicknames @@ -117,9 +117,8 @@ LearnMove: ; 6508 call PrintText ld b, 1 ret -; 65d3 -ForgetMove: ; 65d3 +ForgetMove: push hl ld hl, Text_TryingToLearn call PrintText @@ -200,40 +199,34 @@ ForgetMove: ; 65d3 .cancel scf ret -; 666b -Text_LearnedMove: ; 666b +Text_LearnedMove: ; <MON> learned <MOVE>! text_jump UnknownText_0x1c5660 db "@" -; 6670 -Text_ForgetWhich: ; 6670 +Text_ForgetWhich: ; Which move should be forgotten? text_jump UnknownText_0x1c5678 db "@" -; 6675 -Text_StopLearning: ; 6675 +Text_StopLearning: ; Stop learning <MOVE>? text_jump UnknownText_0x1c5699 db "@" -; 667a -Text_DidNotLearn: ; 667a +Text_DidNotLearn: ; <MON> did not learn <MOVE>. text_jump UnknownText_0x1c56af db "@" -; 667f -Text_TryingToLearn: ; 667f +Text_TryingToLearn: ; <MON> is trying to learn <MOVE>. But <MON> can't learn more than ; four moves. Delete an older move to make room for <MOVE>? text_jump UnknownText_0x1c56c9 db "@" -; 6684 -Text_1_2_and_Poof: ; 6684 +Text_1_2_and_Poof: text_jump UnknownText_0x1c5740 ; 1, 2 and… start_asm push de @@ -247,10 +240,8 @@ Text_1_2_and_Poof: ; 6684 ; Poof! <MON> forgot <MOVE>. And… text_jump UnknownText_0x1c574e db "@" -; 669a -Text_CantForgetHM: ; 669a +Text_CantForgetHM: ; HM moves can't be forgotten now. text_jump UnknownText_0x1c5772 db "@" -; 669f diff --git a/engine/pokemon/level_up_happiness.asm b/engine/pokemon/level_up_happiness.asm index 8c6dd92fe..533399d9f 100644 --- a/engine/pokemon/level_up_happiness.asm +++ b/engine/pokemon/level_up_happiness.asm @@ -1,4 +1,4 @@ -LevelUpHappinessMod: ; 2709e +LevelUpHappinessMod: ld a, [wCurPartyMon] ld hl, wPartyMon1CaughtLocation call GetPartyLocation diff --git a/engine/pokemon/mail.asm b/engine/pokemon/mail.asm index 33bce604d..c14d1006b 100644 --- a/engine/pokemon/mail.asm +++ b/engine/pokemon/mail.asm @@ -1,4 +1,4 @@ -SendMailToPC: ; 4456e +SendMailToPC: ld a, MON_ITEM call GetPartyParamLocation ld d, [hl] @@ -37,9 +37,8 @@ SendMailToPC: ; 4456e .full scf ret -; 445c0 -DeleteMailFromPC: ; 445c0 (11:45c0) +DeleteMailFromPC: ; Shift all mail messages in the mailbox ld a, BANK(sMailboxCount) call GetSRAMBank @@ -71,9 +70,8 @@ DeleteMailFromPC: ; 445c0 (11:45c0) ld hl, sMailboxCount dec [hl] jp CloseSRAM -; 445f4 (11:45f4) -ReadMailMessage: ; 445f4 +ReadMailMessage: ld a, b ld hl, sMailbox ld bc, MAIL_STRUCT_LENGTH @@ -83,7 +81,7 @@ ReadMailMessage: ; 445f4 farcall ReadAnyMail ret -MoveMailFromPCToParty: ; 44607 +MoveMailFromPCToParty: ld a, BANK(sMailboxCount) call GetSRAMBank push bc @@ -114,17 +112,15 @@ MoveMailFromPCToParty: ; 44607 call CloseSRAM pop bc jp DeleteMailFromPC -; 44648 (11:4648) -GetMailboxCount: ; 44648 +GetMailboxCount: ld a, BANK(sMailboxCount) call GetSRAMBank ld a, [sMailboxCount] ld c, a jp CloseSRAM -; 44654 -CheckPokeMail:: ; 44654 +CheckPokeMail:: push bc push de farcall SelectMonFromParty @@ -191,10 +187,9 @@ CheckPokeMail:: ; 44654 .return ld [wScriptVar], a ret -; 446cc -GivePokeMail:: ; 446cc +GivePokeMail:: ld a, [wPartyCount] dec a push af @@ -241,10 +236,9 @@ GivePokeMail:: ; 446cc ld a, b ld [de], a jp CloseSRAM -; 44725 -BackupPartyMonMail: ; 44725 +BackupPartyMonMail: ld a, BANK(sPartyMail) call GetSRAMBank ld hl, sPartyMail @@ -256,9 +250,8 @@ BackupPartyMonMail: ; 44725 ld bc, 1 + 10 * MAIL_STRUCT_LENGTH call CopyBytes jp CloseSRAM -; 44745 -RestorePartyMonMail: ; 44745 (11:4745) +RestorePartyMonMail: ld a, BANK(sPartyMail) call GetSRAMBank ld hl, sPartyMailBackup @@ -271,7 +264,7 @@ RestorePartyMonMail: ; 44745 (11:4745) call CopyBytes jp CloseSRAM -DeletePartyMonMail: ; 44765 (11:4765) +DeletePartyMonMail: ld a, BANK(sPartyMail) call GetSRAMBank xor a @@ -283,10 +276,9 @@ DeletePartyMonMail: ; 44765 (11:4765) ld bc, 1 + 10 * MAIL_STRUCT_LENGTH call ByteFill jp CloseSRAM -; 44781 (11:4781) -IsAnyMonHoldingMail: ; 44781 +IsAnyMonHoldingMail: ld a, [wPartyCount] and a jr z, .no_mons @@ -308,7 +300,6 @@ IsAnyMonHoldingMail: ; 44781 .no_mons and a ret -; 447a0 _PlayerMailBoxMenu: ; 0x447a0 call InitMail diff --git a/engine/pokemon/mail_2.asm b/engine/pokemon/mail_2.asm index 6e326641b..1cc776706 100644 --- a/engine/pokemon/mail_2.asm +++ b/engine/pokemon/mail_2.asm @@ -1,11 +1,11 @@ -ReadPartyMonMail: ; b9229 +ReadPartyMonMail: ld a, [wCurPartyMon] ld hl, sPartyMail ld bc, MAIL_STRUCT_LENGTH call AddNTimes ld d, h ld e, l -ReadAnyMail: ; b9237 +ReadAnyMail: push de call ClearBGPalettes call ClearSprites @@ -63,9 +63,8 @@ ReadAnyMail: ; b9237 pop af ld [wJumptableIndex], a jr .loop -; b92b8 -.LoadGFX: ; b92b8 +.LoadGFX: ld h, d ld l, e push hl @@ -110,9 +109,8 @@ ReadAnyMail: ; b9237 jp hl .done ret -; b92f8 -MailGFXPointers: ; b92f8 +MailGFXPointers: dbw FLOWER_MAIL, LoadFlowerMailGFX dbw SURF_MAIL, LoadSurfMailGFX dbw LITEBLUEMAIL, LoadLiteBlueMailGFX @@ -124,9 +122,8 @@ MailGFXPointers: ; b92f8 dbw MUSIC_MAIL, LoadMusicMailGFX dbw MIRAGE_MAIL, LoadMirageMailGFX db -1 -; b9317 -LoadSurfMailGFX: ; b9317 +LoadSurfMailGFX: push bc ld hl, vTiles2 tile $31 ld de, SurfMailBorderGFX @@ -140,7 +137,7 @@ LoadSurfMailGFX: ; b9317 call LoadMailGFX_Color2 jr FinishLoadingSurfLiteBlueMailGFX -LoadLiteBlueMailGFX: ; b9335 +LoadLiteBlueMailGFX: push bc ld hl, vTiles2 tile $31 ld de, LiteBlueMailBorderGFX @@ -153,7 +150,7 @@ LoadLiteBlueMailGFX: ; b9335 ld c, 1 * 8 call LoadMailGFX_Color2 -FinishLoadingSurfLiteBlueMailGFX: ; b9351 +FinishLoadingSurfLiteBlueMailGFX: ld de, SurfLiteBlueMailSmallShapesGFX ld c, 2 * 8 call LoadMailGFX_Color2 @@ -209,9 +206,8 @@ FinishLoadingSurfLiteBlueMailGFX: ; b9351 ld [hli], a pop hl jp MailGFX_PlaceMessage -; b93d2 -LoadEonMailGFX: ; b93d2 +LoadEonMailGFX: push bc ld hl, vTiles2 tile $31 ld de, EonMailBorder1GFX @@ -259,9 +255,8 @@ LoadEonMailGFX: ; b93d2 call LovelyEonMail_PlaceIcons pop hl jp MailGFX_PlaceMessage -; b944b -LoadLovelyMailGFX: ; b944b +LoadLovelyMailGFX: push bc ld hl, vTiles2 tile $31 ld de, LovelyMailBorderGFX @@ -290,9 +285,8 @@ LoadLovelyMailGFX: ; b944b call LovelyEonMail_PlaceIcons pop hl jp MailGFX_PlaceMessage -; b9491 -LovelyEonMail_PlaceIcons: ; b9491 +LovelyEonMail_PlaceIcons: ld a, $3d hlcoord 2, 2 call Mail_Draw2x2Graphic @@ -322,9 +316,8 @@ LovelyEonMail_PlaceIcons: ; b9491 hlcoord 16, 12 ld [hl], a ret -; b94d6 -LoadMorphMailGFX: ; b94d6 +LoadMorphMailGFX: push bc ld hl, vTiles2 tile $31 ld bc, 5 * 8 @@ -398,9 +391,8 @@ LoadMorphMailGFX: ; b94d6 call Mail_Draw3x2Graphic pop hl jp MailGFX_PlaceMessage -; b9582 -LoadBlueSkyMailGFX: ; b9582 +LoadBlueSkyMailGFX: push bc ld hl, vTiles2 tile $31 ld de, EonMailBorder1GFX @@ -476,9 +468,8 @@ LoadBlueSkyMailGFX: ; b9582 call Mail_Draw2x2Graphic pop hl jp MailGFX_PlaceMessage -; b9636 -Mail_Place6TileRow: ; b9636 +Mail_Place6TileRow: ld b, $6 .loop ld [hli], a @@ -486,9 +477,8 @@ Mail_Place6TileRow: ; b9636 dec b jr nz, .loop ret -; b963e -LoadFlowerMailGFX: ; b963e +LoadFlowerMailGFX: push bc ld hl, vTiles2 tile $31 ld de, FlowerMailBorderGFX @@ -541,9 +531,8 @@ LoadFlowerMailGFX: ; b963e call Mail_Draw2x2Graphic pop hl jp MailGFX_PlaceMessage -; b96ca -LoadPortraitMailGFX: ; b96ca +LoadPortraitMailGFX: push bc ld hl, vTiles2 tile $31 ld de, PortraitMailBorderGFX @@ -572,9 +561,8 @@ LoadPortraitMailGFX: ; b96ca call PrepMonFrontpic pop hl jp MailGFX_PlaceMessage -; b9710 -LoadMusicMailGFX: ; b9710 +LoadMusicMailGFX: push bc ld hl, vTiles2 tile $31 ld de, MusicMailBorderGFX @@ -615,9 +603,8 @@ LoadMusicMailGFX: ; b9710 call LovelyEonMail_PlaceIcons pop hl jp MailGFX_PlaceMessage -; b9776 -LoadMirageMailGFX: ; b9776 +LoadMirageMailGFX: push bc ld hl, vTiles2 tile $31 ld bc, 5 * 8 @@ -676,9 +663,8 @@ LoadMirageMailGFX: ; b9776 call Mail_Draw16TileRow pop hl jp MailGFX_PlaceMessage -; b97f8 -MailGFX_GenerateMonochromeTilesColor2: ; b97f8 +MailGFX_GenerateMonochromeTilesColor2: .loop xor a ld [hli], a @@ -689,9 +675,8 @@ MailGFX_GenerateMonochromeTilesColor2: ; b97f8 or c jr nz, .loop ret -; b9803 -MailGFX_PlaceMessage: ; b9803 +MailGFX_PlaceMessage: ld bc, MAIL_STRUCT_LENGTH ld de, wTempMail ld a, BANK(sPartyMail) @@ -723,9 +708,8 @@ MailGFX_PlaceMessage: ; b9803 .place_author jp PlaceString -; b984e -Unreferenced_Functionb984e: ; b984e +Unreferenced_Functionb984e: .loop ld a, [hl] xor $ff @@ -735,9 +719,8 @@ Unreferenced_Functionb984e: ; b984e or c jr nz, .loop ret -; b9858 -DrawMailBorder: ; b9858 +DrawMailBorder: hlcoord 0, 0 ld a, $31 ld [hli], a @@ -757,9 +740,8 @@ DrawMailBorder: ; b9858 ld a, $38 ld [hl], a ret -; b987b -DrawMailBorder2: ; b987b +DrawMailBorder2: hlcoord 0, 0 ld a, $31 ld [hli], a @@ -778,23 +760,22 @@ DrawMailBorder2: ; b987b call Mail_DrawLeftRightBorder ld [hl], $31 ret -; b989e -Mail_Place14TileAlternatingRow: ; b989e +Mail_Place14TileAlternatingRow: push af ld b, 14 / 2 jr Mail_PlaceAlternatingRow -Mail_Place16TileAlternatingRow: ; b98a3 +Mail_Place16TileAlternatingRow: push af ld b, 16 / 2 jr Mail_PlaceAlternatingRow -Mail_Place18TileAlternatingRow: ; b98a8 +Mail_Place18TileAlternatingRow: push af ld b, 18 / 2 -Mail_PlaceAlternatingRow: ; b98ab +Mail_PlaceAlternatingRow: .loop ld [hli], a inc a @@ -805,18 +786,17 @@ Mail_PlaceAlternatingRow: ; b98ab ld [hl], a pop af ret -; b98b5 -Mail_Place14TileAlternatingColumn: ; b98b5 +Mail_Place14TileAlternatingColumn: push af ld b, 14 / 2 jr Mail_PlaceAlternatingColumn -Mail_Place16TileAlternatingColumn: ; b98ba +Mail_Place16TileAlternatingColumn: push af ld b, 16 / 2 -Mail_PlaceAlternatingColumn: ; b98bd +Mail_PlaceAlternatingColumn: .loop ld [hl], a ld de, SCREEN_WIDTH @@ -830,36 +810,34 @@ Mail_PlaceAlternatingColumn: ; b98bd ld [hl], a pop af ret -; b98cc -Mail_Draw7TileRow: ; b98cc +Mail_Draw7TileRow: ld b, $7 jr Mail_DrawRowLoop -Mail_Draw13TileRow: ; b98d0 +Mail_Draw13TileRow: ld b, $d jr Mail_DrawRowLoop -Mail_Draw16TileRow: ; b98d4 +Mail_Draw16TileRow: ld b, $10 jr Mail_DrawRowLoop -Mail_DrawTopBottomBorder: ; b98d8 +Mail_DrawTopBottomBorder: ld b, SCREEN_WIDTH - 2 jr Mail_DrawRowLoop -Mail_DrawFullWidthBorder: ; b98dc +Mail_DrawFullWidthBorder: ld b, SCREEN_WIDTH -Mail_DrawRowLoop: ; b98de +Mail_DrawRowLoop: .loop ld [hli], a dec b jr nz, .loop ret -; b98e3 -Mail_DrawLeftRightBorder: ; b98e3 +Mail_DrawLeftRightBorder: ld b, SCREEN_HEIGHT - 2 ld de, SCREEN_WIDTH .loop @@ -868,9 +846,8 @@ Mail_DrawLeftRightBorder: ; b98e3 dec b jr nz, .loop ret -; b98ee -Mail_Draw2x2Graphic: ; b98ee +Mail_Draw2x2Graphic: push af ld [hli], a inc a @@ -883,9 +860,8 @@ Mail_Draw2x2Graphic: ; b98ee ld [hl], a pop af ret -; b98fc -Mail_Draw3x2Graphic: ; b98fc +Mail_Draw3x2Graphic: ld [hli], a inc a ld [hli], a @@ -900,9 +876,8 @@ Mail_Draw3x2Graphic: ; b98fc inc a ld [hl], a ret -; b990c -LoadMailGFX_Color1: ; b990c +LoadMailGFX_Color1: .loop ld a, [de] inc de @@ -912,9 +887,8 @@ LoadMailGFX_Color1: ; b990c dec c jr nz, .loop ret -; b9915 -LoadMailGFX_Color2: ; b9915 +LoadMailGFX_Color2: .loop xor a ld [hli], a @@ -924,9 +898,8 @@ LoadMailGFX_Color2: ; b9915 dec c jr nz, .loop ret -; b991e -LoadMailGFX_Color3: ; b991e +LoadMailGFX_Color3: .loop ld a, [de] inc de @@ -935,15 +908,13 @@ LoadMailGFX_Color3: ; b991e dec c jr nz, .loop ret -; b9926 INCLUDE "gfx/mail.asm" -ItemIsMail: ; b9e76 +ItemIsMail: ld a, d ld hl, MailItems ld de, 1 jp IsInArray -; b9e80 INCLUDE "data/items/mail_items.asm" diff --git a/engine/pokemon/mon_menu.asm b/engine/pokemon/mon_menu.asm index 088b1b1a3..2d14bd603 100644 --- a/engine/pokemon/mon_menu.asm +++ b/engine/pokemon/mon_menu.asm @@ -1,6 +1,6 @@ INCLUDE "data/mon_menu.asm" -MonSubmenu: ; 24d19 +MonSubmenu: xor a ld [hBGMapMode], a call GetMonSubmenuItems @@ -17,16 +17,14 @@ MonSubmenu: ; 24d19 call ExitMenu ret -; 24d3f -.MenuHeader: ; 24d3f +.MenuHeader: db MENU_BACKUP_TILES ; flags menu_coords 6, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 dw 0 db 1 ; default option -; 24d47 -.GetTopCoord: ; 24d47 +.GetTopCoord: ; TopCoord = 1 + BottomCoord - 2 * (NumSubmenuItems + 1) ld a, [wBuffer1] inc a @@ -38,9 +36,8 @@ MonSubmenu: ; 24d19 ld [wMenuBorderTopCoord], a call MenuBox ret -; 24d59 -MonMenuLoop: ; 24d59 +MonMenuLoop: .loop ld a, MENU_UNUSED_3 | MENU_BACKUP_TILES_2 ; flags ld [wMenuDataFlags], a @@ -72,9 +69,8 @@ MonMenuLoop: ; 24d59 add hl, bc ld a, [hl] ret -; 24d91 -PopulateMonMenu: ; 24d91 +PopulateMonMenu: call MenuBoxCoord2Tile ld bc, 2 * SCREEN_WIDTH + 2 add hl, bc @@ -93,9 +89,8 @@ PopulateMonMenu: ; 24d91 add hl, bc pop de jr .loop -; 24db0 -GetMonMenuString: ; 24db0 +GetMonMenuString: ld hl, MonMenuOptions + 1 ld de, 3 call IsInArray @@ -118,9 +113,8 @@ GetMonMenuString: ; 24db0 ld d, h ld e, l ret -; 24dd4 -GetMonSubmenuItems: ; 24dd4 +GetMonSubmenuItems: call ResetMonSubmenu ld a, [wCurPartySpecies] cp EGG @@ -195,9 +189,8 @@ GetMonSubmenuItems: ; 24dd4 call AddMonMenuItem call TerminateMonSubmenu ret -; 24e52 -IsFieldMove: ; 24e52 +IsFieldMove: ld b, a ld hl, MonMenuOptions .next @@ -216,18 +209,16 @@ IsFieldMove: ; 24e52 .nope ret -; 24e68 -ResetMonSubmenu: ; 24e68 +ResetMonSubmenu: xor a ld [wBuffer1], a ld hl, wBuffer2 ld bc, NUM_MONMENU_ITEMS + 1 call ByteFill ret -; 24e76 -TerminateMonSubmenu: ; 24e76 +TerminateMonSubmenu: ld a, [wBuffer1] ld e, a ld d, 0 @@ -235,9 +226,8 @@ TerminateMonSubmenu: ; 24e76 add hl, de ld [hl], -1 ret -; 24e83 -AddMonMenuItem: ; 24e83 +AddMonMenuItem: push hl push de push af @@ -253,9 +243,8 @@ AddMonMenuItem: ; 24e83 pop de pop hl ret -; 24e99 -BattleMonMenu: ; 24e99 +BattleMonMenu: ld hl, MenuHeader_0x24ed4 call CopyMenuHeader xor a @@ -286,19 +275,16 @@ BattleMonMenu: ; 24e99 .clear_carry and a ret -; 24ed4 -MenuHeader_0x24ed4: ; 24ed4 +MenuHeader_0x24ed4: db 0 ; flags menu_coords 11, 11, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 dw MenuData_0x24edc db 1 ; default option -; 24edc -MenuData_0x24edc: ; 24edc +MenuData_0x24edc: db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags db 3 ; items db "SWITCH@" db "STATS@" db "CANCEL@" -; 24ef2 diff --git a/engine/pokemon/mon_stats.asm b/engine/pokemon/mon_stats.asm index 5468d76fe..829e99e6b 100644 --- a/engine/pokemon/mon_stats.asm +++ b/engine/pokemon/mon_stats.asm @@ -1,11 +1,11 @@ -DrawPlayerHP: ; 50b0a +DrawPlayerHP: ld a, $1 jr DrawHP -DrawEnemyHP: ; 50b0e +DrawEnemyHP: ld a, $2 -DrawHP: ; 50b10 +DrawHP: ld [wWhichHPBar], a push hl push bc @@ -82,7 +82,7 @@ DrawHP: ; 50b10 pop de ret -PrintTempMonStats: ; 50b7b +PrintTempMonStats: ; Print wTempMon's stats at hl, with spacing bc. push bc push hl @@ -105,7 +105,7 @@ PrintTempMonStats: ; 50b7b ld de, wTempMonSpeed jp PrintNum -.PrintStat: ; 50bab +.PrintStat: push hl call PrintNum pop hl @@ -113,7 +113,7 @@ PrintTempMonStats: ; 50b7b add hl, de ret -.StatNames: ; 50bb5 +.StatNames: db "ATTACK" next "DEFENSE" next "SPCL.ATK" @@ -121,7 +121,7 @@ PrintTempMonStats: ; 50b7b next "SPEED" next "@" -GetGender: ; 50bdd +GetGender: ; Return the gender of a given monster (wCurPartyMon/wCurOTMon/wCurWildMon). ; When calling this function, a should be set to an appropriate wMonType value. @@ -235,7 +235,7 @@ GetGender: ; 50bdd scf ret -ListMovePP: ; 50c50 +ListMovePP: ld a, [wNumMoves] inc a ld c, a @@ -316,7 +316,7 @@ ListMovePP: ; 50c50 .done ret -.load_loop ; 50cc9 +.load_loop ld [hli], a ld [hld], a add hl, de @@ -324,7 +324,7 @@ ListMovePP: ; 50c50 jr nz, .load_loop ret -Unreferenced_Function50cd0: ; 50cd0 +Unreferenced_Function50cd0: .loop ld [hl], $32 inc hl @@ -363,7 +363,7 @@ Unused_PlaceEnemyHPLevel: .egg ret -PlaceStatusString: ; 50d0a +PlaceStatusString: push de inc de inc de @@ -382,10 +382,10 @@ PlaceStatusString: ; 50d0a and a ret -FntString: ; 50d22 +FntString: db "FNT@" -CopyStatusString: ; 50d25 +CopyStatusString: ld a, [de] inc de ld [hli], a @@ -396,7 +396,7 @@ CopyStatusString: ; 50d25 ld [hl], a ret -PlaceNonFaintStatus: ; 50d2e +PlaceNonFaintStatus: push de ld a, [de] ld de, PsnString @@ -430,7 +430,7 @@ BrnString: db "BRN@" FrzString: db "FRZ@" ParString: db "PAR@" -ListMoves: ; 50d6f +ListMoves: ; List moves at hl, spaced every [wBuffer1] tiles. ld de, wListMoves_MoveIndicesBuffer ld b, $0 diff --git a/engine/pokemon/move_mon.asm b/engine/pokemon/move_mon.asm index 2074e537f..12d48e9ba 100644 --- a/engine/pokemon/move_mon.asm +++ b/engine/pokemon/move_mon.asm @@ -1,4 +1,4 @@ -TryAddMonToParty: ; d88c +TryAddMonToParty: ; Check if to copy wild mon or generate a new one ; Whose is it? ld de, wPartyCount @@ -76,7 +76,7 @@ TryAddMonToParty: ; d88c dec a ld bc, PARTYMON_STRUCT_LENGTH call AddNTimes -GeneratePartyMonStats: ; d906 +GeneratePartyMonStats: ; wBattleMode specifies whether it's a wild mon or not. ; wMonType specifies whether it's an opposing mon or not. ; wCurPartySpecies/wCurPartyLevel specify the species and level. @@ -360,9 +360,8 @@ endr .done scf ; When this function returns, the carry flag indicates success vs failure. ret -; da6d -FillPP: ; da6d +FillPP: push bc ld b, NUM_MOVES .loop @@ -391,9 +390,8 @@ FillPP: ; da6d jr nz, .loop pop bc ret -; da96 -AddTempmonToParty: ; da96 +AddTempmonToParty: ld hl, wPartyCount ld a, [hl] cp PARTY_LENGTH @@ -477,7 +475,7 @@ AddTempmonToParty: ; da96 and a ret -SendGetMonIntoFromBox: ; db3f +SendGetMonIntoFromBox: ; Sents/Gets mon into/from Box depending on Parameter ; wPokemonWithdrawDepositParameter == 0: get mon into Party ; wPokemonWithdrawDepositParameter == 1: sent mon into Box @@ -702,15 +700,13 @@ SendGetMonIntoFromBox: ; db3f call CloseSRAM and a ret -; dcb1 -CloseSRAM_And_SetCarryFlag: ; dcb1 +CloseSRAM_And_SetCarryFlag: call CloseSRAM scf ret -; dcb6 -RestorePPofDepositedPokemon: ; dcb6 +RestorePPofDepositedPokemon: ld a, b ld hl, sBoxMons ld bc, BOXMON_STRUCT_LENGTH @@ -773,9 +769,8 @@ RestorePPofDepositedPokemon: ; dcb6 pop af ld [wMenuCursorY], a ret -; dd21 -RetrieveMonFromDayCareMan: ; dd21 +RetrieveMonFromDayCareMan: ld a, [wBreedMon1Species] ld [wCurPartySpecies], a ld de, SFX_TRANSACTION @@ -789,9 +784,8 @@ RetrieveMonFromDayCareMan: ; dd21 xor a ld [wPokemonWithdrawDepositParameter], a jp RetrieveBreedmon -; dd42 -RetrieveMonFromDayCareLady: ; dd42 +RetrieveMonFromDayCareLady: ld a, [wBreedMon2Species] ld [wCurPartySpecies], a ld de, SFX_TRANSACTION @@ -805,9 +799,8 @@ RetrieveMonFromDayCareLady: ; dd42 ld a, PC_DEPOSIT ld [wPokemonWithdrawDepositParameter], a jp RetrieveBreedmon -; dd64 -RetrieveBreedmon: ; dd64 +RetrieveBreedmon: ld hl, wPartyCount ld a, [hl] cp PARTY_LENGTH @@ -902,9 +895,8 @@ RetrieveBreedmon: ; dd64 ld [hl], a and a ret -; de1a -GetLastPartyMon: ; de1a +GetLastPartyMon: ld a, [wPartyCount] dec a ld hl, wPartyMon1Species @@ -913,25 +905,22 @@ GetLastPartyMon: ; de1a ld d, h ld e, l ret -; de2a -DepositMonWithDayCareMan: ; de2a +DepositMonWithDayCareMan: ld de, wBreedMon1Nick call DepositBreedmon xor a ; REMOVE_PARTY ld [wPokemonWithdrawDepositParameter], a jp RemoveMonFromPartyOrBox -; de37 -DepositMonWithDayCareLady: ; de37 +DepositMonWithDayCareLady: ld de, wBreedMon2Nick call DepositBreedmon xor a ; REMOVE_PARTY ld [wPokemonWithdrawDepositParameter], a jp RemoveMonFromPartyOrBox -; de44 -DepositBreedmon: ; de44 +DepositBreedmon: ld a, [wCurPartyMon] ld hl, wPartyMonNicknames call SkipNames @@ -947,7 +936,7 @@ DepositBreedmon: ; de44 ld bc, BOXMON_STRUCT_LENGTH jp CopyBytes -SendMonIntoBox: ; de6e +SendMonIntoBox: ; Sends the mon into one of Bills Boxes ; the data comes mainly from 'wEnemyMon:' ld a, BANK(sBoxCount) @@ -1073,15 +1062,13 @@ SendMonIntoBox: ; de6e call CloseSRAM scf ret -; df42 -.full ; df42 +.full call CloseSRAM and a ret -; df47 -ShiftBoxMon: ; df47 +ShiftBoxMon: ld hl, sBoxMonOT ld bc, NAME_LENGTH call .shift @@ -1127,9 +1114,8 @@ ShiftBoxMon: ; df47 or b jr nz, .loop ret -; df8c -GiveEgg:: ; df8c +GiveEgg:: ld a, [wCurPartySpecies] push af callfar GetPreEvolution @@ -1226,13 +1212,11 @@ GiveEgg:: ; df8c ld [hl], a and a ret -; e035 -String_Egg: ; e035 +String_Egg: db "EGG@" -; e039 -RemoveMonFromPartyOrBox: ; e039 +RemoveMonFromPartyOrBox: ld hl, wPartyCount ld a, [wPokemonWithdrawDepositParameter] @@ -1382,10 +1366,9 @@ RemoveMonFromPartyOrBox: ; e039 jr nz, .loop2 .close_sram jp CloseSRAM -; e134 -ComputeNPCTrademonStats: ; e134 +ComputeNPCTrademonStats: ld a, MON_LEVEL call GetPartyParamLocation ld a, [hl] @@ -1413,9 +1396,8 @@ ComputeNPCTrademonStats: ; e134 ld a, [de] ld [hl], a ret -; e167 -CalcMonStats: ; e167 +CalcMonStats: ; Calculates all 6 Stats of a mon ; b: Take into account stat EXP if TRUE ; 'c' counts from 1-6 and points with 'wBaseStats' to the base value @@ -1436,9 +1418,8 @@ CalcMonStats: ; e167 cp STAT_SDEF jr nz, .loop ret -; e17b -CalcMonStatC: ; e17b +CalcMonStatC: ; 'c' is 1-6 and points to the BaseStat ; 1: HP ; 2: Attack @@ -1632,9 +1613,8 @@ CalcMonStatC: ; e17b pop de pop hl ret -; e277 -GivePoke:: ; e277 +GivePoke:: push de push bc xor a ; PARTYMON @@ -1812,14 +1792,12 @@ GivePoke:: ; e277 call CloseSRAM ld b, $1 ret -; e3d4 -.FailedToGiveMon: ; e3d4 +.FailedToGiveMon: pop bc pop de ld b, $2 ret -; e3d9 TextJump_WasSentToBillsPC: ; 0xe3d9 ; was sent to BILL's PC. @@ -1827,7 +1805,7 @@ TextJump_WasSentToBillsPC: ; 0xe3d9 db "@" ; 0xe3de -InitNickname: ; e3de +InitNickname: push de call LoadStandardMenuHeader call DisableSpriteUpdates @@ -1842,4 +1820,3 @@ InitNickname: ; e3de ld hl, ExitAllMenus rst FarCall ret -; e3fd diff --git a/engine/pokemon/move_mon_wo_mail.asm b/engine/pokemon/move_mon_wo_mail.asm index 5d81da8a0..1dab879c7 100644 --- a/engine/pokemon/move_mon_wo_mail.asm +++ b/engine/pokemon/move_mon_wo_mail.asm @@ -1,4 +1,4 @@ -InsertPokemonIntoBox: ; 51322 +InsertPokemonIntoBox: ld a, BANK(sBoxCount) call GetSRAMBank ld hl, sBoxCount @@ -37,7 +37,7 @@ InsertPokemonIntoBox: ; 51322 farcall RestorePPofDepositedPokemon jp CloseSRAM -InsertPokemonIntoParty: ; 5138b +InsertPokemonIntoParty: ld hl, wPartyCount call InsertSpeciesIntoBoxOrParty ld a, [wPartyCount] @@ -63,7 +63,7 @@ InsertPokemonIntoParty: ; 5138b call InsertDataIntoBoxOrParty ret -InsertSpeciesIntoBoxOrParty: ; 513cb +InsertSpeciesIntoBoxOrParty: inc [hl] inc hl ld a, [wCurPartyMon] @@ -81,7 +81,7 @@ InsertSpeciesIntoBoxOrParty: ; 513cb jr nz, .loop ret -InsertDataIntoBoxOrParty: ; 513e0 +InsertDataIntoBoxOrParty: push de push hl push bc diff --git a/engine/pokemon/party_menu.asm b/engine/pokemon/party_menu.asm index da9ae7e10..91509e40d 100644 --- a/engine/pokemon/party_menu.asm +++ b/engine/pokemon/party_menu.asm @@ -1,4 +1,4 @@ -SelectMonFromParty: ; 50000 +SelectMonFromParty: call DisableSpriteUpdates xor a ld [wPartyMenuActionText], a @@ -10,10 +10,9 @@ SelectMonFromParty: ; 50000 call PartyMenuSelect call ReturnToMapWithSpeechTextbox ret -; 5001d -SelectTradeOrDayCareMon: ; 5001d +SelectTradeOrDayCareMon: ld a, b ld [wPartyMenuActionText], a call DisableSpriteUpdates @@ -27,23 +26,20 @@ SelectTradeOrDayCareMon: ; 5001d call PartyMenuSelect call ReturnToMapWithSpeechTextbox ret -; 5003f -InitPartyMenuLayout: ; 5003f +InitPartyMenuLayout: call LoadPartyMenuGFX call InitPartyMenuWithCancel call InitPartyMenuGFX call WritePartyMenuTilemap call PrintPartyMenuText ret -; 5004f -LoadPartyMenuGFX: ; 5004f +LoadPartyMenuGFX: call LoadFontsBattleExtra callfar InitPartyMenuPalettes ; engine/color.asm callfar ClearSpriteAnims2 ret -; 5005f WritePartyMenuTilemap: ; 0x5005f @@ -73,7 +69,7 @@ WritePartyMenuTilemap: ; 0x5005f ret ; 0x50089 -.Jumptable: ; 50089 +.Jumptable: ; entries correspond to PARTYMENUQUALITY_* constants dw PlacePartyNicknames dw PlacePartyHPBar @@ -84,9 +80,8 @@ WritePartyMenuTilemap: ; 0x5005f dw PlacePartyMonEvoStoneCompatibility dw PlacePartyMonGender dw PlacePartyMonMobileBattleSelection -; 5009b -PlacePartyNicknames: ; 5009b +PlacePartyNicknames: hlcoord 3, 1 ld a, [wPartyCount] and a @@ -116,14 +111,12 @@ PlacePartyNicknames: ; 5009b ld de, .CANCEL call PlaceString ret -; 500c8 -.CANCEL: ; 500c8 +.CANCEL: db "CANCEL@" -; 500cf -PlacePartyHPBar: ; 500cf +PlacePartyHPBar: xor a ld [wSGBPals], a ld a, [wPartyCount] @@ -164,9 +157,8 @@ PlacePartyHPBar: ; 500cf ld b, SCGB_PARTY_MENU call GetSGBLayout ret -; 50117 -PlacePartymonHPBar: ; 50117 +PlacePartymonHPBar: ld a, b ld bc, PARTYMON_STRUCT_LENGTH ld hl, wPartyMon1HP @@ -191,9 +183,8 @@ PlacePartymonHPBar: ; 50117 ld e, a predef ComputeHPBarPixels ret -; 50138 -PlacePartyMenuHPDigits: ; 50138 +PlacePartyMenuHPDigits: ld a, [wPartyCount] and a ret z @@ -233,9 +224,8 @@ PlacePartyMenuHPDigits: ; 50138 dec c jr nz, .loop ret -; 50176 -PlacePartyMonLevel: ; 50176 +PlacePartyMonLevel: ld a, [wPartyCount] and a ret z @@ -276,9 +266,8 @@ PlacePartyMonLevel: ; 50176 dec c jr nz, .loop ret -; 501b2 -PlacePartyMonStatus: ; 501b2 +PlacePartyMonStatus: ld a, [wPartyCount] and a ret z @@ -309,9 +298,8 @@ PlacePartyMonStatus: ; 501b2 dec c jr nz, .loop ret -; 501e0 -PlacePartyMonTMHMCompatibility: ; 501e0 +PlacePartyMonTMHMCompatibility: ld a, [wPartyCount] and a ret z @@ -344,9 +332,8 @@ PlacePartyMonTMHMCompatibility: ; 501e0 dec c jr nz, .loop ret -; 50215 -.PlaceAbleNotAble: ; 50215 +.PlaceAbleNotAble: ld a, c and a jr nz, .able @@ -356,18 +343,15 @@ PlacePartyMonTMHMCompatibility: ; 501e0 .able ld de, .string_able ret -; 50221 -.string_able ; 50221 +.string_able db "ABLE@" -; 50226 -.string_not_able ; 50226 +.string_not_able db "NOT ABLE@" -; 5022f -PlacePartyMonEvoStoneCompatibility: ; 5022f +PlacePartyMonEvoStoneCompatibility: ld a, [wPartyCount] and a ret z @@ -404,9 +388,8 @@ PlacePartyMonEvoStoneCompatibility: ; 5022f dec c jr nz, .loop ret -; 50268 -.DetermineCompatibility: ; 50268 +.DetermineCompatibility: ld de, wStringBuffer1 ld a, BANK(EvosAttacksPointers) ld bc, 2 @@ -441,17 +424,14 @@ PlacePartyMonEvoStoneCompatibility: ; 5022f .nope ld de, .string_not_able ret -; 502a3 -.string_able ; 502a3 +.string_able db "ABLE@" -; 502a8 -.string_not_able ; 502a8 +.string_not_able db "NOT ABLE@" -; 502b1 -PlacePartyMonGender: ; 502b1 +PlacePartyMonGender: ld a, [wPartyCount] and a ret z @@ -489,22 +469,18 @@ PlacePartyMonGender: ; 502b1 dec c jr nz, .loop ret -; 502ee -.male ; 502ee +.male db "♂…MALE@" -; 502f5 -.female ; 502f5 +.female db "♀…FEMALE@" -; 502fe -.unknown ; 502fe +.unknown db "…UNKNOWN@" -; 50307 -PlacePartyMonMobileBattleSelection: ; 50307 +PlacePartyMonMobileBattleSelection: ld a, [wPartyCount] and a ret z @@ -571,23 +547,18 @@ PlacePartyMonMobileBattleSelection: ; 50307 dec b ret z jr .loop2 -; 5036b -.String_Banme: ; 5036b +.String_Banme: db " ばんめ @" ; Place -; 50372 -.String_Sanka_Shinai: ; 50372 +.String_Sanka_Shinai: db "さんかしない@" ; Cancel -; 50379 -.String_Kettei_Yameru: ; 50379 +.String_Kettei_Yameru: db "けってい やめる@" ; Quit -; 50383 -.Strings_1_2_3: ; 50383 +.Strings_1_2_3: db "1@", "2@", "3@" ; 1st, 2nd, 3rd -; 50389 -PartyMenuCheckEgg: ; 50389 +PartyMenuCheckEgg: ld a, LOW(wPartySpecies) add b ld e, a @@ -597,9 +568,8 @@ PartyMenuCheckEgg: ; 50389 ld a, [de] cp EGG ret -; 50396 -GetPartyMenuQualityIndexes: ; 50396 +GetPartyMenuQualityIndexes: ld a, [wPartyMenuActionText] and $f0 jr nz, .skip @@ -618,12 +588,11 @@ GetPartyMenuQualityIndexes: ; 50396 .skip ld hl, PartyMenuQualityPointers.Default ret -; 503b2 INCLUDE "data/party_menu_qualities.asm" -InitPartyMenuGFX: ; 503e0 +InitPartyMenuGFX: ld hl, wPartyCount ld a, [hli] and a @@ -647,9 +616,8 @@ InitPartyMenuGFX: ; 503e0 jr nz, .loop callfar PlaySpriteAnimations ret -; 50405 -InitPartyMenuWithCancel: ; 50405 +InitPartyMenuWithCancel: ; with cancel xor a ld [wSwitchMon], a @@ -675,7 +643,6 @@ InitPartyMenuWithCancel: ; 50405 ld a, A_BUTTON | B_BUTTON ld [wMenuJoypadFilter], a ret -; 5042d InitPartyMenuNoCancel: ; 0x5042d ; no cancel @@ -697,9 +664,8 @@ InitPartyMenuNoCancel: ; 0x5042d ld a, A_BUTTON | B_BUTTON ld [wMenuJoypadFilter], a ret -; 5044f (14:444f) -PartyMenuAttributes: ; 5044f +PartyMenuAttributes: ; cursor y ; cursor x ; num rows @@ -713,7 +679,6 @@ PartyMenuAttributes: ; 5044f db $60, $00 dn 2, 0 db 0 -; 50457 PartyMenuSelect: ; 0x50457 ; sets carry if exitted menu. @@ -755,7 +720,7 @@ PartyMenuSelect: ; 0x50457 ; 0x5049a -PrintPartyMenuText: ; 5049a +PrintPartyMenuText: hlcoord 0, 14 lb bc, 2, 18 call TextBox @@ -764,7 +729,7 @@ PrintPartyMenuText: ; 5049a jr nz, .haspokemon ld de, YouHaveNoPKMNString jr .gotstring -.haspokemon ; 504ae +.haspokemon ld a, [wPartyMenuActionText] and $f ; drop high nibble ld hl, PartyMenuStrings @@ -775,7 +740,7 @@ PrintPartyMenuText: ; 5049a ld a, [hli] ld d, [hl] ld e, a -.gotstring ; 504be +.gotstring ld a, [wOptions] push af set NO_TEXT_SCROLL, a @@ -827,7 +792,7 @@ ToWhichPKMNString: ; 0x50549 YouHaveNoPKMNString: ; 0x50556 db "You have no <PK><MN>!@" -PrintPartyMenuActionText: ; 50566 +PrintPartyMenuActionText: ld a, [wCurPartyMon] ld hl, wPartyMonNicknames call GetNick @@ -836,9 +801,8 @@ PrintPartyMenuActionText: ; 50566 ld hl, .MenuActionTexts call .PrintText ret -; 5057b -.MenuActionTexts: ; 5057b +.MenuActionTexts: ; entries correspond to PARTYMENUTEXT_* constants dw .Text_CuredOfPoison dw .Text_BurnWasHealed @@ -850,7 +814,6 @@ PrintPartyMenuActionText: ; 50566 dw .Text_Revitalized dw .Text_GrewToLevel dw .Text_CameToItsSenses -; 5058f .Text_RecoveredSomeHP: ; 0x5058f ; recovered @ HP! @@ -913,7 +876,7 @@ PrintPartyMenuActionText: ; 50566 ; 0x505c1 -.PrintText: ; 505c1 +.PrintText: ld e, a ld d, 0 add hl, de @@ -929,4 +892,3 @@ PrintPartyMenuActionText: ; 50566 pop af ld [wOptions], a ret -; 505da diff --git a/engine/pokemon/search.asm b/engine/pokemon/search.asm index 57b489a37..ec3f838ce 100644 --- a/engine/pokemon/search.asm +++ b/engine/pokemon/search.asm @@ -248,7 +248,7 @@ endr ret ; 0x4a810 -BoxAddressTable1: ; 4a810 +BoxAddressTable1: dba sBox1 dba sBox2 dba sBox3 @@ -263,7 +263,6 @@ BoxAddressTable1: ; 4a810 dba sBox12 dba sBox13 dba sBox14 -; 4a83a UpdateOTPointer: ; 0x4a83a push hl diff --git a/engine/pokemon/search2.asm b/engine/pokemon/search2.asm index b7112f1f8..7af93282e 100644 --- a/engine/pokemon/search2.asm +++ b/engine/pokemon/search2.asm @@ -1,18 +1,18 @@ -_FindPartyMonAboveLevel: ; 4dbd2 +_FindPartyMonAboveLevel: ld hl, wPartyMon1Level call FindAboveLevel ret -_FindPartyMonAtLeastThatHappy: ; 4dbd9 +_FindPartyMonAtLeastThatHappy: ld hl, wPartyMon1Happiness call FindAtLeastThatHappy ret -_FindPartyMonThatSpecies: ; 4dbe0 +_FindPartyMonThatSpecies: ld hl, wPartyMon1Species jp FindThatSpecies -_FindPartyMonThatSpeciesYourTrainerID: ; 4dbe6 +_FindPartyMonThatSpeciesYourTrainerID: ld hl, wPartyMon1Species call FindThatSpecies ret z @@ -35,7 +35,7 @@ _FindPartyMonThatSpeciesYourTrainerID: ; 4dbe6 xor a ret -FindAtLeastThatHappy: ; 4dc0a +FindAtLeastThatHappy: ; Sets the bits for the Pokemon that have a happiness greater than or equal to b. ; The lowest bits are used. Sets z if no Pokemon in your party is at least that happy. ld c, $0 @@ -69,7 +69,7 @@ FindAtLeastThatHappy: ; 4dc0a and a ret -FindAboveLevel: ; 4dc31 +FindAboveLevel: ld c, $0 ld a, [wPartyCount] ld d, a @@ -98,7 +98,7 @@ FindAboveLevel: ; 4dc31 and a ret -FindThatSpecies: ; 4dc56 +FindThatSpecies: ; Find species b in your party. ; If you have no Pokemon, returns c = -1 and z. ; If that species is in your party, returns its location in c, and nz. @@ -116,7 +116,7 @@ FindThatSpecies: ; 4dc56 and a ret -RetroactivelyIgnoreEggs: ; 4dc67 +RetroactivelyIgnoreEggs: ld e, -2 ld hl, wPartySpecies .loop diff --git a/engine/pokemon/stats_screen.asm b/engine/pokemon/stats_screen.asm index 7e44cb96e..ad272cad7 100644 --- a/engine/pokemon/stats_screen.asm +++ b/engine/pokemon/stats_screen.asm @@ -4,7 +4,7 @@ const BLUE_PAGE ; 3 NUM_STAT_PAGES EQU const_value + -1 -BattleStatsScreenInit: ; 4dc7b (13:5c7b) +BattleStatsScreenInit: ld a, [wLinkMode] cp LINK_MOBILE jr nz, StatsScreenInit @@ -14,15 +14,15 @@ BattleStatsScreenInit: ; 4dc7b (13:5c7b) jr z, StatsScreenInit jr _MobileStatsScreenInit -StatsScreenInit: ; 4dc8a +StatsScreenInit: ld hl, StatsScreenMain jr StatsScreenInit_gotaddress -_MobileStatsScreenInit: ; 4dc8f +_MobileStatsScreenInit: ld hl, StatsScreenMobile jr StatsScreenInit_gotaddress -StatsScreenInit_gotaddress: ; 4dc94 +StatsScreenInit_gotaddress: ld a, [hMapAnims] push af xor a @@ -67,7 +67,7 @@ StatsScreenMain: ; 0x4dcd2 and %11111100 or 1 ld [wcf64], a -.loop ; 4dce3 +.loop ld a, [wJumptableIndex] and $ff ^ (1 << 7) ld hl, StatsScreenPointerTable @@ -79,7 +79,7 @@ StatsScreenMain: ; 0x4dcd2 ret ; 0x4dcf7 -StatsScreenMobile: ; 4dcf7 +StatsScreenMobile: xor a ld [wJumptableIndex], a ; stupid interns @@ -103,9 +103,8 @@ StatsScreenMobile: ; 4dcf7 .exit ret -; 4dd2a -StatsScreenPointerTable: ; 4dd2a +StatsScreenPointerTable: dw MonStatsInit ; regular pokémon dw EggStatsInit ; egg dw StatsScreenWaitCry @@ -114,10 +113,9 @@ StatsScreenPointerTable: ; 4dd2a dw StatsScreenWaitCry dw MonStatsJoypad dw StatsScreen_Exit -; 4dd3a -StatsScreen_WaitAnim: ; 4dd3a (13:5d3a) +StatsScreen_WaitAnim: ld hl, wcf64 bit 6, [hl] jr nz, .try_anim @@ -137,19 +135,19 @@ StatsScreen_WaitAnim: ; 4dd3a (13:5d3a) farcall HDMATransferTileMapToWRAMBank3 ret -StatsScreen_SetJumptableIndex: ; 4dd62 (13:5d62) +StatsScreen_SetJumptableIndex: ld a, [wJumptableIndex] and $80 or h ld [wJumptableIndex], a ret -StatsScreen_Exit: ; 4dd6c (13:5d6c) +StatsScreen_Exit: ld hl, wJumptableIndex set 7, [hl] ret -MonStatsInit: ; 4dd72 (13:5d72) +MonStatsInit: ld hl, wcf64 res 6, [hl] call ClearBGPalettes @@ -171,7 +169,7 @@ MonStatsInit: ; 4dd72 (13:5d72) call StatsScreen_SetJumptableIndex ret -EggStatsInit: ; 4dda1 +EggStatsInit: call EggStatsScreen ld a, [wJumptableIndex] inc a @@ -180,7 +178,7 @@ EggStatsInit: ; 4dda1 ; 0x4ddac -EggStatsJoypad: ; 4ddac (13:5dac) +EggStatsJoypad: call StatsScreen_GetJoypad jr nc, .check ld h, 0 @@ -198,7 +196,7 @@ EggStatsJoypad: ; 4ddac (13:5dac) call StatsScreen_SetJumptableIndex ret -StatsScreen_LoadPage: ; 4ddc6 (13:5dc6) +StatsScreen_LoadPage: call StatsScreen_LoadGFX ld hl, wcf64 res 4, [hl] @@ -207,7 +205,7 @@ StatsScreen_LoadPage: ; 4ddc6 (13:5dc6) ld [wJumptableIndex], a ret -MonStatsJoypad: ; 4ddd6 (13:5dd6) +MonStatsJoypad: call StatsScreen_GetJoypad jr nc, .next ld h, 0 @@ -218,7 +216,7 @@ MonStatsJoypad: ; 4ddd6 (13:5dd6) and D_DOWN | D_UP | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON jp StatsScreen_JoypadAction -StatsScreenWaitCry: ; 4dde6 (13:5de6) +StatsScreenWaitCry: call IsSFXPlaying ret nc ld a, [wJumptableIndex] @@ -226,7 +224,7 @@ StatsScreenWaitCry: ; 4dde6 (13:5de6) ld [wJumptableIndex], a ret -StatsScreen_CopyToTempMon: ; 4ddf2 (13:5df2) +StatsScreen_CopyToTempMon: ld a, [wMonType] cp TEMPMON jr nz, .breedmon @@ -252,7 +250,7 @@ StatsScreen_CopyToTempMon: ; 4ddf2 (13:5df2) and a ret -StatsScreen_GetJoypad: ; 4de2c (13:5e2c) +StatsScreen_GetJoypad: call GetJoypad ld a, [wMonType] cp TEMPMON @@ -280,7 +278,7 @@ StatsScreen_GetJoypad: ; 4de2c (13:5e2c) scf ret -StatsScreen_JoypadAction: ; 4de54 (13:5e54) +StatsScreen_JoypadAction: push af ld a, [wcf64] maskbits NUM_STAT_PAGES @@ -374,12 +372,12 @@ StatsScreen_JoypadAction: ; 4de54 (13:5e54) call StatsScreen_SetJumptableIndex ret -.b_button ; 4dee4 (13:5ee4) +.b_button ld h, 7 call StatsScreen_SetJumptableIndex ret -StatsScreen_InitUpperHalf: ; 4deea (13:5eea) +StatsScreen_InitUpperHalf: call .PlaceHPBar xor a ld [hBGMapMode], a @@ -416,7 +414,7 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea) call StatsScreen_PlaceShinyIcon ret -.PlaceHPBar: ; 4df45 (13:5f45) +.PlaceHPBar: ld hl, wTempMonHP ld a, [hli] ld b, a @@ -433,7 +431,7 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea) call DelayFrame ret -.PlaceGenderChar: ; 4df66 (13:5f66) +.PlaceGenderChar: push hl farcall GetGender pop hl @@ -444,16 +442,14 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea) .got_gender ld [hl], a ret -; 4df77 (13:5f77) -.NicknamePointers: ; 4df77 +.NicknamePointers: dw wPartyMonNicknames dw wOTPartyMonNicknames dw sBoxMonNicknames dw wBufferMonNick -; 4df7f -Unreferenced_Function4df7f: ; 4df7f +Unreferenced_Function4df7f: hlcoord 7, 0 ld bc, SCREEN_WIDTH ld d, SCREEN_HEIGHT @@ -464,9 +460,8 @@ Unreferenced_Function4df7f: ; 4df7f dec d jr nz, .loop ret -; 4df8f -StatsScreen_PlaceHorizontalDivider: ; 4df8f (13:5f8f) +StatsScreen_PlaceHorizontalDivider: hlcoord 0, 7 ld b, SCREEN_WIDTH ld a, $62 ; horizontal divider (empty HP/exp bar) @@ -476,14 +471,14 @@ StatsScreen_PlaceHorizontalDivider: ; 4df8f (13:5f8f) jr nz, .loop ret -StatsScreen_PlacePageSwitchArrows: ; 4df9b (13:5f9b) +StatsScreen_PlacePageSwitchArrows: hlcoord 12, 6 ld [hl], "◀" hlcoord 19, 6 ld [hl], "▶" ret -StatsScreen_PlaceShinyIcon: ; 4dfa6 (13:5fa6) +StatsScreen_PlaceShinyIcon: ld bc, wTempMonDVs farcall CheckShininess ret nc @@ -491,7 +486,7 @@ StatsScreen_PlaceShinyIcon: ; 4dfa6 (13:5fa6) ld [hl], "⁂" ret -StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) +StatsScreen_LoadGFX: ld a, [wBaseDexNo] ld [wd265], a ld [wCurSpecies], a @@ -510,7 +505,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) call StatsScreen_PlaceFrontpic ret -.ClearBox: ; 4dfda (13:5fda) +.ClearBox: ld a, [wcf64] maskbits NUM_STAT_PAGES ld c, a @@ -520,7 +515,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) call ClearBox ret -.LoadPals: ; 4dfed (13:5fed) +.LoadPals: ld a, [wcf64] maskbits NUM_STAT_PAGES ld c, a @@ -530,7 +525,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) set 5, [hl] ret -.PageTilemap: ; 4e002 (13:6002) +.PageTilemap: ld a, [wcf64] maskbits NUM_STAT_PAGES dec a @@ -538,13 +533,13 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) rst JumpTable ret -.Jumptable: ; 4e00d (13:600d) +.Jumptable: ; entries correspond to *_PAGE constants dw .PinkPage dw .GreenPage dw .BluePage -.PinkPage: ; 4e013 (13:6013) +.PinkPage: hlcoord 0, 9 ld b, $0 predef DrawPlayerHP @@ -624,7 +619,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) ld [hl], $41 ; right exp bar end cap ret -.PrintNextLevel: ; 4e0d3 (13:60d3) +.PrintNextLevel: ld a, [wTempMonLevel] push af cp MAX_LEVEL @@ -637,7 +632,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) ld [wTempMonLevel], a ret -.CalcExpToNextLevel: ; 4e0e7 (13:60e7) +.CalcExpToNextLevel: ld a, [wTempMonLevel] cp MAX_LEVEL jr z, .AlreadyAtMaxLevel @@ -666,34 +661,27 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) ld [hli], a ld [hl], a ret -; 4e119 (13:6119) -.Status_Type: ; 4e119 +.Status_Type: db "STATUS/" next "TYPE/@" -; 4e127 -.OK_str: ; 4e127 +.OK_str: db "OK @" -; 4e12b -.ExpPointStr: ; 4e12b +.ExpPointStr: db "EXP POINTS@" -; 4e136 -.LevelUpStr: ; 4e136 +.LevelUpStr: db "LEVEL UP@" -; 4e13f -.ToStr: ; 4e13f +.ToStr: db "TO@" -; 4e142 -.PkrsStr: ; 4e142 +.PkrsStr: db "#RUS@" -; 4e147 -.GreenPage: ; 4e147 (13:6147) +.GreenPage: ld de, .Item hlcoord 0, 8 call PlaceString @@ -717,7 +705,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) predef ListMovePP ret -.GetItemName: ; 4e189 (13:6189) +.GetItemName: ld de, .ThreeDashes ld a, [wTempMonItem] and a @@ -728,21 +716,17 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) ld [wd265], a call GetItemName ret -; 4e1a0 (13:61a0) -.Item: ; 4e1a0 +.Item: db "ITEM@" -; 4e1a5 -.ThreeDashes: ; 4e1a5 +.ThreeDashes: db "---@" -; 4e1a9 -.Move: ; 4e1a9 +.Move: db "MOVE@" -; 4e1ae -.BluePage: ; 4e1ae (13:61ae) +.BluePage: call .PlaceOTInfo hlcoord 10, 8 ld de, SCREEN_WIDTH @@ -758,7 +742,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) predef PrintTempMonStats ret -.PlaceOTInfo: ; 4e1cc (13:61cc) +.PlaceOTInfo: ld de, IDNoString hlcoord 0, 9 call PlaceString @@ -789,24 +773,21 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) ld [hl], a .done ret -; 4e216 (13:6216) -.OTNamePointers: ; 4e216 +.OTNamePointers: dw wPartyMonOT dw wOTPartyMonOT dw sBoxMonOT dw wBufferMonOT -; 4e21e -IDNoString: ; 4e21e +IDNoString: db "<ID>№.@" -OTString: ; 4e222 +OTString: db "OT/@" -; 4e226 -StatsScreen_PlaceFrontpic: ; 4e226 (13:6226) +StatsScreen_PlaceFrontpic: ld hl, wTempMonDVs predef GetUnownLetter call StatsScreen_GetAnimationParam @@ -832,7 +813,7 @@ StatsScreen_PlaceFrontpic: ; 4e226 (13:6226) call PlayMonCry2 ret -.AnimateMon: ; 4e253 (13:6253) +.AnimateMon: ld hl, wcf64 set 5, [hl] ld a, [wCurPartySpecies] @@ -849,7 +830,7 @@ StatsScreen_PlaceFrontpic: ; 4e226 (13:6226) call _PrepMonFrontpic ret -.AnimateEgg: ; 4e271 (13:6271) +.AnimateEgg: ld a, [wCurPartySpecies] cp UNOWN jr z, .unownegg @@ -864,7 +845,7 @@ StatsScreen_PlaceFrontpic: ; 4e226 (13:6226) call .get_animation ret -.get_animation ; 4e289 (13:6289) +.get_animation ld a, [wCurPartySpecies] call IsAPokemon ret c @@ -879,20 +860,20 @@ StatsScreen_PlaceFrontpic: ; 4e226 (13:6226) set 6, [hl] ret -StatsScreen_GetAnimationParam: ; 4e2ad (13:62ad) +StatsScreen_GetAnimationParam: ld a, [wMonType] ld hl, .Jumptable rst JumpTable ret -.Jumptable: ; 4e2b5 (13:62b5) +.Jumptable: dw .PartyMon dw .OTPartyMon dw .BoxMon dw .Tempmon dw .Wildmon -.PartyMon: ; 4e2bf (13:62bf) +.PartyMon: ld a, [wCurPartyMon] ld hl, wPartyMon1 ld bc, PARTYMON_STRUCT_LENGTH @@ -901,11 +882,11 @@ StatsScreen_GetAnimationParam: ; 4e2ad (13:62ad) ld c, l jr .CheckEggFaintedFrzSlp -.OTPartyMon: ; 4e2cf (13:62cf) +.OTPartyMon: xor a ret -.BoxMon: ; 4e2d1 (13:62d1) +.BoxMon: ld hl, sBoxMons ld bc, PARTYMON_STRUCT_LENGTH ld a, [wCurPartyMon] @@ -920,11 +901,11 @@ StatsScreen_GetAnimationParam: ; 4e2ad (13:62ad) pop af ret -.Tempmon: ; 4e2ed (13:62ed) +.Tempmon: ld bc, wTempMonSpecies jr .CheckEggFaintedFrzSlp ; utterly pointless -.CheckEggFaintedFrzSlp: ; 4e2f2 (13:62f2) +.CheckEggFaintedFrzSlp: ld a, [wCurPartySpecies] cp EGG jr z, .egg @@ -935,16 +916,16 @@ StatsScreen_GetAnimationParam: ; 4e2ad (13:62ad) scf ret -.Wildmon: ; 4e301 (13:6301) +.Wildmon: ld a, $1 and a ret -.FaintedFrzSlp: ; 4e305 (13:6305) +.FaintedFrzSlp: xor a ret -StatsScreen_LoadTextBoxSpaceGFX: ; 4e307 (13:6307) +StatsScreen_LoadTextBoxSpaceGFX: nop push hl push de @@ -966,14 +947,12 @@ StatsScreen_LoadTextBoxSpaceGFX: ; 4e307 (13:6307) pop de pop hl ret -; 4e32a (13:632a) -Unreferenced_4e32a: ; 4e32a +Unreferenced_4e32a: ; A blank space tile? ds 16 -; 4e33a -EggStatsScreen: ; 4e33a +EggStatsScreen: xor a ld [hBGMapMode], a ld hl, wCurHPPal @@ -1027,10 +1006,10 @@ EggStatsScreen: ; 4e33a ret ; 0x4e3c0 -EggString: ; 4e3c0 +EggString: db "EGG@" -FiveQMarkString: ; 4e3c4 +FiveQMarkString: db "?????@" EggSoonString: ; 0x4e3ca @@ -1056,7 +1035,7 @@ EggALotMoreTimeString: ; 0x4e46e ; 0x4e497 -StatsScreen_AnimateEgg: ; 4e497 (13:6497) +StatsScreen_AnimateEgg: call StatsScreen_GetAnimationParam ret nc ld a, [wTempMonHappiness] @@ -1083,7 +1062,7 @@ StatsScreen_AnimateEgg: ; 4e497 (13:6497) set 6, [hl] ret -StatsScreen_LoadPageIndicators: ; 4e4cd (13:64cd) +StatsScreen_LoadPageIndicators: hlcoord 13, 5 ld a, $36 ; first of 4 small square tiles call .load_square @@ -1101,7 +1080,7 @@ StatsScreen_LoadPageIndicators: ; 4e4cd (13:64cd) hlcoord 15, 5 ; GREEN_PAGE (= GREEN_PAGE) jr z, .load_square hlcoord 17, 5 ; BLUE_PAGE (> GREEN_PAGE) -.load_square ; 4e4f7 (13:64f7) +.load_square push bc ld [hli], a inc a @@ -1115,7 +1094,7 @@ StatsScreen_LoadPageIndicators: ; 4e4cd (13:64cd) pop bc ret -CopyNickname: ; 4e505 (13:6505) +CopyNickname: ld de, wStringBuffer1 ld bc, MON_NAME_LENGTH jr .okay ; utterly pointless @@ -1137,7 +1116,7 @@ CopyNickname: ; 4e505 (13:6505) pop de ret -GetNicknamePointer: ; 4e528 (13:6528) +GetNicknamePointer: ld a, [wMonType] add a ld c, a @@ -1153,7 +1132,7 @@ GetNicknamePointer: ; 4e528 (13:6528) jp SkipNames -CheckFaintedFrzSlp: ; 4e53f +CheckFaintedFrzSlp: ld hl, MON_HP add hl, bc ld a, [hli] @@ -1170,4 +1149,3 @@ CheckFaintedFrzSlp: ; 4e53f .fainted_frz_slp scf ret -; 4e554 diff --git a/engine/pokemon/switchpartymons.asm b/engine/pokemon/switchpartymons.asm index b01178417..d612a3472 100644 --- a/engine/pokemon/switchpartymons.asm +++ b/engine/pokemon/switchpartymons.asm @@ -16,7 +16,7 @@ _SwitchPartyMons: .skip ret -.ClearSprite: ; 50f34 (14:4f34) +.ClearSprite: push af hlcoord 0, 1 ld bc, 2 * SCREEN_WIDTH @@ -39,7 +39,7 @@ _SwitchPartyMons: call WaitPlaySFX ret -.SwapMonAndMail: ; 50f62 (14:4f62) +.SwapMonAndMail: push hl push de push bc @@ -136,10 +136,10 @@ _SwitchPartyMons: pop hl ret -.CopyNameTowd002: ; 51036 (14:5036) +.CopyNameTowd002: ld de, wd002 -.CopyName: ; 51039 (14:5039) +.CopyName: ld bc, NAME_LENGTH call CopyBytes ret diff --git a/engine/pokemon/tempmon.asm b/engine/pokemon/tempmon.asm index 723bfb1dd..4547a02b9 100644 --- a/engine/pokemon/tempmon.asm +++ b/engine/pokemon/tempmon.asm @@ -1,4 +1,4 @@ -CopyMonToTempMon: ; 5084a +CopyMonToTempMon: ; gets the BaseData of a mon ; and copies the party_struct to wTempMon @@ -32,13 +32,13 @@ CopyMonToTempMon: ; 5084a .done ret -CalcBufferMonStats: ; 5088b +CalcBufferMonStats: ld bc, wBufferMon jr _TempMonStatsCalculation -CalcTempmonStats: ; 50890 +CalcTempmonStats: ld bc, wTempMon -_TempMonStatsCalculation: ; 50893 +_TempMonStatsCalculation: ld hl, MON_LEVEL add hl, bc ld a, [hl] @@ -82,7 +82,7 @@ _TempMonStatsCalculation: ; 50893 ld [hl], a ret -GetMonSpecies: ; 508d5 +GetMonSpecies: ; [wMonType] has the type of the mon ; e = Nr. of mon (i.e. [wCurPartyMon]) diff --git a/engine/pokemon/types.asm b/engine/pokemon/types.asm index dc0df61ae..76c7665a4 100644 --- a/engine/pokemon/types.asm +++ b/engine/pokemon/types.asm @@ -1,4 +1,4 @@ -PrintMonTypes: ; 5090d +PrintMonTypes: ; Print one or both types of [wCurSpecies] ; on the stats screen at hl. @@ -37,10 +37,9 @@ PrintMonTypes: ; 5090d add hl, bc ld bc, NAME_LENGTH_JAPANESE - 1 jp ByteFill -; 5093a -PrintMoveType: ; 5093a +PrintMoveType: ; Print the type of move b at hl. push hl @@ -58,7 +57,7 @@ PrintMoveType: ; 5093a ld b, a -PrintType: ; 50953 +PrintType: ; Print type b at hl. ld a, b @@ -75,10 +74,9 @@ PrintType: ; 50953 pop hl jp PlaceString -; 50964 -GetTypeName: ; 50964 +GetTypeName: ; Copy the name of type [wd265] to wStringBuffer1. ld a, [wd265] @@ -93,7 +91,6 @@ GetTypeName: ; 50964 ld de, wStringBuffer1 ld bc, MOVE_NAME_LENGTH jp CopyBytes -; 5097b INCLUDE "data/types/names.asm" diff --git a/engine/predef.asm b/engine/predef.asm index 13c593c90..e18765b0a 100644 --- a/engine/predef.asm +++ b/engine/predef.asm @@ -1,4 +1,4 @@ -GetPredefPointer:: ; 854b +GetPredefPointer:: ; Return the bank and address of wPredefID in a and wPredefAddress. ; Save hl for later (back in Predef) @@ -24,6 +24,5 @@ GetPredefPointer:: ; 854b ld a, [hl] ret -; 856b INCLUDE "data/predef_pointers.asm" diff --git a/engine/printer/print_party.asm b/engine/printer/print_party.asm index fa225a2a9..eeb694d62 100644 --- a/engine/printer/print_party.asm +++ b/engine/printer/print_party.asm @@ -1,6 +1,6 @@ PRINTPARTY_HP EQUS "\"◀\"" ; $71 -PrintPage1: ; 1dc1b0 +PrintPage1: hlcoord 0, 0 decoord 0, 0, wPrinterTileMapBuffer ld bc, 17 * SCREEN_WIDTH @@ -50,9 +50,8 @@ PrintPage1: ; 1dc1b0 jr nz, .column_loop ld [hl], $3a ret -; 1dc213 -PrintPage2: ; 1dc213 +PrintPage2: hlcoord 0, 0, wPrinterTileMapBuffer ld bc, 8 * SCREEN_WIDTH ld a, " " @@ -89,9 +88,8 @@ PrintPage2: ; 1dc213 ld a, b call nz, FarString ret -; 1dc26a -.FillColumn: ; 1dc26a +.FillColumn: push de ld de, SCREEN_WIDTH .column_loop @@ -101,7 +99,6 @@ PrintPage2: ; 1dc213 jr nz, .column_loop pop de ret -; 1dc275 GBPrinterStrings: ; used only for BANK(GBPrinterStrings) GBPrinterString_Null: db "@" @@ -132,9 +129,8 @@ GBPrinterString_PrinterError4: next "Check the Game Boy" next "Printer Manual." db "@" -; 1dc381 -PrintPartyMonPage1: ; 1dc381 +PrintPartyMonPage1: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -232,9 +228,8 @@ PrintPartyMonPage1: ; 1dc381 call GetSGBLayout call SetPalettes ret -; 1dc47b -PrintPartyMonPage2: ; 1dc47b +PrintPartyMonPage2: call ClearBGPalettes call ClearTileMap call ClearSprites @@ -284,24 +279,21 @@ PrintPartyMonPage2: ; 1dc47b call GetSGBLayout call SetPalettes ret -; 1dc507 -.PrintTempMonStats: ; 1dc507 +.PrintTempMonStats: lb bc, 2, 3 call PrintNum ret -; 1dc50e -Function1dc50e: ; 1dc50e +Function1dc50e: ld bc, NAME_LENGTH ld a, [wCurPartyMon] call AddNTimes ld e, l ld d, h ret -; 1dc51a -Function1dc51a: ; 1dc51a +Function1dc51a: and a jr z, .no_move @@ -315,9 +307,8 @@ Function1dc51a: ; 1dc51a .got_string call PlaceString ret -; 1dc52c -Function1dc52c: ; 1dc52c +Function1dc52c: farcall GetGender ld a, " " jr c, .got_gender @@ -334,18 +325,17 @@ Function1dc52c: ; 1dc52c hlcoord 18, 2 ld [hl], "⁂" ret -; 1dc550 -String1dc550: ; 1dc550 +String1dc550: db "OT/@" -String1dc554: ; 1dc554 +String1dc554: db "MOVE@" -String1dc559: ; 1dc559 +String1dc559: db "<ID>№.@" -String1dc55d: ; 1dc55d +String1dc55d: db "ATTACK" next "DEFENSE" next "SPCL.ATK" @@ -353,12 +343,11 @@ String1dc55d: ; 1dc55d next "SPEED" db "@" -String1dc584: ; 1dc584 +String1dc584: db "------------@" -; 1dc591 -GBPrinterHPIcon: ; 1dc591 +GBPrinterHPIcon: INCBIN "gfx/printer/hp.1bpp" -GBPrinterLvIcon: ; 1dc599 +GBPrinterLvIcon: INCBIN "gfx/printer/lv.1bpp" diff --git a/engine/printer/printer.asm b/engine/printer/printer.asm index 0264b4f7a..e2b0f1af5 100644 --- a/engine/printer/printer.asm +++ b/engine/printer/printer.asm @@ -1,6 +1,6 @@ INCLUDE "engine/printer/printer_serial.asm" -SendScreenToPrinter: ; 843f0 +SendScreenToPrinter: .loop call JoyTextDelay call CheckCancelPrint @@ -21,31 +21,27 @@ SendScreenToPrinter: ; 843f0 .cancel scf ret -; 84411 -Printer_CleanUpAfterSend: ; 84411 +Printer_CleanUpAfterSend: xor a ld [wPrinterConnectionOpen], a ld [wPrinterOpcode], a ret -; 84419 -Printer_PrepareTileMapForPrint: ; 84419 +Printer_PrepareTileMapForPrint: push af call Printer_StartTransmission pop af ld [wcbfa], a call Printer_CopyTileMapToBuffer ret -; 84425 -Printer_ExitPrinter: ; 84425 +Printer_ExitPrinter: call ReturnToMapFromSubmenu call Printer_RestartMapMusic ret -; 8442c -PrintDexEntry: ; 8442c +PrintDexEntry: ld a, [wPrinterQueueLength] push af @@ -121,9 +117,8 @@ PrintDexEntry: ; 8442c pop af ld [wPrinterQueueLength], a ret -; 844bc -PrintPCBox: ; 844bc (21:44bc) +PrintPCBox: ld a, [wPrinterQueueLength] push af ld a, 18 / 2 @@ -211,12 +206,12 @@ PrintPCBox: ; 844bc (21:44bc) ld [wPrinterQueueLength], a ret -Printer_ResetRegistersAndStartDataSend: ; 84559 (21:4559) +Printer_ResetRegistersAndStartDataSend: call Printer_ResetJoypadRegisters call SendScreenToPrinter ret -PrintUnownStamp: ; 84560 +PrintUnownStamp: ld a, [wPrinterQueueLength] push af xor a @@ -274,15 +269,13 @@ PrintUnownStamp: ; 84560 pop af ld [wPrinterQueueLength], a ret -; 845d4 -PrintMail: ; 845d4 +PrintMail: call PrintMail_ call Printer_ExitPrinter ret -; 845db -PrintMail_: ; 845db +PrintMail_: ld a, [wPrinterQueueLength] push af xor a @@ -323,9 +316,8 @@ PrintMail_: ; 845db pop af ld [wPrinterQueueLength], a ret -; 8461a -PrintPartymon: ; 8461a +PrintPartymon: ld a, [wPrinterQueueLength] push af xor a @@ -385,9 +377,8 @@ PrintPartymon: ; 8461a pop af ld [wPrinterQueueLength], a ret -; 84688 -_PrintDiploma: ; 84688 +_PrintDiploma: ld a, [wPrinterQueueLength] push af @@ -449,9 +440,8 @@ _PrintDiploma: ; 84688 pop af ld [wPrinterQueueLength], a ret -; 846f6 -CheckCancelPrint: ; 846f6 +CheckCancelPrint: ld a, [hJoyDown] and B_BUTTON jr nz, .pressed_b @@ -484,45 +474,39 @@ CheckCancelPrint: ; 846f6 ld [hPrinter], a scf ret -; 84728 -Printer_CopyTileMapToBuffer: ; 84728 +Printer_CopyTileMapToBuffer: hlcoord 0, 0 ld de, wPrinterTileMapBuffer ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyBytes ret -; 84735 -Printer_CopyBufferToTileMap: ; 84735 +Printer_CopyBufferToTileMap: ld hl, wPrinterTileMapBuffer decoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyBytes ret -; 84742 -Printer_ResetJoypadRegisters: ; 84742 +Printer_ResetJoypadRegisters: xor a ld [hJoyReleased], a ld [hJoyPressed], a ld [hJoyDown], a ld [hJoyLast], a ret -; 8474c -Printer_PlayMusic: ; 8474c +Printer_PlayMusic: ld de, MUSIC_PRINTER call PlayMusic2 ret -; 84753 -Printer_RestartMapMusic: ; 84753 +Printer_RestartMapMusic: call RestartMapMusic ret -; 84757 -CheckPrinterStatus: ; 84757 +CheckPrinterStatus: ; Check for printer errors ; If [ca88] == -1, we're disconnected ld a, [wPrinterHandshake] @@ -561,9 +545,8 @@ CheckPrinterStatus: ; 84757 .load_text_index ld [wPrinterStatus], a ret -; 84785 -PlacePrinterStatusString: ; 84785 +PlacePrinterStatusString: ; Print nonzero printer status ld a, [wPrinterStatus] and a @@ -594,9 +577,8 @@ PlacePrinterStatusString: ; 84785 xor a ld [wPrinterStatus], a ret -; 847bd -Unreferenced_Function847bd: ; 847bd +Unreferenced_Function847bd: ld a, [wPrinterStatus] and a ret z @@ -626,13 +608,11 @@ Unreferenced_Function847bd: ; 847bd xor a ld [wPrinterStatus], a ret -; 847f5 String_PressBToCancel: db "Press B to Cancel@" -; 84807 -PrinterStatusStringPointers: ; 84807 +PrinterStatusStringPointers: dw GBPrinterString_Null ; @ dw GBPrinterString_CheckingLink ; CHECKING LINK dw GBPrinterString_Transmitting ; TRANSMITTING @@ -641,9 +621,8 @@ PrinterStatusStringPointers: ; 84807 dw GBPrinterString_PrinterError2 ; error 2 dw GBPrinterString_PrinterError3 ; error 3 dw GBPrinterString_PrinterError4 ; error 4 -; 84817 -PrintPCBox_Page1: ; 84817 (21:4817) +PrintPCBox_Page1: xor a ld [wWhichBoxMonToPrint], a hlcoord 0, 0 @@ -678,13 +657,11 @@ PrintPCBox_Page1: ; 84817 (21:4817) ld c, 3 call Printer_PrintBoxListSegment ret -; 84865 (21:4865) .String_PokemonList: db "#MON LIST@" -; 8486f -PrintPCBox_Page2: ; 8486f (21:486f) +PrintPCBox_Page2: hlcoord 0, 0 ld bc, SCREEN_HEIGHT * SCREEN_WIDTH ld a, " " @@ -701,7 +678,7 @@ PrintPCBox_Page2: ; 8486f (21:486f) call Printer_PrintBoxListSegment ret -PrintPCBox_Page3: ; 84893 (21:4893) +PrintPCBox_Page3: hlcoord 0, 0 ld bc, SCREEN_HEIGHT * SCREEN_WIDTH ld a, " " @@ -718,7 +695,7 @@ PrintPCBox_Page3: ; 84893 (21:4893) call Printer_PrintBoxListSegment ret -PrintPCBox_Page4: ; 848b7 (21:48b7) +PrintPCBox_Page4: hlcoord 0, 0 ld bc, SCREEN_HEIGHT * SCREEN_WIDTH ld a, " " @@ -739,7 +716,7 @@ PrintPCBox_Page4: ; 848b7 (21:48b7) call Printer_PrintBoxListSegment ret -Printer_PrintBoxListSegment: ; 848e7 (21:48e7) +Printer_PrintBoxListSegment: ld a, [wBankOfBoxToPrint] call GetSRAMBank .loop @@ -839,7 +816,7 @@ Printer_PrintBoxListSegment: ; 848e7 (21:48e7) call CloseSRAM ret -Printer_GetMonGender: ; 8498a (21:498a) +Printer_GetMonGender: push hl ld a, [wAddrOfBoxToPrint] ld l, a @@ -871,7 +848,7 @@ Printer_GetMonGender: ; 8498a (21:498a) ld [hli], a ret -Printer_GetBoxMonSpecies: ; 849c6 (21:49c6) +Printer_GetBoxMonSpecies: push hl ld e, a ld d, $0 @@ -885,7 +862,7 @@ Printer_GetBoxMonSpecies: ; 849c6 (21:49c6) pop hl ret -Printer_PlaceTopBorder: ; 849d7 (21:49d7) +Printer_PlaceTopBorder: hlcoord 0, 0 ld a, "┌" ld [hli], a @@ -899,7 +876,7 @@ Printer_PlaceTopBorder: ; 849d7 (21:49d7) ld [hl], a ret -Printer_PlaceSideBorders: ; 849e9 (21:49e9) +Printer_PlaceSideBorders: hlcoord 0, 0 ld de, SCREEN_WIDTH - 1 ld c, SCREEN_HEIGHT @@ -913,7 +890,7 @@ Printer_PlaceSideBorders: ; 849e9 (21:49e9) jr nz, .loop ret -Printer_PlaceBottomBorders: ; 849fc (21:49fc) +Printer_PlaceBottomBorders: hlcoord 0, 17 ld a, "└" ld [hli], a @@ -927,7 +904,7 @@ Printer_PlaceBottomBorders: ; 849fc (21:49fc) ld [hl], a ret -Printer_PlaceEmptyBoxSlotString: ; 84a0e (21:4a0e) +Printer_PlaceEmptyBoxSlotString: hlcoord 2, 0 ld c, $6 .loop @@ -942,8 +919,6 @@ Printer_PlaceEmptyBoxSlotString: ; 84a0e (21:4a0e) dec c jr nz, .loop ret -; 84a25 (21:4a25) -String84a25: ; 84a25 +String84a25: db " ------@" -; 84a2e diff --git a/engine/printer/printer_serial.asm b/engine/printer/printer_serial.asm index 4e0d10851..b7422cac4 100644 --- a/engine/printer/printer_serial.asm +++ b/engine/printer/printer_serial.asm @@ -1,4 +1,4 @@ -Printer_StartTransmission: ; 84000 +Printer_StartTransmission: ld hl, wGameboyPrinterRAM ld bc, wGameboyPrinterRAMEnd - wGameboyPrinterRAM xor a @@ -14,9 +14,8 @@ Printer_StartTransmission: ; 84000 xor a ld [wJumptableIndex], a ret -; 84022 -PrinterJumptableIteration: ; 84022 +PrinterJumptableIteration: ld a, [wJumptableIndex] ld e, a ld d, 0 @@ -27,7 +26,6 @@ PrinterJumptableIteration: ; 84022 ld h, [hl] ld l, a jp hl -; 84031 .Jumptable: ; 84031 (21:4031) dw Print_InitPrinterHandshake ; 00 @@ -53,33 +51,33 @@ PrinterJumptableIteration: ; 84022 dw Printer_WaitLoopBack ; 12 dw Printer_WaitLoopBack_ ; 13 -Printer_NextSection: ; 84059 (21:4059) +Printer_NextSection: ld hl, wJumptableIndex inc [hl] ret -Printer_PrevSection: ; 8405e (21:405e) +Printer_PrevSection: ld hl, wJumptableIndex dec [hl] ret -Printer_Quit: ; 84063 (21:4063) +Printer_Quit: xor a ld [wPrinterStatusFlags], a ld hl, wJumptableIndex set 7, [hl] ret -Printer_NextSection_: ; 8406d (21:406d) +Printer_NextSection_: call Printer_NextSection ret -Printer_SectionOne: ; 84071 (21:4071) +Printer_SectionOne: ld a, $1 ld [wJumptableIndex], a ret -Print_InitPrinterHandshake: ; 84077 (21:4077) +Print_InitPrinterHandshake: call Printer_ResetData ld hl, PrinterDataPacket1 call Printer_CopyPacket @@ -94,7 +92,7 @@ Print_InitPrinterHandshake: ; 84077 (21:4077) ld [wPrinterStatus], a ret -Printer_StartTransmittingTilemap: ; 84099 (21:4099) +Printer_StartTransmittingTilemap: call Printer_ResetData ; check ??? ld hl, wPrinterRowIndex @@ -118,7 +116,7 @@ Printer_StartTransmittingTilemap: ; 84099 (21:4099) ld [wPrinterStatus], a ret -Printer_EndTilemapTransmission: ; 840c5 (21:40c5) +Printer_EndTilemapTransmission: ; ensure that we go from here to routine 7 ld a, $6 ld [wJumptableIndex], a @@ -133,7 +131,7 @@ Printer_EndTilemapTransmission: ; 840c5 (21:40c5) call Printer_WaitHandshake ret -Printer_SignalSendHeader: ; 840de (21:40de) +Printer_SignalSendHeader: call Printer_ResetData ld hl, PrinterDataPacket2 ; signal request print call Printer_CopyPacket @@ -151,7 +149,7 @@ Printer_SignalSendHeader: ; 840de (21:40de) ld [wPrinterStatus], a ret -Printer_SignalLoopBack: ; 84103 (21:4103) +Printer_SignalLoopBack: call Printer_ResetData ; send packet 1 ld hl, PrinterDataPacket1 ; signal no transmission @@ -166,7 +164,7 @@ Printer_SignalLoopBack: ; 84103 (21:4103) call Printer_WaitHandshake ret -Printer_WaitSerial: ; 84120 (21:4120) +Printer_WaitSerial: ld hl, wPrinterSerialFrameDelay inc [hl] ld a, [hl] @@ -177,7 +175,7 @@ Printer_WaitSerial: ; 84120 (21:4120) call Printer_NextSection ret -Printer_WaitSerialAndLoopBack2: ; 8412e (21:412e) +Printer_WaitSerialAndLoopBack2: ld hl, wPrinterSerialFrameDelay inc [hl] ld a, [hl] @@ -191,7 +189,7 @@ Printer_WaitSerialAndLoopBack2: ; 8412e (21:412e) call Printer_PrevSection ret -Printer_CheckConnectionStatus: ; 84143 (21:4143) +Printer_CheckConnectionStatus: ld a, [wPrinterOpcode] and a ret nz @@ -224,7 +222,7 @@ Printer_CheckConnectionStatus: ; 84143 (21:4143) ld [wJumptableIndex], a ret -Printer_TransmissionLoop: ; 84180 (21:4180) +Printer_TransmissionLoop: ld a, [wPrinterOpcode] and a ret nz @@ -246,7 +244,7 @@ Printer_TransmissionLoop: ; 84180 (21:4180) ld [wJumptableIndex], a ret -Printer_WaitUntilFinished: ; 841a1 (21:41a1) +Printer_WaitUntilFinished: ld a, [wPrinterOpcode] and a ret nz @@ -256,9 +254,9 @@ Printer_WaitUntilFinished: ; 841a1 (21:41a1) call Printer_NextSection ret -Printer_WaitLoopBack: ; 841b0 (21:41b0) +Printer_WaitLoopBack: call Printer_NextSection -Printer_WaitLoopBack_: ; 841b3 (21:41b3) +Printer_WaitLoopBack_: ld a, [wPrinterOpcode] and a ret nz @@ -269,7 +267,7 @@ Printer_WaitLoopBack_: ; 841b3 (21:41b3) ld [wJumptableIndex], a ret -Printer_WaitHandshake: ; 841c3 (21:41c3) +Printer_WaitHandshake: .loop ld a, [wPrinterOpcode] and a @@ -287,7 +285,7 @@ Printer_WaitHandshake: ; 841c3 (21:41c3) ld [rSC], a ret -Printer_CopyPacket: ; 841e2 (21:41e2) +Printer_CopyPacket: ld a, [hli] ld [wPrinterData], a ld a, [hli] @@ -302,7 +300,7 @@ Printer_CopyPacket: ; 841e2 (21:41e2) ld [wPrinterChecksum + 1], a ret -Printer_ResetData: ; 841fb (21:41fb) +Printer_ResetData: xor a ld hl, wPrinterData ld [hli], a @@ -320,7 +318,7 @@ Printer_ResetData: ; 841fb (21:41fb) call Printer_ByteFill ret -Printer_ComputeChecksum: ; 84219 (21:4219) +Printer_ComputeChecksum: ld hl, 0 ld bc, 4 ld de, wPrinterData @@ -337,7 +335,7 @@ Printer_ComputeChecksum: ; 84219 (21:4219) ld [wPrinterChecksum + 1], a ret -.ComputeChecksum: ; 8423c (21:423c) +.ComputeChecksum: .loop ld a, [de] inc de @@ -352,7 +350,7 @@ Printer_ComputeChecksum: ; 84219 (21:4219) jr nz, .loop ret -Printer_StageHeaderForSend: ; 84249 (21:4249) +Printer_StageHeaderForSend: ld a, $1 ld [wGameboyPrinter2bppSource + 0], a ld a, [wcbfa] @@ -363,7 +361,7 @@ Printer_StageHeaderForSend: ; 84249 (21:4249) ld [wGameboyPrinter2bppSource + 3], a ret -Printer_Convert2RowsTo2bpp: ; 84260 (21:4260) +Printer_Convert2RowsTo2bpp: ; de = wPrinterTileMapBuffer + 2 * SCREEN_WIDTH * ([wPrinterQueueLength] - [wPrinterRowIndex]) ld a, [wPrinterRowIndex] xor $ff @@ -420,7 +418,7 @@ Printer_Convert2RowsTo2bpp: ; 84260 (21:4260) jr nz, .loop2 ret -Printer_ByteFill: ; 842ab +Printer_ByteFill: push de ld e, a .loop @@ -433,7 +431,6 @@ Printer_ByteFill: ; 842ab ld a, e pop de ret -; 842b7 PrinterDataPacket1: db 1, 0, $00, 0 @@ -453,9 +450,8 @@ PrinterDataPacket5: ; unused PrinterDataPacket6: ; unused db 15, 0, $00, 0 dw 15 -; 842db -_PrinterReceive:: ; 842db +_PrinterReceive:: ld a, [wPrinterOpcode] add a ld e, a @@ -466,9 +462,8 @@ _PrinterReceive:: ; 842db ld h, [hl] ld l, a jp hl -; 842ea -.Jumptable: ; 842ea (21:42ea) +.Jumptable: dw Printer_DoNothing ; 00 dw Printer_Send0x33 ; 01 @@ -505,45 +500,45 @@ _PrinterReceive:: ; 842db dw Printer_ReceiveTowPrinterHandshakeAndSend0x00 ; 1e dw Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop ; 1f -Printer_NextInstruction: ; 8432a (21:432a) +Printer_NextInstruction: ld hl, wPrinterOpcode inc [hl] ret -Printer_DoNothing: ; 8432f (21:432f) +Printer_DoNothing: ret -Printer_Send0x33: ; 84330 (21:4330) +Printer_Send0x33: ld a, $33 call Printer_SerialSend call Printer_NextInstruction ret -Printer_SendPrinterData1: ; 84339 (21:4339) +Printer_SendPrinterData1: ld a, [wPrinterData] call Printer_SerialSend call Printer_NextInstruction ret -Printer_SendPrinterData2: ; 84343 (21:4343) +Printer_SendPrinterData2: ld a, [wPrinterData + 1] call Printer_SerialSend call Printer_NextInstruction ret -Printer_SendPrinterData3: ; 8434d (21:434d) +Printer_SendPrinterData3: ld a, [wPrinterData + 2] call Printer_SerialSend call Printer_NextInstruction ret -Printer_SendPrinterData4: ; 84357 (21:4357) +Printer_SendPrinterData4: ld a, [wPrinterData + 3] call Printer_SerialSend call Printer_NextInstruction ret -Printer_SendNextByte: ; 84361 (21:4361) +Printer_SendNextByte: ; decrement 16-bit counter ld hl, wPrinterSendByteCounter ld a, [hli] @@ -573,25 +568,25 @@ Printer_SendNextByte: ; 84361 (21:4361) .done call Printer_NextInstruction -Printer_SendwPrinterChecksumLo: ; 8438b (21:438b) +Printer_SendwPrinterChecksumLo: ld a, [wPrinterChecksum] call Printer_SerialSend call Printer_NextInstruction ret -Printer_SendwPrinterChecksumHi: ; 84395 (21:4395) +Printer_SendwPrinterChecksumHi: ld a, [wPrinterChecksum + 1] call Printer_SerialSend call Printer_NextInstruction ret -Printer_Send0x00: ; 8439f (21:439f) +Printer_Send0x00: ld a, $0 call Printer_SerialSend call Printer_NextInstruction ret -Printer_ReceiveTowPrinterHandshakeAndSend0x00: ; 843a8 (21:43a8) +Printer_ReceiveTowPrinterHandshakeAndSend0x00: ld a, [rSB] ld [wPrinterHandshake], a ld a, $0 @@ -599,32 +594,32 @@ Printer_ReceiveTowPrinterHandshakeAndSend0x00: ; 843a8 (21:43a8) call Printer_NextInstruction ret -Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop: ; 843b6 (21:43b6) +Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop: ld a, [rSB] ld [wPrinterStatusFlags], a xor a ld [wPrinterOpcode], a ret -Printer_Send0x0f: ; 843c0 (21:43c0) +Printer_Send0x0f: ld a, $f call Printer_SerialSend call Printer_NextInstruction ret -Printer_Send0x00_: ; 843c9 (21:43c9) +Printer_Send0x00_: ld a, $0 call Printer_SerialSend call Printer_NextInstruction ret -Printer_Send0x08: ; 843d2 (21:43d2) +Printer_Send0x08: ld a, $8 call Printer_SerialSend call Printer_NextInstruction ret -Printer_SerialSend: ; 843db (21:43db) +Printer_SerialSend: ld [rSB], a ld a, $1 ; switch to internal clock ld [rSC], a @@ -632,7 +627,7 @@ Printer_SerialSend: ; 843db (21:43db) ld [rSC], a ret -Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop_: ; 843e6 (21:43e6) +Printer_ReceiveTowPrinterStatusFlagsAndExitSendLoop_: ld a, [rSB] ld [wPrinterStatusFlags], a xor a diff --git a/engine/rtc/print_hours_mins.asm b/engine/rtc/print_hours_mins.asm index eb7dc1619..f4abc0c1b 100644 --- a/engine/rtc/print_hours_mins.asm +++ b/engine/rtc/print_hours_mins.asm @@ -1,4 +1,4 @@ -Unreferenced_Function1dd6a9: ; 1dd6a9 +Unreferenced_Function1dd6a9: ld a, b ld b, c ld c, a @@ -13,7 +13,7 @@ Unreferenced_Function1dd6a9: ; 1dd6a9 pop bc ret -PrintHoursMins: ; 1dd6bb (77:56bb) +PrintHoursMins: ; Hours in b, minutes in c ld a, b cp 12 @@ -59,5 +59,5 @@ PrintHoursMins: ; 1dd6bb (77:56bb) call PlaceString ret -String_AM: db "AM@" ; 1dd6fc -String_PM: db "PM@" ; 1dd6ff +String_AM: db "AM@" +String_PM: db "PM@" diff --git a/engine/rtc/reset_password.asm b/engine/rtc/reset_password.asm index fd5007ba7..1130544df 100644 --- a/engine/rtc/reset_password.asm +++ b/engine/rtc/reset_password.asm @@ -1,4 +1,4 @@ -_ResetClock: ; 4d3b1 +_ResetClock: farcall BlankScreen ld b, SCGB_DIPLOMA call GetSGBLayout @@ -58,7 +58,7 @@ _ResetClock: ; 4d3b1 db "NO@" db "YES@" -ClockResetPassword: ; 4d41e +ClockResetPassword: call .CalculatePassword push de ld hl, wStringBuffer2 @@ -106,7 +106,7 @@ ClockResetPassword: ; 4d41e text_jump UnknownText_0x1c562e db "@" -.updateIDdisplay ; 4d468 +.updateIDdisplay hlcoord 14, 15 ld de, wStringBuffer2 ld c, 5 @@ -129,7 +129,7 @@ ClockResetPassword: ; 4d41e ld [hl], "▲" ret -.dpadinput ; 4d490 +.dpadinput ld a, b and D_LEFT jr nz, .left @@ -186,7 +186,7 @@ ClockResetPassword: ; 4d41e ld [hl], 9 ret -.getcurrentdigit ; 4d4d5 +.getcurrentdigit ld a, [wStringBuffer2 + 5] ld e, a ld d, $0 @@ -194,7 +194,7 @@ ClockResetPassword: ; 4d41e add hl, de ret -.ConvertDecIDToBytes: ; 4d4e0 +.ConvertDecIDToBytes: ld hl, 0 ld de, wStringBuffer2 + 4 ld bc, 1 @@ -206,7 +206,7 @@ ClockResetPassword: ; 4d41e ld bc, 1000 call .ConvertToBytes ld bc, 10000 -.ConvertToBytes: ; 4d501 +.ConvertToBytes: ld a, [de] dec de push hl @@ -218,7 +218,7 @@ ClockResetPassword: ; 4d41e add hl, bc ret -.CalculatePassword: ; 4d50f +.CalculatePassword: ld a, BANK(sPlayerData) call GetSRAMBank ld de, 0 @@ -234,7 +234,7 @@ ClockResetPassword: ; 4d41e call CloseSRAM ret -.ComponentFromNumber: ; 4d533 +.ComponentFromNumber: ld a, [hli] add e ld e, a @@ -245,7 +245,7 @@ ClockResetPassword: ; 4d41e jr nz, .ComponentFromNumber ret -.ComponentFromString: ; 4d53e +.ComponentFromString: ld a, [hli] cp "@" ret z diff --git a/engine/rtc/restart_clock.asm b/engine/rtc/restart_clock.asm index 5fbac80dd..a36ef31eb 100644 --- a/engine/rtc/restart_clock.asm +++ b/engine/rtc/restart_clock.asm @@ -1,4 +1,4 @@ -RestartClock_GetWraparoundTime: ; 20000 (8:4000) +RestartClock_GetWraparoundTime: push hl dec a ld e, a @@ -16,9 +16,8 @@ endr ld c, [hl] pop hl ret -; 20015 (8:4015) -.WrapAroundTimes: ; 20015 +.WrapAroundTimes: dw wBuffer4 db 7, 4 @@ -27,9 +26,8 @@ endr dw wBuffer6 db 60, 15 -; 20021 -RestartClock: ; 20021 (8:4021) +RestartClock: ; If we're here, we had an RTC overflow. ld hl, .Text_ClockTimeMayBeWrong call PrintText @@ -48,7 +46,6 @@ RestartClock: ; 20021 (8:4021) ld [hl], b ld c, a ret -; 20047 (8:4047) .Text_ClockTimeMayBeWrong: ; 0x20047 ; The clock's time may be wrong. Please reset the time. @@ -62,7 +59,7 @@ RestartClock: ; 20021 (8:4021) db "@" ; 0x20051 -.SetClock: ; 20051 (8:4051) +.SetClock: ld a, 1 ld [wBuffer1], a ; which digit ld [wBuffer2], a @@ -105,7 +102,6 @@ RestartClock: ; 20021 (8:4021) .cancel ld a, $1 ret -; 200b0 (8:40b0) .Text_IsThisOK: ; 0x200b0 ; Is this OK? @@ -193,7 +189,7 @@ RestartClock: ; 20021 (8:4021) xor a ret -.PrintTime: ; 2011f (8:411f) +.PrintTime: hlcoord 0, 5 ld b, 5 ld c, 18 @@ -217,17 +213,15 @@ RestartClock: ; 20021 (8:4021) ld a, [wBuffer1] ld [wBuffer2], a ret -; 20160 (8:4160) -.unreferenced ; 20160 +.unreferenced ; unused ld a, [wBuffer3] ld b, a call Coord2Tile ret -; 20168 -.PlaceChars: ; 20168 (8:4168) +.PlaceChars: push de call RestartClock_GetWraparoundTime ld a, [wBuffer3] @@ -240,14 +234,11 @@ RestartClock: ; 20021 (8:4021) add hl, bc ld [hl], e ret -; 2017c (8:417c) -UnreferencedString_HourJP: ; 2017c +UnreferencedString_HourJP: ; unused db "じ@" ; HR -; 2017e -UnreferencedString_MinuteJP: ; 2017e +UnreferencedString_MinuteJP: ; unused db "ふん@" ; MIN -; 20181 diff --git a/engine/rtc/rtc.asm b/engine/rtc/rtc.asm index 37e24c1ed..4a8aab50a 100644 --- a/engine/rtc/rtc.asm +++ b/engine/rtc/rtc.asm @@ -9,9 +9,8 @@ Unreferenced_StopRTC: ld [MBC3RTC], a call CloseSRAM ret -; 14019 -StartRTC: ; 14019 +StartRTC: ld a, SRAM_ENABLE ld [MBC3SRamEnable], a call LatchClock @@ -22,9 +21,8 @@ StartRTC: ; 14019 ld [MBC3RTC], a call CloseSRAM ret -; 14032 -GetTimeOfDay:: ; 14032 +GetTimeOfDay:: ; get time of day based on the current hour ld a, [hHours] ; hour ld hl, TimesOfDay @@ -46,9 +44,8 @@ GetTimeOfDay:: ; 14032 ld a, [hl] ld [wTimeOfDay], a ret -; 14044 -TimesOfDay: ; 14044 +TimesOfDay: ; hours for the time of day ; 0400-0959 morn | 1000-1759 day | 1800-0359 nite db MORN_HOUR, NITE_F @@ -56,16 +53,14 @@ TimesOfDay: ; 14044 db NITE_HOUR, DAY_F db MAX_HOUR, NITE_F db -1, MORN_F -; 1404e Unreferenced_1404e: db 20, NITE_F db 40, MORN_F db 60, DAY_F db -1, MORN_F -; 14056 -StageRTCTimeForSave: ; 14056 +StageRTCTimeForSave: call UpdateTime ld hl, wRTC ld a, [wCurDay] @@ -77,9 +72,8 @@ StageRTCTimeForSave: ; 14056 ld a, [hSeconds] ld [hli], a ret -; 1406a -SaveRTC: ; 1406a +SaveRTC: ld a, $a ld [MBC3SRamEnable], a call LatchClock @@ -93,9 +87,8 @@ SaveRTC: ; 1406a ld [sRTCStatusFlags], a call CloseSRAM ret -; 14089 -StartClock:: ; 14089 +StartClock:: call GetClock call Function1409b call FixDays @@ -107,9 +100,8 @@ StartClock:: ; 14089 .skip_set call StartRTC ret -; 1409b -Function1409b: ; 1409b +Function1409b: ld hl, hRTCDayHi bit 7, [hl] jr nz, .set_bit_7 @@ -123,9 +115,8 @@ Function1409b: ; 1409b ld a, %10000000 call RecordRTCStatus ; set bit 7 on sRTCStatusFlags ret -; 140ae -Function140ae: ; 140ae +Function140ae: call CheckRTCStatus ld c, a and %11000000 ; Day count exceeded 255 or 16383 @@ -160,9 +151,8 @@ Function140ae: ; 140ae .dont_update xor a ret -; 140ed -_InitTime:: ; 140ed +_InitTime:: call GetClock call FixDays ld hl, hRTCSeconds @@ -206,4 +196,3 @@ _InitTime:: ; 140ed .okay_days ld [de], a ret -; 1412a diff --git a/engine/rtc/timeset.asm b/engine/rtc/timeset.asm index eda3094e1..6c05d686c 100644 --- a/engine/rtc/timeset.asm +++ b/engine/rtc/timeset.asm @@ -1,7 +1,7 @@ TIMESET_UP_ARROW EQUS "\"♂\"" ; $ef TIMESET_DOWN_ARROW EQUS "\"♀\"" ; $f5 -InitClock: ; 90672 (24:4672) +InitClock: ; Ask the player to set the time. ld a, [hInMenu] push af @@ -120,7 +120,7 @@ InitClock: ; 90672 (24:4672) ld [hInMenu], a ret -.ClearScreen: ; 90783 (24:4783) +.ClearScreen: xor a ld [hBGMapMode], a hlcoord 0, 0 @@ -131,7 +131,7 @@ InitClock: ; 90672 (24:4672) ld [hBGMapMode], a ret -SetHour: ; 90795 (24:4795) +SetHour: ld a, [hJoyPressed] and A_BUTTON jr nz, .Confirm @@ -183,7 +183,7 @@ SetHour: ; 90795 (24:4795) scf ret -DisplayHourOClock: ; 907de (24:47de) +DisplayHourOClock: push hl ld a, [wInitHourBuffer] ld c, a @@ -195,9 +195,8 @@ DisplayHourOClock: ; 907de (24:47de) call PlaceString pop hl ret -; 907f1 (24:47f1) -UnreferencedFunction907f1: ; 907f1 +UnreferencedFunction907f1: ld h, d ld l, e push hl @@ -222,9 +221,8 @@ UnreferencedFunction907f1: ; 907f1 inc hl inc hl ret -; 90810 -SetMinutes: ; 90810 (24:4810) +SetMinutes: ld a, [hJoyPressed] and A_BUTTON jr nz, .a_button @@ -273,7 +271,7 @@ SetMinutes: ; 90810 (24:4810) scf ret -DisplayMinutesWithMinString: ; 90859 (24:4859) +DisplayMinutesWithMinString: ld de, wInitMinuteBuffer call PrintTwoDigitNumberRightAlign inc hl @@ -281,7 +279,7 @@ DisplayMinutesWithMinString: ; 90859 (24:4859) call PlaceString ret -PrintTwoDigitNumberRightAlign: ; 90867 (24:4867) +PrintTwoDigitNumberRightAlign: push hl ld a, " " ld [hli], a @@ -290,7 +288,6 @@ PrintTwoDigitNumberRightAlign: ; 90867 (24:4867) lb bc, PRINTNUM_RIGHTALIGN | 1, 2 call PrintNum ret -; 90874 (24:4874) Text_WokeUpOak: ; 0x90874 ; Zzz… Hm? Wha…? You woke me up! Will you check the clock for me? @@ -306,7 +303,6 @@ Text_WhatTimeIsIt: ; 0x90879 String_oclock: db "o'clock@" -; 90886 Text_WhatHrs: ; 0x90886 ; What?@ @ @@ -316,7 +312,6 @@ Text_WhatHrs: ; 0x90886 call DisplayHourOClock ld hl, .QuestionMark ret -; 90895 (24:4895) .QuestionMark: ; 0x90895 ; ? @@ -332,7 +327,6 @@ Text_HowManyMinutes: ; 0x9089a String_min: db "min.@" -; 908a4 Text_WhoaMins: ; 0x908a4 ; Whoa!@ @ @@ -342,7 +336,6 @@ Text_WhoaMins: ; 0x908a4 call DisplayMinutesWithMinString ld hl, .QuestionMark ret -; 908b3 (24:48b3) .QuestionMark: ; 0x908b3 ; ? @@ -379,7 +372,6 @@ OakText_ResponseToSetTime: ; 0x908b8 .day: ld hl, .yikes ret -; 908ec (24:48ec) .overslept ; 0x908ec ; ! I overslept! @@ -399,15 +391,14 @@ OakText_ResponseToSetTime: ; 0x908b8 db "@" ; 0x908fb -TimeSetBackgroundGFX: ; 908fb +TimeSetBackgroundGFX: INCBIN "gfx/new_game/timeset_bg.1bpp" -TimeSetUpArrowGFX: ; 90903 +TimeSetUpArrowGFX: INCBIN "gfx/new_game/up_arrow.1bpp" -TimeSetDownArrowGFX: ; 9090b +TimeSetDownArrowGFX: INCBIN "gfx/new_game/down_arrow.1bpp" -; 90913 -SetDayOfWeek: ; 90913 +SetDayOfWeek: ld a, [hInMenu] push af ld a, $1 @@ -459,9 +450,8 @@ SetDayOfWeek: ; 90913 pop af ld [hInMenu], a ret -; 90993 -.GetJoypadAction: ; 90993 +.GetJoypadAction: ld a, [hJoyPressed] and A_BUTTON jr z, .not_A @@ -515,9 +505,8 @@ SetDayOfWeek: ; 90913 call WaitBGMap and a ret -; 909de -.PlaceWeekdayString: ; 909de +.PlaceWeekdayString: push hl ld a, [wTempDayOfWeek] ld e, a @@ -531,9 +520,8 @@ SetDayOfWeek: ; 90913 pop hl call PlaceString ret -; 909f2 -.WeekdayStrings: ; 909f2 +.WeekdayStrings: ; entries correspond to wCurDay constants (see constants/wram_constants.asm) dw .Sunday dw .Monday @@ -565,7 +553,6 @@ SetDayOfWeek: ; 90913 call .PlaceWeekdayString ld hl, .IsIt ret -; 90a4f (24:4a4f) .IsIt: ; 0x90a4f ; , is it? @@ -573,7 +560,7 @@ SetDayOfWeek: ; 90913 db "@" ; 0x90a54 -InitialSetDSTFlag: ; 90a54 +InitialSetDSTFlag: ld a, [wDST] set 7, a ld [wDST], a @@ -583,9 +570,8 @@ InitialSetDSTFlag: ; 90a54 ld hl, .Text call PlaceHLTextAtBC ret -; 90a6c -.Text: ; 90a6c +.Text: start_asm call UpdateTime ld a, [hHours] @@ -596,7 +582,6 @@ InitialSetDSTFlag: ; 90a54 farcall PrintHoursMins ld hl, .DSTIsThatOK ret -; 90a83 (24:4a83) .DSTIsThatOK: ; 0x90a83 ; DST, is that OK? @@ -604,7 +589,7 @@ InitialSetDSTFlag: ; 90a54 db "@" ; 0x90a88 -InitialClearDSTFlag: ; 90a88 +InitialClearDSTFlag: ld a, [wDST] res 7, a ld [wDST], a @@ -614,9 +599,8 @@ InitialClearDSTFlag: ; 90a88 ld hl, .Text call PlaceHLTextAtBC ret -; 90aa0 -.Text: ; 90aa0 +.Text: start_asm call UpdateTime ld a, [hHours] @@ -627,7 +611,6 @@ InitialClearDSTFlag: ; 90a88 farcall PrintHoursMins ld hl, .IsThatOK ret -; 90ab7 .IsThatOK: ; 0x90ab7 ; , is that OK? @@ -635,14 +618,13 @@ InitialClearDSTFlag: ; 90a88 db "@" ; 0x90abc -DebugDisplayTime: ; 90abc +DebugDisplayTime: hlcoord 1, 14 lb bc, 3, SCREEN_WIDTH - 2 call ClearBox ld hl, .Text call PlaceHLTextAtBC ret -; 90acc .Text: ; 0x90acc start_asm @@ -694,14 +676,13 @@ DebugDisplayTime: ; 90abc .done ld hl, .NowOnDebug ret -; 90b13 .NowOnDebug: ; 0x90b13 text "<PARA>Now on DEBUG…" prompt ; 0x90b23 -.PrintTime: ; 90b23 +.PrintTime: lb bc, 1, 3 call PrintNum ld [hl], "." @@ -715,9 +696,8 @@ DebugDisplayTime: ; 90abc lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum ret -; 90b3e -PrintHour: ; 90b3e (24:4b3e) +PrintHour: ld l, e ld h, d push bc @@ -733,7 +713,7 @@ PrintHour: ; 90b3e (24:4b3e) call PrintTwoDigitNumberRightAlign ret -GetTimeOfDayString: ; 90b58 (24:4b58) +GetTimeOfDayString: ld a, c cp MORN_HOUR jr c, .nite @@ -750,12 +730,10 @@ GetTimeOfDayString: ; 90b58 (24:4b58) .day ld de, .day_string ret -; 90b71 (24:4b71) .nite_string: db "NITE@" .morn_string: db "MORN@" .day_string: db "DAY@" -; 90b7f AdjustHourForAMorPM: ; Convert the hour stored in c (0-23) to a 1-12 value diff --git a/engine/smallflag.asm b/engine/smallflag.asm index 2a6d91ee1..22819e5d5 100644 --- a/engine/smallflag.asm +++ b/engine/smallflag.asm @@ -1,4 +1,4 @@ -SmallFarFlagAction: ; 4d7c1 +SmallFarFlagAction: ; Perform action b on bit c in flag array hl. ; If checking a flag, check flag array d:hl unless d is 0. diff --git a/engine/tilesets/map_palettes.asm b/engine/tilesets/map_palettes.asm index a9d2b382f..5f943795a 100644 --- a/engine/tilesets/map_palettes.asm +++ b/engine/tilesets/map_palettes.asm @@ -1,4 +1,4 @@ -SwapTextboxPalettes:: ; 4c000 +SwapTextboxPalettes:: hlcoord 0, 0 decoord 0, 0, wAttrMap ld b, SCREEN_HEIGHT @@ -44,7 +44,7 @@ SwapTextboxPalettes:: ; 4c000 jr nz, .loop ret -ScrollBGMapPalettes:: ; 4c03f +ScrollBGMapPalettes:: ld hl, wBGMapBuffer ld de, wBGMapPalBuffer .loop diff --git a/engine/tilesets/mapgroup_roofs.asm b/engine/tilesets/mapgroup_roofs.asm index 58e5e7cfe..8262f57b1 100644 --- a/engine/tilesets/mapgroup_roofs.asm +++ b/engine/tilesets/mapgroup_roofs.asm @@ -1,4 +1,4 @@ -LoadMapGroupRoof:: ; 1c000 +LoadMapGroupRoof:: ld a, [wMapGroup] ld e, a ld d, 0 @@ -14,7 +14,6 @@ LoadMapGroupRoof:: ; 1c000 ld bc, 9 tiles call CopyBytes ret -; 1c021 INCLUDE "data/maps/roofs.asm" diff --git a/engine/tilesets/tileset_anims.asm b/engine/tilesets/tileset_anims.asm index bf0037e65..ce3510e92 100644 --- a/engine/tilesets/tileset_anims.asm +++ b/engine/tilesets/tileset_anims.asm @@ -1,4 +1,4 @@ -_AnimateTileset:: ; fc000 +_AnimateTileset:: ; Iterate over a given pointer array of ; animation functions (one per frame). @@ -32,7 +32,6 @@ _AnimateTileset:: ; fc000 ld l, a jp hl -; fc01b Tileset0Anim: ; 0xfc01b TilesetJohtoModernAnim: ; 0xfc01b @@ -290,26 +289,24 @@ TilesetAerodactylWordRoomAnim: ; 0xfc2e7 dw NULL, DoneTileAnimation ; 0xfc2fb -DoneTileAnimation: ; fc2fb +DoneTileAnimation: ; Reset the animation command loop. xor a ld [hTileAnimFrame], a -WaitTileAnimation: ; fc2fe +WaitTileAnimation: ; Do nothing this frame. ret -; fc2ff -StandingTileFrame8: ; fc2ff +StandingTileFrame8: ld a, [wTileAnimationTimer] inc a and %111 ld [wTileAnimationTimer], a ret -; fc309 -ScrollTileRightLeft: ; fc309 +ScrollTileRightLeft: ; Scroll right for 4 ticks, then left for 4 ticks. ld a, [wTileAnimationTimer] inc a @@ -318,9 +315,8 @@ ScrollTileRightLeft: ; fc309 and %100 jr nz, ScrollTileLeft jr ScrollTileRight -; fc318 -ScrollTileUpDown: ; fc318 +ScrollTileUpDown: ; Scroll up for 4 ticks, then down for 4 ticks. ld a, [wTileAnimationTimer] inc a @@ -329,9 +325,8 @@ ScrollTileUpDown: ; fc318 and %100 jr nz, ScrollTileDown jr ScrollTileUp -; fc327 -ScrollTileLeft: ; fc327 +ScrollTileLeft: ld h, d ld l, e ld c, 4 @@ -344,9 +339,8 @@ endr dec c jr nz, .loop ret -; fc33b -ScrollTileRight: ; fc33b +ScrollTileRight: ld h, d ld l, e ld c, 4 @@ -359,9 +353,8 @@ endr dec c jr nz, .loop ret -; fc34f -ScrollTileUp: ; fc34f +ScrollTileUp: ld h, d ld l, e ld d, [hl] @@ -386,9 +379,8 @@ ScrollTileUp: ; fc34f dec a jr nz, .loop ret -; fc36a -ScrollTileDown: ; fc36a +ScrollTileDown: ld h, d ld l, e ld de, TILE_WIDTH * 2 - 2 @@ -415,10 +407,9 @@ ScrollTileDown: ; fc36a dec a jr nz, .loop ret -; fc387 -AnimateFountain: ; fc387 +AnimateFountain: ld hl, sp+0 ld b, h ld c, l @@ -454,10 +445,9 @@ AnimateFountain: ; fc387 .frame3 INCBIN "gfx/tilesets/fountain/3.2bpp" .frame4 INCBIN "gfx/tilesets/fountain/4.2bpp" .frame5 INCBIN "gfx/tilesets/fountain/5.2bpp" -; fc402 -AnimateWaterTile: ; fc402 +AnimateWaterTile: ; Draw a water tile for the current frame in VRAM tile at de. ; Save sp in bc (see WriteTile). @@ -488,14 +478,12 @@ AnimateWaterTile: ; fc402 ld h, d jp WriteTile -; fc41c -WaterTileFrames: ; fc41c +WaterTileFrames: INCBIN "gfx/tilesets/water/water.2bpp" -; fc45c -ForestTreeLeftAnimation: ; fc45c +ForestTreeLeftAnimation: ld hl, sp+0 ld b, h ld c, l @@ -523,21 +511,18 @@ ForestTreeLeftAnimation: ; fc45c ld sp, hl ld hl, vTiles2 tile $0c jp WriteTile -; fc484 -ForestTreeLeftFrames: ; fc484 +ForestTreeLeftFrames: INCBIN "gfx/tilesets/forest-tree/1.2bpp" INCBIN "gfx/tilesets/forest-tree/2.2bpp" -; fc4a4 -ForestTreeRightFrames: ; fc4a4 +ForestTreeRightFrames: INCBIN "gfx/tilesets/forest-tree/3.2bpp" INCBIN "gfx/tilesets/forest-tree/4.2bpp" -; fc4c4 -ForestTreeRightAnimation: ; fc4c4 +ForestTreeRightAnimation: ld hl, sp+0 ld b, h ld c, l @@ -569,10 +554,9 @@ ForestTreeRightAnimation: ; fc4c4 ld sp, hl ld hl, vTiles2 tile $0f jp WriteTile -; fc4f2 -ForestTreeLeftAnimation2: ; fc4f2 +ForestTreeLeftAnimation2: ld hl, sp+0 ld b, h ld c, l @@ -601,10 +585,9 @@ ForestTreeLeftAnimation2: ; fc4f2 ld sp, hl ld hl, vTiles2 tile $0c jp WriteTile -; fc51c -ForestTreeRightAnimation2: ; fc51c +ForestTreeRightAnimation2: ld hl, sp+0 ld b, h ld c, l @@ -637,10 +620,9 @@ ForestTreeRightAnimation2: ; fc51c ld sp, hl ld hl, vTiles2 tile $0f jp WriteTile -; fc54c -GetForestTreeFrame: ; fc54c +GetForestTreeFrame: ; Return 0 if a is even, or 2 if odd. and a jr z, .even @@ -663,10 +645,9 @@ GetForestTreeFrame: ; fc54c .even xor a ret -; fc56d -AnimateFlowerTile: ; fc56d +AnimateFlowerTile: ; No parameters. ; Save sp in bc (see WriteTile). @@ -694,17 +675,15 @@ AnimateFlowerTile: ; fc56d ld hl, vTiles2 tile $03 jp WriteTile -; fc58c -FlowerTileFrames: ; fc58c +FlowerTileFrames: INCBIN "gfx/tilesets/flower/dmg_1.2bpp" INCBIN "gfx/tilesets/flower/cgb_1.2bpp" INCBIN "gfx/tilesets/flower/dmg_2.2bpp" INCBIN "gfx/tilesets/flower/cgb_2.2bpp" -; fc5cc -LavaBubbleAnim1: ; fc5cc +LavaBubbleAnim1: ; Splash in the bottom-right corner of the fountain. ld hl, sp+0 ld b, h @@ -723,10 +702,9 @@ LavaBubbleAnim1: ; fc5cc ld sp, hl ld hl, vTiles2 tile $5b jp WriteTile -; fc5eb -LavaBubbleAnim2: ; fc5eb +LavaBubbleAnim2: ; Splash in the top-left corner of the fountain. ld hl, sp+0 ld b, h @@ -743,18 +721,16 @@ LavaBubbleAnim2: ; fc5eb ld sp, hl ld hl, vTiles2 tile $38 jp WriteTile -; fc605 -LavaBubbleFrames: ; fc605 +LavaBubbleFrames: INCBIN "gfx/tilesets/lava/1.2bpp" INCBIN "gfx/tilesets/lava/2.2bpp" INCBIN "gfx/tilesets/lava/3.2bpp" INCBIN "gfx/tilesets/lava/4.2bpp" -; fc645 -AnimateTowerPillarTile: ; fc645 +AnimateTowerPillarTile: ; Read from struct at de: ; Destination (VRAM) ; Address of the first tile in the frame array @@ -799,17 +775,15 @@ AnimateTowerPillarTile: ; fc645 .frames db $00, $10, $20, $30, $40, $30, $20, $10 -; fc673 -StandingTileFrame: ; fc673 +StandingTileFrame: ld hl, wTileAnimationTimer inc [hl] ret -; fc678 -AnimateWhirlpoolTile: ; fc678 +AnimateWhirlpoolTile: ; Update whirlpool tile using struct at de. ; Struct: @@ -852,10 +826,9 @@ AnimateWhirlpoolTile: ; fc678 ld h, d jr WriteTile -; fc696 -WriteTileFromBuffer: ; fc696 +WriteTileFromBuffer: ; Write tiledata at wTileAnimBuffer to de. ; wTileAnimBuffer is loaded to sp for WriteTile. @@ -869,10 +842,9 @@ WriteTileFromBuffer: ; fc696 ld h, d ld l, e jr WriteTile -; fc6a2 -WriteTileToBuffer: ; fc6a2 +WriteTileToBuffer: ; Write tiledata de to wTileAnimBuffer. ; de is loaded to sp for WriteTile. @@ -888,7 +860,7 @@ WriteTileToBuffer: ; fc6a2 ; fallthrough -WriteTile: ; fc6ac +WriteTile: ; Write one 8x8 tile ($10 bytes) from sp to hl. ; Warning: sp is saved in bc so we can abuse pop. @@ -912,10 +884,9 @@ endr ld l, c ld sp, hl ret -; fc6d7 -TileAnimationPalette: ; fc6d7 +TileAnimationPalette: ; Transition between color values 0-2 for color 0 in palette 3. ; No palette changes on DMG. @@ -978,10 +949,9 @@ TileAnimationPalette: ; fc6d7 pop af ld [rSVBK], a ret -; fc71e -FlickeringCaveEntrancePalette: ; fc71e +FlickeringCaveEntrancePalette: ; No palette changes on DMG. ld a, [hCGB] and a @@ -1020,7 +990,6 @@ FlickeringCaveEntrancePalette: ; fc71e pop af ld [rSVBK], a ret -; fc750 TowerPillarTilePointer1: dw vTiles2 tile $2d, TowerPillarTile1 @@ -1044,17 +1013,14 @@ TowerPillarTile7: INCBIN "gfx/tilesets/tower-pillar/7.2bpp" TowerPillarTile8: INCBIN "gfx/tilesets/tower-pillar/8.2bpp" TowerPillarTile9: INCBIN "gfx/tilesets/tower-pillar/9.2bpp" TowerPillarTile10: INCBIN "gfx/tilesets/tower-pillar/10.2bpp" -; fca98 WhirlpoolFrames1: dw vTiles2 tile $32, WhirlpoolTiles1 WhirlpoolFrames2: dw vTiles2 tile $33, WhirlpoolTiles2 WhirlpoolFrames3: dw vTiles2 tile $42, WhirlpoolTiles3 WhirlpoolFrames4: dw vTiles2 tile $43, WhirlpoolTiles4 -; fcaa8 WhirlpoolTiles1: INCBIN "gfx/tilesets/whirlpool/1.2bpp" WhirlpoolTiles2: INCBIN "gfx/tilesets/whirlpool/2.2bpp" WhirlpoolTiles3: INCBIN "gfx/tilesets/whirlpool/3.2bpp" WhirlpoolTiles4: INCBIN "gfx/tilesets/whirlpool/4.2bpp" -; fcba8 diff --git a/engine/tilesets/tileset_palettes.asm b/engine/tilesets/tileset_palettes.asm index e2c39c0ab..1e433b158 100644 --- a/engine/tilesets/tileset_palettes.asm +++ b/engine/tilesets/tileset_palettes.asm @@ -1,4 +1,4 @@ -LoadSpecialMapPalette: ; 494ac +LoadSpecialMapPalette: ld a, [wMapTileset] cp TILESET_POKECOM_CENTER jr z, .pokecom_2f @@ -51,78 +51,66 @@ LoadSpecialMapPalette: ; 494ac .do_nothing and a ret -; 494f2 -LoadPokeComPalette: ; 494f2 +LoadPokeComPalette: ld a, BANK(wBGPals1) ld de, wBGPals1 ld hl, PokeComPalette ld bc, 8 palettes call FarCopyWRAM ret -; 49501 -PokeComPalette: ; 49501 +PokeComPalette: INCLUDE "gfx/tilesets/pokecom_center.pal" -; 49541 -LoadBattleTowerPalette: ; 49541 +LoadBattleTowerPalette: ld a, BANK(wBGPals1) ld de, wBGPals1 ld hl, BattleTowerPalette ld bc, 8 palettes call FarCopyWRAM ret -; 49550 -BattleTowerPalette: ; 49550 +BattleTowerPalette: INCLUDE "gfx/tilesets/battle_tower.pal" -; 49590 -LoadIcePathPalette: ; 49590 +LoadIcePathPalette: ld a, BANK(wBGPals1) ld de, wBGPals1 ld hl, IcePathPalette ld bc, 8 palettes call FarCopyWRAM ret -; 4959f -IcePathPalette: ; 4959f +IcePathPalette: INCLUDE "gfx/tilesets/ice_path.pal" -; 495df -LoadHousePalette: ; 495df +LoadHousePalette: ld a, BANK(wBGPals1) ld de, wBGPals1 ld hl, HousePalette ld bc, 8 palettes call FarCopyWRAM ret -; 495ee -HousePalette: ; 495ee +HousePalette: INCLUDE "gfx/tilesets/house.pal" -; 4962e -LoadRadioTowerPalette: ; 4962e +LoadRadioTowerPalette: ld a, BANK(wBGPals1) ld de, wBGPals1 ld hl, RadioTowerPalette ld bc, 8 palettes call FarCopyWRAM ret -; 4963d -RadioTowerPalette: ; 4963d +RadioTowerPalette: INCLUDE "gfx/tilesets/radio_tower.pal" -; 4967d -MansionPalette1: ; 4967d +MansionPalette1: INCLUDE "gfx/tilesets/mansion_1.pal" -; 496c5 -LoadMansionPalette: ; 496c5 +LoadMansionPalette: ld a, BANK(wBGPals1) ld de, wBGPals1 ld hl, MansionPalette1 @@ -144,8 +132,6 @@ LoadMansionPalette: ; 496c5 ld bc, 1 palettes call FarCopyWRAM ret -; 496fe -MansionPalette2: ; 496fe +MansionPalette2: INCLUDE "gfx/tilesets/mansion_2.pal" -; 49706 diff --git a/engine/tilesets/timeofday_pals.asm b/engine/tilesets/timeofday_pals.asm index b8d43d252..cda6e1e0d 100644 --- a/engine/tilesets/timeofday_pals.asm +++ b/engine/tilesets/timeofday_pals.asm @@ -1,18 +1,17 @@ -DummyPredef35: ; 8c000 +DummyPredef35: DummyPredef36: ret -UpdateTimeOfDayPal:: ; 8c001 +UpdateTimeOfDayPal:: call UpdateTime ld a, [wTimeOfDay] ld [wCurTimeOfDay], a call GetTimePalette ld [wTimeOfDayPal], a ret -; 8c011 -_TimeOfDayPals:: ; 8c011 +_TimeOfDayPals:: ; return carry if pals are changed ; forced pals? @@ -109,34 +108,30 @@ _TimeOfDayPals:: ; 8c011 ; no change occurred and a ret -; 8c070 -_UpdateTimePals:: ; 8c070 +_UpdateTimePals:: ld c, $9 ; normal call GetTimePalFade call DmgToCgbTimePals ret -; 8c079 -FadeInPalettes:: ; 8c079 +FadeInPalettes:: ld c, $12 call GetTimePalFade ld b, $4 call ConvertTimePalsDecHL ret -; 8c084 -FadeOutPalettes:: ; 8c084 +FadeOutPalettes:: call FillWhiteBGColor ld c, $9 call GetTimePalFade ld b, $4 call ConvertTimePalsIncHL ret -; 8c092 -BattleTowerFade: ; 8c092 +BattleTowerFade: call FillWhiteBGColor ld c, $9 call GetTimePalFade @@ -151,26 +146,23 @@ BattleTowerFade: ; 8c092 dec b jr nz, .asm_8c09c ret -; 8c0ab -FadeInQuickly: ; 8c0ab +FadeInQuickly: ld c, $0 call GetTimePalFade ld b, $4 call ConvertTimePalsIncHL ret -; 8c0b6 -FadeBlackQuickly: ; 8c0b6 +FadeBlackQuickly: ld c, $9 call GetTimePalFade ld b, $4 call ConvertTimePalsDecHL ret -; 8c0c1 -FillWhiteBGColor: ; 8c0c1 +FillWhiteBGColor: ld a, [rSVBK] push af ld a, BANK(wBGPals1) @@ -197,9 +189,8 @@ endr pop af ld [rSVBK], a ret -; 8c0e5 -ReplaceTimeOfDayPals: ; 8c0e5 +ReplaceTimeOfDayPals: ld hl, .BrightnessLevels ld a, [wMapTimeOfDay] cp $4 ; Dark cave, needs Flash @@ -226,9 +217,8 @@ ReplaceTimeOfDayPals: ; 8c0e5 ld a, %10101010 ; 2, 2, 2, 2 ld [wTimeOfDayPalset], a ret -; 8c10f (23:410f) -.BrightnessLevels: ; 8c10f +.BrightnessLevels: dc 3, 2, 1, 0 dc 1, 1, 1, 1 dc 2, 2, 2, 2 @@ -237,9 +227,8 @@ ReplaceTimeOfDayPals: ; 8c0e5 dc 3, 2, 1, 0 dc 3, 2, 1, 0 dc 3, 2, 1, 0 -; 8c117 -GetTimePalette: ; 8c117 +GetTimePalette: ld a, [wTimeOfDay] ld e, a ld d, 0 @@ -250,7 +239,6 @@ GetTimePalette: ; 8c117 ld h, [hl] ld l, a jp hl -; 8c126 .TimePalettes: dw .MorningPalette @@ -282,10 +270,9 @@ GetTimePalette: ; 8c117 rlca rlca ret -; 8c14e -DmgToCgbTimePals: ; 8c14e +DmgToCgbTimePals: push hl push de ld a, [hli] @@ -298,9 +285,8 @@ DmgToCgbTimePals: ; 8c14e pop de pop hl ret -; 8c15e -ConvertTimePalsIncHL: ; 8c15e +ConvertTimePalsIncHL: .loop call DmgToCgbTimePals inc hl @@ -311,9 +297,8 @@ ConvertTimePalsIncHL: ; 8c15e dec b jr nz, .loop ret -; 8c16d -ConvertTimePalsDecHL: ; 8c16d +ConvertTimePalsDecHL: .loop call DmgToCgbTimePals dec hl @@ -324,10 +309,9 @@ ConvertTimePalsDecHL: ; 8c16d dec b jr nz, .loop ret -; 8c17c -GetTimePalFade: ; 8c17c +GetTimePalFade: ; check cgb ld a, [hCGB] and a @@ -412,4 +396,3 @@ GetTimePalFade: ; 8c17c db %10010000, %10010000, %10010000 db %01000000, %01000000, %01000000 db %00000000, %00000000, %00000000 -; 8c20f |