From f8b61dfb144a6fc3671802139a73bd6e86d4b49c Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 4 Jul 2017 09:19:34 -0700 Subject: More wram.asm labeling and cleanup --- engine/high_scores_screen.asm | 8 +- .../ball_init/ball_init_blue_field.asm | 2 +- .../ball_init/ball_init_meowth_bonus.asm | 2 +- .../pinball_game/ball_init/ball_init_red_field.asm | 2 +- engine/pinball_game/catchem_mode.asm | 20 ++-- .../draw_sprites/draw_blue_field_sprites.asm | 4 +- .../load_stage_data/load_blue_field.asm | 10 +- .../load_stage_data/load_red_field.asm | 2 +- .../blue_stage_resolve_collision.asm | 114 +++++++++--------- .../diglett_bonus_resolve_collision.asm | 52 ++++---- .../gengar_bonus_resolve_collision.asm | 24 ++-- .../meowth_bonus_resolve_collision.asm | 66 +++++------ .../mewtwo_bonus_resolve_collision.asm | 4 +- .../red_stage_resolve_collision.asm | 60 +++++----- .../seel_bonus_resolve_collision.asm | 10 +- engine/pinball_game/slot.asm | 4 +- engine/pinball_game/stage_init/init_blue_field.asm | 6 +- .../pinball_game/stage_init/init_diglett_bonus.asm | 2 +- engine/pinball_game/stage_init/init_red_field.asm | 6 +- home.asm | 27 +++-- main.asm | 22 ++-- wram.asm | 131 +++++++++------------ 22 files changed, 277 insertions(+), 301 deletions(-) diff --git a/engine/high_scores_screen.asm b/engine/high_scores_screen.asm index a86209b..920fc9d 100755 --- a/engine/high_scores_screen.asm +++ b/engine/high_scores_screen.asm @@ -554,7 +554,7 @@ SendHighScores: ; 0xced1 ; Sends high scores, and plays the animation for sending the high scores. ld hl, SendHighScoresAnimationData ld de, wSendHighScoresAnimationFrameCounter - call CopyHLToDE + call InitAnimation ld bc, $4800 ld a, [wSendHighScoresAnimationFrame] call LoadOAMData @@ -587,7 +587,7 @@ SendHighScores: ; 0xced1 .asm_cf0e ld hl, SendHighScoresAnimationData - ld de, wSendHighScoresAnimationFrameCounter + ld de, wSendHighScoresAnimation call UpdateAnimation jr nc, .continueAttempts ld bc, $4800 @@ -598,12 +598,12 @@ SendHighScores: ; 0xced1 call LoadOAMData call CleanOAMBuffer call Func_1ca1 - ld a, [wSendHighScoresAnimationFrameIndex] + ld a, [wSendHighScoresAnimationIndex] cp $6 jr nz, .continueAttempts ld hl, SendHighScoresAnimationData ld de, wSendHighScoresAnimationFrameCounter - call CopyHLToDE + call InitAnimation .continueAttempts pop bc ld a, [wd8ea] diff --git a/engine/pinball_game/ball_init/ball_init_blue_field.asm b/engine/pinball_game/ball_init/ball_init_blue_field.asm index 6077231..c530420 100755 --- a/engine/pinball_game/ball_init/ball_init_blue_field.asm +++ b/engine/pinball_game/ball_init/ball_init_blue_field.asm @@ -49,7 +49,7 @@ InitBallBlueField: ; 0x1c08d ld [wNumPoliwagTriples], a ld [wNumPsyduckTriples], a ld [wNumSpinnerTurns], a - ld [wd62e], a + ld [wNumPikachuSaves], a ld [wd613], a inc a ld [wd482], a diff --git a/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm b/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm index 9747d42..e452ecb 100755 --- a/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm @@ -38,7 +38,7 @@ InitBallMeowthBonusStage: ; 0x24059 xor a ld [wMeowthAnimationFrame], a ld [wd6ec], a - ld [wMeowthAnimationFrameIndex], a + ld [wMeowthAnimationIndex], a ld [wd70b], a ld [wd70c], a ld a, $c8 diff --git a/engine/pinball_game/ball_init/ball_init_red_field.asm b/engine/pinball_game/ball_init/ball_init_red_field.asm index 09c715b..c25259b 100755 --- a/engine/pinball_game/ball_init/ball_init_red_field.asm +++ b/engine/pinball_game/ball_init/ball_init_red_field.asm @@ -54,7 +54,7 @@ InitBallRedField: ; 0x3007d ld [wNumDugtrioTriples], a ld [wNumCAVECompletions], a ld [wNumSpinnerTurns], a - ld [wd62e], a + ld [wNumPikachuSaves], a ld [wd613], a inc a ld [wd482], a diff --git a/engine/pinball_game/catchem_mode.asm b/engine/pinball_game/catchem_mode.asm index 03ae11d..ae53e5c 100755 --- a/engine/pinball_game/catchem_mode.asm +++ b/engine/pinball_game/catchem_mode.asm @@ -688,8 +688,8 @@ BallCaptureInit: ; 0x10496 call LoadVRAMData call LoadShakeBallGfx ld hl, BallCaptureAnimationData - ld de, wBallCaptureAnimationFrameCounter - call CopyHLToDE + ld de, wBallCaptureAnimation + call InitAnimation ld a, $1 ld [wCapturingMon], a xor a @@ -755,9 +755,9 @@ CapturePokemon: ; 0x1052d call PlaySoundEffect .asm_10541 ld hl, BallCaptureAnimationData - ld de, wBallCaptureAnimationFrameCounter + ld de, wBallCaptureAnimation call UpdateAnimation - ld a, [wBallCaptureAnimationFrameIndex] + ld a, [wBallCaptureAnimationIndex] cp $1 jr nz, .asm_1055d ld a, [wBallCaptureAnimationFrameCounter] @@ -768,7 +768,7 @@ CapturePokemon: ; 0x1052d ret .asm_1055d - ld a, [wBallCaptureAnimationFrameIndex] + ld a, [wBallCaptureAnimationIndex] cp $15 ret nz ld a, [wBallCaptureAnimationFrameCounter] @@ -810,13 +810,13 @@ CapturePokemon: ; 0x1052d callba z, IncrementBonusMultiplier ; increments bonus multiplier every 10 pokemon caught .notMaxed call SetPokemonOwnedFlag - ld a, [wd624] + ld a, [wPreviousNumPokeballs] cp $3 ret z inc a - ld [wd625], a + ld [wNumPokeballs], a ld a, $80 - ld [wd626], a + ld [wPokeballBlinkingCounter], a ret BallCaptureAnimationData: ; 0x105e4 @@ -1275,7 +1275,7 @@ Func_108f5: ; 0x108f5 ld hl, BlankSaverSpaceTileDataRedField ld a, BANK(BlankSaverSpaceTileDataRedField) call Func_10aa - ld a, [wd624] + ld a, [wPreviousNumPokeballs] callba Func_174d4 ld hl, CaughtPokeballTileDataPointers ld a, BANK(CaughtPokeballTileDataPointers) @@ -1405,7 +1405,7 @@ Func_109fc: ; 0x109fc ld hl, BlankSaverSpaceTileDataBlueField ld a, BANK(BlankSaverSpaceTileDataBlueField) call Func_10aa - ld a, [wd624] + ld a, [wPreviousNumPokeballs] callba Func_174d4 ld hl, Data_10a88 ld a, BANK(Data_10a88) diff --git a/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm b/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm index 002aaad..69e76eb 100755 --- a/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm @@ -109,7 +109,7 @@ Func_1f408: ; 0x1f408 ld hl, hSCY sub [hl] ld c, a - ld a, [wd633] + ld a, [wSlowpokeAnimationFrame] ld e, a ld d, $0 ld hl, OAMIds_1f425 @@ -130,7 +130,7 @@ Func_1f428: ; 0x1f428 ld hl, hSCY sub [hl] ld c, a - ld a, [wd638] + ld a, [wCloysterAnimationFrame] ld e, a ld d, $0 ld hl, OAMIds_1f445 diff --git a/engine/pinball_game/load_stage_data/load_blue_field.asm b/engine/pinball_game/load_stage_data/load_blue_field.asm index 9ab3423..5f98c8b 100755 --- a/engine/pinball_game/load_stage_data/load_blue_field.asm +++ b/engine/pinball_game/load_stage_data/load_blue_field.asm @@ -5,7 +5,7 @@ _LoadStageDataBlueFieldTop: ; 0x1c165 call Func_1e8f6 callba Func_142fc ld a, $1 - ld [wd640], a + ld [wBlueStageForceFieldGfxNeedsLoading], a call Func_1f18a callba Func_1404a call Func_1c203 @@ -30,13 +30,13 @@ _LoadStageDataBlueFieldBottom: ; 0x1c191 ret Func_1c1db: ; 0x1c1db - ld a, [wd641] + ld a, [wBlueStageForceFieldFlippedDown] cp $0 ret z ld a, $1 - ld [wd640], a + ld [wBlueStageForceFieldGfxNeedsLoading], a ld a, $0 - ld [wd641], a + ld [wBlueStageForceFieldFlippedDown], a ld a, [wBlueStageForceFieldDirection] cp $2 ; down direction ret nz @@ -372,7 +372,7 @@ Func_1c43c: ; 0x1c43c ret .asm_1c458 - ld a, [wd624] + ld a, [wPreviousNumPokeballs] call Func_1f265 ld a, BANK(CaughtPokeballGfx) ld hl, CaughtPokeballGfx diff --git a/engine/pinball_game/load_stage_data/load_red_field.asm b/engine/pinball_game/load_stage_data/load_red_field.asm index 60b81b9..424e367 100755 --- a/engine/pinball_game/load_stage_data/load_red_field.asm +++ b/engine/pinball_game/load_stage_data/load_red_field.asm @@ -321,7 +321,7 @@ Func_14282: ; 0x14282 ret .asm_1429e - ld a, [wd624] + ld a, [wPreviousNumPokeballs] call Func_174d4 ld a, BANK(CaughtPokeballGfx) ld hl, CaughtPokeballGfx diff --git a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm index f7d4611..ec955f1 100755 --- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm @@ -234,7 +234,7 @@ Func_1c8b6: ; 0x1c8b6 ld a, $1 ; right direction ld [wBlueStageForceFieldDirection], a ld [wd64b], a - ld [wd640], a + ld [wBlueStageForceFieldGfxNeedsLoading], a jr .asm_1c99e .asm_1c947 @@ -262,17 +262,17 @@ Func_1c8b6: ; 0x1c8b6 ld [wBlueStageForceFieldDirection], a ld [wd64b], a ld a, $1 - ld [wd640], a + ld [wBlueStageForceFieldGfxNeedsLoading], a jr .asm_1c99e .asm_1c97f - ld a, [wd641] + ld a, [wBlueStageForceFieldFlippedDown] and a jr nz, .asm_1c993 xor a ld [wBlueStageForceFieldDirection], a ld a, $1 - ld [wd640], a + ld [wBlueStageForceFieldGfxNeedsLoading], a ld [wd64a], a jr .asm_1c99e @@ -280,7 +280,7 @@ Func_1c8b6: ; 0x1c8b6 ld a, $2 ; down direction ld [wBlueStageForceFieldDirection], a ld a, $1 - ld [wd640], a + ld [wBlueStageForceFieldGfxNeedsLoading], a ret .asm_1c99e @@ -313,18 +313,18 @@ ResolveShellderCollision: ; 0x1c9c1 xor a ld [wWhichShellder], a call Func_1ca29 - ld a, [wd641] + ld a, [wBlueStageForceFieldFlippedDown] and a jr nz, .asm_1c9f2 ld a, $1 - ld [wd641], a + ld [wBlueStageForceFieldFlippedDown], a ld a, [wBlueStageForceFieldDirection] cp $0 ; up direction jr nz, .asm_1c9f2 ld a, $2 ; down direction ld [wBlueStageForceFieldDirection], a ld a, $1 - ld [wd640], a + ld [wBlueStageForceFieldGfxNeedsLoading], a ld a, $3 ld [wd64c], a ld [wd64d], a @@ -1616,8 +1616,8 @@ ResolveBlueStagePikachuCollision: ; 0x1d0a1 jr nz, .asm_1d0fc .asm_1d0c9 ld hl, PikachuSaverAnimationDataRedStage - ld de, wPikachuSaverAnimationFrameCounter - call CopyHLToDE + ld de, wPikachuSaverAnimation + call InitAnimation ld a, [wPikachuSaverSlotRewardActive] and a jr nz, .asm_1d0dc @@ -1639,8 +1639,8 @@ ResolveBlueStagePikachuCollision: ; 0x1d0a1 .asm_1d0fc ld hl, PikachuSaverAnimation2DataRedStage - ld de, wPikachuSaverAnimationFrameCounter - call CopyHLToDE + ld de, wPikachuSaverAnimation + call InitAnimation ld a, $2 ld [wd51c], a lb de, $00, $3b @@ -1669,10 +1669,10 @@ Func_1d133: ; 0x1d133 cp $1 jr nz, .asm_1d1ae ld hl, PikachuSaverAnimationDataRedStage - ld de, wPikachuSaverAnimationFrameCounter + ld de, wPikachuSaverAnimation call UpdateAnimation ret nc - ld a, [wPikachuSaverAnimationFrameIndex] + ld a, [wPikachuSaverAnimationIndex] cp $1 jr nz, .asm_1d18c xor a @@ -1687,7 +1687,7 @@ Func_1d133: ; 0x1d133 ld [wd803], a ld a, $60 ld [wd804], a - ld hl, wd62e + ld hl, wNumPikachuSaves call Increment_Max100 jr nc, .asm_1d185 ld c, $a @@ -1699,7 +1699,7 @@ Func_1d133: ; 0x1d133 ret .asm_1d18c - ld a, [wPikachuSaverAnimationFrameIndex] + ld a, [wPikachuSaverAnimationIndex] cp $11 ret nz ld a, $fc @@ -1716,10 +1716,10 @@ Func_1d133: ; 0x1d133 cp $2 jr nz, .asm_1d1c7 ld hl, PikachuSaverAnimation2DataRedStage - ld de, wPikachuSaverAnimationFrameCounter + ld de, wPikachuSaverAnimation call UpdateAnimation ret nc - ld a, [wPikachuSaverAnimationFrameIndex] + ld a, [wPikachuSaverAnimationIndex] cp $1 ret nz xor a @@ -1788,8 +1788,8 @@ ResolveSlowpokeCollision: ; 0x1d216 lb de, $00, $05 call PlaySoundEffect ld hl, SlowpokeCollisionAnimationData ; 0x1d312 - ld de, wd632 - call CopyHLToDE + ld de, wSlowpokeAnimation + call InitAnimation xor a ld [wBallXVelocity], a ld [wBallXVelocity + 1], a @@ -1801,22 +1801,22 @@ ResolveSlowpokeCollision: ; 0x1d216 ld [wd549], a .asm_1d253 ld hl, SlowpokeCollisionAnimationData ; 0x1d312 - ld de, wd632 + ld de, wSlowpokeAnimation call UpdateAnimation push af - ld a, [wd632] + ld a, [wSlowpokeAnimation] and a jr nz, .asm_1d271 ld a, $19 - ld [wd632], a + ld [wSlowpokeAnimationFrameCounter], a xor a - ld [wd633], a + ld [wSlowpokeAnimationFrame], a ld a, $6 - ld [wd634], a + ld [wSlowpokeAnimationIndex], a .asm_1d271 pop af ret nc - ld a, [wd634] + ld a, [wSlowpokeAnimationIndex] cp $1 jr nz, .asm_1d2b6 xor a @@ -1842,7 +1842,7 @@ ResolveSlowpokeCollision: ; 0x1d216 ret .asm_1d2b6 - ld a, [wd634] + ld a, [wSlowpokeAnimationIndex] cp $4 jr nz, .asm_1d2c3 ld a, $1 @@ -1850,7 +1850,7 @@ ResolveSlowpokeCollision: ; 0x1d216 ret .asm_1d2c3 - ld a, [wd634] + ld a, [wSlowpokeAnimationIndex] cp $5 ret nz ld a, $1 @@ -1875,11 +1875,11 @@ ResolveSlowpokeCollision: ; 0x1d216 ld [wd64c], a ld [wd64d], a ld a, $1 - ld [wd641], a + ld [wBlueStageForceFieldFlippedDown], a ld a, $2 ; down direction ld [wBlueStageForceFieldDirection], a ld a, $1 - ld [wd640], a + ld [wBlueStageForceFieldGfxNeedsLoading], a ret SlowpokeCollisionAnimationData: ; 0x1d312 @@ -1910,8 +1910,8 @@ ResolveCloysterCollision: ; 0x1d32d lb de, $00, $05 call PlaySoundEffect ld hl, CloysterCollisionAnimationData - ld de, wd637 - call CopyHLToDE + ld de, wCloysterAnimation + call InitAnimation xor a ld [wBallXVelocity], a ld [wBallXVelocity + 1], a @@ -1923,22 +1923,22 @@ ResolveCloysterCollision: ; 0x1d32d ld [wd549], a .asm_1d36a ld hl, CloysterCollisionAnimationData - ld de, wd637 + ld de, wCloysterAnimation call UpdateAnimation push af - ld a, [wd637] + ld a, [wCloysterAnimationFrameCounter] and a jr nz, .asm_1d388 ld a, $19 - ld [wd637], a + ld [wCloysterAnimationFrameCounter], a xor a - ld [wd638], a + ld [wCloysterAnimationFrame], a ld a, $6 - ld [wd639], a + ld [wCloysterAnimationIndex], a .asm_1d388 pop af ret nc - ld a, [wd639] + ld a, [wCloysterAnimationIndex] cp $1 jr nz, .asm_1d3cb xor a @@ -1964,7 +1964,7 @@ ResolveCloysterCollision: ; 0x1d32d ret .asm_1d3cb - ld a, [wd639] + ld a, [wCloysterAnimationIndex] cp $4 jr nz, .asm_1d3d8 ld a, $1 @@ -1972,7 +1972,7 @@ ResolveCloysterCollision: ; 0x1d32d ret .asm_1d3d8 - ld a, [wd639] + ld a, [wCloysterAnimationIndex] cp $5 ret nz ld a, $1 @@ -1992,11 +1992,11 @@ ResolveCloysterCollision: ; 0x1d32d ld [wd64c], a ld [wd64d], a ld a, $1 - ld [wd641], a + ld [wBlueStageForceFieldFlippedDown], a ld a, $2 ; down direction ld [wBlueStageForceFieldDirection], a ld a, $1 - ld [wd640], a + ld [wBlueStageForceFieldGfxNeedsLoading], a ret CloysterCollisionAnimationData: ; 0x1d41d @@ -5841,7 +5841,7 @@ Func_1e830: ; 0x1e830 ret .asm_1e84b - ld a, [wd624] + ld a, [wPreviousNumPokeballs] cp $3 jr nz, .asm_1e891 ld a, [wd607] @@ -5852,9 +5852,9 @@ Func_1e830: ; 0x1e830 and a jr nz, .asm_1e867 xor a - ld [wd625], a + ld [wNumPokeballs], a ld a, $40 - ld [wd626], a + ld [wPokeballBlinkingCounter], a .asm_1e867 xor a ld [wBonusStageSlotRewardActive], a @@ -7770,7 +7770,7 @@ Func_1f124: ; 0x1f124 ret Func_1f18a: ; 0x1f18a - ld a, [wd640] + ld a, [wBlueStageForceFieldGfxNeedsLoading] cp $0 jr z, .asm_1f1b4 ld a, [wBlueStageForceFieldDirection] @@ -7792,7 +7792,7 @@ Func_1f18a: ; 0x1f18a ld a, Bank(TileDataPointers_1f1b5) call Func_10aa ld a, $0 - ld [wd640], a + ld [wBlueStageForceFieldGfxNeedsLoading], a .asm_1f1b4 ret @@ -7989,16 +7989,16 @@ Func_1f265: ; 0x1f265 ret Func_1f27b: ; 0x1f27b - ld a, [wd624] - ld hl, wd625 + ld a, [wPreviousNumPokeballs] + ld hl, wNumPokeballs cp [hl] ret z - ld a, [wd626] + ld a, [wPokeballBlinkingCounter] dec a - ld [wd626], a + ld [wPokeballBlinkingCounter], a jr nz, .asm_1f2a5 - ld a, [wd625] - ld [wd624], a + ld a, [wNumPokeballs] + ld [wPreviousNumPokeballs], a cp $3 jr c, .asm_1f2a0 ld a, $1 @@ -8006,22 +8006,22 @@ Func_1f27b: ; 0x1f27b ld a, $3 ld [wd607], a .asm_1f2a0 - ld a, [wd624] + ld a, [wPreviousNumPokeballs] scf ret .asm_1f2a5 and $7 ret nz - ld a, [wd626] + ld a, [wPokeballBlinkingCounter] bit 3, a jr nz, .asm_1f2b4 - ld a, [wd624] + ld a, [wPreviousNumPokeballs] scf ret .asm_1f2b4 - ld a, [wd625] + ld a, [wNumPokeballs] scf ret diff --git a/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm index dd7856d..303cbe7 100755 --- a/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm @@ -180,8 +180,8 @@ Func_19c52: ; 0x19c52 cp NUM_DIGLETTS jr nz, .asm_19cc8 ld hl, AnimationData_1ac75 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE + ld de, wDugtrioAnimation + call InitAnimation ld a, $1 ld [wDugrioState], a call Func_1ac2c @@ -540,8 +540,8 @@ Func_1aad4: ; 0x1aad4 ld a, [hli] ld h, [hl] ld l, a - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE + ld de, wDugtrioAnimation + call InitAnimation ld bc, FiveMillionPoints callba AddBigBCD6FromQueue lb de, $00, $36 @@ -571,7 +571,7 @@ Func_1ab30: ; 0x1ab30 ld a, [hli] ld h, [hl] ld l, a - ld de, wDugtrioAnimationFrameCounter + ld de, wDugtrioAnimation call UpdateAnimation ret nc ld a, [wDugrioState] @@ -579,12 +579,12 @@ Func_1ab30: ; 0x1ab30 ret z cp $1 jr nz, .asm_1ab64 - ld a, [wDugtrioAnimationFrameIndex] + ld a, [wDugtrioAnimationIndex] cp $3 ret nz ld hl, AnimationData_1ac75 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE + ld de, wDugtrioAnimation + call InitAnimation ld a, $1 ld [wDugrioState], a ret @@ -592,12 +592,12 @@ Func_1ab30: ; 0x1ab30 .asm_1ab64 cp $2 jr nz, .asm_1ab7d - ld a, [wDugtrioAnimationFrameIndex] + ld a, [wDugtrioAnimationIndex] cp $1 ret nz ld hl, AnimationData_1ac7f - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE + ld de, wDugtrioAnimation + call InitAnimation ld a, $3 ld [wDugrioState], a ret @@ -605,12 +605,12 @@ Func_1ab30: ; 0x1ab30 .asm_1ab7d cp $3 jr nz, .asm_1ab96 - ld a, [wDugtrioAnimationFrameIndex] + ld a, [wDugtrioAnimationIndex] cp $3 ret nz ld hl, AnimationData_1ac7f - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE + ld de, wDugtrioAnimation + call InitAnimation ld a, $3 ld [wDugrioState], a ret @@ -618,12 +618,12 @@ Func_1ab30: ; 0x1ab30 .asm_1ab96 cp $4 jr nz, .asm_1abaf - ld a, [wDugtrioAnimationFrameIndex] + ld a, [wDugtrioAnimationIndex] cp $1 ret nz ld hl, AnimationData_1ac89 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE + ld de, wDugtrioAnimation + call InitAnimation ld a, $5 ld [wDugrioState], a ret @@ -631,12 +631,12 @@ Func_1ab30: ; 0x1ab30 .asm_1abaf cp $5 jr nz, .asm_1abc8 - ld a, [wDugtrioAnimationFrameIndex] + ld a, [wDugtrioAnimationIndex] cp $3 ret nz ld hl, AnimationData_1ac89 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE + ld de, wDugtrioAnimation + call InitAnimation ld a, $5 ld [wDugrioState], a ret @@ -644,12 +644,12 @@ Func_1ab30: ; 0x1ab30 .asm_1abc8 cp $6 jr nz, .asm_1abe1 - ld a, [wDugtrioAnimationFrameIndex] + ld a, [wDugtrioAnimationIndex] cp $1 ret nz ld hl, AnimationData_1ac93 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE + ld de, wDugtrioAnimation + call InitAnimation ld a, $7 ld [wDugrioState], a ret @@ -657,7 +657,7 @@ Func_1ab30: ; 0x1ab30 .asm_1abe1 cp $7 ret nz - ld a, [wDugtrioAnimationFrameIndex] + ld a, [wDugtrioAnimationIndex] cp $1 jr nz, .asm_1abf2 ld de, $0000 @@ -668,8 +668,8 @@ Func_1ab30: ; 0x1ab30 cp $2 ret nz ld hl, AnimationData_1ac72 - ld de, wDugtrioAnimationFrameCounter - call CopyHLToDE + ld de, wDugtrioAnimation + call InitAnimation xor a ld [wDugrioState], a ld [wd498], a diff --git a/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm index 0ccf338..97ed5fa 100755 --- a/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm @@ -200,7 +200,7 @@ Func_18464: ; 0x18464 dec de dec de ld hl, AnimationData_185e6 - call CopyHLToDE + call InitAnimation pop de ld a, $1 ld [de], a @@ -327,7 +327,7 @@ Func_18562: ; 0x18562 ld hl, AnimationData_185dd dec de dec de - call CopyHLToDE + call InitAnimation ret .asm_1858a @@ -374,7 +374,7 @@ Func_18562: ; 0x18562 push de dec de dec de - call CopyHLToDE + call InitAnimation pop de inc de xor a @@ -448,7 +448,7 @@ Func_1860b: ; 0x1860b dec de dec de ld hl, AnimationData_1878a - call CopyHLToDE + call InitAnimation pop de ld a, $1 ld [de], a @@ -569,7 +569,7 @@ Func_186f7: ; 0x186f7 ld hl, AnimationData_18781 dec de dec de - call CopyHLToDE + call InitAnimation ret .asm_1871f @@ -608,7 +608,7 @@ Func_186f7: ; 0x186f7 push de dec de dec de - call CopyHLToDE + call InitAnimation pop de inc de xor a @@ -703,7 +703,7 @@ Func_187b1: ; 0x187b1 cp $5 jr nc, .asm_18804 ld hl, AnimationData_18b2b - call CopyHLToDE + call InitAnimation pop de ld a, $2 ld [de], a @@ -713,7 +713,7 @@ Func_187b1: ; 0x187b1 .asm_18804 ld hl, AnimationData_18b32 - call CopyHLToDE + call InitAnimation pop de ld a, $3 ld [de], a @@ -947,7 +947,7 @@ Func_189af: ; 0x189af ld hl, AnimationData_18a61 dec de dec de - call CopyHLToDE + call InitAnimation ret .asm_189d7 @@ -960,7 +960,7 @@ Func_189af: ; 0x189af push de dec de dec de - call CopyHLToDE + call InitAnimation pop de inc de xor a @@ -977,7 +977,7 @@ Func_189af: ; 0x189af push de dec de dec de - call CopyHLToDE + call InitAnimation pop de inc de ld a, $1 @@ -1022,7 +1022,7 @@ Func_189af: ; 0x189af push de dec de dec de - call CopyHLToDE + call InitAnimation pop de inc de xor a diff --git a/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm index 3c8612d..87e930c 100755 --- a/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm @@ -78,8 +78,8 @@ ResolveMeowthBonusGameObjectCollisions: ; 0x2442a ld a, $1 ld [wd712], a ld hl, MeowthAnimationData5 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ld a, $4 ld [wd6ec], a ret @@ -270,16 +270,16 @@ Func_245ab: ; 0x245ab and a jr nz, .asm_24611 ld hl, MeowthAnimationData3 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ld a, $2 ld [wd6ec], a jr .asm_24651 .asm_24611 ld hl, MeowthAnimationData4 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ld a, $3 ld [wd6ec], a jr .asm_24651 @@ -303,8 +303,8 @@ Func_245ab: ; 0x245ab cp $3 jr nz, .asm_24651 ld hl, MeowthAnimationData5 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ld a, $4 ld [wd6ec], a .asm_24651 @@ -324,40 +324,40 @@ Func_2465d: ; 0x2465d ld a, [hli] ld h, [hl] ld l, a - ld de, wMeowthAnimationFrameCounter + ld de, wMeowthAnimation call UpdateAnimation ret nc ld a, [wd6ec] and a jr nz, .asm_24689 - ld a, [wMeowthAnimationFrameIndex] + ld a, [wMeowthAnimationIndex] cp $4 ret nz ld hl, MeowthAnimationData1 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ret .asm_24689 cp $1 jr nz, .asm_2469d - ld a, [wMeowthAnimationFrameIndex] + ld a, [wMeowthAnimationIndex] cp $4 ret nz ld hl, MeowthAnimationData2 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ret .asm_2469d cp $2 jr nz, .asm_246b5 - ld a, [wMeowthAnimationFrameIndex] + ld a, [wMeowthAnimationIndex] cp $1 ret nz ld hl, MeowthAnimationData1 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation xor a ld [wd6ec], a ret @@ -365,12 +365,12 @@ Func_2465d: ; 0x2465d .asm_246b5 cp $3 jr nz, .asm_246ce - ld a, [wMeowthAnimationFrameIndex] + ld a, [wMeowthAnimationIndex] cp $1 ret nz ld hl, MeowthAnimationData2 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ld a, $1 ld [wd6ec], a ret @@ -378,12 +378,12 @@ Func_2465d: ; 0x2465d .asm_246ce cp $4 jr nz, .asm_24689 - ld a, [wMeowthAnimationFrameIndex] + ld a, [wMeowthAnimationIndex] cp $2 ret nz ld hl, MeowthAnimationData5 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ret MewothAnimationDataTable: ; 0x246e2 @@ -847,16 +847,16 @@ Func_248ac: ; 0x248ac cp $ff jr z, .asm_24a21 ld hl, MeowthAnimationData2 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ld a, $1 ld [wd6ec], a ret .asm_24a21 ld hl, MeowthAnimationData1 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ld a, $0 ld [wd6ec], a ret @@ -1473,16 +1473,16 @@ Func_24d07: ; 0x24d07 cp $ff jr z, .asm_24e70 ld hl, MeowthAnimationData2 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ld a, $1 ld [wd6ec], a ret .asm_24e70 ld hl, MeowthAnimationData1 - ld de, wMeowthAnimationFrameCounter - call CopyHLToDE + ld de, wMeowthAnimation + call InitAnimation ld a, $0 ld [wd6ec], a ret @@ -1558,7 +1558,7 @@ Func_24ee7: ; 0x24ee7 dec de dec de dec de - call CopyHLToDE + call InitAnimation ret Func_24f00: ; 0x24f00 diff --git a/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm index 3e5276b..1717126 100755 --- a/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm @@ -372,7 +372,7 @@ Func_19679: ; 0x19679 push de dec de dec de - call CopyHLToDE + call InitAnimation pop de inc de pop af @@ -632,7 +632,7 @@ Func_19876: ; 0x19876 push de dec de dec de - call CopyHLToDE + call InitAnimation pop de inc de pop af diff --git a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm index e08497a..b558015 100755 --- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm @@ -4453,8 +4453,8 @@ ResolveBellsproutCollision: ; 0x15e93 lb de, $00, $05 call PlaySoundEffect ld hl, BellsproutAnimationData - ld de, wBellsproutAnimationFrameCounter - call CopyHLToDE + ld de, wBellsproutAnimation + call InitAnimation xor a ld [wBallXVelocity], a ld [wBallXVelocity + 1], a @@ -4470,7 +4470,7 @@ ResolveBellsproutCollision: ; 0x15e93 ld [wd549], a .asm_15eda ld hl, BellsproutAnimationData - ld de, wBellsproutAnimationFrameCounter + ld de, wBellsproutAnimation call UpdateAnimation push af ld a, [wBellsproutAnimationFrameCounter] @@ -4481,11 +4481,11 @@ ResolveBellsproutCollision: ; 0x15e93 xor a ld [wBellsproutAnimationFrame], a ld a, $6 - ld [wBellsproutAnimationFrameIndex], a + ld [wBellsproutAnimationIndex], a .asm_15ef8 pop af ret nc - ld a, [wBellsproutAnimationFrameIndex] + ld a, [wBellsproutAnimationIndex] cp $1 jr nz, .asm_15f35 xor a @@ -4509,7 +4509,7 @@ ResolveBellsproutCollision: ; 0x15e93 ret .asm_15f35 - ld a, [wBellsproutAnimationFrameIndex] + ld a, [wBellsproutAnimationIndex] cp $4 jr nz, .asm_15f42 ld a, $1 @@ -4517,7 +4517,7 @@ ResolveBellsproutCollision: ; 0x15e93 ret .asm_15f42 - ld a, [wBellsproutAnimationFrameIndex] + ld a, [wBellsproutAnimationIndex] cp $5 ret nz ld a, $1 @@ -5177,7 +5177,7 @@ Func_16352: ; 0x16352 ret .asm_1636d - ld a, [wd624] + ld a, [wPreviousNumPokeballs] cp $3 jr nz, .asm_163b3 ld a, [wd607] @@ -5188,9 +5188,9 @@ Func_16352: ; 0x16352 and a jr nz, .asm_16389 xor a - ld [wd625], a + ld [wNumPokeballs], a ld a, $40 - ld [wd626], a + ld [wPokeballBlinkingCounter], a .asm_16389 xor a ld [wBonusStageSlotRewardActive], a @@ -5598,8 +5598,8 @@ ResolveRedStagePikachuCollision: ; 0x1660c jr nz, .asm_16667 .asm_16634 ld hl, PikachuSaverAnimationDataBlueStage - ld de, wPikachuSaverAnimationFrameCounter - call CopyHLToDE + ld de, wPikachuSaverAnimation + call InitAnimation ld a, [wPikachuSaverSlotRewardActive] and a jr nz, .asm_16647 @@ -5621,8 +5621,8 @@ ResolveRedStagePikachuCollision: ; 0x1660c .asm_16667 ld hl, PikachuSaverAnimation2DataBlueStage - ld de, wPikachuSaverAnimationFrameCounter - call CopyHLToDE + ld de, wPikachuSaverAnimation + call InitAnimation ld a, $2 ld [wd51c], a lb de, $00, $3b @@ -5651,10 +5651,10 @@ Func_1669e: ; 0x1669e cp $1 jr nz, .asm_16719 ld hl, PikachuSaverAnimationDataBlueStage - ld de, wPikachuSaverAnimationFrameCounter + ld de, wPikachuSaverAnimation call UpdateAnimation ret nc - ld a, [wPikachuSaverAnimationFrameIndex] + ld a, [wPikachuSaverAnimationIndex] cp $1 jr nz, .asm_166f7 xor a @@ -5669,7 +5669,7 @@ Func_1669e: ; 0x1669e ld [wd803], a ld a, $60 ld [wd804], a - ld hl, wd62e + ld hl, wNumPikachuSaves call Increment_Max100 jr nc, .asm_166f0 ld c, $a @@ -5681,7 +5681,7 @@ Func_1669e: ; 0x1669e ret .asm_166f7 - ld a, [wPikachuSaverAnimationFrameIndex] + ld a, [wPikachuSaverAnimationIndex] cp $11 ret nz ld a, $fc @@ -5698,10 +5698,10 @@ Func_1669e: ; 0x1669e cp $2 jr nz, .asm_16732 ld hl, PikachuSaverAnimation2DataBlueStage - ld de, wPikachuSaverAnimationFrameCounter + ld de, wPikachuSaverAnimation call UpdateAnimation ret nc - ld a, [wPikachuSaverAnimationFrameIndex] + ld a, [wPikachuSaverAnimationIndex] cp $1 ret nz xor a @@ -8655,16 +8655,16 @@ Func_174d4: ; 0x174d4 ret Func_174ea: ; 0x174ea - ld a, [wd624] - ld hl, wd625 + ld a, [wPreviousNumPokeballs] + ld hl, wNumPokeballs cp [hl] ret z - ld a, [wd626] + ld a, [wPokeballBlinkingCounter] dec a - ld [wd626], a + ld [wPokeballBlinkingCounter], a jr nz, .asm_17514 - ld a, [wd625] - ld [wd624], a + ld a, [wNumPokeballs] + ld [wPreviousNumPokeballs], a cp $3 jr c, .asm_1750f ld a, $1 @@ -8672,22 +8672,22 @@ Func_174ea: ; 0x174ea ld a, $3 ld [wd607], a .asm_1750f - ld a, [wd624] + ld a, [wPreviousNumPokeballs] scf ret .asm_17514 and $7 ret nz - ld a, [wd626] + ld a, [wPokeballBlinkingCounter] bit 3, a jr nz, .asm_17523 - ld a, [wd624] + ld a, [wPreviousNumPokeballs] scf ret .asm_17523 - ld a, [wd625] + ld a, [wNumPokeballs] scf ret diff --git a/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm index b52be76..81861a4 100755 --- a/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm @@ -227,7 +227,7 @@ Func_25da3: ; 0x25da3 dec de push bc ld hl, SeelAnimationData10 - call CopyHLToDE + call InitAnimation pop bc ld hl, wd76e add hl, bc @@ -399,7 +399,7 @@ Func_25ec5: ; 0x25ec5 ld d, h ld e, l ld hl, SeelAnimationData8 - call CopyHLToDE + call InitAnimation ret .asm_25f05 @@ -429,7 +429,7 @@ Func_25ec5: ; 0x25ec5 ld d, h ld e, l ld hl, SeelAnimationData9 - call CopyHLToDE + call InitAnimation ret SeelSwimmingYOffsets: @@ -820,7 +820,7 @@ Func_26137: ; 0x26137 push de dec de dec de - call CopyHLToDE + call InitAnimation pop de inc de pop af @@ -959,7 +959,7 @@ Func_261f9: ; 0x261f9 dec de dec de dec de - call CopyHLToDE + call InitAnimation ret Func_26212: ; 0x26212 diff --git a/engine/pinball_game/slot.asm b/engine/pinball_game/slot.asm index 1cefe2b..a20f13b 100755 --- a/engine/pinball_game/slot.asm +++ b/engine/pinball_game/slot.asm @@ -4,7 +4,7 @@ Func_ed8e: ; 0xed8e ld [wd804], a ld [wCatchEmOrEvolutionSlotRewardActive], a ld a, [wNumPartyMons] - ld [wd620], a + ld [wSlotAnyPokemonCaught], a ld a, [wBallType] ld c, a ld b, $0 @@ -195,7 +195,7 @@ Func_eeee: ; 0xeeee Func_eef9: ; 0xeef9 cp $8 jr nz, .asm_ef09 - ld a, [wd620] + ld a, [wSlotAnyPokemonCaught] and a jr nz, .asm_ef06 ld a, $7 diff --git a/engine/pinball_game/stage_init/init_blue_field.asm b/engine/pinball_game/stage_init/init_blue_field.asm index 666896b..4b166b6 100755 --- a/engine/pinball_game/stage_init/init_blue_field.asm +++ b/engine/pinball_game/stage_init/init_blue_field.asm @@ -15,10 +15,10 @@ InitBlueField: ; 0x1c000 ld [wd4c9], a ld [wBallType], a ld [wd4c8], a - ld hl, wd624 - ld [hli], a - ld [hli], a + ld hl, wPreviousNumPokeballs ld [hli], a + ld [hli], a ; wNumPokeballs + ld [hli], a ; wPokeballBlinkingCounter ld [wd7ac], a ld [wd7be], a ld [wCurrentMap], a ; PALLET_TOWN diff --git a/engine/pinball_game/stage_init/init_diglett_bonus.asm b/engine/pinball_game/stage_init/init_diglett_bonus.asm index ec4ce86..a04b201 100755 --- a/engine/pinball_game/stage_init/init_diglett_bonus.asm +++ b/engine/pinball_game/stage_init/init_diglett_bonus.asm @@ -25,7 +25,7 @@ InitDiglettBonusStage: ; 0x199f2 ld a, $c ld [wDugtrioAnimationFrame], a xor a - ld [wDugtrioAnimationFrameIndex], a + ld [wDugtrioAnimationIndex], a ld [wDugrioState], a ld a, $11 call SetSongBank diff --git a/engine/pinball_game/stage_init/init_red_field.asm b/engine/pinball_game/stage_init/init_red_field.asm index ad8bf0a..b691d69 100755 --- a/engine/pinball_game/stage_init/init_red_field.asm +++ b/engine/pinball_game/stage_init/init_red_field.asm @@ -15,10 +15,10 @@ InitRedField: ; 0x30000 ld [wd4c9], a ld [wBallType], a ld [wd4c8], a - ld hl, wd624 - ld [hli], a - ld [hli], a + ld hl, wPreviousNumPokeballs ld [hli], a + ld [hli], a ; wNumPokeballs + ld [hli], a ; wPokeballBlinkingCounter ld [wd7ac], a ld [wd7be], a ld [wCurrentMap], a ; PALLET_TOWN diff --git a/home.asm b/home.asm index 0d9f1da..1eb9f2f 100755 --- a/home.asm +++ b/home.asm @@ -148,7 +148,7 @@ Start: ; 0x150 ld [wd810], a call Func_97a xor a - ld [wdaa3], a + ld [wBootCheck], a ld a, BANK(Func_1ffc) ld hl, Func_1ffc call BankSwitchSimple @@ -239,7 +239,7 @@ SoftReset: ld a, [hGameBoyColorFlag] ld [$fffd], a xor a - ld [wdaa3], a + ld [wBootCheck], a ld a, $0 ld hl, Func_1ffc call BankSwitchSimple @@ -298,22 +298,22 @@ VBlank: ; 0x2f2 ld a, [hNextFrameHBlankSCY] ld [hHBlankSCY], a call ReadJoypad - ld a, [wdaa3] + ld a, [wBootCheck] and a - jr nz, .asm_359 + jr nz, .skipBootCheck ld a, [hJoypadState] cp $f - jr nz, .asm_359 + jr nz, .skipBootCheck ld a, [hNewlyPressedButtons] and $f - jr z, .asm_359 + jr z, .skipBootCheck ld hl, [sp+$8] - ld [hl], $c3 + ld [hl], Func_3c3 & $ff inc hl - ld [hl], $3 + ld [hl], Func_3c3 >> 8 ld a, $1 - ld [wdaa3], a -.asm_359 + ld [wBootCheck], a +.skipBootCheck ld hl, hNumFramesSinceLastVBlank ld a, [hl] inc [hl] @@ -5057,9 +5057,10 @@ CatchBarTiles: db $80, $AE, $AF, $B0, $B1, $B2, $B3, $80 CatchBarTilesEnd: -CopyHLToDE: ; 0x28a0 -; Places [hl] into [de] -; Also places $0 into [de + 2] +InitAnimation: ; 0x28a0 +; Initializes an OAM animation. +; hl = pointer to first frame of animation +; de = pointer to destination animation struct ld a, [hli] ld [de], a inc de diff --git a/main.asm b/main.asm index e3db6f8..bf359a8 100755 --- a/main.asm +++ b/main.asm @@ -941,7 +941,7 @@ Func_10fe3: ; 0x10fe3 ld hl, BlankSaverSpaceTileDataRedField ld a, BANK(BlankSaverSpaceTileDataRedField) call Func_10aa - ld a, [wd624] + ld a, [wPreviousNumPokeballs] callba Func_174d4 ld hl, CaughtPokeballTileDataPointers ld a, BANK(CaughtPokeballTileDataPointers) @@ -1078,7 +1078,7 @@ Func_11195: ; 0x11195 ld hl, BlankSaverSpaceTileDataBlueField ld a, BANK(BlankSaverSpaceTileDataBlueField) call Func_10aa - ld a, [wd624] + ld a, [wPreviousNumPokeballs] callba Func_174d4 ld hl, Data_10a88 ld a, BANK(Data_10a88) @@ -2705,7 +2705,7 @@ Func_2070b: ; 0x2070b ld hl, wNumPokemonEvolvedInBallBonus call Increment_Max100 callba SetPokemonOwnedFlag - ld a, [wd624] + ld a, [wPreviousNumPokeballs] cp $3 ret z add $2 @@ -2713,9 +2713,9 @@ Func_2070b: ; 0x2070b jr c, .asm_2074d ld a, $3 .asm_2074d - ld [wd625], a + ld [wNumPokeballs], a ld a, $80 - ld [wd626], a + ld [wPokeballBlinkingCounter], a scf ret @@ -3434,7 +3434,7 @@ Func_20d30: ; 0x20d30 ld hl, wNumPokemonEvolvedInBallBonus call Increment_Max100 callba SetPokemonOwnedFlag - ld a, [wd624] + ld a, [wPreviousNumPokeballs] cp $3 ret z add $2 @@ -3442,9 +3442,9 @@ Func_20d30: ; 0x20d30 jr c, .asm_20d72 ld a, $3 .asm_20d72 - ld [wd625], a + ld [wNumPokeballs], a ld a, $80 - ld [wd626], a + ld [wPokeballBlinkingCounter], a scf ret @@ -3715,7 +3715,7 @@ Func_20f75: ; 0x20f75 ld a, [wIndicatorStates + 3] ld [wd559], a ld a, [wIndicatorStates + 2] - ld [wd63f], a + ld [wIndicatorState2Backup], a xor a ld [wIndicatorStates], a ld [wIndicatorStates + 2], a @@ -3765,7 +3765,7 @@ Func_20fef: ; 0x20fef ld a, [wIndicatorStates + 3] ld [wd559], a ld a, [wIndicatorStates + 2] - ld [wd63f], a + ld [wIndicatorState2Backup], a xor a ld [wIndicatorStates + 2], a ld [wIndicatorStates + 3], a @@ -3862,7 +3862,7 @@ asm_210c7: ld [wIndicatorStates], a ld a, [wd559] ld [wIndicatorStates + 3], a - ld a, [wd63f] + ld a, [wIndicatorState2Backup] ld [wIndicatorStates + 2], a ld a, [wCurrentStage] bit 0, a diff --git a/wram.asm b/wram.asm index 5f53556..38feee2 100755 --- a/wram.asm +++ b/wram.asm @@ -1,3 +1,9 @@ +; OAM Animations use this 3-byte struct. +animation: MACRO +\1FrameCounter:: ds 1 +\1Frame:: ds 1 +\1Index:: ds 1 +endm SECTION "WRAM Bank 0", WRAM0 @@ -412,14 +418,8 @@ wBellsproutCollision:: ; 0xd4fb ; Second byte is set by HandleGameObjectCollision, but is unused ds $2 -wBellsproutAnimationFrameCounter:: ; 0xd4fd - ds $1 - -wBellsproutAnimationFrame:: ; 0xd4fe - ds $1 - -wBellsproutAnimationFrameIndex:: ; 0xd4ff - ds $1 +wBellsproutAnimation:: ; 0xd4fd + animation wBellsproutAnimation wStaryuCollision:: ; 0xd500 ; Second byte is set by HandleGameObjectCollision, but is unused @@ -486,14 +486,8 @@ wPikachuSaverCharge:: ; 0xd517 wd518:: ; 0xd518 ds $1 -wPikachuSaverAnimationFrameCounter:: ; 0xd519 - ds $1 - -wPikachuSaverAnimationFrame:: ; 0xd51a - ds $1 - -wPikachuSaverAnimationFrameIndex:: ; 0xd51b - ds $1 +wPikachuSaverAnimation:: ; 0xd519 + animation wPikachuSaverAnimation wd51c:: ; 0xd51c ds $1 @@ -773,14 +767,8 @@ wCapturingMon:: ; 0xd5f3 ; Set to 1 when the capturing animation starts. ds $1 -wBallCaptureAnimationFrameCounter:: ; 0xd5f4 - ds $1 - -wBallCaptureAnimationFrame:: ; 0xd5f5 - ds $1 - -wBallCaptureAnimationFrameIndex:: ; 0xd5f6 - ds $1 +wBallCaptureAnimation:: ; 0xd5f4 + animation wBallCaptureAnimation wWhichPinballUpgradeTrigger:: ; 0xd5f7 ds $1 @@ -884,7 +872,8 @@ wd61e:: ; 0xd61e wCurSlotBonus:: ; 0xd61f ds $1 -wd620:: ; 0xd620 +wSlotAnyPokemonCaught:: ; 0xd620 +; Used by the slot logic to store whether or not any pokemon are caught. ds $1 wd621:: ; 0xd621 @@ -899,14 +888,24 @@ wBonusStageSlotRewardActive:: ; 0xd623 ; Set to 1 when the "Go To Bonus" Slot Reward is received. ds $1 -wd624:: ; 0xd624 +wPreviousNumPokeballs:: ; 0xd624 +; See wNumPokeballs. This holds the previous number of them to handle the blinking +; animation, so that it only blinks the newly-acquired pokeballs. ds $1 -wd625:: ; 0xd625 +wNumPokeballs:: ; 0xd625 +; The number of Pokeballs that appear directly underneath the billboard area. +; When you get 3 of these, the bonus stage opens up. This number is increased +; when doing things like catching of evolving a pokemon. ds $1 -wd626:: ; 0xd626 - ds $2 +wPokeballBlinkingCounter:: ; 0xd626 +; Counts the number of frames left in the blinking pokeballs animation. +; These Pokeballs are located underneath the billboard area, and blink after +; doing things such as catching or evolving a pokemon. + ds $1 + + ds $1 ; unused byte wNumPokemonCaughtInBallBonus:: ; 0xd628 ; Counts the number of pokemon caught in a single ball bonus. @@ -932,7 +931,9 @@ wNumSpinnerTurns:: ; 0xd62d ; Counts the number of spinner turns in a single ball bonus. ds $1 -wd62e:: ; 0xd62e +wNumPikachuSaves:: ; 0xd62e +; Counts the number of times the ball was saved by a charged Pikachu. +; This is unused, but was probably intended to be used in the Ball Bonus. ds $1 wNumMewtwoBonusCompletions:: ; 0xd62f @@ -942,27 +943,15 @@ wSlowpokeCollision:: ; 0xd630 ; Second byte is set by HandleGameObjectCollision, but is unused ds $2 -wd632:: ; 0xd632 - ds $1 - -wd633:: ; 0xd633 - ds $1 - -wd634:: ; 0xd634 - ds $1 +wSlowpokeAnimation:: ; 0xd632 + animation wSlowpokeAnimation wCloysterCollision:: ; 0xd635 ; Second byte is set by HandleGameObjectCollision, but is unused ds $2 -wd637:: ; 0xd637 - ds $1 - -wd638:: ; 0xd638 - ds $1 - -wd639:: ; 0xd639 - ds $1 +wCloysterAnimation:: ; 0xd637 + animation wCloysterAnimation wNumSlowpokeEntries:: ; 0xd63a ; Counts the number of times Slowpoke was entered without triggering Evolution mode. @@ -983,13 +972,15 @@ wNumPoliwagTriples:: ; 0xd63d wBlueStageForceFieldDirection:: ; 0xd63e ds $1 -wd63f:: ; 0xd63f +wIndicatorState2Backup:: ; 0xd63f ds $1 -wd640:: ; 0xd640 +wBlueStageForceFieldGfxNeedsLoading:: ; 0xd640 +; A flag to signal that the force field arrow graphics need to be updated because +; it recently changed direction. ds $1 -wd641:: ; 0xd641 +wBlueStageForceFieldFlippedDown:: ; 0xd641 ds $1 wd642:: ; 0xd642 @@ -1295,14 +1286,8 @@ wd6e6:: ; 0xd6e6 wd6e7:: ; 0xd6e7 ds $2 -wMeowthAnimationFrameCounter:: ; 0xd6e9 - ds $1 - -wMeowthAnimationFrame:: ; 0xd6ea - ds $1 - -wMeowthAnimationFrameIndex:: ; 0xd6eb - ds $1 +wMeowthAnimation:: ; 0xd6e9 + animation wMeowthAnimation wd6ec:: ; 0xd6ec ds $1 @@ -1517,14 +1502,8 @@ wDiglettInitDelayCounter:: ; 0xd75e wd75f:: ; 0xd75f ds $2 -wDugtrioAnimationFrameCounter:: ; 0xd761 - ds $1 - -wDugtrioAnimationFrame:: ; 0xd762 - ds $1 - -wDugtrioAnimationFrameIndex:: ; 0xd763 - ds $1 +wDugtrioAnimation:: ; 0xd761 + animation wDugtrioAnimation wDugrioState:: ; 0xd764 ds $1 @@ -2181,7 +2160,9 @@ wCurrentScreen:: ; 0xd8f1 ds $1 wScreenState:: ; 0xd8f2 - ds $4 + ds $1 + + ds $3 wd8f6:: ; 0xd8f6 ds $12 @@ -2390,14 +2371,8 @@ wda85:: ; 0xda85 wda86:: ; 0xda86 ds $1 -wSendHighScoresAnimationFrameCounter:: ; 0xda87 - ds $1 - -wSendHighScoresAnimationFrame:: ; 0xda88 - ds $1 - -wSendHighScoresAnimationFrameIndex:: ; 0xda89 - ds $1 +wSendHighScoresAnimation:: ; 0xda87 + animation wSendHighScoresAnimation wda8a:: ; 0xda8a ds $2 @@ -2429,11 +2404,11 @@ wdaa1:: ; 0xdaa1 wdaa2:: ; 0xdaa2 ds $1 -wdaa3:: ; 0xdaa3 - ds $20a +wBootCheck:: ; 0xdaa3 +; Used to do a single check during first VBLANK. + ds $1 -wdcad:: ; 0xdcad - ds $53 +; $25c bytes of free space SECTION "Audio RAM", WRAMX [$dd00], BANK [1] wdd00:: ; 0xdd00 -- cgit v1.2.3