From 60fb46c82b9432c29f5c94dc6680d9d02365f790 Mon Sep 17 00:00:00 2001 From: M Date: Sun, 9 Jul 2017 17:51:39 +0200 Subject: Labelled BallSaverIcon functions --- engine/pinball_game/ball_saver/ball_saver_20.asm | 2 +- engine/pinball_game/ball_saver/ball_saver_30.asm | 2 +- engine/pinball_game/ball_saver/ball_saver_60.asm | 2 +- engine/pinball_game/ball_saver/ball_saver_90.asm | 2 +- .../ball_saver/ball_saver_catchem_mode.asm | 6 +-- .../load_stage_data/load_blue_field.asm | 2 +- .../load_stage_data/load_red_field.asm | 2 +- .../blue_stage_resolve_collision.asm | 4 +- .../red_stage_resolve_collision.asm | 56 +++++++++++----------- 9 files changed, 39 insertions(+), 39 deletions(-) (limited to 'engine') diff --git a/engine/pinball_game/ball_saver/ball_saver_20.asm b/engine/pinball_game/ball_saver/ball_saver_20.asm index db4c55b..78dd4ff 100755 --- a/engine/pinball_game/ball_saver/ball_saver_20.asm +++ b/engine/pinball_game/ball_saver/ball_saver_20.asm @@ -2,7 +2,7 @@ Start20SecondSaverTimer: ; 0xdbba ld a, $1 ld [wBallSaverIconOn], a ld a, $ff - ld [wd4a2], a + ld [wBallSaverFlashRate], a ld a, 59 ld [wBallSaverTimerFrames], a ld a, 20 diff --git a/engine/pinball_game/ball_saver/ball_saver_30.asm b/engine/pinball_game/ball_saver/ball_saver_30.asm index be1dda9..8df9643 100755 --- a/engine/pinball_game/ball_saver/ball_saver_30.asm +++ b/engine/pinball_game/ball_saver/ball_saver_30.asm @@ -2,7 +2,7 @@ Start30SecondSaverTimer: ; 0xef35 ld a, $0 ld [wBallSaverIconOn], a ld a, $ff - ld [wd4a2], a + ld [wBallSaverFlashRate], a ld a, 59 ld [wBallSaverTimerFrames], a ld a, 30 diff --git a/engine/pinball_game/ball_saver/ball_saver_60.asm b/engine/pinball_game/ball_saver/ball_saver_60.asm index 9b6b5ef..e26934f 100755 --- a/engine/pinball_game/ball_saver/ball_saver_60.asm +++ b/engine/pinball_game/ball_saver/ball_saver_60.asm @@ -2,7 +2,7 @@ Start60SecondSaverTimer: ; 0xef4f ld a, $0 ld [wBallSaverIconOn], a ld a, $ff - ld [wd4a2], a + ld [wBallSaverFlashRate], a ld a, 59 ld [wBallSaverTimerFrames], a ld a, 60 diff --git a/engine/pinball_game/ball_saver/ball_saver_90.asm b/engine/pinball_game/ball_saver/ball_saver_90.asm index 7acda2c..6f5dc25 100755 --- a/engine/pinball_game/ball_saver/ball_saver_90.asm +++ b/engine/pinball_game/ball_saver/ball_saver_90.asm @@ -2,7 +2,7 @@ Start90SecondSaverTimer: ; 0xef69 ld a, $0 ld [wBallSaverIconOn], a ld a, $ff - ld [wd4a2], a + ld [wBallSaverFlashRate], a ld a, 59 ld [wBallSaverTimerFrames], a ld a, 90 diff --git a/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm b/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm index 2d1dbdd..5e308d8 100755 --- a/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm +++ b/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm @@ -8,7 +8,7 @@ InitBallSaverForCatchEmMode: ; 0xdbd4 ld a, $0 ld [wBallSaverIconOn], a ld a, $ff - ld [wd4a2], a + ld [wBallSaverFlashRate], a ld a, 59 ld [wBallSaverTimerFrames], a ld a, 60 @@ -43,9 +43,9 @@ RestoreBallSaverAfterCatchEmMode: ; 0xdc00 ld c, $ff .asm_dc34 ld a, c - ld [wd4a2], a + ld [wBallSaverFlashRate], a ld a, [wCurrentStage] bit 0, a ret z - callba Func_14707 + callba DrawBallSaverIcon ret 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 be4ffe0..1413bd4 100755 --- a/engine/pinball_game/load_stage_data/load_blue_field.asm +++ b/engine/pinball_game/load_stage_data/load_blue_field.asm @@ -20,7 +20,7 @@ _LoadStageDataBlueFieldBottom: ; 0x1c191 call Func_1c305 call Func_1c3ee callba Func_14746 - callba Func_14707 + callba DrawBallSaverIcon call Func_1c235 call Func_1c21e call Func_1e8f6 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 2cf7296..63a7e54 100755 --- a/engine/pinball_game/load_stage_data/load_red_field.asm +++ b/engine/pinball_game/load_stage_data/load_red_field.asm @@ -19,7 +19,7 @@ _LoadStageDataRedFieldBottom: ; 0x1401c call Func_1414b call Func_14234 call Func_14746 - call Func_14707 + call DrawBallSaverIcon call Func_140f9 call Func_16878 call Func_140e2 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 1cabbd8..cd13316 100755 --- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm @@ -14,7 +14,7 @@ ResolveBlueFieldTopGameObjectCollisions: ; 0x1c715 call Func_1e9c0 call UpdateForceFieldDirection call Func_1f18a - callba Func_146a9 + callba UpdateBallSaverState call Func_1f27b call Func_1df15 callba HandleExtraBall @@ -39,7 +39,7 @@ ResolveBlueFieldBottomGameObjectCollisions: ; 0x1c769 call Func_1ea0a call UpdateForceFieldDirection callba Func_14733 - callba Func_146a2 + callba UpdateBallSaver call Func_1f261 call Func_1de93 callba HandleExtraBall 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 ac5ead8..69b924a 100755 --- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm @@ -13,7 +13,7 @@ ResolveRedFieldTopGameObjectCollisions: ; 0x1460e call ResolveDittoSlotCollision call Func_161e0 call Func_164e3 - call Func_146a9 + call UpdateBallSaverState call Func_174ea call Func_148cf callba HandleExtraBall @@ -39,39 +39,39 @@ ResolveRedFieldBottomGameObjectCollisions: ; 0x14652 call Func_161af call Func_164e3 call Func_14733 - call Func_146a2 + call UpdateBallSaver call Func_174d0 callba HandleExtraBall ld a, $0 callba Func_10000 ret -Func_146a2: ; 0x146a2 - call Func_146a9 - call nz, Func_14707 +UpdateBallSaver: ; 0x146a2 + call UpdateBallSaverState + call nz, DrawBallSaverIcon ;redraw icon if its state changed ret -Func_146a9: ; 0x146a9 +UpdateBallSaverState: ; 0x146a9 ld a, [wBallSaverTimerFrames] ld hl, wBallSaverTimerSeconds - or [hl] ;if both the number of frames and number of seconds left is 0, skip + or [hl] ;skip if timer ran out ret z ld a, [wBallXPos + 1] - cp 154 ;if high? Byte of ball X pos is >= 154, jump ahead - jr nc, .asm_146e8 + cp 154 ;if high? Byte of ball X pos is >= 154, don't update timers + jr nc, .SkipSecondsOrFramesUpdate ld a, [wBallSaverTimerFrames] dec a ld [wBallSaverTimerFrames], a bit 7, a - jr z, .asm_146e8 - ld a, 59 + jr z, .SkipSecondsOrFramesUpdate + ld a, 59 ;if frames underflowed, set to 59 and decrement second ld [wBallSaverTimerFrames], a ld a, [hl] dec a bit 7, a - jr nz, .asm_146cf + jr nz, .DontClampSeconds ;if seconds would underflow, keep it at 0 ld [hl], a -.asm_146cf +.DontClampSeconds inc a ld c, $0 cp $2 @@ -85,30 +85,30 @@ Func_146a9: ; 0x146a9 ld c, $ff .asm_146e4 ld a, c - ld [wd4a2], a -.asm_146e8 - ld a, [wd4a2] + ld [BallSaverFlashRate], a +.SkipSecondsOrFramesUpdate + ld a, [BallSaverFlashRate] ld c, $0 and a jr z, .asm_146fe ld c, $1 cp $ff - jr z, .asm_146fe + jr z, .asm_146fe ld hl, hNumFramesDropped and [hl] - jr z, .asm_146fe + jr z, .asm_146fe ; hNumFramesDropped used as timer for flashing ld c, $0 .asm_146fe ld a, [wBallSaverIconOn] - cp c + cp c ;did the icon state change ? ld a, c ld [wBallSaverIconOn], a ret -Func_14707: ; 0x14707 +DrawBallSaverIcon: ; 0x14707 ld a, [wBallSaverIconOn] and a - jr nz, .asm_1471c + jr nz, .DrawIconOn ld a, BANK(BgTileData_1172b) ld hl, BgTileData_1172b deCoord 8, 13, vBGMap @@ -116,7 +116,7 @@ Func_14707: ; 0x14707 call LoadOrCopyVRAMData ret -.asm_1471c +.DrawIconOn ld a, BANK(BgTileData_1472f) ld hl, BgTileData_1472f deCoord 8, 13, vBGMap @@ -124,10 +124,10 @@ Func_14707: ; 0x14707 call LoadOrCopyVRAMData ret -BgTileData_1172b: +BgTileData_1172b: ;BallSaverIconOffSprite db $AA, $AB, $AC, $AD -BgTileData_1472f: +BgTileData_1472f: ;BallSaverIconOnSprite db $B4, $B5, $B6, $B7 Func_14733: ; 0x14733 @@ -135,13 +135,13 @@ Func_14733: ; 0x14733 ld a, [wCurBonusMultiplier] and a jr z, .asm_1473d - ld c, $1 -.asm_1473d - ld a, [wd4a9] + ld c, $1 ; set c=1 if a >0 +.asm_1473d ; + ld a, [wd4a9] ; cp c ld a, c ld [wd4a9], a - ret z + ret z ; ret if a=c ; fall through Func_14746: ; 0x14746 -- cgit v1.2.3 From 4df9b5c7db0b8a10b71585bff0399835955ac046 Mon Sep 17 00:00:00 2001 From: M Date: Sun, 9 Jul 2017 17:59:45 +0200 Subject: - --- .../object_collision/red_stage_resolve_collision.asm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'engine') 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 69b924a..1a6e09f 100755 --- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm @@ -85,15 +85,15 @@ UpdateBallSaverState: ; 0x146a9 ld c, $ff .asm_146e4 ld a, c - ld [BallSaverFlashRate], a + ld [wBallSaverFlashRate], a .SkipSecondsOrFramesUpdate - ld a, [BallSaverFlashRate] + ld a, [wBallSaverFlashRate] ld c, $0 and a jr z, .asm_146fe ld c, $1 cp $ff - jr z, .asm_146fe + jr z, .asm_146fe ld hl, hNumFramesDropped and [hl] jr z, .asm_146fe ; hNumFramesDropped used as timer for flashing @@ -135,13 +135,13 @@ Func_14733: ; 0x14733 ld a, [wCurBonusMultiplier] and a jr z, .asm_1473d - ld c, $1 ; set c=1 if a >0 -.asm_1473d ; - ld a, [wd4a9] ; + ld c, $1 +.asm_1473d + ld a, [wd4a9] cp c ld a, c ld [wd4a9], a - ret z ; ret if a=c + ret z ; fall through Func_14746: ; 0x14746 @@ -5189,7 +5189,7 @@ Func_16352: ; 0x16352 .asm_1636d ld a, [wPreviousNumPokeballs] cp $3 - jr nz, .asm_163b3 + jr nz, .asm_163b3 ; numballs!=3 ld a, [wd607] and a jr nz, .asm_163b3 -- cgit v1.2.3