diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-07-09 09:34:01 -0700 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2017-07-09 09:34:01 -0700 |
commit | f1612ae5bfcf3e8e7c250b214883f9ae1abe7fbd (patch) | |
tree | 559b16255eeac829e3b3c47f19e5db544ee630a2 | |
parent | de56314d54675347b4065f7f23384e4cb6d8a3dd (diff) | |
parent | 4df9b5c7db0b8a10b71585bff0399835955ac046 (diff) |
Merge remote-tracking branch 'made-s/master'
10 files changed, 35 insertions, 35 deletions
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 100644 --- 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 100644 --- 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 100644 --- 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 100644 --- 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 100644 --- 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 dab3f5f..67dd0f2 100644 --- 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 3baac52..c194aa6 100644 --- 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 59f24b1..fe31309 100644 --- 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 UpdateMapMoveCounters_BlueFieldTop
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 UpdateMapMoveCounters_BlueFieldBottom
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 56872f2..f8c7a6f 100644 --- 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 UpdateMapMoveCounters_RedFieldTop
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,9 +85,9 @@ Func_146a9: ; 0x146a9 ld c, $ff
.asm_146e4
ld a, c
- ld [wd4a2], a
-.asm_146e8
- ld a, [wd4a2]
+ ld [wBallSaverFlashRate], a
+.SkipSecondsOrFramesUpdate
+ ld a, [wBallSaverFlashRate]
ld c, $0
and a
jr z, .asm_146fe
@@ -96,19 +96,19 @@ Func_146a9: ; 0x146a9 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
@@ -197,7 +197,7 @@ wd49f:: ; 0xd49f wBallSaverIconOn:: ; 0xd4a1 ds $1 -wd4a2:: ; 0xd4a2 +wBallSaverFlashRate:: ; 0xd4a2 ds $1 wBallSaverTimerFrames:: ; 0xd4a3 |