Fix S and M grade display. Fix grade animation.

This commit is contained in:
Randy Thiemann 2023-11-02 19:32:36 +01:00
parent 70eb2a4b6e
commit a182bcc3e3
5 changed files with 409 additions and 388 deletions

Binary file not shown.

View File

@ -119,7 +119,7 @@ ROM0 bank #0:
$1566 = !11
$15b5 = !12
$1604 = !13
SECTION: $1656-$1a05 ($03b0 bytes) ["Domain Specific Functions"]
SECTION: $1656-$1a21 ($03cc bytes) ["Domain Specific Functions"]
$1656 = ApplyTells
$16b1 = ApplyNext
$16e1 = ApplyNext.regular
@ -138,234 +138,235 @@ ROM0 bank #0:
$1841 = ApplyNumbers4
$185d = SetNumberSpritePositions
$1944 = GradeRendering
$1973 = GradeRendering.effect
$1983 = GradeRendering.noeffect
$198b = GradeRendering.drawgrade
$1992 = GradeRendering.regulargrade
$199a = GradeRendering.sgrade
$19b0 = GradeRendering.mgrade
$19c6 = GradeRendering.lettergrade
$19e3 = GradeRendering.mk
$19e9 = GradeRendering.mv
$19ef = GradeRendering.mo
$19f5 = GradeRendering.mm
$19fb = GradeRendering.gmgrade
SECTION: $1a06-$1c9c ($0297 bytes) ["SFX Functions"]
$1a06 = SFXInit
$1a28 = SFXPopQueue
$1a3d = SFXPushQueue
$1a4e = SFXProcessQueue
$1a5b = !0
$1a7c = SFXTriggerNoise
$1a89 = !1
$1a96 = !2
$1aa2 = SFXEnqueue
$1ab7 = SFXEnqueue.findsfx
$1acc = !3
$1adc = !4
$1aec = !5
$1afc = !6
$1b0c = !7
$1b1c = !8
$1b2c = !9
$1b3c = !10
$1b4c = !11
$1b5c = !12
$1b6c = !13
$1b7c = !14
$1b8c = !15
$1b9c = !16
$1bac = !17
$1bbb = !18
$1bca = !19
$1bd9 = !20
$1be7 = !21
$1bf5 = !22
$1c03 = !23
$1c10 = SFXKill
$1c3b = SFXPlayNoise
$1c46 = SFXPlayNoise.noisereg
$1c53 = !24
$1c5d = SFXPlayNoise.savenoiseplayhead
$1c66 = SFXPlay
$1c71 = !25
$1c74 = SFXPlay.play
$1c80 = SFXPlay.getRegister
$1c8a = !26
$1c94 = SFXPlay.savePlayhead
SECTION: $1c9d-$1e8a ($01ee bytes) ["RNG Functions"]
$1c9d = RNGInit
$1ccd = !0
$1ce8 = RNGInit.complexinit
$1cff = !1
$1d19 = ShiftHistory
$1d36 = GetNextHellPiece
$1d3b = GetNextTGM1Piece
$1d3e = !2
$1d56 = !3
$1d58 = GetNextTGM2Piece
$1d5b = !4
$1d73 = !5
$1d75 = GetNextNesPiece
$1d83 = GetNextTGM3Piece
$1d86 = !6
$1da9 = !7
$1dac = !8
$1dbc = !9
$1dc6 = !10
$1dd4 = !11
$1de3 = !12
$1def = !13
$1dfb = !14
$1e07 = !15
$1e13 = !16
$1e1f = !17
$1e2b = !18
$1e3a = GetNextPiece
$1e48 = GetNextPiece.nextpiecejumps
$1e57 = Next35Piece
$1e57 = !19
$1e61 = Next7Piece
$1e61 = !20
$1e6b = NextByte
SECTION: $1e8b-$202d ($01a3 bytes) ["Level Functions"]
$1e8b = LevelInit
$1edb = LevelUp
$1eff = LevelUp.doit
$1f43 = LevelUp.checknlevel
$1f71 = !0
$1f89 = !1
$1f92 = LevelUp.bellmaybe
$1fa4 = LevelUp.leveljinglemaybe
$1fb1 = LevelUp.checkspeedup
$1fc2 = !2
$1fcf = !3
$1fe0 = !4
$1fed = DoSpeedUp
SECTION: $202e-$21a3 ($0176 bytes) ["Grading Functions"]
$202e = GradeInit
$204f = GradeInit.notdeat
$205d = GradeInit.notshir
$2064 = UpdateGrade
$2072 = UpdateGrade.gradejumptable
$2084 = PrepareScore
$209b = UpdateGradeTGM1
$20a5 = UpdateGradeTGM1.trygradeup
$20bf = UpdateGradeTGM1.increasegrade
$20d1 = UpdateGradeTGM1.skipjingle
$20de = UpdateGradeTGM1.maybegm
$20f4 = UpdateGradeDEAT
$2100 = UpdateGradeDEAT.notgm
$2119 = UpdateGradeDEAT.notm
$2139 = UpdateGradeDEAT.disqualify
$213f = UpdateGradeSHIR
$217f = UpdateGradeSHIR.s5torikan
$218f = UpdateGradeSHIR.s10torikan
$219e = UpdateGradeSHIR.disqualify
SECTION: $21a4-$22a5 ($0102 bytes) ["Grading Data"]
$21a4 = sTGM1GradeScores
$21c6 = sTGM3InternalGradeSystem
$2266 = sTGM3GradeBoosts
$2285 = sTGM3LevelMultiplier
$2289 = sTGM3BaselineCOOL
$2292 = sTGM3REGRETConditions
SECTION: $22a6-$2372 ($00cd bytes) ["Input Functions"]
$22a6 = InputInit
$22b8 = GetInput
$22b8 = GetInput.btns
$22c5 = GetInput.readA
$22c9 = GetInput.setA
$22d4 = GetInput.clearA
$22d7 = GetInput.readB
$22db = GetInput.setB
$22e6 = GetInput.clearB
$22e9 = GetInput.readSelect
$22ed = GetInput.setSelect
$22f8 = GetInput.clearSelect
$22fb = GetInput.readStart
$22ff = GetInput.setStart
$230a = GetInput.clearStart
$230d = GetInput.dpad
$231a = GetInput.readUp
$231e = GetInput.setUp
$2329 = GetInput.clearUp
$232c = GetInput.readDown
$2330 = GetInput.setDown
$233b = GetInput.clearDown
$233e = GetInput.readLeft
$2342 = GetInput.setLeft
$234d = GetInput.clearLeft
$2350 = GetInput.readRight
$2354 = GetInput.setRight
$235f = GetInput.clearRight
$2362 = GetInput.priorities
$236d = GetInput.zero
SECTION: $2373-$243e ($00cc bytes) ["Score Functions"]
$2373 = ScoreInit
$2393 = IncreaseScore
$23c7 = IncreaseScore.doConvert
$23c9 = !0
$23df = IncreaseScore.carry
$23e1 = IncreaseScore.postConvert
$23ee = !1
$23f5 = IncreaseScore.preAddDigit
$2415 = IncreaseScore.addDigit
$242b = IncreaseScore.nextDigit
SECTION: $243f-$24f5 ($00b7 bytes) ["SRAM Functions"]
$243f = RestoreSRAM
$2498 = InitializeSRAM
SECTION: $24f6-$2599 ($00a4 bytes) ["Code Entry Point"]
$24f6 = Main
$250b = Main.wvr_u1
$2514 = !0
$2524 = Main.notgbc
$2553 = Main.wvb_u2
$2558 = !1
$255e = EventLoop
$2574 = EventLoop.eventloopjumps
$257d = EventLoopPostHandler
$257f = EventLoopPostHandler.wvb_u3
$2591 = EventLoopPostHandler.vblankjumps
SECTION: $259a-$2607 ($006e bytes) ["Title Function Trampolines"]
$259a = SwitchToTitle
$25a4 = TitleEventLoopHandler
$25ae = TitleVBlankHandler
$25b8 = DrawOption6
SECTION: $2608-$2670 ($0069 bytes) ["Time Functions"]
$2608 = TimeInit
$261d = ResetGameTime
$2628 = CheckTorikan
$263f = CheckTorikan.failure
$2641 = CheckTorikan.success
$2644 = HandleTimers
SECTION: $2671-$26c2 ($0052 bytes) ["Tile Functions"]
$2671 = LoadTitleTiles
$268f = LoadGameplayTiles
$26a5 = LoadGameplayTiles.gbc
$26b4 = LoadGameplayTiles.dmg
SECTION: $26c3-$26f0 ($002e bytes) ["Memory Functions"]
$26c3 = UnsafeMemCopy
$26cc = SafeMemCopy.wvr_u1
$26cc = SafeMemCopy
$26db = UnsafeMemSet
$26e3 = SafeMemSet
$26e3 = SafeMemSet.wvr_u2
SECTION: $26f1-$2718 ($0028 bytes) ["Gameplay Function Trampolines"]
$26f1 = SwitchToGameplay
$26fb = SwitchToGameplayBig
$2705 = GamePlayEventLoopHandler
$270f = GamePlayBigEventLoopHandler
SECTION: $2719-$273a ($0022 bytes) ["OAM Functions"]
$2719 = CopyOAMHandler
$2725 = ClearOAM
SECTION: $273b-$2753 ($0019 bytes) ["Interrupt Initialization Functions"]
$273b = IntrInit
$273f = InitializeLCDCInterrupt
SECTION: $2754-$275d ($000a bytes) ["OAM DMA Code"]
$2754 = OAMDMA
$275e = OAMDMAEnd
EMPTY: $275e-$3fff ($18a2 bytes)
TOTAL EMPTY: $18ad bytes
$1979 = GradeRendering.effect
$1989 = GradeRendering.noeffect
$1991 = GradeRendering.drawgrade
$1998 = GradeRendering.regulargrade
$19a0 = GradeRendering.sgrade
$19b6 = GradeRendering.hisgrade
$19cc = GradeRendering.mgrade
$19e2 = GradeRendering.lettergrade
$19ff = GradeRendering.mk
$1a05 = GradeRendering.mv
$1a0b = GradeRendering.mo
$1a11 = GradeRendering.mm
$1a17 = GradeRendering.gmgrade
SECTION: $1a22-$1cb8 ($0297 bytes) ["SFX Functions"]
$1a22 = SFXInit
$1a44 = SFXPopQueue
$1a59 = SFXPushQueue
$1a6a = SFXProcessQueue
$1a77 = !0
$1a98 = SFXTriggerNoise
$1aa5 = !1
$1ab2 = !2
$1abe = SFXEnqueue
$1ad3 = SFXEnqueue.findsfx
$1ae8 = !3
$1af8 = !4
$1b08 = !5
$1b18 = !6
$1b28 = !7
$1b38 = !8
$1b48 = !9
$1b58 = !10
$1b68 = !11
$1b78 = !12
$1b88 = !13
$1b98 = !14
$1ba8 = !15
$1bb8 = !16
$1bc8 = !17
$1bd7 = !18
$1be6 = !19
$1bf5 = !20
$1c03 = !21
$1c11 = !22
$1c1f = !23
$1c2c = SFXKill
$1c57 = SFXPlayNoise
$1c62 = SFXPlayNoise.noisereg
$1c6f = !24
$1c79 = SFXPlayNoise.savenoiseplayhead
$1c82 = SFXPlay
$1c8d = !25
$1c90 = SFXPlay.play
$1c9c = SFXPlay.getRegister
$1ca6 = !26
$1cb0 = SFXPlay.savePlayhead
SECTION: $1cb9-$1ea6 ($01ee bytes) ["RNG Functions"]
$1cb9 = RNGInit
$1ce9 = !0
$1d04 = RNGInit.complexinit
$1d1b = !1
$1d35 = ShiftHistory
$1d52 = GetNextHellPiece
$1d57 = GetNextTGM1Piece
$1d5a = !2
$1d72 = !3
$1d74 = GetNextTGM2Piece
$1d77 = !4
$1d8f = !5
$1d91 = GetNextNesPiece
$1d9f = GetNextTGM3Piece
$1da2 = !6
$1dc5 = !7
$1dc8 = !8
$1dd8 = !9
$1de2 = !10
$1df0 = !11
$1dff = !12
$1e0b = !13
$1e17 = !14
$1e23 = !15
$1e2f = !16
$1e3b = !17
$1e47 = !18
$1e56 = GetNextPiece
$1e64 = GetNextPiece.nextpiecejumps
$1e73 = Next35Piece
$1e73 = !19
$1e7d = Next7Piece
$1e7d = !20
$1e87 = NextByte
SECTION: $1ea7-$2049 ($01a3 bytes) ["Level Functions"]
$1ea7 = LevelInit
$1ef7 = LevelUp
$1f1b = LevelUp.doit
$1f5f = LevelUp.checknlevel
$1f8d = !0
$1fa5 = !1
$1fae = LevelUp.bellmaybe
$1fc0 = LevelUp.leveljinglemaybe
$1fcd = LevelUp.checkspeedup
$1fde = !2
$1feb = !3
$1ffc = !4
$2009 = DoSpeedUp
SECTION: $204a-$21bf ($0176 bytes) ["Grading Functions"]
$204a = GradeInit
$206b = GradeInit.notdeat
$2079 = GradeInit.notshir
$2080 = UpdateGrade
$208e = UpdateGrade.gradejumptable
$20a0 = PrepareScore
$20b7 = UpdateGradeTGM1
$20c1 = UpdateGradeTGM1.trygradeup
$20db = UpdateGradeTGM1.increasegrade
$20ed = UpdateGradeTGM1.skipjingle
$20fa = UpdateGradeTGM1.maybegm
$2110 = UpdateGradeDEAT
$211c = UpdateGradeDEAT.notgm
$2135 = UpdateGradeDEAT.notm
$2155 = UpdateGradeDEAT.disqualify
$215b = UpdateGradeSHIR
$219b = UpdateGradeSHIR.s5torikan
$21ab = UpdateGradeSHIR.s10torikan
$21ba = UpdateGradeSHIR.disqualify
SECTION: $21c0-$22c1 ($0102 bytes) ["Grading Data"]
$21c0 = sTGM1GradeScores
$21e2 = sTGM3InternalGradeSystem
$2282 = sTGM3GradeBoosts
$22a1 = sTGM3LevelMultiplier
$22a5 = sTGM3BaselineCOOL
$22ae = sTGM3REGRETConditions
SECTION: $22c2-$238e ($00cd bytes) ["Input Functions"]
$22c2 = InputInit
$22d4 = GetInput
$22d4 = GetInput.btns
$22e1 = GetInput.readA
$22e5 = GetInput.setA
$22f0 = GetInput.clearA
$22f3 = GetInput.readB
$22f7 = GetInput.setB
$2302 = GetInput.clearB
$2305 = GetInput.readSelect
$2309 = GetInput.setSelect
$2314 = GetInput.clearSelect
$2317 = GetInput.readStart
$231b = GetInput.setStart
$2326 = GetInput.clearStart
$2329 = GetInput.dpad
$2336 = GetInput.readUp
$233a = GetInput.setUp
$2345 = GetInput.clearUp
$2348 = GetInput.readDown
$234c = GetInput.setDown
$2357 = GetInput.clearDown
$235a = GetInput.readLeft
$235e = GetInput.setLeft
$2369 = GetInput.clearLeft
$236c = GetInput.readRight
$2370 = GetInput.setRight
$237b = GetInput.clearRight
$237e = GetInput.priorities
$2389 = GetInput.zero
SECTION: $238f-$245a ($00cc bytes) ["Score Functions"]
$238f = ScoreInit
$23af = IncreaseScore
$23e3 = IncreaseScore.doConvert
$23e5 = !0
$23fb = IncreaseScore.carry
$23fd = IncreaseScore.postConvert
$240a = !1
$2411 = IncreaseScore.preAddDigit
$2431 = IncreaseScore.addDigit
$2447 = IncreaseScore.nextDigit
SECTION: $245b-$2511 ($00b7 bytes) ["SRAM Functions"]
$245b = RestoreSRAM
$24b4 = InitializeSRAM
SECTION: $2512-$25b5 ($00a4 bytes) ["Code Entry Point"]
$2512 = Main
$2527 = Main.wvr_u1
$2530 = !0
$2540 = Main.notgbc
$256f = Main.wvb_u2
$2574 = !1
$257a = EventLoop
$2590 = EventLoop.eventloopjumps
$2599 = EventLoopPostHandler
$259b = EventLoopPostHandler.wvb_u3
$25ad = EventLoopPostHandler.vblankjumps
SECTION: $25b6-$2623 ($006e bytes) ["Title Function Trampolines"]
$25b6 = SwitchToTitle
$25c0 = TitleEventLoopHandler
$25ca = TitleVBlankHandler
$25d4 = DrawOption6
SECTION: $2624-$268c ($0069 bytes) ["Time Functions"]
$2624 = TimeInit
$2639 = ResetGameTime
$2644 = CheckTorikan
$265b = CheckTorikan.failure
$265d = CheckTorikan.success
$2660 = HandleTimers
SECTION: $268d-$26de ($0052 bytes) ["Tile Functions"]
$268d = LoadTitleTiles
$26ab = LoadGameplayTiles
$26c1 = LoadGameplayTiles.gbc
$26d0 = LoadGameplayTiles.dmg
SECTION: $26df-$270c ($002e bytes) ["Memory Functions"]
$26df = UnsafeMemCopy
$26e8 = SafeMemCopy.wvr_u1
$26e8 = SafeMemCopy
$26f7 = UnsafeMemSet
$26ff = SafeMemSet
$26ff = SafeMemSet.wvr_u2
SECTION: $270d-$2734 ($0028 bytes) ["Gameplay Function Trampolines"]
$270d = SwitchToGameplay
$2717 = SwitchToGameplayBig
$2721 = GamePlayEventLoopHandler
$272b = GamePlayBigEventLoopHandler
SECTION: $2735-$2756 ($0022 bytes) ["OAM Functions"]
$2735 = CopyOAMHandler
$2741 = ClearOAM
SECTION: $2757-$276f ($0019 bytes) ["Interrupt Initialization Functions"]
$2757 = IntrInit
$275b = InitializeLCDCInterrupt
SECTION: $2770-$2779 ($000a bytes) ["OAM DMA Code"]
$2770 = OAMDMA
$277a = OAMDMAEnd
EMPTY: $277a-$3fff ($1886 bytes)
TOTAL EMPTY: $1891 bytes
ROMX bank #1:
SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"]
@ -2368,7 +2369,7 @@ HRAM bank #0:
TOTAL EMPTY: $0006 bytes
SUMMARY:
ROM0: 10067 bytes used / 6317 free
ROM0: 10095 bytes used / 6289 free
ROMX: 56500 bytes used / 41804 free in 6 banks
SRAM: 14 bytes used / 8178 free in 1 bank
WRAM0: 3494 bytes used / 602 free

