Grade audio bug.

This commit is contained in:
Randy Thiemann 2023-11-08 21:06:40 +01:00
parent d77a428898
commit 61dcceb09c
8 changed files with 561 additions and 499 deletions

Binary file not shown.

View File

@ -174,7 +174,7 @@ ROM0 bank #0:
$1c90 = GradeRendering.mo $1c90 = GradeRendering.mo
$1c96 = GradeRendering.mm $1c96 = GradeRendering.mm
$1c9c = GradeRendering.gmgrade $1c9c = GradeRendering.gmgrade
SECTION: $1ca7-$1fdc ($0336 bytes) ["Grading Functions"] SECTION: $1ca7-$2000 ($035a bytes) ["Grading Functions"]
$1ca7 = GradeInit $1ca7 = GradeInit
$1cd2 = GradeInit.grade9start $1cd2 = GradeInit.grade9start
$1cd7 = GradeInit.end $1cd7 = GradeInit.end
@ -186,290 +186,299 @@ ROM0 bank #0:
$1d2d = DecayGradeDelay.gradejumptable $1d2d = DecayGradeDelay.gradejumptable
$1d42 = PrepareScore $1d42 = PrepareScore
$1d55 = DrawGradeProgressDMGT $1d55 = DrawGradeProgressDMGT
$1d64 = UpdateGradeDMGT $1d61 = !0
$1d7e = UpdateGradeDMGT.clearrate $1d70 = UpdateGradeDMGT
$1d8f = UpdateGradeDMGT.combomult $1d8a = UpdateGradeDMGT.clearrate
$1d9c = UpdateGradeDMGT.combo10 $1d9b = UpdateGradeDMGT.combomult
$1dad = UpdateGradeDMGT.combo5 $1da8 = UpdateGradeDMGT.combo10
$1dbe = UpdateGradeDMGT.combo1 $1db9 = UpdateGradeDMGT.combo5
$1dcd = UpdateGradeDMGT.prelevel $1dca = UpdateGradeDMGT.combo1
$1ddc = UpdateGradeDMGT.single $1dd9 = UpdateGradeDMGT.prelevel
$1dec = UpdateGradeDMGT.double $1de8 = UpdateGradeDMGT.single
$1dfd = UpdateGradeDMGT.adddonce $1df8 = UpdateGradeDMGT.double
$1e01 = UpdateGradeDMGT.triple $1e09 = UpdateGradeDMGT.adddonce
$1e12 = UpdateGradeDMGT.addtonce $1e0d = UpdateGradeDMGT.triple
$1e16 = UpdateGradeDMGT.tetris $1e1e = UpdateGradeDMGT.addtonce
$1e1a = UpdateGradeDMGT.levelmult $1e22 = UpdateGradeDMGT.tetris
$1e32 = UpdateGradeDMGT.mult5 $1e26 = UpdateGradeDMGT.levelmult
$1e39 = UpdateGradeDMGT.mult4 $1e3e = UpdateGradeDMGT.mult5
$1e3f = UpdateGradeDMGT.mult3 $1e45 = UpdateGradeDMGT.mult4
$1e44 = UpdateGradeDMGT.mult2 $1e4b = UpdateGradeDMGT.mult3
$1e48 = UpdateGradeDMGT.mult1 $1e50 = UpdateGradeDMGT.mult2
$1e49 = UpdateGradeDMGT.processgrade $1e54 = UpdateGradeDMGT.mult1
$1e6f = UpdateGradeDMGT.increasegrademaybe $1e55 = UpdateGradeDMGT.processgrade
$1e90 = UpdateGradeDMGT.gotgm $1e7e = UpdateGradeDMGT.increasegrademaybe
$1e9b = DecayGradeDMGT $1ea2 = UpdateGradeDMGT.gotgm
$1ebf = DecayGradeDMGT.nodecay $1eb0 = DecayGradeDMGT
$1ec6 = DecayGradeDMGT.decay $1ed4 = DecayGradeDMGT.nodecay
$1ed4 = UpdateGradeTGM1 $1edb = DecayGradeDMGT.decay
$1ede = UpdateGradeTGM1.trygradeup $1ee9 = UpdateGradeTGM1
$1ef8 = UpdateGradeTGM1.increasegrade $1ef3 = UpdateGradeTGM1.trygradeup
$1f0a = UpdateGradeTGM1.skipjingle $1f0d = UpdateGradeTGM1.increasegrade
$1f17 = UpdateGradeTGM1.maybegm $1f22 = UpdateGradeTGM1.skipjingle
$1f2d = UpdateGradeDEAT $1f2f = UpdateGradeTGM1.maybegm
$1f39 = UpdateGradeDEAT.notgm $1f48 = UpdateGradeDEAT
$1f52 = UpdateGradeDEAT.notm $1f54 = UpdateGradeDEAT.notgm
$1f72 = UpdateGradeDEAT.disqualify $1f70 = UpdateGradeDEAT.notm
$1f78 = UpdateGradeSHIR $1f93 = UpdateGradeDEAT.disqualify
$1fb8 = UpdateGradeSHIR.s5torikan $1f99 = UpdateGradeSHIR
$1fc8 = UpdateGradeSHIR.s10torikan $1fdc = UpdateGradeSHIR.s5torikan
$1fd7 = UpdateGradeSHIR.disqualify $1fec = UpdateGradeSHIR.s10torikan
SECTION: $1fdd-$2292 ($02b6 bytes) ["Grading Data"] $1ffb = UpdateGradeSHIR.disqualify
$1fdd = sTGM1GradeScores SECTION: $2001-$22b6 ($02b6 bytes) ["Grading Data"]
$1fff = sTGM3InternalGradeSystem $2001 = sTGM1GradeScores
$209f = sTGM3GradeBoosts $2023 = sTGM3InternalGradeSystem
$20be = sTGM3LevelMultiplier $20c3 = sTGM3GradeBoosts
$20c2 = sTGM3BaselineCOOL $20e2 = sTGM3LevelMultiplier
$20cb = sTGM3REGRETConditions $20e6 = sTGM3BaselineCOOL
$20df = sDMGTGrading $20ef = sTGM3REGRETConditions
$2193 = sDMGTGaugeLUT $2103 = sDMGTGrading
SECTION: $2293-$2529 ($0297 bytes) ["SFX Functions"] $21b7 = sDMGTGaugeLUT
$2293 = SFXInit SECTION: $22b7-$2550 ($029a bytes) ["SFX Functions"]
$22b5 = SFXPopQueue $22b7 = SFXInit
$22ca = SFXPushQueue $22d9 = SFXPopQueue
$22db = SFXProcessQueue $22ee = SFXPushQueue
$22e8 = !0 $22ff = SFXProcessQueue
$2309 = SFXTriggerNoise $2310 = !0
$2316 = !1 $232b = !1
$2323 = !2 $232d = SFXTriggerNoise
$232f = SFXEnqueue $233a = !2
$2344 = SFXEnqueue.findsfx $2347 = !3
$2359 = !3 $2353 = SFXEnqueue
$2369 = !4 $2368 = SFXEnqueue.findsfx
$2379 = !5 $237d = !4
$2389 = !6 $238d = !5
$2399 = !7 $239d = !6
$23a9 = !8 $23ad = !7
$23b9 = !9 $23bd = !8
$23c9 = !10 $23cd = !9
$23d9 = !11 $23dd = !10
$23e9 = !12 $23ed = !11
$23f9 = !13 $23fd = !12
$2409 = !14 $240d = !13
$2419 = !15 $241d = !14
$2429 = !16 $242d = !15
$2439 = !17 $243d = !16
$2448 = !18 $244d = !17
$2457 = !19 $245d = !18
$2466 = !20 $246c = !19
$2474 = !21 $247b = !20
$2482 = !22 $248a = !21
$2490 = !23 $2499 = !22
$249d = SFXKill $24a7 = !23
$24c8 = SFXPlayNoise $24b5 = !24
$24d3 = SFXPlayNoise.noisereg $24c2 = SFXKill
$24e0 = !24 $24ef = SFXPlayNoise
$24ea = SFXPlayNoise.savenoiseplayhead $24fa = SFXPlayNoise.noisereg
$24f3 = SFXPlay $2507 = !25
$24fe = !25 $2511 = SFXPlayNoise.savenoiseplayhead
$2501 = SFXPlay.play $251a = SFXPlay
$250d = SFXPlay.getRegister $2525 = !26
$2517 = !26 $2528 = SFXPlay.play
$2521 = SFXPlay.savePlayhead $2534 = SFXPlay.getRegister
SECTION: $252a-$275a ($0231 bytes) ["RNG Functions"] $253e = !27
$252a = HarvestEntropy $2548 = SFXPlay.savePlayhead
$2530 = HarvestEntropy.loop SECTION: $2551-$2783 ($0233 bytes) ["RNG Functions"]
$2551 = RNGInit $2551 = HarvestEntropy
$2587 = !0 $2557 = HarvestEntropy.loop
$25b7 = RNGInit.complexinit $2578 = RNGInit
$25ce = !1 $25ae = !0
$25e9 = ShiftHistory $25de = RNGInit.complexinit
$2606 = GetNextHellPiece $25f5 = !1
$260b = GetNextTGM1Piece $2610 = ShiftHistory
$260e = !2 $262d = GetNextHellPiece
$2626 = !3 $2632 = GetNextTGM1Piece
$2628 = GetNextTGM2Piece $2635 = !2
$262b = !4 $264d = !3
$2643 = !5 $264f = GetNextTGM2Piece
$2645 = GetNextNesPiece $2652 = !4
$2653 = GetNextTGM3Piece $266a = !5
$2656 = !6 $266c = GetNextNesPiece
$2679 = !7 $267a = GetNextTGM3Piece
$267c = !8 $267d = !6
$268c = !9 $26a0 = !7
$2696 = !10 $26a3 = !8
$26a4 = !11 $26b3 = !9
$26b3 = !12 $26bd = !10
$26bf = !13 $26cb = !11
$26cb = !14 $26da = !12
$26d7 = !15 $26e6 = !13
$26e3 = !16 $26f2 = !14
$26ef = !17 $26fe = !15
$26fb = !18 $270a = !16
$270a = GetNextPiece $2716 = !17
$2718 = GetNextPiece.nextpiecejumps $2722 = !18
$2727 = Next35Piece $2731 = GetNextPiece
$2727 = !19 $273f = GetNextPiece.nextpiecejumps
$2731 = Next7Piece $274e = Next35Piece
$2731 = !20 $274e = !19
$273b = NextByte $2758 = Next7Piece
SECTION: $275b-$28fd ($01a3 bytes) ["Level Functions"] $275a = !20
$275b = LevelInit $2764 = NextByte
$27ab = LevelUp SECTION: $2784-$2926 ($01a3 bytes) ["Level Functions"]
$27cf = LevelUp.doit $2784 = LevelInit
$2813 = LevelUp.checknlevel $27d4 = LevelUp
$2841 = !0 $27f8 = LevelUp.doit
$2859 = !1 $283c = LevelUp.checknlevel
$2862 = LevelUp.bellmaybe $286a = !0
$2874 = LevelUp.leveljinglemaybe $2882 = !1
$2881 = LevelUp.checkspeedup $288b = LevelUp.bellmaybe
$2892 = !2 $289d = LevelUp.leveljinglemaybe
$289f = !3 $28aa = LevelUp.checkspeedup
$28b0 = !4 $28bb = !2
$28bd = DoSpeedUp $28c8 = !3
SECTION: $28fe-$2a47 ($014a bytes) ["Progress Data"] $28d9 = !4
$28fe = sProgressData $28e6 = DoSpeedUp
SECTION: $2a48-$2b27 ($00e0 bytes) ["Score Functions"] SECTION: $2927-$2a70 ($014a bytes) ["Progress Data"]
$2a48 = ScoreInit $2927 = sProgressData
$2a70 = IncreaseScore SECTION: $2a71-$2b50 ($00e0 bytes) ["Score Functions"]
$2aa8 = IncreaseScore.doConvert $2a71 = ScoreInit
$2aaa = !0 $2a99 = IncreaseScore
$2ac0 = IncreaseScore.carry $2ad1 = IncreaseScore.doConvert
$2ac2 = IncreaseScore.postConvert $2ad3 = !0
$2acf = !1 $2ae9 = IncreaseScore.carry
$2ad6 = IncreaseScore.preAddDigit $2aeb = IncreaseScore.postConvert
$2afe = IncreaseScore.addDigit $2af8 = !1
$2b14 = IncreaseScore.nextDigit $2aff = IncreaseScore.preAddDigit
SECTION: $2b28-$2bf4 ($00cd bytes) ["Input Functions"] $2b27 = IncreaseScore.addDigit
$2b28 = InputInit $2b3d = IncreaseScore.nextDigit
$2b3a = GetInput SECTION: $2b51-$2c1d ($00cd bytes) ["Input Functions"]
$2b3a = GetInput.btns $2b51 = InputInit
$2b47 = GetInput.readA $2b63 = GetInput
$2b4b = GetInput.setA $2b63 = GetInput.btns
$2b56 = GetInput.clearA $2b70 = GetInput.readA
$2b59 = GetInput.readB $2b74 = GetInput.setA
$2b5d = GetInput.setB $2b7f = GetInput.clearA
$2b68 = GetInput.clearB $2b82 = GetInput.readB
$2b6b = GetInput.readSelect $2b86 = GetInput.setB
$2b6f = GetInput.setSelect $2b91 = GetInput.clearB
$2b7a = GetInput.clearSelect $2b94 = GetInput.readSelect
$2b7d = GetInput.readStart $2b98 = GetInput.setSelect
$2b81 = GetInput.setStart $2ba3 = GetInput.clearSelect
$2b8c = GetInput.clearStart $2ba6 = GetInput.readStart
$2b8f = GetInput.dpad $2baa = GetInput.setStart
$2b9c = GetInput.readUp $2bb5 = GetInput.clearStart
$2ba0 = GetInput.setUp $2bb8 = GetInput.dpad
$2bab = GetInput.clearUp $2bc5 = GetInput.readUp
$2bae = GetInput.readDown $2bc9 = GetInput.setUp
$2bb2 = GetInput.setDown $2bd4 = GetInput.clearUp
$2bbd = GetInput.clearDown $2bd7 = GetInput.readDown
$2bc0 = GetInput.readLeft $2bdb = GetInput.setDown
$2bc4 = GetInput.setLeft $2be6 = GetInput.clearDown
$2bcf = GetInput.clearLeft $2be9 = GetInput.readLeft
$2bd2 = GetInput.readRight $2bed = GetInput.setLeft
$2bd6 = GetInput.setRight $2bf8 = GetInput.clearLeft
$2be1 = GetInput.clearRight $2bfb = GetInput.readRight
$2be4 = GetInput.priorities $2bff = GetInput.setRight
$2bef = GetInput.zero $2c0a = GetInput.clearRight
SECTION: $2bf5-$2cab ($00b7 bytes) ["SRAM Functions"] $2c0d = GetInput.priorities
$2bf5 = RestoreSRAM $2c18 = GetInput.zero
$2c4e = InitializeSRAM SECTION: $2c1e-$2cd4 ($00b7 bytes) ["SRAM Functions"]
SECTION: $2cac-$2d5d ($00b2 bytes) ["Progress Functions"] $2c1e = RestoreSRAM
$2cac = SetProgress $2c77 = InitializeSRAM
$2cb7 = SetProgress.loop SECTION: $2cd5-$2d86 ($00b2 bytes) ["Progress Functions"]
$2cbb = SetProgress.correct $2cd5 = SetProgress
$2ce2 = SetProgress.wvr_u1 $2ce0 = SetProgress.loop
$2cee = SetProgress.wvr_u2 $2ce4 = SetProgress.correct
$2cfc = SetProgress.wvr_u3 $2d0b = SetProgress.wvr_u1
$2d08 = SetProgress.wvr_u4 $2d17 = SetProgress.wvr_u2
$2d16 = SetProgress.wvr_u5 $2d25 = SetProgress.wvr_u3
$2d22 = SetProgress.wvr_u6 $2d31 = SetProgress.wvr_u4
$2d30 = SetProgress.wvr_u7 $2d3f = SetProgress.wvr_u5
$2d3c = SetProgress.wvr_u8 $2d4b = SetProgress.wvr_u6
$2d4a = SetProgress.wvr_u9 $2d59 = SetProgress.wvr_u7
$2d56 = SetProgress.wvr_u10 $2d65 = SetProgress.wvr_u8
SECTION: $2d5e-$2df5 ($0098 bytes) ["Code Entry Point"] $2d73 = SetProgress.wvr_u9
$2d5e = Main $2d7f = SetProgress.wvr_u10
$2d87 = Main.notgbc SECTION: $2d87-$2e1e ($0098 bytes) ["Code Entry Point"]
$2d8d = Main.wvr_u1 $2d87 = Main
$2dba = EventLoop $2db0 = Main.notgbc
$2dd0 = EventLoop.eventloopjumps $2db6 = Main.wvr_u1
$2dd9 = EventLoopPostHandler $2de3 = EventLoop
$2ddb = EventLoopPostHandler.wvb_u2 $2df9 = EventLoop.eventloopjumps
$2ded = EventLoopPostHandler.vblankjumps $2e02 = EventLoopPostHandler
SECTION: $2df6-$2e7d ($0088 bytes) ["Time Functions"] $2e04 = EventLoopPostHandler.wvb_u2
$2df6 = TimeInit $2e16 = EventLoopPostHandler.vblankjumps
$2e0b = ResetGameTime SECTION: $2e1f-$2ea6 ($0088 bytes) ["Time Functions"]
$2e16 = CheckTorikan $2e1f = TimeInit
$2e2d = CheckTorikan.failure $2e34 = ResetGameTime
$2e2f = CheckTorikan.success $2e3f = CheckTorikan
$2e32 = HandleTimers $2e56 = CheckTorikan.failure
$2e5a = HandleTimers.go $2e58 = CheckTorikan.success
SECTION: $2e7e-$2eea ($006d bytes) ["Title Function Trampolines"] $2e5b = HandleTimers
$2e7e = SwitchToTitle $2e83 = HandleTimers.go
$2e87 = TitleEventLoopHandler SECTION: $2ea7-$2f13 ($006d bytes) ["Title Function Trampolines"]
$2e91 = TitleVBlankHandler $2ea7 = SwitchToTitle
$2e9b = DrawOption6 $2eb0 = TitleEventLoopHandler
SECTION: $2eeb-$2f3c ($0052 bytes) ["Tile Functions"] $2eba = TitleVBlankHandler
$2eeb = LoadTitleTiles $2ec4 = DrawOption6
$2f09 = LoadGameplayTiles SECTION: $2f14-$2f65 ($0052 bytes) ["Tile Functions"]
$2f1f = LoadGameplayTiles.gbc $2f14 = LoadTitleTiles
$2f2e = LoadGameplayTiles.dmg $2f32 = LoadGameplayTiles
SECTION: $2f3d-$2f78 ($003c bytes) ["Time Data"] $2f48 = LoadGameplayTiles.gbc
$2f3d = sFramesToCS $2f57 = LoadGameplayTiles.dmg
SECTION: $2f79-$2fa6 ($002e bytes) ["Memory Functions"] SECTION: $2f66-$2fa1 ($003c bytes) ["Time Data"]
$2f79 = UnsafeMemCopy $2f66 = sFramesToCS
$2f82 = SafeMemCopy.wvr_u1 SECTION: $2fa2-$2fcf ($002e bytes) ["Memory Functions"]
$2f82 = SafeMemCopy $2fa2 = UnsafeMemCopy
$2f91 = UnsafeMemSet $2fab = SafeMemCopy.wvr_u1
$2f99 = SafeMemSet $2fab = SafeMemCopy
$2f99 = SafeMemSet.wvr_u2 $2fba = UnsafeMemSet
SECTION: $2fa7-$2fcc ($0026 bytes) ["Gameplay Function Trampolines"] $2fc2 = SafeMemSet
$2fa7 = SwitchToGameplay $2fc2 = SafeMemSet.wvr_u2
$2fb0 = SwitchToGameplayBig SECTION: $2fd0-$2ff5 ($0026 bytes) ["Gameplay Function Trampolines"]
$2fb9 = GamePlayEventLoopHandler $2fd0 = SwitchToGameplay
$2fc3 = GamePlayBigEventLoopHandler $2fd9 = SwitchToGameplayBig
SECTION: $2fcd-$2fee ($0022 bytes) ["OAM Functions"] $2fe2 = GamePlayEventLoopHandler
$2fcd = CopyOAMHandler $2fec = GamePlayBigEventLoopHandler
$2fd9 = ClearOAM SECTION: $2ff6-$3017 ($0022 bytes) ["OAM Functions"]
SECTION: $2fef-$3007 ($0019 bytes) ["Interrupt Initialization Functions"] $2ff6 = CopyOAMHandler
$2fef = IntrInit $3002 = ClearOAM
$2ff3 = InitializeLCDCInterrupt SECTION: $3018-$3030 ($0019 bytes) ["Interrupt Initialization Functions"]
SECTION: $3008-$3016 ($000f bytes) ["Banking Functions"] $3018 = IntrInit
$3008 = BankingInit $301c = InitializeLCDCInterrupt
SECTION: $3017-$3020 ($000a bytes) ["OAM DMA Code"] SECTION: $3031-$303f ($000f bytes) ["Banking Functions"]
$3017 = OAMDMA $3031 = BankingInit
$3021 = OAMDMAEnd SECTION: $3040-$3049 ($000a bytes) ["OAM DMA Code"]
EMPTY: $3021-$3fff ($0fdf bytes) $3040 = OAMDMA
TOTAL EMPTY: $0fea bytes $304a = OAMDMAEnd
EMPTY: $304a-$3fff ($0fb6 bytes)
TOTAL EMPTY: $0fc1 bytes
ROMX bank #1: ROMX bank #1:
SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"] SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"]
SECTION: $4008-$7283 ($327c bytes) ["Static Global data"] SECTION: $4008-$7293 ($328c bytes) ["Static Global data"]
$4008 = sDMGTSpeedCurve $4008 = sDMGTSpeedCurve
$4210 = sDMGTSpeedCurveEnd $4203 = sDMGTSpeedCurveEnd
$4212 = sTGM1SpeedCurve $4205 = sDMGTSpeedCurveSpecialData
$4398 = sTGM1SpeedCurveEnd $420b = sTGM1SpeedCurve
$439a = sCHILSpeedCurve $4391 = sTGM1SpeedCurveEnd
$44b8 = sCHILSpeedCurveEnd $4393 = sTGM1SpeedCurveSpecialData
$44ba = sTGM3SpeedCurve $4399 = sCHILSpeedCurve
$469b = sTGM3SpeedCurveEnd $44b7 = sCHILSpeedCurveEnd
$469d = sDEATSpeedCurve $44b9 = sCHILSpeedCurveSpecialData
$46eb = sDEATSpeedCurveEnd $44bf = sTGM3SpeedCurve
$46ed = sSHIRSpeedCurve $46a0 = sTGM3SpeedCurveEnd
$4748 = sSHIRSpeedCurveEnd $46a2 = sTGM3SpeedCurveSpecialData
$474a = sMYCOSpeedCurve $46a8 = sDEATSpeedCurve
$4882 = sMYCOSpeedCurveEnd $46f6 = sDEATSpeedCurveEnd
$4884 = sSharedTiles $46f8 = sDEATSpeedCurveSpecialData
$4b84 = sTitleTiles $46fe = sSHIRSpeedCurve
$4b84 = sSharedTilesEnd $4759 = sSHIRSpeedCurveEnd
$5884 = sTitleTilesEnd $475b = sSHIRSpeedCurveSpecialData
$5884 = sGameplayTilesM $4761 = sMYCOSpeedCurve
$6584 = sGameplayTilesMEnd $488c = sMYCOSpeedCurveEnd
$6584 = sGameplayTilesC $488e = sMYCOSpeedCurveSpecialData
$7284 = sGameplayTilesCEnd $4894 = sSharedTiles
EMPTY: $7284-$7fff ($0d7c bytes) $4b94 = sTitleTiles
TOTAL EMPTY: $0d7c bytes $4b94 = sSharedTilesEnd
$5894 = sTitleTilesEnd
$5894 = sGameplayTilesM
$6594 = sGameplayTilesMEnd
$6594 = sGameplayTilesC
$7294 = sGameplayTilesCEnd
EMPTY: $7294-$7fff ($0d6c bytes)
TOTAL EMPTY: $0d6c bytes
ROMX bank #2: ROMX bank #2:
SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_SFX"] SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_SFX"]
@ -2470,8 +2479,8 @@ HRAM bank #0:
TOTAL EMPTY: $0003 bytes TOTAL EMPTY: $0003 bytes
SUMMARY: SUMMARY:
ROM0: 12310 bytes used / 4074 free ROM0: 12351 bytes used / 4033 free
ROMX: 56883 bytes used / 41421 free in 6 banks ROMX: 56899 bytes used / 41405 free in 6 banks
SRAM: 14 bytes used / 8178 free in 1 bank SRAM: 14 bytes used / 8178 free in 1 bank
WRAM0: 3515 bytes used / 581 free WRAM0: 3515 bytes used / 581 free
HRAM: 124 bytes used / 3 free HRAM: 124 bytes used / 3 free

