summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-06-30 16:41:35 -0700
committerMarcus Huderle <huderlem@gmail.com>2017-06-30 16:41:35 -0700
commitb9a256db9a5bdcb9d2f9000b3f72c17ccdf153d6 (patch)
tree42e82ff27845ebe08314b2a6cb10de1074ffc2b2
parenta1db9b9b938163f09af46ba62163503e63daeafd (diff)
Move ball saver routines into respective files
-rwxr-xr-xengine/pinball_game/ball_saver/ball_saver_20.asm12
-rwxr-xr-xengine/pinball_game/ball_saver/ball_saver_30.asm12
-rwxr-xr-xengine/pinball_game/ball_saver/ball_saver_60.asm12
-rwxr-xr-xengine/pinball_game/ball_saver/ball_saver_90.asm12
-rwxr-xr-xengine/pinball_game/ball_saver/ball_saver_catchem_mode.asm51
-rwxr-xr-xmain.asm109
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
diff --git a/main.asm b/main.asm
index 2af2e26..8af5936 100755
--- a/main.asm
+++ b/main.asm
@@ -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