From c827f6c46fd5190221f01b2ff2f1181bcb6f7738 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 8 Jul 2017 12:23:29 -0700 Subject: Label Bonus Multiplier stuff --- .../ball_init/ball_init_blue_field.asm | 4 +- .../pinball_game/ball_init/ball_init_red_field.asm | 4 +- .../ball_loss/ball_loss_blue_field.asm | 4 +- .../pinball_game/ball_loss/ball_loss_red_field.asm | 4 +- engine/pinball_game/bonus_multiplier.asm | 12 +- engine/pinball_game/catchem_mode.asm | 2 +- engine/pinball_game/end_of_ball_bonus.asm | 6 +- .../load_stage_data/load_blue_field.asm | 8 +- .../load_stage_data/load_red_field.asm | 8 +- .../blue_stage_resolve_collision.asm | 1427 ++------------------ .../red_stage_resolve_collision.asm | 1413 +------------------ engine/pinball_game/slot.asm | 26 +- engine/pinball_game/stage_init/init_blue_field.asm | 6 +- engine/pinball_game/stage_init/init_red_field.asm | 6 +- .../pinball_game/stage_init/init_unused_stage.asm | 2 +- 15 files changed, 197 insertions(+), 2735 deletions(-) (limited to 'engine') 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 b265880..ce27573 100644 --- a/engine/pinball_game/ball_init/ball_init_blue_field.asm +++ b/engine/pinball_game/ball_init/ball_init_blue_field.asm @@ -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_red_field.asm b/engine/pinball_game/ball_init/ball_init_red_field.asm index 4ae79bf..a9a8a1a 100644 --- a/engine/pinball_game/ball_init/ball_init_red_field.asm +++ b/engine/pinball_game/ball_init/ball_init_red_field.asm @@ -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_loss/ball_loss_blue_field.asm b/engine/pinball_game/ball_loss/ball_loss_blue_field.asm index e9a83fb..bdde203 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 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 e219fbc..31f6b4c 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 diff --git a/engine/pinball_game/bonus_multiplier.asm b/engine/pinball_game/bonus_multiplier.asm index dfd4a20..d286be3 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 7dbe8f9..62dde4b 100644 --- a/engine/pinball_game/catchem_mode.asm +++ b/engine/pinball_game/catchem_mode.asm @@ -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] diff --git a/engine/pinball_game/end_of_ball_bonus.asm b/engine/pinball_game/end_of_ball_bonus.asm index 8afdf54..c2750db 100644 --- a/engine/pinball_game/end_of_ball_bonus.asm +++ b/engine/pinball_game/end_of_ball_bonus.asm @@ -181,7 +181,7 @@ Func_f676: ; 0xf676 ld hl, TotalPointsText call PrintTextNoHeader 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/load_stage_data/load_blue_field.asm b/engine/pinball_game/load_stage_data/load_blue_field.asm index be4ffe0..4dcd2df 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 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..1464b82 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 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 1cabbd8..512e81e 100644 --- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm @@ -1699,7 +1699,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 @@ -1845,7 +1845,7 @@ ResolveSlowpokeCollision: ; 0x1d216 ret nc ld c, $19 call Modulo_C - callba z, IncrementBonusMultiplier + callba z, IncrementBonusMultiplierFromFieldEvent ret .asm_1d2b6 @@ -1967,7 +1967,7 @@ ResolveCloysterCollision: ; 0x1d32d ret nc ld c, $19 call Modulo_C - callba z, IncrementBonusMultiplier + callba z, IncrementBonusMultiplierFromFieldEvent ret .asm_1d3cb @@ -2027,14 +2027,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 +2044,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 +2056,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 +2071,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 +2085,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 +2140,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 +2164,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 +2190,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 +2232,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 +2261,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 +2280,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 +2298,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,1287 +2359,19 @@ 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] @@ -3910,7 +2645,7 @@ Func_1ddc7: ; 0x1ddc7 jr nc, .asm_1dde4 ld c, $a call Modulo_C - callba z, IncrementBonusMultiplier + callba z, IncrementBonusMultiplierFromFieldEvent .asm_1dde4 xor a ld [wd55a], a @@ -3926,7 +2661,7 @@ Func_1ddf4: ; 0x1ddf4 jr nc, .asm_1de11 ld c, $a call Modulo_C - callba z, IncrementBonusMultiplier + callba z, IncrementBonusMultiplierFromFieldEvent .asm_1de11 ld a, $1 ld [wd55a], a diff --git a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm index ac5ead8..1076c19 100644 --- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm @@ -132,7 +132,7 @@ BgTileData_1472f: Func_14733: ; 0x14733 ld c, $0 - ld a, [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 @@ -426,7 +426,7 @@ Func_14920: ; 0x14920 jr nc, .asm_14937 ld c, $a call Modulo_C - callba z, IncrementBonusMultiplier + callba z, IncrementBonusMultiplierFromFieldEvent .asm_14937 ld a, $1 ld [wd55a], a @@ -439,7 +439,7 @@ Func_14947: ; 0x14947 jr nc, .asm_1495e ld c, $a call Modulo_C - callba z, IncrementBonusMultiplier + callba z, IncrementBonusMultiplierFromFieldEvent .asm_1495e xor a ld [wd55a], a @@ -4515,7 +4515,7 @@ ResolveBellsproutCollision: ; 0x15e93 ret nc ld c, $19 call Modulo_C - callba z, IncrementBonusMultiplier + callba z, IncrementBonusMultiplierFromFieldEvent ret .asm_15f35 @@ -5686,7 +5686,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 @@ -7070,14 +7070,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 +7087,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 +7104,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 +7157,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 +7181,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 +7207,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 +7249,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 +7278,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 +7297,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 +7315,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 +7351,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 +7367,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/slot.asm b/engine/pinball_game/slot.asm index 2086c28..e130b7a 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_init/init_blue_field.asm b/engine/pinball_game/stage_init/init_blue_field.asm index 4b166b6..747d1af 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_red_field.asm b/engine/pinball_game/stage_init/init_red_field.asm index b691d69..ba8d1f8 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_unused_stage.asm b/engine/pinball_game/stage_init/init_unused_stage.asm index ee02abc..4e48eae 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 -- cgit v1.2.3