1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
InitBallForStage: ; 0x83ba
ld a, [wLoadingSavedGame]
and a
jr z, .initBall
call TryLoadWildMonCollisionMask
call RestartStageMusic
ret
.initBall
xor a
ld [wBallXVelocity], a
ld [wBallXVelocity + 1], a
ld [wBallYVelocity], a
ld [wBallYVelocity + 1], a
ld [wLeftFlipperState], a
ld [wLeftFlipperState + 1], a
ld [wRightFlipperState], a
ld [wRightFlipperState + 1], a
ld [wLeftFlipperStateChange], a
ld [wLeftFlipperStateChange + 1], a
ld [wRightFlipperStateChange], a
ld [wRightFlipperStateChange + 1], a
ld [wBallSpin], a
ld [wBallRotation], a
inc a
ld [wPinballIsVisible], a
ld [wEnableBallGravityAndTilt], a
ld a, $20
ld [wSCX], a
ld a, [wCurrentStage]
call CallInFollowingTable
InitBall_CallTable: ; 0x8404
padded_dab InitBallRedField ; STAGE_RED_FIELD_TOP
padded_dab InitBallRedField ; STAGE_RED_FIELD_BOTTOM
padded_dab Func_1804a
padded_dab Func_1804a
padded_dab InitBallBlueField ; STAGE_BLUE_FIELD_TOP
padded_dab InitBallBlueField ; STAGE_BLUE_FIELD_BOTTOM
padded_dab InitBallGengarBonusStage ; STAGE_GENGAR_BONUS
padded_dab InitBallGengarBonusStage ; STAGE_GENGAR_BONUS
padded_dab InitBallMewtwoBonusStage ; STAGE_MEWTWO_BONUS
padded_dab InitBallMewtwoBonusStage ; STAGE_MEWTWO_BONUS
padded_dab InitBallMeowthBonusStage ; STAGE_MEOWTH_BONUS
padded_dab InitBallMeowthBonusStage ; STAGE_MEOWTH_BONUS
padded_dab InitBallDiglettBonusStage ; STAGE_DIGLETT_BONUS
padded_dab InitBallDiglettBonusStage ; STAGE_DIGLETT_BONUS
padded_dab InitBallSeelBonusStage ; STAGE_SEEL_BONUS
padded_dab InitBallSeelBonusStage ; STAGE_SEEL_BONUS
TryLoadWildMonCollisionMask: ; 0x8444
ld a, [wInSpecialMode]
and a
jr z, .done
ld a, [wSpecialMode]
and a
jr nz, .done
ld a, [wWildMonIsHittable]
and a
jr z, .done
callba LoadWildMonCollisionMask
.done
ret
RestartStageMusic: ; 0x8461
ld a, [wStageSongBank]
call SetSongBank
ld a, [wStageSong]
ld e, a
ld d, $0
call PlaySong
ret
|