Binary file not shown.

View File

@ -150,207 +150,214 @@
00:1d2d DecayGradeDelay.gradejumptable 00:1d2d DecayGradeDelay.gradejumptable
00:1d42 PrepareScore 00:1d42 PrepareScore
00:1d55 DrawGradeProgressDMGT 00:1d55 DrawGradeProgressDMGT
00:1d64 UpdateGradeDMGT 00:1d70 UpdateGradeDMGT
00:1d7e UpdateGradeDMGT.clearrate 00:1d8a UpdateGradeDMGT.clearrate
00:1d8f UpdateGradeDMGT.combomult 00:1d9b UpdateGradeDMGT.combomult
00:1d9c UpdateGradeDMGT.combo10 00:1da8 UpdateGradeDMGT.combo10
00:1dad UpdateGradeDMGT.combo5 00:1db9 UpdateGradeDMGT.combo5
00:1dbe UpdateGradeDMGT.combo1 00:1dca UpdateGradeDMGT.combo1
00:1dcd UpdateGradeDMGT.prelevel 00:1dd9 UpdateGradeDMGT.prelevel
00:1ddc UpdateGradeDMGT.single 00:1de8 UpdateGradeDMGT.single
00:1dec UpdateGradeDMGT.double 00:1df8 UpdateGradeDMGT.double
00:1dfd UpdateGradeDMGT.adddonce 00:1e09 UpdateGradeDMGT.adddonce
00:1e01 UpdateGradeDMGT.triple 00:1e0d UpdateGradeDMGT.triple
00:1e12 UpdateGradeDMGT.addtonce 00:1e1e UpdateGradeDMGT.addtonce
00:1e16 UpdateGradeDMGT.tetris 00:1e22 UpdateGradeDMGT.tetris
00:1e1a UpdateGradeDMGT.levelmult 00:1e26 UpdateGradeDMGT.levelmult
00:1e32 UpdateGradeDMGT.mult5 00:1e3e UpdateGradeDMGT.mult5
00:1e39 UpdateGradeDMGT.mult4 00:1e45 UpdateGradeDMGT.mult4
00:1e3f UpdateGradeDMGT.mult3 00:1e4b UpdateGradeDMGT.mult3
00:1e44 UpdateGradeDMGT.mult2 00:1e50 UpdateGradeDMGT.mult2
00:1e48 UpdateGradeDMGT.mult1 00:1e54 UpdateGradeDMGT.mult1
00:1e49 UpdateGradeDMGT.processgrade 00:1e55 UpdateGradeDMGT.processgrade
00:1e6f UpdateGradeDMGT.increasegrademaybe 00:1e7e UpdateGradeDMGT.increasegrademaybe
00:1e90 UpdateGradeDMGT.gotgm 00:1ea2 UpdateGradeDMGT.gotgm
00:1e9b DecayGradeDMGT 00:1eb0 DecayGradeDMGT
00:1ebf DecayGradeDMGT.nodecay 00:1ed4 DecayGradeDMGT.nodecay
00:1ec6 DecayGradeDMGT.decay 00:1edb DecayGradeDMGT.decay
00:1ed4 UpdateGradeTGM1 00:1ee9 UpdateGradeTGM1
00:1ede UpdateGradeTGM1.trygradeup 00:1ef3 UpdateGradeTGM1.trygradeup
00:1ef8 UpdateGradeTGM1.increasegrade 00:1f0d UpdateGradeTGM1.increasegrade
00:1f0a UpdateGradeTGM1.skipjingle 00:1f22 UpdateGradeTGM1.skipjingle
00:1f17 UpdateGradeTGM1.maybegm 00:1f2f UpdateGradeTGM1.maybegm
00:1f2d UpdateGradeDEAT 00:1f48 UpdateGradeDEAT
00:1f39 UpdateGradeDEAT.notgm 00:1f54 UpdateGradeDEAT.notgm
00:1f52 UpdateGradeDEAT.notm 00:1f70 UpdateGradeDEAT.notm
00:1f72 UpdateGradeDEAT.disqualify 00:1f93 UpdateGradeDEAT.disqualify
00:1f78 UpdateGradeSHIR 00:1f99 UpdateGradeSHIR
00:1fb8 UpdateGradeSHIR.s5torikan 00:1fdc UpdateGradeSHIR.s5torikan
00:1fc8 UpdateGradeSHIR.s10torikan 00:1fec UpdateGradeSHIR.s10torikan
00:1fd7 UpdateGradeSHIR.disqualify 00:1ffb UpdateGradeSHIR.disqualify
00:1fdd sTGM1GradeScores 00:2001 sTGM1GradeScores
00:1fff sTGM3InternalGradeSystem 00:2023 sTGM3InternalGradeSystem
00:209f sTGM3GradeBoosts 00:20c3 sTGM3GradeBoosts
00:20be sTGM3LevelMultiplier 00:20e2 sTGM3LevelMultiplier
00:20c2 sTGM3BaselineCOOL 00:20e6 sTGM3BaselineCOOL
00:20cb sTGM3REGRETConditions 00:20ef sTGM3REGRETConditions
00:20df sDMGTGrading 00:2103 sDMGTGrading
00:2193 sDMGTGaugeLUT 00:21b7 sDMGTGaugeLUT
00:2293 SFXInit 00:22b7 SFXInit
00:22b5 SFXPopQueue 00:22d9 SFXPopQueue
00:22ca SFXPushQueue 00:22ee SFXPushQueue
00:22db SFXProcessQueue 00:22ff SFXProcessQueue
00:2309 SFXTriggerNoise 00:232d SFXTriggerNoise
00:232f SFXEnqueue 00:2353 SFXEnqueue
00:2344 SFXEnqueue.findsfx 00:2368 SFXEnqueue.findsfx
00:249d SFXKill 00:24c2 SFXKill
00:24c8 SFXPlayNoise 00:24ef SFXPlayNoise
00:24d3 SFXPlayNoise.noisereg 00:24fa SFXPlayNoise.noisereg
00:24ea SFXPlayNoise.savenoiseplayhead 00:2511 SFXPlayNoise.savenoiseplayhead
00:24f3 SFXPlay 00:251a SFXPlay
00:2501 SFXPlay.play 00:2528 SFXPlay.play
00:250d SFXPlay.getRegister 00:2534 SFXPlay.getRegister
00:2521 SFXPlay.savePlayhead 00:2548 SFXPlay.savePlayhead
00:252a HarvestEntropy 00:2551 HarvestEntropy
00:2530 HarvestEntropy.loop 00:2557 HarvestEntropy.loop
00:2551 RNGInit 00:2578 RNGInit
00:25b7 RNGInit.complexinit 00:25de RNGInit.complexinit
00:25e9 ShiftHistory 00:2610 ShiftHistory
00:2606 GetNextHellPiece 00:262d GetNextHellPiece
00:260b GetNextTGM1Piece 00:2632 GetNextTGM1Piece
00:2628 GetNextTGM2Piece 00:264f GetNextTGM2Piece
00:2645 GetNextNesPiece 00:266c GetNextNesPiece
00:2653 GetNextTGM3Piece 00:267a GetNextTGM3Piece
00:270a GetNextPiece 00:2731 GetNextPiece
00:2718 GetNextPiece.nextpiecejumps 00:273f GetNextPiece.nextpiecejumps
00:2727 Next35Piece 00:274e Next35Piece
00:2731 Next7Piece 00:2758 Next7Piece
00:273b NextByte 00:2764 NextByte
00:275b LevelInit 00:2784 LevelInit
00:27ab LevelUp 00:27d4 LevelUp
00:27cf LevelUp.doit 00:27f8 LevelUp.doit
00:2813 LevelUp.checknlevel 00:283c LevelUp.checknlevel
00:2862 LevelUp.bellmaybe 00:288b LevelUp.bellmaybe
00:2874 LevelUp.leveljinglemaybe 00:289d LevelUp.leveljinglemaybe
00:2881 LevelUp.checkspeedup 00:28aa LevelUp.checkspeedup
00:28bd DoSpeedUp 00:28e6 DoSpeedUp
00:28fe sProgressData 00:2927 sProgressData
00:2a48 ScoreInit 00:2a71 ScoreInit
00:2a70 IncreaseScore 00:2a99 IncreaseScore
00:2aa8 IncreaseScore.doConvert 00:2ad1 IncreaseScore.doConvert
00:2ac0 IncreaseScore.carry 00:2ae9 IncreaseScore.carry
00:2ac2 IncreaseScore.postConvert 00:2aeb IncreaseScore.postConvert
00:2ad6 IncreaseScore.preAddDigit 00:2aff IncreaseScore.preAddDigit
00:2afe IncreaseScore.addDigit 00:2b27 IncreaseScore.addDigit
00:2b14 IncreaseScore.nextDigit 00:2b3d IncreaseScore.nextDigit
00:2b28 InputInit 00:2b51 InputInit
00:2b3a GetInput 00:2b63 GetInput
00:2b3a GetInput.btns 00:2b63 GetInput.btns
00:2b47 GetInput.readA 00:2b70 GetInput.readA
00:2b4b GetInput.setA 00:2b74 GetInput.setA
00:2b56 GetInput.clearA 00:2b7f GetInput.clearA
00:2b59 GetInput.readB 00:2b82 GetInput.readB
00:2b5d GetInput.setB 00:2b86 GetInput.setB
00:2b68 GetInput.clearB 00:2b91 GetInput.clearB
00:2b6b GetInput.readSelect 00:2b94 GetInput.readSelect
00:2b6f GetInput.setSelect 00:2b98 GetInput.setSelect
00:2b7a GetInput.clearSelect 00:2ba3 GetInput.clearSelect
00:2b7d GetInput.readStart 00:2ba6 GetInput.readStart
00:2b81 GetInput.setStart 00:2baa GetInput.setStart
00:2b8c GetInput.clearStart 00:2bb5 GetInput.clearStart
00:2b8f GetInput.dpad 00:2bb8 GetInput.dpad
00:2b9c GetInput.readUp 00:2bc5 GetInput.readUp
00:2ba0 GetInput.setUp 00:2bc9 GetInput.setUp
00:2bab GetInput.clearUp 00:2bd4 GetInput.clearUp
00:2bae GetInput.readDown 00:2bd7 GetInput.readDown
00:2bb2 GetInput.setDown 00:2bdb GetInput.setDown
00:2bbd GetInput.clearDown 00:2be6 GetInput.clearDown
00:2bc0 GetInput.readLeft 00:2be9 GetInput.readLeft
00:2bc4 GetInput.setLeft 00:2bed GetInput.setLeft
00:2bcf GetInput.clearLeft 00:2bf8 GetInput.clearLeft
00:2bd2 GetInput.readRight 00:2bfb GetInput.readRight
00:2bd6 GetInput.setRight 00:2bff GetInput.setRight
00:2be1 GetInput.clearRight 00:2c0a GetInput.clearRight
00:2be4 GetInput.priorities 00:2c0d GetInput.priorities
00:2bef GetInput.zero 00:2c18 GetInput.zero
00:2bf5 RestoreSRAM 00:2c1e RestoreSRAM
00:2c4e InitializeSRAM 00:2c77 InitializeSRAM
00:2cac SetProgress 00:2cd5 SetProgress
00:2cb7 SetProgress.loop 00:2ce0 SetProgress.loop
00:2cbb SetProgress.correct 00:2ce4 SetProgress.correct
00:2ce2 SetProgress.wvr_u1 00:2d0b SetProgress.wvr_u1
00:2cee SetProgress.wvr_u2 00:2d17 SetProgress.wvr_u2
00:2cfc SetProgress.wvr_u3 00:2d25 SetProgress.wvr_u3
00:2d08 SetProgress.wvr_u4 00:2d31 SetProgress.wvr_u4
00:2d16 SetProgress.wvr_u5 00:2d3f SetProgress.wvr_u5
00:2d22 SetProgress.wvr_u6 00:2d4b SetProgress.wvr_u6
00:2d30 SetProgress.wvr_u7 00:2d59 SetProgress.wvr_u7
00:2d3c SetProgress.wvr_u8 00:2d65 SetProgress.wvr_u8
00:2d4a SetProgress.wvr_u9 00:2d73 SetProgress.wvr_u9
00:2d56 SetProgress.wvr_u10 00:2d7f SetProgress.wvr_u10
00:2d5e Main 00:2d87 Main
00:2d87 Main.notgbc 00:2db0 Main.notgbc
00:2d8d Main.wvr_u1 00:2db6 Main.wvr_u1
00:2dba EventLoop 00:2de3 EventLoop
00:2dd0 EventLoop.eventloopjumps 00:2df9 EventLoop.eventloopjumps
00:2dd9 EventLoopPostHandler 00:2e02 EventLoopPostHandler
00:2ddb EventLoopPostHandler.wvb_u2 00:2e04 EventLoopPostHandler.wvb_u2
00:2ded EventLoopPostHandler.vblankjumps 00:2e16 EventLoopPostHandler.vblankjumps
00:2df6 TimeInit 00:2e1f TimeInit
00:2e0b ResetGameTime 00:2e34 ResetGameTime
00:2e16 CheckTorikan 00:2e3f CheckTorikan
00:2e2d CheckTorikan.failure 00:2e56 CheckTorikan.failure
00:2e2f CheckTorikan.success 00:2e58 CheckTorikan.success
00:2e32 HandleTimers 00:2e5b HandleTimers
00:2e5a HandleTimers.go 00:2e83 HandleTimers.go
00:2e7e SwitchToTitle 00:2ea7 SwitchToTitle
00:2e87 TitleEventLoopHandler 00:2eb0 TitleEventLoopHandler
00:2e91 TitleVBlankHandler 00:2eba TitleVBlankHandler
00:2e9b DrawOption6 00:2ec4 DrawOption6
00:2eeb LoadTitleTiles 00:2f14 LoadTitleTiles
00:2f09 LoadGameplayTiles 00:2f32 LoadGameplayTiles
00:2f1f LoadGameplayTiles.gbc 00:2f48 LoadGameplayTiles.gbc
00:2f2e LoadGameplayTiles.dmg 00:2f57 LoadGameplayTiles.dmg
00:2f3d sFramesToCS 00:2f66 sFramesToCS
00:2f79 UnsafeMemCopy 00:2fa2 UnsafeMemCopy
00:2f82 SafeMemCopy.wvr_u1 00:2fab SafeMemCopy.wvr_u1
00:2f82 SafeMemCopy 00:2fab SafeMemCopy
00:2f91 UnsafeMemSet 00:2fba UnsafeMemSet
00:2f99 SafeMemSet 00:2fc2 SafeMemSet
00:2f99 SafeMemSet.wvr_u2 00:2fc2 SafeMemSet.wvr_u2
00:2fa7 SwitchToGameplay 00:2fd0 SwitchToGameplay
00:2fb0 SwitchToGameplayBig 00:2fd9 SwitchToGameplayBig
00:2fb9 GamePlayEventLoopHandler 00:2fe2 GamePlayEventLoopHandler
00:2fc3 GamePlayBigEventLoopHandler 00:2fec GamePlayBigEventLoopHandler
00:2fcd CopyOAMHandler 00:2ff6 CopyOAMHandler
00:2fd9 ClearOAM 00:3002 ClearOAM
00:2fef IntrInit 00:3018 IntrInit
00:2ff3 InitializeLCDCInterrupt 00:301c InitializeLCDCInterrupt
00:3008 BankingInit 00:3031 BankingInit
00:3017 OAMDMA 00:3040 OAMDMA
00:3021 OAMDMAEnd 00:304a OAMDMAEnd
01:4008 sDMGTSpeedCurve 01:4008 sDMGTSpeedCurve
01:4210 sDMGTSpeedCurveEnd 01:4203 sDMGTSpeedCurveEnd
01:4212 sTGM1SpeedCurve 01:4205 sDMGTSpeedCurveSpecialData
01:4398 sTGM1SpeedCurveEnd 01:420b sTGM1SpeedCurve
01:439a sCHILSpeedCurve 01:4391 sTGM1SpeedCurveEnd
01:44b8 sCHILSpeedCurveEnd 01:4393 sTGM1SpeedCurveSpecialData
01:44ba sTGM3SpeedCurve 01:4399 sCHILSpeedCurve
01:469b sTGM3SpeedCurveEnd 01:44b7 sCHILSpeedCurveEnd
01:469d sDEATSpeedCurve 01:44b9 sCHILSpeedCurveSpecialData
01:46eb sDEATSpeedCurveEnd 01:44bf sTGM3SpeedCurve
01:46ed sSHIRSpeedCurve 01:46a0 sTGM3SpeedCurveEnd
01:4748 sSHIRSpeedCurveEnd 01:46a2 sTGM3SpeedCurveSpecialData
01:474a sMYCOSpeedCurve 01:46a8 sDEATSpeedCurve
01:4882 sMYCOSpeedCurveEnd 01:46f6 sDEATSpeedCurveEnd
01:4884 sSharedTiles 01:46f8 sDEATSpeedCurveSpecialData
01:4b84 sTitleTiles 01:46fe sSHIRSpeedCurve
01:4b84 sSharedTilesEnd 01:4759 sSHIRSpeedCurveEnd
01:5884 sTitleTilesEnd 01:475b sSHIRSpeedCurveSpecialData
01:5884 sGameplayTilesM 01:4761 sMYCOSpeedCurve
01:6584 sGameplayTilesMEnd 01:488c sMYCOSpeedCurveEnd
01:6584 sGameplayTilesC 01:488e sMYCOSpeedCurveSpecialData
01:7284 sGameplayTilesCEnd 01:4894 sSharedTiles
01:4b94 sTitleTiles
01:4b94 sSharedTilesEnd
01:5894 sTitleTilesEnd
01:5894 sGameplayTilesM
01:6594 sGameplayTilesMEnd
01:6594 sGameplayTilesC
01:7294 sGameplayTilesCEnd
02:4008 sSFXPieceI 02:4008 sSFXPieceI
02:4325 sSFXPieceZ 02:4325 sSFXPieceZ
02:4325 sSFXPieceIEnd 02:4325 sSFXPieceIEnd