Binary file not shown.

View File

@ -103,158 +103,159 @@
00:1841 ApplyNumbers4
00:185d SetNumberSpritePositions
00:1944 GradeRendering
00:1973 GradeRendering.effect
00:1983 GradeRendering.noeffect
00:198b GradeRendering.drawgrade
00:1992 GradeRendering.regulargrade
00:199a GradeRendering.sgrade
00:19b0 GradeRendering.mgrade
00:19c6 GradeRendering.lettergrade
00:19e3 GradeRendering.mk
00:19e9 GradeRendering.mv
00:19ef GradeRendering.mo
00:19f5 GradeRendering.mm
00:19fb GradeRendering.gmgrade
00:1a06 SFXInit
00:1a28 SFXPopQueue
00:1a3d SFXPushQueue
00:1a4e SFXProcessQueue
00:1a7c SFXTriggerNoise
00:1aa2 SFXEnqueue
00:1ab7 SFXEnqueue.findsfx
00:1c10 SFXKill
00:1c3b SFXPlayNoise
00:1c46 SFXPlayNoise.noisereg
00:1c5d SFXPlayNoise.savenoiseplayhead
00:1c66 SFXPlay
00:1c74 SFXPlay.play
00:1c80 SFXPlay.getRegister
00:1c94 SFXPlay.savePlayhead
00:1c9d RNGInit
00:1ce8 RNGInit.complexinit
00:1d19 ShiftHistory
00:1d36 GetNextHellPiece
00:1d3b GetNextTGM1Piece
00:1d58 GetNextTGM2Piece
00:1d75 GetNextNesPiece
00:1d83 GetNextTGM3Piece
00:1e3a GetNextPiece
00:1e48 GetNextPiece.nextpiecejumps
00:1e57 Next35Piece
00:1e61 Next7Piece
00:1e6b NextByte
00:1e8b LevelInit
00:1edb LevelUp
00:1eff LevelUp.doit
00:1f43 LevelUp.checknlevel
00:1f92 LevelUp.bellmaybe
00:1fa4 LevelUp.leveljinglemaybe
00:1fb1 LevelUp.checkspeedup
00:1fed DoSpeedUp
00:202e GradeInit
00:204f GradeInit.notdeat
00:205d GradeInit.notshir
00:2064 UpdateGrade
00:2072 UpdateGrade.gradejumptable
00:2084 PrepareScore
00:209b UpdateGradeTGM1
00:20a5 UpdateGradeTGM1.trygradeup
00:20bf UpdateGradeTGM1.increasegrade
00:20d1 UpdateGradeTGM1.skipjingle
00:20de UpdateGradeTGM1.maybegm
00:20f4 UpdateGradeDEAT
00:2100 UpdateGradeDEAT.notgm
00:2119 UpdateGradeDEAT.notm
00:2139 UpdateGradeDEAT.disqualify
00:213f UpdateGradeSHIR
00:217f UpdateGradeSHIR.s5torikan
00:218f UpdateGradeSHIR.s10torikan
00:219e UpdateGradeSHIR.disqualify
00:21a4 sTGM1GradeScores
00:21c6 sTGM3InternalGradeSystem
00:2266 sTGM3GradeBoosts
00:2285 sTGM3LevelMultiplier
00:2289 sTGM3BaselineCOOL
00:2292 sTGM3REGRETConditions
00:22a6 InputInit
00:22b8 GetInput
00:22b8 GetInput.btns
00:22c5 GetInput.readA
00:22c9 GetInput.setA
00:22d4 GetInput.clearA
00:22d7 GetInput.readB
00:22db GetInput.setB
00:22e6 GetInput.clearB
00:22e9 GetInput.readSelect
00:22ed GetInput.setSelect
00:22f8 GetInput.clearSelect
00:22fb GetInput.readStart
00:22ff GetInput.setStart
00:230a GetInput.clearStart
00:230d GetInput.dpad
00:231a GetInput.readUp
00:231e GetInput.setUp
00:2329 GetInput.clearUp
00:232c GetInput.readDown
00:2330 GetInput.setDown
00:233b GetInput.clearDown
00:233e GetInput.readLeft
00:2342 GetInput.setLeft
00:234d GetInput.clearLeft
00:2350 GetInput.readRight
00:2354 GetInput.setRight
00:235f GetInput.clearRight
00:2362 GetInput.priorities
00:236d GetInput.zero
00:2373 ScoreInit
00:2393 IncreaseScore
00:23c7 IncreaseScore.doConvert
00:23df IncreaseScore.carry
00:23e1 IncreaseScore.postConvert
00:23f5 IncreaseScore.preAddDigit
00:2415 IncreaseScore.addDigit
00:242b IncreaseScore.nextDigit
00:243f RestoreSRAM
00:2498 InitializeSRAM
00:24f6 Main
00:250b Main.wvr_u1
00:2524 Main.notgbc
00:2553 Main.wvb_u2
00:255e EventLoop
00:2574 EventLoop.eventloopjumps
00:257d EventLoopPostHandler
00:257f EventLoopPostHandler.wvb_u3
00:2591 EventLoopPostHandler.vblankjumps
00:259a SwitchToTitle
00:25a4 TitleEventLoopHandler
00:25ae TitleVBlankHandler
00:25b8 DrawOption6
00:2608 TimeInit
00:261d ResetGameTime
00:2628 CheckTorikan
00:263f CheckTorikan.failure
00:2641 CheckTorikan.success
00:2644 HandleTimers
00:2671 LoadTitleTiles
00:268f LoadGameplayTiles
00:26a5 LoadGameplayTiles.gbc
00:26b4 LoadGameplayTiles.dmg
00:26c3 UnsafeMemCopy
00:26cc SafeMemCopy.wvr_u1
00:26cc SafeMemCopy
00:26db UnsafeMemSet
00:26e3 SafeMemSet
00:26e3 SafeMemSet.wvr_u2
00:26f1 SwitchToGameplay
00:26fb SwitchToGameplayBig
00:2705 GamePlayEventLoopHandler
00:270f GamePlayBigEventLoopHandler
00:2719 CopyOAMHandler
00:2725 ClearOAM
00:273b IntrInit
00:273f InitializeLCDCInterrupt
00:2754 OAMDMA
00:275e OAMDMAEnd
00:1979 GradeRendering.effect
00:1989 GradeRendering.noeffect
00:1991 GradeRendering.drawgrade
00:1998 GradeRendering.regulargrade
00:19a0 GradeRendering.sgrade
00:19b6 GradeRendering.hisgrade
00:19cc GradeRendering.mgrade
00:19e2 GradeRendering.lettergrade
00:19ff GradeRendering.mk
00:1a05 GradeRendering.mv
00:1a0b GradeRendering.mo
00:1a11 GradeRendering.mm
00:1a17 GradeRendering.gmgrade
00:1a22 SFXInit
00:1a44 SFXPopQueue
00:1a59 SFXPushQueue
00:1a6a SFXProcessQueue
00:1a98 SFXTriggerNoise
00:1abe SFXEnqueue
00:1ad3 SFXEnqueue.findsfx
00:1c2c SFXKill
00:1c57 SFXPlayNoise
00:1c62 SFXPlayNoise.noisereg
00:1c79 SFXPlayNoise.savenoiseplayhead
00:1c82 SFXPlay
00:1c90 SFXPlay.play
00:1c9c SFXPlay.getRegister
00:1cb0 SFXPlay.savePlayhead
00:1cb9 RNGInit
00:1d04 RNGInit.complexinit
00:1d35 ShiftHistory
00:1d52 GetNextHellPiece
00:1d57 GetNextTGM1Piece
00:1d74 GetNextTGM2Piece
00:1d91 GetNextNesPiece
00:1d9f GetNextTGM3Piece
00:1e56 GetNextPiece
00:1e64 GetNextPiece.nextpiecejumps
00:1e73 Next35Piece
00:1e7d Next7Piece
00:1e87 NextByte
00:1ea7 LevelInit
00:1ef7 LevelUp
00:1f1b LevelUp.doit
00:1f5f LevelUp.checknlevel
00:1fae LevelUp.bellmaybe
00:1fc0 LevelUp.leveljinglemaybe
00:1fcd LevelUp.checkspeedup
00:2009 DoSpeedUp
00:204a GradeInit
00:206b GradeInit.notdeat
00:2079 GradeInit.notshir
00:2080 UpdateGrade
00:208e UpdateGrade.gradejumptable
00:20a0 PrepareScore
00:20b7 UpdateGradeTGM1
00:20c1 UpdateGradeTGM1.trygradeup
00:20db UpdateGradeTGM1.increasegrade
00:20ed UpdateGradeTGM1.skipjingle
00:20fa UpdateGradeTGM1.maybegm
00:2110 UpdateGradeDEAT
00:211c UpdateGradeDEAT.notgm
00:2135 UpdateGradeDEAT.notm
00:2155 UpdateGradeDEAT.disqualify
00:215b UpdateGradeSHIR
00:219b UpdateGradeSHIR.s5torikan
00:21ab UpdateGradeSHIR.s10torikan
00:21ba UpdateGradeSHIR.disqualify
00:21c0 sTGM1GradeScores
00:21e2 sTGM3InternalGradeSystem
00:2282 sTGM3GradeBoosts
00:22a1 sTGM3LevelMultiplier
00:22a5 sTGM3BaselineCOOL
00:22ae sTGM3REGRETConditions
00:22c2 InputInit
00:22d4 GetInput
00:22d4 GetInput.btns
00:22e1 GetInput.readA
00:22e5 GetInput.setA
00:22f0 GetInput.clearA
00:22f3 GetInput.readB
00:22f7 GetInput.setB
00:2302 GetInput.clearB
00:2305 GetInput.readSelect
00:2309 GetInput.setSelect
00:2314 GetInput.clearSelect
00:2317 GetInput.readStart
00:231b GetInput.setStart
00:2326 GetInput.clearStart
00:2329 GetInput.dpad
00:2336 GetInput.readUp
00:233a GetInput.setUp
00:2345 GetInput.clearUp
00:2348 GetInput.readDown
00:234c GetInput.setDown
00:2357 GetInput.clearDown
00:235a GetInput.readLeft
00:235e GetInput.setLeft
00:2369 GetInput.clearLeft
00:236c GetInput.readRight
00:2370 GetInput.setRight
00:237b GetInput.clearRight
00:237e GetInput.priorities
00:2389 GetInput.zero
00:238f ScoreInit
00:23af IncreaseScore
00:23e3 IncreaseScore.doConvert
00:23fb IncreaseScore.carry
00:23fd IncreaseScore.postConvert
00:2411 IncreaseScore.preAddDigit
00:2431 IncreaseScore.addDigit
00:2447 IncreaseScore.nextDigit
00:245b RestoreSRAM
00:24b4 InitializeSRAM
00:2512 Main
00:2527 Main.wvr_u1
00:2540 Main.notgbc
00:256f Main.wvb_u2
00:257a EventLoop
00:2590 EventLoop.eventloopjumps
00:2599 EventLoopPostHandler
00:259b EventLoopPostHandler.wvb_u3
00:25ad EventLoopPostHandler.vblankjumps
00:25b6 SwitchToTitle
00:25c0 TitleEventLoopHandler
00:25ca TitleVBlankHandler
00:25d4 DrawOption6
00:2624 TimeInit
00:2639 ResetGameTime
00:2644 CheckTorikan
00:265b CheckTorikan.failure
00:265d CheckTorikan.success
00:2660 HandleTimers
00:268d LoadTitleTiles
00:26ab LoadGameplayTiles
00:26c1 LoadGameplayTiles.gbc
00:26d0 LoadGameplayTiles.dmg
00:26df UnsafeMemCopy
00:26e8 SafeMemCopy.wvr_u1
00:26e8 SafeMemCopy
00:26f7 UnsafeMemSet
00:26ff SafeMemSet
00:26ff SafeMemSet.wvr_u2
00:270d SwitchToGameplay
00:2717 SwitchToGameplayBig
00:2721 GamePlayEventLoopHandler
00:272b GamePlayBigEventLoopHandler
00:2735 CopyOAMHandler
00:2741 ClearOAM
00:2757 IntrInit
00:275b InitializeLCDCInterrupt
00:2770 OAMDMA
00:277a OAMDMAEnd
01:4008 sDMGTSpeedCurve
01:4210 sDMGTSpeedCurveEnd
01:4212 sTGM1SpeedCurve

