summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconstants/pinball_game_constants.asm4
-rwxr-xr-xengine/pinball_game/ball_loss/ball_loss_blue_field.asm2
-rwxr-xr-xengine/pinball_game/ball_loss/ball_loss_red_field.asm2
-rwxr-xr-xengine/pinball_game/draw_sprites/draw_red_field_sprites.asm2
-rwxr-xr-xengine/pinball_game/load_stage_data/load_blue_field.asm8
-rwxr-xr-xengine/pinball_game/load_stage_data/load_red_field.asm8
-rwxr-xr-xmain.asm12
-rwxr-xr-xwram.asm3
8 files changed, 24 insertions, 17 deletions
diff --git a/constants/pinball_game_constants.asm b/constants/pinball_game_constants.asm
index e16b2c3..1d3cbb2 100755
--- a/constants/pinball_game_constants.asm
+++ b/constants/pinball_game_constants.asm
@@ -2,3 +2,7 @@ MAX_PIKACHU_SAVER_CHARGE EQU 15
CATCHEM_MODE_SLOT_REWARD EQU 1
EVOLUTION_MODE_SLOT_REWARD EQU 2
+
+SPECIAL_MODE_CATCHEM EQU 1
+SPECIAL_MODE_EVOLUTION EQU 2
+SPECIAL_MODE_MAP_MOVE EQU 2 ; shares value with SPECIAL_MODE_EVOLUTION
diff --git a/engine/pinball_game/ball_loss/ball_loss_blue_field.asm b/engine/pinball_game/ball_loss/ball_loss_blue_field.asm
index c9bdf10..074d2a5 100755
--- a/engine/pinball_game/ball_loss/ball_loss_blue_field.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_blue_field.asm
@@ -75,7 +75,7 @@ Func_ded6: ; 0xded6
ret
.asm_deec
- cp $1
+ cp SPECIAL_MODE_CATCHEM
jr nz, .asm_df05
ld a, $0
ld [wd604], a
diff --git a/engine/pinball_game/ball_loss/ball_loss_red_field.asm b/engine/pinball_game/ball_loss/ball_loss_red_field.asm
index 6889022..27906b5 100755
--- a/engine/pinball_game/ball_loss/ball_loss_red_field.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_red_field.asm
@@ -75,7 +75,7 @@ Func_ddfd: ; 0xddfd
jr .asm_de40
.asm_de14
- cp $1
+ cp SPECIAL_MODE_CATCHEM
jr nz, .asm_de2d
xor a
ld [wd604], a
diff --git a/engine/pinball_game/draw_sprites/draw_red_field_sprites.asm b/engine/pinball_game/draw_sprites/draw_red_field_sprites.asm
index 558a71c..34bc6e8 100755
--- a/engine/pinball_game/draw_sprites/draw_red_field_sprites.asm
+++ b/engine/pinball_game/draw_sprites/draw_red_field_sprites.asm
@@ -102,7 +102,7 @@ DrawTimerDigit: ; 0x17627
Func_1762f: ; 0x1762f
lb de, $60, $0c
ld a, [wCurrentStage]
- cp $6
+ cp STAGE_BLUE_FIELD_BOTTOM + 1
ret nc
lb de, $00, $00
bit 0, a
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 f6e2f2f..1fc97b0 100755
--- a/engine/pinball_game/load_stage_data/load_blue_field.asm
+++ b/engine/pinball_game/load_stage_data/load_blue_field.asm
@@ -211,7 +211,7 @@ Func_1c305: ; 0x1c305
and a
ret z
ld a, [wSpecialMode]
- cp $2
+ cp SPECIAL_MODE_EVOLUTION
ret z
ld a, [wd5c6]
and a
@@ -318,7 +318,7 @@ Func_1c3ee: ; 0x1c3ee
and a
ret z
ld a, [wSpecialMode]
- cp $1
+ cp SPECIAL_MODE_CATCHEM
ret nz
ld a, [wd554]
cp $3
@@ -366,7 +366,7 @@ Func_1c43c: ; 0x1c43c
ret
.asm_1c450
- cp $1
+ cp SPECIAL_MODE_CATCHEM
jr nz, .asm_1c458
call Func_1c47d
ret
@@ -454,7 +454,7 @@ Func_1c4b6: ; 0x1c4b6
.asm_1c4f0
ld a, [wSpecialMode]
- cp $2
+ cp SPECIAL_MODE_EVOLUTION
ret nz
ld a, [wd54d]
cp $3
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 5a58a75..f663109 100755
--- a/engine/pinball_game/load_stage_data/load_red_field.asm
+++ b/engine/pinball_game/load_stage_data/load_red_field.asm
@@ -160,7 +160,7 @@ Func_1414b: ; 0x1414b
and a
ret z
ld a, [wSpecialMode]
- cp $2
+ cp SPECIAL_MODE_EVOLUTION
ret z
ld a, [wd5c6]
and a
@@ -267,7 +267,7 @@ Func_14234: ; 0x14234
and a
ret z
ld a, [wSpecialMode]
- cp $1
+ cp SPECIAL_MODE_CATCHEM
ret nz
ld a, [wd554]
cp $3
@@ -315,7 +315,7 @@ Func_14282: ; 0x14282
ret
.asm_14296
- cp $1
+ cp SPECIAL_MODE_CATCHEM
jr nz, .asm_1429e
call Func_142c3
ret
@@ -460,7 +460,7 @@ Func_14377: ; 0x14377
.asm_143b1
ld a, [wSpecialMode]
- cp $2
+ cp SPECIAL_MODE_EVOLUTION
ret nz
ld a, [wd54d]
cp $3
diff --git a/main.asm b/main.asm
index 88f1f80..8afdd69 100755
--- a/main.asm
+++ b/main.asm
@@ -192,14 +192,14 @@ Func_10000: ; 0x10000
ld a, c
ld [wd54c], a
ld a, [wSpecialMode]
- cp $1
+ cp SPECIAL_MODE_CATCHEM
jp z, Func_10a95
- cp $2
- jr nz, .asm_10021
+ cp SPECIAL_MODE_EVOLUTION
+ jr nz, .next
callba Func_301ce
ret
-.asm_10021
+.next
ld a, [wCurrentStage]
call CallInFollowingTable
CallTable_10027: ; 0x10027
@@ -2036,7 +2036,7 @@ Func_10cb7: ; 0x10cb7
call LoadVRAMData
.asm_10cfc
call FillBottomMessageBufferWithBlackTile
- ld a, $1
+ ld a, SPECIAL_MODE_CATCHEM
ld [wd4aa], a
ld [wInSpecialMode], a
ld [wSpecialMode], a
@@ -33786,7 +33786,7 @@ StartMapMoveMode: ; 0x301ec
ret nz
ld a, $1
ld [wInSpecialMode], a
- ld a, $2
+ ld a, SPECIAL_MODE_MAP_MOVE
ld [wSpecialMode], a
xor a
ld [wd54d], a
diff --git a/wram.asm b/wram.asm
index a277ebc..5ef9a36 100755
--- a/wram.asm
+++ b/wram.asm
@@ -696,6 +696,7 @@ wCurrentMap:: ; 0xd54a
ds $1
wInSpecialMode:: ; 0xd54b
+; Set to 1 if currently in special game mode. See wSpecialMode.
ds $1
wd54c:: ; 0xd54c
@@ -711,6 +712,8 @@ wd54f:: ; 0xd54f
ds $1
wSpecialMode:: ; 0xd550
+; Represents the current pinball mode. Example special modes would be, Catch'Em, Evolution, Map Move
+; See SPECIAL_MODE constants.
ds $1
wd551:: ; 0xd551