diff options
Diffstat (limited to 'engine/pinball_game/object_collision')
16 files changed, 69 insertions, 68 deletions
diff --git a/engine/pinball_game/object_collision/.gitignore b/engine/pinball_game/object_collision/.gitignore new file mode 100644 index 0000000..2d96ba3 --- /dev/null +++ b/engine/pinball_game/object_collision/.gitignore @@ -0,0 +1 @@ +*.kate-swp 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 01fbbb6..1cabbd8 100755..100644 --- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm @@ -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
@@ -1640,7 +1640,7 @@ ResolveBlueStagePikachuCollision: ; 0x1d0a1 ld [wBallYVelocity + 1], a
ld [wBallSpin], a
ld [wBallRotation], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
call FillBottomMessageBufferWithBlackTile
jr .asm_1d110
@@ -1712,7 +1712,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 +1805,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 +1827,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
@@ -1853,7 +1853,7 @@ ResolveSlowpokeCollision: ; 0x1d216 cp $4
jr nz, .asm_1d2c3
ld a, $1
- ld [wd548], a
+ ld [wPinballIsVisible], a
ret
.asm_1d2c3
@@ -1861,7 +1861,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 +1927,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 +1949,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
@@ -1975,7 +1975,7 @@ ResolveCloysterCollision: ; 0x1d32d cp $4
jr nz, .asm_1d3d8
ld a, $1
- ld [wd548], a
+ ld [wPinballIsVisible], a
ret
.asm_1d3d8
@@ -1983,7 +1983,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
@@ -5753,7 +5753,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 +5788,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 +5843,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 +5891,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
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 303cbe7..303cbe7 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 3a4d7cc..c73bacf 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 9aa3d36..9aa3d36 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 1717126..1717126 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 b60060b..ac5ead8 100755..100644 --- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm @@ -54,10 +54,10 @@ Func_146a2: ; 0x146a2 Func_146a9: ; 0x146a9
ld a, [wBallSaverTimerFrames]
ld hl, wBallSaverTimerSeconds
- or [hl]
+ or [hl] ;if both the number of frames and number of seconds left is 0, skip
ret z
ld a, [wBallXPos + 1]
- cp $9a
+ cp 154 ;if high? Byte of ball X pos is >= 154, jump ahead
jr nc, .asm_146e8
ld a, [wBallSaverTimerFrames]
dec a
@@ -2429,7 +2429,7 @@ TileDataPointers_15325: TileData_1532d: ; 0x1532d
db $01 ; total number of tiles
-
+
db $01 ; number of tiles
dw vBGMap + $121
db $27
@@ -2438,7 +2438,7 @@ TileData_1532d: ; 0x1532d TileData_15333: ; 0x15333
db $01 ; total number of tiles
-
+
db $01 ; number of tiles
dw vBGMap + $123
db $29
@@ -2447,7 +2447,7 @@ TileData_15333: ; 0x15333 TileData_15339: ; 0x15339
db $01 ; total number of tiles
-
+
db $01 ; number of tiles
dw vBGMap + $130
db $7E
@@ -2456,7 +2456,7 @@ TileData_15339: ; 0x15339 TileData_1533f: ; 0x1533f
db $01 ; total number of tiles
-
+
db $01 ; number of tiles
dw vBGMap + $132
db $7F
@@ -2465,7 +2465,7 @@ TileData_1533f: ; 0x1533f TileData_15345: ; 0x15345
db $01 ; total number of tiles
-
+
db $01 ; number of tiles
dw vBGMap + $121
db $26
@@ -2474,7 +2474,7 @@ TileData_15345: ; 0x15345 TileData_1534b: ; 0x1534b
db $01 ; total number of tiles
-
+
db $01 ; number of tiles
dw vBGMap + $123
db $28
@@ -2483,7 +2483,7 @@ TileData_1534b: ; 0x1534b TileData_15351: ; 0x15351
db $01 ; total number of tiles
-
+
db $01 ; number of tiles
dw vBGMap + $130
db $7C
@@ -2492,7 +2492,7 @@ TileData_15351: ; 0x15351 TileData_15357: ; 0x15357
db $01 ; total number of tiles
-
+
db $01 ; number of tiles
dw vBGMap + $132
db $7D
@@ -4392,7 +4392,7 @@ TileData_15e21: ; 0x15e21 TileData_15e50: ; 0x15e50
dw LoadTileLists
db $09 ; total number of tiles
-
+
db $03 ; number of tiles
dw vBGMap + $100
db $45, $46, $22
@@ -4414,7 +4414,7 @@ TileData_15e50: ; 0x15e50 TileData_15e69: ; 0x15e69
dw LoadTileLists
db $09 ; total number of tiles
-
+
db $03 ; number of tiles
dw vBGMap + $100
db $43, $44, $22
@@ -4477,7 +4477,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 +4499,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
@@ -4523,7 +4523,7 @@ ResolveBellsproutCollision: ; 0x15e93 cp $4
jr nz, .asm_15f42
ld a, $1
- ld [wd548], a
+ ld [wPinballIsVisible], a
ret
.asm_15f42
@@ -4531,7 +4531,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
@@ -4875,7 +4875,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 +4909,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 +4917,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 +5092,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 +5127,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 +5182,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 +5230,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 +5504,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 +5627,7 @@ ResolveRedStagePikachuCollision: ; 0x1660c ld [wBallYVelocity + 1], a
ld [wBallSpin], a
ld [wBallRotation], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
call FillBottomMessageBufferWithBlackTile
jr .asm_1667b
@@ -5699,7 +5699,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
@@ -6726,7 +6726,7 @@ TileData_16c46: ; 0x16c46 TileData_16c49: ; 0x16c49
dw LoadTileLists
db $07
-
+
db $01
dw vBGMap + $23
db $5E
@@ -6752,7 +6752,7 @@ TileData_16c49: ; 0x16c49 TileData_16c63: ; 0x16c63
dw LoadTileLists
db $07
-
+
db $01
dw vBGMap + $23
db $65
@@ -6778,7 +6778,7 @@ TileData_16c63: ; 0x16c63 TileData_16c7d: ; 0x16c7d
dw LoadTileLists
db $07
-
+
db $01
dw vBGMap + $23
db $65
@@ -6804,7 +6804,7 @@ TileData_16c7d: ; 0x16c7d TileData_16c97: ; 0x16c97
dw LoadTileLists
db $07
-
+
db $01
dw vBGMap + $23
db $65
@@ -6830,7 +6830,7 @@ TileData_16c97: ; 0x16c97 TileData_16cb1: ; 0x16cb1
dw LoadTileLists
db $07
-
+
db $01
dw vBGMap + $23
db $5E
@@ -6856,7 +6856,7 @@ TileData_16cb1: ; 0x16cb1 TileData_16ccb: ; 0x16ccb
dw LoadTileLists
db $07
-
+
db $01
dw vBGMap + $30
db $6C
@@ -6882,7 +6882,7 @@ TileData_16ccb: ; 0x16ccb TileData_16ce5: ; 0x16ce5
dw LoadTileLists
db $07
-
+
db $01
dw vBGMap + $30
db $73
@@ -6908,7 +6908,7 @@ TileData_16ce5: ; 0x16ce5 TileData_16cff: ; 0x16cff
dw LoadTileLists
db $07
-
+
db $01
dw vBGMap + $30
db $73
@@ -6934,7 +6934,7 @@ TileData_16cff: ; 0x16cff TileData_16d19: ; 0x16d19
dw LoadTileLists
db $07
-
+
db $01
dw vBGMap + $30
db $73
@@ -6960,7 +6960,7 @@ TileData_16d19: ; 0x16d19 TileData_16d33: ; 0x16d33
dw LoadTileLists
db $07
-
+
db $01
dw vBGMap + $30
db $6C
@@ -6986,7 +6986,7 @@ TileData_16d33: ; 0x16d33 TileData_16d4d: ; 0x16d4d
dw LoadTileLists
db $03
-
+
db $01
dw vBGMap + $6
db $48
@@ -7000,7 +7000,7 @@ TileData_16d4d: ; 0x16d4d TileData_16d5a: ; 0x16d5a
dw LoadTileLists
db $03
-
+
db $01
dw vBGMap + $6
db $4B
@@ -7014,7 +7014,7 @@ TileData_16d5a: ; 0x16d5a TileData_16d67: ; 0x16d67
dw LoadTileLists
db $03
-
+
db $01
dw vBGMap + $D
db $4E
@@ -7028,7 +7028,7 @@ TileData_16d67: ; 0x16d67 TileData_16d74: ; 0x16d74
dw LoadTileLists
db $03
-
+
db $01
dw vBGMap + $D
db $51
@@ -7042,7 +7042,7 @@ TileData_16d74: ; 0x16d74 TileData_16d81: ; 0x16d81
dw LoadTileLists
db $04
-
+
db $02
dw vBGMap + $49
db $40, $41
@@ -7056,7 +7056,7 @@ TileData_16d81: ; 0x16d81 TileData_16d8f: ; 0x16d8f
dw LoadTileLists
db $04
-
+
db $02
dw vBGMap + $49
db $44, $45
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 81861a4..81861a4 100755..100644 --- a/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm |