diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-07-22 08:47:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-22 08:47:15 -0700 |
commit | 91b1835a20eadfce06e4c389548522e5560ef23f (patch) | |
tree | 8d799dc48460747e55e46a847603d28c3f3c5b1e | |
parent | f56a2fc512cfd0ff348f255a913bdeab29476893 (diff) | |
parent | 66d35475b68ad4f15675041e63d2d1c368dca5fc (diff) |
Merge pull request #24 from TwitchPlaysPokemon/chaos_requests
Chaos requests
30 files changed, 199 insertions, 177 deletions
diff --git a/constants.asm b/constants.asm index b4349bc..dc5fc1f 100644 --- a/constants.asm +++ b/constants.asm @@ -16,3 +16,4 @@ INCLUDE "constants/song_constants.asm" INCLUDE "constants/sound_effect_constants.asm" INCLUDE "constants/species_constants.asm" INCLUDE "constants/stage_constants.asm" +INCLUDE "constants/special_collision_constants.asm"
\ No newline at end of file diff --git a/constants/pinball_game_constants.asm b/constants/pinball_game_constants.asm index f50ba26..2531d8d 100644 --- a/constants/pinball_game_constants.asm +++ b/constants/pinball_game_constants.asm @@ -15,3 +15,5 @@ MAX_BONUS_MULTIPLIER_FIELD_EVENTS EQU 11 MAP_MOVE_FRAMES_COUNTER EQU 480 ; 8 seconds until the map move counter decrease by 1
PINBALL_UPGRADE_FRAMES_COUNTER EQU 3600 ; ~1 minute until the pinball type degrades one stage. (e.g. Great Ball -> Pokeball)
+
+
diff --git a/constants/special_collision_constants.asm b/constants/special_collision_constants.asm new file mode 100644 index 0000000..556f6a2 --- /dev/null +++ b/constants/special_collision_constants.asm @@ -0,0 +1,19 @@ +SPECIAL_COLLISION_NOTHING EQU 0 +SPECIAL_COLLISION_LEFT_TRIGGER EQU 1 +SPECIAL_COLLISION_RIGHT_TRIGGER EQU 2 +SPECIAL_COLLISION_STARYU_ALLY_TRIGGER EQU 3 +SPECIAL_COLLISION_VOLTORB EQU 4 +SPECIAL_COLLISION_SHELLDER EQU 4 +SPECIAL_COLLISION_BELLSPROUT EQU 5 +SPECIAL_COLLISION_STARYU EQU 6 +SPECIAL_COLLISION_LEFT_DIGLETT EQU 7 +SPECIAL_COLLISION_POLIWAG EQU 7 +SPECIAL_COLLISION_RIGHT_DIGLETT EQU 8 +SPECIAL_COLLISION_PSYDUCK EQU 8 +SPECIAL_COLLISION_LEFT_BONUS_MULTIPLIER EQU 9 +SPECIAL_COLLISION_RIGHT_BONUS_MULTIPLIER EQU 10 +SPECIAL_COLLISION_BALL_UPGRADE EQU 11 +SPECIAL_COLLISION_SPINNER EQU 12 +SPECIAL_COLLISION_SLOT_HOLE EQU 13 +SPECIAL_COLLISION_CLOYSTER EQU 14 +SPECIAL_COLLISION_SLOWPOKE EQU 15
\ No newline at end of file diff --git a/engine/pinball_game.asm b/engine/pinball_game.asm index 466a01f..e85ed71 100644 --- a/engine/pinball_game.asm +++ b/engine/pinball_game.asm @@ -205,7 +205,7 @@ GameScreenFunction_HandleBallLoss: ; 0xda36 ld [wd49c], a
ld [wDrawBottomMessageBox], a
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld de, ShootAgainText
call LoadScrollingText
diff --git a/engine/pinball_game/ball_loss/ball_loss.asm b/engine/pinball_game/ball_loss/ball_loss.asm index 0a3d8d9..af6a8e9 100644 --- a/engine/pinball_game/ball_loss/ball_loss.asm +++ b/engine/pinball_game/ball_loss/ball_loss.asm @@ -37,7 +37,7 @@ ShowBallLossText: ; 0xdc6d ; Input: de = pointer to scrolling text header
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
pop de
call LoadScrollingText
diff --git a/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm index b4e341f..999ee09 100644 --- a/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm +++ b/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm @@ -17,7 +17,7 @@ HandleBallLossDiglettBonus: ; 0xe056 and a
ret nz
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld de, EndDiglettStageText
call LoadScrollingText
diff --git a/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm index 59bc3d3..5f8248f 100644 --- a/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm +++ b/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm @@ -43,7 +43,7 @@ HandleBallLossGengarBonus: ; 0xdf1a and a
ret nz
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld de, EndGengarStageText
call LoadScrollingText
diff --git a/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm index 05d731b..cfd12b5 100644 --- a/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm +++ b/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm @@ -50,7 +50,7 @@ HandleBallLossMeowthBonus: ; 0xdfe2 and a
ret nz
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld de, EndMeowthStageText
call LoadScrollingText
diff --git a/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm index 949f8a8..cf1a5a4 100644 --- a/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm +++ b/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm @@ -43,7 +43,7 @@ HandleBallLossMewtwoBonus: ; 0xdf7e and a
ret nz
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld de, EndMewtwoStageText
call LoadScrollingText
diff --git a/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm index ee2e41a..18baa5a 100644 --- a/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm +++ b/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm @@ -49,7 +49,7 @@ HandleBallLossSeelBonus: ; 0xe08b and a
ret nz
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld de, EndSeelStageText
call LoadScrollingText
diff --git a/engine/pinball_game/catchem_mode.asm b/engine/pinball_game/catchem_mode.asm index f556c2d..a541348 100644 --- a/engine/pinball_game/catchem_mode.asm +++ b/engine/pinball_game/catchem_mode.asm @@ -766,14 +766,14 @@ CapturePokemon: ; 0x1052d ld a, [wBallCaptureAnimationFrameCounter]
cp $1
ret nz
- call Func_3475
+ call MainLoopUntilTextIsClear
ld de, $0000
call PlaySong
rst AdvanceFrame
lb de, $23, $29
call PlaySoundEffect
- call Func_10825
- call Func_3475
+ call ShowJackpotText
+ call MainLoopUntilTextIsClear
ld a, [wNumPartyMons]
and a
call z, Func_10848
@@ -929,7 +929,7 @@ ShowAnimatedWildMon: ; 0x10678 Func_10696: ; 0x10696
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld de, LetsGetPokemonText
call LoadScrollingText
@@ -937,7 +937,7 @@ Func_10696: ; 0x10696 Func_106a6: ; 0x106a6
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld de, PokemonRanAwayText
call LoadScrollingText
@@ -978,7 +978,7 @@ Func_106b6: ; 0x106b6 push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
pop de
call LoadScrollingText
@@ -1156,35 +1156,35 @@ PlayLowTimeSfx: ; 0x107f8 call PlaySoundEffect
ret
-Func_10825: ; 0x10825
- call Retrieve8DigitBCDValueAtwd47a
- push bc
+ShowJackpotText: ; 0x10825
+ call RetrieveJackpot ;retreive somethign score related, put it on the stack
+ push bc ;store data on stack to bge read in by LoadScoreTextFromStack
push de
call AddBCDEToCurBufferValue
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wStationaryText2
- ld de, Data_2a50
- call Func_3372
+ ld de, CatchModeJackpotScoreStationaryTextHeader
+ call LoadScoreTextFromStack
pop de
pop bc
ld hl, wStationaryText1
ld de, JackpotText
- call Func_3357
+ call LoadStationaryTextAndHeader
ret
Func_10848: ; 0x10848
ld bc, OneHundredMillionPoints
callba AddBigBCD6FromQueue
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText2
ld de, OneBillionText
call LoadScrollingText
ld hl, wScrollingText1
ld de, PokemonCaughtSpecialBonusText
call LoadScrollingText
- call Func_3475
+ call MainLoopUntilTextIsClear
ret
Func_10871: ; 0x10871
diff --git a/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm b/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm index d331b61..b6b9462 100644 --- a/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm +++ b/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm @@ -1,14 +1,14 @@ HandleBlueCatchEmCollision: ; 0x202bc
ld a, [wSpecialModeCollisionID]
- cp $4
+ cp SPECIAL_COLLISION_SHELLDER
jp z, Func_204f1
- cp $c
+ cp SPECIAL_COLLISION_SPINNER
jp z, Func_20569
- cp $f
+ cp SPECIAL_COLLISION_SLOWPOKE
jp z, Func_20573
- cp $e
+ cp SPECIAL_COLLISION_CLOYSTER
jp z, Func_2057a
- cp $0
+ cp SPECIAL_COLLISION_NOTHING
jr z, .asm_202d9
scf
ret
@@ -126,15 +126,15 @@ Func_20394: ; 0x20394 push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wStationaryText2
ld de, Data_2a2a
- call Func_3372
+ call LoadScoreTextFromStack
pop de
pop bc
ld hl, wStationaryText1
ld de, HitText
- call Func_3357
+ call LoadStationaryTextAndHeader
ld a, [wNumMonHits]
callba Func_10611
ld c, $2
@@ -270,26 +270,26 @@ Func_204f1: ; 0x204f1 push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wStationaryText2
ld de, Data_2a3d
- call Func_3372
+ call LoadScoreTextFromStack
pop de
pop bc
ld hl, wStationaryText1
ld de, FlippedText
- call Func_3357
+ call LoadStationaryTextAndHeader
.asm_2055e
ld bc, $0001
ld de, $0000
- call Func_3538
+ call AddBCDEToJackpot
scf
ret
Func_20569: ; 0x20569
ld bc, $0000
ld de, $1000
- call Func_3538
+ call AddBCDEToJackpot
ret
Func_20573: ; 0x20573
diff --git a/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm b/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm index 25e9f9f..e02f160 100644 --- a/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm +++ b/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm @@ -1,12 +1,12 @@ HandleRedCatchEmCollision: ; 0x20000
ld a, [wSpecialModeCollisionID]
- cp $4
+ cp SPECIAL_COLLISION_VOLTORB
jp z, Func_20230 ;if collided with voltorb
- cp $c
+ cp SPECIAL_COLLISION_SPINNER
jp z, Func_202a8
- cp $5
+ cp SPECIAL_COLLISION_BELLSPROUT
jp z, Func_202b2 ;bellsprout
- cp $0
+ cp SPECIAL_COLLISION_NOTHING
jr z, .asm_20018
scf
ret
@@ -124,15 +124,15 @@ Func_200d3: ; 0x200d3 push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wStationaryText2
ld de, Data_2a2a
- call Func_3372
+ call LoadScoreTextFromStack
pop de
pop bc
ld hl, wStationaryText1
ld de, HitText
- call Func_3357
+ call LoadStationaryTextAndHeader
ld a, [wNumMonHits]
callba Func_10611
ld c, $2
@@ -268,30 +268,30 @@ Func_20230: ; 0x20230 push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wStationaryText2
ld de, Data_2a3d
- call Func_3372
+ call LoadScoreTextFromStack
pop de
pop bc
ld hl, wStationaryText1
ld de, FlippedText
- call Func_3357
+ call LoadStationaryTextAndHeader
.asm_2029d
ld bc, $0001
ld de, $0000
- call Func_3538
+ call AddBCDEToJackpot
scf
ret
Func_202a8: ; 0x202a8
ld bc, $0000
ld de, $1000
- call Func_3538
+ call AddBCDEToJackpot
ret
Func_202b2: ; 0x202b2
ld bc, $0005
ld de, $0000
- call Func_3538
+ call AddBCDEToJackpot
ret
diff --git a/engine/pinball_game/evolution_mode.asm b/engine/pinball_game/evolution_mode.asm index a14e3ba..d939a9c 100755 --- a/engine/pinball_game/evolution_mode.asm +++ b/engine/pinball_game/evolution_mode.asm @@ -92,7 +92,7 @@ VideoData_10b2a: ; 0x10b2a Func_10b3f: ; 0x10b3f
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld a, [wCurrentEvolutionType]
cp EVO_EXPERIENCE
@@ -548,7 +548,7 @@ Func_10e0a: ; 0x10e0a push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
pop de
call LoadScrollingText
@@ -593,7 +593,7 @@ Func_10e8b: ; 0x10e8b push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText2
ld de, Data_2b6b
call Func_32cc
diff --git a/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm b/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm index 5dac074..3370e79 100644 --- a/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm +++ b/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm @@ -1,30 +1,30 @@ HandleBlueEvoModeCollision: ; 0x20bae
ld a, [wSpecialModeCollisionID]
- cp $4
+ cp SPECIAL_COLLISION_SHELLDER
jp z, Func_20e34
- cp $1
+ cp SPECIAL_COLLISION_LEFT_TRIGGER
jp z, Func_21089
- cp $e
+ cp SPECIAL_COLLISION_CLOYSTER
jp z, Func_20e5e
- cp $f
+ cp SPECIAL_COLLISION_SLOWPOKE
jp z, Func_20e82
- cp $7
+ cp SPECIAL_COLLISION_POLIWAG
jp z, Func_20ea6
- cp $8
+ cp SPECIAL_COLLISION_PSYDUCK
jp z, Func_20ec7
- cp $9
+ cp SPECIAL_COLLISION_LEFT_BONUS_MULTIPLIER
jp z, Func_20ee8
- cp $a
+ cp SPECIAL_COLLISION_RIGHT_BONUS_MULTIPLIER
jp z, Func_20f09
- cp $b
+ cp SPECIAL_COLLISION_BALL_UPGRADE
jp z, Func_20f2a
- cp $c
+ cp SPECIAL_COLLISION_SPINNER
jp z, Func_20f4b
- cp $d
+ cp SPECIAL_COLLISION_SLOT_HOLE
jp z, Func_2112a
- cp $2
+ cp SPECIAL_COLLISION_RIGHT_TRIGGER
jp z, Func_2105c
- cp $0
+ cp SPECIAL_COLLISION_NOTHING
jr z, .asm_20bf3
scf
ret
@@ -70,7 +70,7 @@ Func_20c08: ; 0x20c08 ld bc, OneMillionPoints
callba AddBigBCD6FromQueue
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld de, YeahYouGotItText
ld hl, wScrollingText1
call LoadScrollingText
@@ -256,7 +256,7 @@ Func_20da0: ; 0x20da0 .asm_20e1a
callba StopTimer
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld de, EvolutionFailedText
call LoadScrollingText
@@ -265,7 +265,7 @@ Func_20da0: ; 0x20da0 Func_20e34: ; 0x20e34
ld bc, $0001
ld de, $5000
- call Func_3538
+ call AddBCDEToJackpot
ld a, [wd551]
and a
jr nz, .asm_20e5c
@@ -430,7 +430,7 @@ Func_20f2a: ; 0x20f2a Func_20f4b: ; 0x20f4b
ld bc, $0000
ld de, $1500
- call Func_3538
+ call AddBCDEToJackpot
ld a, [wd551]
and a
jr nz, .asm_20f73
@@ -482,7 +482,7 @@ Func_20f75: ; 0x20f75 ld bc, ThreeHundredThousandPoints
callba AddBigBCD6FromQueue
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld a, [wCurrentEvolutionType]
dec a
ld c, a
@@ -526,7 +526,7 @@ Func_20fef: ; 0x20fef ld bc, ThreeHundredThousandPoints
callba AddBigBCD6FromQueue
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld a, [wCurrentEvolutionType]
cp EVO_EXPERIENCE
@@ -624,7 +624,7 @@ asm_210c7: call Func_7dc
.asm_21102
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld a, [wCurrentEvolutionType]
cp EVO_EXPERIENCE
ld de, PokemonRecoveredText
@@ -715,14 +715,14 @@ Func_2112a: ; 0x2112a call Func_8e1
.asm_211a8
callba Func_10e0a
- call Func_3475
+ call MainLoopUntilTextIsClear
ld de, $0000
call PlaySong
rst AdvanceFrame
lb de, $2d, $26
call PlaySoundEffect
- callba Func_10825
- call Func_3475
+ callba ShowJackpotText
+ call MainLoopUntilTextIsClear
ld a, $1
ld [wd54d], a
scf
diff --git a/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm b/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm index 018ea91..219cb38 100644 --- a/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm +++ b/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm @@ -1,32 +1,32 @@ HandleRedEvoModeCollision: ; 0x20581
ld a, [wSpecialModeCollisionID]
- cp $4
+ cp SPECIAL_COLLISION_VOLTORB
jp z, Func_2080f ;voltorb
- cp $3
+ cp SPECIAL_COLLISION_STARYU_ALLY_TRIGGER
jp z, Func_20839
- cp $5
+ cp SPECIAL_COLLISION_BELLSPROUT
jp z, Func_2085a ;bellsprout
- cp $6
+ cp SPECIAL_COLLISION_STARYU
jp z, Func_20887 ;staryu
- cp $7
+ cp SPECIAL_COLLISION_LEFT_DIGLETT
jp z, Func_208a8 ;diglett
- cp $8
+ cp SPECIAL_COLLISION_RIGHT_DIGLETT
jp z, Func_208c9 ;diglett
- cp $9
+ cp SPECIAL_COLLISION_LEFT_BONUS_MULTIPLIER
jp z, Func_208ea ;right rail?
- cp $a
+ cp SPECIAL_COLLISION_RIGHT_BONUS_MULTIPLIER
jp z, Func_2090b ;right rail?
- cp $b
+ cp SPECIAL_COLLISION_BALL_UPGRADE
jp z, Func_2092c
- cp $c
+ cp SPECIAL_COLLISION_SPINNER
jp z, Func_2094d
- cp $d
+ cp SPECIAL_COLLISION_SLOT_HOLE
jp z, Func_20b02
- cp $2
+ cp SPECIAL_COLLISION_RIGHT_TRIGGER
jp z, Func_20a65
- cp $1
+ cp SPECIAL_COLLISION_LEFT_TRIGGER
jp z, Func_20a82
- cp $0
+ cp SPECIAL_COLLISION_NOTHING
jr z, .asm_205cb
scf
ret
@@ -73,7 +73,7 @@ Func_205e0: ; 0x205e0 ld bc, OneMillionPoints
callba AddBigBCD6FromQueue
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld de, YeahYouGotItText
ld hl, wScrollingText1
call LoadScrollingText
@@ -259,7 +259,7 @@ Func_2077b: ; 0x2077b .asm_207f5
callba StopTimer
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld de, EvolutionFailedText
call LoadScrollingText
@@ -268,11 +268,11 @@ Func_2077b: ; 0x2077b Func_2080f: ; 0x2080f
ld bc, $0001
ld de, $5000
- call Func_3538
- ld a, [wd551]
+ call AddBCDEToJackpot
+ ld a, [wd551] ;if ??? is not zero, ret c
and a
jr nz, .asm_20837
- ld a, [wIndicatorStates + 9]
+ ld a, [wIndicatorStates + 9] ;if indicator is z, ret
and a
jr z, .asm_20837
xor a
@@ -311,7 +311,7 @@ Func_20839: ; 0x20839 Func_2085a: ; 0x2085a
ld bc, $0007
ld de, $5000
- call Func_3538
+ call AddBCDEToJackpot
ld a, [wd551]
and a
jr nz, .asm_20885
@@ -455,7 +455,7 @@ Func_2092c: ; 0x2092c Func_2094d: ; 0x2094d
ld bc, $0000
ld de, $1500
- call Func_3538
+ call AddBCDEToJackpot
ld a, [wd551]
and a
jr nz, .asm_20975
@@ -505,7 +505,7 @@ Func_20977: ; 0x20977 ld bc, ThreeHundredThousandPoints
callba AddBigBCD6FromQueue
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld a, [wCurrentEvolutionType]
dec a
ld c, a
@@ -548,7 +548,7 @@ Func_209eb: ; 0x209eb ld bc, ThreeHundredThousandPoints
callba AddBigBCD6FromQueue
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld a, [wCurrentEvolutionType]
cp EVO_EXPERIENCE
@@ -626,7 +626,7 @@ asm_20a9f: call Func_7dc
.asm_20ada
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld a, [wCurrentEvolutionType]
cp EVO_EXPERIENCE
ld de, PokemonRecoveredText
@@ -717,14 +717,14 @@ Func_20b02: ; 0x20b02 call Func_8e1
.asm_20b80
callba Func_10e0a
- call Func_3475
+ call MainLoopUntilTextIsClear
ld de, $0000
call PlaySong
rst AdvanceFrame
lb de, $2d, $26
call PlaySoundEffect
- callba Func_10825
- call Func_3475
+ callba ShowJackpotText
+ call MainLoopUntilTextIsClear
ld a, $1
ld [wd54d], a
scf
diff --git a/engine/pinball_game/extra_ball.asm b/engine/pinball_game/extra_ball.asm index e0c99ae..c575e60 100644 --- a/engine/pinball_game/extra_ball.asm +++ b/engine/pinball_game/extra_ball.asm @@ -9,7 +9,7 @@ ShowExtraBallMessage: ; 0x30188 cp $1
jr nz, .asm_301a7
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld de, ExtraBallText
call LoadScrollingText
@@ -21,7 +21,7 @@ ShowExtraBallMessage: ; 0x30188 push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText2
ld de, DigitsText1to9
call Func_32cc
diff --git a/engine/pinball_game/map_move.asm b/engine/pinball_game/map_move.asm index 888388a..85494ff 100755 --- a/engine/pinball_game/map_move.asm +++ b/engine/pinball_game/map_move.asm @@ -63,7 +63,7 @@ LoadScrollingMapNameText: ; 0x3118f ; Input: bc = pointer to prefix scrolling text
push bc
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld a, [wCurrentMap]
sla a
ld c, a
@@ -429,18 +429,18 @@ HandleRedMapModeCollision: ; 0x314ae and a
ld a, [wSpecialModeCollisionID]
jr z, .asm_314d0
- cp $1
+ cp SPECIAL_COLLISION_LEFT_TRIGGER
jp z, OpenRedMapMoveSlotFromLeft
- cp $3
+ cp SPECIAL_COLLISION_STARYU_ALLY_TRIGGER
jp z, OpenRedMapMoveSlotFromLeft
- cp $2
+ cp SPECIAL_COLLISION_RIGHT_TRIGGER
jp z, OpenRedMapMoveSlotFromRight
- cp $5
+ cp SPECIAL_COLLISION_BELLSPROUT
jp z, OpenRedMapMoveSlotFromRight
- cp $d
+ cp SPECIAL_COLLISION_SLOT_HOLE
jp z, ResolveSucsessfulRedMapMove
.asm_314d0
- cp $0
+ cp SPECIAL_COLLISION_NOTHING
jr z, .asm_314d6
scf
ret
@@ -509,7 +509,7 @@ UpdateMapMove_RedField: ; 0x3151f handle map move timer and fail when it expires .asm_31577
callba StopTimer ;stop the timer
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld de, MapMoveFailedText
call LoadScrollingText
@@ -579,18 +579,18 @@ HandleBlueMapModeCollision: ; 0x3161b and a
ld a, [wSpecialModeCollisionID]
jr z, .asm_3163d
- cp $1
+ cp SPECIAL_COLLISION_LEFT_TRIGGER
jp z, Func_31708
- cp $f
+ cp SPECIAL_COLLISION_SLOWPOKE
jp z, Func_31708
- cp $2
+ cp SPECIAL_COLLISION_RIGHT_TRIGGER
jp z, Func_3172a
- cp $e
+ cp SPECIAL_COLLISION_CLOYSTER
jp z, Func_3172a
- cp $d
+ cp SPECIAL_COLLISION_SLOT_HOLE
jp z, Func_3174c
.asm_3163d
- cp $0
+ cp SPECIAL_COLLISION_NOTHING
jr z, .asm_31643
scf
ret
@@ -663,7 +663,7 @@ UpdateMapMove_BlueField: ; 0x3168c .asm_316ee
callba StopTimer
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld de, MapMoveFailedText
call LoadScrollingText
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 8d80360..d26f133 100644 --- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm @@ -1343,7 +1343,7 @@ ShowBonusMultiplierMessage_BlueField: ; 0x1d5bf xor a
ld [wd613], a
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld de, BonusMultiplierText
call LoadScrollingText
@@ -2086,7 +2086,7 @@ ResolveBallUpgradeTriggersCollision_BlueField: ; 0x1e356 lb de, $06, $3a
call PlaySoundEffect
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld de, FieldMultiplierText
call LoadScrollingText
@@ -2111,7 +2111,7 @@ ResolveBallUpgradeTriggersCollision_BlueField: ; 0x1e356 push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText2
ld de, DigitsText1to8
call Func_32cc
@@ -2657,7 +2657,7 @@ DoSlotLogic_BlueField: ; 0x1e830 ShowScrollingGoToBonusText_BlueField: ; 0x1e8c3
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld a, [wNextStage]
ld de, GoToMeowthStageText
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 bf48d71..902fd69 100644 --- a/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm @@ -676,7 +676,7 @@ Func_1ab30: ; 0x1ab30 ld a, $1
ld [wCompletedBonusStage], a
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld de, DiglettStageClearedText
call LoadScrollingText
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 0ddb3c4..69dac96 100644 --- a/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm @@ -1004,7 +1004,7 @@ Func_189af: ; 0x189af ld a, $1
ld [wCompletedBonusStage], a
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld de, GengarStageClearedText
call LoadScrollingText
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 95cd4b5..fe9b7a9 100644 --- a/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm @@ -201,7 +201,7 @@ ResolveMeowthBonusGameObjectCollisions: ; 0x2442a ld a, $1
ld [wCompletedBonusStage], a
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld de, MeowthStageClearedText
call LoadScrollingText
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 119ffa3..0d8dd5a 100644 --- a/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm @@ -350,7 +350,7 @@ Func_19638: ; 0x19638 ld a, $1
ld [wCompletedBonusStage], a
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
.asm_1966b
ld de, MewtwoStageClearedText
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 8134d0e..2f706ed 100644 --- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm +++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm @@ -978,7 +978,7 @@ ResolveBallUpgradeTriggersCollision_RedField: ; 0x1535d lb de, $06, $3a
call PlaySoundEffect
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld de, FieldMultiplierText
ld hl, wScrollingText1
call LoadScrollingText
@@ -1003,7 +1003,7 @@ ResolveBallUpgradeTriggersCollision_RedField: ; 0x1535d push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText2
ld de, DigitsText1to8
call Func_32cc
@@ -2109,7 +2109,7 @@ DoSlotLogic_RedField: ; 0x16352 ShowScrollingGoToBonusText_RedField: ; 0x163f2
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld a, [wNextStage]
ld de, GoToDiglettStageText
@@ -2848,7 +2848,7 @@ ShowBonusMultiplierMessage_RedField: ; 0x16ef5 xor a
ld [wd613], a
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText1
ld de, BonusMultiplierText
call LoadScrollingText
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 df40da0..a545eca 100644 --- a/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm @@ -14,7 +14,7 @@ ResolveSeelBonusGameObjectCollisions: ; 0x25c5a ld a, $1
ld [wCompletedBonusStage], a
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText3
ld de, SeelStageClearedText
call LoadScrollingText
diff --git a/engine/pinball_game/slot.asm b/engine/pinball_game/slot.asm index 0cf52d2..f053e77 100644 --- a/engine/pinball_game/slot.asm +++ b/engine/pinball_game/slot.asm @@ -367,7 +367,7 @@ SlotRewardUpgradeBall: ; 0xf040 lb de, $06, $3a
call PlaySoundEffect
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld de, FieldMultiplierText
ld hl, wScrollingText1
call LoadScrollingText
@@ -393,7 +393,7 @@ SlotRewardUpgradeBall: ; 0xf040 push bc
push de
call FillBottomMessageBufferWithBlackTile
- call Func_30db
+ call EnableBottomText
ld hl, wScrollingText2
ld de, DigitsText1to8
call Func_32cc
@@ -3287,9 +3287,9 @@ AddBCDEToCurBufferValue: ; 0x351c callba AddBigBCD6FromQueue ret -Func_3538: ; 0x3538 -; Add BCD value bcde to [wd47a]. Cap at $99999999. - ld hl, wd47a +AddBCDEToJackpot: ; 0x3538 +; Add BCD value bcde to [wCurrentJackpot]. Cap at $99999999. + ld hl, wCurrentJackpot ld a, [hl] add e daa @@ -3307,7 +3307,7 @@ Func_3538: ; 0x3538 daa ld [hli], a ret nc - ld hl, wd47a + ld hl, wCurrentJackpot ld a, $99 ld [hli], a ld [hli], a @@ -3315,15 +3315,15 @@ Func_3538: ; 0x3538 ld [hli], a ret -Retrieve8DigitBCDValueAtwd47a: ; 0x3556 -; Retrieves a 4-byte BCD value at wd47a - ld a, [wd47a] +RetrieveJackpot: ; 0x3556 +; Retrieves a 4-byte BCD value at wCurrentJackpot + ld a, [wCurrentJackpot] ld e, a - ld a, [wd47a + 1] + ld a, [wCurrentJackpot + 1] ld d, a - ld a, [wd47a + 2] + ld a, [wCurrentJackpot + 2] ld c, a - ld a, [wd47a + 3] + ld a, [wCurrentJackpot + 3] ld b, a ret @@ -3352,8 +3352,8 @@ Func_3570: ret Func_3579: ; 0x3579 -; Delete 4-byte BCD value at wd47a - ld hl, wd47a +; Delete 4-byte BCD value at wCurrentJackpot + ld hl, wCurrentJackpot xor a ld [hli], a ld [hli], a diff --git a/home/text.asm b/home/text.asm index 238af3a..19c8531 100644 --- a/home/text.asm +++ b/home/text.asm @@ -1,6 +1,6 @@ INCLUDE "text/scrolling_text.asm" -Func_30db: ; 0x30db +EnableBottomText: ; 0x30db ld a, $86 ld [hWY], a ;force text bar up ld a, $1 @@ -493,9 +493,9 @@ HandleScrollingText: ; 0x3325 activates while text is scrolling ld [hl], $0 ;+0 ret -Func_3357: ; 0x3357 +LoadStationaryTextAndHeader: ; 0x3357 LoadStationaryTextAndHeader ld a, $1 - ld [hli], a + ld [hli], a ;Enable and load StationaryText de. then load the text after it in until a $00 is loaded in ld a, [de] ld [hli], a inc de @@ -512,17 +512,17 @@ Func_3357: ; 0x3357 pop af ld l, a ld h, wBottomMessageText / $100 -.asm_336b +.Loop ld a, [de] ld [hli], a inc de and a - jr nz, .asm_336b + jr nz, .Loop ret -Func_3372: ; 0x3372 +LoadScoreTextFromStack: ; 0x3372 load stationary text header DE into HL, then load 4 byte BCD score from the stack into the buffer, ending in an 0 and space ld a, $1 - ld [hli], a + ld [hli], a ;load 1, then first 4 bytes of de into hl ld a, [de] ld [hli], a inc de @@ -538,49 +538,49 @@ Func_3372: ; 0x3372 pop af ld e, a ld d, wBottomMessageText / $100 - ld hl, sp + 5 + ld hl, sp + 5 ;access a 4 byte buffer stored previously on the stack lb bc, 8, 1 -.asm_338a +.Loop ld a, [hl] swap a - and $f - call Func_33a7 + and $f ;get 10's digit + call LoadBCDDigitAsText dec b ld a, [hld] - and $f - call Func_33a7 + and $f ;get units digit + call LoadBCDDigitAsText dec b - jr nz, .asm_338a - ld a, $30 + jr nz, .Loop ;loop 4 times + ld a, "0" ld [de], a inc de - ld a, $20 + ld a, " " ;end with a 0 and a space ld [de], a inc de xor a ld [de], a ret -Func_33a7: ; 0x33a7 - jr nz, .asm_33b0 +LoadBCDDigitAsText: ; 0x33a7 Enter BCD digit a into text DE. b is a loop counter and c is a "have you entered a digit yet" flag + jr nz, .EnterDigit ;if no digit, not end of loop and not yet entered a digit, skip ld a, b dec a - jr z, .asm_33b0 + jr z, .EnterDigit ld a, c and a ret nz -.asm_33b0 - add $30 +.EnterDigit + add "0" ;load digit into de ld [de], a inc de - ld c, $0 + ld c, $0 ;mark that a digit has been entered ld a, b cp $6 - jr z, .asm_33be + jr z, .EnterComma cp $3 - ret nz -.asm_33be - ld a, $2c + ret nz ;if b is 3 or 6, load a seperator comma into the text +.EnterComma + ld a, "," ld [de], a inc de ret @@ -700,7 +700,7 @@ UpdateBottomText: ; 0x33e3 call LoadOrCopyVRAMData ret -Func_3475: ; 0x3475 +MainLoopUntilTextIsClear: ; 0x3475 xor a ld [hJoypadState], a ld [hNewlyPressedButtons], a @@ -715,7 +715,7 @@ Func_3475: ; 0x3475 rst AdvanceFrame ld a, [wBottomTextEnabled] and a - jr nz, Func_3475 ;loops until wBottomTextEnabled is zero + jr nz, MainLoopUntilTextIsClear ;loops until wBottomTextEnabled is zero ret FivePoints: ; 34a6 diff --git a/text/scrolling_text.asm b/text/scrolling_text.asm index c749343..096e026 100644 --- a/text/scrolling_text.asm +++ b/text/scrolling_text.asm @@ -74,8 +74,8 @@ JackpotText: db $42, $00, $b4, $00 db "JACKPOT @" -Data_2a50: - db $4a, $10, $b4, $00, $00, $00 +CatchModeJackpotScoreStationaryTextHeader: + db $4a, $10, $b4, $00, $00, $00 ;stationarytextheader YouGotAText: db $05, $54, $00, $00, $00, $1e @@ -131,8 +131,8 @@ wd478:: ; 0xd478 wd479:: ; 0xd479 ds $1 -wd47a:: ; 0xd47a -; BCD buffer +wCurrentJackpot:: ; 0xd47a +; BCD buffer. holds catchem jackpot score ds $4 wBallType:: ; 0xd47e |