From da545c36093c11ce095038b2ecbee00e8396bc1c Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 3 Jul 2017 15:28:45 -0700 Subject: Label all Ball Bonus things --- .../ball_init/ball_init_blue_field.asm | 20 +-- .../pinball_game/ball_init/ball_init_red_field.asm | 12 +- engine/pinball_game/catchem_mode.asm | 12 +- engine/pinball_game/end_of_ball_bonus.asm | 165 +++++++++++---------- .../blue_stage_resolve_collision.asm | 54 +++---- .../red_stage_resolve_collision.asm | 32 ++-- 6 files changed, 152 insertions(+), 143 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 e051c5b..6077231 100755 --- a/engine/pinball_game/ball_init/ball_init_blue_field.asm +++ b/engine/pinball_game/ball_init/ball_init_blue_field.asm @@ -39,16 +39,16 @@ InitBallBlueField: ; 0x1c08d ld [wBallType], a ld [wd611], a ld [wd612], a - ld [wd628], a - ld [wd629], a - ld [wd62a], a - ld [wd62b], a - ld [wd62c], a - ld [wd63a], a - ld [wd63b], a - ld [wd63d], a - ld [wd63c], a - ld [wd62d], a + ld [wNumPokemonCaughtInBallBonus], a + ld [wNumPokemonEvolvedInBallBonus], a + ld [wNumBellsproutEntries], a + ld [wNumDugtrioTriples], a + ld [wNumCAVECompletions], a + ld [wNumSlowpokeEntries], a + ld [wNumCloysterEntries], a + ld [wNumPoliwagTriples], a + ld [wNumPsyduckTriples], a + ld [wNumSpinnerTurns], a ld [wd62e], a ld [wd613], a inc a 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 8c91b6a..09c715b 100755 --- a/engine/pinball_game/ball_init/ball_init_red_field.asm +++ b/engine/pinball_game/ball_init/ball_init_red_field.asm @@ -48,12 +48,12 @@ InitBallRedField: ; 0x3007d ld [wBallType], a ld [wd611], a ld [wd612], a - ld [wd628], a - ld [wd629], a - ld [wd62a], a - ld [wd62b], a - ld [wd62c], a - ld [wd62d], a + ld [wNumPokemonCaughtInBallBonus], a + ld [wNumPokemonEvolvedInBallBonus], a + ld [wNumBellsproutEntries], a + ld [wNumDugtrioTriples], a + ld [wNumCAVECompletions], a + ld [wNumSpinnerTurns], a ld [wd62e], a ld [wd613], a inc a diff --git a/engine/pinball_game/catchem_mode.asm b/engine/pinball_game/catchem_mode.asm index 83a1dfa..03ae11d 100755 --- a/engine/pinball_game/catchem_mode.asm +++ b/engine/pinball_game/catchem_mode.asm @@ -802,13 +802,13 @@ CapturePokemon: ; 0x1052d call ConcludeCatchEmMode ld de, $0001 call PlaySong - ld hl, wd628 - call Func_e4a - jr nc, .asm_105d1 + ld hl, wNumPokemonCaughtInBallBonus + call Increment_Max100 + jr nc, .notMaxed ld c, $a - call Func_e55 - callba z, IncrementBonusMultiplier -.asm_105d1 + call Modulo_C + callba z, IncrementBonusMultiplier ; increments bonus multiplier every 10 pokemon caught +.notMaxed call SetPokemonOwnedFlag ld a, [wd624] cp $3 diff --git a/engine/pinball_game/end_of_ball_bonus.asm b/engine/pinball_game/end_of_ball_bonus.asm index d1a4071..86fdc3d 100755 --- a/engine/pinball_game/end_of_ball_bonus.asm +++ b/engine/pinball_game/end_of_ball_bonus.asm @@ -8,7 +8,7 @@ EndOfBallBonus: ; 0xf533 ld [hLYC], a ld a, $fd ld [hLCDCMask], a - call Func_f5a0 + call ShowBallBonusSummary ld a, $90 ld [hWY], a ld a, $83 @@ -58,7 +58,7 @@ Func_f57f: ; 0xf57f call LoadVRAMData ret -Func_f5a0: ; 0xf5a0 +ShowBallBonusSummary: ; 0xf5a0 ld de, wBottomMessageText + $40 ld hl, BonusPointsText call PrintTextNoHeader @@ -71,9 +71,9 @@ Func_f5a0: ; 0xf5a0 call ClearBCD6Buffer ld a, $1 ld [wd4ab], a - call ValidateSignature6 - call Func_f64e - call Func_f60a + call HandleNumPokemonCaughtBallBonus + call HandleNumPokemonEvolvedBallBonus + call HandleBallBonusForCurrentField call Func_f676 ld a, $1 ld [wd4ab], a @@ -94,27 +94,27 @@ Func_f5a0: ; 0xf5a0 ld bc, $0040 ld de, $0000 call Func_f80d -.asm_f602 +.waitForAPress rst AdvanceFrame ld a, [hNewlyPressedButtons] bit BIT_A_BUTTON, a - jr z, .asm_f602 + jr z, .waitForAPress ret -Func_f60a: ; 0xf60a +HandleBallBonusForCurrentField: ; 0xf60a ld a, [wCurrentStage] rst JumpTable ; calls JumpToFuncInTable CallTable_f60d: ; 0xf60d ; STAGE_RED_FIELD_TOP - dw Func_f945 + dw HandleBallBonusRedField ; STAGE_RED_FIELD_BOTTOM - dw Func_f945 + dw HandleBallBonusRedField dw DoNothing_f9f2 dw DoNothing_f9f2 ; STAGE_BLUE_FIELD_TOP - dw Func_f9f3 + dw HandleBallBonusBlueField ; STAGE_BLUE_FIELD_BOTTOM - dw Func_f9f3 + dw HandleBallBonusBlueField ; STAGE_GENGAR_BONUS dw DoNothing_faf6 ; STAGE_GENGAR_BONUS @@ -128,34 +128,34 @@ CallTable_f60d: ; 0xf60d ; STAGE_MEOWTH_BONUS dw DoNothing_faf8 -ValidateSignature6: ; 0xf626 +HandleNumPokemonCaughtBallBonus: ; 0xf626 ld de, wBottomMessageText + $01 ld hl, NumPokemonCaughtText call PrintTextNoHeader ld hl, wBottomMessageText + $01 - ld a, [wd628] + ld a, [wNumPokemonCaughtInBallBonus] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd628 - ld de, PointsData_f921 + ld hl, wNumPokemonCaughtInBallBonus + ld de, PointsPerPokemonCaught call Func_f853 call Func_f824 ret -Func_f64e: ; 0xf64e +HandleNumPokemonEvolvedBallBonus: ; 0xf64e ld de, wBottomMessageText ld hl, NumPokemonEvolvedText call PrintTextNoHeader ld hl, wBottomMessageText - ld a, [wd629] + ld a, [wNumPokemonEvolvedInBallBonus] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd629 - ld de, PointsData_f927 + ld hl, wNumPokemonEvolvedInBallBonus + ld de, PointsPerPokemonEvolved call Func_f853 call Func_f824 ret @@ -568,86 +568,95 @@ x = x + 1 endr ret -PointsData_f921: ; 0xf921 +PointsPerPokemonCaught: ; 0xf921 bigBCD6 50000 -PointsData_f927: ; 0xf927 + +PointsPerPokemonEvolved: ; 0xf927 bigBCD6 75000 -PointsData_f92d: ; 0xf92d + +PointsPerBellsproutEntry: ; 0xf92d +PointsPerCloysterEntry: +PointsPerSlowpokeEntry: bigBCD6 7500 -PointsData_f933: ; 0xf933 + +PointsPerPoliwagTriple: ; 0xf933 +PointsPerPsyduckTriple: +PointsPerDugtrioTriple: bigBCD6 5000 -PointsData_f939: ; 0xf939 + +PointsPerCAVECompletion: ; 0xf939 bigBCD6 2500 -PointsData_f93f: ; 0xf93f + +PointsPerSpinnerTurn: ; 0xf93f bigBCD6 1000 -Func_f945: ; 0xf945 - call Func_f952 - call Func_f97a - call Func_f9a2 - call Func_f9ca +HandleBallBonusRedField: ; 0xf945 + call HandleBellsproutEntriesBallBonus + call HandleDugtrioTriplesBallBonus + call HandleCAVECompletionsBallBonus_RedField + call HandleSpinnerTurnsBallBonus_RedField ret -Func_f952: ; 0xf952 +HandleBellsproutEntriesBallBonus: ; 0xf952 ld de, wBottomMessageText + $03 ld hl, BellsproutCounterText call PrintTextNoHeader ld hl, wBottomMessageText + $03 - ld a, [wd62a] + ld a, [wNumBellsproutEntries] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd62a - ld de, PointsData_f92d + ld hl, wNumBellsproutEntries + ld de, PointsPerBellsproutEntry call Func_f853 call Func_f824 ret -Func_f97a: ; 0xf97a +HandleDugtrioTriplesBallBonus: ; 0xf97a ld de, wBottomMessageText + $04 ld hl, DugtrioCounterText call PrintTextNoHeader ld hl, wBottomMessageText + $04 - ld a, [wd62b] + ld a, [wNumDugtrioTriples] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd62b - ld de, PointsData_f933 + ld hl, wNumDugtrioTriples + ld de, PointsPerDugtrioTriple call Func_f853 call Func_f824 ret -Func_f9a2: ; 0xf9a2 +HandleCAVECompletionsBallBonus_RedField: ; 0xf9a2 ld de, wBottomMessageText + $03 ld hl, CaveShotCounterText call PrintTextNoHeader ld hl, wBottomMessageText + $03 - ld a, [wd62c] + ld a, [wNumCAVECompletions] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd62c - ld de, PointsData_f939 + ld hl, wNumCAVECompletions + ld de, PointsPerCAVECompletion call Func_f853 call Func_f824 ret -Func_f9ca: ; 0xf9ca +HandleSpinnerTurnsBallBonus_RedField: ; 0xf9ca ld de, wBottomMessageText + $01 ld hl, SpinnerTurnsCounterText call PrintTextNoHeader ld hl, wBottomMessageText + $01 - ld a, [wd62d] + ld a, [wNumSpinnerTurns] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd62d - ld de, PointsData_f93f + ld hl, wNumSpinnerTurns + ld de, PointsPerSpinnerTurn call Func_f853 call Func_f824 ret @@ -655,107 +664,107 @@ Func_f9ca: ; 0xf9ca DoNothing_f9f2: ; 0xf9f2 ret -Func_f9f3: ; 0xf9f3 - call Func_fa06 - call Func_fa2e - call Func_fa56 - call Func_fa7e - call Func_faa6 - call Func_face +HandleBallBonusBlueField: ; 0xf9f3 + call HandleCloysterEntriesBallBonus + call HandleSlowpokeEntriesBallBonus + call HandlePoliwagTriplesBallBonus + call HandlePsyduckTriplesBallBonus + call HandleCAVECompletionsBallBonus_BlueField + call HandleSpinnerTurnsBallBonus_BlueField ret -Func_fa06: ; 0xfa06 +HandleCloysterEntriesBallBonus: ; 0xfa06 ld de, wBottomMessageText + $04 ld hl, CloysterCounterText call PrintTextNoHeader ld hl, wBottomMessageText + $04 - ld a, [wd63b] + ld a, [wNumCloysterEntries] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd63b - ld de, PointsData_f92d + ld hl, wNumCloysterEntries + ld de, PointsPerCloysterEntry call Func_f853 call Func_f824 ret -Func_fa2e: ; 0xfa2e +HandleSlowpokeEntriesBallBonus: ; 0xfa2e ld de, wBottomMessageText + $04 ld hl, SlowpokeCounterText call PrintTextNoHeader ld hl, wBottomMessageText + $04 - ld a, [wd63a] + ld a, [wNumSlowpokeEntries] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd63a - ld de, PointsData_f92d + ld hl, wNumSlowpokeEntries + ld de, PointsPerSlowpokeEntry call Func_f853 call Func_f824 ret -Func_fa56: ; 0xfa56 +HandlePoliwagTriplesBallBonus: ; 0xfa56 ld de, wBottomMessageText + $04 ld hl, PoliwagCounterText call PrintTextNoHeader ld hl, wBottomMessageText + $04 - ld a, [wd63d] + ld a, [wNumPoliwagTriples] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd63d - ld de, PointsData_f933 + ld hl, wNumPoliwagTriples + ld de, PointsPerPoliwagTriple call Func_f853 call Func_f824 ret -Func_fa7e: ; 0xfa7e +HandlePsyduckTriplesBallBonus: ; 0xfa7e ld de, wBottomMessageText + $04 ld hl, PsyduckCounterText call PrintTextNoHeader ld hl, wBottomMessageText + $04 - ld a, [wd63c] + ld a, [wNumPsyduckTriples] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd63c - ld de, PointsData_f933 + ld hl, wNumPsyduckTriples + ld de, PointsPerPsyduckTriple call Func_f853 call Func_f824 ret -Func_faa6: ; 0xfaa6 +HandleCAVECompletionsBallBonus_BlueField: ; 0xfaa6 ld de, wBottomMessageText + $03 ld hl, CaveShotCounterText call PrintTextNoHeader ld hl, wBottomMessageText + $03 - ld a, [wd62c] + ld a, [wNumCAVECompletions] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd62c - ld de, PointsData_f939 + ld hl, wNumCAVECompletions + ld de, PointsPerCAVECompletion call Func_f853 call Func_f824 ret -Func_face: ; 0xface :) +HandleSpinnerTurnsBallBonus_BlueField: ; 0xface :) ld de, wBottomMessageText + $01 ld hl, SpinnerTurnsCounterText call PrintTextNoHeader ld hl, wBottomMessageText + $01 - ld a, [wd62d] + ld a, [wNumSpinnerTurns] call Func_f78e ld bc, $0040 ld de, $0000 call Func_f80d - ld hl, wd62d - ld de, PointsData_f93f + ld hl, wNumSpinnerTurns + ld de, PointsPerSpinnerTurn call Func_f853 call Func_f824 ret 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 1aaf337..f7d4611 100755 --- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm @@ -458,8 +458,8 @@ Func_1ca85: ; 0x1ca85 ret z ld bc, TenPoints callba AddBigBCD6FromQueueWithBallMultiplier - ld hl, wd62d - call Func_e4a + ld hl, wNumSpinnerTurns + call Increment_Max100 ld a, [wPikachuSaverCharge] cp MAX_PIKACHU_SAVER_CHARGE jr nz, .asm_1caff @@ -1688,10 +1688,10 @@ Func_1d133: ; 0x1d133 ld a, $60 ld [wd804], a ld hl, wd62e - call Func_e4a + call Increment_Max100 jr nc, .asm_1d185 ld c, $a - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier .asm_1d185 lb de, $16, $10 @@ -1831,13 +1831,13 @@ ResolveSlowpokeCollision: ; 0x1d216 ld a, $1 ld [wd642], a .asm_1d299 - ld hl, wd63a - call Func_e4a - ld hl, wd62a - call Func_e4a + ld hl, wNumSlowpokeEntries + call Increment_Max100 + ld hl, wNumBellsproutEntries ; This is an oversight. No need to tally bellsprout. + call Increment_Max100 ret nc ld c, $19 - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier ret @@ -1953,13 +1953,13 @@ ResolveCloysterCollision: ; 0x1d32d ld [wRareMonsFlag], a callba StartCatchEmMode .noCatchEmMode - ld hl, wd63b - call Func_e4a - ld hl, wd62a - call Func_e4a + ld hl, wNumCloysterEntries + call Increment_Max100 + ld hl, wNumBellsproutEntries + call Increment_Max100 ret nc ld c, $19 - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier ret @@ -2090,7 +2090,7 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438 ld [wd482], a jr nc, .asm_1d4e9 ld c, $19 - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier .asm_1d4e9 ld a, [wd60c] @@ -3896,13 +3896,13 @@ Func_1dd2e: ; 0x1dd2e ret Func_1ddc7: ; 0x1ddc7 - ld hl, wd63d - call Func_e4a - ld hl, wd62b - call Func_e4a + ld hl, wNumPoliwagTriples + call Increment_Max100 + ld hl, wNumDugtrioTriples + call Increment_Max100 jr nc, .asm_1dde4 ld c, $a - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier .asm_1dde4 xor a @@ -3912,13 +3912,13 @@ Func_1ddc7: ; 0x1ddc7 ret Func_1ddf4: ; 0x1ddf4 - ld hl, wd63c - call Func_e4a - ld hl, wd62b - call Func_e4a + ld hl, wNumPsyduckTriples + call Increment_Max100 + ld hl, wNumDugtrioTriples + call Increment_Max100 jr nc, .asm_1de11 ld c, $a - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier .asm_1de11 ld a, $1 @@ -5424,8 +5424,8 @@ Func_1e5c5: ; 0x1e5c5 callba AddBigBCD6FromQueueWithBallMultiplier lb de, $00, $09 call PlaySoundEffect - ld hl, wd62c - call Func_e4a + ld hl, wNumCAVECompletions + call Increment_Max100 jr Func_1e627 .asm_1e623 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 ba4f20a..e08497a 100755 --- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm @@ -421,11 +421,11 @@ Func_148cf: ; 0x148cf ret Func_14920: ; 0x14920 - ld hl, wd62b - call Func_e4a + ld hl, wNumDugtrioTriples + call Increment_Max100 jr nc, .asm_14937 ld c, $a - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier .asm_14937 ld a, $1 @@ -434,11 +434,11 @@ Func_14920: ; 0x14920 ret Func_14947: ; 0x14947 - ld hl, wd62b - call Func_e4a + ld hl, wNumDugtrioTriples + call Increment_Max100 jr nc, .asm_1495e ld c, $a - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier .asm_1495e xor a @@ -1435,8 +1435,8 @@ Func_14e10: ; 0x14e10 ret z ld bc, TenPoints callba AddBigBCD6FromQueueWithBallMultiplier - ld hl, wd62d - call Func_e4a + ld hl, wNumSpinnerTurns + call Increment_Max100 ld a, [wPikachuSaverCharge] cp MAX_PIKACHU_SAVER_CHARGE jr nz, .asm_14e8a @@ -2193,8 +2193,8 @@ Func_151cb: ; 0x151cb callba AddBigBCD6FromQueueWithBallMultiplier lb de, $00, $09 call PlaySoundEffect - ld hl, wd62c - call Func_e4a + ld hl, wNumCAVECompletions + call Increment_Max100 jr Func_asm_1522d .asm_15229 @@ -4500,11 +4500,11 @@ ResolveBellsproutCollision: ; 0x15e93 ld [wRareMonsFlag], a callba StartCatchEmMode .noCatchEmMode - ld hl, wd62a - call Func_e4a + ld hl, wNumBellsproutEntries + call Increment_Max100 ret nc ld c, $19 - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier ret @@ -5670,10 +5670,10 @@ Func_1669e: ; 0x1669e ld a, $60 ld [wd804], a ld hl, wd62e - call Func_e4a + call Increment_Max100 jr nc, .asm_166f0 ld c, $a - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier .asm_166f0 lb de, $16, $10 @@ -7104,7 +7104,7 @@ ResolveRedStageBonusMultiplierCollision: ; 016d9d ld [wd482], a jr nc, .asm_16e24 ld c, $19 - call Func_e55 + call Modulo_C callba z, IncrementBonusMultiplier .asm_16e24 ld a, [wd60c] -- cgit v1.2.3