summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-07-02 17:45:36 -0500
committerMarcus Huderle <huderlem@gmail.com>2017-07-02 17:45:36 -0500
commit4bcfa81438e15c6c2fbec2ab9f5ea8943887b53d (patch)
tree067997ea966918579164982ccd1da64fabff31fc /engine
parent88c6c4a96a46beea4087b0ab6f1e9cfafa1f2906 (diff)
Label wCurBonusMultiplier and move bonus multplier logic into separate file
Diffstat (limited to 'engine')
-rwxr-xr-xengine/pinball_game/ball_loss/ball_loss_blue_field.asm4
-rwxr-xr-xengine/pinball_game/ball_loss/ball_loss_red_field.asm4
-rwxr-xr-xengine/pinball_game/bonus_multiplier.asm16
-rwxr-xr-xengine/pinball_game/catchem_mode.asm2
-rwxr-xr-xengine/pinball_game/object_collision/blue_stage_resolve_collision.asm12
-rwxr-xr-xengine/pinball_game/object_collision/red_stage_resolve_collision.asm14
-rwxr-xr-xengine/pinball_game/slot.asm4
-rwxr-xr-xengine/pinball_game/stage_init/init_blue_field.asm2
-rwxr-xr-xengine/pinball_game/stage_init/init_red_field.asm2
-rwxr-xr-xengine/pinball_game/stage_init/init_unused_stage.asm2
10 files changed, 39 insertions, 23 deletions
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 6d84ff9..f752b7f 100755
--- a/engine/pinball_game/ball_loss/ball_loss_blue_field.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_blue_field.asm
@@ -35,11 +35,11 @@ HandleBallLossBlueField: ; 0xde4f
ld [wd4de], a
ld [wd4df], a
call Func_ded6
- ld a, [wd49b]
+ ld a, [wCurBonusMultiplier]
and a
jr z, .asm_deb6
dec a
- ld [wd49b], a
+ ld [wCurBonusMultiplier], a
ld a, $1
ld [wd49c], a
ld de, EndOfBallBonusText
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 4097151..f342f58 100755
--- a/engine/pinball_game/ball_loss/ball_loss_red_field.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_red_field.asm
@@ -35,11 +35,11 @@ HandleBallLossRedField: ; 0xdd76
ld [wd4de], a
ld [wd4df], a
call Func_ddfd
- ld a, [wd49b]
+ ld a, [wCurBonusMultiplier]
and a
jr z, .asm_dddd
dec a
- ld [wd49b], a
+ ld [wCurBonusMultiplier], a
ld a, $1
ld [wd49c], a
ld de, EndOfBallBonusText
diff --git a/engine/pinball_game/bonus_multiplier.asm b/engine/pinball_game/bonus_multiplier.asm
new file mode 100755
index 0000000..dfd4a20
--- /dev/null
+++ b/engine/pinball_game/bonus_multiplier.asm
@@ -0,0 +1,16 @@
+IncrementBonusMultiplier: ; 0x30164
+ ld a, [wCurBonusMultiplier]
+ inc a
+ cp MAX_BONUS_MULTIPLIER
+ jr z, .maxed
+ ld [wCurBonusMultiplier], a
+ ld a, $1
+ ld [wd4ca], a
+ ret
+
+.maxed
+ ld bc, TenMillionPoints
+ callba AddBigBCD6FromQueue
+ ld a, $2
+ ld [wd4ca], a
+ ret
diff --git a/engine/pinball_game/catchem_mode.asm b/engine/pinball_game/catchem_mode.asm
index 9be8ab0..f779c49 100755
--- a/engine/pinball_game/catchem_mode.asm
+++ b/engine/pinball_game/catchem_mode.asm
@@ -807,7 +807,7 @@ CapturePokemon: ; 0x1052d
jr nc, .asm_105d1
ld c, $a
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
.asm_105d1
call SetPokemonOwnedFlag
ld a, [wd624]
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 056f0fe..3fa4406 100755
--- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
@@ -1692,7 +1692,7 @@ Func_1d133: ; 0x1d133
jr nc, .asm_1d185
ld c, $a
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
.asm_1d185
lb de, $16, $10
call PlaySoundEffect
@@ -1838,7 +1838,7 @@ ResolveSlowpokeCollision: ; 0x1d216
ret nc
ld c, $19
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
ret
.asm_1d2b6
@@ -1960,7 +1960,7 @@ ResolveCloysterCollision: ; 0x1d32d
ret nc
ld c, $19
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
ret
.asm_1d3cb
@@ -2091,7 +2091,7 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438
jr nc, .asm_1d4e9
ld c, $19
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
.asm_1d4e9
ld a, [wd60c]
ld [wd614], a
@@ -3903,7 +3903,7 @@ Func_1ddc7: ; 0x1ddc7
jr nc, .asm_1dde4
ld c, $a
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
.asm_1dde4
xor a
ld [wd55a], a
@@ -3919,7 +3919,7 @@ Func_1ddf4: ; 0x1ddf4
jr nc, .asm_1de11
ld c, $a
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
.asm_1de11
ld a, $1
ld [wd55a], a
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 94d195d..b4328c5 100755
--- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
@@ -132,7 +132,7 @@ BgTileData_1472f:
Func_14733: ; 0x14733
ld c, $0
- ld a, [wd49b]
+ ld a, [wCurBonusMultiplier]
and a
jr z, .asm_1473d
ld c, $1
@@ -146,7 +146,7 @@ Func_14733: ; 0x14733
Func_14746: ; 0x14746
ld c, $0
- ld a, [wd49b]
+ ld a, [wCurBonusMultiplier]
and a
jr z, .asm_14750
ld c, $2
@@ -426,7 +426,7 @@ Func_14920: ; 0x14920
jr nc, .asm_14937
ld c, $a
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
.asm_14937
ld a, $1
ld [wd55a], a
@@ -439,7 +439,7 @@ Func_14947: ; 0x14947
jr nc, .asm_1495e
ld c, $a
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
.asm_1495e
xor a
ld [wd55a], a
@@ -4505,7 +4505,7 @@ ResolveBellsproutCollision: ; 0x15e93
ret nc
ld c, $19
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
ret
.asm_15f35
@@ -5674,7 +5674,7 @@ Func_1669e: ; 0x1669e
jr nc, .asm_166f0
ld c, $a
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
.asm_166f0
lb de, $16, $10
call PlaySoundEffect
@@ -7105,7 +7105,7 @@ ResolveRedStageBonusMultiplierCollision: ; 016d9d
jr nc, .asm_16e24
ld c, $19
call Func_e55
- callba z, Func_30164
+ callba z, IncrementBonusMultiplier
.asm_16e24
ld a, [wd60c]
ld [wd614], a
diff --git a/engine/pinball_game/slot.asm b/engine/pinball_game/slot.asm
index f9628f2..1cefe2b 100755
--- a/engine/pinball_game/slot.asm
+++ b/engine/pinball_game/slot.asm
@@ -263,7 +263,7 @@ SlotRewardPikachuSaver: ; 0xef83
ret
SlotRewardBonusMultiplier: ; 0xefa7
- callba Func_30164
+ callba IncrementBonusMultiplier
ret
SlotRewardSmallPoints: ; 0xefb2
@@ -464,7 +464,7 @@ SlotBonusMultiplier: ; 0xf0c1
call .DivideBy25
ld a, c
cp b
- callba nz, Func_30164
+ callba nz, IncrementBonusMultiplier
callba Func_16f95
ld a, [wd60c]
callba Func_f154 ; no need for BankSwitch here...
diff --git a/engine/pinball_game/stage_init/init_blue_field.asm b/engine/pinball_game/stage_init/init_blue_field.asm
index 62d2e8b..666896b 100755
--- a/engine/pinball_game/stage_init/init_blue_field.asm
+++ b/engine/pinball_game/stage_init/init_blue_field.asm
@@ -11,7 +11,7 @@ InitBlueField: ; 0x1c000
ld [hld], a
ld [hl], a
ld [wNumPartyMons], a
- ld [wd49b], a
+ ld [wCurBonusMultiplier], a
ld [wd4c9], a
ld [wBallType], a
ld [wd4c8], a
diff --git a/engine/pinball_game/stage_init/init_red_field.asm b/engine/pinball_game/stage_init/init_red_field.asm
index d92d54e..ad8bf0a 100755
--- a/engine/pinball_game/stage_init/init_red_field.asm
+++ b/engine/pinball_game/stage_init/init_red_field.asm
@@ -11,7 +11,7 @@ InitRedField: ; 0x30000
ld [hld], a
ld [hl], a
ld [wNumPartyMons], a
- ld [wd49b], a
+ ld [wCurBonusMultiplier], a
ld [wd4c9], a
ld [wBallType], a
ld [wd4c8], a
diff --git a/engine/pinball_game/stage_init/init_unused_stage.asm b/engine/pinball_game/stage_init/init_unused_stage.asm
index 4fac82d..ee02abc 100755
--- a/engine/pinball_game/stage_init/init_unused_stage.asm
+++ b/engine/pinball_game/stage_init/init_unused_stage.asm
@@ -22,7 +22,7 @@ Func_18000: ; 0x18000
ld [hld], a
ld [hl], a
ld [wNumPartyMons], a
- ld [wd49b], a
+ ld [wCurBonusMultiplier], a
ld [wd4c9], a
ld a, $1
ld [wd49d], a