View File

@ -346,7 +346,12 @@ PrepareScore:
ret ret
DrawGradeProgressDMGT:: DrawGradeProgressDMGT::
ld hl, sDMGTGaugeLUT ld a, [wDisplayedGrade]
cp a, GRADE_GM
jr nz, :+
ld a, $FF
ld [wGradeGauge], a
: ld hl, sDMGTGaugeLUT
ld a, [wGradeGauge] ld a, [wGradeGauge]
ld b, 0 ld b, 0
ld c, a ld c, a
@ -552,6 +557,7 @@ UpdateGradeDMGT::
jr z, .gotgm jr z, .gotgm
; No, play the normal jingle. ; No, play the normal jingle.
call SFXKill
ld a, SFX_RANKUP ld a, SFX_RANKUP
call SFXEnqueue call SFXEnqueue
ld a, $0F ld a, $0F
@ -578,6 +584,7 @@ UpdateGradeDMGT::
jr z, .gotgm jr z, .gotgm
; No, play the normal jingle. ; No, play the normal jingle.
call SFXKill
ld a, SFX_RANKUP ld a, SFX_RANKUP
call SFXEnqueue call SFXEnqueue
ld a, $0F ld a, $0F
@ -585,6 +592,7 @@ UpdateGradeDMGT::
ret ret
.gotgm .gotgm
call SFXKill
ld a, SFX_RANKGM ld a, SFX_RANKGM
call SFXEnqueue call SFXEnqueue
ld a, $0F ld a, $0F
@ -700,6 +708,7 @@ UpdateGradeTGM1:
ldh a, [hCurrentlyPlaying] ldh a, [hCurrentlyPlaying]
cp a, SFX_RANKUP cp a, SFX_RANKUP
jr z, .skipjingle jr z, .skipjingle
call SFXKill
ld a, SFX_RANKUP ld a, SFX_RANKUP
call SFXEnqueue call SFXEnqueue
@ -725,6 +734,7 @@ UpdateGradeTGM1:
ld [wDisplayedGrade], a ld [wDisplayedGrade], a
; Sound effect ; Sound effect
call SFXKill
ld a, SFX_RANKGM ld a, SFX_RANKGM
jp SFXEnqueue jp SFXEnqueue
@ -762,6 +772,7 @@ UpdateGradeDEAT:
ld [wDisplayedGrade], a ld [wDisplayedGrade], a
; Play the jingle. ; Play the jingle.
call SFXKill
ld a, SFX_RANKGM ld a, SFX_RANKGM
call SFXEnqueue call SFXEnqueue
@ -790,6 +801,7 @@ UpdateGradeDEAT:
ld [wDisplayedGrade], a ld [wDisplayedGrade], a
; Play the jingle. ; Play the jingle.
call SFXKill
ld a, SFX_RANKUP ld a, SFX_RANKUP
call SFXEnqueue call SFXEnqueue
@ -850,6 +862,7 @@ UpdateGradeSHIR:
ld [wDisplayedGrade], a ; Otherwise, set the grade. ld [wDisplayedGrade], a ; Otherwise, set the grade.
; Play the jingle. ; Play the jingle.
call SFXKill
ld a, SFX_RANKUP ld a, SFX_RANKUP
call SFXEnqueue call SFXEnqueue

