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

Binary file not shown.

View File

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

View File

@ -655,7 +655,10 @@ GradeRendering::
cp a, GRADE_NONE cp a, GRADE_NONE
ret z 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] ld a, [wEffectTimer]
cp a, 0 cp a, 0
jr z, .noeffect jr z, .noeffect
@ -693,9 +696,9 @@ GradeRendering::
ret ret
.sgrade .sgrade
; Is the grade M1 or better? ; Is the grade S10 or better?
cp a, GRADE_M1 cp a, GRADE_S10
jr nc, .mgrade jr nc, .hisgrade
; Draw as S grade. ; Draw as S grade.
ld a, "S" ld a, "S"
@ -708,13 +711,29 @@ GradeRendering::
ld [wGrade1+2], a ld [wGrade1+2], a
ret 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 .mgrade
; Is the grade one of the letter grades? ; Is the grade one of the letter grades?
cp a, GRADE_M cp a, GRADE_M
jr nc, .lettergrade jr nc, .lettergrade
; Draw as M grade. ; Draw as M grade.
ld a, "M" ld a, "m"
ld [wGrade0+2], a ld [wGrade0+2], a
ld a, [wDisplayedGrade] ld a, [wDisplayedGrade]
sub a, GRADE_M1 sub a, GRADE_M1
@ -730,7 +749,7 @@ GradeRendering::
jr z, .gmgrade jr z, .gmgrade
; Draw as MX grade. ; Draw as MX grade.
ld a, "M" ld a, "m"
ld [wGrade0+2], a ld [wGrade0+2], a
ld a, [wDisplayedGrade] ld a, [wDisplayedGrade]
cp a, GRADE_M cp a, GRADE_M