diff options
Diffstat (limited to 'engine')
93 files changed, 480 insertions, 6568 deletions
diff --git a/engine/copyright_screen.asm b/engine/copyright_screen.asm index 35a5329..35a5329 100755..100644 --- a/engine/copyright_screen.asm +++ b/engine/copyright_screen.asm diff --git a/engine/erase_all_data_menu.asm b/engine/erase_all_data_menu.asm index 7504cf5..7504cf5 100755..100644 --- a/engine/erase_all_data_menu.asm +++ b/engine/erase_all_data_menu.asm diff --git a/engine/field_select_screen.asm b/engine/field_select_screen.asm index 0033488..0033488 100755..100644 --- a/engine/field_select_screen.asm +++ b/engine/field_select_screen.asm diff --git a/engine/high_scores_screen.asm b/engine/high_scores_screen.asm index 920fc9d..9823d67 100755..100644 --- a/engine/high_scores_screen.asm +++ b/engine/high_scores_screen.asm @@ -645,7 +645,7 @@ Func_cf58: ; 0xcf58 ret
Func_cf7d: ; 0xcf7d
- ld a, [wd809]
+ ld a, [wNewlyPressedButtonsPersistent]
ld b, a
ld a, [wda85]
bit 6, b
diff --git a/engine/options_screen.asm b/engine/options_screen.asm index e29c96f..e29c96f 100755..100644 --- a/engine/options_screen.asm +++ b/engine/options_screen.asm diff --git a/engine/pinball_game.asm b/engine/pinball_game.asm index 93fbf34..0229035 100755..100644 --- a/engine/pinball_game.asm +++ b/engine/pinball_game.asm @@ -15,7 +15,7 @@ GameScreenFunction_LoadGFX: ; 0xd861 call FillBottomMessageBufferWithBlackTile
ld a, $1
ld [wd85d], a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld hl, wScreenState
inc [hl]
ret
@@ -56,7 +56,7 @@ GameScreenFunction_StartBall: ; 0xd87f and a
call nz, Func_e5d
ld a, $1
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
xor a
ld [wd7c1], a
call Func_b66
@@ -179,8 +179,8 @@ GameScreenFunction_HandleBallLoss: ; 0xda36 ld [wd7eb], a
xor a
ld [wd7e9], a
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
call HandleTilts
ld a, [wCurrentStage]
bit 0, a
@@ -203,7 +203,7 @@ GameScreenFunction_HandleBallLoss: ; 0xda36 jr z, .asm_daa9
ld a, $2
ld [wd49c], a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
call FillBottomMessageBufferWithBlackTile
call Func_30db
ld hl, wScrollingTextStruct3
@@ -306,7 +306,7 @@ TransitionToHighScoresScreen: ; 0xdb5d ld hl, rIE
res 1, [hl]
xor a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld a, [wCurrentStage]
ld c, a
ld b, $0
diff --git a/engine/pinball_game/ball_gfx.asm b/engine/pinball_game/ball_gfx.asm index 2aff0d3..2aff0d3 100755..100644 --- a/engine/pinball_game/ball_gfx.asm +++ b/engine/pinball_game/ball_gfx.asm diff --git a/engine/pinball_game/ball_init/ball_init.asm b/engine/pinball_game/ball_init/ball_init.asm index 29dbf64..e7a13c7 100755..100644 --- a/engine/pinball_game/ball_init/ball_init.asm +++ b/engine/pinball_game/ball_init/ball_init.asm @@ -23,8 +23,8 @@ InitBallForStage: ; 0x83ba ld [wBallSpin], a
ld [wBallRotation], a
inc a
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld a, $20
ld [wSCX], a
ld a, [wCurrentStage]
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 6d33e83..ce27573 100755..100644 --- a/engine/pinball_game/ball_init/ball_init_blue_field.asm +++ b/engine/pinball_game/ball_init/ball_init_blue_field.asm @@ -11,7 +11,7 @@ InitBallBlueField: ; 0x1c08d ld a, $98
ld [wBallYPos + 1], a
xor a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld [wd580], a
call InitBlueFieldCollisionAttributes
ld a, [wd4c9]
@@ -52,12 +52,12 @@ InitBallBlueField: ; 0x1c08d ld [wNumPikachuSaves], a
ld [wd613], a
inc a
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
ld [wd4ef], a
ld [wd4f1], a
ld a, $3
ld [wd610], a
- call Func_1d65f
+ call GetBCDForNextBonusMultiplier_BlueField
ld a, $10
call SetSongBank
ld de, $0001
diff --git a/engine/pinball_game/ball_init/ball_init_diglett_bonus.asm b/engine/pinball_game/ball_init/ball_init_diglett_bonus.asm index ef12950..ef12950 100755..100644 --- a/engine/pinball_game/ball_init/ball_init_diglett_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_diglett_bonus.asm 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..065a1ca 100755..100644 --- a/engine/pinball_game/ball_init/ball_init_gengar_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_gengar_bonus.asm 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 e452ecb..e452ecb 100755..100644 --- a/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm 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..c95d283 100755..100644 --- a/engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm 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 5411ac8..a9a8a1a 100755..100644 --- a/engine/pinball_game/ball_init/ball_init_red_field.asm +++ b/engine/pinball_game/ball_init/ball_init_red_field.asm @@ -11,7 +11,7 @@ InitBallRedField: ; 0x3007d ld a, $98
ld [wBallYPos + 1], a
xor a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld [wd580], a
ld a, [wd7ad]
bit 7, a
@@ -57,12 +57,12 @@ InitBallRedField: ; 0x3007d ld [wNumPikachuSaves], a
ld [wd613], a
inc a
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
ld [wd4ef], a
ld [wd4f1], a
ld a, $3
ld [wd610], a
- callba Func_16f95
+ callba GetBCDForNextBonusMultiplier_RedField
ld a, $f
call SetSongBank
ld de, $0001
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..84343d1 100755..100644 --- a/engine/pinball_game/ball_init/ball_init_seel_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_seel_bonus.asm diff --git a/engine/pinball_game/ball_init/ball_init_unused_stage.asm b/engine/pinball_game/ball_init/ball_init_unused_stage.asm index 656ce44..656ce44 100755..100644 --- a/engine/pinball_game/ball_init/ball_init_unused_stage.asm +++ b/engine/pinball_game/ball_init/ball_init_unused_stage.asm diff --git a/engine/pinball_game/ball_loss/ball_loss.asm b/engine/pinball_game/ball_loss/ball_loss.asm index 06b0cda..06b0cda 100755..100644 --- a/engine/pinball_game/ball_loss/ball_loss.asm +++ b/engine/pinball_game/ball_loss/ball_loss.asm 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 e4d8692..bdde203 100755..100644 --- 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 [wPinballLaunched], a
ld [wd4df], a
call Func_ded6
- ld a, [wCurBonusMultiplier]
+ ld a, [wCurBonusMultiplierFromFieldEvents]
and a
jr z, .asm_deb6
dec a
- ld [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld a, $1
ld [wd49c], a
ld de, EndOfBallBonusText
@@ -81,7 +81,7 @@ Func_ded6: ; 0xded6 ld [wd604], a
ld a, $1e
ld [wd607], a
- callba Func_10ac8
+ callba ConcludeEvolutionMode
ret
.asm_df05
diff --git a/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm index e0c1094..e0c1094 100755..100644 --- a/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm +++ b/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm diff --git a/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm index 0cb477d..c80e0c5 100755..100644 --- a/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm +++ b/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm @@ -14,8 +14,8 @@ HandleBallLossGengarBonus: ; 0xdf1a ld a, [wd6a7]
and a
ret nz
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld [wBallSpin], a
ld [wBallRotation], a
ld hl, wBallXVelocity
diff --git a/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm index 52eb582..52eb582 100755..100644 --- a/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm +++ b/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm diff --git a/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm index 75cc423..f8921b1 100755..100644 --- a/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm +++ b/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm @@ -14,8 +14,8 @@ HandleBallLossMewtwoBonus: ; 0xdf7e ld a, [wd6b2]
and a
ret nz
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld [wBallSpin], a
ld [wBallRotation], a
ld hl, wBallXVelocity
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 f76bf6e..31f6b4c 100755..100644 --- 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 [wPinballLaunched], a
ld [wd4df], a
call Func_ddfd
- ld a, [wCurBonusMultiplier]
+ ld a, [wCurBonusMultiplierFromFieldEvents]
and a
jr z, .asm_dddd
dec a
- ld [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld a, $1
ld [wd49c], a
ld de, EndOfBallBonusText
@@ -81,7 +81,7 @@ Func_ddfd: ; 0xddfd ld [wd604], a
ld a, $1e
ld [wd607], a
- callba Func_10ac8
+ callba ConcludeEvolutionMode
jr .asm_de40
.asm_de2d
diff --git a/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm index a3c829e..a3c829e 100755..100644 --- a/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm +++ b/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm diff --git a/engine/pinball_game/ball_saver/ball_saver_20.asm b/engine/pinball_game/ball_saver/ball_saver_20.asm index db4c55b..db4c55b 100755..100644 --- a/engine/pinball_game/ball_saver/ball_saver_20.asm +++ b/engine/pinball_game/ball_saver/ball_saver_20.asm diff --git a/engine/pinball_game/ball_saver/ball_saver_30.asm b/engine/pinball_game/ball_saver/ball_saver_30.asm index be1dda9..be1dda9 100755..100644 --- a/engine/pinball_game/ball_saver/ball_saver_30.asm +++ b/engine/pinball_game/ball_saver/ball_saver_30.asm diff --git a/engine/pinball_game/ball_saver/ball_saver_60.asm b/engine/pinball_game/ball_saver/ball_saver_60.asm index 9b6b5ef..9b6b5ef 100755..100644 --- a/engine/pinball_game/ball_saver/ball_saver_60.asm +++ b/engine/pinball_game/ball_saver/ball_saver_60.asm diff --git a/engine/pinball_game/ball_saver/ball_saver_90.asm b/engine/pinball_game/ball_saver/ball_saver_90.asm index 7acda2c..7acda2c 100755..100644 --- a/engine/pinball_game/ball_saver/ball_saver_90.asm +++ b/engine/pinball_game/ball_saver/ball_saver_90.asm diff --git a/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm b/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm index 2d1dbdd..2d1dbdd 100755..100644 --- a/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm +++ b/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm diff --git a/engine/pinball_game/billboard.asm b/engine/pinball_game/billboard.asm index 33975b7..33975b7 100755..100644 --- a/engine/pinball_game/billboard.asm +++ b/engine/pinball_game/billboard.asm diff --git a/engine/pinball_game/billboard_tiledata.asm b/engine/pinball_game/billboard_tiledata.asm index 8af3568..8af3568 100755..100644 --- a/engine/pinball_game/billboard_tiledata.asm +++ b/engine/pinball_game/billboard_tiledata.asm diff --git a/engine/pinball_game/bonus_multiplier.asm b/engine/pinball_game/bonus_multiplier.asm index dfd4a20..d286be3 100755..100644 --- a/engine/pinball_game/bonus_multiplier.asm +++ b/engine/pinball_game/bonus_multiplier.asm @@ -1,9 +1,13 @@ -IncrementBonusMultiplier: ; 0x30164
- ld a, [wCurBonusMultiplier]
+IncrementBonusMultiplierFromFieldEvent: ; 0x30164
+; Increments the bonus multiplier count received from game object actions.
+; This is a separate counter than hitting the bonus multiplier railings.
+; I guess they wanted hitting the bonus multiplier railings to be the primary
+; way of racking up the End-of-Ball Bonus Multiplier.
+ ld a, [wCurBonusMultiplierFromFieldEvents]
inc a
- cp MAX_BONUS_MULTIPLIER
+ cp MAX_BONUS_MULTIPLIER_FIELD_EVENTS
jr z, .maxed
- ld [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld a, $1
ld [wd4ca], a
ret
diff --git a/engine/pinball_game/catchem_mode.asm b/engine/pinball_game/catchem_mode.asm index 2abd30d..879b5b0 100755..100644 --- a/engine/pinball_game/catchem_mode.asm +++ b/engine/pinball_game/catchem_mode.asm @@ -690,8 +690,8 @@ BallCaptureInit: ; 0x10496 ld [wBallYVelocity], a
ld [wBallYVelocity + 1], a
xor a
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
lb de, $00, $0b
call PlaySoundEffect
ret
@@ -788,8 +788,8 @@ CapturePokemon: ; 0x1052d ld [wBallYPos], a
ld [wCapturingMon], a
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
callba RestoreBallSaverAfterCatchEmMode
call ConcludeCatchEmMode
ld de, $0001
@@ -799,7 +799,7 @@ CapturePokemon: ; 0x1052d jr nc, .notMaxed
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier ; increments bonus multiplier every 10 pokemon caught
+ callba z, IncrementBonusMultiplierFromFieldEvent ; increments bonus multiplier every 10 pokemon caught
.notMaxed
call SetPokemonOwnedFlag
ld a, [wPreviousNumPokeballs]
@@ -1078,14 +1078,14 @@ SetPokemonOwnedFlag: ; 0x1077c call SaveData
ret
-Func_107a5: ; 0x107a5
+ResetIndicatorStates: ; 0x107a5
xor a
ld hl, wIndicatorStates
ld b, $13
-.asm_107ab
+.loop
ld [hli], a
dec b
- jr nz, .asm_107ab
+ jr nz, .loop
ret
Func_107b0: ; 0x107b0
@@ -1244,7 +1244,7 @@ Func_10871: ; 0x10871 ret
Func_108f5: ; 0x108f5
- call Func_107a5
+ call ResetIndicatorStates
call Func_107c2
call Func_107c8
call Func_107e9
@@ -1375,7 +1375,7 @@ Func_1098c: ; 0x1098c ret
Func_109fc: ; 0x109fc
- call Func_107a5
+ call ResetIndicatorStates
call Func_107c2
callba Func_1f2ff
ld a, [wCurrentStage]
diff --git a/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm b/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm index c4b90fa..c4b90fa 100755..100644 --- a/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm +++ b/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm diff --git a/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm b/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm index b34f93d..b34f93d 100755..100644 --- a/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm +++ b/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm diff --git a/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm b/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm index 5354a51..5354a51 100755..100644 --- a/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm diff --git a/engine/pinball_game/draw_sprites/draw_diglett_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_diglett_bonus_sprites.asm index a0dded5..a0dded5 100755..100644 --- a/engine/pinball_game/draw_sprites/draw_diglett_bonus_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_diglett_bonus_sprites.asm diff --git a/engine/pinball_game/draw_sprites/draw_gengar_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_gengar_bonus_sprites.asm index 212279d..212279d 100755..100644 --- a/engine/pinball_game/draw_sprites/draw_gengar_bonus_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_gengar_bonus_sprites.asm diff --git a/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm index 5d54a08..5d54a08 100755..100644 --- a/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm diff --git a/engine/pinball_game/draw_sprites/draw_mewtwo_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_mewtwo_bonus_sprites.asm index a4397a0..a4397a0 100755..100644 --- a/engine/pinball_game/draw_sprites/draw_mewtwo_bonus_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_mewtwo_bonus_sprites.asm 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 024527b..2e34743 100755..100644 --- a/engine/pinball_game/draw_sprites/draw_red_field_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_red_field_sprites.asm @@ -512,7 +512,7 @@ Func_17e5e: ; 0x17e5e jr .asm_17e64
DrawPinball: ; 0x17e81
- ld a, [wd548]
+ ld a, [wPinballIsVisible]
and a
ret z
ld hl, wBallSpin
diff --git a/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm index 261de5b..261de5b 100755..100644 --- a/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm diff --git a/engine/pinball_game/draw_sprites/draw_sprites.asm b/engine/pinball_game/draw_sprites/draw_sprites.asm index e9dc693..e9dc693 100755..100644 --- a/engine/pinball_game/draw_sprites/draw_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_sprites.asm diff --git a/engine/pinball_game/draw_sprites/draw_unused_stage_sprites.asm b/engine/pinball_game/draw_sprites/draw_unused_stage_sprites.asm index 473a8c2..473a8c2 100755..100644 --- a/engine/pinball_game/draw_sprites/draw_unused_stage_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_unused_stage_sprites.asm diff --git a/engine/pinball_game/end_of_ball_bonus.asm b/engine/pinball_game/end_of_ball_bonus.asm index c151940..5d312ef 100755..100644 --- a/engine/pinball_game/end_of_ball_bonus.asm +++ b/engine/pinball_game/end_of_ball_bonus.asm @@ -40,7 +40,7 @@ LoadEAcuteCharacterGfx: ; 0xf55c Func_f57f: ; 0xf57f
xor a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld hl, wBottomMessageText
ld a, $81
ld b, $40
@@ -181,7 +181,7 @@ Func_f676: ; 0xf676 ld hl, TotalPointsText
call PlaceTextAlphanumericOnly
ld hl, wBottomMessageText + $50
- ld a, [wd482]
+ ld a, [wCurBonusMultiplier]
call Func_f78e
ld bc, $0040
ld de, $0040
@@ -209,11 +209,11 @@ Func_f676: ; 0xf676 .asm_f6f2
pop hl
pop de
- ld a, [wd482]
+ ld a, [wCurBonusMultiplier]
and a
jr z, .asm_f709
dec a
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
ld hl, wd48f
ld de, wd489
call AddBigBCD6
diff --git a/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm b/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm index c45b686..f0523d8 100755..100644 --- a/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm +++ b/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm @@ -175,7 +175,7 @@ Func_20c76: ; 0x20c76 Func_20d30: ; 0x20d30
callba RestoreBallSaverAfterCatchEmMode
callba PlaceEvolutionInParty
- callba Func_10ac8
+ callba ConcludeEvolutionMode
ld de, $0001
call PlaySong
ld hl, wNumPokemonEvolvedInBallBonus
@@ -201,7 +201,7 @@ Func_20d7c: ; 0x20d7c ret nz
call FillBottomMessageBufferWithBlackTile
callba RestoreBallSaverAfterCatchEmMode
- callba Func_10ac8
+ callba ConcludeEvolutionMode
ld de, $0001
call PlaySong
scf
diff --git a/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm b/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm index f9aa09e..fed675f 100755..100644 --- a/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm +++ b/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm @@ -178,7 +178,7 @@ Func_20651: ; 0x20651 Func_2070b: ; 0x2070b
callba RestoreBallSaverAfterCatchEmMode
callba PlaceEvolutionInParty
- callba Func_10ac8
+ callba ConcludeEvolutionMode
ld de, $0001
call PlaySong
ld hl, wNumPokemonEvolvedInBallBonus
@@ -204,7 +204,7 @@ Func_20757: ; 0x20757 ret nz
call FillBottomMessageBufferWithBlackTile
callba RestoreBallSaverAfterCatchEmMode
- callba Func_10ac8
+ callba ConcludeEvolutionMode
ld de, $0001
call PlaySong
scf
diff --git a/engine/pinball_game/extra_ball.asm b/engine/pinball_game/extra_ball.asm index becdd78..becdd78 100755..100644 --- a/engine/pinball_game/extra_ball.asm +++ b/engine/pinball_game/extra_ball.asm diff --git a/engine/pinball_game/flippers.asm b/engine/pinball_game/flippers.asm index 466975e..466975e 100755..100644 --- a/engine/pinball_game/flippers.asm +++ b/engine/pinball_game/flippers.asm 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 be4ffe0..7d5c888 100755..100644 --- a/engine/pinball_game/load_stage_data/load_blue_field.asm +++ b/engine/pinball_game/load_stage_data/load_blue_field.asm @@ -65,11 +65,11 @@ Func_1c21e: ; 0x1c21e ld a, $ff
ld [wd60e], a
ld [wd60f], a
- ld a, [wd60c]
- call Func_1d5f2
- ld a, [wd60d]
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_BlueField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
Func_1c235: ; 0x1c235
@@ -86,9 +86,9 @@ Func_1c235: ; 0x1c235 .asm_1c249
xor a
.asm_1c24a
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wLeftMapMoveCounter]
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_1c267
@@ -106,7 +106,7 @@ Func_1c235: ; 0x1c235 .asm_1c267
ld a, $8
.asm_1c269
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wRightMapMoveDiglettFrame]
and a
jr z, .asm_1c295
@@ -134,10 +134,10 @@ Func_1c235: ; 0x1c235 .asm_1c295
ld a, $2
.asm_1c297
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_1c2b7
@@ -155,15 +155,15 @@ Func_1c235: ; 0x1c235 .asm_1c2b7
ld a, $9
.asm_1c2b9
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ret
.asm_1c2bd
ld a, $6
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ret
Func_1c2cb: ; 0x1c2cb
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 6be87a9..6be87a9 100755..100644 --- a/engine/pinball_game/load_stage_data/load_diglett_bonus.asm +++ b/engine/pinball_game/load_stage_data/load_diglett_bonus.asm 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 767d37d..767d37d 100755..100644 --- a/engine/pinball_game/load_stage_data/load_gengar_bonus.asm +++ b/engine/pinball_game/load_stage_data/load_gengar_bonus.asm diff --git a/engine/pinball_game/load_stage_data/load_meowth_bonus.asm b/engine/pinball_game/load_stage_data/load_meowth_bonus.asm index 01a49ba..01a49ba 100755..100644 --- a/engine/pinball_game/load_stage_data/load_meowth_bonus.asm +++ b/engine/pinball_game/load_stage_data/load_meowth_bonus.asm 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 47bbfc4..47bbfc4 100755..100644 --- a/engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm +++ b/engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm 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 2cf7296..1e40057 100755..100644 --- a/engine/pinball_game/load_stage_data/load_red_field.asm +++ b/engine/pinball_game/load_stage_data/load_red_field.asm @@ -102,11 +102,11 @@ Func_140e2: ; 0x140e2 ld a, $ff
ld [wd60e], a
ld [wd60f], a
- ld a, [wd60c]
- call Func_16f28
- ld a, [wd60d]
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_RedField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_16f28
+ call LoadBonusMultiplierRailingGraphics_RedField
ret
Func_140f9: ; 0x140f9
@@ -120,9 +120,9 @@ Func_140f9: ; 0x140f9 ld [wStageCollisionMap + $103], a
ld a, $2
.asm_1410c
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wLeftMapMoveCounter]
- call Func_149f5
+ call LoadDiglettNumberGraphics
ld a, [wd4f1]
and a
jr z, .asm_14127
@@ -133,10 +133,10 @@ Func_140f9: ; 0x140f9 ld a, $2
.asm_14127
add $3
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_149f5
+ call LoadDiglettNumberGraphics
ret
Func_14135: ; 0x14135
diff --git a/engine/pinball_game/load_stage_data/load_seel_bonus.asm b/engine/pinball_game/load_stage_data/load_seel_bonus.asm index e72b9a7..e72b9a7 100755..100644 --- a/engine/pinball_game/load_stage_data/load_seel_bonus.asm +++ b/engine/pinball_game/load_stage_data/load_seel_bonus.asm diff --git a/engine/pinball_game/load_stage_data/load_stage_data.asm b/engine/pinball_game/load_stage_data/load_stage_data.asm index 957c009..957c009 100755..100644 --- a/engine/pinball_game/load_stage_data/load_stage_data.asm +++ b/engine/pinball_game/load_stage_data/load_stage_data.asm diff --git a/engine/pinball_game/load_stage_data/load_unused_stage.asm b/engine/pinball_game/load_stage_data/load_unused_stage.asm index 89d1128..89d1128 100755..100644 --- a/engine/pinball_game/load_stage_data/load_unused_stage.asm +++ b/engine/pinball_game/load_stage_data/load_unused_stage.asm diff --git a/engine/pinball_game/menu.asm b/engine/pinball_game/menu.asm index d97d039..a31ff1f 100755..100644 --- a/engine/pinball_game/menu.asm +++ b/engine/pinball_game/menu.asm @@ -6,7 +6,7 @@ HandleInGameMenu: ; 0x86d7 ld [wd917], a
call FillBottomMessageBufferWithBlackTile
xor a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld hl, wBottomMessageText
ld a, $81
ld b, $30
@@ -83,7 +83,7 @@ HandleInGameMenu: ; 0x86d7 pop af
ld [wd917], a
ld a, $1
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld a, [wInGameMenuIndex]
and a
ret
diff --git a/engine/pinball_game/object_collision/blue_stage_object_collision.asm b/engine/pinball_game/object_collision/blue_stage_object_collision.asm index 8252802..8252802 100755..100644 --- a/engine/pinball_game/object_collision/blue_stage_object_collision.asm +++ b/engine/pinball_game/object_collision/blue_stage_object_collision.asm 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 a59a9f9..f33cd7a 100755..100644 --- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm @@ -16,7 +16,7 @@ ResolveBlueFieldTopGameObjectCollisions: ; 0x1c715 call Func_1f18a
callba Func_146a9
call Func_1f27b
- call Func_1df15
+ call UpdateMapMoveCounters_BlueFieldTop
callba HandleExtraBall
ld a, $0
callba Func_10000
@@ -41,7 +41,7 @@ ResolveBlueFieldBottomGameObjectCollisions: ; 0x1c769 callba Func_14733
callba Func_146a2
call Func_1f261
- call Func_1de93
+ call UpdateMapMoveCounters_BlueFieldBottom
callba HandleExtraBall
ld a, $0
callba Func_10000
@@ -76,7 +76,7 @@ ResolveBlueStagePinballLaunchCollision: ; 0x1c7d7 ld a, $fa
ld [wBallYVelocity + 1], a
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
lb de, $00, $0a
call PlaySoundEffect
.dontLaunch
@@ -524,665 +524,7 @@ UpdateSpinnerChargeGraphics_BlueField: ; 0x1cb43 call Func_10aa
ret
-TileDataPointers_1cb60:
- dw TileData_1cb80
- dw TileData_1cb85
- dw TileData_1cb8a
- dw TileData_1cb8f
- dw TileData_1cb94
- dw TileData_1cb99
- dw TileData_1cb9e
- dw TileData_1cba3
- dw TileData_1cba8
- dw TileData_1cbad
- dw TileData_1cbb2
- dw TileData_1cbb7
- dw TileData_1cbbc
- dw TileData_1cbc1
- dw TileData_1cbc6
- dw TileData_1cbcb
-
-TileData_1cb80: ; 0x1cb80
- db $02
- dw TileData_1cbd0
- dw TileData_1cbda
-
-TileData_1cb85: ; 0x1cb85
- db $02
- dw TileData_1cbe4
- dw TileData_1cbee
-
-TileData_1cb8a: ; 0x1cb8a
- db $02
- dw TileData_1cbf8
- dw TileData_1cc02
-
-TileData_1cb8f: ; 0x1cb8f
- db $02
- dw TileData_1cc0c
- dw TileData_1cc16
-
-TileData_1cb94: ; 0x1cb94
- db $02
- dw TileData_1cc20
- dw TileData_1cc2a
-
-TileData_1cb99: ; 0x1cb99
- db $02
- dw TileData_1cc34
- dw TileData_1cc3e
-
-TileData_1cb9e: ; 0x1cb9e
- db $02
- dw TileData_1cc48
- dw TileData_1cc52
-
-TileData_1cba3: ; 0x1cba3
- db $02
- dw TileData_1cc5c
- dw TileData_1cc66
-
-TileData_1cba8: ; 0x1cba8
- db $02
- dw TileData_1cc70
- dw TileData_1cc7a
-
-TileData_1cbad: ; 0x1cbad
- db $02
- dw TileData_1cc84
- dw TileData_1cc8e
-
-TileData_1cbb2: ; 0x1cbb2
- db $02
- dw TileData_1cc98
- dw TileData_1cca2
-
-TileData_1cbb7: ; 0x1cbb7
- db $02
- dw TileData_1ccac
- dw TileData_1ccb6
-
-TileData_1cbbc: ; 0x1cbbc
- db $02
- dw TileData_1ccc0
- dw TileData_1ccca
-
-TileData_1cbc1: ; 0x1cbc1
- db $02
- dw TileData_1ccd4
- dw TileData_1ccde
-
-TileData_1cbc6: ; 0x1cbc6
- db $02
- dw TileData_1cce8
- dw TileData_1ccf2
-
-TileData_1cbcb: ; 0x1cbcb
- db $02
- dw TileData_1ccfc
- dw TileData_1cd06
-
-TileData_1cbd0: ; 0xcbd0
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageBlueFieldTopBaseGameBoyGfx + $c20
- db Bank(StageBlueFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_1cbda: ; 0xcbda
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageBlueFieldTopBaseGameBoyGfx + $c40
- db Bank(StageBlueFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_1cbe4: ; 0xcbe4
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1800
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cbee: ; 0xcbee
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1820
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cbf8: ; 0xcbf8
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1840
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc02: ; 0xcc02
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1860
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc0c: ; 0xcc0c
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1880
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc16: ; 0xcc16
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc20: ; 0xcc20
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc2a: ; 0xcc2a
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc34: ; 0xcc34
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1900
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc3e: ; 0xcc3e
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1920
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc48: ; 0xcc48
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1940
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc52: ; 0xcc52
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1960
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc5c: ; 0xcc5c
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1980
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc66: ; 0xcc66
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc70: ; 0xcc70
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc7a: ; 0xcc7a
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc84: ; 0xcc84
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc8e: ; 0xcc8e
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc98: ; 0xcc98
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cca2: ; 0xcca2
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccac: ; 0xccac
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccb6: ; 0xccb6
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccc0: ; 0xccc0
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccca: ; 0xccca
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccd4: ; 0xccd4
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccde: ; 0xccde
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cce8: ; 0xcce8
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccf2: ; 0xccf2
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccfc: ; 0xccfc
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cd06: ; 0xcd06
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1BA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileDataPointers_1cd10:
- dw TileData_1cd30
- dw TileData_1cd33
- dw TileData_1cd36
- dw TileData_1cd39
- dw TileData_1cd3c
- dw TileData_1cd3f
- dw TileData_1cd42
- dw TileData_1cd45
- dw TileData_1cd48
- dw TileData_1cd4b
- dw TileData_1cd4e
- dw TileData_1cd51
- dw TileData_1cd54
- dw TileData_1cd57
- dw TileData_1cd5a
- dw TileData_1cd5d
-
-TileData_1cd30: ; 0x1cd30
- db $01
- dw TileData_1cd60
-
-TileData_1cd33: ; 0x1cd33
- db $01
- dw TileData_1cd6e
-
-TileData_1cd36: ; 0x1cd36
- db $01
- dw TileData_1cd7c
-
-TileData_1cd39: ; 0x1cd39
- db $01
- dw TileData_1cd8a
-
-TileData_1cd3c: ; 0x1cd3c
- db $01
- dw TileData_1cd98
-
-TileData_1cd3f: ; 0x1cd3f
- db $01
- dw TileData_1cda6
-
-TileData_1cd42: ; 0x1cd42
- db $01
- dw TileData_1cdb4
-
-TileData_1cd45: ; 0x1cd45
- db $01
- dw TileData_1cdc2
-
-TileData_1cd48: ; 0x1cd48
- db $01
- dw TileData_1cdd0
-
-TileData_1cd4b: ; 0x1cd4b
- db $01
- dw TileData_1cdde
-
-TileData_1cd4e: ; 0x1cd4e
- db $01
- dw TileData_1cdec
-
-TileData_1cd51: ; 0x1cd51
- db $01
- dw TileData_1cdfa
-
-TileData_1cd54: ; 0x1cd54
- db $01
- dw TileData_1ce08
-
-TileData_1cd57: ; 0x1cd57
- db $01
- dw TileData_1ce16
-
-TileData_1cd5a: ; 0x1cd5a
- db $01
- dw TileData_1ce24
-
-TileData_1cd5d: ; 0x1cd5d
- db $01
- dw TileData_1ce32
-
-TileData_1cd60: ; 0x1cd60
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $4A, $4B
-
- db $00 ; terminator
-
-TileData_1cd6e: ; 0x1cd6e
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $4C, $4D
-
- db $00 ; terminator
-
-TileData_1cd7c: ; 0x1cd7c
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $4E, $4F
-
- db $00 ; terminator
-
-TileData_1cd8a: ; 0x1cd8a
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $50, $51
-
- db $00 ; terminator
-
-TileData_1cd98: ; 0x1cd98
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $52, $53
-
- db $00 ; terminator
-
-TileData_1cda6: ; 0x1cda6
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $54, $55
-
- db $00 ; terminator
-
-TileData_1cdb4: ; 0x1cdb4
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $56, $57
-
- db $00 ; terminator
-
-TileData_1cdc2: ; 0x1cdc2
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdd0: ; 0x1cdd0
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdde: ; 0x1cdde
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $5C, $5D
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdec: ; 0x1cdec
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $5E, $5F
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdfa: ; 0x1cdfa
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $60, $61
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce08: ; 0x1ce08
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $62, $63
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce16: ; 0x1ce16
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $64, $65
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce24: ; 0x1ce24
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $66, $67
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce32: ; 0x1ce32
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $68, $69
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $6A, $6B
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/spinner.asm"
ResolveBlueStageBumperCollision: ; 1ce40
ld a, [wWhichBumper]
@@ -1263,225 +605,7 @@ ApplyBumperCollision_BlueField: ; 0x1ce94 BumperCollisionAngleDeltas_BlueField:
db -8, 8
-TileDataPointers_1ceca:
- dw TileData_1ced2
- dw TileData_1ced5
- dw TileData_1ced8
- dw TileData_1cedb
-
-TileData_1ced2: ; 0x1ced2
- db $01
- dw TileData_1cede
-
-TileData_1ced5: ; 0x1ced5
- db $01
- dw TileData_1cef5
-
-TileData_1ced8: ; 0x1ced8
- db $01
- dw TileData_1cf0c
-
-TileData_1cedb: ; 0x1cedb
- db $01
- dw TileData_1cf23
-
-TileData_1cede: ; 0x1cede
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $61
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $62, $63
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $64, $65
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $66, $67
-
- db $00 ; number of tiles
-
-TileData_1cef5: ; 0x1cef5
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $68
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $69, $6A
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $6B, $6C
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $6D, $6E
-
- db $00 ; number of tiles
-
-TileData_1cf0c: ; 0x1cf0c
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $6F
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $70, $71
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $72, $73
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $74, $75
-
- db $00 ; number of tiles
-
-TileData_1cf23: ; 0x1cf23
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $76
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $77, $78
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $79, $7A
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $7B, $7C
-
- db $00 ; number of tiles
-
-TileDataPointers_1cf3a:
- dw TileData_1cf42
- dw TileData_1cf45
- dw TileData_1cf48
- dw TileData_1cf4b
-
-TileData_1cf42: ; 0x1cf42
- db $01
- dw TileData_1cf4e
-
-TileData_1cf45: ; 0x1cf45
- db $01
- dw TileData_1cf65
-
-TileData_1cf48: ; 0x1cf48
- db $01
- dw TileData_1cf7c
-
-TileData_1cf4b: ; 0x1cf4b
- db $01
- dw TileData_1cf93
-
-TileData_1cf4e: ; 0x1cf4e
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $39
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $3A, $3B
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $3C, $3D
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $3E, $3F
-
- db $00 ; terminator
-
-TileData_1cf65: ; 0x1cf65
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $40
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $41, $42
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $43, $44
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $45, $46
-
- db $00 ; terminator
-
-TileData_1cf7c: ; 0x1cf7c
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $39
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $3B, $3A
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $3D, $3C
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $3F, $3E
-
- db $00 ; terminator
-
-TileData_1cf93: ; 0x1cf93
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $40
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $42, $41
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $44, $43
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $46, $45
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/bumpers.asm"
ResolveBlueStageBoardTriggerCollision: ; 0x1cfaa
ld a, [wWhichBoardTrigger]
@@ -1640,7 +764,7 @@ ResolveBlueStagePikachuCollision: ; 0x1d0a1 ld [wBallYVelocity + 1], a
ld [wBallSpin], a
ld [wBallRotation], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
call FillBottomMessageBufferWithBlackTile
jr .asm_1d110
@@ -1699,7 +823,7 @@ Func_1d133: ; 0x1d133 jr nc, .asm_1d185
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_1d185
lb de, $16, $10
call PlaySoundEffect
@@ -1712,7 +836,7 @@ Func_1d133: ; 0x1d133 ld a, $fc
ld [wBallYVelocity + 1], a
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld bc, FiveThousandPoints
callba AddBigBCD6FromQueueWithBallMultiplier
xor a
@@ -1805,7 +929,7 @@ ResolveSlowpokeCollision: ; 0x1d216 ld [wBallXPos], a
ld [wBallYPos], a
xor a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
.asm_1d253
ld hl, SlowpokeCollisionAnimationData ; 0x1d312
ld de, wSlowpokeAnimation
@@ -1827,11 +951,11 @@ ResolveSlowpokeCollision: ; 0x1d216 cp $1
jr nz, .asm_1d2b6
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld a, [wLeftAlleyCount]
cp $3
jr nz, .asm_1d299
- callba Func_10ab3
+ callba StartEvolutionMode
ld a, [wd643]
and a
ret z
@@ -1845,7 +969,7 @@ ResolveSlowpokeCollision: ; 0x1d216 ret nc
ld c, $19
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
ret
.asm_1d2b6
@@ -1853,7 +977,7 @@ ResolveSlowpokeCollision: ; 0x1d216 cp $4
jr nz, .asm_1d2c3
ld a, $1
- ld [wd548], a
+ ld [wPinballIsVisible], a
ret
.asm_1d2c3
@@ -1861,7 +985,7 @@ ResolveSlowpokeCollision: ; 0x1d216 cp $5
ret nz
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld a, $b0
ld [wBallXVelocity], a
ld a, $0
@@ -1927,7 +1051,7 @@ ResolveCloysterCollision: ; 0x1d32d ld [wBallXPos], a
ld [wBallYPos], a
xor a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
.asm_1d36a
ld hl, CloysterCollisionAnimationData
ld de, wCloysterAnimation
@@ -1949,7 +1073,7 @@ ResolveCloysterCollision: ; 0x1d32d cp $1
jr nz, .asm_1d3cb
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld a, [wRightAlleyCount]
cp $2
jr c, .noCatchEmMode
@@ -1967,7 +1091,7 @@ ResolveCloysterCollision: ; 0x1d32d ret nc
ld c, $19
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
ret
.asm_1d3cb
@@ -1975,7 +1099,7 @@ ResolveCloysterCollision: ; 0x1d32d cp $4
jr nz, .asm_1d3d8
ld a, $1
- ld [wd548], a
+ ld [wPinballIsVisible], a
ret
.asm_1d3d8
@@ -1983,7 +1107,7 @@ ResolveCloysterCollision: ; 0x1d32d cp $5
ret nz
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld a, $4f
ld [wBallXVelocity], a
ld a, $ff
@@ -2027,14 +1151,14 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438 call Func_1d692
ld a, [wWhichBonusMultiplierRailing]
and a
- jp z, Func_1d51b
+ jp z, UpdateBonusMultiplierRailing_BlueField
xor a
ld [wWhichBonusMultiplierRailing], a
lb de, $00, $0d
call PlaySoundEffect
ld a, [wWhichBonusMultiplierRailingId]
sub $f
- jr nz, .asm_1d48e
+ jr nz, .hitRightRailing
ld a, [hGameBoyColorFlag]
and a
jr nz, .asm_1d45c
@@ -2044,7 +1168,7 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438 .asm_1d45c
ld a, $29
.asm_1d45e
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ld a, $3c
ld [wd647], a
ld a, $9
@@ -2056,12 +1180,12 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438 ld [wd610], a
ld a, $3
ld [wd611], a
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
set 7, a
- ld [wd60c], a
+ ld [wBonusMultiplierTensDigit], a
jr asm_1d4fa
-.asm_1d48e
+.hitRightRailing
ld a, [hGameBoyColorFlag]
and a
jr nz, .asm_1d497
@@ -2071,7 +1195,7 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438 .asm_1d497
ld a, $2b
.asm_1d499
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ld a, $1e
ld [wd647], a
ld a, $a
@@ -2085,41 +1209,41 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438 ld [wd611], a
ld a, $80
ld [wd612], a
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
set 7, a
- ld [wd60d], a
- ld a, [wd482]
+ ld [wBonusMultiplierOnesDigit], a
+ ld a, [wCurBonusMultiplier]
inc a
- cp 100
- jr c, .asm_1d4d5
- ld a, 99
-.asm_1d4d5
- ld [wd482], a
+ cp MAX_BONUS_MULTIPLIER + 1
+ jr c, .setNewBonusMultplier
+ ld a, MAX_BONUS_MULTIPLIER
+.setNewBonusMultplier
+ ld [wCurBonusMultiplier], a
jr nc, .asm_1d4e9
ld c, $19
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_1d4e9
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
ld [wd614], a
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
ld [wd615], a
ld a, $1
ld [wd613], a
asm_1d4fa: ; 0x1d4fa
ld bc, TenPoints
callba AddBigBCD6FromQueueWithBallMultiplier
- ld a, [wd60c]
- call Func_1d5f2
- ld a, [wd60d]
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_BlueField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ld a, $3c
ld [wd647], a
ret
-Func_1d51b: ; 0x1d51b
- call Func_1d5bf
+UpdateBonusMultiplierRailing_BlueField: ; 0x1d51b
+ call ShowBonusMultiplierMessage_BlueField ; only shows the scrolling message when appropriate
ld a, [wd612]
and a
jr z, .asm_1d559
@@ -2140,13 +1264,13 @@ Func_1d51b: ; 0x1d51b ld [wd610], a
xor a
ld [wd611], a
- ld a, [wd482]
- call Func_1d65f
- ld a, [wd60c]
- call Func_1d5f2
- ld a, [wd60d]
+ ld a, [wCurBonusMultiplier]
+ call GetBCDForNextBonusMultiplier_BlueField
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_BlueField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
.asm_1d559
@@ -2164,17 +1288,17 @@ Func_1d51b: ; 0x1d51b jr nz, .asm_1d58b
bit 3, b
jr nz, .asm_1d580
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
res 7, a
- ld [wd60c], a
- call Func_1d5f2
+ ld [wBonusMultiplierTensDigit], a
+ call LoadBonusMultiplierRailingGraphics_BlueField
jr .asm_1d58b
.asm_1d580
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
set 7, a
- ld [wd60c], a
- call Func_1d5f2
+ ld [wBonusMultiplierTensDigit], a
+ call LoadBonusMultiplierRailingGraphics_BlueField
.asm_1d58b
ld a, [wd611]
cp $2
@@ -2190,22 +1314,22 @@ Func_1d51b: ; 0x1d51b ret nz
bit 3, b
jr nz, .asm_1d5b1
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
res 7, a
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
add $14
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
.asm_1d5b1
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
set 7, a
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
add $14
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
-Func_1d5bf: ; 0x1d5bf
+ShowBonusMultiplierMessage_BlueField: ; 0x1d5bf
ld a, [wd5ca]
and a
ret nz
@@ -2232,21 +1356,21 @@ Func_1d5bf: ; 0x1d5bf ld [hl], a
ret
-Func_1d5f2: ; 0x1d5f2
+LoadBonusMultiplierRailingGraphics_BlueField: ; 0x1d5f2
push af
ld a, [hGameBoyColorFlag]
and a
- jr nz, .asm_1d5fd
+ jr nz, .gameboyColor
pop af
- call Func_1d602
+ call LoadBonusMultiplierRailingGraphics_BlueField_Gameboy
ret
-.asm_1d5fd
+.gameboyColor
pop af
- call Func_1d645
+ call LoadBonusMultiplierRailingGraphics_BlueField_GameboyColor
ret
-Func_1d602: ; 0x1d602
+LoadBonusMultiplierRailingGraphics_BlueField_Gameboy: ; 0x1d602
push af
res 7, a
ld hl, wd60e
@@ -2261,12 +1385,12 @@ Func_1d602: ; 0x1d602 ld c, a
ld b, $0
sla c
- ld hl, TileDataPointers_1d6be
+ ld hl, BonusMultiplierRailingTileDataPointers_1d6be
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(TileDataPointers_1d6be)
+ ld a, Bank(BonusMultiplierRailingTileDataPointers_1d6be)
call Func_10aa
.asm_1d626
pop af
@@ -2280,16 +1404,16 @@ Func_1d602: ; 0x1d602 jr c, .asm_1d638
set 2, c
.asm_1d638
- ld hl, TileDataPointers_1d946
+ ld hl, BonusMultiplierRailingTileDataPointers_1d946
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(TileDataPointers_1d946)
+ ld a, Bank(BonusMultiplierRailingTileDataPointers_1d946)
call Func_10aa
ret
-Func_1d645: ; 0x1d645
+LoadBonusMultiplierRailingGraphics_BlueField_GameboyColor: ; 0x1d645
bit 7, a
jr z, .asm_1d64d
res 7, a
@@ -2298,43 +1422,46 @@ Func_1d645: ; 0x1d645 ld c, a
ld b, $0
sla c
- ld hl, TileDataPointers_1d97a
+ ld hl, BonusMultiplierRailingTileDataPointers_1d97a
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(TileDataPointers_1d97a)
+ ld a, Bank(BonusMultiplierRailingTileDataPointers_1d97a)
call Func_10aa
ret
-Func_1d65f: ; 0x1d65f
- ld a, [wd482]
+GetBCDForNextBonusMultiplier_BlueField: ; 0x1d65f
+; Gets the BCD representation of the next bonus multplier value.
+; Output: [wBonusMultiplierTensDigit] = the tens digit
+; [wBonusMultiplierOnesDigit] = the ones digit
+ ld a, [wCurBonusMultiplier]
inc a
- cp $64
- jr c, .asm_1d669
- ld a, $63
-.asm_1d669
+ cp MAX_BONUS_MULTIPLIER + 1
+ jr c, .max99
+ ld a, MAX_BONUS_MULTIPLIER
+.max99
ld b, a
xor a
ld hl, Data_1d68b
ld c, $7
-.asm_1d670
+.loop
bit 0, b
- jr z, .asm_1d676
+ jr z, .evenNumber
add [hl]
daa
-.asm_1d676
+.evenNumber
srl b
inc hl
dec c
- jr nz, .asm_1d670
+ jr nz, .loop
push af
swap a
and $f
- ld [wd60c], a
+ ld [wBonusMultiplierTensDigit], a
pop af
and $f
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
ret
Data_1d68b:
@@ -2356,1319 +1483,53 @@ Func_1d692: ; 0x1d692 and a
jr nz, .asm_1d6b3
ld a, $1e
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ld a, $20
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
.asm_1d6b3
ld a, $2a
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ld a, $28
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
-TileDataPointers_1d6be:
- dw TileData_1d6ee
- dw TileData_1d6f3
- dw TileData_1d6f8
- dw TileData_1d6fd
- dw TileData_1d702
- dw TileData_1d707
- dw TileData_1d70c
- dw TileData_1d711
- dw TileData_1d716
- dw TileData_1d71b
- dw TileData_1d720
- dw TileData_1d725
- dw TileData_1d72a
- dw TileData_1d72f
- dw TileData_1d734
- dw TileData_1d739
- dw TileData_1d73e
- dw TileData_1d743
- dw TileData_1d748
- dw TileData_1d74d
- dw TileData_1d752
- dw TileData_1d757
- dw TileData_1d75c
- dw TileData_1d761
-
-TileData_1d6ee: ; 0x1d6ee
- db $02
- dw TileData_1d766
- dw TileData_1d770
-
-TileData_1d6f3: ; 0x1d6f3
- db $02
- dw TileData_1d77a
- dw TileData_1d784
-
-TileData_1d6f8: ; 0x1d6f8
- db $02
- dw TileData_1d78e
- dw TileData_1d798
-
-TileData_1d6fd: ; 0x1d6fd
- db $02
- dw TileData_1d7a2
- dw TileData_1d7AC
-
-TileData_1d702: ; 0x1d702
- db $02
- dw TileData_1d7b6
- dw TileData_1d7C0
-
-TileData_1d707: ; 0x1d707
- db $02
- dw TileData_1d7ca
- dw TileData_1d7D4
-
-TileData_1d70c: ; 0x1d70c
- db $02
- dw TileData_1d7de
- dw TileData_1d7E8
-
-TileData_1d711: ; 0x1d711
- db $02
- dw TileData_1d7f2
- dw TileData_1d7FC
-
-TileData_1d716: ; 0x1d716
- db $02
- dw TileData_1d806
- dw TileData_1d810
-
-TileData_1d71b: ; 0x1d71b
- db $02
- dw TileData_1d81a
- dw TileData_1d824
-
-TileData_1d720: ; 0x1d720
- db $02
- dw TileData_1d82e
- dw TileData_1d838
-
-TileData_1d725: ; 0x1d725
- db $02
- dw TileData_1d842
- dw TileData_1d84C
-
-TileData_1d72a: ; 0x1d72a
- db $02
- dw TileData_1d856
- dw TileData_1d860
-
-TileData_1d72f: ; 0x1d72f
- db $02
- dw TileData_1d86a
- dw TileData_1d874
-
-TileData_1d734: ; 0x1d734
- db $02
- dw TileData_1d87e
- dw TileData_1d888
-
-TileData_1d739: ; 0x1d739
- db $02
- dw TileData_1d892
- dw TileData_1d89C
-
-TileData_1d73e: ; 0x1d73e
- db $02
- dw TileData_1d8a6
- dw TileData_1d8B0
-
-TileData_1d743: ; 0x1d743
- db $02
- dw TileData_1d8ba
- dw TileData_1d8C4
-
-TileData_1d748: ; 0x1d748
- db $02
- dw TileData_1d8ce
- dw TileData_1d8D8
-
-TileData_1d74d: ; 0x1d74d
- db $02
- dw TileData_1d8e2
- dw TileData_1d8EC
-
-TileData_1d752: ; 0x1d752
- db $02
- dw TileData_1d8f6
- dw TileData_1d900
-
-TileData_1d757: ; 0x1d757
- db $02
- dw TileData_1d90a
- dw TileData_1d914
-
-TileData_1d75c: ; 0x1d75c
- db $02
- dw TileData_1d91e
- dw TileData_1d928
-
-TileData_1d761: ; 0x1d761
- db $02
- dw TileData_1d932
- dw TileData_1d93C
-
-TileData_1d766: ; 0x1d766
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d770: ; 0x1d770
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1cc0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d77a: ; 0x1d77a
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d70
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d784: ; 0x1d784
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1cd0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d78e: ; 0x1d78e
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d798: ; 0x1d798
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ce0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7a2: ; 0x1d7a2
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d90
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7AC: ; 0x1d7AC
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1cf0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7b6: ; 0x1d7b6
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1da0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7C0: ; 0x1d7C0
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7ca: ; 0x1d7ca
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1db0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7D4: ; 0x1d7D4
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d10
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7de: ; 0x1d7de
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1dc0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7E8: ; 0x1d7E8
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7f2: ; 0x1d7f2
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1dd0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7FC: ; 0x1d7FC
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d30
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d806: ; 0x1d806
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1de0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d810: ; 0x1d810
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d81a: ; 0x1d81a
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1df0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d824: ; 0x1d824
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d50
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d82e: ; 0x1d82e
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ea0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d838: ; 0x1d838
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d842: ; 0x1d842
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1eb0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d84C: ; 0x1d84C
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e10
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d856: ; 0x1d856
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ec0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d860: ; 0x1d860
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d86a: ; 0x1d86a
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ed0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d874: ; 0x1d874
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e30
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d87e: ; 0x1d87e
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ee0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d888: ; 0x1d888
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d892: ; 0x1d892
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ef0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d89C: ; 0x1d89C
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e50
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8a6: ; 0x1d8a6
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8B0: ; 0x1d8B0
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8ba: ; 0x1d8ba
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f10
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8C4: ; 0x1d8C4
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e70
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8ce: ; 0x1d8ce
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8D8: ; 0x1d8D8
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8e2: ; 0x1d8e2
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f30
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8EC: ; 0x1d8EC
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e90
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8f6: ; 0x1d8f6
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageBlueFieldBottomBaseGameBoyGfx + $A90
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d900: ; 0x1d900
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $2C
- dw StageBlueFieldBottomBaseGameBoyGfx + $AC0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d90a: ; 0x1d90a
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageBlueFieldBottomBaseGameBoyGfx + $AE0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d914: ; 0x1d914
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $2C
- dw StageBlueFieldBottomBaseGameBoyGfx + $B10
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d91e: ; 0x1d91e
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageBlueFieldBottomBaseGameBoyGfx + $B30
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d928: ; 0x1d928
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $36
- dw StageBlueFieldBottomBaseGameBoyGfx + $B60
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d932: ; 0x1d932
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageBlueFieldBottomBaseGameBoyGfx + $B80
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d93C: ; 0x1d93C
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $36
- dw StageBlueFieldBottomBaseGameBoyGfx + $BB0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileDataPointers_1d946:
- dw TileData_1d94e
- dw TileData_1d951
- dw TileData_1d954
- dw TileData_1d957
-
-TileData_1d94e: ; 0x1d94e
- db $01
- dw TileData_1d95a
-
-TileData_1d951: ; 0x1d951
- db $01
- dw TileData_1d962
-
-TileData_1d954: ; 0x1d954
- db $01
- dw TileData_1d96a
-
-TileData_1d957: ; 0x1d957
- db $01
- dw TileData_1d972
-
-TileData_1d95a: ; 0x1d95a
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $27
-
- db $00 ; terminator
-
-TileData_1d962: ; 0x1d962
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $7D
-
- db $00 ; terminator
-
-TileData_1d96a: ; 0x1d96a
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $28
-
- db $00 ; terminator
-
-TileData_1d972: ; 0x1d972
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7E
-
- db $00 ; terminator
-
-TileDataPointers_1d97a:
- dw TileData_1d9d2
- dw TileData_1d9d5
- dw TileData_1d9d8
- dw TileData_1d9db
- dw TileData_1d9de
- dw TileData_1d9e1
- dw TileData_1d9e4
- dw TileData_1d9e7
- dw TileData_1d9ea
- dw TileData_1d9ed
- dw TileData_1d9f0
- dw TileData_1d9f3
- dw TileData_1d9f6
- dw TileData_1d9f9
- dw TileData_1d9fc
- dw TileData_1d9ff
- dw TileData_1da02
- dw TileData_1da05
- dw TileData_1da08
- dw TileData_1da0b
- dw TileData_1da0e
- dw TileData_1da11
- dw TileData_1da14
- dw TileData_1da17
- dw TileData_1da1a
- dw TileData_1da1d
- dw TileData_1da20
- dw TileData_1da23
- dw TileData_1da26
- dw TileData_1da29
- dw TileData_1da2c
- dw TileData_1da2f
- dw TileData_1da32
- dw TileData_1da35
- dw TileData_1da38
- dw TileData_1da3b
- dw TileData_1da3e
- dw TileData_1da41
- dw TileData_1da44
- dw TileData_1da47
- dw TileData_1da4a
- dw TileData_1da4d
- dw TileData_1da50
- dw TileData_1da53
-
-TileData_1d9d2: ; 0x1d9d2
- db $01
- dw TileData_1da56
-
-TileData_1d9d5: ; 0x1d9d5
- db $01
- dw TileData_1da5e
-
-TileData_1d9d8: ; 0x1d9d8
- db $01
- dw TileData_1da66
-
-TileData_1d9db: ; 0x1d9db
- db $01
- dw TileData_1da6e
-
-TileData_1d9de: ; 0x1d9de
- db $01
- dw TileData_1da76
-
-TileData_1d9e1: ; 0x1d9e1
- db $01
- dw TileData_1da7e
-
-TileData_1d9e4: ; 0x1d9e4
- db $01
- dw TileData_1da86
-
-TileData_1d9e7: ; 0x1d9e7
- db $01
- dw TileData_1da8e
-
-TileData_1d9ea: ; 0x1d9ea
- db $01
- dw TileData_1da96
-
-TileData_1d9ed: ; 0x1d9ed
- db $01
- dw TileData_1da9e
-
-TileData_1d9f0: ; 0x1d9f0
- db $01
- dw TileData_1daa6
-
-TileData_1d9f3: ; 0x1d9f3
- db $01
- dw TileData_1daae
-
-TileData_1d9f6: ; 0x1d9f6
- db $01
- dw TileData_1dab6
-
-TileData_1d9f9: ; 0x1d9f9
- db $01
- dw TileData_1dabe
-
-TileData_1d9fc: ; 0x1d9fc
- db $01
- dw TileData_1dac6
-
-TileData_1d9ff: ; 0x1d9ff
- db $01
- dw TileData_1dace
-
-TileData_1da02: ; 0x1da02
- db $01
- dw TileData_1dad6
-
-TileData_1da05: ; 0x1da05
- db $01
- dw TileData_1dade
-
-TileData_1da08: ; 0x1da08
- db $01
- dw TileData_1dae6
-
-TileData_1da0b: ; 0x1da0b
- db $01
- dw TileData_1daee
-
-TileData_1da0e: ; 0x1da0e
- db $01
- dw TileData_1daf6
-
-TileData_1da11: ; 0x1da11
- db $01
- dw TileData_1dafe
-
-TileData_1da14: ; 0x1da14
- db $01
- dw TileData_1db06
-
-TileData_1da17: ; 0x1da17
- db $01
- dw TileData_1db0e
-
-TileData_1da1a: ; 0x1da1a
- db $01
- dw TileData_1db16
-
-TileData_1da1d: ; 0x1da1d
- db $01
- dw TileData_1db1e
-
-TileData_1da20: ; 0x1da20
- db $01
- dw TileData_1db26
-
-TileData_1da23: ; 0x1da23
- db $01
- dw TileData_1db2e
-
-TileData_1da26: ; 0x1da26
- db $01
- dw TileData_1db36
-
-TileData_1da29: ; 0x1da29
- db $01
- dw TileData_1db3e
-
-TileData_1da2c: ; 0x1da2c
- db $01
- dw TileData_1db46
-
-TileData_1da2f: ; 0x1da2f
- db $01
- dw TileData_1db4e
-
-TileData_1da32: ; 0x1da32
- db $01
- dw TileData_1db56
-
-TileData_1da35: ; 0x1da35
- db $01
- dw TileData_1db5e
-
-TileData_1da38: ; 0x1da38
- db $01
- dw TileData_1db66
-
-TileData_1da3b: ; 0x1da3b
- db $01
- dw TileData_1db6e
-
-TileData_1da3e: ; 0x1da3e
- db $01
- dw TileData_1db76
-
-TileData_1da41: ; 0x1da41
- db $01
- dw TileData_1db7e
-
-TileData_1da44: ; 0x1da44
- db $01
- dw TileData_1db86
-
-TileData_1da47: ; 0x1da47
- db $01
- dw TileData_1db8e
-
-TileData_1da4a: ; 0x1da4a
- db $01
- dw TileData_1db96
-
-TileData_1da4d: ; 0x1da4d
- db $01
- dw TileData_1dba5
-
-TileData_1da50: ; 0x1da50
- db $01
- dw TileData_1dbb4
-
-TileData_1da53: ; 0x1da53
- db $01
- dw TileData_1dbc3
-
-TileData_1da56: ; 0x1da56
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $62
-
- db $00 ; terminator
-
-TileData_1da5e: ; 0x1da5e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $63
-
- db $00 ; terminator
-
-TileData_1da66: ; 0x1da66
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $64
-
- db $00 ; terminator
-
-TileData_1da6e: ; 0x1da6e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $65
-
- db $00 ; terminator
-
-TileData_1da76: ; 0x1da76
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $66
-
- db $00 ; terminator
-
-TileData_1da7e: ; 0x1da7e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $67
-
- db $00 ; terminator
-
-TileData_1da86: ; 0x1da86
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $68
-
- db $00 ; terminator
-
-TileData_1da8e: ; 0x1da8e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $69
-
- db $00 ; terminator
-
-TileData_1da96: ; 0x1da96
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $6A
-
- db $00 ; terminator
-
-TileData_1da9e: ; 0x1da9e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $6B
-
- db $00 ; terminator
-
-TileData_1daa6: ; 0x1daa6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $58
-
- db $00 ; terminator
-
-TileData_1daae: ; 0x1daae
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $59
-
- db $00 ; terminator
-
-TileData_1dab6: ; 0x1dab6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5A
-
- db $00 ; terminator
-
-TileData_1dabe: ; 0x1dabe
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5B
-
- db $00 ; terminator
-
-TileData_1dac6: ; 0x1dac6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5C
-
- db $00 ; terminator
-
-TileData_1dace: ; 0x1dace
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5D
-
- db $00 ; terminator
-
-TileData_1dad6: ; 0x1dad6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5E
-
- db $00 ; terminator
-
-TileData_1dade: ; 0x1dade
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5F
-
- db $00 ; terminator
-
-TileData_1dae6: ; 0x1dae6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $60
-
- db $00 ; terminator
-
-TileData_1daee: ; 0x1daee
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $61
-
- db $00 ; terminator
-
-TileData_1daf6: ; 0x1daf6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $76
-
- db $00 ; terminator
-
-TileData_1dafe: ; 0x1dafe
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $77
-
- db $00 ; terminator
-
-TileData_1db06: ; 0x1db06
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $78
-
- db $00 ; terminator
-
-TileData_1db0e: ; 0x1db0e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $79
-
- db $00 ; terminator
-
-TileData_1db16: ; 0x1db16
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7A
-
- db $00 ; terminator
-
-TileData_1db1e: ; 0x1db1e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7B
-
- db $00 ; terminator
-
-TileData_1db26: ; 0x1db26
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7C
-
- db $00 ; terminator
-
-TileData_1db2e: ; 0x1db2e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7D
-
- db $00 ; terminator
-
-TileData_1db36: ; 0x1db36
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7E
-
- db $00 ; terminator
-
-TileData_1db3e: ; 0x1db3e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7F
-
- db $00 ; terminator
-
-TileData_1db46: ; 0x1db46
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $6C
-
- db $00 ; terminator
-
-TileData_1db4e: ; 0x1db4e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $6D
-
- db $00 ; terminator
-
-TileData_1db56: ; 0x1db56
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $6E
-
- db $00 ; terminator
-
-TileData_1db5e: ; 0x1db5e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $6F
-
- db $00 ; terminator
-
-TileData_1db66: ; 0x1db66
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $70
-
- db $00 ; terminator
-
-TileData_1db6e: ; 0x1db6e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $71
-
- db $00 ; terminator
-
-TileData_1db76: ; 0x1db76
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $72
-
- db $00 ; terminator
-
-TileData_1db7e: ; 0x1db7e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $73
-
- db $00 ; terminator
-
-TileData_1db86: ; 0x1db86
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $74
-
- db $00 ; terminator
-
-TileData_1db8e: ; 0x1db8e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $75
-
- db $00 ; terminator
-
-TileData_1db96: ; 0x1db96
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $24
- db $25, $26, $27
-
- db $02 ; number of tiles
- dw vBGMap + $44
- db $28, $29
-
- db $00 ; terminator
-
-TileData_1dba5: ; 0x1dba5
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $24
- db $2A, $2B, $2C
-
- db $02 ; number of tiles
- dw vBGMap + $44
- db $2D, $2E
-
- db $00 ; terminator
-
-TileData_1dbb4: ; 0x1dbb4
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $2D
- db $27, $26, $2F
-
- db $02 ; number of tiles
- dw vBGMap + $4E
- db $29, $28
-
- db $00 ; terminator
-
-TileData_1dbc3: ; 0x1dbc3
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $2D
- db $2C, $2B, $30
-
- db $02 ; number of tiles
- dw vBGMap + $4E
- db $2E, $2D
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/bonus_multiplier_railings.asm"
ResolvePsyduckPoliwagCollision: ; 0x1dbd2
ld a, [wWhichPsyduckPoliwag]
and a
- jp z, Func_1dc8e
+ jp z, UpdatePsyduckAndPoliwag
cp $2
- jr z, .asm_1dc33
+ jr z, .hitPsyduck
+ ; hit poliwag
xor a
ld [wWhichPsyduckPoliwag], a
ld hl, wLeftMapMoveCounter
ld a, [hl]
cp $3
- jp z, Func_1dc8e
+ jp z, UpdatePsyduckAndPoliwag
inc a
ld [hl], a
- ld hl, wd4f7
- ld a, $e0
+ ; Set 8 seconds until the counter will decrease by 1
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wCurrentStage]
bit 0, a
- jr z, .asm_1dc06
+ jr z, .skipCollisionMapChange
ld a, $54
ld [wStageCollisionMap + $e3], a
ld a, $55
ld [wStageCollisionMap + $103], a
-.asm_1dc06
+.skipCollisionMapChange
ld a, $1
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wLeftMapMoveCounter]
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wLeftMapMoveCounter]
cp $3
ld a, $7
@@ -3676,24 +1537,25 @@ ResolvePsyduckPoliwagCollision: ; 0x1dbd2 ld a, $2
ld [wd646], a
ld a, $78
- ld [wLeftMapMoveDiglettAnimationCounter], a
+ ld [wLeftMapMovePoliwagAnimationCounter], a
ld a, $14
- ld [wLeftMapMoveDiglettFrame], a
+ ld [wLeftMapMovePoliwagFrame], a
jr .asm_1dc8a
-.asm_1dc33
+.hitPsyduck
xor a
ld [wWhichPsyduckPoliwag], a
ld hl, wRightMapMoveCounter
ld a, [hl]
cp $3
- jp z, Func_1dc8e
+ jp z, UpdatePsyduckAndPoliwag
inc a
ld [hl], a
- ld hl, wd4f9
- ld a, $e0
+ ; Set 8 seconds until the counter will decrease by 1
+ ld hl, wRightMapMoveCounterFramesUntilDecrease
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wCurrentStage]
bit 0, a
@@ -3704,7 +1566,7 @@ ResolvePsyduckPoliwagCollision: ; 0x1dbd2 ld [wStageCollisionMap + $110], a
.asm_1dc5c
ld a, $3
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wRightMapMoveCounter]
cp $3
ld a, $8
@@ -3712,41 +1574,41 @@ ResolvePsyduckPoliwagCollision: ; 0x1dbd2 ld a, [wRightMapMoveCounter]
cp $3
ccf
- call z, Func_1ddf4
+ call z, HitPsyduck3Times
ld a, $2
ld [wd645], a
ld a, $28
- ld [wRightMapMoveDiglettAnimationCounter], a
+ ld [wRightMapMovePsyduckAnimationCounter], a
ld a, $78
- ld [wRightMapMoveDiglettFrame], a
+ ld [wRightMapMovePsyduckFrame], a
.asm_1dc8a
- call Func_1de22
+ call AddScorePsyduckOrPoliwag
ret
-Func_1dc8e: ; 0x1dc8e
- call Func_1dc95
- call Func_1dd2e
+UpdatePsyduckAndPoliwag: ; 0x1dc8e
+ call UpdatePoliwag
+ call UpdatePsyduck
ret
-Func_1dc95: ; 0x1dc95
+UpdatePoliwag: ; 0x1dc95
ld a, [wd646]
cp $0
ret z
- ld a, [wLeftMapMoveDiglettAnimationCounter]
+ ld a, [wLeftMapMovePoliwagAnimationCounter]
and a
jr z, .asm_1dceb
dec a
- ld [wLeftMapMoveDiglettAnimationCounter], a
+ ld [wLeftMapMovePoliwagAnimationCounter], a
ld a, [wd644]
and a
ret nz
- ld a, [wLeftMapMoveDiglettFrame]
+ ld a, [wLeftMapMovePoliwagFrame]
cp $1
jr z, .asm_1dcb9
cp $0
ret z
dec a
- ld [wLeftMapMoveDiglettFrame], a
+ ld [wLeftMapMovePoliwagFrame], a
ret
.asm_1dcb9
@@ -3772,11 +1634,11 @@ Func_1dc95: ; 0x1dc95 .asm_1dcd7
ld a, $8
.asm_1dcd9
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wLeftMapMoveCounter]
cp $3
ccf
- call z, Func_1ddc7
+ call z, HitPoliwag3Times
ld a, $1
ld [wd646], a
ret
@@ -3785,11 +1647,11 @@ Func_1dc95: ; 0x1dc95 ld a, [wd646]
cp $1
ret nz
- ld a, [wLeftMapMoveDiglettAnimationCounter]
+ ld a, [wLeftMapMovePoliwagAnimationCounter]
and a
ret nz
ld a, $0
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wCurrentStage]
bit 0, a
jr z, .asm_1dd0c
@@ -3806,9 +1668,9 @@ Func_1dc95: ; 0x1dc95 ld a, [wLeftMapMoveCounter]
sub $3
ld [wLeftMapMoveCounter], a
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, $0
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $0
ld [wd646], a
ret
@@ -3816,7 +1678,7 @@ Func_1dc95: ; 0x1dc95 ; XXX
ret
-Func_1dd2e: ; 0x1dd2e
+UpdatePsyduck: ; 0x1dd2e
ld a, [wd645]
cp $0
ret z
@@ -3824,16 +1686,16 @@ Func_1dd2e: ; 0x1dd2e jr z, .asm_1dd53
cp $3
jr z, .asm_1dd69
- ld a, [wRightMapMoveDiglettAnimationCounter]
+ ld a, [wRightMapMovePsyduckAnimationCounter]
cp $0
jr z, .asm_1dd48
dec a
- ld [wRightMapMoveDiglettAnimationCounter], a
+ ld [wRightMapMovePsyduckAnimationCounter], a
ret
.asm_1dd48
ld a, $2
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $1
ld [wd645], a
ret
@@ -3841,20 +1703,20 @@ Func_1dd2e: ; 0x1dd2e .asm_1dd53
ld a, [wRightMapMoveCounter]
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wRightMapMoveCounter]
add $3
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $3
ld [wd645], a
ret
.asm_1dd69
- ld a, [wRightMapMoveDiglettFrame]
+ ld a, [wRightMapMovePsyduckFrame]
and a
jr z, .asm_1dd74
dec a
- ld [wRightMapMoveDiglettFrame], a
+ ld [wRightMapMovePsyduckFrame], a
ret
.asm_1dd74
@@ -3875,9 +1737,9 @@ Func_1dd2e: ; 0x1dd2e .asm_1dd89
ld a, $9
.asm_1dd8b
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, $2
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wCurrentStage]
bit 0, a
jr z, .asm_1dda9
@@ -3895,22 +1757,22 @@ Func_1dd2e: ; 0x1dd2e sub $3
ld [wRightMapMoveCounter], a
ld a, $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, $2
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $0
ld [wd645], a
ret
-Func_1ddc7: ; 0x1ddc7
+HitPoliwag3Times: ; 0x1ddc7
ld hl, wNumPoliwagTriples
call Increment_Max100
- ld hl, wNumDugtrioTriples
+ ld hl, wNumDugtrioTriples ; developer oversight
call Increment_Max100
jr nc, .asm_1dde4
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_1dde4
xor a
ld [wd55a], a
@@ -3918,15 +1780,15 @@ Func_1ddc7: ; 0x1ddc7 scf
ret
-Func_1ddf4: ; 0x1ddf4
+HitPsyduck3Times: ; 0x1ddf4
ld hl, wNumPsyduckTriples
call Increment_Max100
- ld hl, wNumDugtrioTriples
+ ld hl, wNumDugtrioTriples ; developer oversight
call Increment_Max100
jr nc, .asm_1de11
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_1de11
ld a, $1
ld [wd55a], a
@@ -3934,7 +1796,7 @@ Func_1ddf4: ; 0x1ddf4 scf
ret
-Func_1de22: ; 0x1de22
+AddScorePsyduckOrPoliwag: ; 0x1de22
ld a, [wCurrentStage]
bit 0, a
ret z
@@ -3950,7 +1812,7 @@ Func_1de22: ; 0x1de22 call PlaySoundEffect
ret
-Func_1de4b: ; 0x1de4b
+LoadPsyduckOrPoliwagGraphics: ; 0x1de4b
ld b, a
ld a, [wCurrentStage]
bit 0, a
@@ -3962,9 +1824,9 @@ Func_1de4b: ; 0x1de4b ld hl, TileDataPointers_1df66
ld a, [hGameBoyColorFlag]
and a
- jr z, .asm_1de63
+ jr z, .gameboyColor
ld hl, TileDataPointers_1e00f
-.asm_1de63
+.gameboyColor
add hl, bc
ld a, [hli]
ld h, [hl]
@@ -3975,7 +1837,8 @@ Func_1de4b: ; 0x1de4b call Func_10aa
ret
-Func_1de6f: ; 0x1de6f
+LoadPsyduckOrPoliwagNumberGraphics: ; 0x1de6f
+; This is for the map move numbers that appears next to poliwag and psyduck.
ld b, a
ld a, [wCurrentStage]
bit 0, a
@@ -4000,31 +1863,35 @@ Func_1de6f: ; 0x1de6f call Func_10aa
ret
-Func_1de93: ; 0x1de93
- ld hl, wd4f7
+UpdateMapMoveCounters_BlueFieldBottom: ; 0x1de93
+; Decrements the two counters that cause the map move counters to decrease by one every 8 seconds.
+; Also updates the counter graphics if anything changes.
+; The map move counters appear next to Poliwag and Psyduck.
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1ded2
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1ded2
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_1ded2
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_1ded2
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
- jr z, .asm_1decd
+ jr z, .gameboy
ld a, [wLeftMapMoveCounter]
cp $0
jr z, .asm_1deca
@@ -4036,36 +1903,37 @@ Func_1de93: ; 0x1de93 xor a
jr .asm_1decf
-.asm_1decd
+.gameboy
ld a, $8
.asm_1decf
- call Func_1de6f
-.asm_1ded2
- ld hl, wd4f9
+ call LoadPsyduckOrPoliwagNumberGraphics
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1df14
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1df14
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_1df14
+ jr z, .done
cp $3
- jr z, .asm_1df14
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
- jr z, .asm_1df0f
+ jr z, .gameboy_2
ld a, [wRightMapMoveCounter]
cp $0
jr z, .asm_1df0b
@@ -4077,946 +1945,70 @@ Func_1de93: ; 0x1de93 ld a, $4
jr .asm_1df11
-.asm_1df0f
+.gameboy_2
ld a, $9
.asm_1df11
- call Func_1de6f
-.asm_1df14
+ call LoadPsyduckOrPoliwagNumberGraphics
+.done
ret
-Func_1df15: ; 0x1df15
+UpdateMapMoveCounters_BlueFieldTop: ; 0x1df15
+; This is identical logic to UpdateMapMoveCounters_BlueFieldTop, but it doesn't load
+; any graphics, since Poliwag and Psyduck aren't in the Top half of the Blue Field.
ld b, $0
- ld hl, wd4f8
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_1df3e
+ jr z, .checkRightMapMoveCounter
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1df3e
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1df3e
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_1df3e
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_1df3e
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
-.asm_1df3e
- ld hl, wd4fa
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_1df65
+ jr z, .done
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1df65
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1df65
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_1df65
+ jr z, .done
cp $3
- jr z, .asm_1df65
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
-.asm_1df65
+.done
ret
-TileDataPointers_1df66:
- dw TileData_1df74
- dw TileData_1df77
- dw TileData_1df7a
- dw TileData_1df7f
- dw TileData_1df84
- dw TileData_1df89
- dw TileData_1df8e
-
-TileData_1df74: ; 0x1df74
- db $01
- dw TileData_1df93
-
-TileData_1df77: ; 0x1df77
- db $01
- dw TileData_1df9f
-
-TileData_1df7a: ; 0x1df7a
- db $02
- dw TileData_1dfab
- dw TileData_1dfb5
-
-TileData_1df7f: ; 0x1df7f
- db $02
- dw TileData_1dfbf
- dw TileData_1dfc9
-
-TileData_1df84: ; 0x1df84
- db $02
- dw TileData_1dfd3
- dw TileData_1dfdd
-
-TileData_1df89: ; 0x1df89
- db $02
- dw TileData_1dfe7
- dw TileData_1dff1
-
-TileData_1df8e: ; 0x1df8e
- db $02
- dw TileData_1dffb
- dw TileData_1e005
-
-TileData_1df93: ; 0x1df93
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $4A
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $4B
-
- db $00 ; terminator
-
-TileData_1df9f: ; 0x1df9f
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $4C
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $4D
-
- db $00 ; terminator
-
-TileData_1dfab: ; 0x1dfab
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageBlueFieldBottomBaseGameBoyGfx + $CE0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfb5: ; 0x1dfb5
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageBlueFieldBottomBaseGameBoyGfx + $D10
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfbf: ; 0x1dfbf
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageBlueFieldBottomBaseGameBoyGfx + $D30
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfc9: ; 0x1dfc9
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageBlueFieldBottomBaseGameBoyGfx + $D60
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfd3: ; 0x1dfd3
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $20B0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dfdd: ; 0x1dfdd
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $20E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dfe7: ; 0x1dfe7
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2100
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dff1: ; 0x1dff1
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2130
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dffb: ; 0x1dffb
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2150
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e005: ; 0x1e005
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2180
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileDataPointers_1e00f:
- dw TileData_1e01d
- dw TileData_1e020
- dw TileData_1e023
- dw TileData_1e026
- dw TileData_1e029
- dw TileData_1e02c
- dw TileData_1e02f
-
-TileData_1e01d: ; 0x1e01d
- db $01
- dw TileData_1e032
-
-TileData_1e020: ; 0x1e020
- db $01
- dw TileData_1e03e
-
-TileData_1e023: ; 0x1e023
- db $01
- dw TileData_1e04a
-
-TileData_1e026: ; 0x1e026
- db $01
- dw TileData_1e05c
-
-TileData_1e029: ; 0x1e029
- db $01
- dw TileData_1e06e
-
-TileData_1e02c: ; 0x1e02c
- db $01
- dw TileData_1e080
-
-TileData_1e02f: ; 0x1e02f
- db $01
- dw TileData_1e092
-
-TileData_1e032: ; 0x1e032
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $35
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $36
-
- db $00 ; terminator
-
-TileData_1e03e: ; 0x1e03e
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $37
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $38
-
- db $00 ; terminator
-
-TileData_1e04a: ; 0x1e04a
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $4F
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $50, $51
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $52, $53
-
- db $00 ; terminator
-
-TileData_1e05c: ; 0x1e05c
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $54
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $55, $56
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $57, $58
-
- db $00 ; terminator
-
-TileData_1e06e: ; 0x1e06e
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $59
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $5A, $5B
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $5C, $5D
-
- db $00 ; terminator
-
-TileData_1e080: ; 0x1e080
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $59
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $5A, $5E
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $5C, $5F
-
- db $00 ; terminator
-
-TileData_1e092: ; 0x1e092
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $60
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $61, $62
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $63, $64
-
- db $00 ; terminator
-
-TileDataPointers_1e0a4:
- dw TileData_1e0b8
- dw TileData_1e0bf
- dw TileData_1e0c6
- dw TileData_1e0cd
- dw TileData_1e0d4
- dw TileData_1e0d9
- dw TileData_1e0de
- dw TileData_1e0e3
- dw TileData_1e0e8
- dw TileData_1e0ed
-
-TileData_1e0b8: ; 0x1e0b8
- db $03
- dw TileData_1e0f0
- dw TileData_1e0fa
- dw TileData_1e104
-
-TileData_1e0bf: ; 0x1e0bf
- db $03
- dw TileData_1e10e
- dw TileData_1e118
- dw TileData_1e122
-
-TileData_1e0c6: ; 0x1e0c6
- db $03
- dw TileData_1e12c
- dw TileData_1e136
- dw TileData_1e140
-
-TileData_1e0cd: ; 0x1e0cd
- db $03
- dw TileData_1e14a
- dw TileData_1e154
- dw TileData_1e15e
-
-TileData_1e0d4: ; 0x1e0d4
- db $02
- dw TileData_1e168
- dw TileData_1e172
-
-TileData_1e0d9: ; 0x1e0d9
- db $02
- dw TileData_1e17c
- dw TileData_1e186
-
-TileData_1e0de: ; 0x1e0de
- db $02
- dw TileData_1e190
- dw TileData_1e19a
-
-TileData_1e0e3: ; 0x1e0e3
- db $02
- dw TileData_1e1a4
- dw TileData_1e1ae
-
-TileData_1e0e8: ; 0x1e0e8
- db $02
- dw TileData_1e1b8
- dw TileData_1e1c2
-
-TileData_1e0ed: ; 0x1e0ed
- db $01
- dw TileData_1e1cc
-
-TileData_1e0f0: ; 0x1e0f0
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageBlueFieldBottomBaseGameBoyGfx + $C10
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e0fa: ; 0x1e0fa
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageBlueFieldBottomBaseGameBoyGfx + $C40
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e104: ; 0x1e104
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageBlueFieldBottomBaseGameBoyGfx + $C70
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e10e: ; 0x1e10e
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1FC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e118: ; 0x1e118
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e122: ; 0x1e122
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e12c: ; 0x1e12c
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1FF0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e136: ; 0x1e136
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e140: ; 0x1e140
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e14a: ; 0x1e14a
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2020
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e154: ; 0x1e154
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e15e: ; 0x1e15e
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e168: ; 0x1e168
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageBlueFieldBottomBaseGameBoyGfx + $D80
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e172: ; 0x1e172
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageBlueFieldBottomBaseGameBoyGfx + $DA0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e17c: ; 0x1e17c
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e186: ; 0x1e186
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e190: ; 0x1e190
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e19a: ; 0x1e19a
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2210
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e1a4: ; 0x1e1a4
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e1ae: ; 0x1e1ae
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2240
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e1b8: ; 0x1e1b8
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageBlueFieldBottomBaseGameBoyGfx + $C40
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e1c2: ; 0x1e1c2
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageBlueFieldBottomBaseGameBoyGfx + $C70
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e1cc: ; 0x1e1cc
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageBlueFieldBottomBaseGameBoyGfx + $D80
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileDataPointers_1e1d6:
- dw TileData_1e1f2
- dw TileData_1e1f5
- dw TileData_1e1f8
- dw TileData_1e1fb
- dw TileData_1e1fe
- dw TileData_1e201
- dw TileData_1e204
- dw TileData_1e207
- dw TileData_1e20a
- dw TileData_1e20d
- dw TileData_1e210
- dw TileData_1e213
- dw TileData_1e216
- dw TileData_1e219
-
-TileData_1e1f2: ; 0x1e1f2
- db $01
- dw TileData_1e21c
-
-TileData_1e1f5: ; 0x1e1f5
- db $01
- dw TileData_1e238
-
-TileData_1e1f8: ; 0x1e1f8
- db $01
- dw TileData_1e254
-
-TileData_1e1fb: ; 0x1e1fb
- db $01
- dw TileData_1e270
-
-TileData_1e1fe: ; 0x1e1fe
- db $01
- dw TileData_1e28c
-
-TileData_1e201: ; 0x1e201
- db $01
- dw TileData_1e2a2
-
-TileData_1e204: ; 0x1e204
- db $01
- dw TileData_1e2b8
-
-TileData_1e207: ; 0x1e207
- db $01
- dw TileData_1e2ce
-
-TileData_1e20a: ; 0x1e20a
- db $01
- dw TileData_1e2e4
-
-TileData_1e20d: ; 0x1e20d
- db $01
- dw TileData_1e2fa
-
-TileData_1e210: ; 0x1e210
- db $01
- dw TileData_1e310
-
-TileData_1e213: ; 0x1e213
- db $01
- dw TileData_1e326
-
-TileData_1e216: ; 0x1e216
- db $01
- dw TileData_1e336
-
-TileData_1e219: ; 0x1e219
- db $01
- dw TileData_1e346
-
-TileData_1e21c: ; 0x1e21c
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $36, $37, $38
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $39, $3A, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e238: ; 0x1e238
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $3C, $37, $38
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $3D, $3E, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $52, $53, $54
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $55, $56, $57
-
- db $00 ; terminator
-
-TileData_1e254: ; 0x1e254
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $40, $41, $38
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $42, $43, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $52, $53, $54
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $55, $56, $57
-
- db $00 ; terminator
-
-TileData_1e270: ; 0x1e270
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $36, $46, $47
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $48, $49, $4A
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $52, $53, $54
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $55, $56, $57
-
- db $00 ; terminator
-
-TileData_1e28c: ; 0x1e28c
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $67, $68
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $69, $6A, $6B
-
- db $00 ; terminator
-
-TileData_1e2a2: ; 0x1e2a2
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $6C, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $6D, $6E, $68
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $6F, $70, $6B
-
- db $00 ; terminator
-
-TileData_1e2b8: ; 0x1e2b8
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $6C, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $72, $68
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $69, $73, $6B
-
- db $00 ; terminator
-
-TileData_1e2ce: ; 0x1e2ce
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $75, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $76, $77
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $69, $78, $79
-
- db $00 ; terminator
-
-TileData_1e2e4: ; 0x1e2e4
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $3F, $3A, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e2fa: ; 0x1e2fa
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $44, $45, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e310: ; 0x1e310
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $39, $4B, $4A
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e326: ; 0x1e326
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $6D, $71, $68
-
- db $00 ; terminator
-
-TileData_1e336: ; 0x1e336
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $74, $68
-
- db $00 ; terminator
-
-TileData_1e346: ; 0x1e346
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $67, $77
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/poliwag_psyduck.asm"
ResolveBlueStagePinballUpgradeTriggersCollision: ; 0x1e356
ld a, [wWhichPinballUpgradeTrigger]
@@ -5753,7 +2745,7 @@ Func_1e757: ; 0x1e757 ld [hli], a
ld [hli], a
ld [hli], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld [wBallXPos], a
ld [wBallYPos], a
ld a, $50
@@ -5788,7 +2780,7 @@ Func_1e757: ; 0x1e757 cp $c
jr nz, .asm_1e7d0
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld [wBallSpin], a
ld [wBallRotation], a
ret
@@ -5843,8 +2835,8 @@ Func_1e830: ; 0x1e830 callba Func_10000
jr nc, .asm_1e84b
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ret
.asm_1e84b
@@ -5891,12 +2883,12 @@ Func_1e830: ; 0x1e830 cp $d
jr nc, .asm_1e858
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld a, [wCatchEmOrEvolutionSlotRewardActive]
cp EVOLUTION_MODE_SLOT_REWARD
ret nz
- callba Func_10ab3
+ callba StartEvolutionMode
xor a
ld [wCatchEmOrEvolutionSlotRewardActive], a
ret
@@ -7803,177 +4795,7 @@ Func_1f18a: ; 0x1f18a .asm_1f1b4
ret
-TileDataPointers_1f1b5:
- dw TileData_1f1bd
- dw TileData_1f1c0
- dw TileData_1f1c3
- dw TileData_1f1c6
-
-TileData_1f1bd: ; 0x1f1bd
- db $01
- dw TileData_1f1c9
-
-TileData_1f1c0: ; 0x1f1c0
- db $01
- dw TileData_1f1d7
-
-TileData_1f1c3: ; 0x1f1c3
- db $01
- dw TileData_1f1e5
-
-TileData_1f1c6: ; 0x1f1c6
- db $01
- dw TileData_1f1f3
-
-TileData_1f1c9: ; 0x1f1c9
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $70, $71
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $72, $73
-
- db $00 ; terminator
-
-TileData_1f1d7: ; 0x1f1d7
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $74, $75
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $76, $77
-
- db $00 ; terminator
-
-TileData_1f1e5: ; 0x1f1e5
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $78, $79
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $7A, $7B
-
- db $00 ; terminator
-
-TileData_1f1f3: ; 0x1f1f3
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $7C, $7D
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $7E, $7F
-
- db $00 ; terminator
-
-TileDataPointers_1f201:
- dw TileData_1f209
- dw TileData_1f20c
- dw TileData_1f20f
- dw TileData_1f212
-
-TileData_1f209: ; 0x1f209
- db $01
- dw TileData_1f215
-
-TileData_1f20c: ; 0x1f20c
- db $01
- dw TileData_1f228
-
-TileData_1f20f: ; 0x1f20f
- db $01
- dw TileData_1f23b
-
-TileData_1f212: ; 0x1f212
- db $01
- dw TileData_1f24e
-
-TileData_1f215: ; 0x1f215
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $6C, $6D
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $6E, $6F
-
- db $02
- dw vBGMap + $1c9
- db $70, $71
-
- db $00 ; terminator
-
-TileData_1f228: ; 0x1f228
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $72, $80
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $73, $74
-
- db $02
- dw vBGMap + $1c9
- db $75, $80
-
- db $00 ; terminator
-
-TileData_1f23b: ; 0x1f23b
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $76, $77
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $78, $79
-
- db $02
- dw vBGMap + $1c9
- db $7A, $7B
-
- db $00 ; terminator
-
-TileData_1f24e: ; 0x1f24e
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $80, $7C
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $7D, $7E
-
- db $02
- dw vBGMap + $1c9
- db $80, $7F
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/force_field.asm"
Func_1f261: ; 0x1f261
call Func_1f27b
diff --git a/engine/pinball_game/object_collision/diglett_bonus_object_collision.asm b/engine/pinball_game/object_collision/diglett_bonus_object_collision.asm index 91e0f82..91e0f82 100755..100644 --- a/engine/pinball_game/object_collision/diglett_bonus_object_collision.asm +++ b/engine/pinball_game/object_collision/diglett_bonus_object_collision.asm diff --git a/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm index 3255deb..3255deb 100755..100644 --- a/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm diff --git a/engine/pinball_game/object_collision/gengar_bonus_object_collision.asm b/engine/pinball_game/object_collision/gengar_bonus_object_collision.asm index adf048b..adf048b 100755..100644 --- a/engine/pinball_game/object_collision/gengar_bonus_object_collision.asm +++ b/engine/pinball_game/object_collision/gengar_bonus_object_collision.asm diff --git a/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm index d2c9770..daf3c5c 100755..100644 --- a/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm @@ -877,8 +877,8 @@ Func_1894c: ; 0x1894c jr z, .asm_18980
inc a
ld [wd6a5], a
- ld a, [wd548]
- ld hl, wDisableBallGravityAndTilt
+ ld a, [wPinballIsVisible]
+ ld hl, wEnableBallGravityAndTilt
and [hl]
jr z, .asm_18973
ld a, [wBallYPos + 1]
diff --git a/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm b/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm index 4fc6179..4fc6179 100755..100644 --- a/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm +++ b/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm diff --git a/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm index a8284f2..a8284f2 100755..100644 --- a/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm diff --git a/engine/pinball_game/object_collision/mewtwo_bonus_object_collision.asm b/engine/pinball_game/object_collision/mewtwo_bonus_object_collision.asm index e6bbae5..e6bbae5 100755..100644 --- a/engine/pinball_game/object_collision/mewtwo_bonus_object_collision.asm +++ b/engine/pinball_game/object_collision/mewtwo_bonus_object_collision.asm diff --git a/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm index eb47047..eb47047 100755..100644 --- a/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm diff --git a/engine/pinball_game/object_collision/object_collision.asm b/engine/pinball_game/object_collision/object_collision.asm index 9324829..9324829 100755..100644 --- a/engine/pinball_game/object_collision/object_collision.asm +++ b/engine/pinball_game/object_collision/object_collision.asm diff --git a/engine/pinball_game/object_collision/red_stage_object_collision.asm b/engine/pinball_game/object_collision/red_stage_object_collision.asm index 2d07286..2d07286 100755..100644 --- a/engine/pinball_game/object_collision/red_stage_object_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_object_collision.asm 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 082f6b6..f9726f6 100755..100644 --- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm @@ -15,7 +15,7 @@ ResolveRedFieldTopGameObjectCollisions: ; 0x1460e call Func_164e3
call Func_146a9
call Func_174ea
- call Func_148cf
+ call UpdateMapMoveCounters_RedFieldTop
callba HandleExtraBall
ld a, $0
callba Func_10000
@@ -25,7 +25,7 @@ ResolveRedFieldBottomGameObjectCollisions: ; 0x14652 call ResolveWildMonCollision_RedField
call ResolveRedStageBumperCollision
call ResolveDiglettCollision
- call Func_14880
+ call UpdateMapMoveCounters_RedFieldBottom
call UpdateRedStageSpinner
call Func_154a9
call HandleRedStageBallTypeUpgradeCounter
@@ -132,7 +132,7 @@ BgTileData_1472f: Func_14733: ; 0x14733
ld c, $0
- ld a, [wCurBonusMultiplier]
+ ld a, [wCurBonusMultiplierFromFieldEvents]
and a
jr z, .asm_1473d
ld c, $1
@@ -146,7 +146,7 @@ Func_14733: ; 0x14733 Func_14746: ; 0x14746
ld c, $0
- ld a, [wCurBonusMultiplier]
+ ld a, [wCurBonusMultiplierFromFieldEvents]
and a
jr z, .asm_14750
ld c, $2
@@ -238,11 +238,11 @@ ResolveDiglettCollision: ; 0x147aa inc a
ld [hld], a
ld [hl], $50
- ld hl, wd4f7
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
add hl, bc
- ld a, $e0
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, c
and a
@@ -252,15 +252,15 @@ ResolveDiglettCollision: ; 0x147aa ld a, $6b
ld [wStageCollisionMap + $110], a
ld a, $5
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_149f5
+ call LoadDiglettNumberGraphics
ld a, $8
callba Func_10000
ld a, [wRightMapMoveCounter]
cp $3
- call z, Func_14920
+ call z, HitRightDiglett3Times
jr .asm_14830
.asm_14807
@@ -269,16 +269,16 @@ ResolveDiglettCollision: ; 0x147aa ld a, $67
ld [wStageCollisionMap + $103], a
ld a, $2
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wLeftMapMoveCounter]
- call Func_149f5
+ call LoadDiglettNumberGraphics
ld a, $7
callba Func_10000
ld a, [wLeftMapMoveCounter]
cp $3
- call z, Func_14947
+ call z, HitLeftDiglett3Times
.asm_14830
- call Func_1496d
+ call AddScoreForHittingDiglett
ret
.asm_14834
@@ -292,7 +292,7 @@ ResolveDiglettCollision: ; 0x147aa sub $3
jr nz, .asm_1484d
ld [wLeftMapMoveCounter], a
- call Func_149f5
+ call LoadDiglettNumberGraphics
.asm_1484d
ld a, $64
ld [wStageCollisionMap + $e3], a
@@ -310,7 +310,7 @@ ResolveDiglettCollision: ; 0x147aa jr nz, .asm_14872
ld [wRightMapMoveCounter], a
add $4
- call Func_149f5
+ call LoadDiglettNumberGraphics
.asm_14872
ld a, $68
ld [wStageCollisionMap + $f0], a
@@ -320,133 +320,142 @@ ResolveDiglettCollision: ; 0x147aa call Func_14990
ret
-Func_14880: ; 0x14880
- ld hl, wd4f7
+UpdateMapMoveCounters_RedFieldBottom: ; 0x14880
+; Decrements the two counters that cause the map move counters to decrease by one every 8 seconds.
+; Also updates the counter graphics if anything changes.
+; The map move counters appear next to Digletts.
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_148a6
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_148a6
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_148a6
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_148a6
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
- call Func_149f5
-.asm_148a6
- ld hl, wd4f9
+ call LoadDiglettNumberGraphics
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_148ce
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_148ce
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_148ce
+ jr z, .done
cp $3
- jr z, .asm_148ce
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
add $4
- call Func_149f5
-.asm_148ce
+ call LoadDiglettNumberGraphics
+.done
ret
-Func_148cf: ; 0x148cf
+UpdateMapMoveCounters_RedFieldTop: ; 0x148cf
+; This is identical logic to UpdateMapMoveCounters_RedFieldBottom, but it doesn't load
+; any graphics, since the Diglett aren't in the Top half of the Red Field.
ld b, $0
- ld hl, wd4f8
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_148f8
+ jr z, .checkRightMapMoveCounter
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_148f8
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_148f8
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_148f8
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_148f8
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
-.asm_148f8
- ld hl, wd4fa
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_1491f
+ jr z, .done
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1491f
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1491f
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_1491f
+ jr z, .done
cp $3
- jr z, .asm_1491f
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
-.asm_1491f
+.done
ret
-Func_14920: ; 0x14920
+HitRightDiglett3Times: ; 0x14920
ld hl, wNumDugtrioTriples
call Increment_Max100
jr nc, .asm_14937
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_14937
ld a, $1
ld [wd55a], a
callba StartMapMoveMode
ret
-Func_14947: ; 0x14947
+HitLeftDiglett3Times: ; 0x14947
ld hl, wNumDugtrioTriples
call Increment_Max100
jr nc, .asm_1495e
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_1495e
xor a
ld [wd55a], a
callba StartMapMoveMode
ret
-Func_1496d: ; 0x1496d
+AddScoreForHittingDiglett: ; 0x1496d
ld a, $55
ld [wd803], a
ld a, $4
@@ -478,7 +487,7 @@ Func_14990: ; 0x14990 ld a, [wLeftMapMoveDiglettFrame]
xor $1
ld [wLeftMapMoveDiglettFrame], a
- call Func_149d9
+ call LoadDiglettGraphics
.asm_149b6
ld a, [wd4f1]
and a
@@ -500,7 +509,7 @@ Func_14990: ; 0x14990 ld [wRightMapMoveDiglettFrame], a
add $3
; fall through
-Func_149d9: ; 0x149d9
+LoadDiglettGraphics: ; 0x149d9
sla a
ld c, a
ld b, $0
@@ -520,7 +529,7 @@ Func_149d9: ; 0x149d9 call Func_10aa
ret
-Func_149f5: ; 0x149f5
+LoadDiglettNumberGraphics: ; 0x149f5
sla a
ld c, a
ld b, $0
@@ -540,777 +549,7 @@ Func_149f5: ; 0x149f5 call Func_10aa
ret
-TileListDataPointers_14a11: ; 0x14a11
- dw TileListData_14a1d
- dw TileListData_14a20
- dw TileListData_14a23
- dw TileListData_14a26
- dw TileListData_14a29
- dw TileListData_14a2c
-
-TileListData_14a1d: ; 0x14a1d
- db $01
- dw TileListData_14a2f
-
-TileListData_14a20: ; 0x14a20
- db $01
- dw TileListData_14a3d
-
-TileListData_14a23: ; 0x14a23
- db $01
- dw TileListData_14a4b
-
-TileListData_14a26: ; 0x14a26
- db $01
- dw TileListData_14a59
-
-TileListData_14a29: ; 0x14a29
- db $01
- dw TileListData_14a67
-
-TileListData_14a2c: ; 0x14a2c
- db $01
- dw TileListData_14a75
-
-TileListData_14a2f: ; 0x14a2f
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $4C, $4D
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $4E, $4F
-
- db $00 ; terminator
-
-TileListData_14a3d: ; 0x14a3d
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $50, $51
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $52, $53
-
- db $00 ; terminator
-
-TileListData_14a4b: ; 0x14a4b
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $54, $80
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $55, $80
-
- db $00 ; terminator
-
-TileListData_14a59: ; 0x14a59
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $56, $57
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $58, $59
-
- db $00 ; terminator
-
-TileListData_14a67: ; 0x14a67
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $5a, $5b
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $5c, $5d
-
- db $00 ; terminator
-
-TileListData_14a75: ; 0x14a75
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $80, $5e
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $80, $5f
-
- db $00 ; terminator
-
-TileListDataPointers_14a83:
- dw TileListData_14a8f
- dw TileListData_14a92
- dw TileListData_14a95
- dw TileListData_14a98
- dw TileListData_14a9b
- dw TileListData_14a9e
-
-TileListData_14a8f: ; 0x14a8f
- db $01
- dw TileListData_14aa1
-
-TileListData_14a92: ; 0x14a92
- db $01
- dw TileListData_14aaf
-
-TileListData_14a95: ; 0x14a95
- db $01
- dw TileListData_14abd
-
-TileListData_14a98: ; 0x14a98
- db $01
- dw TileListData_14acb
-
-TileListData_14a9b: ; 0x14a9b
- db $01
- dw TileListData_14ad9
-
-TileListData_14a9e: ; 0x14a9e
- db $01
- dw TileListData_14ae7
-
-TileListData_14aa1: ; 0x14aa1
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $54, $55
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $56, $57
-
- db $00
-
-TileListData_14aaf: ; 0x14aaf
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $58, $59
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $5A, $5B
-
- db $00 ; terminator
-
-TileListData_14abd: ; 0x14abd
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $5C, $80
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $5D, $80
-
- db $00 ; terminator
-
-TileListData_14acb: ; 0x14acb
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $55, $54
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $57, $56
-
- db $00 ; terminator
-
-TileListData_14ad9: ; 0x14ad9
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $59, $58
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $5B, $5A
-
- db $00 ; terminator
-
-TileListData_14ae7: ; 0x14ae7
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $80, $5C
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $80, $5D
-
- db $00 ; terminator
-
-Data_14af5: ; 0x14af5
- dw Data_14b05
- dw Data_14b0e
- dw Data_14b17
- dw Data_14b20
- dw Data_14b29
- dw Data_14b32
- dw Data_14b3b
- dw Data_14b44
-
-Data_14b05: ; 0x14b05
- db $04
- dw Data_14b4d
- dw Data_14b57
- dw Data_14b61
- dw Data_14b6b
-
-Data_14b0e: ; 0x14b0e
- db $04
- dw Data_14b75
- dw Data_14b7f
- dw Data_14b89
- dw Data_14b93
-
-Data_14b17: ; 0x14b17
- db $04
- dw Data_14b9d
- dw Data_14ba7
- dw Data_14bb1
- dw Data_14bbb
-
-Data_14b20: ; 0x14b20
- db $04
- dw Data_14bc5
- dw Data_14bcf
- dw Data_14bd9
- dw Data_14be3
-
-Data_14b29: ; 0x14b29
- db $04
- dw Data_14bed
- dw Data_14bf7
- dw Data_14c01
- dw Data_14c0b
-
-Data_14b32: ; 0x14b32
- db $04
- dw Data_14c15
- dw Data_14c1f
- dw Data_14c29
- dw Data_14c33
-
-Data_14b3b: ; 0x14b3b
- db $04
- dw Data_14c3d
- dw Data_14c47
- dw Data_14c51
- dw Data_14c5b
-
-Data_14b44: ; 0x14b44
- db $04
- dw Data_14c65
- dw Data_14c6f
- dw Data_14c79
- dw Data_14c83
-
-Data_14b4d: ; 0x14b4d
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomBaseGameBoyGfx + $a60
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b57: ; 0x14b57
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomBaseGameBoyGfx + $a90
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b61: ; 0x14b61
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomBaseGameBoyGfx + $ac0
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b6b: ; 0x14b6b
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomBaseGameBoyGfx + $af0
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b75: ; 0x14b75
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $720
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b7f: ; 0x14b7f
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $750
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b89: ; 0x14b89
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $780
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b93: ; 0x14b93
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7B0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b9d: ; 0x14b9d
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14ba7: ; 0x14ba7
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7F0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bb1: ; 0x14bb1
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $820
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bbb: ; 0x14bbb
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $850
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bc5: ; 0x14bc5
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $860
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bcf: ; 0x14bcf
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $890
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bd9: ; 0x14bd9
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $8C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14be3: ; 0x14be3
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $8F0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bed: ; 0x14bed
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomBaseGameBoyGfx + $B00
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14bf7: ; 0x14bf7
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomBaseGameBoyGfx + $B30
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14c01: ; 0x14c01
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomBaseGameBoyGfx + $B60
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14c0b: ; 0x14c0b
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomBaseGameBoyGfx + $B90
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14c15: ; 0x14c15
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $900
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c1f: ; 0x14c1f
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $930
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c29: ; 0x14c29
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $960
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c33: ; 0x14c33
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $990
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c3d: ; 0x14c3d
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $9A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c47: ; 0x14c47
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $9D0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c51: ; 0x14c51
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c5b: ; 0x14c5b
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A30
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c65: ; 0x14c65
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c6f: ; 0x14c6f
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A70
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c79: ; 0x14c79
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c83: ; 0x14c83
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AD0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileListDataPointers_14c8d:
- dw Data_14c9d
- dw Data_14ca0
- dw Data_14ca3
- dw Data_14ca6
- dw Data_14ca9
- dw Data_14cac
- dw Data_14caf
- dw Data_14cb2
-
-Data_14c9d: ; 0x14c9d
- db $01
- dw TileListData_14cb5
-
-Data_14ca0: ; 0x14ca0
- db $01
- dw TileListData_14ccf
-
-Data_14ca3: ; 0x14ca3
- db $01
- dw TileListData_14ce9
-
-Data_14ca6: ; 0x14ca6
- db $01
- dw TileListData_14d03
-
-Data_14ca9: ; 0x14ca9
- db $01
- dw TileListData_14d1d
-
-Data_14cac: ; 0x14cac
- db $01
- dw TileListData_14d37
-
-Data_14caf: ; 0x14caf
- db $01
- dw TileListData_14d51
-
-Data_14cb2: ; 0x14cb2
- db $01
- dw TileListData_14d6b
-
-TileListData_14cb5: ; 0x14cb5
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $06, $07
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $08, $09, $0A
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $0B, $0C, $0D
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $0E, $0F
-
- db $00 ; terminator
-
-TileListData_14ccf: ; 0x14ccf
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $06, $07
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $10, $11, $0A
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $12, $13, $0D
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $14, $15
-
- db $00 ; terminator
-
-TileListData_14ce9: ; 0x14ce9
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $06, $07
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $10, $16, $17
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $12, $18, $19
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $14, $15
-
- db $00 ; terminator
-
-TileListData_14d03: ; 0x14d03
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $1A, $1B
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $1C, $1D, $17
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $12, $18, $19
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $14, $15
-
- db $00 ; terminator
-
-TileListData_14d1d: ; 014d1d
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $07, $06
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $0A, $1E, $08
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $22, $0C, $24
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $0F, $0E
-
- db $00 ; terminator
-
-TileListData_14d37: ; 0x14d37
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $07, $06
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $0A, $1F, $10
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $22, $13, $25
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $15, $14
-
- db $00 ; terminator
-
-TileListData_14d51: ; 0x14d51
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $07, $06
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $17, $20, $10
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $23, $18, $25
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $15, $14
-
- db $00 ; terminator
-
-TileListData_14d6b: ; 0x14d6b
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $1B, $1A
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $17, $21, $1C
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $23, $18, $25
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $15, $14
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/red_field/diglett.asm"
ResolveVoltorbCollision: ; 0x14d85
ld a, [wWhichVoltorb]
@@ -1498,665 +737,7 @@ UpdateSpinnerChargeGraphics_RedField: ; 0x14ece call Func_10aa
ret
-TileDataPointers_14eeb:
- dw TileData_14f0b
- dw TileData_14f10
- dw TileData_14f15
- dw TileData_14f1a
- dw TileData_14f1f
- dw TileData_14f24
- dw TileData_14f29
- dw TileData_14f2e
- dw TileData_14f33
- dw TileData_14f38
- dw TileData_14f3d
- dw TileData_14f42
- dw TileData_14f47
- dw TileData_14f4c
- dw TileData_14f51
- dw TileData_14f56
-
-TileData_14f0b: ; 0x14f0b
- db $02
- dw TileData_14f5b
- dw TileData_14f65
-
-TileData_14f10: ; 0x14f10
- db $02
- dw TileData_14f6f
- dw TileData_14f79
-
-TileData_14f15: ; 0x14f15
- db $02
- dw TileData_14f83
- dw TileData_14f8d
-
-TileData_14f1a: ; 0x14f1a
- db $02
- dw TileData_14f97
- dw TileData_14fa1
-
-TileData_14f1f: ; 0x14f1f
- db $02
- dw TileData_14fab
- dw TileData_14fb5
-
-TileData_14f24: ; 0x14f24
- db $02
- dw TileData_14fbf
- dw TileData_14fc9
-
-TileData_14f29: ; 0x14f29
- db $02
- dw TileData_14fd3
- dw TileData_14fdd
-
-TileData_14f2e: ; 0x14f2e
- db $02
- dw TileData_14fe7
- dw TileData_14ff1
-
-TileData_14f33: ; 0x14f33
- db $02
- dw TileData_14ffb
- dw TileData_15005
-
-TileData_14f38: ; 0x14f38
- db $02
- dw TileData_1500f
- dw TileData_15019
-
-TileData_14f3d: ; 0x14f3d
- db $02
- dw TileData_15023
- dw TileData_1502d
-
-TileData_14f42: ; 0x14f42
- db $02
- dw TileData_15037
- dw TileData_15041
-
-TileData_14f47: ; 0x14f47
- db $02
- dw TileData_1504b
- dw TileData_15055
-
-TileData_14f4c: ; 0x14f4c
- db $02
- dw TileData_1505f
- dw TileData_15069
-
-TileData_14f51: ; 0x14f51
- db $02
- dw TileData_15073
- dw TileData_1507d
-
-TileData_14f56: ; 0x14f56
- db $02
- dw TileData_15087
- dw TileData_15091
-
-TileData_14f5b: ; 0x14f5b
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldTopBaseGameBoyGfx + $cb0
- db Bank(StageRedFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_14f65: ; 0x14f65
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldTopBaseGameBoyGfx + $cd0
- db Bank(StageRedFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_14f6f: ; 0x14f6f
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f79: ; 0x14f79
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f83: ; 0x14f83
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f8d: ; 0x14f8d
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f97: ; 0x14f97
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fa1: ; 0x14fa1
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fab: ; 0x14fab
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fb5: ; 0x14fb5
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fbf: ; 0x14fbf
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fc9: ; 0x14fc9
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fd3: ; 0x14fd3
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fdd: ; 0x14fdd
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fe7: ; 0x14fe7
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14ff1: ; 0x14ff1
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14ffb: ; 0x14ffb
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15005: ; 0x15005
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1500f: ; 0x1500f
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15019: ; 0x15019
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15023: ; 0x15023
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1502d: ; 0x1502d
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15037: ; 0x15037
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15041: ; 0x15041
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1504b: ; 0x1504b
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15055: ; 0x15055
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1505f: ; 0x1505f
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15069: ; 0x15069
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15073: ; 0x15073
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1507d: ; 0x1507d
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15087: ; 0x15087
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15091: ; 0x15091
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileDataPointers_1509b:
- dw TileData_150bb
- dw TileData_150be
- dw TileData_150c1
- dw TileData_150c4
- dw TileData_150c7
- dw TileData_150ca
- dw TileData_150cd
- dw TileData_150d0
- dw TileData_150d3
- dw TileData_150d6
- dw TileData_150d9
- dw TileData_150dc
- dw TileData_150df
- dw TileData_150e2
- dw TileData_150e5
- dw TileData_150e8
-
-TileData_150bb: ; 0x150bb
- db $01
- dw TileData_150eb
-
-TileData_150be: ; 0x150be
- db $01
- dw TileData_150f9
-
-TileData_150c1: ; 0x150c1
- db $01
- dw TileData_15107
-
-TileData_150c4: ; 0x150c4
- db $01
- dw TileData_15115
-
-TileData_150c7: ; 0x150c7
- db $01
- dw TileData_15123
-
-TileData_150ca: ; 0x150ca
- db $01
- dw TileData_15131
-
-TileData_150cd: ; 0x150cd
- db $01
- dw TileData_1513f
-
-TileData_150d0: ; 0x150d0
- db $01
- dw TileData_1514d
-
-TileData_150d3: ; 0x150d3
- db $01
- dw TileData_1515b
-
-TileData_150d6: ; 0x150d6
- db $01
- dw TileData_15169
-
-TileData_150d9: ; 0x150d9
- db $01
- dw TileData_15177
-
-TileData_150dc: ; 0x150dc
- db $01
- dw TileData_15185
-
-TileData_150df: ; 0x150df
- db $01
- dw TileData_15193
-
-TileData_150e2: ; 0x150e2
- db $01
- dw TileData_151a1
-
-TileData_150e5: ; 0x150e5
- db $01
- dw TileData_151af
-
-TileData_150e8: ; 0x150e8
- db $01
- dw TileData_151bd
-
-TileData_150eb: ; 0x150eb
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $5E, $5F
-
- db $00 ; terminator
-
-TileData_150f9: ; 0x150f9
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $60, $61
-
- db $00 ; terminator
-
-TileData_15107: ; 0x15107
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $62, $63
-
- db $00 ; terminator
-
-TileData_15115: ; 0x15115
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $64, $65
-
- db $00 ; terminator
-
-TileData_15123: ; 0x15123
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $66, $67
-
- db $00 ; terminator
-
-TileData_15131: ; 0x15131
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $68, $69
-
- db $00 ; terminator
-
-TileData_1513f: ; 0x1513f
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $6A, $6B
-
- db $00 ; terminator
-
-TileData_1514d: ; 0x1514d
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $6C, $6D
-
- db $00 ; terminator
-
-TileData_1515b: ; 0x1515b
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15169: ; 0x15169
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $70, $71
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15177: ; 0x15177
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $72, $73
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15185: ; 0x15185
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $74, $75
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15193: ; 0x15193
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $76, $77
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_151a1: ; 0x151a1
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $78, $79
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_151af: ; 0x151af
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $7A, $7B
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_151bd: ; 0x151bd
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $7C, $7D
-
- db $02 ; number of tiles
- dw $992E
- db $7E, $7F
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/red_field/spinner.asm"
Func_151cb: ; 0x151cb
ld a, [wWhichCAVELight]
@@ -4477,7 +3058,7 @@ ResolveBellsproutCollision: ; 0x15e93 ld a, $78
ld [wBallYPos + 1], a
xor a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
.asm_15eda
ld hl, BellsproutAnimationData
ld de, wBellsproutAnimation
@@ -4499,7 +3080,7 @@ ResolveBellsproutCollision: ; 0x15e93 cp $1
jr nz, .asm_15f35
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld a, [wRightAlleyCount]
cp $2
jr c, .noCatchEmMode
@@ -4515,7 +3096,7 @@ ResolveBellsproutCollision: ; 0x15e93 ret nc
ld c, $19
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
ret
.asm_15f35
@@ -4523,7 +3104,7 @@ ResolveBellsproutCollision: ; 0x15e93 cp $4
jr nz, .asm_15f42
ld a, $1
- ld [wd548], a
+ ld [wPinballIsVisible], a
ret
.asm_15f42
@@ -4531,7 +3112,7 @@ ResolveBellsproutCollision: ; 0x15e93 cp $5
ret nz
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
xor a
ld [wBallXVelocity + 1], a
ld a, $2
@@ -4601,7 +3182,7 @@ asm_15fc0 ld a, [hGameBoyColorFlag]
and a
jr z, .asm_15fd0
- ld hl, Data_16080
+ ld hl, TileData_16080
.asm_15fd0
add hl, bc
ld a, [hli]
@@ -4639,225 +3220,7 @@ ApplyBumperCollision_RedField: ; 0x15fda BumperCollisionAngleDeltas_RedField:
db -8, 8
-TileDataPointers_16010:
- dw TileData_16018
- dw TileData_1601b
- dw TileData_1601e
- dw TileData_16021
-
-TileData_16018: ; 0x16018
- db $01
- dw TileData_16024
-
-TileData_1601b: ; 0x1601b
- db $01
- dw TileData_1603B
-
-TileData_1601e: ; 0x1601e
- db $01
- dw TileData_16052
-
-TileData_16021: ; 0x16021
- db $01
- dw TileData_16069
-
-TileData_16024: ; 0x16024
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $60
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $61, $62
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $63, $64
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $65, $66
-
- db $00 ; terminator
-
-TileData_1603B: ; 0x1603B
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $67
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $68, $69
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $6A, $6B
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $6C, $6D
-
- db $00 ; terminator
-
-TileData_16052: ; 0x16052
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $6E
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $6F, $70
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $71, $72
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $73, $74
-
- db $00 ; terminator
-
-TileData_16069: ; 0x16069
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $75
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $76, $77
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $78, $79
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $7A, $7B
-
- db $00 ; terminator
-
-Data_16080:
- dw Data_16088
- dw Data_1608b
- dw Data_1608e
- dw Data_16091
-
-Data_16088: ; 0x16088
- db $01
- dw Data_16094
-
-Data_1608b: ; 0x1608b
- db $01
- dw Data_160ab
-
-Data_1608e: ; 0x1608e
- db $01
- dw Data_160c2
-
-Data_16091: ; 0x16091
- db $01
- dw Data_160d9
-
-Data_16094: ; 0x16094
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $2A
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $2B, $2C
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $2D, $2E
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $2F, $30
-
- db $00 ; terminator
-
-Data_160ab: ; 0x160ab
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $31
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $32, $33
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $34, $35
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $36, $37
-
- db $00 ; terminator
-
-Data_160c2: ; 0x160c2
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $2A
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $2C, $2B
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $2E, $2D
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $30, $2F
-
- db $00 ; terminator
-
-Data_160d9: ; 0x160d9
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $31
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $33, $32
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $35, $34
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $37, $36
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/red_field/bumpers.asm"
ResolveDittoSlotCollision: ; 0x160f0
ld a, [wDittoSlotCollision]
@@ -4875,7 +3238,7 @@ ResolveDittoSlotCollision: ; 0x160f0 ld [hli], a
ld [hli], a
ld [hli], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld [wBallXPos], a
ld [wBallYPos], a
ld a, $11
@@ -4909,7 +3272,7 @@ ResolveDittoSlotCollision: ; 0x160f0 cp $9
jr nz, .asm_1616d
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld [wBallSpin], a
ld [wBallRotation], a
ret
@@ -4917,10 +3280,10 @@ ResolveDittoSlotCollision: ; 0x160f0 .asm_1616d
cp $6
jr nz, .asm_1618e
- callba Func_10ab3
+ callba StartEvolutionMode
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld a, $5
ld [wd803], a
ld a, $8
@@ -5092,7 +3455,7 @@ Func_16279: ; 0x16279 ld [hli], a
ld [hli], a
ld [hli], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld [wBallXPos], a
ld [wBallYPos], a
ld a, $50
@@ -5127,7 +3490,7 @@ Func_16279: ; 0x16279 cp $c
jr nz, .asm_162f2
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld [wBallSpin], a
ld [wBallRotation], a
ret
@@ -5182,8 +3545,8 @@ Func_16352: ; 0x16352 callba Func_10000
jr nc, .asm_1636d
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ret
.asm_1636d
@@ -5230,12 +3593,12 @@ Func_16352: ; 0x16352 cp $d
jr nc, .asm_1637a
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld a, [wCatchEmOrEvolutionSlotRewardActive]
cp EVOLUTION_MODE_SLOT_REWARD
ret nz
- callba Func_10ab3
+ callba StartEvolutionMode
ld a, [wd7ad]
ld c, a
ld a, [wStageCollisionState]
@@ -5504,7 +3867,7 @@ ResolveRedStagePinballLaunchCollision: ; 0x1652d ld a, $fa
ld [wBallYVelocity + 1], a
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
lb de, $00, $0a
call PlaySoundEffect
.notLaunchedYet
@@ -5627,7 +3990,7 @@ ResolveRedStagePikachuCollision: ; 0x1660c ld [wBallYVelocity + 1], a
ld [wBallSpin], a
ld [wBallRotation], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
call FillBottomMessageBufferWithBlackTile
jr .asm_1667b
@@ -5686,7 +4049,7 @@ Func_1669e: ; 0x1669e jr nc, .asm_166f0
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_166f0
lb de, $16, $10
call PlaySoundEffect
@@ -5699,7 +4062,7 @@ Func_1669e: ; 0x1669e ld a, $fc
ld [wBallYVelocity + 1], a
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld bc, FiveThousandPoints
callba AddBigBCD6FromQueueWithBallMultiplier
xor a
@@ -7070,14 +5433,14 @@ TileData_16d8f: ; 0x16d8f ResolveRedStageBonusMultiplierCollision: ; 016d9d
ld a, [wWhichBonusMultiplierRailing]
and a
- jp z, Func_16e51
+ jp z, UpdateBonusMultiplierRailing_RedField
xor a
ld [wWhichBonusMultiplierRailing], a
lb de, $00, $0d
call PlaySoundEffect
ld a, [wWhichBonusMultiplierRailingId]
sub $21
- jr nz, .asm_16ddc
+ jr nz, .hitRightRailing
ld a, $9
callba Func_10000
ld a, [wd610]
@@ -7087,12 +5450,12 @@ ResolveRedStageBonusMultiplierCollision: ; 016d9d ld [wd610], a
ld a, $3
ld [wd611], a
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
set 7, a
- ld [wd60c], a
+ ld [wBonusMultiplierTensDigit], a
jr .asm_16e35
-.asm_16ddc
+.hitRightRailing
ld a, $a
callba Func_10000
ld a, [wd611]
@@ -7104,39 +5467,39 @@ ResolveRedStageBonusMultiplierCollision: ; 016d9d ld [wd611], a
ld a, $80
ld [wd612], a
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
set 7, a
- ld [wd60d], a
- ld a, [wd482]
+ ld [wBonusMultiplierOnesDigit], a
+ ld a, [wCurBonusMultiplier]
inc a
- cp 100
+ cp MAX_BONUS_MULTIPLIER + 1
jr c, .asm_16e10
- ld a, 99
+ ld a, MAX_BONUS_MULTIPLIER
.asm_16e10
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
jr nc, .asm_16e24
ld c, $19
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_16e24
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
ld [wd614], a
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
ld [wd615], a
ld a, $1
ld [wd613], a
.asm_16e35
ld bc, TenPoints
callba AddBigBCD6FromQueueWithBallMultiplier
- ld a, [wd60c]
- call Func_16f28
- ld a, [wd60d]
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_RedField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_16f28
+ call LoadBonusMultiplierRailingGraphics_RedField
ret
-Func_16e51: ; 0x16e51
- call Func_16ef5
+UpdateBonusMultiplierRailing_RedField: ; 0x16e51
+ call ShowBonusMultiplierMessage_RedField ; only shows the scrolling message when appropriate
ld a, [wd612]
and a
jr z, .asm_16e8f
@@ -7157,13 +5520,13 @@ Func_16e51: ; 0x16e51 ld [wd610], a
xor a
ld [wd611], a
- ld a, [wd482]
- call Func_16f95
- ld a, [wd60c]
- call Func_16f28
- ld a, [wd60d]
+ ld a, [wCurBonusMultiplier]
+ call GetBCDForNextBonusMultiplier_RedField
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_RedField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_16f28
+ call LoadBonusMultiplierRailingGraphics_RedField
ret
.asm_16e8f
@@ -7181,17 +5544,17 @@ Func_16e51: ; 0x16e51 jr nz, .asm_16ec1
bit 3, b
jr nz, .asm_16eb6
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
res 7, a
- ld [wd60c], a
- call Func_16f28
+ ld [wBonusMultiplierTensDigit], a
+ call LoadBonusMultiplierRailingGraphics_RedField
jr .asm_16ec1
.asm_16eb6
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
set 7, a
- ld [wd60c], a
- call Func_16f28
+ ld [wBonusMultiplierTensDigit], a
+ call LoadBonusMultiplierRailingGraphics_RedField
.asm_16ec1
ld a, [wd611]
cp $2
@@ -7207,22 +5570,22 @@ Func_16e51: ; 0x16e51 ret nz
bit 3, b
jr nz, .asm_16ee7
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
res 7, a
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
add $14
- call Func_16f28
+ call LoadBonusMultiplierRailingGraphics_RedField
ret
.asm_16ee7
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
set 7, a
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
add $14
- call Func_16f28
+ call LoadBonusMultiplierRailingGraphics_RedField
ret
-Func_16ef5: ; 0x16ef5
+ShowBonusMultiplierMessage_RedField: ; 0x16ef5
ld a, [wd5ca]
and a
ret nz
@@ -7249,21 +5612,21 @@ Func_16ef5: ; 0x16ef5 ld [hl], a
ret
-Func_16f28: ; 0x16f28
+LoadBonusMultiplierRailingGraphics_RedField: ; 0x16f28
push af
ld a, [hGameBoyColorFlag]
and a
- jr nz, .asm_16f33
+ jr nz, .gameboyColor
pop af
- call Func_16f38
+ call LoadBonusMultiplierRailingGraphics_RedField_Gameboy
ret
-.asm_16f33
+.gameboyColor
pop af
- call Func_16f7b
+ call LoadBonusMultiplierRailingGraphics_RedField_GameboyColor
ret
-Func_16f38: ; 0x16f38
+LoadBonusMultiplierRailingGraphics_RedField_Gameboy: ; 0x16f38
push af
res 7, a
ld hl, wd60e
@@ -7278,12 +5641,12 @@ Func_16f38: ; 0x16f38 ld c, a
ld b, $0
sla c
- ld hl, TileDataPointers_16fc8
+ ld hl, BonusMultiplierRailingTileDataPointers_16fc8
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(TileDataPointers_16fc8)
+ ld a, Bank(BonusMultiplierRailingTileDataPointers_16fc8)
call Func_10aa
.asm_16f5c
pop af
@@ -7297,16 +5660,16 @@ Func_16f38: ; 0x16f38 jr c, .asm_16f6e
set 2, c
.asm_16f6e
- ld hl, Data_171e4
+ ld hl, BonusMultiplierRailingTileData_171e4
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(Data_171e4)
+ ld a, Bank(BonusMultiplierRailingTileData_171e4)
call Func_10aa
ret
-Func_16f7b: ; 0x16f7b
+LoadBonusMultiplierRailingGraphics_RedField_GameboyColor: ; 0x16f7b
bit 7, a
jr z, .asm_16f83
res 7, a
@@ -7315,21 +5678,24 @@ Func_16f7b: ; 0x16f7b ld c, a
ld b, $0
sla c
- ld hl, TileDataPointers_17228
+ ld hl, BonusMultiplierRailingTileDataPointers_17228
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(TileDataPointers_17228)
+ ld a, Bank(BonusMultiplierRailingTileDataPointers_17228)
call Func_10aa
ret
-Func_16f95: ; 0x16f95
- ld a, [wd482]
+GetBCDForNextBonusMultiplier_RedField: ; 0x16f95
+; Gets the BCD representation of the next bonus multplier value.
+; Output: [wBonusMultiplierTensDigit] = the tens digit
+; [wBonusMultiplierOnesDigit] = the ones digit
+ ld a, [wCurBonusMultiplier]
inc a
- cp 100
+ cp MAX_BONUS_MULTIPLIER + 1
jr c, .asm_16f9f
- ld a, 99
+ ld a, MAX_BONUS_MULTIPLIER
.asm_16f9f
ld b, a
xor a
@@ -7348,10 +5714,10 @@ Func_16f95: ; 0x16f95 push af
swap a
and $f
- ld [wd60c], a
+ ld [wBonusMultiplierTensDigit], a
pop af
and $f
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
ret
Data_16fc1:
@@ -7364,1287 +5730,7 @@ Data_16fc1: db $32
db $64
-TileDataPointers_16fc8:
- dw TileData_16ff0
- dw TileData_16ff5
- dw TileData_16ffa
- dw TileData_16fff
- dw TileData_17004
- dw TileData_17009
- dw TileData_1700e
- dw TileData_17013
- dw TileData_17018
- dw TileData_1701d
- dw TileData_17022
- dw TileData_17027
- dw TileData_1702c
- dw TileData_17031
- dw TileData_17036
- dw TileData_1703b
- dw TileData_17040
- dw TileData_17045
- dw TileData_1704a
- dw TileData_1704f
-
-TileData_16ff0: ; 0x16ff0
- db $02
- dw TileData_17054
- dw TileData_1705e
-
-TileData_16ff5: ; 0x16ff5
- db $02
- dw TileData_17068
- dw TileData_17072
-
-TileData_16ffa: ; 0x16ffa
- db $02
- dw TileData_1707c
- dw TileData_17086
-
-TileData_16fff: ; 0x16fff
- db $02
- dw TileData_17090
- dw TileData_1709a
-
-TileData_17004: ; 0x17004
- db $02
- dw TileData_170a4
- dw TileData_170ae
-
-TileData_17009: ; 0x17009
- db $02
- dw TileData_170b8
- dw TileData_170c2
-
-TileData_1700e: ; 0x1700e
- db $02
- dw TileData_170cc
- dw TileData_170d6
-
-TileData_17013: ; 0x17013
- db $02
- dw TileData_170e0
- dw TileData_170ea
-
-TileData_17018: ; 0x17018
- db $02
- dw TileData_170f4
- dw TileData_170fe
-
-TileData_1701d: ; 0x1701d
- db $02
- dw TileData_17108
- dw TileData_17112
-
-TileData_17022: ; 0x17022
- db $02
- dw TileData_1711c
- dw TileData_17126
-
-TileData_17027: ; 0x17027
- db $02
- dw TileData_17130
- dw TileData_1713a
-
-TileData_1702c: ; 0x1702c
- db $02
- dw TileData_17144
- dw TileData_1714e
-
-TileData_17031: ; 0x17031
- db $02
- dw TileData_17158
- dw TileData_17162
-
-TileData_17036: ; 0x17036
- db $02
- dw TileData_1716c
- dw TileData_17176
-
-TileData_1703b: ; 0x1703b
- db $02
- dw TileData_17180
- dw TileData_1718a
-
-TileData_17040: ; 0x17040
- db $02
- dw TileData_17194
- dw TileData_1719e
-
-TileData_17045: ; 0x17045
- db $02
- dw TileData_171a8
- dw TileData_171b2
-
-TileData_1704a: ; 0x1704a
- db $02
- dw TileData_171bc
- dw TileData_171c6
-
-TileData_1704f: ; 0x1704f
- db $02
- dw TileData_171d0
- dw TileData_171da
-
-TileData_17054: ; 0x17054
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1280
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1705e: ; 0x1705e
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1140
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17068: ; 0x17068
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $12A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17072: ; 0x17072
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1160
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1707c: ; 0x1707c
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $12C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17086: ; 0x17086
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1180
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17090: ; 0x17090
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $12E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1709a: ; 0x1709a
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $11A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170a4: ; 0x170a4
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1300
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170ae: ; 0x170ae
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $11C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170b8: ; 0x170b8
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1320
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170c2: ; 0x170c2
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $11E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170cc: ; 0x170cc
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1340
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170d6: ; 0x170d6
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1200
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170e0: ; 0x170e0
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1360
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170ea: ; 0x170ea
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1220
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170f4: ; 0x170f4
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1380
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170fe: ; 0x170fe
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1240
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17108: ; 0x17108
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $13A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17112: ; 0x17112
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1260
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1711c: ; 0x1711c
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1500
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17126: ; 0x17126
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $13C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17130: ; 0x17130
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1520
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1713a: ; 0x1713a
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $13E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17144: ; 0x17144
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1540
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1714e: ; 0x1714e
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1400
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17158: ; 0x17158
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1560
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17162: ; 0x17162
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1420
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1716c: ; 0x1716c
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1580
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17176: ; 0x17176
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1440
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17180: ; 0x17180
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $15A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1718a: ; 0x1718a
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1460
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17194: ; 0x17194
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $15C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1719e: ; 0x1719e
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1480
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171a8: ; 0x171a8
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $15E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171b2: ; 0x171b2
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $14A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171bc: ; 0x171bc
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1600
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171c6: ; 0x171c6
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $14C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171d0: ; 0x171d0
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1620
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171da: ; 0x171da
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $14E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-Data_171e4:
- dw Data_171ec
- dw Data_171ef
- dw Data_171f2
- dw Data_171f5
-
-Data_171ec: ; 0x171ec
- db $01
- dw Data_171f8
-
-Data_171ef: ; 0x171ef
- db $01
- dw Data_17204
-
-Data_171f2: ; 0x171f2
- db $01
- dw Data_17210
-
-Data_171f5: ; 0x171f5
- db $01
- dw Data_1721c
-
-Data_171f8: ; 0x171f8
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $C6
-
- db $01
- dw vBGMap + $24
- db $C7
-
- db $00
-
-Data_17204: ; 0x17204
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $C8
-
- db $01
- dw vBGMap + $24
- db $C9
-
- db $00
-
-Data_17210: ; 0x17210
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $CA
-
- db $01
- dw vBGMap + $2F
- db $CB
-
- db $00
-
-Data_1721c: ; 0x1721c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $CC
-
- db $01
- dw vBGMap + $2F
- db $CD
-
- db $00
-
-TileDataPointers_17228:
- dw TileData_17278
- dw TileData_1727b
- dw TileData_1727e
- dw TileData_17281
- dw TileData_17284
- dw TileData_17287
- dw TileData_1728a
- dw TileData_1728d
- dw TileData_17290
- dw TileData_17293
- dw TileData_17296
- dw TileData_17299
- dw TileData_1729c
- dw TileData_1729f
- dw TileData_172a2
- dw TileData_172a5
- dw TileData_172a8
- dw TileData_172ab
- dw TileData_172ae
- dw TileData_172b1
- dw TileData_172b4
- dw TileData_172b7
- dw TileData_172ba
- dw TileData_172bd
- dw TileData_172c0
- dw TileData_172c3
- dw TileData_172c6
- dw TileData_172c9
- dw TileData_172cc
- dw TileData_172cf
- dw TileData_172d2
- dw TileData_172d5
- dw TileData_172d8
- dw TileData_172db
- dw TileData_172de
- dw TileData_172e1
- dw TileData_172e4
- dw TileData_172e7
- dw TileData_172ea
- dw TileData_172ed
-
-TileData_17278: ; 0x17278
- db $01
- dw TileData_172f0
-
-TileData_1727b: ; 0x1727b
- db $01
- dw TileData_172fc
-
-TileData_1727e: ; 0x1727e
- db $01
- dw TileData_17308
-
-TileData_17281: ; 0x17281
- db $01
- dw TileData_17314
-
-TileData_17284: ; 0x17284
- db $01
- dw TileData_17320
-
-TileData_17287: ; 0x17287
- db $01
- dw TileData_1732c
-
-TileData_1728a: ; 0x1728a
- db $01
- dw TileData_17338
-
-TileData_1728d: ; 0x1728d
- db $01
- dw TileData_17344
-
-TileData_17290: ; 0x17290
- db $01
- dw TileData_17350
-
-TileData_17293: ; 0x17293
- db $01
- dw TileData_1735c
-
-TileData_17296: ; 0x17296
- db $01
- dw TileData_17368
-
-TileData_17299: ; 0x17299
- db $01
- dw TileData_17374
-
-TileData_1729c: ; 0x1729c
- db $01
- dw TileData_17380
-
-TileData_1729f: ; 0x1729f
- db $01
- dw TileData_1738c
-
-TileData_172a2: ; 0x172a2
- db $01
- dw TileData_17398
-
-TileData_172a5: ; 0x172a5
- db $01
- dw TileData_173a4
-
-TileData_172a8: ; 0x172a8
- db $01
- dw TileData_173b0
-
-TileData_172ab: ; 0x172ab
- db $01
- dw TileData_173bc
-
-TileData_172ae: ; 0x172ae
- db $01
- dw TileData_173c8
-
-TileData_172b1: ; 0x172b1
- db $01
- dw TileData_173d4
-
-TileData_172b4: ; 0x172b4
- db $01
- dw TileData_173e0
-
-TileData_172b7: ; 0x172b7
- db $01
- dw TileData_173ec
-
-TileData_172ba: ; 0x172ba
- db $01
- dw TileData_173f8
-
-TileData_172bd: ; 0x172bd
- db $01
- dw TileData_17404
-
-TileData_172c0: ; 0x172c0
- db $01
- dw TileData_17410
-
-TileData_172c3: ; 0x172c3
- db $01
- dw TileData_1741c
-
-TileData_172c6: ; 0x172c6
- db $01
- dw TileData_17428
-
-TileData_172c9: ; 0x172c9
- db $01
- dw TileData_17434
-
-TileData_172cc: ; 0x172cc
- db $01
- dw TileData_17440
-
-TileData_172cf: ; 0x172cf
- db $01
- dw TileData_1744c
-
-TileData_172d2: ; 0x172d2
- db $01
- dw TileData_17458
-
-TileData_172d5: ; 0x172d5
- db $01
- dw TileData_17464
-
-TileData_172d8: ; 0x172d8
- db $01
- dw TileData_17470
-
-TileData_172db: ; 0x172db
- db $01
- dw TileData_1747c
-
-TileData_172de: ; 0x172de
- db $01
- dw TileData_17488
-
-TileData_172e1: ; 0x172e1
- db $01
- dw TileData_17494
-
-TileData_172e4: ; 0x172e4
- db $01
- dw TileData_174a0
-
-TileData_172e7: ; 0x172e7
- db $01
- dw TileData_174ac
-
-TileData_172ea: ; 0x172ea
- db $01
- dw TileData_174b8
-
-TileData_172ed: ; 0x172ed
- db $01
- dw TileData_174c4
-
-TileData_172f0: ; 0x172f0
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $40
-
- db $01
- dw vBGMap + $24
- db $41
-
- db $00
-
-TileData_172fc: ; 0x172fc
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $42
-
- db $01
- dw vBGMap + $24
- db $43
-
- db $00
-
-TileData_17308: ; 0x17308
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $44
-
- db $01
- dw vBGMap + $24
- db $45
-
- db $00
-
-TileData_17314: ; 0x17314
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $46
-
- db $01
- dw vBGMap + $24
- db $47
-
- db $00
-
-TileData_17320: ; 0x17320
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $48
-
- db $01
- dw vBGMap + $24
- db $49
-
- db $00
-
-TileData_1732c: ; 0x1732c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $4A
-
- db $01
- dw vBGMap + $24
- db $4B
-
- db $00
-
-TileData_17338: ; 0x17338
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $4C
-
- db $01
- dw vBGMap + $24
- db $4D
-
- db $00
-
-TileData_17344: ; 0x17344
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $4E
-
- db $01
- dw vBGMap + $24
- db $4F
-
- db $00
-
-TileData_17350: ; 0x17350
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $50
-
- db $01
- dw vBGMap + $24
- db $51
-
- db $00
-
-TileData_1735c: ; 0x1735c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $52
-
- db $01
- dw vBGMap + $24
- db $53
-
- db $00
-
-TileData_17368: ; 0x17368
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $2C
-
- db $01
- dw vBGMap + $24
- db $2D
-
- db $00
-
-TileData_17374: ; 0x17374
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $2E
-
- db $01
- dw vBGMap + $24
- db $2F
-
- db $00
-
-TileData_17380: ; 0x17380
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $30
-
- db $01
- dw vBGMap + $24
- db $31
-
- db $00
-
-TileData_1738c: ; 0x1738c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $32
-
- db $01
- dw vBGMap + $24
- db $33
-
- db $00
-
-TileData_17398: ; 0x17398
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $34
-
- db $01
- dw vBGMap + $24
- db $35
-
- db $00
-
-TileData_173a4: ; 0x173a4
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $36
-
- db $01
- dw vBGMap + $24
- db $37
-
- db $00
-
-TileData_173b0: ; 0x173b0
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $38
-
- db $01
- dw vBGMap + $24
- db $39
-
- db $00
-
-TileData_173bc: ; 0x173bc
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $3A
-
- db $01
- dw vBGMap + $24
- db $3B
-
- db $00
-
-TileData_173c8: ; 0x173c8
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $3C
-
- db $01
- dw vBGMap + $24
- db $3D
-
- db $00
-
-TileData_173d4: ; 0x173d4
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $3E
-
- db $01
- dw vBGMap + $24
- db $3F
-
- db $00
-
-TileData_173e0: ; 0x173e0
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $68
-
- db $01
- dw vBGMap + $2F
- db $69
-
- db $00
-
-TileData_173ec: ; 0x173ec
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $6A
-
- db $01
- dw vBGMap + $2F
- db $6B
-
- db $00
-
-TileData_173f8: ; 0x173f8
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $6C
-
- db $01
- dw vBGMap + $2F
- db $6D
-
- db $00
-
-TileData_17404: ; 0x17404
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $6E
-
- db $01
- dw vBGMap + $2F
- db $6F
-
- db $00
-
-TileData_17410: ; 0x17410
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $70
-
- db $01
- dw vBGMap + $2F
- db $71
-
- db $00
-
-TileData_1741c: ; 0x1741c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $72
-
- db $01
- dw vBGMap + $2F
- db $73
-
- db $00
-
-TileData_17428: ; 0x17428
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $74
-
- db $01
- dw vBGMap + $2F
- db $75
-
- db $00
-
-TileData_17434: ; 0x17434
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $76
-
- db $01
- dw vBGMap + $2F
- db $77
-
- db $00
-
-TileData_17440: ; 0x17440
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $78
-
- db $01
- dw vBGMap + $2F
- db $79
-
- db $00
-
-TileData_1744c: ; 0x1744c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $7A
-
- db $01
- dw vBGMap + $2F
- db $7B
-
- db $00
-
-TileData_17458: ; 0x17458
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $54
-
- db $01
- dw vBGMap + $2F
- db $55
-
- db $00
-
-TileData_17464: ; 0x17464
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $56
-
- db $01
- dw vBGMap + $2F
- db $57
-
- db $00
-
-TileData_17470: ; 0x17470
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $58
-
- db $01
- dw vBGMap + $2F
- db $59
-
- db $00
-
-TileData_1747c: ; 0x1747c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $5A
-
- db $01
- dw vBGMap + $2F
- db $5B
-
- db $00
-
-TileData_17488: ; 0x17488
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $5C
-
- db $01
- dw vBGMap + $2F
- db $5D
-
- db $00
-
-TileData_17494: ; 0x17494
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $5E
-
- db $01
- dw vBGMap + $2F
- db $5F
-
- db $00
-
-TileData_174a0: ; 0x174a0
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $60
-
- db $01
- dw vBGMap + $2F
- db $61
-
- db $00
-
-TileData_174ac: ; 0x174ac
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $62
-
- db $01
- dw vBGMap + $2F
- db $63
-
- db $00
-
-TileData_174b8: ; 0x174b8
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $64
-
- db $01
- dw vBGMap + $2F
- db $65
-
- db $00
-
-TileData_174c4: ; 0x174c4
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $66
-
- db $01
- dw vBGMap + $2F
- db $67
-
- db $00
+INCLUDE "data/queued_tiledata/red_field/bonus_multiplier_railings.asm"
Func_174d0: ; 0x174d0
call Func_174ea
diff --git a/engine/pinball_game/object_collision/seel_bonus_object_collision.asm b/engine/pinball_game/object_collision/seel_bonus_object_collision.asm index e702dd2..e702dd2 100755..100644 --- a/engine/pinball_game/object_collision/seel_bonus_object_collision.asm +++ b/engine/pinball_game/object_collision/seel_bonus_object_collision.asm diff --git a/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm index 48dbde4..48dbde4 100755..100644 --- a/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm diff --git a/engine/pinball_game/save_game.asm b/engine/pinball_game/save_game.asm index 644abb3..1d2f539 100755..100644 --- a/engine/pinball_game/save_game.asm +++ b/engine/pinball_game/save_game.asm @@ -13,7 +13,7 @@ SaveGame: ; 0xda05 ld hl, rIE
res 1, [hl]
xor a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld a, SCREEN_TITLESCREEN
ld [wCurrentScreen], a
xor a
diff --git a/engine/pinball_game/score.asm b/engine/pinball_game/score.asm index 4cd4695..4cd4695 100755..100644 --- a/engine/pinball_game/score.asm +++ b/engine/pinball_game/score.asm diff --git a/engine/pinball_game/slot.asm b/engine/pinball_game/slot.asm index 2378de0..ab84c61 100755..100644 --- a/engine/pinball_game/slot.asm +++ b/engine/pinball_game/slot.asm @@ -264,7 +264,7 @@ SlotRewardPikachuSaver: ; 0xef83 ret
SlotRewardBonusMultiplier: ; 0xefa7
- callba IncrementBonusMultiplier
+ callba IncrementBonusMultiplierFromFieldEvent
ret
SlotRewardSmallPoints: ; 0xefb2
@@ -450,12 +450,12 @@ SlotBonusMultiplier: ; 0xf0c1 xor a
ld [wd611], a
ld [wd612], a
- ld a, [wd482]
+ ld a, [wCurBonusMultiplier]
call .DivideBy25
ld b, c
ld a, [wCurSlotBonus]
inc a
- ld hl, wd482
+ ld hl, wCurBonusMultiplier
add [hl]
cp 100
jr c, .asm_f113
@@ -465,11 +465,11 @@ SlotBonusMultiplier: ; 0xf0c1 call .DivideBy25
ld a, c
cp b
- callba nz, IncrementBonusMultiplier
- callba Func_16f95
- ld a, [wd60c]
+ callba nz, IncrementBonusMultiplierFromFieldEvent
+ callba GetBCDForNextBonusMultiplier_RedField
+ ld a, [wBonusMultiplierTensDigit]
callba Func_f154 ; no need for BankSwitch here...
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
add $14
callba Func_f154 ; no need for BankSwitch here...
ret
@@ -487,12 +487,12 @@ Func_f154: ; 0xf154 ld a, [wCurrentStage]
call CallInFollowingTable
CallTable_f15a: ; 0xf15a
- padded_dab Func_16f28
- padded_dab Func_16f28
- padded_dab Func_16f28
- padded_dab Func_16f28
- padded_dab Func_1d5f2
- padded_dab Func_1d5f2
+ padded_dab LoadBonusMultiplierRailingGraphics_RedField
+ padded_dab LoadBonusMultiplierRailingGraphics_RedField
+ padded_dab LoadBonusMultiplierRailingGraphics_RedField
+ padded_dab LoadBonusMultiplierRailingGraphics_RedField
+ padded_dab LoadBonusMultiplierRailingGraphics_BlueField
+ padded_dab LoadBonusMultiplierRailingGraphics_BlueField
SlotRewardGoToBonusStage: ; 0xf172
ld a, $1
diff --git a/engine/pinball_game/stage_collision_attributes.asm b/engine/pinball_game/stage_collision_attributes.asm index 80ff582..80ff582 100755..100644 --- a/engine/pinball_game/stage_collision_attributes.asm +++ b/engine/pinball_game/stage_collision_attributes.asm diff --git a/engine/pinball_game/stage_init/init_blue_field.asm b/engine/pinball_game/stage_init/init_blue_field.asm index 4b166b6..747d1af 100755..100644 --- 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 [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld [wd4c9], a
ld [wBallType], a
ld [wd4c8], a
@@ -24,7 +24,7 @@ InitBlueField: ; 0x1c000 ld [wCurrentMap], a ; PALLET_TOWN
ld a, $1
ld [wd49d], a
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
ld a, $2
ld [wRightAlleyCount], a
ld a, $3
@@ -47,7 +47,7 @@ InitBlueField: ; 0x1c000 ld [wd645], a
ld [wd646], a
callba Start20SecondSaverTimer
- callba Func_1d65f
+ callba GetBCDForNextBonusMultiplier_BlueField
ld a, $10
call SetSongBank
ld de, $0001
diff --git a/engine/pinball_game/stage_init/init_diglett_bonus.asm b/engine/pinball_game/stage_init/init_diglett_bonus.asm index a04b201..a04b201 100755..100644 --- a/engine/pinball_game/stage_init/init_diglett_bonus.asm +++ b/engine/pinball_game/stage_init/init_diglett_bonus.asm diff --git a/engine/pinball_game/stage_init/init_gengar_bonus.asm b/engine/pinball_game/stage_init/init_gengar_bonus.asm index 357de1c..357de1c 100755..100644 --- a/engine/pinball_game/stage_init/init_gengar_bonus.asm +++ b/engine/pinball_game/stage_init/init_gengar_bonus.asm diff --git a/engine/pinball_game/stage_init/init_meowth_bonus.asm b/engine/pinball_game/stage_init/init_meowth_bonus.asm index 178c90c..178c90c 100755..100644 --- a/engine/pinball_game/stage_init/init_meowth_bonus.asm +++ b/engine/pinball_game/stage_init/init_meowth_bonus.asm diff --git a/engine/pinball_game/stage_init/init_mewtwo_bonus.asm b/engine/pinball_game/stage_init/init_mewtwo_bonus.asm index 26410e3..26410e3 100755..100644 --- a/engine/pinball_game/stage_init/init_mewtwo_bonus.asm +++ b/engine/pinball_game/stage_init/init_mewtwo_bonus.asm diff --git a/engine/pinball_game/stage_init/init_red_field.asm b/engine/pinball_game/stage_init/init_red_field.asm index b691d69..ba8d1f8 100755..100644 --- 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 [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld [wd4c9], a
ld [wBallType], a
ld [wd4c8], a
@@ -24,7 +24,7 @@ InitRedField: ; 0x30000 ld [wCurrentMap], a ; PALLET_TOWN
ld a, $1
ld [wd49d], a
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
ld a, $2
ld [wRightAlleyCount], a
ld a, $3
@@ -41,7 +41,7 @@ InitRedField: ; 0x30000 ld a, $82
ld [wIndicatorStates + 1], a
callba Start20SecondSaverTimer
- callba Func_16f95
+ callba GetBCDForNextBonusMultiplier_RedField
ld a, $f
call SetSongBank
ld de, $0001
diff --git a/engine/pinball_game/stage_init/init_seel_bonus.asm b/engine/pinball_game/stage_init/init_seel_bonus.asm index ee51417..ee51417 100755..100644 --- a/engine/pinball_game/stage_init/init_seel_bonus.asm +++ b/engine/pinball_game/stage_init/init_seel_bonus.asm diff --git a/engine/pinball_game/stage_init/init_stages.asm b/engine/pinball_game/stage_init/init_stages.asm index 1d4ba78..1d4ba78 100755..100644 --- a/engine/pinball_game/stage_init/init_stages.asm +++ b/engine/pinball_game/stage_init/init_stages.asm diff --git a/engine/pinball_game/stage_init/init_unused_stage.asm b/engine/pinball_game/stage_init/init_unused_stage.asm index ee02abc..4e48eae 100755..100644 --- 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 [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld [wd4c9], a
ld a, $1
ld [wd49d], a
diff --git a/engine/pinball_game/timer.asm b/engine/pinball_game/timer.asm index 49afcee..49afcee 100755..100644 --- a/engine/pinball_game/timer.asm +++ b/engine/pinball_game/timer.asm diff --git a/engine/pinball_game/vertical_screen_transition.asm b/engine/pinball_game/vertical_screen_transition.asm index 81203d5..94290f2 100755..100644 --- a/engine/pinball_game/vertical_screen_transition.asm +++ b/engine/pinball_game/vertical_screen_transition.asm @@ -1,14 +1,14 @@ FieldVerticalTransition: ; 0xe674
push af
- ld a, [wd548]
+ ld a, [wPinballIsVisible]
push af
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld [wd803], a
callba DrawSpritesForStage
call CleanOAMBuffer
pop af
- ld [wd548], a
+ ld [wPinballIsVisible], a
pop af
ld [wCurrentStage], a
xor a
diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 7f7eddd..8251d03 100755..100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -831,11 +831,11 @@ Func_28513: ; 0x28513 Func_285ca: ; 0x285ca
xor a
- ld [wd80a], a
+ ld [wPressedButtonsPersistent], a
call Func_28972
call Func_28a8a
call Func_28ad1
- ld a, [wd80a]
+ ld a, [wPressedButtonsPersistent]
ret
Func_285db: ; 0x285db
diff --git a/engine/pokedex/variable_width_font_character.asm b/engine/pokedex/variable_width_font_character.asm index 9dba2d8..9dba2d8 100755..100644 --- a/engine/pokedex/variable_width_font_character.asm +++ b/engine/pokedex/variable_width_font_character.asm diff --git a/engine/select_gameboy_target_menu.asm b/engine/select_gameboy_target_menu.asm index 3f18b60..3f18b60 100755..100644 --- a/engine/select_gameboy_target_menu.asm +++ b/engine/select_gameboy_target_menu.asm diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index 057e937..057e937 100755..100644 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm |