diff options
Diffstat (limited to 'engine/pinball_game')
24 files changed, 78 insertions, 92 deletions
diff --git a/engine/pinball_game/ball_init/ball_init.asm b/engine/pinball_game/ball_init/ball_init.asm index 3d894da..e545c00 100644 --- a/engine/pinball_game/ball_init/ball_init.asm +++ b/engine/pinball_game/ball_init/ball_init.asm @@ -1,12 +1,12 @@ InitBallForStage: ; 0x83ba
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
- jr z, .asm_83c7
+ jr z, .initBall
call TryLoadWildMonCollisionMask
call RestartStageMusic
ret
-.asm_83c7
+.initBall
xor a
ld [wBallXVelocity], a
ld [wBallXVelocity + 1], a
@@ -29,44 +29,30 @@ InitBallForStage: ; 0x83ba ld [wSCX], a
ld a, [wCurrentStage]
call CallInFollowingTable
-CallTable_8404: ; 0x8404
- ; STAGE_RED_FIELD_TOP
- padded_dab InitBallRedField
- ; STAGE_RED_FIELD_BOTTOM
- padded_dab InitBallRedField
+InitBall_CallTable: ; 0x8404
+ padded_dab InitBallRedField ; STAGE_RED_FIELD_TOP
+ padded_dab InitBallRedField ; STAGE_RED_FIELD_BOTTOM
padded_dab Func_1804a
padded_dab Func_1804a
- ; STAGE_BLUE_FIELD_TOP
- padded_dab InitBallBlueField
- ; STAGE_BLUE_FIELD_BOTTOM
- padded_dab InitBallBlueField
- ; STAGE_GENGAR_BONUS
- padded_dab InitBallGengarBonusStage
- ; STAGE_GENGAR_BONUS
- padded_dab InitBallGengarBonusStage
- ; STAGE_MEWTWO_BONUS
- padded_dab InitBallMewtwoBonusStage
- ; STAGE_MEWTWO_BONUS
- padded_dab InitBallMewtwoBonusStage
- ; STAGE_MEOWTH_BONUS
- padded_dab InitBallMeowthBonusStage
- ; STAGE_MEOWTH_BONUS
- padded_dab InitBallMeowthBonusStage
- ; STAGE_DIGLETT_BONUS
- padded_dab InitBallDiglettBonusStage
- ; STAGE_DIGLETT_BONUS
- padded_dab InitBallDiglettBonusStage
- ; STAGE_SEEL_BONUS
- padded_dab InitBallSeelBonusStage
- ; STAGE_SEEL_BONUS
- padded_dab InitBallSeelBonusStage
+ padded_dab InitBallBlueField ; STAGE_BLUE_FIELD_TOP
+ padded_dab InitBallBlueField ; STAGE_BLUE_FIELD_BOTTOM
+ padded_dab InitBallGengarBonusStage ; STAGE_GENGAR_BONUS
+ padded_dab InitBallGengarBonusStage ; STAGE_GENGAR_BONUS
+ padded_dab InitBallMewtwoBonusStage ; STAGE_MEWTWO_BONUS
+ padded_dab InitBallMewtwoBonusStage ; STAGE_MEWTWO_BONUS
+ padded_dab InitBallMeowthBonusStage ; STAGE_MEOWTH_BONUS
+ padded_dab InitBallMeowthBonusStage ; STAGE_MEOWTH_BONUS
+ padded_dab InitBallDiglettBonusStage ; STAGE_DIGLETT_BONUS
+ padded_dab InitBallDiglettBonusStage ; STAGE_DIGLETT_BONUS
+ padded_dab InitBallSeelBonusStage ; STAGE_SEEL_BONUS
+ padded_dab InitBallSeelBonusStage ; STAGE_SEEL_BONUS
TryLoadWildMonCollisionMask: ; 0x8444
ld a, [wInSpecialMode]
and a
jr z, .done
ld a, [wSpecialMode]
- and a ; Is the current special mode "Catch 'Em" mode?
+ and a
jr nz, .done
ld a, [wWildMonIsHittable]
and a
diff --git a/engine/pinball_game/ball_init/ball_init_blue_field.asm b/engine/pinball_game/ball_init/ball_init_blue_field.asm index ec486c7..532746b 100644 --- a/engine/pinball_game/ball_init/ball_init_blue_field.asm +++ b/engine/pinball_game/ball_init/ball_init_blue_field.asm @@ -14,14 +14,14 @@ InitBallBlueField: ; 0x1c08d ld [wEnableBallGravityAndTilt], a
ld [wd580], a
call InitBlueFieldCollisionAttributes
- ld a, [wd4c9]
+ ld a, [wLostBall]
and a
ret z
xor a
- ld [wd4c9], a
+ ld [wLostBall], a
xor a
- ld [wd50b], a
- ld [wd50c], a
+ ld [wSpinnerVelocity], a
+ ld [wSpinnerVelocity + 1], a
ld [wPikachuSaverSlotRewardActive], a
ld [wd51e], a
ld [wPikachuSaverCharge], a
@@ -50,7 +50,7 @@ InitBallBlueField: ; 0x1c08d ld [wNumPsyduckTriples], a
ld [wNumSpinnerTurns], a
ld [wNumPikachuSaves], a
- ld [wd613], a
+ ld [wShowBonusMultiplierBottomMessage], a
inc a
ld [wCurBonusMultiplier], a
ld [wLeftDiglettAnimationController], a
diff --git a/engine/pinball_game/ball_init/ball_init_gengar_bonus.asm b/engine/pinball_game/ball_init/ball_init_gengar_bonus.asm index 065a1ca..829533d 100644 --- a/engine/pinball_game/ball_init/ball_init_gengar_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_gengar_bonus.asm @@ -16,9 +16,9 @@ InitBallGengarBonusStage: ; 0x18157 ld a, $8
ld [wd690], a
ld [wd6a1], a
- ld a, [wd4c9]
+ ld a, [wLostBall]
and a
ret z
xor a
- ld [wd4c9], a
+ ld [wLostBall], a
ret
diff --git a/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm b/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm index 48f8077..bf80683 100644 --- a/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm @@ -77,9 +77,9 @@ InitBallMeowthBonusStage: ; 0x24059 ld [wd798], a
ld [wd799], a
ld [wd79a], a
- ld a, [wd4c9]
+ ld a, [wLostBall]
and a
ret z
xor a
- ld [wd4c9], a
+ ld [wLostBall], a
ret
diff --git a/engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm b/engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm index c95d283..f2439ca 100644 --- a/engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm @@ -13,9 +13,9 @@ InitBallMewtwoBonusStage: ; 0x192e3 ld [wSCX], a
ld [wStageCollisionState], a
ld [wd6a9], a
- ld a, [wd4c9]
+ ld a, [wLostBall]
and a
ret z
xor a
- ld [wd4c9], a
+ ld [wLostBall], a
ret
diff --git a/engine/pinball_game/ball_init/ball_init_red_field.asm b/engine/pinball_game/ball_init/ball_init_red_field.asm index 1f0d531..f266020 100644 --- a/engine/pinball_game/ball_init/ball_init_red_field.asm +++ b/engine/pinball_game/ball_init/ball_init_red_field.asm @@ -23,14 +23,14 @@ InitBallRedField: ; 0x3007d ld a, [wStageCollisionState]
and $1
ld [wStageCollisionState], a
- ld a, [wd4c9]
+ ld a, [wLostBall]
and a
ret z
xor a
- ld [wd4c9], a
+ ld [wLostBall], a
xor a
- ld [wd50b], a
- ld [wd50c], a
+ ld [wSpinnerVelocity], a
+ ld [wSpinnerVelocity + 1], a
ld [wPikachuSaverSlotRewardActive], a
ld [wPikachuSaverCharge], a
ld [wd51e], a
@@ -55,7 +55,7 @@ InitBallRedField: ; 0x3007d ld [wNumCAVECompletions], a
ld [wNumSpinnerTurns], a
ld [wNumPikachuSaves], a
- ld [wd613], a
+ ld [wShowBonusMultiplierBottomMessage], a
inc a
ld [wCurBonusMultiplier], a
ld [wLeftDiglettAnimationController], a
diff --git a/engine/pinball_game/ball_init/ball_init_seel_bonus.asm b/engine/pinball_game/ball_init/ball_init_seel_bonus.asm index 84343d1..548cd74 100644 --- a/engine/pinball_game/ball_init/ball_init_seel_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_seel_bonus.asm @@ -57,9 +57,9 @@ InitBallSeelBonusStage: ; 0x25af1 ld de, wd77f
ld a, [wd780]
call Func_26137
- ld a, [wd4c9]
+ ld a, [wLostBall]
and a
ret z
xor a
- ld [wd4c9], a
+ ld [wLostBall], a
ret
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 d331a4e..40d8e15 100644 --- a/engine/pinball_game/ball_loss/ball_loss_blue_field.asm +++ b/engine/pinball_game/ball_loss/ball_loss_blue_field.asm @@ -30,7 +30,7 @@ HandleBallLossBlueField: ; 0xde4f call PlaySoundEffect
call Start20SecondSaverTimer
ld a, $1
- ld [wd4c9], a
+ ld [wLostBall], a
xor a
ld [wPinballLaunched], a
ld [wd4df], 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 1233f26..1b3f591 100644 --- a/engine/pinball_game/ball_loss/ball_loss_red_field.asm +++ b/engine/pinball_game/ball_loss/ball_loss_red_field.asm @@ -30,7 +30,7 @@ HandleBallLossRedField: ; 0xdd76 call PlaySoundEffect
call Start20SecondSaverTimer
ld a, $1
- ld [wd4c9], a
+ ld [wLostBall], a
xor a
ld [wPinballLaunched], a
ld [wd4df], a
diff --git a/engine/pinball_game/load_stage_data/load_diglett_bonus.asm b/engine/pinball_game/load_stage_data/load_diglett_bonus.asm index 6fbb02b..712f2f6 100644 --- a/engine/pinball_game/load_stage_data/load_diglett_bonus.asm +++ b/engine/pinball_game/load_stage_data/load_diglett_bonus.asm @@ -1,7 +1,7 @@ _LoadStageDataDiglettBonus: ; 0x19a76
callba Func_142fc
call LoadFlippersPalette
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
ret z
call Func_19bbd
diff --git a/engine/pinball_game/load_stage_data/load_gengar_bonus.asm b/engine/pinball_game/load_stage_data/load_gengar_bonus.asm index 31a26a7..1582db3 100644 --- a/engine/pinball_game/load_stage_data/load_gengar_bonus.asm +++ b/engine/pinball_game/load_stage_data/load_gengar_bonus.asm @@ -2,7 +2,7 @@ _LoadStageDataGengarBonus: ; 0x1818b callba Func_142fc
call LoadFlippersPalette
call Func_18d72
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
callba LoadTimerGraphics
and a
ret z
diff --git a/engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm b/engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm index 9c89fb6..a96ca52 100644 --- a/engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm +++ b/engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm @@ -2,7 +2,7 @@ _LoadStageDataMewtwoBonus: ; 0x19310 callba Func_142fc
call LoadFlippersPalette
callba LoadTimerGraphics
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
ret z
call Func_194ac
diff --git a/engine/pinball_game/menu.asm b/engine/pinball_game/menu.asm index dcca98c..639d1bb 100644 --- a/engine/pinball_game/menu.asm +++ b/engine/pinball_game/menu.asm @@ -44,7 +44,7 @@ HandleInGameMenu: ; 0x86d7 and a
jr nz, .pickedCancel
ld a, $1
- ld [wd7c2], a
+ ld [wSavedGame], a
ld hl, wPartyMons
ld de, sSaveGame
ld bc, $04c3
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 e336fd4..2d5367c 100644 --- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm @@ -394,24 +394,24 @@ ResolveBlueStageSpinnerCollision: ; 0x1ca5f ld a, [wBallYVelocity + 1]
ld b, a
ld a, c
- ld [wd50b], a
+ ld [wSpinnerVelocity], a
ld a, b
- ld [wd50c], a
+ ld [wSpinnerVelocity + 1], a
ld a, $c
callba CheckSpecialModeColision
; fall through
UpdateBlueStageSpinner: ; 0x1ca85
- ld hl, wd50b
+ ld hl, wSpinnerVelocity
ld a, [hli]
or [hl]
ret z
- ld a, [wd50b]
+ ld a, [wSpinnerVelocity]
ld c, a
- ld a, [wd50c]
+ ld a, [wSpinnerVelocity + 1]
ld b, a
bit 7, b
- jr nz, .asm_1caa3
+ jr nz, .upwardVelocity
ld a, c
sub $7
ld c, a
@@ -421,7 +421,7 @@ UpdateBlueStageSpinner: ; 0x1ca85 jr nc, .asm_1cab0
jr .asm_1caad
-.asm_1caa3
+.upwardVelocity
ld a, c
add $7
ld c, a
@@ -433,10 +433,10 @@ UpdateBlueStageSpinner: ; 0x1ca85 ld bc, $0000
.asm_1cab0
ld a, c
- ld [wd50b], a
+ ld [wSpinnerVelocity], a
ld a, b
- ld [wd50c], a
- ld hl, wd50b
+ ld [wSpinnerVelocity + 1], a
+ ld hl, wSpinnerVelocity
ld a, [wd509]
add [hl]
ld [wd509], a
@@ -1233,7 +1233,7 @@ ResolveBonusMultiplierCollision_BlueField: ; 0x1d438 ld a, [wBonusMultiplierOnesDigit]
ld [wd615], a
ld a, $1
- ld [wd613], a
+ ld [wShowBonusMultiplierBottomMessage], a
asm_1d4fa: ; 0x1d4fa
ld bc, TenPoints
callba AddBigBCD6FromQueueWithBallMultiplier
@@ -1337,11 +1337,11 @@ ShowBonusMultiplierMessage_BlueField: ; 0x1d5bf ld a, [wBottomTextEnabled]
and a
ret nz
- ld a, [wd613]
+ ld a, [wShowBonusMultiplierBottomMessage]
and a
ret z
xor a
- ld [wd613], a
+ ld [wShowBonusMultiplierBottomMessage], a
call FillBottomMessageBufferWithBlackTile
call EnableBottomText
ld hl, wScrollingText1
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 93cc7a5..c20ac5e 100644 --- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm @@ -609,21 +609,21 @@ ResolveRedStageSpinnerCollision: ; 0x14dea ld a, [wBallYVelocity + 1]
ld b, a
ld a, c
- ld [wd50b], a
+ ld [wSpinnerVelocity], a
ld a, b
- ld [wd50c], a
+ ld [wSpinnerVelocity + 1], a
ld a, $c
callba CheckSpecialModeColision
; fall through
UpdateRedStageSpinner: ; 0x14e10
- ld hl, wd50b
+ ld hl, wSpinnerVelocity
ld a, [hli]
or [hl]
ret z
- ld a, [wd50b]
+ ld a, [wSpinnerVelocity]
ld c, a
- ld a, [wd50c]
+ ld a, [wSpinnerVelocity + 1]
ld b, a
bit 7, b
jr nz, .asm_14e2e
@@ -648,10 +648,10 @@ UpdateRedStageSpinner: ; 0x14e10 ld bc, $0000
.asm_14e3b
ld a, c
- ld [wd50b], a
+ ld [wSpinnerVelocity], a
ld a, b
- ld [wd50c], a
- ld hl, wd50b
+ ld [wSpinnerVelocity + 1], a
+ ld hl, wSpinnerVelocity
ld a, [wd509]
add [hl]
ld [wd509], a
@@ -2740,7 +2740,7 @@ ResolveRedStageBonusMultiplierCollision: ; 016d9d ld a, [wBonusMultiplierOnesDigit]
ld [wd615], a
ld a, $1
- ld [wd613], a
+ ld [wShowBonusMultiplierBottomMessage], a
.asm_16e35
ld bc, TenPoints
callba AddBigBCD6FromQueueWithBallMultiplier
@@ -2842,11 +2842,11 @@ ShowBonusMultiplierMessage_RedField: ; 0x16ef5 ld a, [wBottomTextEnabled]
and a
ret nz
- ld a, [wd613]
+ ld a, [wShowBonusMultiplierBottomMessage]
and a
ret z
xor a
- ld [wd613], a
+ ld [wShowBonusMultiplierBottomMessage], a
call FillBottomMessageBufferWithBlackTile
call EnableBottomText
ld hl, wScrollingText1
diff --git a/engine/pinball_game/stage_init/init_blue_field.asm b/engine/pinball_game/stage_init/init_blue_field.asm index 24730dc..9605e4a 100644 --- a/engine/pinball_game/stage_init/init_blue_field.asm +++ b/engine/pinball_game/stage_init/init_blue_field.asm @@ -1,5 +1,5 @@ InitBlueField: ; 0x1c000
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
ret nz
xor a
@@ -12,7 +12,7 @@ InitBlueField: ; 0x1c000 ld [hl], a
ld [wNumPartyMons], a
ld [wCurBonusMultiplierFromFieldEvents], a
- ld [wd4c9], a
+ ld [wLostBall], a
ld [wBallType], a
ld [wd4c8], a
ld hl, wPreviousNumPokeballs
diff --git a/engine/pinball_game/stage_init/init_diglett_bonus.asm b/engine/pinball_game/stage_init/init_diglett_bonus.asm index 26af2ca..dc1e26a 100644 --- a/engine/pinball_game/stage_init/init_diglett_bonus.asm +++ b/engine/pinball_game/stage_init/init_diglett_bonus.asm @@ -1,5 +1,5 @@ InitDiglettBonusStage: ; 0x199f2
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
ret nz
xor a
diff --git a/engine/pinball_game/stage_init/init_gengar_bonus.asm b/engine/pinball_game/stage_init/init_gengar_bonus.asm index 65e313c..9d59584 100644 --- a/engine/pinball_game/stage_init/init_gengar_bonus.asm +++ b/engine/pinball_game/stage_init/init_gengar_bonus.asm @@ -1,5 +1,5 @@ InitGengarBonusStage: ; 0x18099
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
jr z, .asm_180ac
xor a
diff --git a/engine/pinball_game/stage_init/init_meowth_bonus.asm b/engine/pinball_game/stage_init/init_meowth_bonus.asm index 3e07fa6..cf4428a 100644 --- a/engine/pinball_game/stage_init/init_meowth_bonus.asm +++ b/engine/pinball_game/stage_init/init_meowth_bonus.asm @@ -1,5 +1,5 @@ InitMeowthBonusStage: ; 0x24000
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
ret nz
xor a
diff --git a/engine/pinball_game/stage_init/init_mewtwo_bonus.asm b/engine/pinball_game/stage_init/init_mewtwo_bonus.asm index 1c26004..c17937d 100644 --- a/engine/pinball_game/stage_init/init_mewtwo_bonus.asm +++ b/engine/pinball_game/stage_init/init_mewtwo_bonus.asm @@ -1,5 +1,5 @@ InitMewtwoBonusStage: ; 0x1924f
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
ret nz
xor a
diff --git a/engine/pinball_game/stage_init/init_red_field.asm b/engine/pinball_game/stage_init/init_red_field.asm index fe98569..12494e1 100644 --- a/engine/pinball_game/stage_init/init_red_field.asm +++ b/engine/pinball_game/stage_init/init_red_field.asm @@ -1,5 +1,5 @@ InitRedField: ; 0x30000
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
ret nz
xor a
@@ -12,7 +12,7 @@ InitRedField: ; 0x30000 ld [hl], a
ld [wNumPartyMons], a
ld [wCurBonusMultiplierFromFieldEvents], a
- ld [wd4c9], a
+ ld [wLostBall], a
ld [wBallType], a
ld [wd4c8], a
ld hl, wPreviousNumPokeballs
diff --git a/engine/pinball_game/stage_init/init_seel_bonus.asm b/engine/pinball_game/stage_init/init_seel_bonus.asm index 2af90c9..92627a6 100644 --- a/engine/pinball_game/stage_init/init_seel_bonus.asm +++ b/engine/pinball_game/stage_init/init_seel_bonus.asm @@ -1,5 +1,5 @@ InitSeelBonusStage: ; 0x25a7c
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
ret nz
xor a
diff --git a/engine/pinball_game/stage_init/init_stages.asm b/engine/pinball_game/stage_init/init_stages.asm index 5b33538..c38c8b1 100644 --- a/engine/pinball_game/stage_init/init_stages.asm +++ b/engine/pinball_game/stage_init/init_stages.asm @@ -44,7 +44,7 @@ CallTable_8348: ; 0x8348 ResetDataForStageInitialization: ; 0x8388
; Resets some game data, depending on which stage is being initialized.
- ld a, [wd7c1]
+ ld a, [wLoadingSavedGame]
and a
jr z, .asm_8398
ld hl, wSubTileBallXPos
diff --git a/engine/pinball_game/stage_init/init_unused_stage.asm b/engine/pinball_game/stage_init/init_unused_stage.asm index 4e48eae..1185c66 100644 --- a/engine/pinball_game/stage_init/init_unused_stage.asm +++ b/engine/pinball_game/stage_init/init_unused_stage.asm @@ -23,7 +23,7 @@ Func_18000: ; 0x18000 ld [hl], a
ld [wNumPartyMons], a
ld [wCurBonusMultiplierFromFieldEvents], a
- ld [wd4c9], a
+ ld [wLostBall], a
ld a, $1
ld [wd49d], a
ld a, $3
|