summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-09-09 12:01:24 -0700
committerMarcus Huderle <huderlem@gmail.com>2017-09-09 12:01:24 -0700
commit4b59cbae1d0f6e4058e40e82b1e1bd986489007b (patch)
tree2d7d7378833eaad09477b1f0d0d58e1368ff9ff4
parent24399a8a19932f940dc78f6f84e9681c9fce7bbb (diff)
More various labeling of wram
-rw-r--r--engine/copyright_screen.asm2
-rw-r--r--engine/field_select_screen.asm6
-rw-r--r--engine/pinball_game.asm4
-rw-r--r--engine/pinball_game/ball_init/ball_init.asm52
-rw-r--r--engine/pinball_game/ball_init/ball_init_blue_field.asm10
-rw-r--r--engine/pinball_game/ball_init/ball_init_gengar_bonus.asm4
-rw-r--r--engine/pinball_game/ball_init/ball_init_meowth_bonus.asm4
-rw-r--r--engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm4
-rw-r--r--engine/pinball_game/ball_init/ball_init_red_field.asm10
-rw-r--r--engine/pinball_game/ball_init/ball_init_seel_bonus.asm4
-rw-r--r--engine/pinball_game/ball_loss/ball_loss_blue_field.asm2
-rw-r--r--engine/pinball_game/ball_loss/ball_loss_red_field.asm2
-rw-r--r--engine/pinball_game/load_stage_data/load_diglett_bonus.asm2
-rw-r--r--engine/pinball_game/load_stage_data/load_gengar_bonus.asm2
-rw-r--r--engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm2
-rw-r--r--engine/pinball_game/menu.asm2
-rw-r--r--engine/pinball_game/object_collision/blue_stage_resolve_collision.asm26
-rw-r--r--engine/pinball_game/object_collision/red_stage_resolve_collision.asm22
-rw-r--r--engine/pinball_game/stage_init/init_blue_field.asm4
-rw-r--r--engine/pinball_game/stage_init/init_diglett_bonus.asm2
-rw-r--r--engine/pinball_game/stage_init/init_gengar_bonus.asm2
-rw-r--r--engine/pinball_game/stage_init/init_meowth_bonus.asm2
-rw-r--r--engine/pinball_game/stage_init/init_mewtwo_bonus.asm2
-rw-r--r--engine/pinball_game/stage_init/init_red_field.asm4
-rw-r--r--engine/pinball_game/stage_init/init_seel_bonus.asm2
-rw-r--r--engine/pinball_game/stage_init/init_stages.asm2
-rw-r--r--engine/pinball_game/stage_init/init_unused_stage.asm2
-rw-r--r--engine/titlescreen.asm16
-rw-r--r--wram.asm23
29 files changed, 106 insertions, 115 deletions
diff --git a/engine/copyright_screen.asm b/engine/copyright_screen.asm
index f3d6a44..1fc1bba 100644
--- a/engine/copyright_screen.asm
+++ b/engine/copyright_screen.asm
@@ -96,7 +96,7 @@ FadeOutCopyrightScreenAndLoadData: ; 0x82a8
call LoadSavedData
jr c, .asm_8308
xor a
- ld [wd7c2], a ; if this is non-zero, the main menu will prompt for "continue or new game?".
+ ld [wSavedGame], a
.asm_8308
ld hl, wCurrentScreen
inc [hl]
diff --git a/engine/field_select_screen.asm b/engine/field_select_screen.asm
index 0941547..f500d01 100644
--- a/engine/field_select_screen.asm
+++ b/engine/field_select_screen.asm
@@ -95,14 +95,14 @@ ExitFieldSelectScreen: ; 0xd774
ld [wCurrentStage], a
pop af
xor a
- ld [wd7c2], a
+ ld [wSavedGame], a
ld hl, wPartyMons
ld de, sSaveGame
ld bc, $04c3
call SaveData
xor a
- ld [wd7c1], a
- ; Start a round of Pinball! Yayy
+ ld [wLoadingSavedGame], a
+ ; Start a game of Pinball
ld a, SCREEN_PINBALL_GAME
ld [wCurrentScreen], a
xor a
diff --git a/engine/pinball_game.asm b/engine/pinball_game.asm
index 5ede0d6..292d5f4 100644
--- a/engine/pinball_game.asm
+++ b/engine/pinball_game.asm
@@ -58,7 +58,7 @@ GameScreenFunction_StartBall: ; 0xd87f
ld a, $1
ld [wDrawBottomMessageBox], a
xor a
- ld [wd7c1], a
+ ld [wLoadingSavedGame], a
call SetAllPalettesWhite
call EnableLCD
call FadeIn
@@ -191,7 +191,7 @@ GameScreenFunction_HandleBallLoss: ; 0xda36
ld a, [wBottomTextEnabled]
and a
ret nz
- ld a, [wd4c9]
+ ld a, [wLostBall]
and a
jr z, .asm_daa9
ld a, [wd49c]
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
diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm
index 01a1aac..6157eed 100644
--- a/engine/titlescreen.asm
+++ b/engine/titlescreen.asm
@@ -66,7 +66,7 @@ TitlescreenLoop: ; 0xc089
and a
jr nz, .asm_c0d3
; player chose "Game Start"
- ld a, [wd7c2] ; if this is non-zero, the main menu will prompt for "continue or new game?".
+ ld a, [wSavedGame] ; if this is non-zero, the main menu will prompt for "continue or new game?".
and a
jr z, .noPreviouslySavedGame
lb de, $00, $01
@@ -149,31 +149,31 @@ Func_c10e: ; 0xc10e
jr z, .asm_c177
call FadeOut
call DisableLCD
- ld a, [wd7c2]
+ ld a, [wSavedGame]
and a
- jr z, .asm_c173
+ jr z, .notLoadingSavedGame
ld hl, sSaveGame
ld de, wPartyMons
ld bc, $04c3
call LoadSavedData
- jr nc, .asm_c173
+ jr nc, .notLoadingSavedGame
xor a
- ld [wd7c2], a
+ ld [wSavedGame], a
ld hl, wPartyMons
ld de, sSaveGame
ld bc, $04c3
call SaveData
ld a, $1
- ld [wd7c1], a
+ ld [wLoadingSavedGame], a
ld a, SCREEN_PINBALL_GAME
ld [wCurrentScreen], a
ld a, $0
ld [wScreenState], a
ret
-.asm_c173
+.notLoadingSavedGame
xor a
- ld [wd7c1], a
+ ld [wLoadingSavedGame], a
.asm_c177
ld hl, wScreenState
inc [hl]
diff --git a/wram.asm b/wram.asm
index 8e56299..e487179 100644
--- a/wram.asm
+++ b/wram.asm
@@ -299,7 +299,8 @@ wd4c7:: ; 0xd4c7
wd4c8:: ; 0xd4c8
ds $1
-wd4c9:: ; 0xd4c9
+wLostBall:: ; 0xd4c9
+; Set to 1 when a ball was lost. (Lost a "life"). 0 otherwise.
ds $1
wShowExtraBallText:: ; 0xd4ca
@@ -486,11 +487,10 @@ wd509:: ; 0xd509
wd50a:: ; 0xd50a
ds $1
-wd50b:: ; 0xd50b
- ds $1
-
-wd50c:: ; 0xd50c
- ds $1
+wSpinnerVelocity:: ; 0xd50b
+; When the ball intially passes through the spinner, the ball's y velocity is saved to this location.
+; Then, the velocity saved here is decreased a little bit each frame, while it's adding to the current "spinner charge".
+ ds $2
wWhichCAVELight:: ; 0xd50d
ds $1
@@ -915,7 +915,8 @@ wd611:: ; 0xd611
wd612:: ; 0xd612
ds $1
-wd613:: ; 0xd613
+wShowBonusMultiplierBottomMessage:: ; 0xd613
+; Set to 1 when the bonus multiplier message should appear on the bottom of the screen. 0 otherwise.
ds $1
wd614:: ; 0xd614
@@ -1798,10 +1799,14 @@ wStageSong:: ; 0xd7bf
wStageSongBank:: ; 0xd7c0
ds $1
-wd7c1:: ; 0xd7c1
+wLoadingSavedGame:: ; 0xd7c1
+; Set to 1 when the pinball game is being initialized from a saved game via the Titlescreen.
+; 0 otherwise.
ds $1
-wd7c2:: ; 0xd7c2
+wSavedGame:: ; 0xd7c2
+; Set to 1 when there is a pinball game saved, ready to resume via the Titlescreen.
+; 0 otherwise.
ds $1
wSubTileBallXPos:: ; 0xd7c3