View File

@ -186,15 +186,17 @@ sDMGTSpeedCurve:: ; Speed curve of the game.
dw $6666, 6666, $6700 ; Level 6666 dw $6666, 6666, $6700 ; Level 6666
db 20, $00 db 20, $00
db 1, 1, 1, 2, 1 db 1, 1, 1, 3, 1
dw $9999, 9999, $9999 ; Level 9999
db 20, $00
db 1, 1, 1, 1, 1
sDMGTSpeedCurveEnd:: sDMGTSpeedCurveEnd::
dw $FFFF ; End. dw $FFFF ; End.
sDMGTSpeedCurveSpecialData::
dw $FFFF ; When do we get bones?
dw $2000 ; When do blocks turn invisible?
dw $9999 ; When is the hard kill screen?
sTGM1SpeedCurve:: sTGM1SpeedCurve::
dw $0000, 0, $0100 dw $0000, 0, $0100
db 1, 4 db 1, 4
@ -319,6 +321,11 @@ sTGM1SpeedCurve::
sTGM1SpeedCurveEnd:: sTGM1SpeedCurveEnd::
dw $FFFF dw $FFFF
sTGM1SpeedCurveSpecialData::
dw $FFFF ; When do we get bones?
dw $FFFF ; When do blocks turn invisible?
dw $0999 ; When is the hard kill screen?
sCHILSpeedCurve:: sCHILSpeedCurve::
dw $0000, 0, $0100 dw $0000, 0, $0100
@ -412,6 +419,11 @@ sCHILSpeedCurve::
sCHILSpeedCurveEnd:: sCHILSpeedCurveEnd::
dw $FFFF dw $FFFF
sCHILSpeedCurveSpecialData::
dw $FFFF ; When do we get bones?
dw $FFFF ; When do blocks turn invisible?
dw $9999 ; When is the hard kill screen?
sTGM3SpeedCurve:: sTGM3SpeedCurve::
dw $0000, 0, $0100 dw $0000, 0, $0100
@ -565,6 +577,11 @@ sTGM3SpeedCurve::
sTGM3SpeedCurveEnd:: sTGM3SpeedCurveEnd::
dw $FFFF dw $FFFF
sTGM3SpeedCurveSpecialData::
dw $FFFF ; When do we get bones?
dw $1300 ; When do blocks turn invisible?
dw $1500 ; When is the hard kill screen?
sDEATSpeedCurve:: sDEATSpeedCurve::
dw $0000, 0, $0100 dw $0000, 0, $0100
db 20, $00 db 20, $00
@ -593,6 +610,12 @@ sDEATSpeedCurve::
sDEATSpeedCurveEnd:: sDEATSpeedCurveEnd::
dw $FFFF dw $FFFF
sDEATSpeedCurveSpecialData::
dw $FFFF ; When do we get bones?
dw $0999 ; When do blocks turn invisible?
dw $1200 ; When is the hard kill screen?
sSHIRSpeedCurve:: sSHIRSpeedCurve::
dw $0000, 0, $0100 dw $0000, 0, $0100
db 20, $00 db 20, $00
@ -625,6 +648,12 @@ sSHIRSpeedCurve::
sSHIRSpeedCurveEnd:: sSHIRSpeedCurveEnd::
dw $FFFF dw $FFFF
sSHIRSpeedCurveSpecialData::
dw $0900 ; When do we get bones?
dw $1300 ; When do blocks turn invisible?
dw $1500 ; When is the hard kill screen?
sMYCOSpeedCurve:: sMYCOSpeedCurve::
dw $0000, 0, $0100 dw $0000, 0, $0100
db 1, 4 db 1, 4
@ -718,13 +747,15 @@ sMYCOSpeedCurve::
db 20, $00 db 20, $00
db 20, 20, 8, 30, 20 db 20, 20, 8, 30, 20
dw $0300, 300, $0400
db 20, $00
db 1, 1, 1, 1, 1
sMYCOSpeedCurveEnd:: sMYCOSpeedCurveEnd::
dw $FFFF dw $FFFF
sMYCOSpeedCurveSpecialData::
dw $FFFF ; When do we get bones?
dw $FFFF ; When do blocks turn invisible?
dw $0300 ; When is the hard kill screen?
sSharedTiles:: sSharedTiles::
DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF

