diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-06-30 16:41:35 -0700 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2017-06-30 16:41:35 -0700 |
commit | b9a256db9a5bdcb9d2f9000b3f72c17ccdf153d6 (patch) | |
tree | 42e82ff27845ebe08314b2a6cb10de1074ffc2b2 | |
parent | a1db9b9b938163f09af46ba62163503e63daeafd (diff) |
Move ball saver routines into respective files
-rwxr-xr-x | engine/pinball_game/ball_saver/ball_saver_20.asm | 12 | ||||
-rwxr-xr-x | engine/pinball_game/ball_saver/ball_saver_30.asm | 12 | ||||
-rwxr-xr-x | engine/pinball_game/ball_saver/ball_saver_60.asm | 12 | ||||
-rwxr-xr-x | engine/pinball_game/ball_saver/ball_saver_90.asm | 12 | ||||
-rwxr-xr-x | engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm | 51 | ||||
-rwxr-xr-x | main.asm | 109 |
6 files changed, 104 insertions, 104 deletions
diff --git a/engine/pinball_game/ball_saver/ball_saver_20.asm b/engine/pinball_game/ball_saver/ball_saver_20.asm new file mode 100755 index 0000000..db4c55b --- /dev/null +++ b/engine/pinball_game/ball_saver/ball_saver_20.asm @@ -0,0 +1,12 @@ +Start20SecondSaverTimer: ; 0xdbba
+ ld a, $1
+ ld [wBallSaverIconOn], a
+ ld a, $ff
+ ld [wd4a2], a
+ ld a, 59
+ ld [wBallSaverTimerFrames], a
+ ld a, 20
+ ld [wBallSaverTimerSeconds], a
+ ld a, $2
+ ld [wNumTimesBallSavedTextWillDisplay], a
+ ret
diff --git a/engine/pinball_game/ball_saver/ball_saver_30.asm b/engine/pinball_game/ball_saver/ball_saver_30.asm new file mode 100755 index 0000000..be1dda9 --- /dev/null +++ b/engine/pinball_game/ball_saver/ball_saver_30.asm @@ -0,0 +1,12 @@ +Start30SecondSaverTimer: ; 0xef35
+ ld a, $0
+ ld [wBallSaverIconOn], a
+ ld a, $ff
+ ld [wd4a2], a
+ ld a, 59
+ ld [wBallSaverTimerFrames], a
+ ld a, 30
+ ld [wBallSaverTimerSeconds], a
+ ld a, $2
+ ld [wNumTimesBallSavedTextWillDisplay], a
+ ret
diff --git a/engine/pinball_game/ball_saver/ball_saver_60.asm b/engine/pinball_game/ball_saver/ball_saver_60.asm new file mode 100755 index 0000000..9b6b5ef --- /dev/null +++ b/engine/pinball_game/ball_saver/ball_saver_60.asm @@ -0,0 +1,12 @@ +Start60SecondSaverTimer: ; 0xef4f
+ ld a, $0
+ ld [wBallSaverIconOn], a
+ ld a, $ff
+ ld [wd4a2], a
+ ld a, 59
+ ld [wBallSaverTimerFrames], a
+ ld a, 60
+ ld [wBallSaverTimerSeconds], a
+ ld a, $2
+ ld [wNumTimesBallSavedTextWillDisplay], a
+ ret
diff --git a/engine/pinball_game/ball_saver/ball_saver_90.asm b/engine/pinball_game/ball_saver/ball_saver_90.asm new file mode 100755 index 0000000..7acda2c --- /dev/null +++ b/engine/pinball_game/ball_saver/ball_saver_90.asm @@ -0,0 +1,12 @@ +Start90SecondSaverTimer: ; 0xef69
+ ld a, $0
+ ld [wBallSaverIconOn], a
+ ld a, $ff
+ ld [wd4a2], a
+ ld a, 59
+ ld [wBallSaverTimerFrames], a
+ ld a, 90
+ ld [wBallSaverTimerSeconds], a
+ ld a, $2
+ ld [wNumTimesBallSavedTextWillDisplay], a
+ ret
diff --git a/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm b/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm new file mode 100755 index 0000000..ac6c163 --- /dev/null +++ b/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm @@ -0,0 +1,51 @@ +InitBallSaverForCatchEmMode: ; 0xdbd4
+ ld a, [wBallSaverTimerFrames]
+ ld [wBallSaverTimerFramesBackup], a
+ ld a, [wBallSaverTimerSeconds]
+ ld [wBallSaverTimerSecondsBackup], a
+ ld a, [wNumTimesBallSavedTextWillDisplay]
+ ld [wd4a8], a
+ ld a, $0
+ ld [wBallSaverIconOn], a
+ ld a, $ff
+ ld [wd4a2], a
+ ld a, 59
+ ld [wBallSaverTimerFrames], a
+ ld a, 60
+ ld [wBallSaverTimerSeconds], a
+ ld a, $ff
+ ld [wNumTimesBallSavedTextWillDisplay], a
+ ret
+
+RestoreBallSaverAfterCatchEmMode: ; 0xdc00
+ ld a, [wBallSaverTimerFramesBackup]
+ ld [wBallSaverTimerFrames], a
+ ld a, [wBallSaverTimerSecondsBackup]
+ ld [wBallSaverTimerSeconds], a
+ ld a, [wd4a8]
+ ld [wNumTimesBallSavedTextWillDisplay], a
+ ld a, [wBallSaverTimerSeconds]
+ and a
+ jr z, .asm_dc1a
+ ld a, $1
+.asm_dc1a
+ ld [wBallSaverIconOn], a
+ ld a, [wBallSaverTimerSeconds]
+ ld c, $0
+ cp $2
+ jr c, .asm_dc34
+ ld c, $4
+ cp $6
+ jr c, .asm_dc34
+ ld c, $10
+ cp $b
+ jr c, .asm_dc34
+ ld c, $ff
+.asm_dc34
+ ld a, c
+ ld [wd4a2], a
+ ld a, [wCurrentStage]
+ bit 0, a
+ ret z
+ callba Func_14707
+ ret
@@ -1675,72 +1675,8 @@ INCLUDE "engine/options_screen.asm" INCLUDE "engine/high_scores_screen.asm" INCLUDE "engine/field_select_screen.asm" INCLUDE "engine/pinball_game.asm" - -Start20SecondSaverTimer: ; 0xdbba - ld a, $1 - ld [wBallSaverIconOn], a - ld a, $ff - ld [wd4a2], a - ld a, 59 - ld [wBallSaverTimerFrames], a - ld a, 20 - ld [wBallSaverTimerSeconds], a - ld a, $2 - ld [wNumTimesBallSavedTextWillDisplay], a - ret - -InitBallSaverForCatchEmMode: ; 0xdbd4 - ld a, [wBallSaverTimerFrames] - ld [wBallSaverTimerFramesBackup], a - ld a, [wBallSaverTimerSeconds] - ld [wBallSaverTimerSecondsBackup], a - ld a, [wNumTimesBallSavedTextWillDisplay] - ld [wd4a8], a - ld a, $0 - ld [wBallSaverIconOn], a - ld a, $ff - ld [wd4a2], a - ld a, 59 - ld [wBallSaverTimerFrames], a - ld a, 60 - ld [wBallSaverTimerSeconds], a - ld a, $ff - ld [wNumTimesBallSavedTextWillDisplay], a - ret - -RestoreBallSaverAfterCatchEmMode: ; 0xdc00 - ld a, [wBallSaverTimerFramesBackup] - ld [wBallSaverTimerFrames], a - ld a, [wBallSaverTimerSecondsBackup] - ld [wBallSaverTimerSeconds], a - ld a, [wd4a8] - ld [wNumTimesBallSavedTextWillDisplay], a - ld a, [wBallSaverTimerSeconds] - and a - jr z, .asm_dc1a - ld a, $1 -.asm_dc1a - ld [wBallSaverIconOn], a - ld a, [wBallSaverTimerSeconds] - ld c, $0 - cp $2 - jr c, .asm_dc34 - ld c, $4 - cp $6 - jr c, .asm_dc34 - ld c, $10 - cp $b - jr c, .asm_dc34 - ld c, $ff -.asm_dc34 - ld a, c - ld [wd4a2], a - ld a, [wCurrentStage] - bit 0, a - ret z - callba Func_14707 - ret - +INCLUDE "engine/pinball_game/ball_saver/ball_saver_20.asm" +INCLUDE "engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm" INCLUDE "engine/pinball_game/ball_loss/ball_loss.asm" Func_dc6d: ; 0xdc6d @@ -2145,44 +2081,9 @@ BallTypeMultipliers: ; 0xef2f db $02 db $02 ; MASTER_BALL -Start30SecondSaverTimer: ; 0xef35 - ld a, $0 - ld [wBallSaverIconOn], a - ld a, $ff - ld [wd4a2], a - ld a, 59 - ld [wBallSaverTimerFrames], a - ld a, 30 - ld [wBallSaverTimerSeconds], a - ld a, $2 - ld [wNumTimesBallSavedTextWillDisplay], a - ret - -Start60SecondSaverTimer: ; 0xef4f - ld a, $0 - ld [wBallSaverIconOn], a - ld a, $ff - ld [wd4a2], a - ld a, 59 - ld [wBallSaverTimerFrames], a - ld a, 60 - ld [wBallSaverTimerSeconds], a - ld a, $2 - ld [wNumTimesBallSavedTextWillDisplay], a - ret - -Start90SecondSaverTimer: ; 0xef69 - ld a, $0 - ld [wBallSaverIconOn], a - ld a, $ff - ld [wd4a2], a - ld a, 59 - ld [wBallSaverTimerFrames], a - ld a, 90 - ld [wBallSaverTimerSeconds], a - ld a, $2 - ld [wNumTimesBallSavedTextWillDisplay], a - ret +INCLUDE "engine/pinball_game/ball_saver/ball_saver_30.asm" +INCLUDE "engine/pinball_game/ball_saver/ball_saver_60.asm" +INCLUDE "engine/pinball_game/ball_saver/ball_saver_90.asm" Func_ef83: ; 0xef83 ld a, $1 |