summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rwxr-xr-xmain.asm314
1 files changed, 101 insertions, 213 deletions
diff --git a/main.asm b/main.asm
index fa48692..3b0cc30 100755
--- a/main.asm
+++ b/main.asm
@@ -1203,7 +1203,7 @@ DrawInGameMenu: ; 0x87ed
call LoadVRAMData
ret
-Data_8817: ; 0x8817
+CollisionForceAngles: ; 0x8817
; This data has something to do with collisions.
db $C0
db $C5
@@ -1462,7 +1462,7 @@ Data_8817: ; 0x8817
db $2B
db $B6
-Data_8917: ; 0x8917
+CollisionYDeltas: ; 0x8917
; This has to do with y-collision data
dw $0000
dw $FFE0
@@ -1721,7 +1721,7 @@ Data_8917: ; 0x8917
dw $FBA3
dw $003E
-Data_8b17: ; 0x8b17
+CollisionXDeltas: ; 0x8b17
; This data has to do with x-collision data
dw $FF00
dw $FEFB
@@ -5958,18 +5958,15 @@ Func_d909: ; 0xd909
call HandleTilts
ld a, [wCurrentStage]
bit 0, a
- ld [hFarCallTempA], a
- ld a, Bank(HandleFlippers)
- ld hl, HandleFlippers
- call nz, BankSwitch ; only perform flipper routines on the lower-half of stages
+ callba nz, HandleFlippers ; only perform flipper routines on the lower-half of stages
ld a, [wFlipperCollision]
and a
- ld a, [wd7ea]
+ ld a, [wCollisionForceAngle]
push af
- call Func_22b5 ; collision stuff
+ call CheckObjectCollision ; collision stuff
pop af
jr z, .noFlipperCollision
- ld [wd7ea], a
+ ld [wCollisionForceAngle], a
.noFlipperCollision
call CheckGameObjectCollisions
call Func_281c ; not collision-related
@@ -5983,16 +5980,17 @@ Func_d909: ; 0xd909
.didntPressMenuKey
ld a, [wd7e9] ; check for collision flag
and a
- jr z, .asm_d9a2
+ jr z, .skip_collision
call ApplyTiltForces
- call LoadBallVelocity
- ld a, [wd7ea]
- call Func_21e7
- call Func_222b
+ call LoadBallVelocity ; bc = x velocity, de = y velocity
+ ld a, [wCollisionForceAngle]
+ call ApplyCollisionForce
+ call ApplyTorque
ld a, [wFlipperCollision]
and a
- jr z, .asm_d993
- ld hl, wd7bc
+ jr z, .not_flippers_2
+ ; de -= *wFlipperYForce
+ ld hl, wFlipperYForce
ld a, [hli]
ld h, [hl]
ld l, a
@@ -6002,7 +6000,8 @@ Func_d909: ; 0xd909
ld a, d
sbc h
ld d, a
- ld hl, wd7ba
+ ; bc += *wFlipperXForce
+ ld hl, wFlipperXForce
ld a, [hli]
ld h, [hl]
ld l, a
@@ -6012,17 +6011,17 @@ Func_d909: ; 0xd909
ld a, b
adc h
ld b, a
- jr .asm_d999
+ jr .next
-.asm_d993
+.not_flippers_2
ld a, [wd7f8]
and a
- jr nz, .asm_d9a2
-.asm_d999
- ld a, [wd7ea]
- call Func_21e5
+ jr nz, .skip_collision
+.next
+ ld a, [wCollisionForceAngle]
+ call NegateAngleAndApplyCollisionForce
call SetBallVelocity
-.asm_d9a2
+.skip_collision
call MoveBallPosition
callba CheckStageTransition
callba Func_84b7
@@ -6039,10 +6038,7 @@ Func_d909: ; 0xd909
.asm_d9e9
ld a, [wd57d]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_86a4)
- ld hl, Func_86a4
- call nz, BankSwitch
+ callba nz, Func_86a4
ld a, [wd4ae]
and a
ret z
@@ -6088,10 +6084,7 @@ Func_da36: ; 0xda36
call HandleTilts
ld a, [wCurrentStage]
bit 0, a
- ld [hFarCallTempA], a
- ld a, Bank(HandleFlippers)
- ld hl, HandleFlippers
- call nz, BankSwitch
+ callba nz, HandleFlippers
callba Func_84b7
call Func_33e3
callba Func_85c7
@@ -6948,8 +6941,8 @@ HandleFlippers: ; 0xe0fe
xor a
ld [wFlipperCollision], a
ld [hFlipperYCollisionAttribute], a
- ld [wd7ba], a
- ld [wd7bb], a
+ ld [wFlipperXForce], a
+ ld [wFlipperXForce + 1], a
call Func_e118
call CheckFlipperCollision
ld a, [wFlipperCollision]
@@ -7549,8 +7542,8 @@ HandleFlipperCollision: ; 0xe442
ld a, $1
ld [wd7e9], a
xor a
- ld [wd7f3], a
- ld [wd7f4], a
+ ld [wBallPositionPointerOffsetFromStageTopLeft], a
+ ld [wBallPositionPointerOffsetFromStageTopLeft + 1], a
ld [wCurCollisionAttribute], a
ld [wd7f6], a
ld [wd7f7], a
@@ -7574,9 +7567,9 @@ HandleFlipperCollision: ; 0xe442
rl d ; multiplied de by 4
call Func_e379
ld a, b
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, l
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, [wBallXPos + 1]
cp $50 ; which flipper did the ball hit?
ld a, [wFlipperXCollisionAttribute]
@@ -7584,15 +7577,15 @@ HandleFlipperCollision: ; 0xe442
cpl ; invert the x collision attribute
inc a
.asm_e48b
- ld [wd7ea], a
+ ld [wCollisionForceAngle], a
ld a, $1
ld [wd7eb], a
- ld a, [wd7bd]
+ ld a, [wFlipperYForce + 1]
bit 7, a
ret z
xor a
- ld [wd7bc], a
- ld [wd7bd], a
+ ld [wFlipperYForce], a
+ ld [wFlipperYForce + 1], a
ret
Func_e4a1: ; 0xe4a1
@@ -8847,10 +8840,7 @@ SlotBonusMultiplier: ; 0xf0c1
call .DivideBy25
ld a, c
cp b
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call nz, BankSwitch
+ callba nz, Func_30164
callba Func_16f95
ld a, [wd60c]
callba Func_f154 ; no need for BankSwitch here...
@@ -10739,10 +10729,7 @@ CapturePokemon: ; 0x1052d
jr nc, .asm_105d1
ld c, $a
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
.asm_105d1
call SetPokemonOwnedFlag
ld a, [wd624]
@@ -11183,10 +11170,7 @@ Func_10871: ; 0x10871
callba Func_10184
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_102bc)
- ld hl, Func_102bc
- call nz, BankSwitch
+ callba nz, Func_102bc
ret
Func_108f5: ; 0x108f5
@@ -11295,10 +11279,7 @@ Func_1098c: ; 0x1098c
call BankSwitch
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_102bc)
- ld hl, Func_102bc
- call nz, BankSwitch
+ callba nz, Func_102bc
ret
Func_109fc: ; 0x109fc
@@ -12011,10 +11992,7 @@ Func_10ebb: ; 0x10ebb
callba Func_10184
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_102bc)
- ld hl, Func_102bc
- call nz, BankSwitch
+ callba nz, Func_102bc
ret
IndicatorStatesPointerTable_10f3b: ; 0x10f3b
@@ -12150,10 +12128,7 @@ Func_11061: ; 0x11061
callba Func_10184
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_102bc)
- ld hl, Func_102bc
- call nz, BankSwitch
+ callba nz, Func_102bc
ret
IndicatorStatesPointerTable_110ed: ; 0x110ed
@@ -13917,10 +13892,7 @@ Func_1414b: ; 0x1414b
callba Func_10362
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_10301)
- ld hl, Func_10301
- call nz, BankSwitch
+ callba nz, Func_10301
ld a, [wd5f3]
and a
ret z
@@ -14004,10 +13976,7 @@ Func_14210: ; 0x14210
callba Func_10184
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_102bc)
- ld hl, Func_102bc
- call nz, BankSwitch
+ callba nz, Func_102bc
ret
Func_14234: ; 0x14234
@@ -14952,10 +14921,7 @@ Func_14920: ; 0x14920
jr nc, .asm_14937
ld c, $a
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
.asm_14937
ld a, $1
ld [wd55a], a
@@ -14968,10 +14934,7 @@ Func_14947: ; 0x14947
jr nc, .asm_1495e
ld c, $a
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
.asm_1495e
xor a
ld [wd55a], a
@@ -15120,9 +15083,9 @@ Func_14dc9: ; 0x14dc9
ld [wd804], a
ld hl, $0200
ld a, l
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, h
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, $80
ld [wFlipperCollision], a
lb de, $00, $0e
@@ -16332,10 +16295,7 @@ Func_15e93: ; 0x15e93
ret nc
ld c, $19
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
ret
.asm_15f35
@@ -16438,9 +16398,9 @@ Func_15fda: ; 0x15fda
ld [wd804], a
ld hl, $0200
ld a, l
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, h
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, $80
ld [wFlipperCollision], a
ld a, [wWhichBumperId]
@@ -16449,9 +16409,9 @@ Func_15fda: ; 0x15fda
ld b, $0
ld hl, Data_1600e
add hl, bc
- ld a, [wd7ea]
+ ld a, [wCollisionForceAngle]
add [hl]
- ld [wd7ea], a
+ ld [wCollisionForceAngle], a
lb de, $00, $0b
call PlaySoundEffect
ret
@@ -16933,10 +16893,7 @@ Func_164e3: ; 0x164e3
.asm_16506
ld hl, wCurrentStage
bit 0, [hl]
- ld [hFarCallTempA], a
- ld a, Bank(Func_30256)
- ld hl, Func_30256
- call nz, BankSwitch
+ callba nz, Func_30256
ld a, [wd604]
and a
ret nz
@@ -17001,10 +16958,7 @@ Func_1652d: ; 0x1652d
Func_1658f: ; 0x1658f
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(LoadGreyBillboardPaletteData)
- ld hl, LoadGreyBillboardPaletteData
- call nz, BankSwitch
+ callba nz, LoadGreyBillboardPaletteData
.showNextMap
ld a, [wInitialMapSelectionIndex]
inc a
@@ -17155,10 +17109,7 @@ Func_1669e: ; 0x1669e
jr nc, .asm_166f0
ld c, $a
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
.asm_166f0
lb de, $16, $10
call PlaySoundEffect
@@ -17495,10 +17446,7 @@ Func_16d9d: ; 016d9d
jr nc, .asm_16e24
ld c, $19
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
.asm_16e24
ld a, [wd60c]
ld [wd614], a
@@ -18703,7 +18651,7 @@ CheckSingleGastlyCollision: ; 0x1820d
bit 7, a
jr nz, .noCollision
sla a
- ld [wd7ea], a
+ ld [wCollisionForceAngle], a
ld a, $1
ld [wd7e9], a
scf
@@ -18780,7 +18728,7 @@ CheckSingleHaunterCollision: ; 0x18298
bit 7, a
jr nz, .noCollision
sla a
- ld [wd7ea], a
+ ld [wCollisionForceAngle], a
ld a, $1
ld [wd7e9], a
scf
@@ -18843,7 +18791,7 @@ CheckGiantGengarCollision: ; 0x18308
bit 7, a
jr nz, .noCollision
sla a
- ld [wd7ea], a
+ ld [wCollisionForceAngle], a
ld a, $1
ld [wd7e9], a
scf
@@ -18984,9 +18932,9 @@ Func_18464: ; 0x18464
ld [wd804], a
ld hl, $0100
ld a, l
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, h
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, $80
ld [wFlipperCollision], a
lb de, $00, $2c
@@ -19203,9 +19151,9 @@ Func_1860b: ; 0x1860b
ld [wd804], a
ld hl, $0100
ld a, l
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, h
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, $80
ld [wFlipperCollision], a
lb de, $00, $2d
@@ -19442,9 +19390,9 @@ Func_187b1: ; 0x187b1
ld [wd804], a
ld hl, $0200
ld a, l
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, h
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, $80
ld [wFlipperCollision], a
ld a, [wGengarYPos]
@@ -19773,9 +19721,9 @@ Func_18d34: ; 0x18d34
ld [wd804], a
ld hl, $0100
ld a, l
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, h
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, $80
ld [wFlipperCollision], a
ld de, $002f
@@ -21313,9 +21261,9 @@ Func_19c52: ; 0x19c52
call PlaySoundEffect
ld hl, $0100
ld a, l
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, h
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, $80
ld [wFlipperCollision], a
ld a, [wd73c]
@@ -21626,9 +21574,9 @@ Func_1aad4: ; 0x1aad4
ld [wd804], a
ld hl, $0200
ld a, l
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, h
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, $80
ld [wFlipperCollision], a
.asm_1ab2c
@@ -22218,10 +22166,7 @@ Func_1c305: ; 0x1c305
callba Func_10362
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_10301)
- ld hl, Func_10301
- call nz, BankSwitch
+ callba nz, Func_10301
ld a, [wd5f3]
and a
ret z
@@ -22305,10 +22250,7 @@ Func_1c3ca: ; 0x1c3ca
callba Func_10184
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_102bc)
- ld hl, Func_102bc
- call nz, BankSwitch
+ callba nz, Func_102bc
ret
Func_1c3ee: ; 0x1c3ee
@@ -22850,10 +22792,7 @@ Func_1c7d7: ; 0x1c7d7
Func_1c839: ; 0x1c839
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(LoadGreyBillboardPaletteData)
- ld hl, LoadGreyBillboardPaletteData
- call nz, BankSwitch
+ callba nz, LoadGreyBillboardPaletteData
.showNextMap
ld a, [wInitialMapSelectionIndex]
inc a
@@ -23106,9 +23045,9 @@ Func_1ca29: ; 0x1ca29
ld [wd804], a
ld hl, $0200
ld a, l
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, h
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, $80
ld [wFlipperCollision], a
lb de, $00, $0e
@@ -23331,9 +23270,9 @@ Func_1ce94: ; 0x1ce94
ld [wd804], a
ld hl, $0200
ld a, l
- ld [wd7bc], a
+ ld [wFlipperYForce], a
ld a, h
- ld [wd7bd], a
+ ld [wFlipperYForce + 1], a
ld a, $80
ld [wFlipperCollision], a
ld a, [wWhichBumperId]
@@ -23342,9 +23281,9 @@ Func_1ce94: ; 0x1ce94
ld b, $0
ld hl, Data_1cec8
add hl, bc
- ld a, [wd7ea]
+ ld a, [wCollisionForceAngle]
add [hl]
- ld [wd7ea], a
+ ld [wCollisionForceAngle], a
lb de, $00, $0b
call PlaySoundEffect
ret
@@ -23572,10 +23511,7 @@ Func_1d133: ; 0x1d133
jr nc, .asm_1d185
ld c, $a
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
.asm_1d185
lb de, $16, $10
call PlaySoundEffect
@@ -23721,10 +23657,7 @@ Func_1d216: ; 0x1d216
ret nc
ld c, $19
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
ret
.asm_1d2b6
@@ -23832,10 +23765,7 @@ HandleEnteringCloyster: ; 0x1d32d
ret nc
ld c, $19
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
ret
.asm_1d3cb
@@ -23952,10 +23882,7 @@ Func_1d438: ; 0x1d438
jr nc, .asm_1d4e9
ld c, $19
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
.asm_1d4e9
ld a, [wd60c]
ld [wd614], a
@@ -24505,10 +24432,7 @@ Func_1ddc7: ; 0x1ddc7
jr nc, .asm_1dde4
ld c, $a
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
.asm_1dde4
xor a
ld [wd55a], a
@@ -24524,10 +24448,7 @@ Func_1ddf4: ; 0x1ddf4
jr nc, .asm_1de11
ld c, $a
call Func_e55
- ld [hFarCallTempA], a
- ld a, Bank(Func_30164)
- ld hl, Func_30164
- call z, BankSwitch
+ callba z, Func_30164
.asm_1de11
ld a, $1
ld [wd55a], a
@@ -25477,10 +25398,7 @@ Func_1e9c0: ; 0x1e9c0
.asm_1e9e3
ld hl, wCurrentStage
bit 0, [hl]
- ld [hFarCallTempA], a
- ld a, Bank(Func_30256)
- ld hl, Func_30256
- call nz, BankSwitch
+ callba nz, Func_30256
ld a, [wd604]
and a
ret nz
@@ -26697,10 +26615,7 @@ Func_2006b: ; 0x2006b
callba Func_10362
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_10301)
- ld hl, Func_10301
- call nz, BankSwitch
+ callba nz, Func_10301
.asm_20098
ld a, $1
ld [wd5c6], a
@@ -27000,10 +26915,7 @@ Func_2032c: ; 0x2032c
callba Func_10362
ld a, [hGameBoyColorFlag]
and a
- ld [hFarCallTempA], a
- ld a, Bank(Func_10301)
- ld hl, Func_10301
- call nz, BankSwitch
+ callba nz, Func_10301
.asm_20333
ld a, $1
ld [wd5c6], a
@@ -27317,10 +27229,7 @@ Func_205e0: ; 0x205e0
ld [wIndicatorStates + 10], a
ld a, [wCurrentStage]
bit 0, a
- ld [hFarCallTempA], a
- ld a, Bank(Func_14135)
- ld hl, Func_14135
- call nz, BankSwitch
+ callba nz, Func_14135
ld bc, OneMillionPoints
callba AddBigBCD6FromQueue
call FillBottomMessageBufferWithBlackTile
@@ -27743,10 +27652,7 @@ Func_20977: ; 0x20977
ld [wIndicatorStates + 10], a
ld a, [wCurrentStage]
bit 0, a
- ld [hFarCallTempA], a
- ld a, Bank(Func_14135)
- ld hl, Func_14135
- call nz, BankSwitch
+ callba nz, Func_14135
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_209bf
@@ -27794,10 +27700,7 @@ Func_209eb: ; 0x209eb
ld [wIndicatorStates + 10], a
ld a, [wCurrentStage]
bit 0, a
- ld [hFarCallTempA], a
- ld a, Bank(Func_14135)
- ld hl, Func_14135
- call nz, BankSwitch
+ callba nz, Func_14135
ld a, $58
ld [wd556], a
ld a, $2
@@ -27872,10 +27775,7 @@ asm_20a9f:
ld [wIndicatorStates + 10], a
ld a, [wCurrentStage]
bit 0, a
- ld [hFarCallTempA], a
- ld a, Bank(Func_14135)
- ld hl, Func_14135
- call nz, BankSwitch
+ callba nz, Func_14135
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_20ada
@@ -28058,10 +27958,7 @@ Func_20c08: ; 0x20c08
ld [wIndicatorStates + 3], a
ld a, [wCurrentStage]
bit 0, a
- ld [hFarCallTempA], a
- ld a, Bank(Func_1c2cb)
- ld hl, Func_1c2cb
- call nz, BankSwitch
+ callba nz, Func_1c2cb
ld bc, OneMillionPoints
callba AddBigBCD6FromQueue
call FillBottomMessageBufferWithBlackTile
@@ -28464,10 +28361,7 @@ Func_20f75: ; 0x20f75
ld [wIndicatorStates + 3], a
ld a, [wCurrentStage]
bit 0, a
- ld [hFarCallTempA], a
- ld a, Bank(Func_1c2cb)
- ld hl, Func_1c2cb
- call nz, BankSwitch
+ callba nz, Func_1c2cb
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_20fc3
@@ -28516,10 +28410,7 @@ Func_20fef: ; 0x20fef
ld [wIndicatorStates + 3], a
ld a, [wCurrentStage]
bit 0, a
- ld [hFarCallTempA], a
- ld a, Bank(Func_1c2cb)
- ld hl, Func_1c2cb
- call nz, BankSwitch
+ callba nz, Func_1c2cb
ld a, $58
ld [wd556], a
ld a, $2
@@ -28614,10 +28505,7 @@ asm_210c7:
ld [wIndicatorStates + 2], a
ld a, [wCurrentStage]
bit 0, a
- ld [hFarCallTempA], a
- ld a, Bank(Func_1c2cb)
- ld hl, Func_1c2cb
- call nz, BankSwitch
+ callba nz, Func_1c2cb
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_21102
@@ -28922,7 +28810,7 @@ CheckMeowthCollision: ; 0x24170
bit 7, a
jr nz, .noCollision
sla a
- ld [wd7ea], a
+ ld [wCollisionForceAngle], a
ld a, $1
ld [wd7e9], a
ld a, [wd6ec]
@@ -29070,7 +28958,7 @@ CheckJewelCollision: ; 0x24272
bit 7, a
jr nz, .noCollision
sla a
- ld [wd7ea], a
+ ld [wCollisionForceAngle], a
ld a, $1
ld [wd7e9], a
scf
@@ -31284,7 +31172,7 @@ CheckSeelHeadCollision: ; 0x25c12
bit 7, a
jr nz, .noCollision
sla a
- ld [wd7ea], a
+ ld [wCollisionForceAngle], a
ld a, $1
ld [wd7e9], a
scf