View File

@ -432,6 +432,8 @@ Next35Piece:
; Tries generating bytes until it gets one in [0; 7) ; Tries generating bytes until it gets one in [0; 7)
Next7Piece: Next7Piece:
xor a, a
ret
: call NextByte : call NextByte
and a, $07 and a, $07
cp a, 7 cp a, 7

View File

@ -92,6 +92,8 @@ SFXProcessQueue:
xor a, a xor a, a
ldh [hPlayhead], a ldh [hPlayhead], a
ldh [hPlayhead+1], a ldh [hPlayhead+1], a
ld a, $FF
ldh [hCurrentlyPlaying], a
; Music will just repeat. ; Music will just repeat.
ldh a, [hPlayQueue] ldh a, [hPlayQueue]
@ -100,10 +102,7 @@ SFXProcessQueue:
jr SFXEnqueue jr SFXEnqueue
; Try 4 times to pop a sound effect off the queue. ; Try 4 times to pop a sound effect off the queue.
: ld a, $FF : call SFXPopQueue
ldh [hCurrentlyPlaying], a
call SFXPopQueue
cp a, $FF cp a, $FF
jr nz, :+ jr nz, :+
call SFXPopQueue call SFXPopQueue
@ -117,7 +116,7 @@ SFXProcessQueue:
ret z ret z
; If we got a valid sound effect, then play it. ; If we got a valid sound effect, then play it.
jr SFXEnqueue : jr SFXEnqueue
; Noise effects use their own playhead that can play at the same time as the normal queue. ; Noise effects use their own playhead that can play at the same time as the normal queue.
@ -341,7 +340,7 @@ SFXEnqueue::
ldh [hPlayhead], a ldh [hPlayhead], a
ld a, HIGH(sSFXLevelUp) ld a, HIGH(sSFXLevelUp)
ldh [hPlayhead+1], a ldh [hPlayhead+1], a
jr SFXPlay jp SFXPlay
; Other ; Other
: cp a, SFX_RANKUP : cp a, SFX_RANKUP
@ -395,6 +394,7 @@ SFXKill::
ldh [hPlayQueue+1], a ldh [hPlayQueue+1], a
ldh [hPlayQueue+2], a ldh [hPlayQueue+2], a
ldh [hPlayQueue+3], a ldh [hPlayQueue+3], a
ldh [hCurrentlyPlaying], a
xor a, a xor a, a
ldh [hPlayhead], a ldh [hPlayhead], a
ldh [hPlayhead+1], a ldh [hPlayhead+1], a