View File

@ -655,7 +655,10 @@ GradeRendering::
cp a, GRADE_NONE
ret z
; If the effect timer is greater than 0, decrement it and do some palette magic.
; If the effect timer is greater than 0 and on even frames, decrement it and do some palette magic.
ldh a, [hFrameCtr]
cp a, 0
jr z, .noeffect
ld a, [wEffectTimer]
cp a, 0
jr z, .noeffect
@ -693,9 +696,9 @@ GradeRendering::
ret
.sgrade
; Is the grade M1 or better?
cp a, GRADE_M1
jr nc, .mgrade
; Is the grade S10 or better?
cp a, GRADE_S10
jr nc, .hisgrade
; Draw as S grade.
ld a, "S"
@ -708,13 +711,29 @@ GradeRendering::
ld [wGrade1+2], a
ret
.hisgrade
; Is the grade M1 or better?
cp a, GRADE_M1
jr nc, .mgrade
; Draw as high S grade.
ld a, "S"
ld [wGrade0+2], a
ld a, [wDisplayedGrade]
sub a, GRADE_S10
ld b, a
ld a, "a"
add a, b
ld [wGrade1+2], a
ret
.mgrade
; Is the grade one of the letter grades?
cp a, GRADE_M
jr nc, .lettergrade
; Draw as M grade.
ld a, "M"
ld a, "m"
ld [wGrade0+2], a
ld a, [wDisplayedGrade]
sub a, GRADE_M1
@ -730,7 +749,7 @@ GradeRendering::
jr z, .gmgrade
; Draw as MX grade.
ld a, "M"
ld a, "m"
ld [wGrade0+2], a
ld a, [wDisplayedGrade]
cp a, GRADE_M