diff --git a/bin/PandorasBlocks.gbc b/bin/PandorasBlocks.gbc index 6b1b0ed..34336d8 100644 Binary files a/bin/PandorasBlocks.gbc and b/bin/PandorasBlocks.gbc differ diff --git a/bin/PandorasBlocks.map b/bin/PandorasBlocks.map index 55e9d54..55d0664 100644 --- a/bin/PandorasBlocks.map +++ b/bin/PandorasBlocks.map @@ -232,362 +232,309 @@ ROM0 bank #0: $2141 = ChangeProfile.lninth $2150 = ChangeProfile.ltenth $215f = ResetProfile - SECTION: $21c2-$263a ($0479 bytes) ["Grading Functions"] - $21c2 = GradeInit - $21f6 = GradeInit.grade9start - $21fb = GradeInit.end - $21fd = UpdateGrade - $220b = UpdateGrade.gradejumptable - $2220 = DecayGradeProcess - $222e = DecayGradeProcess.gradejumptable - $2243 = DecayGradeDelay - $2251 = DecayGradeDelay.gradejumptable - $2266 = PrepareScore - $2279 = DrawGradeProgressDMGT - $2285 = !0 - $2294 = UpdateGradeDMGT - $22cd = UpdateGradeDMGT.checklineclears - $22e6 = UpdateGradeDMGT.clearrate - $22f7 = UpdateGradeDMGT.combomult - $2304 = UpdateGradeDMGT.combo13 - $2315 = UpdateGradeDMGT.combo8 - $2326 = UpdateGradeDMGT.combo1 - $2335 = UpdateGradeDMGT.prelevel - $2344 = UpdateGradeDMGT.single - $2354 = UpdateGradeDMGT.double - $2365 = UpdateGradeDMGT.adddonce - $2369 = UpdateGradeDMGT.triple - $237a = UpdateGradeDMGT.addtonce - $237e = UpdateGradeDMGT.tetris - $2382 = UpdateGradeDMGT.levelmult - $239a = UpdateGradeDMGT.mult4 - $23a0 = UpdateGradeDMGT.mult3 - $23a5 = UpdateGradeDMGT.mult2 - $23a9 = UpdateGradeDMGT.mult1 - $23aa = UpdateGradeDMGT.processgrade - $23d3 = UpdateGradeDMGT.increasegrademaybe - $23f7 = UpdateGradeDMGT.gotgm - $2405 = DecayGradeDMGT - $2428 = DecayGradeDMGT.nodecay - $242f = DecayGradeDMGT.decay - $243d = UpdateGradeTGM1 - $244d = UpdateGradeTGM1.trygradeup - $2468 = UpdateGradeTGM1.increasegrade - $247d = UpdateGradeTGM1.skipjingle - $2489 = UpdateGradeTGM1.check300 - $24a7 = UpdateGradeTGM1.success300 - $24ae = UpdateGradeTGM1.fail300 - $24b5 = UpdateGradeTGM1.check500 - $24d3 = UpdateGradeTGM1.success500 - $24da = UpdateGradeTGM1.fail500 - $24e1 = UpdateGradeTGM1.check999 - $2518 = UpdateGradeTGM1.success999 - $2530 = UpdateGradeTGM1.fail999 - $2536 = UpdateGradeDEAT - $2542 = UpdateGradeDEAT.notgm - $255e = UpdateGradeDEAT.notm - $2581 = UpdateGradeDEAT.disqualify - $259f = UpdateGradeSHIR - $25e1 = UpdateGradeSHIR.s5torikan - $25f1 = UpdateGradeSHIR.s10torikan - $2600 = UpdateGradeSHIR.disqualify - $260f = UpdateGradeSHIR.l1000 - $2625 = UpdateGradeSHIR.l500 - SECTION: $263b-$2a2e ($03f4 bytes) ["Level Functions"] - $263b = LevelInit - $26ab = SpecialLevelInit - $26b9 = SpecialLevelInit.jumps - $26ce = SpecialLevelInit.dmgt - $26d3 = SpecialLevelInit.tgm1 - $26d8 = SpecialLevelInit.tgm3 - $26dd = SpecialLevelInit.deat - $26e2 = SpecialLevelInit.shir - $26e7 = SpecialLevelInit.chil - $26ec = SpecialLevelInit.myco - $26f1 = SpecialLevelInit.loaddata - $2726 = LevelUp - $2750 = LevelUp.doit - $278f = LevelUp.checknlevel - $27c0 = !0 - $27d8 = !1 - $27e1 = LevelUp.bellmaybe - $27fd = LevelUp.leveljinglemaybe - $280d = AdjustSpeedCurve - $2813 = AdjustSpeedCurve.docheck - $2813 = AdjustSpeedCurve.checkthousands - $2822 = AdjustSpeedCurve.checkhundreds - $282f = AdjustSpeedCurve.checktens - $283e = AdjustSpeedCurve.checkones - $2849 = AdjustSpeedCurveForced - $2884 = AdjustSpeedCurveForced.continue - $2889 = BuildTrueCLevel - $28b1 = BuildTrueCLevel.thousands - $28c6 = CheckSpecialLevelConditions - $28f7 = CheckSpecialLevelConditions.override - $2912 = CheckSpecialLevelConditions.nooverride - $2918 = CheckSpecialLevelConditions.speciallock - $293c = CheckSpecialLevelConditions.bones - $2951 = CheckSpecialLevelConditions.enterthebonezone - $2956 = CheckSpecialLevelConditions.invis - $296b = CheckSpecialLevelConditions.vanishoxyaction - $2970 = CheckSpecialLevelConditions.killscreen - $2981 = CheckSpecialLevelConditions.rip - $29b1 = CheckSpecialLevelConditions.staffroll - $29bf = CheckSpecialLevelConditions.justkill - $29d3 = TriggerKillScreen - $29f5 = GetSection - $2a03 = GetSectionBCD - $2a0c = GetAdjustedSection - $2a1a = GetAdjustedSectionBCD - $2a23 = SkipSection - SECTION: $2a2f-$2ce4 ($02b6 bytes) ["Grading Data"] - $2a2f = sTGM1GradeScores - $2a51 = sTGM3InternalGradeSystem - $2af1 = sTGM3GradeBoosts - $2b10 = sTGM3LevelMultiplier - $2b14 = sTGM3BaselineCOOL - $2b1d = sTGM3REGRETConditions - $2b31 = sDMGTGrading - $2be5 = sDMGTGaugeLUT - SECTION: $2ce5-$2f84 ($02a0 bytes) ["SFX Functions"] - $2ce5 = SFXInit - $2d07 = SFXPopQueue - $2d1c = SFXPushQueue - $2d2d = SFXProcessQueue - $2d3e = !0 - $2d59 = !1 - $2d5b = SFXTriggerNoise - $2d68 = !2 - $2d75 = !3 - $2d81 = SFXEnqueue - $2d96 = SFXEnqueue.findsfx - $2dab = !4 - $2dbb = !5 - $2dcb = !6 - $2ddb = !7 - $2deb = !8 - $2dfb = !9 - $2e0b = !10 - $2e1b = !11 - $2e2b = !12 - $2e3b = !13 - $2e4b = !14 - $2e5b = !15 - $2e6b = !16 - $2e7b = !17 - $2e8b = !18 - $2e9a = !19 - $2ea9 = !20 - $2eb8 = !21 - $2ec7 = !22 - $2ed5 = !23 - $2ee3 = !24 - $2ef0 = SFXKill - $2f23 = SFXPlayNoise - $2f2e = SFXPlayNoise.noisereg - $2f3b = !25 - $2f45 = SFXPlayNoise.savenoiseplayhead - $2f4e = SFXPlay - $2f59 = !26 - $2f5c = SFXPlay.play - $2f68 = SFXPlay.getRegister - $2f72 = !27 - $2f7c = SFXPlay.savePlayhead - SECTION: $2f85-$31b4 ($0230 bytes) ["RNG Functions"] - $2f85 = HarvestEntropy - $2f8b = HarvestEntropy.loop - $2fac = RNGInit - $2fe2 = !0 - $3012 = RNGInit.complexinit - $3029 = !1 - $3044 = ShiftHistory - $3061 = GetNextHellPiece - $3066 = GetNextTGM1Piece - $3069 = !2 - $3081 = !3 - $3083 = GetNextTGM2Piece - $3086 = !4 - $309e = !5 - $30a0 = GetNextNesPiece - $30ae = GetNextTGM3Piece - $30b1 = !6 - $30d4 = !7 - $30d7 = !8 - $30e7 = !9 - $30f1 = !10 - $30ff = !11 - $310d = !12 - $3119 = !13 - $3125 = !14 - $3131 = !15 - $313d = !16 - $3149 = !17 - $3155 = !18 - $3164 = GetNextPiece - $3172 = GetNextPiece.nextpiecejumps - $3181 = Next35Piece - $3181 = !19 - $318b = Next7Piece - $318b = !20 - $3195 = NextByte - SECTION: $31b5-$3379 ($01c5 bytes) ["Hi Score Functions"] - $31b5 = CheckAndAddHiscore - $31bf = CheckAndAddHiscore.checkloop - $31c4 = CheckAndAddHiscore.checkgrade - $31cd = CheckAndAddHiscore.oldgraded - $31dc = CheckAndAddHiscore.oldungraded - $31e3 = CheckAndAddHiscore.checklevel - $3208 = CheckAndAddHiscore.checkscore - $324b = CheckAndAddHiscore.notbetter - $3258 = CheckAndAddHiscore.better - $325a = InsertHiScore - $325a = InsertHiScore.copylower - $326b = InsertHiScore.copyupper - $3277 = !0 - $328b = InsertHiScore.findrow - $3297 = !1 - $329b = InsertHiScore.insert - $32f4 = InsertHiScore.persist - $3305 = GetHiScoreEntry - $3319 = !2 - $331d = GetHiScoreEntry.store - $3326 = InitTargetHSTable - $3331 = InitTargetHSTable.jumps - $3346 = InitTargetHSTable.dmgt - $334b = InitTargetHSTable.tgm1 - $3350 = InitTargetHSTable.tgm3 - $3355 = InitTargetHSTable.deat - $335a = InitTargetHSTable.shir - $335f = InitTargetHSTable.chil - $3364 = InitTargetHSTable.myco - $3367 = InitTargetHSTable.store - SECTION: $337a-$34c3 ($014a bytes) ["Progress Data"] - $337a = sProgressData - SECTION: $34c4-$3603 ($0140 bytes) ["Hi Score Data"] - $34c4 = sHiscoreDefaultData - SECTION: $3604-$372d ($012a bytes) ["Input Functions"] - $3604 = InputInit - $3616 = GetInput - $3616 = GetInput.btns - $3623 = GetInput.readA - $3627 = GetInput.setA - $3632 = GetInput.clearA - $3635 = GetInput.readB - $3639 = GetInput.setB - $3644 = GetInput.clearB - $3647 = GetInput.readSelect - $364b = GetInput.setSelect - $3656 = GetInput.clearSelect - $3659 = GetInput.readStart - $365d = GetInput.setStart - $3668 = GetInput.clearStart - $366b = GetInput.dpad - $3678 = GetInput.readUp - $367c = GetInput.setUp - $3687 = GetInput.clearUp - $368a = GetInput.readDown - $368e = GetInput.setDown - $3699 = GetInput.clearDown - $369c = GetInput.readLeft - $36a0 = GetInput.setLeft - $36ab = GetInput.clearLeft - $36ae = GetInput.readRight - $36b2 = GetInput.setRight - $36bd = GetInput.clearRight - $36c0 = GetInput.priorities - $36cd = GetInput.jumps - $36dc = GetInput.dlru - $36ec = GetInput.ulrd - $36fc = GetInput.lrud - $3707 = GetInput.udlr - $3712 = GetInput.zeroud - $3718 = GetInput.zerolr - $371e = GetInput.zerolrd - $3726 = GetInput.zerolru - SECTION: $372e-$380d ($00e0 bytes) ["Score Functions"] - $372e = ScoreInit - $3756 = IncreaseScore - $378e = IncreaseScore.doConvert - $3790 = !0 - $37a6 = IncreaseScore.carry - $37a8 = IncreaseScore.postConvert - $37b5 = !1 - $37bc = IncreaseScore.preAddDigit - $37e4 = IncreaseScore.addDigit - $37fa = IncreaseScore.nextDigit - SECTION: $380e-$38d8 ($00cb bytes) ["Title Function Trampolines"] - $380e = SwitchToTitle - $3817 = TitleEventLoopHandler - $3821 = TitleVBlankHandler - $382b = PersistLevel - $3839 = DrawSpeedMain - $3889 = DrawSpeedSettings - SECTION: $38d9-$399d ($00c5 bytes) ["Time Functions"] - $38d9 = TimeInit - $38f9 = StartCountdown - $3907 = ResetGameTime - $3912 = CheckTorikan - $3928 = CheckTorikan.failure - $392a = CheckTorikan.success - $392d = HandleTimers - $3953 = HandleTimers.reduce - $3960 = HandleTimers.clock - $397a = HandleTimers.go - SECTION: $399e-$3a4e ($00b1 bytes) ["Progress Functions"] - $399e = SetProgress - $39a8 = SetProgress.loop - $39ac = SetProgress.correct - $39d3 = SetProgress.wvr_u1 - $39df = SetProgress.wvr_u2 - $39ed = SetProgress.wvr_u3 - $39f9 = SetProgress.wvr_u4 - $3a07 = SetProgress.wvr_u5 - $3a13 = SetProgress.wvr_u6 - $3a21 = SetProgress.wvr_u7 - $3a2d = SetProgress.wvr_u8 - $3a3b = SetProgress.wvr_u9 - $3a47 = SetProgress.wvr_u10 - SECTION: $3a4f-$3ae6 ($0098 bytes) ["Code Entry Point"] - $3a4f = Main - $3a78 = Main.notgbc - $3a7e = Main.wvr_u1 - $3aab = EventLoop - $3ac1 = EventLoop.eventloopjumps - $3aca = EventLoopPostHandler - $3acc = EventLoopPostHandler.wvb_u2 - $3ade = EventLoopPostHandler.vblankjumps - SECTION: $3ae7-$3b38 ($0052 bytes) ["Tile Functions"] - $3ae7 = LoadTitleTiles - $3b05 = LoadGameplayTiles - $3b1b = LoadGameplayTiles.gbc - $3b2a = LoadGameplayTiles.dmg - SECTION: $3b39-$3b74 ($003c bytes) ["Time Data"] - $3b39 = sFramesToCS - SECTION: $3b75-$3ba2 ($002e bytes) ["Memory Functions"] - $3b75 = UnsafeMemCopy - $3b7e = SafeMemCopy.wvr_u1 - $3b7e = SafeMemCopy - $3b8d = UnsafeMemSet - $3b95 = SafeMemSet - $3b95 = SafeMemSet.wvr_u2 - SECTION: $3ba3-$3bc8 ($0026 bytes) ["Gameplay Function Trampolines"] - $3ba3 = SwitchToGameplay - $3bac = SwitchToGameplayBig - $3bb5 = GamePlayEventLoopHandler - $3bbf = GamePlayBigEventLoopHandler - SECTION: $3bc9-$3bed ($0025 bytes) ["Interrupt Initialization Functions"] - $3bc9 = EnableScreenSquish - $3be3 = DisableScreenSquish - SECTION: $3bee-$3c0f ($0022 bytes) ["OAM Functions"] - $3bee = CopyOAMHandler - $3bfa = ClearOAM - SECTION: $3c10-$3c1e ($000f bytes) ["Banking Functions"] - $3c10 = BankingInit - SECTION: $3c1f-$3c28 ($000a bytes) ["OAM DMA Code"] - $3c1f = OAMDMA - $3c29 = OAMDMAEnd - EMPTY: $3c29-$3fff ($03d7 bytes) - TOTAL EMPTY: $03e2 bytes + SECTION: $21c2-$261d ($045c bytes) ["Level Functions"] + $21c2 = LevelInit + $2232 = SpecialLevelInit + $2240 = SpecialLevelInit.jumps + $2255 = SpecialLevelInit.dmgt + $225a = SpecialLevelInit.tgm1 + $225f = SpecialLevelInit.tgm3 + $2264 = SpecialLevelInit.deat + $2269 = SpecialLevelInit.shir + $226e = SpecialLevelInit.chil + $2273 = SpecialLevelInit.myco + $2278 = SpecialLevelInit.loaddata + $22ad = LevelUp + $22d7 = LevelUp.doit + $2316 = LevelUp.checknlevel + $234a = !0 + $2362 = !1 + $236b = LevelUp.checkcool + $238c = LevelUp.checkregret + $23a9 = LevelUp.resetsectiontimer + $23cc = LevelUp.regretavailable + $23d0 = LevelUp.bellmaybe + $23ec = LevelUp.leveljinglemaybe + $23fc = AdjustSpeedCurve + $2402 = AdjustSpeedCurve.docheck + $2402 = AdjustSpeedCurve.checkthousands + $2411 = AdjustSpeedCurve.checkhundreds + $241e = AdjustSpeedCurve.checktens + $242d = AdjustSpeedCurve.checkones + $2438 = AdjustSpeedCurveForced + $2473 = AdjustSpeedCurveForced.continue + $2478 = BuildTrueCLevel + $24a0 = BuildTrueCLevel.thousands + $24b5 = CheckSpecialLevelConditions + $24e6 = CheckSpecialLevelConditions.override + $2501 = CheckSpecialLevelConditions.nooverride + $2507 = CheckSpecialLevelConditions.speciallock + $252b = CheckSpecialLevelConditions.bones + $2540 = CheckSpecialLevelConditions.enterthebonezone + $2545 = CheckSpecialLevelConditions.invis + $255a = CheckSpecialLevelConditions.vanishoxyaction + $255f = CheckSpecialLevelConditions.killscreen + $2570 = CheckSpecialLevelConditions.rip + $25a0 = CheckSpecialLevelConditions.staffroll + $25ae = CheckSpecialLevelConditions.justkill + $25c2 = TriggerKillScreen + $25e4 = GetSection + $25f2 = GetSectionBCD + $25fb = GetAdjustedSection + $2609 = GetAdjustedSectionBCD + $2612 = SkipSection + SECTION: $261e-$28bd ($02a0 bytes) ["SFX Functions"] + $261e = SFXInit + $2640 = SFXPopQueue + $2655 = SFXPushQueue + $2666 = SFXProcessQueue + $2677 = !0 + $2692 = !1 + $2694 = SFXTriggerNoise + $26a1 = !2 + $26ae = !3 + $26ba = SFXEnqueue + $26cf = SFXEnqueue.findsfx + $26e4 = !4 + $26f4 = !5 + $2704 = !6 + $2714 = !7 + $2724 = !8 + $2734 = !9 + $2744 = !10 + $2754 = !11 + $2764 = !12 + $2774 = !13 + $2784 = !14 + $2794 = !15 + $27a4 = !16 + $27b4 = !17 + $27c4 = !18 + $27d3 = !19 + $27e2 = !20 + $27f1 = !21 + $2800 = !22 + $280e = !23 + $281c = !24 + $2829 = SFXKill + $285c = SFXPlayNoise + $2867 = SFXPlayNoise.noisereg + $2874 = !25 + $287e = SFXPlayNoise.savenoiseplayhead + $2887 = SFXPlay + $2892 = !26 + $2895 = SFXPlay.play + $28a1 = SFXPlay.getRegister + $28ab = !27 + $28b5 = SFXPlay.savePlayhead + SECTION: $28be-$2aed ($0230 bytes) ["RNG Functions"] + $28be = HarvestEntropy + $28c4 = HarvestEntropy.loop + $28e5 = RNGInit + $291b = !0 + $294b = RNGInit.complexinit + $2962 = !1 + $297d = ShiftHistory + $299a = GetNextHellPiece + $299f = GetNextTGM1Piece + $29a2 = !2 + $29ba = !3 + $29bc = GetNextTGM2Piece + $29bf = !4 + $29d7 = !5 + $29d9 = GetNextNesPiece + $29e7 = GetNextTGM3Piece + $29ea = !6 + $2a0d = !7 + $2a10 = !8 + $2a20 = !9 + $2a2a = !10 + $2a38 = !11 + $2a46 = !12 + $2a52 = !13 + $2a5e = !14 + $2a6a = !15 + $2a76 = !16 + $2a82 = !17 + $2a8e = !18 + $2a9d = GetNextPiece + $2aab = GetNextPiece.nextpiecejumps + $2aba = Next35Piece + $2aba = !19 + $2ac4 = Next7Piece + $2ac4 = !20 + $2ace = NextByte + SECTION: $2aee-$2cb2 ($01c5 bytes) ["Hi Score Functions"] + $2aee = CheckAndAddHiscore + $2af8 = CheckAndAddHiscore.checkloop + $2afd = CheckAndAddHiscore.checkgrade + $2b06 = CheckAndAddHiscore.oldgraded + $2b15 = CheckAndAddHiscore.oldungraded + $2b1c = CheckAndAddHiscore.checklevel + $2b41 = CheckAndAddHiscore.checkscore + $2b84 = CheckAndAddHiscore.notbetter + $2b91 = CheckAndAddHiscore.better + $2b93 = InsertHiScore + $2b93 = InsertHiScore.copylower + $2ba4 = InsertHiScore.copyupper + $2bb0 = !0 + $2bc4 = InsertHiScore.findrow + $2bd0 = !1 + $2bd4 = InsertHiScore.insert + $2c2d = InsertHiScore.persist + $2c3e = GetHiScoreEntry + $2c52 = !2 + $2c56 = GetHiScoreEntry.store + $2c5f = InitTargetHSTable + $2c6a = InitTargetHSTable.jumps + $2c7f = InitTargetHSTable.dmgt + $2c84 = InitTargetHSTable.tgm1 + $2c89 = InitTargetHSTable.tgm3 + $2c8e = InitTargetHSTable.deat + $2c93 = InitTargetHSTable.shir + $2c98 = InitTargetHSTable.chil + $2c9d = InitTargetHSTable.myco + $2ca0 = InitTargetHSTable.store + SECTION: $2cb3-$2dfc ($014a bytes) ["Progress Data"] + $2cb3 = sProgressData + SECTION: $2dfd-$2f43 ($0147 bytes) ["Time Functions"] + $2dfd = TimeInit + $2e26 = StartCountdown + $2e34 = ResetGameTime + $2e48 = CheckTorikan + $2e5e = CheckTorikan.failure + $2e60 = CheckTorikan.success + $2e63 = HandleTimers + $2e89 = HandleTimers.reduce + $2e96 = HandleTimers.clock + $2eb0 = HandleTimers.go + $2ed4 = CheckCOOL_REGRET + $2eeb = CheckCOOL_REGRET.failure + $2eed = CheckCOOL_REGRET.success + $2ef0 = HandleSectionTimers + $2f0c = HandleSectionTimers.continue + $2f20 = HandleSectionTimers.sectiongo + SECTION: $2f44-$3083 ($0140 bytes) ["Hi Score Data"] + $2f44 = sHiscoreDefaultData + SECTION: $3084-$31ad ($012a bytes) ["Input Functions"] + $3084 = InputInit + $3096 = GetInput + $3096 = GetInput.btns + $30a3 = GetInput.readA + $30a7 = GetInput.setA + $30b2 = GetInput.clearA + $30b5 = GetInput.readB + $30b9 = GetInput.setB + $30c4 = GetInput.clearB + $30c7 = GetInput.readSelect + $30cb = GetInput.setSelect + $30d6 = GetInput.clearSelect + $30d9 = GetInput.readStart + $30dd = GetInput.setStart + $30e8 = GetInput.clearStart + $30eb = GetInput.dpad + $30f8 = GetInput.readUp + $30fc = GetInput.setUp + $3107 = GetInput.clearUp + $310a = GetInput.readDown + $310e = GetInput.setDown + $3119 = GetInput.clearDown + $311c = GetInput.readLeft + $3120 = GetInput.setLeft + $312b = GetInput.clearLeft + $312e = GetInput.readRight + $3132 = GetInput.setRight + $313d = GetInput.clearRight + $3140 = GetInput.priorities + $314d = GetInput.jumps + $315c = GetInput.dlru + $316c = GetInput.ulrd + $317c = GetInput.lrud + $3187 = GetInput.udlr + $3192 = GetInput.zeroud + $3198 = GetInput.zerolr + $319e = GetInput.zerolrd + $31a6 = GetInput.zerolru + SECTION: $31ae-$328d ($00e0 bytes) ["Score Functions"] + $31ae = ScoreInit + $31d6 = IncreaseScore + $320e = IncreaseScore.doConvert + $3210 = !0 + $3226 = IncreaseScore.carry + $3228 = IncreaseScore.postConvert + $3235 = !1 + $323c = IncreaseScore.preAddDigit + $3264 = IncreaseScore.addDigit + $327a = IncreaseScore.nextDigit + SECTION: $328e-$3358 ($00cb bytes) ["Title Function Trampolines"] + $328e = SwitchToTitle + $3297 = TitleEventLoopHandler + $32a1 = TitleVBlankHandler + $32ab = PersistLevel + $32b9 = DrawSpeedMain + $3309 = DrawSpeedSettings + SECTION: $3359-$3409 ($00b1 bytes) ["Progress Functions"] + $3359 = SetProgress + $3363 = SetProgress.loop + $3367 = SetProgress.correct + $338e = SetProgress.wvr_u1 + $339a = SetProgress.wvr_u2 + $33a8 = SetProgress.wvr_u3 + $33b4 = SetProgress.wvr_u4 + $33c2 = SetProgress.wvr_u5 + $33ce = SetProgress.wvr_u6 + $33dc = SetProgress.wvr_u7 + $33e8 = SetProgress.wvr_u8 + $33f6 = SetProgress.wvr_u9 + $3402 = SetProgress.wvr_u10 + SECTION: $340a-$34a4 ($009b bytes) ["Code Entry Point"] + $340a = Main + $3433 = Main.notgbc + $3439 = Main.wvr_u1 + $3466 = EventLoop + $347f = EventLoop.eventloopjumps + $3488 = EventLoopPostHandler + $348a = EventLoopPostHandler.wvb_u2 + $349c = EventLoopPostHandler.vblankjumps + SECTION: $34a5-$34f6 ($0052 bytes) ["Tile Functions"] + $34a5 = LoadTitleTiles + $34c3 = LoadGameplayTiles + $34d9 = LoadGameplayTiles.gbc + $34e8 = LoadGameplayTiles.dmg + SECTION: $34f7-$3532 ($003c bytes) ["Time Data"] + $34f7 = sFramesToCS + SECTION: $3533-$3568 ($0036 bytes) ["Grading Functions Unbanked"] + $3533 = GradeInit + $353c = UpdateGrade + $3545 = DecayGradeProcess + $354e = DecayGradeDelay + $3557 = TGM3REGRETHandler + $3560 = TGM3COOLHandler + SECTION: $3569-$3596 ($002e bytes) ["Memory Functions"] + $3569 = UnsafeMemCopy + $3572 = SafeMemCopy.wvr_u1 + $3572 = SafeMemCopy + $3581 = UnsafeMemSet + $3589 = SafeMemSet + $3589 = SafeMemSet.wvr_u2 + SECTION: $3597-$35bc ($0026 bytes) ["Gameplay Function Trampolines"] + $3597 = SwitchToGameplay + $35a0 = SwitchToGameplayBig + $35a9 = GamePlayEventLoopHandler + $35b3 = GamePlayBigEventLoopHandler + SECTION: $35bd-$35e1 ($0025 bytes) ["Interrupt Initialization Functions"] + $35bd = EnableScreenSquish + $35d7 = DisableScreenSquish + SECTION: $35e2-$3603 ($0022 bytes) ["OAM Functions"] + $35e2 = CopyOAMHandler + $35ee = ClearOAM + SECTION: $3604-$3612 ($000f bytes) ["Banking Functions"] + $3604 = BankingInit + SECTION: $3613-$361c ($000a bytes) ["OAM DMA Code"] + $3613 = OAMDMA + $361d = OAMDMAEnd + EMPTY: $361d-$3fff ($09e3 bytes) + TOTAL EMPTY: $09ee bytes ROMX bank #1: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"] @@ -1580,511 +1527,623 @@ ROMX bank #5: $5384 = ClearLines.r_u48 $5384 = ClearLines.fixgarbo $5387 = ClearLines.fixgarboloop - SECTION: $5391-$6297 ($0f07 bytes) ["Gameplay Function Banked"] + SECTION: $5391-$6293 ($0f03 bytes) ["Gameplay Function Banked"] $5391 = SwitchToGameplayB $5397 = SwitchToGameplayB.wvr_u1 $53a0 = SwitchToGameplayB.loadtilemap - $53af = SwitchToGameplayB.graded - $53bd = SwitchToGameplayB.ungraded - $53c9 = SwitchToGameplayB.loadtiles - $5413 = SwitchToGameplayB.wvb_u2 - $541a = SwitchToGameplayB.wvbe_u3 - $5420 = GamePlayEventLoopHandlerB - $5435 = GamePlayEventLoopHandlerB.normalevent - $543f = GamePlayEventLoopHandlerB.modejumps - $5460 = GamePlayEventLoopHandlerB.leadyMode - $547b = GamePlayEventLoopHandlerB.firstleadyiterskip - $5484 = GamePlayEventLoopHandlerB.notdoneleady - $5495 = GamePlayEventLoopHandlerB.goMode - $54a2 = GamePlayEventLoopHandlerB.notdonego - $54b3 = GamePlayEventLoopHandlerB.postGoMode - $54ca = GamePlayEventLoopHandlerB.prefetchedPieceMode - $54db = GamePlayEventLoopHandlerB.checkIHS - $54e5 = GamePlayEventLoopHandlerB.loaddefaultjingle - $54e9 = GamePlayEventLoopHandlerB.checkIRSA - $54ef = GamePlayEventLoopHandlerB.ldb1 - $54fa = GamePlayEventLoopHandlerB.lda1 - $5503 = GamePlayEventLoopHandlerB.cp1 - $5511 = GamePlayEventLoopHandlerB.checkIRSB - $5517 = GamePlayEventLoopHandlerB.lda2 - $5522 = GamePlayEventLoopHandlerB.ldb2 - $552b = GamePlayEventLoopHandlerB.cp2 - $5539 = GamePlayEventLoopHandlerB.postjingle - $553d = GamePlayEventLoopHandlerB.spawnPieceMode - $554b = GamePlayEventLoopHandlerB.canspawn - $555e = GamePlayEventLoopHandlerB.pieceInMotionMode - $5572 = GamePlayEventLoopHandlerB.nopauserequested - $5593 = GamePlayEventLoopHandlerB.nohold - $55a0 = GamePlayEventLoopHandlerB.delayMode - $55b4 = GamePlayEventLoopHandlerB.nodelaypauserequested - $55cb = GamePlayEventLoopHandlerB.next - $55d2 = GamePlayEventLoopHandlerB.goroll - $55e1 = GamePlayEventLoopHandlerB.preGameOverMode - $55ff = GamePlayEventLoopHandlerB.gm - $5615 = GamePlayEventLoopHandlerB.condescend - $562b = GamePlayEventLoopHandlerB.regular - $563b = GamePlayEventLoopHandlerB.notempty1_u4 - $563e = GamePlayEventLoopHandlerB.skip1_u4 - $5648 = GamePlayEventLoopHandlerB.notempty1_u5 - $564b = GamePlayEventLoopHandlerB.skip1_u5 - $5655 = GamePlayEventLoopHandlerB.notempty1_u6 - $5658 = GamePlayEventLoopHandlerB.skip1_u6 - $5662 = GamePlayEventLoopHandlerB.notempty1_u7 - $5665 = GamePlayEventLoopHandlerB.skip1_u7 - $566f = GamePlayEventLoopHandlerB.notempty1_u8 - $5672 = GamePlayEventLoopHandlerB.skip1_u8 - $567c = GamePlayEventLoopHandlerB.notempty1_u9 - $567f = GamePlayEventLoopHandlerB.skip1_u9 - $5689 = GamePlayEventLoopHandlerB.notempty1_u10 - $568c = GamePlayEventLoopHandlerB.skip1_u10 - $5696 = GamePlayEventLoopHandlerB.notempty1_u11 - $5699 = GamePlayEventLoopHandlerB.skip1_u11 - $56a3 = GamePlayEventLoopHandlerB.notempty1_u12 - $56a6 = GamePlayEventLoopHandlerB.skip1_u12 - $56b0 = GamePlayEventLoopHandlerB.notempty1_u13 - $56b3 = GamePlayEventLoopHandlerB.skip1_u13 - $56bd = GamePlayEventLoopHandlerB.notempty1_u14 - $56c0 = GamePlayEventLoopHandlerB.skip1_u14 - $56ca = GamePlayEventLoopHandlerB.notempty1_u15 - $56cd = GamePlayEventLoopHandlerB.skip1_u15 - $56d7 = GamePlayEventLoopHandlerB.notempty1_u16 - $56da = GamePlayEventLoopHandlerB.skip1_u16 - $56e4 = GamePlayEventLoopHandlerB.notempty1_u17 - $56e7 = GamePlayEventLoopHandlerB.skip1_u17 - $56f1 = GamePlayEventLoopHandlerB.notempty1_u18 - $56f4 = GamePlayEventLoopHandlerB.skip1_u18 - $56fe = GamePlayEventLoopHandlerB.notempty1_u19 - $5701 = GamePlayEventLoopHandlerB.skip1_u19 - $570b = GamePlayEventLoopHandlerB.notempty1_u20 - $570e = GamePlayEventLoopHandlerB.skip1_u20 - $5718 = GamePlayEventLoopHandlerB.notempty1_u21 - $571b = GamePlayEventLoopHandlerB.skip1_u21 - $5725 = GamePlayEventLoopHandlerB.notempty1_u22 - $5728 = GamePlayEventLoopHandlerB.skip1_u22 - $5732 = GamePlayEventLoopHandlerB.notempty1_u23 - $5735 = GamePlayEventLoopHandlerB.skip1_u23 - $573f = GamePlayEventLoopHandlerB.notempty1_u24 - $5742 = GamePlayEventLoopHandlerB.skip1_u24 - $574c = GamePlayEventLoopHandlerB.notempty1_u25 - $574f = GamePlayEventLoopHandlerB.skip1_u25 - $5759 = GamePlayEventLoopHandlerB.notempty1_u26 - $575c = GamePlayEventLoopHandlerB.skip1_u26 - $5766 = GamePlayEventLoopHandlerB.notempty1_u27 - $5769 = GamePlayEventLoopHandlerB.skip1_u27 - $5773 = GamePlayEventLoopHandlerB.notempty1_u28 - $5776 = GamePlayEventLoopHandlerB.skip1_u28 - $5780 = GamePlayEventLoopHandlerB.notempty1_u29 - $5783 = GamePlayEventLoopHandlerB.skip1_u29 - $578d = GamePlayEventLoopHandlerB.notempty1_u30 - $5790 = GamePlayEventLoopHandlerB.skip1_u30 - $579a = GamePlayEventLoopHandlerB.notempty1_u31 - $579d = GamePlayEventLoopHandlerB.skip1_u31 - $57a7 = GamePlayEventLoopHandlerB.notempty1_u32 - $57aa = GamePlayEventLoopHandlerB.skip1_u32 - $57b4 = GamePlayEventLoopHandlerB.notempty1_u33 - $57b7 = GamePlayEventLoopHandlerB.skip1_u33 - $57c1 = GamePlayEventLoopHandlerB.notempty1_u34 - $57c4 = GamePlayEventLoopHandlerB.skip1_u34 - $57ce = GamePlayEventLoopHandlerB.notempty1_u35 - $57d1 = GamePlayEventLoopHandlerB.skip1_u35 - $57db = GamePlayEventLoopHandlerB.notempty1_u36 - $57de = GamePlayEventLoopHandlerB.skip1_u36 - $57e8 = GamePlayEventLoopHandlerB.notempty1_u37 - $57eb = GamePlayEventLoopHandlerB.skip1_u37 - $57f5 = GamePlayEventLoopHandlerB.notempty1_u38 - $57f8 = GamePlayEventLoopHandlerB.skip1_u38 - $5802 = GamePlayEventLoopHandlerB.notempty1_u39 - $5805 = GamePlayEventLoopHandlerB.skip1_u39 - $580f = GamePlayEventLoopHandlerB.notempty1_u40 - $5812 = GamePlayEventLoopHandlerB.skip1_u40 - $581c = GamePlayEventLoopHandlerB.notempty1_u41 - $581f = GamePlayEventLoopHandlerB.skip1_u41 - $5829 = GamePlayEventLoopHandlerB.notempty1_u42 - $582c = GamePlayEventLoopHandlerB.skip1_u42 - $5836 = GamePlayEventLoopHandlerB.notempty1_u43 - $5839 = GamePlayEventLoopHandlerB.skip1_u43 - $5843 = GamePlayEventLoopHandlerB.notempty1_u44 - $5846 = GamePlayEventLoopHandlerB.skip1_u44 - $5850 = GamePlayEventLoopHandlerB.notempty1_u45 - $5853 = GamePlayEventLoopHandlerB.skip1_u45 - $585d = GamePlayEventLoopHandlerB.notempty1_u46 - $5860 = GamePlayEventLoopHandlerB.skip1_u46 - $586a = GamePlayEventLoopHandlerB.notempty1_u47 - $586d = GamePlayEventLoopHandlerB.skip1_u47 - $5877 = GamePlayEventLoopHandlerB.notempty1_u48 - $587a = GamePlayEventLoopHandlerB.skip1_u48 - $5884 = GamePlayEventLoopHandlerB.notempty1_u49 - $5887 = GamePlayEventLoopHandlerB.skip1_u49 - $5891 = GamePlayEventLoopHandlerB.notempty1_u50 - $5894 = GamePlayEventLoopHandlerB.skip1_u50 - $589e = GamePlayEventLoopHandlerB.notempty1_u51 - $58a1 = GamePlayEventLoopHandlerB.skip1_u51 - $58ab = GamePlayEventLoopHandlerB.notempty1_u52 - $58ae = GamePlayEventLoopHandlerB.skip1_u52 - $58b8 = GamePlayEventLoopHandlerB.notempty1_u53 - $58bb = GamePlayEventLoopHandlerB.skip1_u53 - $58c5 = GamePlayEventLoopHandlerB.notempty1_u54 - $58c8 = GamePlayEventLoopHandlerB.skip1_u54 - $58d2 = GamePlayEventLoopHandlerB.notempty1_u55 - $58d5 = GamePlayEventLoopHandlerB.skip1_u55 - $58df = GamePlayEventLoopHandlerB.notempty1_u56 - $58e2 = GamePlayEventLoopHandlerB.skip1_u56 - $58ec = GamePlayEventLoopHandlerB.notempty1_u57 - $58ef = GamePlayEventLoopHandlerB.skip1_u57 - $58f9 = GamePlayEventLoopHandlerB.notempty1_u58 - $58fc = GamePlayEventLoopHandlerB.skip1_u58 - $5906 = GamePlayEventLoopHandlerB.notempty1_u59 - $5909 = GamePlayEventLoopHandlerB.skip1_u59 - $5913 = GamePlayEventLoopHandlerB.notempty1_u60 - $5916 = GamePlayEventLoopHandlerB.skip1_u60 - $5920 = GamePlayEventLoopHandlerB.notempty1_u61 - $5923 = GamePlayEventLoopHandlerB.skip1_u61 - $592d = GamePlayEventLoopHandlerB.notempty1_u62 - $5930 = GamePlayEventLoopHandlerB.skip1_u62 - $593a = GamePlayEventLoopHandlerB.notempty1_u63 - $593d = GamePlayEventLoopHandlerB.skip1_u63 - $5947 = GamePlayEventLoopHandlerB.notempty1_u64 - $594a = GamePlayEventLoopHandlerB.skip1_u64 - $5954 = GamePlayEventLoopHandlerB.notempty1_u65 - $5957 = GamePlayEventLoopHandlerB.skip1_u65 - $5961 = GamePlayEventLoopHandlerB.notempty1_u66 - $5964 = GamePlayEventLoopHandlerB.skip1_u66 - $596e = GamePlayEventLoopHandlerB.notempty1_u67 - $5971 = GamePlayEventLoopHandlerB.skip1_u67 - $597b = GamePlayEventLoopHandlerB.notempty1_u68 - $597e = GamePlayEventLoopHandlerB.skip1_u68 - $5988 = GamePlayEventLoopHandlerB.notempty1_u69 - $598b = GamePlayEventLoopHandlerB.skip1_u69 - $5995 = GamePlayEventLoopHandlerB.notempty1_u70 - $5998 = GamePlayEventLoopHandlerB.skip1_u70 - $59a2 = GamePlayEventLoopHandlerB.notempty1_u71 - $59a5 = GamePlayEventLoopHandlerB.skip1_u71 - $59af = GamePlayEventLoopHandlerB.notempty1_u72 - $59b2 = GamePlayEventLoopHandlerB.skip1_u72 - $59bc = GamePlayEventLoopHandlerB.notempty1_u73 - $59bf = GamePlayEventLoopHandlerB.skip1_u73 - $59c9 = GamePlayEventLoopHandlerB.notempty2_u74 - $59cc = GamePlayEventLoopHandlerB.skip2_u74 - $59d6 = GamePlayEventLoopHandlerB.notempty2_u75 - $59d9 = GamePlayEventLoopHandlerB.skip2_u75 - $59e3 = GamePlayEventLoopHandlerB.notempty2_u76 - $59e6 = GamePlayEventLoopHandlerB.skip2_u76 - $59f0 = GamePlayEventLoopHandlerB.notempty2_u77 - $59f3 = GamePlayEventLoopHandlerB.skip2_u77 - $59fd = GamePlayEventLoopHandlerB.notempty2_u78 - $5a00 = GamePlayEventLoopHandlerB.skip2_u78 - $5a0a = GamePlayEventLoopHandlerB.notempty2_u79 - $5a0d = GamePlayEventLoopHandlerB.skip2_u79 - $5a17 = GamePlayEventLoopHandlerB.notempty2_u80 - $5a1a = GamePlayEventLoopHandlerB.skip2_u80 - $5a24 = GamePlayEventLoopHandlerB.notempty2_u81 - $5a27 = GamePlayEventLoopHandlerB.skip2_u81 - $5a31 = GamePlayEventLoopHandlerB.notempty2_u82 - $5a34 = GamePlayEventLoopHandlerB.skip2_u82 - $5a3e = GamePlayEventLoopHandlerB.notempty2_u83 - $5a41 = GamePlayEventLoopHandlerB.skip2_u83 - $5a4b = GamePlayEventLoopHandlerB.notempty3_u84 - $5a4e = GamePlayEventLoopHandlerB.skip3_u84 - $5a58 = GamePlayEventLoopHandlerB.notempty3_u85 - $5a5b = GamePlayEventLoopHandlerB.skip3_u85 - $5a65 = GamePlayEventLoopHandlerB.notempty3_u86 - $5a68 = GamePlayEventLoopHandlerB.skip3_u86 - $5a72 = GamePlayEventLoopHandlerB.notempty3_u87 - $5a75 = GamePlayEventLoopHandlerB.skip3_u87 - $5a7f = GamePlayEventLoopHandlerB.notempty3_u88 - $5a82 = GamePlayEventLoopHandlerB.skip3_u88 - $5a8c = GamePlayEventLoopHandlerB.notempty3_u89 - $5a8f = GamePlayEventLoopHandlerB.skip3_u89 - $5a99 = GamePlayEventLoopHandlerB.notempty3_u90 - $5a9c = GamePlayEventLoopHandlerB.skip3_u90 - $5aa6 = GamePlayEventLoopHandlerB.notempty3_u91 - $5aa9 = GamePlayEventLoopHandlerB.skip3_u91 - $5ab3 = GamePlayEventLoopHandlerB.notempty3_u92 - $5ab6 = GamePlayEventLoopHandlerB.skip3_u92 - $5ac0 = GamePlayEventLoopHandlerB.notempty3_u93 - $5ac3 = GamePlayEventLoopHandlerB.skip3_u93 - $5acd = GamePlayEventLoopHandlerB.notempty4_u94 - $5ad0 = GamePlayEventLoopHandlerB.skip4_u94 - $5ada = GamePlayEventLoopHandlerB.notempty4_u95 - $5add = GamePlayEventLoopHandlerB.skip4_u95 - $5ae7 = GamePlayEventLoopHandlerB.notempty4_u96 - $5aea = GamePlayEventLoopHandlerB.skip4_u96 - $5af4 = GamePlayEventLoopHandlerB.notempty4_u97 - $5af7 = GamePlayEventLoopHandlerB.skip4_u97 - $5b01 = GamePlayEventLoopHandlerB.notempty4_u98 - $5b04 = GamePlayEventLoopHandlerB.skip4_u98 - $5b0e = GamePlayEventLoopHandlerB.notempty4_u99 - $5b11 = GamePlayEventLoopHandlerB.skip4_u99 - $5b1b = GamePlayEventLoopHandlerB.notempty4_u100 - $5b1e = GamePlayEventLoopHandlerB.skip4_u100 - $5b28 = GamePlayEventLoopHandlerB.notempty4_u101 - $5b2b = GamePlayEventLoopHandlerB.skip4_u101 - $5b35 = GamePlayEventLoopHandlerB.notempty4_u102 - $5b38 = GamePlayEventLoopHandlerB.skip4_u102 - $5b42 = GamePlayEventLoopHandlerB.notempty4_u103 - $5b45 = GamePlayEventLoopHandlerB.skip4_u103 - $5b4f = GamePlayEventLoopHandlerB.notempty5_u104 - $5b52 = GamePlayEventLoopHandlerB.skip5_u104 - $5b5c = GamePlayEventLoopHandlerB.notempty5_u105 - $5b5f = GamePlayEventLoopHandlerB.skip5_u105 - $5b69 = GamePlayEventLoopHandlerB.notempty5_u106 - $5b6c = GamePlayEventLoopHandlerB.skip5_u106 - $5b76 = GamePlayEventLoopHandlerB.notempty5_u107 - $5b79 = GamePlayEventLoopHandlerB.skip5_u107 - $5b83 = GamePlayEventLoopHandlerB.notempty5_u108 - $5b86 = GamePlayEventLoopHandlerB.skip5_u108 - $5b90 = GamePlayEventLoopHandlerB.notempty5_u109 - $5b93 = GamePlayEventLoopHandlerB.skip5_u109 - $5b9d = GamePlayEventLoopHandlerB.notempty5_u110 - $5ba0 = GamePlayEventLoopHandlerB.skip5_u110 - $5baa = GamePlayEventLoopHandlerB.notempty5_u111 - $5bad = GamePlayEventLoopHandlerB.skip5_u111 - $5bb7 = GamePlayEventLoopHandlerB.notempty5_u112 - $5bba = GamePlayEventLoopHandlerB.skip5_u112 - $5bc4 = GamePlayEventLoopHandlerB.notempty5_u113 - $5bc7 = GamePlayEventLoopHandlerB.skip5_u113 - $5bd1 = GamePlayEventLoopHandlerB.notempty6_u114 - $5bd4 = GamePlayEventLoopHandlerB.skip6_u114 - $5bde = GamePlayEventLoopHandlerB.notempty6_u115 - $5be1 = GamePlayEventLoopHandlerB.skip6_u115 - $5beb = GamePlayEventLoopHandlerB.notempty6_u116 - $5bee = GamePlayEventLoopHandlerB.skip6_u116 - $5bf8 = GamePlayEventLoopHandlerB.notempty6_u117 - $5bfb = GamePlayEventLoopHandlerB.skip6_u117 - $5c05 = GamePlayEventLoopHandlerB.notempty6_u118 - $5c08 = GamePlayEventLoopHandlerB.skip6_u118 - $5c12 = GamePlayEventLoopHandlerB.notempty6_u119 - $5c15 = GamePlayEventLoopHandlerB.skip6_u119 - $5c1f = GamePlayEventLoopHandlerB.notempty6_u120 - $5c22 = GamePlayEventLoopHandlerB.skip6_u120 - $5c2c = GamePlayEventLoopHandlerB.notempty6_u121 - $5c2f = GamePlayEventLoopHandlerB.skip6_u121 - $5c39 = GamePlayEventLoopHandlerB.notempty6_u122 - $5c3c = GamePlayEventLoopHandlerB.skip6_u122 - $5c46 = GamePlayEventLoopHandlerB.notempty6_u123 - $5c49 = GamePlayEventLoopHandlerB.skip6_u123 - $5c53 = GamePlayEventLoopHandlerB.notempty7_u124 - $5c56 = GamePlayEventLoopHandlerB.skip7_u124 - $5c60 = GamePlayEventLoopHandlerB.notempty7_u125 - $5c63 = GamePlayEventLoopHandlerB.skip7_u125 - $5c6d = GamePlayEventLoopHandlerB.notempty7_u126 - $5c70 = GamePlayEventLoopHandlerB.skip7_u126 - $5c7a = GamePlayEventLoopHandlerB.notempty7_u127 - $5c7d = GamePlayEventLoopHandlerB.skip7_u127 - $5c87 = GamePlayEventLoopHandlerB.notempty7_u128 - $5c8a = GamePlayEventLoopHandlerB.skip7_u128 - $5c94 = GamePlayEventLoopHandlerB.notempty7_u129 - $5c97 = GamePlayEventLoopHandlerB.skip7_u129 - $5ca1 = GamePlayEventLoopHandlerB.notempty7_u130 - $5ca4 = GamePlayEventLoopHandlerB.skip7_u130 - $5cae = GamePlayEventLoopHandlerB.notempty7_u131 - $5cb1 = GamePlayEventLoopHandlerB.skip7_u131 - $5cbb = GamePlayEventLoopHandlerB.notempty7_u132 - $5cbe = GamePlayEventLoopHandlerB.skip7_u132 - $5cc8 = GamePlayEventLoopHandlerB.notempty7_u133 - $5ccb = GamePlayEventLoopHandlerB.skip7_u133 - $5cd5 = GamePlayEventLoopHandlerB.notempty7_u134 - $5cd8 = GamePlayEventLoopHandlerB.skip7_u134 - $5ce2 = GamePlayEventLoopHandlerB.notempty7_u135 - $5ce5 = GamePlayEventLoopHandlerB.skip7_u135 - $5cef = GamePlayEventLoopHandlerB.notempty7_u136 - $5cf2 = GamePlayEventLoopHandlerB.skip7_u136 - $5cfc = GamePlayEventLoopHandlerB.notempty7_u137 - $5cff = GamePlayEventLoopHandlerB.skip7_u137 - $5d09 = GamePlayEventLoopHandlerB.notempty7_u138 - $5d0c = GamePlayEventLoopHandlerB.skip7_u138 - $5d16 = GamePlayEventLoopHandlerB.notempty7_u139 - $5d19 = GamePlayEventLoopHandlerB.skip7_u139 - $5d23 = GamePlayEventLoopHandlerB.notempty7_u140 - $5d26 = GamePlayEventLoopHandlerB.skip7_u140 - $5d30 = GamePlayEventLoopHandlerB.notempty7_u141 - $5d33 = GamePlayEventLoopHandlerB.skip7_u141 - $5d3d = GamePlayEventLoopHandlerB.notempty7_u142 - $5d40 = GamePlayEventLoopHandlerB.skip7_u142 - $5d4a = GamePlayEventLoopHandlerB.notempty7_u143 - $5d4d = GamePlayEventLoopHandlerB.skip7_u143 - $5d57 = GamePlayEventLoopHandlerB.notempty7_u144 - $5d5a = GamePlayEventLoopHandlerB.skip7_u144 - $5d64 = GamePlayEventLoopHandlerB.notempty7_u145 - $5d67 = GamePlayEventLoopHandlerB.skip7_u145 - $5d71 = GamePlayEventLoopHandlerB.notempty7_u146 - $5d74 = GamePlayEventLoopHandlerB.skip7_u146 - $5d7e = GamePlayEventLoopHandlerB.notempty7_u147 - $5d81 = GamePlayEventLoopHandlerB.skip7_u147 - $5d8b = GamePlayEventLoopHandlerB.notempty7_u148 - $5d8e = GamePlayEventLoopHandlerB.skip7_u148 - $5d98 = GamePlayEventLoopHandlerB.notempty7_u149 - $5d9b = GamePlayEventLoopHandlerB.skip7_u149 - $5da5 = GamePlayEventLoopHandlerB.notempty7_u150 - $5da8 = GamePlayEventLoopHandlerB.skip7_u150 - $5db2 = GamePlayEventLoopHandlerB.notempty7_u151 - $5db5 = GamePlayEventLoopHandlerB.skip7_u151 - $5dbf = GamePlayEventLoopHandlerB.notempty7_u152 - $5dc2 = GamePlayEventLoopHandlerB.skip7_u152 - $5dcc = GamePlayEventLoopHandlerB.notempty7_u153 - $5dcf = GamePlayEventLoopHandlerB.skip7_u153 - $5dd9 = GamePlayEventLoopHandlerB.notempty7_u154 - $5ddc = GamePlayEventLoopHandlerB.skip7_u154 - $5de6 = GamePlayEventLoopHandlerB.notempty7_u155 - $5de9 = GamePlayEventLoopHandlerB.skip7_u155 - $5df3 = GamePlayEventLoopHandlerB.notempty7_u156 - $5df6 = GamePlayEventLoopHandlerB.skip7_u156 - $5e00 = GamePlayEventLoopHandlerB.notempty7_u157 - $5e03 = GamePlayEventLoopHandlerB.skip7_u157 - $5e0d = GamePlayEventLoopHandlerB.notempty7_u158 - $5e10 = GamePlayEventLoopHandlerB.skip7_u158 - $5e1a = GamePlayEventLoopHandlerB.notempty7_u159 - $5e1d = GamePlayEventLoopHandlerB.skip7_u159 - $5e27 = GamePlayEventLoopHandlerB.notempty7_u160 - $5e2a = GamePlayEventLoopHandlerB.skip7_u160 - $5e34 = GamePlayEventLoopHandlerB.notempty7_u161 - $5e37 = GamePlayEventLoopHandlerB.skip7_u161 - $5e41 = GamePlayEventLoopHandlerB.notempty7_u162 - $5e44 = GamePlayEventLoopHandlerB.skip7_u162 - $5e4e = GamePlayEventLoopHandlerB.notempty7_u163 - $5e51 = GamePlayEventLoopHandlerB.skip7_u163 - $5e5b = GamePlayEventLoopHandlerB.notempty7_u164 - $5e5e = GamePlayEventLoopHandlerB.skip7_u164 - $5e68 = GamePlayEventLoopHandlerB.notempty7_u165 - $5e6b = GamePlayEventLoopHandlerB.skip7_u165 - $5e75 = GamePlayEventLoopHandlerB.notempty7_u166 - $5e78 = GamePlayEventLoopHandlerB.skip7_u166 - $5e82 = GamePlayEventLoopHandlerB.notempty7_u167 - $5e85 = GamePlayEventLoopHandlerB.skip7_u167 - $5e8f = GamePlayEventLoopHandlerB.notempty7_u168 - $5e92 = GamePlayEventLoopHandlerB.skip7_u168 - $5e9c = GamePlayEventLoopHandlerB.notempty7_u169 - $5e9f = GamePlayEventLoopHandlerB.skip7_u169 - $5ea9 = GamePlayEventLoopHandlerB.notempty7_u170 - $5eac = GamePlayEventLoopHandlerB.skip7_u170 - $5eb6 = GamePlayEventLoopHandlerB.notempty7_u171 - $5eb9 = GamePlayEventLoopHandlerB.skip7_u171 - $5ec3 = GamePlayEventLoopHandlerB.notempty7_u172 - $5ec6 = GamePlayEventLoopHandlerB.skip7_u172 - $5ed0 = GamePlayEventLoopHandlerB.notempty7_u173 - $5ed3 = GamePlayEventLoopHandlerB.skip7_u173 - $5edd = GamePlayEventLoopHandlerB.notempty7_u174 - $5ee0 = GamePlayEventLoopHandlerB.skip7_u174 - $5eea = GamePlayEventLoopHandlerB.notempty7_u175 - $5eed = GamePlayEventLoopHandlerB.skip7_u175 - $5ef7 = GamePlayEventLoopHandlerB.notempty7_u176 - $5efa = GamePlayEventLoopHandlerB.skip7_u176 - $5f04 = GamePlayEventLoopHandlerB.notempty7_u177 - $5f07 = GamePlayEventLoopHandlerB.skip7_u177 - $5f11 = GamePlayEventLoopHandlerB.notempty7_u178 - $5f14 = GamePlayEventLoopHandlerB.skip7_u178 - $5f1e = GamePlayEventLoopHandlerB.notempty7_u179 - $5f21 = GamePlayEventLoopHandlerB.skip7_u179 - $5f2b = GamePlayEventLoopHandlerB.notempty7_u180 - $5f2e = GamePlayEventLoopHandlerB.skip7_u180 - $5f38 = GamePlayEventLoopHandlerB.notempty7_u181 - $5f3b = GamePlayEventLoopHandlerB.skip7_u181 - $5f45 = GamePlayEventLoopHandlerB.notempty7_u182 - $5f48 = GamePlayEventLoopHandlerB.skip7_u182 - $5f52 = GamePlayEventLoopHandlerB.notempty7_u183 - $5f55 = GamePlayEventLoopHandlerB.skip7_u183 - $5f5f = GamePlayEventLoopHandlerB.notempty7_u184 - $5f62 = GamePlayEventLoopHandlerB.skip7_u184 - $5f6c = GamePlayEventLoopHandlerB.notempty7_u185 - $5f6f = GamePlayEventLoopHandlerB.skip7_u185 - $5f79 = GamePlayEventLoopHandlerB.notempty7_u186 - $5f7c = GamePlayEventLoopHandlerB.skip7_u186 - $5f86 = GamePlayEventLoopHandlerB.notempty7_u187 - $5f89 = GamePlayEventLoopHandlerB.skip7_u187 - $5f93 = GamePlayEventLoopHandlerB.notempty7_u188 - $5f96 = GamePlayEventLoopHandlerB.skip7_u188 - $5fa0 = GamePlayEventLoopHandlerB.notempty7_u189 - $5fa3 = GamePlayEventLoopHandlerB.skip7_u189 - $5fad = GamePlayEventLoopHandlerB.notempty7_u190 - $5fb0 = GamePlayEventLoopHandlerB.skip7_u190 - $5fba = GamePlayEventLoopHandlerB.notempty7_u191 - $5fbd = GamePlayEventLoopHandlerB.skip7_u191 - $5fc7 = GamePlayEventLoopHandlerB.notempty7_u192 - $5fca = GamePlayEventLoopHandlerB.skip7_u192 - $5fd4 = GamePlayEventLoopHandlerB.notempty7_u193 - $5fd7 = GamePlayEventLoopHandlerB.skip7_u193 - $5fe1 = GamePlayEventLoopHandlerB.notempty7_u194 - $5fe4 = GamePlayEventLoopHandlerB.skip7_u194 - $5fee = GamePlayEventLoopHandlerB.notempty7_u195 - $5ff1 = GamePlayEventLoopHandlerB.skip7_u195 - $5ffb = GamePlayEventLoopHandlerB.notempty7_u196 - $5ffe = GamePlayEventLoopHandlerB.skip7_u196 - $6008 = GamePlayEventLoopHandlerB.notempty7_u197 - $600b = GamePlayEventLoopHandlerB.skip7_u197 - $6015 = GamePlayEventLoopHandlerB.notempty7_u198 - $6018 = GamePlayEventLoopHandlerB.skip7_u198 - $6022 = GamePlayEventLoopHandlerB.notempty7_u199 - $6025 = GamePlayEventLoopHandlerB.skip7_u199 - $602f = GamePlayEventLoopHandlerB.notempty7_u200 - $6032 = GamePlayEventLoopHandlerB.skip7_u200 - $603c = GamePlayEventLoopHandlerB.notempty7_u201 - $603f = GamePlayEventLoopHandlerB.skip7_u201 - $6049 = GamePlayEventLoopHandlerB.notempty7_u202 - $604c = GamePlayEventLoopHandlerB.skip7_u202 - $6056 = GamePlayEventLoopHandlerB.notempty7_u203 - $6059 = GamePlayEventLoopHandlerB.skip7_u203 - $6063 = GamePlayEventLoopHandlerB.notempty7_u204 - $6066 = GamePlayEventLoopHandlerB.skip7_u204 - $6070 = GamePlayEventLoopHandlerB.notempty7_u205 - $6073 = GamePlayEventLoopHandlerB.skip7_u205 - $607d = GamePlayEventLoopHandlerB.notempty7_u206 - $6080 = GamePlayEventLoopHandlerB.skip7_u206 - $608a = GamePlayEventLoopHandlerB.notempty7_u207 - $608d = GamePlayEventLoopHandlerB.skip7_u207 - $6097 = GamePlayEventLoopHandlerB.notempty7_u208 - $609a = GamePlayEventLoopHandlerB.skip7_u208 - $60a4 = GamePlayEventLoopHandlerB.notempty7_u209 - $60a7 = GamePlayEventLoopHandlerB.skip7_u209 - $60b1 = GamePlayEventLoopHandlerB.notempty7_u210 - $60b4 = GamePlayEventLoopHandlerB.skip7_u210 - $60be = GamePlayEventLoopHandlerB.notempty7_u211 - $60c1 = GamePlayEventLoopHandlerB.skip7_u211 - $60cb = GamePlayEventLoopHandlerB.notempty7_u212 - $60ce = GamePlayEventLoopHandlerB.skip7_u212 - $60d8 = GamePlayEventLoopHandlerB.notempty7_u213 - $60db = GamePlayEventLoopHandlerB.skip7_u213 - $60df = GamePlayEventLoopHandlerB.gameOverMode - $60f8 = GamePlayEventLoopHandlerB.checkretry - $6121 = GamePlayEventLoopHandlerB.noretry - $612e = GamePlayEventLoopHandlerB.pauseMode - $6140 = GamePlayEventLoopHandlerB.noqr - $6155 = GamePlayEventLoopHandlerB.nounpause - $619f = GamePlayEventLoopHandlerB.preRollMode - $61ce = GamePlayEventLoopHandlerB.predone - $61e4 = GamePlayEventLoopHandlerB.staysmall - $61fa = GamePlayEventLoopHandlerB.drawStaticInfo - $622e = DoHold - $6232 = DoHold.checkIRSA - $6238 = DoHold.ldb3 - $6243 = DoHold.lda3 - $624c = DoHold.cp3 - $625a = DoHold.checkIRSB - $6260 = DoHold.lda4 - $626b = DoHold.ldb4 - $6274 = DoHold.cp4 - $6282 = DoHold.noRotation - $628d = DoHold.doHoldOperation - SECTION: $6298-$6b2d ($0896 bytes) ["Gameplay Static Data"] - $6298 = sLeftDasSlam - $629e = sRightDasSlam - $62a4 = sLeady - $62ae = sGo - $62b8 = sPause - $62e0 = sKill - $6380 = sYouAreGM - $63e4 = sFinalChallenge - $64ac = sPieceXOffsets - $64c8 = sPieceYOffsets - $64e4 = sPieceFastRotationStates - $6554 = sPieceRotationStates - $65c4 = sTGM3Bag - $65e7 = sTGM3Droughts - $65ee = sGameplayTileMap - $688e = sGameplayUngradedTileMap - $688e = sGameplayTileMapEnd - $6b2e = sGameplayUngradedTileMapEnd - EMPTY: $6b2e-$7fff ($14d2 bytes) - TOTAL EMPTY: $14d2 bytes + $53ab = SwitchToGameplayB.graded + $53b9 = SwitchToGameplayB.ungraded + $53c5 = SwitchToGameplayB.loadtiles + $540f = SwitchToGameplayB.wvb_u2 + $5416 = SwitchToGameplayB.wvbe_u3 + $541c = GamePlayEventLoopHandlerB + $5431 = GamePlayEventLoopHandlerB.normalevent + $543b = GamePlayEventLoopHandlerB.modejumps + $545c = GamePlayEventLoopHandlerB.leadyMode + $5477 = GamePlayEventLoopHandlerB.firstleadyiterskip + $5480 = GamePlayEventLoopHandlerB.notdoneleady + $5491 = GamePlayEventLoopHandlerB.goMode + $549e = GamePlayEventLoopHandlerB.notdonego + $54af = GamePlayEventLoopHandlerB.postGoMode + $54c6 = GamePlayEventLoopHandlerB.prefetchedPieceMode + $54d7 = GamePlayEventLoopHandlerB.checkIHS + $54e1 = GamePlayEventLoopHandlerB.loaddefaultjingle + $54e5 = GamePlayEventLoopHandlerB.checkIRSA + $54eb = GamePlayEventLoopHandlerB.ldb1 + $54f6 = GamePlayEventLoopHandlerB.lda1 + $54ff = GamePlayEventLoopHandlerB.cp1 + $550d = GamePlayEventLoopHandlerB.checkIRSB + $5513 = GamePlayEventLoopHandlerB.lda2 + $551e = GamePlayEventLoopHandlerB.ldb2 + $5527 = GamePlayEventLoopHandlerB.cp2 + $5535 = GamePlayEventLoopHandlerB.postjingle + $5539 = GamePlayEventLoopHandlerB.spawnPieceMode + $5547 = GamePlayEventLoopHandlerB.canspawn + $555a = GamePlayEventLoopHandlerB.pieceInMotionMode + $556e = GamePlayEventLoopHandlerB.nopauserequested + $558f = GamePlayEventLoopHandlerB.nohold + $559c = GamePlayEventLoopHandlerB.delayMode + $55b0 = GamePlayEventLoopHandlerB.nodelaypauserequested + $55c7 = GamePlayEventLoopHandlerB.next + $55ce = GamePlayEventLoopHandlerB.goroll + $55dd = GamePlayEventLoopHandlerB.preGameOverMode + $55fb = GamePlayEventLoopHandlerB.gm + $5611 = GamePlayEventLoopHandlerB.condescend + $5627 = GamePlayEventLoopHandlerB.regular + $5637 = GamePlayEventLoopHandlerB.notempty1_u4 + $563a = GamePlayEventLoopHandlerB.skip1_u4 + $5644 = GamePlayEventLoopHandlerB.notempty1_u5 + $5647 = GamePlayEventLoopHandlerB.skip1_u5 + $5651 = GamePlayEventLoopHandlerB.notempty1_u6 + $5654 = GamePlayEventLoopHandlerB.skip1_u6 + $565e = GamePlayEventLoopHandlerB.notempty1_u7 + $5661 = GamePlayEventLoopHandlerB.skip1_u7 + $566b = GamePlayEventLoopHandlerB.notempty1_u8 + $566e = GamePlayEventLoopHandlerB.skip1_u8 + $5678 = GamePlayEventLoopHandlerB.notempty1_u9 + $567b = GamePlayEventLoopHandlerB.skip1_u9 + $5685 = GamePlayEventLoopHandlerB.notempty1_u10 + $5688 = GamePlayEventLoopHandlerB.skip1_u10 + $5692 = GamePlayEventLoopHandlerB.notempty1_u11 + $5695 = GamePlayEventLoopHandlerB.skip1_u11 + $569f = GamePlayEventLoopHandlerB.notempty1_u12 + $56a2 = GamePlayEventLoopHandlerB.skip1_u12 + $56ac = GamePlayEventLoopHandlerB.notempty1_u13 + $56af = GamePlayEventLoopHandlerB.skip1_u13 + $56b9 = GamePlayEventLoopHandlerB.notempty1_u14 + $56bc = GamePlayEventLoopHandlerB.skip1_u14 + $56c6 = GamePlayEventLoopHandlerB.notempty1_u15 + $56c9 = GamePlayEventLoopHandlerB.skip1_u15 + $56d3 = GamePlayEventLoopHandlerB.notempty1_u16 + $56d6 = GamePlayEventLoopHandlerB.skip1_u16 + $56e0 = GamePlayEventLoopHandlerB.notempty1_u17 + $56e3 = GamePlayEventLoopHandlerB.skip1_u17 + $56ed = GamePlayEventLoopHandlerB.notempty1_u18 + $56f0 = GamePlayEventLoopHandlerB.skip1_u18 + $56fa = GamePlayEventLoopHandlerB.notempty1_u19 + $56fd = GamePlayEventLoopHandlerB.skip1_u19 + $5707 = GamePlayEventLoopHandlerB.notempty1_u20 + $570a = GamePlayEventLoopHandlerB.skip1_u20 + $5714 = GamePlayEventLoopHandlerB.notempty1_u21 + $5717 = GamePlayEventLoopHandlerB.skip1_u21 + $5721 = GamePlayEventLoopHandlerB.notempty1_u22 + $5724 = GamePlayEventLoopHandlerB.skip1_u22 + $572e = GamePlayEventLoopHandlerB.notempty1_u23 + $5731 = GamePlayEventLoopHandlerB.skip1_u23 + $573b = GamePlayEventLoopHandlerB.notempty1_u24 + $573e = GamePlayEventLoopHandlerB.skip1_u24 + $5748 = GamePlayEventLoopHandlerB.notempty1_u25 + $574b = GamePlayEventLoopHandlerB.skip1_u25 + $5755 = GamePlayEventLoopHandlerB.notempty1_u26 + $5758 = GamePlayEventLoopHandlerB.skip1_u26 + $5762 = GamePlayEventLoopHandlerB.notempty1_u27 + $5765 = GamePlayEventLoopHandlerB.skip1_u27 + $576f = GamePlayEventLoopHandlerB.notempty1_u28 + $5772 = GamePlayEventLoopHandlerB.skip1_u28 + $577c = GamePlayEventLoopHandlerB.notempty1_u29 + $577f = GamePlayEventLoopHandlerB.skip1_u29 + $5789 = GamePlayEventLoopHandlerB.notempty1_u30 + $578c = GamePlayEventLoopHandlerB.skip1_u30 + $5796 = GamePlayEventLoopHandlerB.notempty1_u31 + $5799 = GamePlayEventLoopHandlerB.skip1_u31 + $57a3 = GamePlayEventLoopHandlerB.notempty1_u32 + $57a6 = GamePlayEventLoopHandlerB.skip1_u32 + $57b0 = GamePlayEventLoopHandlerB.notempty1_u33 + $57b3 = GamePlayEventLoopHandlerB.skip1_u33 + $57bd = GamePlayEventLoopHandlerB.notempty1_u34 + $57c0 = GamePlayEventLoopHandlerB.skip1_u34 + $57ca = GamePlayEventLoopHandlerB.notempty1_u35 + $57cd = GamePlayEventLoopHandlerB.skip1_u35 + $57d7 = GamePlayEventLoopHandlerB.notempty1_u36 + $57da = GamePlayEventLoopHandlerB.skip1_u36 + $57e4 = GamePlayEventLoopHandlerB.notempty1_u37 + $57e7 = GamePlayEventLoopHandlerB.skip1_u37 + $57f1 = GamePlayEventLoopHandlerB.notempty1_u38 + $57f4 = GamePlayEventLoopHandlerB.skip1_u38 + $57fe = GamePlayEventLoopHandlerB.notempty1_u39 + $5801 = GamePlayEventLoopHandlerB.skip1_u39 + $580b = GamePlayEventLoopHandlerB.notempty1_u40 + $580e = GamePlayEventLoopHandlerB.skip1_u40 + $5818 = GamePlayEventLoopHandlerB.notempty1_u41 + $581b = GamePlayEventLoopHandlerB.skip1_u41 + $5825 = GamePlayEventLoopHandlerB.notempty1_u42 + $5828 = GamePlayEventLoopHandlerB.skip1_u42 + $5832 = GamePlayEventLoopHandlerB.notempty1_u43 + $5835 = GamePlayEventLoopHandlerB.skip1_u43 + $583f = GamePlayEventLoopHandlerB.notempty1_u44 + $5842 = GamePlayEventLoopHandlerB.skip1_u44 + $584c = GamePlayEventLoopHandlerB.notempty1_u45 + $584f = GamePlayEventLoopHandlerB.skip1_u45 + $5859 = GamePlayEventLoopHandlerB.notempty1_u46 + $585c = GamePlayEventLoopHandlerB.skip1_u46 + $5866 = GamePlayEventLoopHandlerB.notempty1_u47 + $5869 = GamePlayEventLoopHandlerB.skip1_u47 + $5873 = GamePlayEventLoopHandlerB.notempty1_u48 + $5876 = GamePlayEventLoopHandlerB.skip1_u48 + $5880 = GamePlayEventLoopHandlerB.notempty1_u49 + $5883 = GamePlayEventLoopHandlerB.skip1_u49 + $588d = GamePlayEventLoopHandlerB.notempty1_u50 + $5890 = GamePlayEventLoopHandlerB.skip1_u50 + $589a = GamePlayEventLoopHandlerB.notempty1_u51 + $589d = GamePlayEventLoopHandlerB.skip1_u51 + $58a7 = GamePlayEventLoopHandlerB.notempty1_u52 + $58aa = GamePlayEventLoopHandlerB.skip1_u52 + $58b4 = GamePlayEventLoopHandlerB.notempty1_u53 + $58b7 = GamePlayEventLoopHandlerB.skip1_u53 + $58c1 = GamePlayEventLoopHandlerB.notempty1_u54 + $58c4 = GamePlayEventLoopHandlerB.skip1_u54 + $58ce = GamePlayEventLoopHandlerB.notempty1_u55 + $58d1 = GamePlayEventLoopHandlerB.skip1_u55 + $58db = GamePlayEventLoopHandlerB.notempty1_u56 + $58de = GamePlayEventLoopHandlerB.skip1_u56 + $58e8 = GamePlayEventLoopHandlerB.notempty1_u57 + $58eb = GamePlayEventLoopHandlerB.skip1_u57 + $58f5 = GamePlayEventLoopHandlerB.notempty1_u58 + $58f8 = GamePlayEventLoopHandlerB.skip1_u58 + $5902 = GamePlayEventLoopHandlerB.notempty1_u59 + $5905 = GamePlayEventLoopHandlerB.skip1_u59 + $590f = GamePlayEventLoopHandlerB.notempty1_u60 + $5912 = GamePlayEventLoopHandlerB.skip1_u60 + $591c = GamePlayEventLoopHandlerB.notempty1_u61 + $591f = GamePlayEventLoopHandlerB.skip1_u61 + $5929 = GamePlayEventLoopHandlerB.notempty1_u62 + $592c = GamePlayEventLoopHandlerB.skip1_u62 + $5936 = GamePlayEventLoopHandlerB.notempty1_u63 + $5939 = GamePlayEventLoopHandlerB.skip1_u63 + $5943 = GamePlayEventLoopHandlerB.notempty1_u64 + $5946 = GamePlayEventLoopHandlerB.skip1_u64 + $5950 = GamePlayEventLoopHandlerB.notempty1_u65 + $5953 = GamePlayEventLoopHandlerB.skip1_u65 + $595d = GamePlayEventLoopHandlerB.notempty1_u66 + $5960 = GamePlayEventLoopHandlerB.skip1_u66 + $596a = GamePlayEventLoopHandlerB.notempty1_u67 + $596d = GamePlayEventLoopHandlerB.skip1_u67 + $5977 = GamePlayEventLoopHandlerB.notempty1_u68 + $597a = GamePlayEventLoopHandlerB.skip1_u68 + $5984 = GamePlayEventLoopHandlerB.notempty1_u69 + $5987 = GamePlayEventLoopHandlerB.skip1_u69 + $5991 = GamePlayEventLoopHandlerB.notempty1_u70 + $5994 = GamePlayEventLoopHandlerB.skip1_u70 + $599e = GamePlayEventLoopHandlerB.notempty1_u71 + $59a1 = GamePlayEventLoopHandlerB.skip1_u71 + $59ab = GamePlayEventLoopHandlerB.notempty1_u72 + $59ae = GamePlayEventLoopHandlerB.skip1_u72 + $59b8 = GamePlayEventLoopHandlerB.notempty1_u73 + $59bb = GamePlayEventLoopHandlerB.skip1_u73 + $59c5 = GamePlayEventLoopHandlerB.notempty2_u74 + $59c8 = GamePlayEventLoopHandlerB.skip2_u74 + $59d2 = GamePlayEventLoopHandlerB.notempty2_u75 + $59d5 = GamePlayEventLoopHandlerB.skip2_u75 + $59df = GamePlayEventLoopHandlerB.notempty2_u76 + $59e2 = GamePlayEventLoopHandlerB.skip2_u76 + $59ec = GamePlayEventLoopHandlerB.notempty2_u77 + $59ef = GamePlayEventLoopHandlerB.skip2_u77 + $59f9 = GamePlayEventLoopHandlerB.notempty2_u78 + $59fc = GamePlayEventLoopHandlerB.skip2_u78 + $5a06 = GamePlayEventLoopHandlerB.notempty2_u79 + $5a09 = GamePlayEventLoopHandlerB.skip2_u79 + $5a13 = GamePlayEventLoopHandlerB.notempty2_u80 + $5a16 = GamePlayEventLoopHandlerB.skip2_u80 + $5a20 = GamePlayEventLoopHandlerB.notempty2_u81 + $5a23 = GamePlayEventLoopHandlerB.skip2_u81 + $5a2d = GamePlayEventLoopHandlerB.notempty2_u82 + $5a30 = GamePlayEventLoopHandlerB.skip2_u82 + $5a3a = GamePlayEventLoopHandlerB.notempty2_u83 + $5a3d = GamePlayEventLoopHandlerB.skip2_u83 + $5a47 = GamePlayEventLoopHandlerB.notempty3_u84 + $5a4a = GamePlayEventLoopHandlerB.skip3_u84 + $5a54 = GamePlayEventLoopHandlerB.notempty3_u85 + $5a57 = GamePlayEventLoopHandlerB.skip3_u85 + $5a61 = GamePlayEventLoopHandlerB.notempty3_u86 + $5a64 = GamePlayEventLoopHandlerB.skip3_u86 + $5a6e = GamePlayEventLoopHandlerB.notempty3_u87 + $5a71 = GamePlayEventLoopHandlerB.skip3_u87 + $5a7b = GamePlayEventLoopHandlerB.notempty3_u88 + $5a7e = GamePlayEventLoopHandlerB.skip3_u88 + $5a88 = GamePlayEventLoopHandlerB.notempty3_u89 + $5a8b = GamePlayEventLoopHandlerB.skip3_u89 + $5a95 = GamePlayEventLoopHandlerB.notempty3_u90 + $5a98 = GamePlayEventLoopHandlerB.skip3_u90 + $5aa2 = GamePlayEventLoopHandlerB.notempty3_u91 + $5aa5 = GamePlayEventLoopHandlerB.skip3_u91 + $5aaf = GamePlayEventLoopHandlerB.notempty3_u92 + $5ab2 = GamePlayEventLoopHandlerB.skip3_u92 + $5abc = GamePlayEventLoopHandlerB.notempty3_u93 + $5abf = GamePlayEventLoopHandlerB.skip3_u93 + $5ac9 = GamePlayEventLoopHandlerB.notempty4_u94 + $5acc = GamePlayEventLoopHandlerB.skip4_u94 + $5ad6 = GamePlayEventLoopHandlerB.notempty4_u95 + $5ad9 = GamePlayEventLoopHandlerB.skip4_u95 + $5ae3 = GamePlayEventLoopHandlerB.notempty4_u96 + $5ae6 = GamePlayEventLoopHandlerB.skip4_u96 + $5af0 = GamePlayEventLoopHandlerB.notempty4_u97 + $5af3 = GamePlayEventLoopHandlerB.skip4_u97 + $5afd = GamePlayEventLoopHandlerB.notempty4_u98 + $5b00 = GamePlayEventLoopHandlerB.skip4_u98 + $5b0a = GamePlayEventLoopHandlerB.notempty4_u99 + $5b0d = GamePlayEventLoopHandlerB.skip4_u99 + $5b17 = GamePlayEventLoopHandlerB.notempty4_u100 + $5b1a = GamePlayEventLoopHandlerB.skip4_u100 + $5b24 = GamePlayEventLoopHandlerB.notempty4_u101 + $5b27 = GamePlayEventLoopHandlerB.skip4_u101 + $5b31 = GamePlayEventLoopHandlerB.notempty4_u102 + $5b34 = GamePlayEventLoopHandlerB.skip4_u102 + $5b3e = GamePlayEventLoopHandlerB.notempty4_u103 + $5b41 = GamePlayEventLoopHandlerB.skip4_u103 + $5b4b = GamePlayEventLoopHandlerB.notempty5_u104 + $5b4e = GamePlayEventLoopHandlerB.skip5_u104 + $5b58 = GamePlayEventLoopHandlerB.notempty5_u105 + $5b5b = GamePlayEventLoopHandlerB.skip5_u105 + $5b65 = GamePlayEventLoopHandlerB.notempty5_u106 + $5b68 = GamePlayEventLoopHandlerB.skip5_u106 + $5b72 = GamePlayEventLoopHandlerB.notempty5_u107 + $5b75 = GamePlayEventLoopHandlerB.skip5_u107 + $5b7f = GamePlayEventLoopHandlerB.notempty5_u108 + $5b82 = GamePlayEventLoopHandlerB.skip5_u108 + $5b8c = GamePlayEventLoopHandlerB.notempty5_u109 + $5b8f = GamePlayEventLoopHandlerB.skip5_u109 + $5b99 = GamePlayEventLoopHandlerB.notempty5_u110 + $5b9c = GamePlayEventLoopHandlerB.skip5_u110 + $5ba6 = GamePlayEventLoopHandlerB.notempty5_u111 + $5ba9 = GamePlayEventLoopHandlerB.skip5_u111 + $5bb3 = GamePlayEventLoopHandlerB.notempty5_u112 + $5bb6 = GamePlayEventLoopHandlerB.skip5_u112 + $5bc0 = GamePlayEventLoopHandlerB.notempty5_u113 + $5bc3 = GamePlayEventLoopHandlerB.skip5_u113 + $5bcd = GamePlayEventLoopHandlerB.notempty6_u114 + $5bd0 = GamePlayEventLoopHandlerB.skip6_u114 + $5bda = GamePlayEventLoopHandlerB.notempty6_u115 + $5bdd = GamePlayEventLoopHandlerB.skip6_u115 + $5be7 = GamePlayEventLoopHandlerB.notempty6_u116 + $5bea = GamePlayEventLoopHandlerB.skip6_u116 + $5bf4 = GamePlayEventLoopHandlerB.notempty6_u117 + $5bf7 = GamePlayEventLoopHandlerB.skip6_u117 + $5c01 = GamePlayEventLoopHandlerB.notempty6_u118 + $5c04 = GamePlayEventLoopHandlerB.skip6_u118 + $5c0e = GamePlayEventLoopHandlerB.notempty6_u119 + $5c11 = GamePlayEventLoopHandlerB.skip6_u119 + $5c1b = GamePlayEventLoopHandlerB.notempty6_u120 + $5c1e = GamePlayEventLoopHandlerB.skip6_u120 + $5c28 = GamePlayEventLoopHandlerB.notempty6_u121 + $5c2b = GamePlayEventLoopHandlerB.skip6_u121 + $5c35 = GamePlayEventLoopHandlerB.notempty6_u122 + $5c38 = GamePlayEventLoopHandlerB.skip6_u122 + $5c42 = GamePlayEventLoopHandlerB.notempty6_u123 + $5c45 = GamePlayEventLoopHandlerB.skip6_u123 + $5c4f = GamePlayEventLoopHandlerB.notempty7_u124 + $5c52 = GamePlayEventLoopHandlerB.skip7_u124 + $5c5c = GamePlayEventLoopHandlerB.notempty7_u125 + $5c5f = GamePlayEventLoopHandlerB.skip7_u125 + $5c69 = GamePlayEventLoopHandlerB.notempty7_u126 + $5c6c = GamePlayEventLoopHandlerB.skip7_u126 + $5c76 = GamePlayEventLoopHandlerB.notempty7_u127 + $5c79 = GamePlayEventLoopHandlerB.skip7_u127 + $5c83 = GamePlayEventLoopHandlerB.notempty7_u128 + $5c86 = GamePlayEventLoopHandlerB.skip7_u128 + $5c90 = GamePlayEventLoopHandlerB.notempty7_u129 + $5c93 = GamePlayEventLoopHandlerB.skip7_u129 + $5c9d = GamePlayEventLoopHandlerB.notempty7_u130 + $5ca0 = GamePlayEventLoopHandlerB.skip7_u130 + $5caa = GamePlayEventLoopHandlerB.notempty7_u131 + $5cad = GamePlayEventLoopHandlerB.skip7_u131 + $5cb7 = GamePlayEventLoopHandlerB.notempty7_u132 + $5cba = GamePlayEventLoopHandlerB.skip7_u132 + $5cc4 = GamePlayEventLoopHandlerB.notempty7_u133 + $5cc7 = GamePlayEventLoopHandlerB.skip7_u133 + $5cd1 = GamePlayEventLoopHandlerB.notempty7_u134 + $5cd4 = GamePlayEventLoopHandlerB.skip7_u134 + $5cde = GamePlayEventLoopHandlerB.notempty7_u135 + $5ce1 = GamePlayEventLoopHandlerB.skip7_u135 + $5ceb = GamePlayEventLoopHandlerB.notempty7_u136 + $5cee = GamePlayEventLoopHandlerB.skip7_u136 + $5cf8 = GamePlayEventLoopHandlerB.notempty7_u137 + $5cfb = GamePlayEventLoopHandlerB.skip7_u137 + $5d05 = GamePlayEventLoopHandlerB.notempty7_u138 + $5d08 = GamePlayEventLoopHandlerB.skip7_u138 + $5d12 = GamePlayEventLoopHandlerB.notempty7_u139 + $5d15 = GamePlayEventLoopHandlerB.skip7_u139 + $5d1f = GamePlayEventLoopHandlerB.notempty7_u140 + $5d22 = GamePlayEventLoopHandlerB.skip7_u140 + $5d2c = GamePlayEventLoopHandlerB.notempty7_u141 + $5d2f = GamePlayEventLoopHandlerB.skip7_u141 + $5d39 = GamePlayEventLoopHandlerB.notempty7_u142 + $5d3c = GamePlayEventLoopHandlerB.skip7_u142 + $5d46 = GamePlayEventLoopHandlerB.notempty7_u143 + $5d49 = GamePlayEventLoopHandlerB.skip7_u143 + $5d53 = GamePlayEventLoopHandlerB.notempty7_u144 + $5d56 = GamePlayEventLoopHandlerB.skip7_u144 + $5d60 = GamePlayEventLoopHandlerB.notempty7_u145 + $5d63 = GamePlayEventLoopHandlerB.skip7_u145 + $5d6d = GamePlayEventLoopHandlerB.notempty7_u146 + $5d70 = GamePlayEventLoopHandlerB.skip7_u146 + $5d7a = GamePlayEventLoopHandlerB.notempty7_u147 + $5d7d = GamePlayEventLoopHandlerB.skip7_u147 + $5d87 = GamePlayEventLoopHandlerB.notempty7_u148 + $5d8a = GamePlayEventLoopHandlerB.skip7_u148 + $5d94 = GamePlayEventLoopHandlerB.notempty7_u149 + $5d97 = GamePlayEventLoopHandlerB.skip7_u149 + $5da1 = GamePlayEventLoopHandlerB.notempty7_u150 + $5da4 = GamePlayEventLoopHandlerB.skip7_u150 + $5dae = GamePlayEventLoopHandlerB.notempty7_u151 + $5db1 = GamePlayEventLoopHandlerB.skip7_u151 + $5dbb = GamePlayEventLoopHandlerB.notempty7_u152 + $5dbe = GamePlayEventLoopHandlerB.skip7_u152 + $5dc8 = GamePlayEventLoopHandlerB.notempty7_u153 + $5dcb = GamePlayEventLoopHandlerB.skip7_u153 + $5dd5 = GamePlayEventLoopHandlerB.notempty7_u154 + $5dd8 = GamePlayEventLoopHandlerB.skip7_u154 + $5de2 = GamePlayEventLoopHandlerB.notempty7_u155 + $5de5 = GamePlayEventLoopHandlerB.skip7_u155 + $5def = GamePlayEventLoopHandlerB.notempty7_u156 + $5df2 = GamePlayEventLoopHandlerB.skip7_u156 + $5dfc = GamePlayEventLoopHandlerB.notempty7_u157 + $5dff = GamePlayEventLoopHandlerB.skip7_u157 + $5e09 = GamePlayEventLoopHandlerB.notempty7_u158 + $5e0c = GamePlayEventLoopHandlerB.skip7_u158 + $5e16 = GamePlayEventLoopHandlerB.notempty7_u159 + $5e19 = GamePlayEventLoopHandlerB.skip7_u159 + $5e23 = GamePlayEventLoopHandlerB.notempty7_u160 + $5e26 = GamePlayEventLoopHandlerB.skip7_u160 + $5e30 = GamePlayEventLoopHandlerB.notempty7_u161 + $5e33 = GamePlayEventLoopHandlerB.skip7_u161 + $5e3d = GamePlayEventLoopHandlerB.notempty7_u162 + $5e40 = GamePlayEventLoopHandlerB.skip7_u162 + $5e4a = GamePlayEventLoopHandlerB.notempty7_u163 + $5e4d = GamePlayEventLoopHandlerB.skip7_u163 + $5e57 = GamePlayEventLoopHandlerB.notempty7_u164 + $5e5a = GamePlayEventLoopHandlerB.skip7_u164 + $5e64 = GamePlayEventLoopHandlerB.notempty7_u165 + $5e67 = GamePlayEventLoopHandlerB.skip7_u165 + $5e71 = GamePlayEventLoopHandlerB.notempty7_u166 + $5e74 = GamePlayEventLoopHandlerB.skip7_u166 + $5e7e = GamePlayEventLoopHandlerB.notempty7_u167 + $5e81 = GamePlayEventLoopHandlerB.skip7_u167 + $5e8b = GamePlayEventLoopHandlerB.notempty7_u168 + $5e8e = GamePlayEventLoopHandlerB.skip7_u168 + $5e98 = GamePlayEventLoopHandlerB.notempty7_u169 + $5e9b = GamePlayEventLoopHandlerB.skip7_u169 + $5ea5 = GamePlayEventLoopHandlerB.notempty7_u170 + $5ea8 = GamePlayEventLoopHandlerB.skip7_u170 + $5eb2 = GamePlayEventLoopHandlerB.notempty7_u171 + $5eb5 = GamePlayEventLoopHandlerB.skip7_u171 + $5ebf = GamePlayEventLoopHandlerB.notempty7_u172 + $5ec2 = GamePlayEventLoopHandlerB.skip7_u172 + $5ecc = GamePlayEventLoopHandlerB.notempty7_u173 + $5ecf = GamePlayEventLoopHandlerB.skip7_u173 + $5ed9 = GamePlayEventLoopHandlerB.notempty7_u174 + $5edc = GamePlayEventLoopHandlerB.skip7_u174 + $5ee6 = GamePlayEventLoopHandlerB.notempty7_u175 + $5ee9 = GamePlayEventLoopHandlerB.skip7_u175 + $5ef3 = GamePlayEventLoopHandlerB.notempty7_u176 + $5ef6 = GamePlayEventLoopHandlerB.skip7_u176 + $5f00 = GamePlayEventLoopHandlerB.notempty7_u177 + $5f03 = GamePlayEventLoopHandlerB.skip7_u177 + $5f0d = GamePlayEventLoopHandlerB.notempty7_u178 + $5f10 = GamePlayEventLoopHandlerB.skip7_u178 + $5f1a = GamePlayEventLoopHandlerB.notempty7_u179 + $5f1d = GamePlayEventLoopHandlerB.skip7_u179 + $5f27 = GamePlayEventLoopHandlerB.notempty7_u180 + $5f2a = GamePlayEventLoopHandlerB.skip7_u180 + $5f34 = GamePlayEventLoopHandlerB.notempty7_u181 + $5f37 = GamePlayEventLoopHandlerB.skip7_u181 + $5f41 = GamePlayEventLoopHandlerB.notempty7_u182 + $5f44 = GamePlayEventLoopHandlerB.skip7_u182 + $5f4e = GamePlayEventLoopHandlerB.notempty7_u183 + $5f51 = GamePlayEventLoopHandlerB.skip7_u183 + $5f5b = GamePlayEventLoopHandlerB.notempty7_u184 + $5f5e = GamePlayEventLoopHandlerB.skip7_u184 + $5f68 = GamePlayEventLoopHandlerB.notempty7_u185 + $5f6b = GamePlayEventLoopHandlerB.skip7_u185 + $5f75 = GamePlayEventLoopHandlerB.notempty7_u186 + $5f78 = GamePlayEventLoopHandlerB.skip7_u186 + $5f82 = GamePlayEventLoopHandlerB.notempty7_u187 + $5f85 = GamePlayEventLoopHandlerB.skip7_u187 + $5f8f = GamePlayEventLoopHandlerB.notempty7_u188 + $5f92 = GamePlayEventLoopHandlerB.skip7_u188 + $5f9c = GamePlayEventLoopHandlerB.notempty7_u189 + $5f9f = GamePlayEventLoopHandlerB.skip7_u189 + $5fa9 = GamePlayEventLoopHandlerB.notempty7_u190 + $5fac = GamePlayEventLoopHandlerB.skip7_u190 + $5fb6 = GamePlayEventLoopHandlerB.notempty7_u191 + $5fb9 = GamePlayEventLoopHandlerB.skip7_u191 + $5fc3 = GamePlayEventLoopHandlerB.notempty7_u192 + $5fc6 = GamePlayEventLoopHandlerB.skip7_u192 + $5fd0 = GamePlayEventLoopHandlerB.notempty7_u193 + $5fd3 = GamePlayEventLoopHandlerB.skip7_u193 + $5fdd = GamePlayEventLoopHandlerB.notempty7_u194 + $5fe0 = GamePlayEventLoopHandlerB.skip7_u194 + $5fea = GamePlayEventLoopHandlerB.notempty7_u195 + $5fed = GamePlayEventLoopHandlerB.skip7_u195 + $5ff7 = GamePlayEventLoopHandlerB.notempty7_u196 + $5ffa = GamePlayEventLoopHandlerB.skip7_u196 + $6004 = GamePlayEventLoopHandlerB.notempty7_u197 + $6007 = GamePlayEventLoopHandlerB.skip7_u197 + $6011 = GamePlayEventLoopHandlerB.notempty7_u198 + $6014 = GamePlayEventLoopHandlerB.skip7_u198 + $601e = GamePlayEventLoopHandlerB.notempty7_u199 + $6021 = GamePlayEventLoopHandlerB.skip7_u199 + $602b = GamePlayEventLoopHandlerB.notempty7_u200 + $602e = GamePlayEventLoopHandlerB.skip7_u200 + $6038 = GamePlayEventLoopHandlerB.notempty7_u201 + $603b = GamePlayEventLoopHandlerB.skip7_u201 + $6045 = GamePlayEventLoopHandlerB.notempty7_u202 + $6048 = GamePlayEventLoopHandlerB.skip7_u202 + $6052 = GamePlayEventLoopHandlerB.notempty7_u203 + $6055 = GamePlayEventLoopHandlerB.skip7_u203 + $605f = GamePlayEventLoopHandlerB.notempty7_u204 + $6062 = GamePlayEventLoopHandlerB.skip7_u204 + $606c = GamePlayEventLoopHandlerB.notempty7_u205 + $606f = GamePlayEventLoopHandlerB.skip7_u205 + $6079 = GamePlayEventLoopHandlerB.notempty7_u206 + $607c = GamePlayEventLoopHandlerB.skip7_u206 + $6086 = GamePlayEventLoopHandlerB.notempty7_u207 + $6089 = GamePlayEventLoopHandlerB.skip7_u207 + $6093 = GamePlayEventLoopHandlerB.notempty7_u208 + $6096 = GamePlayEventLoopHandlerB.skip7_u208 + $60a0 = GamePlayEventLoopHandlerB.notempty7_u209 + $60a3 = GamePlayEventLoopHandlerB.skip7_u209 + $60ad = GamePlayEventLoopHandlerB.notempty7_u210 + $60b0 = GamePlayEventLoopHandlerB.skip7_u210 + $60ba = GamePlayEventLoopHandlerB.notempty7_u211 + $60bd = GamePlayEventLoopHandlerB.skip7_u211 + $60c7 = GamePlayEventLoopHandlerB.notempty7_u212 + $60ca = GamePlayEventLoopHandlerB.skip7_u212 + $60d4 = GamePlayEventLoopHandlerB.notempty7_u213 + $60d7 = GamePlayEventLoopHandlerB.skip7_u213 + $60db = GamePlayEventLoopHandlerB.gameOverMode + $60f4 = GamePlayEventLoopHandlerB.checkretry + $611d = GamePlayEventLoopHandlerB.noretry + $612a = GamePlayEventLoopHandlerB.pauseMode + $613c = GamePlayEventLoopHandlerB.noqr + $6151 = GamePlayEventLoopHandlerB.nounpause + $619b = GamePlayEventLoopHandlerB.preRollMode + $61ca = GamePlayEventLoopHandlerB.predone + $61e0 = GamePlayEventLoopHandlerB.staysmall + $61f6 = GamePlayEventLoopHandlerB.drawStaticInfo + $622a = DoHold + $622e = DoHold.checkIRSA + $6234 = DoHold.ldb3 + $623f = DoHold.lda3 + $6248 = DoHold.cp3 + $6256 = DoHold.checkIRSB + $625c = DoHold.lda4 + $6267 = DoHold.ldb4 + $6270 = DoHold.cp4 + $627e = DoHold.noRotation + $6289 = DoHold.doHoldOperation + SECTION: $6294-$6b29 ($0896 bytes) ["Gameplay Static Data"] + $6294 = sLeftDasSlam + $629a = sRightDasSlam + $62a0 = sLeady + $62aa = sGo + $62b4 = sPause + $62dc = sKill + $637c = sYouAreGM + $63e0 = sFinalChallenge + $64a8 = sPieceXOffsets + $64c4 = sPieceYOffsets + $64e0 = sPieceFastRotationStates + $6550 = sPieceRotationStates + $65c0 = sTGM3Bag + $65e3 = sTGM3Droughts + $65ea = sGameplayTileMap + $688a = sGameplayUngradedTileMap + $688a = sGameplayTileMapEnd + $6b2a = sGameplayUngradedTileMapEnd + SECTION: $6b2a-$723b ($0712 bytes) ["Grading Functions Banked"] + $6b2a = GradeInitB + $6b74 = GradeInitB.grade9start + $6b79 = UpdateGradeB + $6b79 = GradeInitB.end + $6b87 = UpdateGradeB.gradejumptable + $6b9c = DecayGradeProcessB + $6baa = DecayGradeProcessB.gradejumptable + $6bbf = DecayGradeDelayB + $6bcd = DecayGradeDelayB.gradejumptable + $6be2 = PrepareScore + $6bf5 = DrawGradeProgressDMGT + $6c01 = !0 + $6c10 = UpdateGradeDMGT + $6c49 = UpdateGradeDMGT.checklineclears + $6c62 = UpdateGradeDMGT.clearrate + $6c73 = UpdateGradeDMGT.combomult + $6c80 = UpdateGradeDMGT.combo13 + $6c91 = UpdateGradeDMGT.combo8 + $6ca2 = UpdateGradeDMGT.combo1 + $6cb1 = UpdateGradeDMGT.prelevel + $6cc0 = UpdateGradeDMGT.single + $6cd0 = UpdateGradeDMGT.double + $6ce1 = UpdateGradeDMGT.adddonce + $6ce5 = UpdateGradeDMGT.triple + $6cf6 = UpdateGradeDMGT.addtonce + $6cfa = UpdateGradeDMGT.tetris + $6cfe = UpdateGradeDMGT.levelmult + $6d16 = UpdateGradeDMGT.mult4 + $6d1c = UpdateGradeDMGT.mult3 + $6d21 = UpdateGradeDMGT.mult2 + $6d25 = UpdateGradeDMGT.mult1 + $6d26 = UpdateGradeDMGT.processgrade + $6d4f = UpdateGradeDMGT.increasegrademaybe + $6d73 = UpdateGradeDMGT.gotgm + $6d81 = DecayGradeDMGT + $6da4 = DecayGradeDMGT.nodecay + $6dab = DecayGradeDMGT.decay + $6db9 = UpdateGradeTGM1 + $6dc9 = UpdateGradeTGM1.trygradeup + $6de4 = UpdateGradeTGM1.increasegrade + $6df9 = UpdateGradeTGM1.skipjingle + $6e05 = UpdateGradeTGM1.check300 + $6e23 = UpdateGradeTGM1.success300 + $6e2a = UpdateGradeTGM1.fail300 + $6e31 = UpdateGradeTGM1.check500 + $6e4f = UpdateGradeTGM1.success500 + $6e56 = UpdateGradeTGM1.fail500 + $6e5d = UpdateGradeTGM1.check999 + $6e94 = UpdateGradeTGM1.success999 + $6eac = UpdateGradeTGM1.fail999 + $6eb2 = UpdateGradeDEAT + $6ebe = UpdateGradeDEAT.notgm + $6eda = UpdateGradeDEAT.notm + $6efd = UpdateGradeDEAT.disqualify + $6f1b = UpdateGradeSHIR + $6f5d = UpdateGradeSHIR.s5torikan + $6f6d = UpdateGradeSHIR.s10torikan + $6f7c = UpdateGradeSHIR.disqualify + $6f8b = UpdateGradeSHIR.l1000 + $6fa1 = UpdateGradeSHIR.l500 + $6fb7 = UpdateGradeTGM3 + $6fb7 = UpdateGradeTGM3.GradePoints + $6fc6 = !1 + $6fcb = UpdateGradeTGM3.GetOffset + $6fdd = UpdateGradeTGM3.loadpoints + $6fe7 = UpdateGradeTGM3.multipliers + $6ff4 = !2 + $700e = !3 + $7013 = UpdateGradeTGM3.levelmultiplier + $702c = UpdateGradeTGM3.Level750 + $7040 = UpdateGradeTGM3.under750 + $7046 = UpdateGradeTGM3.Level500 + $7054 = UpdateGradeTGM3.Level250 + $7063 = UpdateGradeTGM3.under250 + $7067 = UpdateGradeTGM3.Multiply + $706a = !4 + $7071 = UpdateGradeTGM3.IncreaseInternalGrade + $7089 = TGM3UpdateDisplayedGrade + $709e = TGM3UpdateDisplayedGrade.update + $70bb = TGM3UpdateDisplayedGrade.cool + $70da = TGM3UpdateDisplayedGrade.nocool + $70e6 = TGM3UpdateDisplayedGrade.continue + $70f7 = CheckCOOL + $710b = CheckCOOL.cool + $712c = DecayGradeTGM3 + $7140 = DecayGradeTGM3.points + $715d = !5 + $7161 = DecayGradeTGM3.GetOffset + $716a = DecayGradeTGM3.lpoints + $716e = TGM3COOLHandlerB + $7195 = TGM3COOLHandlerB.checkCOOL + $719f = TGM3COOLHandlerB.checkBaselineCOOL + $71a7 = TGM3COOLHandlerB.cool + $71c1 = TGM3COOLHandlerB.nocool + $71cd = TGM3REGRETHandlerB + $71e9 = TGM3REGRETHandlerB.regret + $7216 = TGM3StaffRollGradeUpdate + $722c = TGM3StaffRollGradeUpdate.UpdateGrade + SECTION: $723c-$7565 ($032a bytes) ["Grading Data"] + $723c = sDMGTGrading + $72f0 = sDMGTGaugeLUT + $73f0 = sTGM1GradeScores + $7412 = sTGM3InternalGradeSystem + $74b2 = sTGM3GradeBoosts + $74d1 = sTGM3HowManyInternalGradesToDecrease + $74f0 = sTGM3HowManyInternalGradesToIncrease + $750f = sTGM3ComboMultipliers + $7541 = sTGM3LevelMultiplier + $7544 = sTGM3BaselineCOOL + $754d = sTGM3REGRETConditions + $7561 = sTGM3StaffrollGrading + EMPTY: $7566-$7fff ($0a9a bytes) + TOTAL EMPTY: $0a9a bytes ROMX bank #6: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_GAMEPLAY_BIG"] @@ -3119,87 +3178,96 @@ WRAM0 bank #0: $ceec = wTGM3Droughts $cef3 = wTGM3GeneratedIdx $cef4 = wTGM3WorstDroughtIdx - SECTION: $cef5-$cf08 ($0014 bytes) ["Level Variables"] - $cef5 = wBoneActivationLevel - $cef7 = wInvisActivationLevel - $cef9 = wKillScreenActivationLevel - $cefb = wKillScreenActivationLevelBCD - $cefd = wLastLockLevel - $ceff = wStaffRollDuration - $cf01 = wBigStaffRoll - $cf02 = wBonesActive - $cf03 = wInvisActive - $cf04 = wKillScreenActive - $cf05 = wLockLevel - $cf06 = wShouldGoStaffRoll - $cf07 = wNoMoreLocks - $cf08 = wSkippedSectionsBCD - SECTION: $cf09-$cf1a ($0012 bytes) ["Grade Variables"] - $cf09 = wDecayRate - $cf0a = wGradePoints - $cf0b = wInternalGrade - $cf0c = wDisplayedGrade - $cf0d = wEffectTimer - $cf0e = wRankingDisqualified - $cf0f = wDecayCounter - $cf10 = wGradeGauge - $cf11 = wSMult - $cf12 = wDMult - $cf13 = wTMult - $cf14 = wSRate - $cf15 = wDRate - $cf16 = wTRate - $cf17 = wQRate - $cf18 = wTGM1level300RequirementMet - $cf19 = wTGM1level500RequirementMet - $cf1a = wTGM1level999RequirementMet - SECTION: $cf1b-$cf24 ($000a bytes) ["Progress Variables"] - $cf1b = wProgress0B1 - $cf1c = wProgress0B2 - $cf1d = wProgress1B1 - $cf1e = wProgress1B2 - $cf1f = wProgress2B1 - $cf20 = wProgress2B2 - $cf21 = wProgress3B1 - $cf22 = wProgress3B2 - $cf23 = wProgress4B1 - $cf24 = wProgress4B2 - SECTION: $cf25-$cf2d ($0009 bytes) ["Globals"] - $cf25 = wSwapABState - $cf26 = wRNGModeState - $cf27 = wRotModeState - $cf28 = wDropModeState - $cf29 = wSpeedCurveState - $cf2a = wAlways20GState - $cf2b = wInitialA - $cf2c = wInitialB - $cf2d = wInitialC - SECTION: $cf2e-$cf34 ($0007 bytes) ["Title Variables"] - $cf2e = wSelected - $cf2f = wTitleMode - $cf30 = wProfileName - $cf33 = wDisplayingScoreMode - $cf34 = wScoreFlipTimer - SECTION: $cf35-$cf3a ($0006 bytes) ["Time Variables"] - $cf35 = wMinutes - $cf36 = wSeconds - $cf37 = wFrames - $cf38 = wCountDown - $cf3a = wCountDownZero - SECTION: $cf3b-$cf3e ($0004 bytes) ["Banking Variables"] - $cf3b = wBankBackup - SECTION: $cf3f-$cf42 ($0004 bytes) ["Gameplay Variables"] - $cf3f = wRollLine - $cf40 = wInStaffRoll - $cf41 = wBigModeTransfered - $cf42 = wGameOverIgnoreInput - SECTION: $cf43-$cf44 ($0002 bytes) ["GBC Variables"] - $cf43 = wOuterReps - $cf44 = wInnerReps - SECTION: $cf45-$cf45 ($0001 byte) ["SRAM Variables"] - $cf45 = wTarget - EMPTY: $cf46-$cfff ($00ba bytes) - TOTAL EMPTY: $00ba bytes + SECTION: $cef5-$cf0d ($0019 bytes) ["Grade Variables"] + $cef5 = wDecayRate + $cef6 = wInternalGradePoints + $cef7 = wInternalGrade + $cef8 = wDisplayedGrade + $cef9 = wEffectTimer + $cefa = wRankingDisqualified + $cefb = wDecayCounter + $cefc = wGradeGauge + $cefd = wSMult + $cefe = wDMult + $ceff = wTMult + $cf00 = wSRate + $cf01 = wDRate + $cf02 = wTRate + $cf03 = wQRate + $cf04 = wPrevCOOL + $cf07 = wCOOLIsActive + $cf08 = wSubgrade + $cf09 = wREGRETChecked + $cf0a = wGradeBoosts + $cf0b = wTGM1level300RequirementMet + $cf0c = wTGM1level500RequirementMet + $cf0d = wTGM1level999RequirementMet + SECTION: $cf0e-$cf21 ($0014 bytes) ["Level Variables"] + $cf0e = wBoneActivationLevel + $cf10 = wInvisActivationLevel + $cf12 = wKillScreenActivationLevel + $cf14 = wKillScreenActivationLevelBCD + $cf16 = wLastLockLevel + $cf18 = wStaffRollDuration + $cf1a = wBigStaffRoll + $cf1b = wBonesActive + $cf1c = wInvisActive + $cf1d = wKillScreenActive + $cf1e = wLockLevel + $cf1f = wShouldGoStaffRoll + $cf20 = wNoMoreLocks + $cf21 = wSkippedSectionsBCD + SECTION: $cf22-$cf2b ($000a bytes) ["Progress Variables"] + $cf22 = wProgress0B1 + $cf23 = wProgress0B2 + $cf24 = wProgress1B1 + $cf25 = wProgress1B2 + $cf26 = wProgress2B1 + $cf27 = wProgress2B2 + $cf28 = wProgress3B1 + $cf29 = wProgress3B2 + $cf2a = wProgress4B1 + $cf2b = wProgress4B2 + SECTION: $cf2c-$cf35 ($000a bytes) ["Time Variables"] + $cf2c = wMinutes + $cf2d = wSeconds + $cf2e = wFrames + $cf2f = wSectionMinutes + $cf30 = wSectionSeconds + $cf31 = wSectionFrames + $cf32 = wCountDown + $cf34 = wCountDownZero + $cf35 = wSectionTimerReset + SECTION: $cf36-$cf3e ($0009 bytes) ["Globals"] + $cf36 = wSwapABState + $cf37 = wRNGModeState + $cf38 = wRotModeState + $cf39 = wDropModeState + $cf3a = wSpeedCurveState + $cf3b = wAlways20GState + $cf3c = wInitialA + $cf3d = wInitialB + $cf3e = wInitialC + SECTION: $cf3f-$cf45 ($0007 bytes) ["Title Variables"] + $cf3f = wSelected + $cf40 = wTitleMode + $cf41 = wProfileName + $cf44 = wDisplayingScoreMode + $cf45 = wScoreFlipTimer + SECTION: $cf46-$cf49 ($0004 bytes) ["Banking Variables"] + $cf46 = wBankBackup + SECTION: $cf4a-$cf4d ($0004 bytes) ["Gameplay Variables"] + $cf4a = wRollLine + $cf4b = wInStaffRoll + $cf4c = wBigModeTransfered + $cf4d = wGameOverIgnoreInput + SECTION: $cf4e-$cf4f ($0002 bytes) ["GBC Variables"] + $cf4e = wOuterReps + $cf4f = wInnerReps + SECTION: $cf50-$cf50 ($0001 byte) ["SRAM Variables"] + $cf50 = wTarget + EMPTY: $cf51-$cfff ($00af bytes) + TOTAL EMPTY: $00af bytes HRAM bank #0: SECTION: $ff80-$ff9c ($001d bytes) ["High Level Variables"] @@ -3291,8 +3359,8 @@ HRAM bank #0: TOTAL EMPTY: $0000 bytes SUMMARY: - ROM0: 15390 bytes used / 994 free - ROMX: 68930 bytes used / 29374 free in 6 banks + ROM0: 13842 bytes used / 2542 free + ROMX: 71546 bytes used / 26758 free in 6 banks SRAM: 2951 bytes used / 5241 free in 1 bank - WRAM0: 3910 bytes used / 186 free + WRAM0: 3921 bytes used / 175 free HRAM: 127 bytes used / 0 free diff --git a/bin/PandorasBlocks.pocket b/bin/PandorasBlocks.pocket index c3e95b5..8ad8aa7 100644 Binary files a/bin/PandorasBlocks.pocket and b/bin/PandorasBlocks.pocket differ diff --git a/bin/PandorasBlocks.sym b/bin/PandorasBlocks.sym index 12997a7..51232b0 100644 --- a/bin/PandorasBlocks.sym +++ b/bin/PandorasBlocks.sym @@ -194,281 +194,230 @@ 00:2141 ChangeProfile.lninth 00:2150 ChangeProfile.ltenth 00:215f ResetProfile -00:21c2 GradeInit -00:21f6 GradeInit.grade9start -00:21fb GradeInit.end -00:21fd UpdateGrade -00:220b UpdateGrade.gradejumptable -00:2220 DecayGradeProcess -00:222e DecayGradeProcess.gradejumptable -00:2243 DecayGradeDelay -00:2251 DecayGradeDelay.gradejumptable -00:2266 PrepareScore -00:2279 DrawGradeProgressDMGT -00:2294 UpdateGradeDMGT -00:22cd UpdateGradeDMGT.checklineclears -00:22e6 UpdateGradeDMGT.clearrate -00:22f7 UpdateGradeDMGT.combomult -00:2304 UpdateGradeDMGT.combo13 -00:2315 UpdateGradeDMGT.combo8 -00:2326 UpdateGradeDMGT.combo1 -00:2335 UpdateGradeDMGT.prelevel -00:2344 UpdateGradeDMGT.single -00:2354 UpdateGradeDMGT.double -00:2365 UpdateGradeDMGT.adddonce -00:2369 UpdateGradeDMGT.triple -00:237a UpdateGradeDMGT.addtonce -00:237e UpdateGradeDMGT.tetris -00:2382 UpdateGradeDMGT.levelmult -00:239a UpdateGradeDMGT.mult4 -00:23a0 UpdateGradeDMGT.mult3 -00:23a5 UpdateGradeDMGT.mult2 -00:23a9 UpdateGradeDMGT.mult1 -00:23aa UpdateGradeDMGT.processgrade -00:23d3 UpdateGradeDMGT.increasegrademaybe -00:23f7 UpdateGradeDMGT.gotgm -00:2405 DecayGradeDMGT -00:2428 DecayGradeDMGT.nodecay -00:242f DecayGradeDMGT.decay -00:243d UpdateGradeTGM1 -00:244d UpdateGradeTGM1.trygradeup -00:2468 UpdateGradeTGM1.increasegrade -00:247d UpdateGradeTGM1.skipjingle -00:2489 UpdateGradeTGM1.check300 -00:24a7 UpdateGradeTGM1.success300 -00:24ae UpdateGradeTGM1.fail300 -00:24b5 UpdateGradeTGM1.check500 -00:24d3 UpdateGradeTGM1.success500 -00:24da UpdateGradeTGM1.fail500 -00:24e1 UpdateGradeTGM1.check999 -00:2518 UpdateGradeTGM1.success999 -00:2530 UpdateGradeTGM1.fail999 -00:2536 UpdateGradeDEAT -00:2542 UpdateGradeDEAT.notgm -00:255e UpdateGradeDEAT.notm -00:2581 UpdateGradeDEAT.disqualify -00:259f UpdateGradeSHIR -00:25e1 UpdateGradeSHIR.s5torikan -00:25f1 UpdateGradeSHIR.s10torikan -00:2600 UpdateGradeSHIR.disqualify -00:260f UpdateGradeSHIR.l1000 -00:2625 UpdateGradeSHIR.l500 -00:263b LevelInit -00:26ab SpecialLevelInit -00:26b9 SpecialLevelInit.jumps -00:26ce SpecialLevelInit.dmgt -00:26d3 SpecialLevelInit.tgm1 -00:26d8 SpecialLevelInit.tgm3 -00:26dd SpecialLevelInit.deat -00:26e2 SpecialLevelInit.shir -00:26e7 SpecialLevelInit.chil -00:26ec SpecialLevelInit.myco -00:26f1 SpecialLevelInit.loaddata -00:2726 LevelUp -00:2750 LevelUp.doit -00:278f LevelUp.checknlevel -00:27e1 LevelUp.bellmaybe -00:27fd LevelUp.leveljinglemaybe -00:280d AdjustSpeedCurve -00:2813 AdjustSpeedCurve.docheck -00:2813 AdjustSpeedCurve.checkthousands -00:2822 AdjustSpeedCurve.checkhundreds -00:282f AdjustSpeedCurve.checktens -00:283e AdjustSpeedCurve.checkones -00:2849 AdjustSpeedCurveForced -00:2884 AdjustSpeedCurveForced.continue -00:2889 BuildTrueCLevel -00:28b1 BuildTrueCLevel.thousands -00:28c6 CheckSpecialLevelConditions -00:28f7 CheckSpecialLevelConditions.override -00:2912 CheckSpecialLevelConditions.nooverride -00:2918 CheckSpecialLevelConditions.speciallock -00:293c CheckSpecialLevelConditions.bones -00:2951 CheckSpecialLevelConditions.enterthebonezone -00:2956 CheckSpecialLevelConditions.invis -00:296b CheckSpecialLevelConditions.vanishoxyaction -00:2970 CheckSpecialLevelConditions.killscreen -00:2981 CheckSpecialLevelConditions.rip -00:29b1 CheckSpecialLevelConditions.staffroll -00:29bf CheckSpecialLevelConditions.justkill -00:29d3 TriggerKillScreen -00:29f5 GetSection -00:2a03 GetSectionBCD -00:2a0c GetAdjustedSection -00:2a1a GetAdjustedSectionBCD -00:2a23 SkipSection -00:2a2f sTGM1GradeScores -00:2a51 sTGM3InternalGradeSystem -00:2af1 sTGM3GradeBoosts -00:2b10 sTGM3LevelMultiplier -00:2b14 sTGM3BaselineCOOL -00:2b1d sTGM3REGRETConditions -00:2b31 sDMGTGrading -00:2be5 sDMGTGaugeLUT -00:2ce5 SFXInit -00:2d07 SFXPopQueue -00:2d1c SFXPushQueue -00:2d2d SFXProcessQueue -00:2d5b SFXTriggerNoise -00:2d81 SFXEnqueue -00:2d96 SFXEnqueue.findsfx -00:2ef0 SFXKill -00:2f23 SFXPlayNoise -00:2f2e SFXPlayNoise.noisereg -00:2f45 SFXPlayNoise.savenoiseplayhead -00:2f4e SFXPlay -00:2f5c SFXPlay.play -00:2f68 SFXPlay.getRegister -00:2f7c SFXPlay.savePlayhead -00:2f85 HarvestEntropy -00:2f8b HarvestEntropy.loop -00:2fac RNGInit -00:3012 RNGInit.complexinit -00:3044 ShiftHistory -00:3061 GetNextHellPiece -00:3066 GetNextTGM1Piece -00:3083 GetNextTGM2Piece -00:30a0 GetNextNesPiece -00:30ae GetNextTGM3Piece -00:3164 GetNextPiece -00:3172 GetNextPiece.nextpiecejumps -00:3181 Next35Piece -00:318b Next7Piece -00:3195 NextByte -00:31b5 CheckAndAddHiscore -00:31bf CheckAndAddHiscore.checkloop -00:31c4 CheckAndAddHiscore.checkgrade -00:31cd CheckAndAddHiscore.oldgraded -00:31dc CheckAndAddHiscore.oldungraded -00:31e3 CheckAndAddHiscore.checklevel -00:3208 CheckAndAddHiscore.checkscore -00:324b CheckAndAddHiscore.notbetter -00:3258 CheckAndAddHiscore.better -00:325a InsertHiScore -00:325a InsertHiScore.copylower -00:326b InsertHiScore.copyupper -00:328b InsertHiScore.findrow -00:329b InsertHiScore.insert -00:32f4 InsertHiScore.persist -00:3305 GetHiScoreEntry -00:331d GetHiScoreEntry.store -00:3326 InitTargetHSTable -00:3331 InitTargetHSTable.jumps -00:3346 InitTargetHSTable.dmgt -00:334b InitTargetHSTable.tgm1 -00:3350 InitTargetHSTable.tgm3 -00:3355 InitTargetHSTable.deat -00:335a InitTargetHSTable.shir -00:335f InitTargetHSTable.chil -00:3364 InitTargetHSTable.myco -00:3367 InitTargetHSTable.store -00:337a sProgressData -00:34c4 sHiscoreDefaultData -00:3604 InputInit -00:3616 GetInput -00:3616 GetInput.btns -00:3623 GetInput.readA -00:3627 GetInput.setA -00:3632 GetInput.clearA -00:3635 GetInput.readB -00:3639 GetInput.setB -00:3644 GetInput.clearB -00:3647 GetInput.readSelect -00:364b GetInput.setSelect -00:3656 GetInput.clearSelect -00:3659 GetInput.readStart -00:365d GetInput.setStart -00:3668 GetInput.clearStart -00:366b GetInput.dpad -00:3678 GetInput.readUp -00:367c GetInput.setUp -00:3687 GetInput.clearUp -00:368a GetInput.readDown -00:368e GetInput.setDown -00:3699 GetInput.clearDown -00:369c GetInput.readLeft -00:36a0 GetInput.setLeft -00:36ab GetInput.clearLeft -00:36ae GetInput.readRight -00:36b2 GetInput.setRight -00:36bd GetInput.clearRight -00:36c0 GetInput.priorities -00:36cd GetInput.jumps -00:36dc GetInput.dlru -00:36ec GetInput.ulrd -00:36fc GetInput.lrud -00:3707 GetInput.udlr -00:3712 GetInput.zeroud -00:3718 GetInput.zerolr -00:371e GetInput.zerolrd -00:3726 GetInput.zerolru -00:372e ScoreInit -00:3756 IncreaseScore -00:378e IncreaseScore.doConvert -00:37a6 IncreaseScore.carry -00:37a8 IncreaseScore.postConvert -00:37bc IncreaseScore.preAddDigit -00:37e4 IncreaseScore.addDigit -00:37fa IncreaseScore.nextDigit -00:380e SwitchToTitle -00:3817 TitleEventLoopHandler -00:3821 TitleVBlankHandler -00:382b PersistLevel -00:3839 DrawSpeedMain -00:3889 DrawSpeedSettings -00:38d9 TimeInit -00:38f9 StartCountdown -00:3907 ResetGameTime -00:3912 CheckTorikan -00:3928 CheckTorikan.failure -00:392a CheckTorikan.success -00:392d HandleTimers -00:3953 HandleTimers.reduce -00:3960 HandleTimers.clock -00:397a HandleTimers.go -00:399e SetProgress -00:39a8 SetProgress.loop -00:39ac SetProgress.correct -00:39d3 SetProgress.wvr_u1 -00:39df SetProgress.wvr_u2 -00:39ed SetProgress.wvr_u3 -00:39f9 SetProgress.wvr_u4 -00:3a07 SetProgress.wvr_u5 -00:3a13 SetProgress.wvr_u6 -00:3a21 SetProgress.wvr_u7 -00:3a2d SetProgress.wvr_u8 -00:3a3b SetProgress.wvr_u9 -00:3a47 SetProgress.wvr_u10 -00:3a4f Main -00:3a78 Main.notgbc -00:3a7e Main.wvr_u1 -00:3aab EventLoop -00:3ac1 EventLoop.eventloopjumps -00:3aca EventLoopPostHandler -00:3acc EventLoopPostHandler.wvb_u2 -00:3ade EventLoopPostHandler.vblankjumps -00:3ae7 LoadTitleTiles -00:3b05 LoadGameplayTiles -00:3b1b LoadGameplayTiles.gbc -00:3b2a LoadGameplayTiles.dmg -00:3b39 sFramesToCS -00:3b75 UnsafeMemCopy -00:3b7e SafeMemCopy.wvr_u1 -00:3b7e SafeMemCopy -00:3b8d UnsafeMemSet -00:3b95 SafeMemSet -00:3b95 SafeMemSet.wvr_u2 -00:3ba3 SwitchToGameplay -00:3bac SwitchToGameplayBig -00:3bb5 GamePlayEventLoopHandler -00:3bbf GamePlayBigEventLoopHandler -00:3bc9 EnableScreenSquish -00:3be3 DisableScreenSquish -00:3bee CopyOAMHandler -00:3bfa ClearOAM -00:3c10 BankingInit -00:3c1f OAMDMA -00:3c29 OAMDMAEnd +00:21c2 LevelInit +00:2232 SpecialLevelInit +00:2240 SpecialLevelInit.jumps +00:2255 SpecialLevelInit.dmgt +00:225a SpecialLevelInit.tgm1 +00:225f SpecialLevelInit.tgm3 +00:2264 SpecialLevelInit.deat +00:2269 SpecialLevelInit.shir +00:226e SpecialLevelInit.chil +00:2273 SpecialLevelInit.myco +00:2278 SpecialLevelInit.loaddata +00:22ad LevelUp +00:22d7 LevelUp.doit +00:2316 LevelUp.checknlevel +00:236b LevelUp.checkcool +00:238c LevelUp.checkregret +00:23a9 LevelUp.resetsectiontimer +00:23cc LevelUp.regretavailable +00:23d0 LevelUp.bellmaybe +00:23ec LevelUp.leveljinglemaybe +00:23fc AdjustSpeedCurve +00:2402 AdjustSpeedCurve.docheck +00:2402 AdjustSpeedCurve.checkthousands +00:2411 AdjustSpeedCurve.checkhundreds +00:241e AdjustSpeedCurve.checktens +00:242d AdjustSpeedCurve.checkones +00:2438 AdjustSpeedCurveForced +00:2473 AdjustSpeedCurveForced.continue +00:2478 BuildTrueCLevel +00:24a0 BuildTrueCLevel.thousands +00:24b5 CheckSpecialLevelConditions +00:24e6 CheckSpecialLevelConditions.override +00:2501 CheckSpecialLevelConditions.nooverride +00:2507 CheckSpecialLevelConditions.speciallock +00:252b CheckSpecialLevelConditions.bones +00:2540 CheckSpecialLevelConditions.enterthebonezone +00:2545 CheckSpecialLevelConditions.invis +00:255a CheckSpecialLevelConditions.vanishoxyaction +00:255f CheckSpecialLevelConditions.killscreen +00:2570 CheckSpecialLevelConditions.rip +00:25a0 CheckSpecialLevelConditions.staffroll +00:25ae CheckSpecialLevelConditions.justkill +00:25c2 TriggerKillScreen +00:25e4 GetSection +00:25f2 GetSectionBCD +00:25fb GetAdjustedSection +00:2609 GetAdjustedSectionBCD +00:2612 SkipSection +00:261e SFXInit +00:2640 SFXPopQueue +00:2655 SFXPushQueue +00:2666 SFXProcessQueue +00:2694 SFXTriggerNoise +00:26ba SFXEnqueue +00:26cf SFXEnqueue.findsfx +00:2829 SFXKill +00:285c SFXPlayNoise +00:2867 SFXPlayNoise.noisereg +00:287e SFXPlayNoise.savenoiseplayhead +00:2887 SFXPlay +00:2895 SFXPlay.play +00:28a1 SFXPlay.getRegister +00:28b5 SFXPlay.savePlayhead +00:28be HarvestEntropy +00:28c4 HarvestEntropy.loop +00:28e5 RNGInit +00:294b RNGInit.complexinit +00:297d ShiftHistory +00:299a GetNextHellPiece +00:299f GetNextTGM1Piece +00:29bc GetNextTGM2Piece +00:29d9 GetNextNesPiece +00:29e7 GetNextTGM3Piece +00:2a9d GetNextPiece +00:2aab GetNextPiece.nextpiecejumps +00:2aba Next35Piece +00:2ac4 Next7Piece +00:2ace NextByte +00:2aee CheckAndAddHiscore +00:2af8 CheckAndAddHiscore.checkloop +00:2afd CheckAndAddHiscore.checkgrade +00:2b06 CheckAndAddHiscore.oldgraded +00:2b15 CheckAndAddHiscore.oldungraded +00:2b1c CheckAndAddHiscore.checklevel +00:2b41 CheckAndAddHiscore.checkscore +00:2b84 CheckAndAddHiscore.notbetter +00:2b91 CheckAndAddHiscore.better +00:2b93 InsertHiScore +00:2b93 InsertHiScore.copylower +00:2ba4 InsertHiScore.copyupper +00:2bc4 InsertHiScore.findrow +00:2bd4 InsertHiScore.insert +00:2c2d InsertHiScore.persist +00:2c3e GetHiScoreEntry +00:2c56 GetHiScoreEntry.store +00:2c5f InitTargetHSTable +00:2c6a InitTargetHSTable.jumps +00:2c7f InitTargetHSTable.dmgt +00:2c84 InitTargetHSTable.tgm1 +00:2c89 InitTargetHSTable.tgm3 +00:2c8e InitTargetHSTable.deat +00:2c93 InitTargetHSTable.shir +00:2c98 InitTargetHSTable.chil +00:2c9d InitTargetHSTable.myco +00:2ca0 InitTargetHSTable.store +00:2cb3 sProgressData +00:2dfd TimeInit +00:2e26 StartCountdown +00:2e34 ResetGameTime +00:2e48 CheckTorikan +00:2e5e CheckTorikan.failure +00:2e60 CheckTorikan.success +00:2e63 HandleTimers +00:2e89 HandleTimers.reduce +00:2e96 HandleTimers.clock +00:2eb0 HandleTimers.go +00:2ed4 CheckCOOL_REGRET +00:2eeb CheckCOOL_REGRET.failure +00:2eed CheckCOOL_REGRET.success +00:2ef0 HandleSectionTimers +00:2f0c HandleSectionTimers.continue +00:2f20 HandleSectionTimers.sectiongo +00:2f44 sHiscoreDefaultData +00:3084 InputInit +00:3096 GetInput +00:3096 GetInput.btns +00:30a3 GetInput.readA +00:30a7 GetInput.setA +00:30b2 GetInput.clearA +00:30b5 GetInput.readB +00:30b9 GetInput.setB +00:30c4 GetInput.clearB +00:30c7 GetInput.readSelect +00:30cb GetInput.setSelect +00:30d6 GetInput.clearSelect +00:30d9 GetInput.readStart +00:30dd GetInput.setStart +00:30e8 GetInput.clearStart +00:30eb GetInput.dpad +00:30f8 GetInput.readUp +00:30fc GetInput.setUp +00:3107 GetInput.clearUp +00:310a GetInput.readDown +00:310e GetInput.setDown +00:3119 GetInput.clearDown +00:311c GetInput.readLeft +00:3120 GetInput.setLeft +00:312b GetInput.clearLeft +00:312e GetInput.readRight +00:3132 GetInput.setRight +00:313d GetInput.clearRight +00:3140 GetInput.priorities +00:314d GetInput.jumps +00:315c GetInput.dlru +00:316c GetInput.ulrd +00:317c GetInput.lrud +00:3187 GetInput.udlr +00:3192 GetInput.zeroud +00:3198 GetInput.zerolr +00:319e GetInput.zerolrd +00:31a6 GetInput.zerolru +00:31ae ScoreInit +00:31d6 IncreaseScore +00:320e IncreaseScore.doConvert +00:3226 IncreaseScore.carry +00:3228 IncreaseScore.postConvert +00:323c IncreaseScore.preAddDigit +00:3264 IncreaseScore.addDigit +00:327a IncreaseScore.nextDigit +00:328e SwitchToTitle +00:3297 TitleEventLoopHandler +00:32a1 TitleVBlankHandler +00:32ab PersistLevel +00:32b9 DrawSpeedMain +00:3309 DrawSpeedSettings +00:3359 SetProgress +00:3363 SetProgress.loop +00:3367 SetProgress.correct +00:338e SetProgress.wvr_u1 +00:339a SetProgress.wvr_u2 +00:33a8 SetProgress.wvr_u3 +00:33b4 SetProgress.wvr_u4 +00:33c2 SetProgress.wvr_u5 +00:33ce SetProgress.wvr_u6 +00:33dc SetProgress.wvr_u7 +00:33e8 SetProgress.wvr_u8 +00:33f6 SetProgress.wvr_u9 +00:3402 SetProgress.wvr_u10 +00:340a Main +00:3433 Main.notgbc +00:3439 Main.wvr_u1 +00:3466 EventLoop +00:347f EventLoop.eventloopjumps +00:3488 EventLoopPostHandler +00:348a EventLoopPostHandler.wvb_u2 +00:349c EventLoopPostHandler.vblankjumps +00:34a5 LoadTitleTiles +00:34c3 LoadGameplayTiles +00:34d9 LoadGameplayTiles.gbc +00:34e8 LoadGameplayTiles.dmg +00:34f7 sFramesToCS +00:3533 GradeInit +00:353c UpdateGrade +00:3545 DecayGradeProcess +00:354e DecayGradeDelay +00:3557 TGM3REGRETHandler +00:3560 TGM3COOLHandler +00:3569 UnsafeMemCopy +00:3572 SafeMemCopy.wvr_u1 +00:3572 SafeMemCopy +00:3581 UnsafeMemSet +00:3589 SafeMemSet +00:3589 SafeMemSet.wvr_u2 +00:3597 SwitchToGameplay +00:35a0 SwitchToGameplayBig +00:35a9 GamePlayEventLoopHandler +00:35b3 GamePlayBigEventLoopHandler +00:35bd EnableScreenSquish +00:35d7 DisableScreenSquish +00:35e2 CopyOAMHandler +00:35ee ClearOAM +00:3604 BankingInit +00:3613 OAMDMA +00:361d OAMDMAEnd 01:4008 sDMGTSpeedCurve 01:4203 sDMGTSpeedCurveEnd 01:4205 sDMGTSpeedCurveSpecialData @@ -1324,504 +1273,608 @@ 05:5391 SwitchToGameplayB 05:5397 SwitchToGameplayB.wvr_u1 05:53a0 SwitchToGameplayB.loadtilemap -05:53af SwitchToGameplayB.graded -05:53bd SwitchToGameplayB.ungraded -05:53c9 SwitchToGameplayB.loadtiles -05:5413 SwitchToGameplayB.wvb_u2 -05:541a SwitchToGameplayB.wvbe_u3 -05:5420 GamePlayEventLoopHandlerB -05:5435 GamePlayEventLoopHandlerB.normalevent -05:543f GamePlayEventLoopHandlerB.modejumps -05:5460 GamePlayEventLoopHandlerB.leadyMode -05:547b GamePlayEventLoopHandlerB.firstleadyiterskip -05:5484 GamePlayEventLoopHandlerB.notdoneleady -05:5495 GamePlayEventLoopHandlerB.goMode -05:54a2 GamePlayEventLoopHandlerB.notdonego -05:54b3 GamePlayEventLoopHandlerB.postGoMode -05:54ca GamePlayEventLoopHandlerB.prefetchedPieceMode -05:54db GamePlayEventLoopHandlerB.checkIHS -05:54e5 GamePlayEventLoopHandlerB.loaddefaultjingle -05:54e9 GamePlayEventLoopHandlerB.checkIRSA -05:54ef GamePlayEventLoopHandlerB.ldb1 -05:54fa GamePlayEventLoopHandlerB.lda1 -05:5503 GamePlayEventLoopHandlerB.cp1 -05:5511 GamePlayEventLoopHandlerB.checkIRSB -05:5517 GamePlayEventLoopHandlerB.lda2 -05:5522 GamePlayEventLoopHandlerB.ldb2 -05:552b GamePlayEventLoopHandlerB.cp2 -05:5539 GamePlayEventLoopHandlerB.postjingle -05:553d GamePlayEventLoopHandlerB.spawnPieceMode -05:554b GamePlayEventLoopHandlerB.canspawn -05:555e GamePlayEventLoopHandlerB.pieceInMotionMode -05:5572 GamePlayEventLoopHandlerB.nopauserequested -05:5593 GamePlayEventLoopHandlerB.nohold -05:55a0 GamePlayEventLoopHandlerB.delayMode -05:55b4 GamePlayEventLoopHandlerB.nodelaypauserequested -05:55cb GamePlayEventLoopHandlerB.next -05:55d2 GamePlayEventLoopHandlerB.goroll -05:55e1 GamePlayEventLoopHandlerB.preGameOverMode -05:55ff GamePlayEventLoopHandlerB.gm -05:5615 GamePlayEventLoopHandlerB.condescend -05:562b GamePlayEventLoopHandlerB.regular -05:563b GamePlayEventLoopHandlerB.notempty1_u4 -05:563e GamePlayEventLoopHandlerB.skip1_u4 -05:5648 GamePlayEventLoopHandlerB.notempty1_u5 -05:564b GamePlayEventLoopHandlerB.skip1_u5 -05:5655 GamePlayEventLoopHandlerB.notempty1_u6 -05:5658 GamePlayEventLoopHandlerB.skip1_u6 -05:5662 GamePlayEventLoopHandlerB.notempty1_u7 -05:5665 GamePlayEventLoopHandlerB.skip1_u7 -05:566f GamePlayEventLoopHandlerB.notempty1_u8 -05:5672 GamePlayEventLoopHandlerB.skip1_u8 -05:567c GamePlayEventLoopHandlerB.notempty1_u9 -05:567f GamePlayEventLoopHandlerB.skip1_u9 -05:5689 GamePlayEventLoopHandlerB.notempty1_u10 -05:568c GamePlayEventLoopHandlerB.skip1_u10 -05:5696 GamePlayEventLoopHandlerB.notempty1_u11 -05:5699 GamePlayEventLoopHandlerB.skip1_u11 -05:56a3 GamePlayEventLoopHandlerB.notempty1_u12 -05:56a6 GamePlayEventLoopHandlerB.skip1_u12 -05:56b0 GamePlayEventLoopHandlerB.notempty1_u13 -05:56b3 GamePlayEventLoopHandlerB.skip1_u13 -05:56bd GamePlayEventLoopHandlerB.notempty1_u14 -05:56c0 GamePlayEventLoopHandlerB.skip1_u14 -05:56ca GamePlayEventLoopHandlerB.notempty1_u15 -05:56cd GamePlayEventLoopHandlerB.skip1_u15 -05:56d7 GamePlayEventLoopHandlerB.notempty1_u16 -05:56da GamePlayEventLoopHandlerB.skip1_u16 -05:56e4 GamePlayEventLoopHandlerB.notempty1_u17 -05:56e7 GamePlayEventLoopHandlerB.skip1_u17 -05:56f1 GamePlayEventLoopHandlerB.notempty1_u18 -05:56f4 GamePlayEventLoopHandlerB.skip1_u18 -05:56fe GamePlayEventLoopHandlerB.notempty1_u19 -05:5701 GamePlayEventLoopHandlerB.skip1_u19 -05:570b GamePlayEventLoopHandlerB.notempty1_u20 -05:570e GamePlayEventLoopHandlerB.skip1_u20 -05:5718 GamePlayEventLoopHandlerB.notempty1_u21 -05:571b GamePlayEventLoopHandlerB.skip1_u21 -05:5725 GamePlayEventLoopHandlerB.notempty1_u22 -05:5728 GamePlayEventLoopHandlerB.skip1_u22 -05:5732 GamePlayEventLoopHandlerB.notempty1_u23 -05:5735 GamePlayEventLoopHandlerB.skip1_u23 -05:573f GamePlayEventLoopHandlerB.notempty1_u24 -05:5742 GamePlayEventLoopHandlerB.skip1_u24 -05:574c GamePlayEventLoopHandlerB.notempty1_u25 -05:574f GamePlayEventLoopHandlerB.skip1_u25 -05:5759 GamePlayEventLoopHandlerB.notempty1_u26 -05:575c GamePlayEventLoopHandlerB.skip1_u26 -05:5766 GamePlayEventLoopHandlerB.notempty1_u27 -05:5769 GamePlayEventLoopHandlerB.skip1_u27 -05:5773 GamePlayEventLoopHandlerB.notempty1_u28 -05:5776 GamePlayEventLoopHandlerB.skip1_u28 -05:5780 GamePlayEventLoopHandlerB.notempty1_u29 -05:5783 GamePlayEventLoopHandlerB.skip1_u29 -05:578d GamePlayEventLoopHandlerB.notempty1_u30 -05:5790 GamePlayEventLoopHandlerB.skip1_u30 -05:579a GamePlayEventLoopHandlerB.notempty1_u31 -05:579d GamePlayEventLoopHandlerB.skip1_u31 -05:57a7 GamePlayEventLoopHandlerB.notempty1_u32 -05:57aa GamePlayEventLoopHandlerB.skip1_u32 -05:57b4 GamePlayEventLoopHandlerB.notempty1_u33 -05:57b7 GamePlayEventLoopHandlerB.skip1_u33 -05:57c1 GamePlayEventLoopHandlerB.notempty1_u34 -05:57c4 GamePlayEventLoopHandlerB.skip1_u34 -05:57ce GamePlayEventLoopHandlerB.notempty1_u35 -05:57d1 GamePlayEventLoopHandlerB.skip1_u35 -05:57db GamePlayEventLoopHandlerB.notempty1_u36 -05:57de GamePlayEventLoopHandlerB.skip1_u36 -05:57e8 GamePlayEventLoopHandlerB.notempty1_u37 -05:57eb GamePlayEventLoopHandlerB.skip1_u37 -05:57f5 GamePlayEventLoopHandlerB.notempty1_u38 -05:57f8 GamePlayEventLoopHandlerB.skip1_u38 -05:5802 GamePlayEventLoopHandlerB.notempty1_u39 -05:5805 GamePlayEventLoopHandlerB.skip1_u39 -05:580f GamePlayEventLoopHandlerB.notempty1_u40 -05:5812 GamePlayEventLoopHandlerB.skip1_u40 -05:581c GamePlayEventLoopHandlerB.notempty1_u41 -05:581f GamePlayEventLoopHandlerB.skip1_u41 -05:5829 GamePlayEventLoopHandlerB.notempty1_u42 -05:582c GamePlayEventLoopHandlerB.skip1_u42 -05:5836 GamePlayEventLoopHandlerB.notempty1_u43 -05:5839 GamePlayEventLoopHandlerB.skip1_u43 -05:5843 GamePlayEventLoopHandlerB.notempty1_u44 -05:5846 GamePlayEventLoopHandlerB.skip1_u44 -05:5850 GamePlayEventLoopHandlerB.notempty1_u45 -05:5853 GamePlayEventLoopHandlerB.skip1_u45 -05:585d GamePlayEventLoopHandlerB.notempty1_u46 -05:5860 GamePlayEventLoopHandlerB.skip1_u46 -05:586a GamePlayEventLoopHandlerB.notempty1_u47 -05:586d GamePlayEventLoopHandlerB.skip1_u47 -05:5877 GamePlayEventLoopHandlerB.notempty1_u48 -05:587a GamePlayEventLoopHandlerB.skip1_u48 -05:5884 GamePlayEventLoopHandlerB.notempty1_u49 -05:5887 GamePlayEventLoopHandlerB.skip1_u49 -05:5891 GamePlayEventLoopHandlerB.notempty1_u50 -05:5894 GamePlayEventLoopHandlerB.skip1_u50 -05:589e GamePlayEventLoopHandlerB.notempty1_u51 -05:58a1 GamePlayEventLoopHandlerB.skip1_u51 -05:58ab GamePlayEventLoopHandlerB.notempty1_u52 -05:58ae GamePlayEventLoopHandlerB.skip1_u52 -05:58b8 GamePlayEventLoopHandlerB.notempty1_u53 -05:58bb GamePlayEventLoopHandlerB.skip1_u53 -05:58c5 GamePlayEventLoopHandlerB.notempty1_u54 -05:58c8 GamePlayEventLoopHandlerB.skip1_u54 -05:58d2 GamePlayEventLoopHandlerB.notempty1_u55 -05:58d5 GamePlayEventLoopHandlerB.skip1_u55 -05:58df GamePlayEventLoopHandlerB.notempty1_u56 -05:58e2 GamePlayEventLoopHandlerB.skip1_u56 -05:58ec GamePlayEventLoopHandlerB.notempty1_u57 -05:58ef GamePlayEventLoopHandlerB.skip1_u57 -05:58f9 GamePlayEventLoopHandlerB.notempty1_u58 -05:58fc GamePlayEventLoopHandlerB.skip1_u58 -05:5906 GamePlayEventLoopHandlerB.notempty1_u59 -05:5909 GamePlayEventLoopHandlerB.skip1_u59 -05:5913 GamePlayEventLoopHandlerB.notempty1_u60 -05:5916 GamePlayEventLoopHandlerB.skip1_u60 -05:5920 GamePlayEventLoopHandlerB.notempty1_u61 -05:5923 GamePlayEventLoopHandlerB.skip1_u61 -05:592d GamePlayEventLoopHandlerB.notempty1_u62 -05:5930 GamePlayEventLoopHandlerB.skip1_u62 -05:593a GamePlayEventLoopHandlerB.notempty1_u63 -05:593d GamePlayEventLoopHandlerB.skip1_u63 -05:5947 GamePlayEventLoopHandlerB.notempty1_u64 -05:594a GamePlayEventLoopHandlerB.skip1_u64 -05:5954 GamePlayEventLoopHandlerB.notempty1_u65 -05:5957 GamePlayEventLoopHandlerB.skip1_u65 -05:5961 GamePlayEventLoopHandlerB.notempty1_u66 -05:5964 GamePlayEventLoopHandlerB.skip1_u66 -05:596e GamePlayEventLoopHandlerB.notempty1_u67 -05:5971 GamePlayEventLoopHandlerB.skip1_u67 -05:597b GamePlayEventLoopHandlerB.notempty1_u68 -05:597e GamePlayEventLoopHandlerB.skip1_u68 -05:5988 GamePlayEventLoopHandlerB.notempty1_u69 -05:598b GamePlayEventLoopHandlerB.skip1_u69 -05:5995 GamePlayEventLoopHandlerB.notempty1_u70 -05:5998 GamePlayEventLoopHandlerB.skip1_u70 -05:59a2 GamePlayEventLoopHandlerB.notempty1_u71 -05:59a5 GamePlayEventLoopHandlerB.skip1_u71 -05:59af GamePlayEventLoopHandlerB.notempty1_u72 -05:59b2 GamePlayEventLoopHandlerB.skip1_u72 -05:59bc GamePlayEventLoopHandlerB.notempty1_u73 -05:59bf GamePlayEventLoopHandlerB.skip1_u73 -05:59c9 GamePlayEventLoopHandlerB.notempty2_u74 -05:59cc GamePlayEventLoopHandlerB.skip2_u74 -05:59d6 GamePlayEventLoopHandlerB.notempty2_u75 -05:59d9 GamePlayEventLoopHandlerB.skip2_u75 -05:59e3 GamePlayEventLoopHandlerB.notempty2_u76 -05:59e6 GamePlayEventLoopHandlerB.skip2_u76 -05:59f0 GamePlayEventLoopHandlerB.notempty2_u77 -05:59f3 GamePlayEventLoopHandlerB.skip2_u77 -05:59fd GamePlayEventLoopHandlerB.notempty2_u78 -05:5a00 GamePlayEventLoopHandlerB.skip2_u78 -05:5a0a GamePlayEventLoopHandlerB.notempty2_u79 -05:5a0d GamePlayEventLoopHandlerB.skip2_u79 -05:5a17 GamePlayEventLoopHandlerB.notempty2_u80 -05:5a1a GamePlayEventLoopHandlerB.skip2_u80 -05:5a24 GamePlayEventLoopHandlerB.notempty2_u81 -05:5a27 GamePlayEventLoopHandlerB.skip2_u81 -05:5a31 GamePlayEventLoopHandlerB.notempty2_u82 -05:5a34 GamePlayEventLoopHandlerB.skip2_u82 -05:5a3e GamePlayEventLoopHandlerB.notempty2_u83 -05:5a41 GamePlayEventLoopHandlerB.skip2_u83 -05:5a4b GamePlayEventLoopHandlerB.notempty3_u84 -05:5a4e GamePlayEventLoopHandlerB.skip3_u84 -05:5a58 GamePlayEventLoopHandlerB.notempty3_u85 -05:5a5b GamePlayEventLoopHandlerB.skip3_u85 -05:5a65 GamePlayEventLoopHandlerB.notempty3_u86 -05:5a68 GamePlayEventLoopHandlerB.skip3_u86 -05:5a72 GamePlayEventLoopHandlerB.notempty3_u87 -05:5a75 GamePlayEventLoopHandlerB.skip3_u87 -05:5a7f GamePlayEventLoopHandlerB.notempty3_u88 -05:5a82 GamePlayEventLoopHandlerB.skip3_u88 -05:5a8c GamePlayEventLoopHandlerB.notempty3_u89 -05:5a8f GamePlayEventLoopHandlerB.skip3_u89 -05:5a99 GamePlayEventLoopHandlerB.notempty3_u90 -05:5a9c GamePlayEventLoopHandlerB.skip3_u90 -05:5aa6 GamePlayEventLoopHandlerB.notempty3_u91 -05:5aa9 GamePlayEventLoopHandlerB.skip3_u91 -05:5ab3 GamePlayEventLoopHandlerB.notempty3_u92 -05:5ab6 GamePlayEventLoopHandlerB.skip3_u92 -05:5ac0 GamePlayEventLoopHandlerB.notempty3_u93 -05:5ac3 GamePlayEventLoopHandlerB.skip3_u93 -05:5acd GamePlayEventLoopHandlerB.notempty4_u94 -05:5ad0 GamePlayEventLoopHandlerB.skip4_u94 -05:5ada GamePlayEventLoopHandlerB.notempty4_u95 -05:5add GamePlayEventLoopHandlerB.skip4_u95 -05:5ae7 GamePlayEventLoopHandlerB.notempty4_u96 -05:5aea GamePlayEventLoopHandlerB.skip4_u96 -05:5af4 GamePlayEventLoopHandlerB.notempty4_u97 -05:5af7 GamePlayEventLoopHandlerB.skip4_u97 -05:5b01 GamePlayEventLoopHandlerB.notempty4_u98 -05:5b04 GamePlayEventLoopHandlerB.skip4_u98 -05:5b0e GamePlayEventLoopHandlerB.notempty4_u99 -05:5b11 GamePlayEventLoopHandlerB.skip4_u99 -05:5b1b GamePlayEventLoopHandlerB.notempty4_u100 -05:5b1e GamePlayEventLoopHandlerB.skip4_u100 -05:5b28 GamePlayEventLoopHandlerB.notempty4_u101 -05:5b2b GamePlayEventLoopHandlerB.skip4_u101 -05:5b35 GamePlayEventLoopHandlerB.notempty4_u102 -05:5b38 GamePlayEventLoopHandlerB.skip4_u102 -05:5b42 GamePlayEventLoopHandlerB.notempty4_u103 -05:5b45 GamePlayEventLoopHandlerB.skip4_u103 -05:5b4f GamePlayEventLoopHandlerB.notempty5_u104 -05:5b52 GamePlayEventLoopHandlerB.skip5_u104 -05:5b5c GamePlayEventLoopHandlerB.notempty5_u105 -05:5b5f GamePlayEventLoopHandlerB.skip5_u105 -05:5b69 GamePlayEventLoopHandlerB.notempty5_u106 -05:5b6c GamePlayEventLoopHandlerB.skip5_u106 -05:5b76 GamePlayEventLoopHandlerB.notempty5_u107 -05:5b79 GamePlayEventLoopHandlerB.skip5_u107 -05:5b83 GamePlayEventLoopHandlerB.notempty5_u108 -05:5b86 GamePlayEventLoopHandlerB.skip5_u108 -05:5b90 GamePlayEventLoopHandlerB.notempty5_u109 -05:5b93 GamePlayEventLoopHandlerB.skip5_u109 -05:5b9d GamePlayEventLoopHandlerB.notempty5_u110 -05:5ba0 GamePlayEventLoopHandlerB.skip5_u110 -05:5baa GamePlayEventLoopHandlerB.notempty5_u111 -05:5bad GamePlayEventLoopHandlerB.skip5_u111 -05:5bb7 GamePlayEventLoopHandlerB.notempty5_u112 -05:5bba GamePlayEventLoopHandlerB.skip5_u112 -05:5bc4 GamePlayEventLoopHandlerB.notempty5_u113 -05:5bc7 GamePlayEventLoopHandlerB.skip5_u113 -05:5bd1 GamePlayEventLoopHandlerB.notempty6_u114 -05:5bd4 GamePlayEventLoopHandlerB.skip6_u114 -05:5bde GamePlayEventLoopHandlerB.notempty6_u115 -05:5be1 GamePlayEventLoopHandlerB.skip6_u115 -05:5beb GamePlayEventLoopHandlerB.notempty6_u116 -05:5bee GamePlayEventLoopHandlerB.skip6_u116 -05:5bf8 GamePlayEventLoopHandlerB.notempty6_u117 -05:5bfb GamePlayEventLoopHandlerB.skip6_u117 -05:5c05 GamePlayEventLoopHandlerB.notempty6_u118 -05:5c08 GamePlayEventLoopHandlerB.skip6_u118 -05:5c12 GamePlayEventLoopHandlerB.notempty6_u119 -05:5c15 GamePlayEventLoopHandlerB.skip6_u119 -05:5c1f GamePlayEventLoopHandlerB.notempty6_u120 -05:5c22 GamePlayEventLoopHandlerB.skip6_u120 -05:5c2c GamePlayEventLoopHandlerB.notempty6_u121 -05:5c2f GamePlayEventLoopHandlerB.skip6_u121 -05:5c39 GamePlayEventLoopHandlerB.notempty6_u122 -05:5c3c GamePlayEventLoopHandlerB.skip6_u122 -05:5c46 GamePlayEventLoopHandlerB.notempty6_u123 -05:5c49 GamePlayEventLoopHandlerB.skip6_u123 -05:5c53 GamePlayEventLoopHandlerB.notempty7_u124 -05:5c56 GamePlayEventLoopHandlerB.skip7_u124 -05:5c60 GamePlayEventLoopHandlerB.notempty7_u125 -05:5c63 GamePlayEventLoopHandlerB.skip7_u125 -05:5c6d GamePlayEventLoopHandlerB.notempty7_u126 -05:5c70 GamePlayEventLoopHandlerB.skip7_u126 -05:5c7a GamePlayEventLoopHandlerB.notempty7_u127 -05:5c7d GamePlayEventLoopHandlerB.skip7_u127 -05:5c87 GamePlayEventLoopHandlerB.notempty7_u128 -05:5c8a GamePlayEventLoopHandlerB.skip7_u128 -05:5c94 GamePlayEventLoopHandlerB.notempty7_u129 -05:5c97 GamePlayEventLoopHandlerB.skip7_u129 -05:5ca1 GamePlayEventLoopHandlerB.notempty7_u130 -05:5ca4 GamePlayEventLoopHandlerB.skip7_u130 -05:5cae GamePlayEventLoopHandlerB.notempty7_u131 -05:5cb1 GamePlayEventLoopHandlerB.skip7_u131 -05:5cbb GamePlayEventLoopHandlerB.notempty7_u132 -05:5cbe GamePlayEventLoopHandlerB.skip7_u132 -05:5cc8 GamePlayEventLoopHandlerB.notempty7_u133 -05:5ccb GamePlayEventLoopHandlerB.skip7_u133 -05:5cd5 GamePlayEventLoopHandlerB.notempty7_u134 -05:5cd8 GamePlayEventLoopHandlerB.skip7_u134 -05:5ce2 GamePlayEventLoopHandlerB.notempty7_u135 -05:5ce5 GamePlayEventLoopHandlerB.skip7_u135 -05:5cef GamePlayEventLoopHandlerB.notempty7_u136 -05:5cf2 GamePlayEventLoopHandlerB.skip7_u136 -05:5cfc GamePlayEventLoopHandlerB.notempty7_u137 -05:5cff GamePlayEventLoopHandlerB.skip7_u137 -05:5d09 GamePlayEventLoopHandlerB.notempty7_u138 -05:5d0c GamePlayEventLoopHandlerB.skip7_u138 -05:5d16 GamePlayEventLoopHandlerB.notempty7_u139 -05:5d19 GamePlayEventLoopHandlerB.skip7_u139 -05:5d23 GamePlayEventLoopHandlerB.notempty7_u140 -05:5d26 GamePlayEventLoopHandlerB.skip7_u140 -05:5d30 GamePlayEventLoopHandlerB.notempty7_u141 -05:5d33 GamePlayEventLoopHandlerB.skip7_u141 -05:5d3d GamePlayEventLoopHandlerB.notempty7_u142 -05:5d40 GamePlayEventLoopHandlerB.skip7_u142 -05:5d4a GamePlayEventLoopHandlerB.notempty7_u143 -05:5d4d GamePlayEventLoopHandlerB.skip7_u143 -05:5d57 GamePlayEventLoopHandlerB.notempty7_u144 -05:5d5a GamePlayEventLoopHandlerB.skip7_u144 -05:5d64 GamePlayEventLoopHandlerB.notempty7_u145 -05:5d67 GamePlayEventLoopHandlerB.skip7_u145 -05:5d71 GamePlayEventLoopHandlerB.notempty7_u146 -05:5d74 GamePlayEventLoopHandlerB.skip7_u146 -05:5d7e GamePlayEventLoopHandlerB.notempty7_u147 -05:5d81 GamePlayEventLoopHandlerB.skip7_u147 -05:5d8b GamePlayEventLoopHandlerB.notempty7_u148 -05:5d8e GamePlayEventLoopHandlerB.skip7_u148 -05:5d98 GamePlayEventLoopHandlerB.notempty7_u149 -05:5d9b GamePlayEventLoopHandlerB.skip7_u149 -05:5da5 GamePlayEventLoopHandlerB.notempty7_u150 -05:5da8 GamePlayEventLoopHandlerB.skip7_u150 -05:5db2 GamePlayEventLoopHandlerB.notempty7_u151 -05:5db5 GamePlayEventLoopHandlerB.skip7_u151 -05:5dbf GamePlayEventLoopHandlerB.notempty7_u152 -05:5dc2 GamePlayEventLoopHandlerB.skip7_u152 -05:5dcc GamePlayEventLoopHandlerB.notempty7_u153 -05:5dcf GamePlayEventLoopHandlerB.skip7_u153 -05:5dd9 GamePlayEventLoopHandlerB.notempty7_u154 -05:5ddc GamePlayEventLoopHandlerB.skip7_u154 -05:5de6 GamePlayEventLoopHandlerB.notempty7_u155 -05:5de9 GamePlayEventLoopHandlerB.skip7_u155 -05:5df3 GamePlayEventLoopHandlerB.notempty7_u156 -05:5df6 GamePlayEventLoopHandlerB.skip7_u156 -05:5e00 GamePlayEventLoopHandlerB.notempty7_u157 -05:5e03 GamePlayEventLoopHandlerB.skip7_u157 -05:5e0d GamePlayEventLoopHandlerB.notempty7_u158 -05:5e10 GamePlayEventLoopHandlerB.skip7_u158 -05:5e1a GamePlayEventLoopHandlerB.notempty7_u159 -05:5e1d GamePlayEventLoopHandlerB.skip7_u159 -05:5e27 GamePlayEventLoopHandlerB.notempty7_u160 -05:5e2a GamePlayEventLoopHandlerB.skip7_u160 -05:5e34 GamePlayEventLoopHandlerB.notempty7_u161 -05:5e37 GamePlayEventLoopHandlerB.skip7_u161 -05:5e41 GamePlayEventLoopHandlerB.notempty7_u162 -05:5e44 GamePlayEventLoopHandlerB.skip7_u162 -05:5e4e GamePlayEventLoopHandlerB.notempty7_u163 -05:5e51 GamePlayEventLoopHandlerB.skip7_u163 -05:5e5b GamePlayEventLoopHandlerB.notempty7_u164 -05:5e5e GamePlayEventLoopHandlerB.skip7_u164 -05:5e68 GamePlayEventLoopHandlerB.notempty7_u165 -05:5e6b GamePlayEventLoopHandlerB.skip7_u165 -05:5e75 GamePlayEventLoopHandlerB.notempty7_u166 -05:5e78 GamePlayEventLoopHandlerB.skip7_u166 -05:5e82 GamePlayEventLoopHandlerB.notempty7_u167 -05:5e85 GamePlayEventLoopHandlerB.skip7_u167 -05:5e8f GamePlayEventLoopHandlerB.notempty7_u168 -05:5e92 GamePlayEventLoopHandlerB.skip7_u168 -05:5e9c GamePlayEventLoopHandlerB.notempty7_u169 -05:5e9f GamePlayEventLoopHandlerB.skip7_u169 -05:5ea9 GamePlayEventLoopHandlerB.notempty7_u170 -05:5eac GamePlayEventLoopHandlerB.skip7_u170 -05:5eb6 GamePlayEventLoopHandlerB.notempty7_u171 -05:5eb9 GamePlayEventLoopHandlerB.skip7_u171 -05:5ec3 GamePlayEventLoopHandlerB.notempty7_u172 -05:5ec6 GamePlayEventLoopHandlerB.skip7_u172 -05:5ed0 GamePlayEventLoopHandlerB.notempty7_u173 -05:5ed3 GamePlayEventLoopHandlerB.skip7_u173 -05:5edd GamePlayEventLoopHandlerB.notempty7_u174 -05:5ee0 GamePlayEventLoopHandlerB.skip7_u174 -05:5eea GamePlayEventLoopHandlerB.notempty7_u175 -05:5eed GamePlayEventLoopHandlerB.skip7_u175 -05:5ef7 GamePlayEventLoopHandlerB.notempty7_u176 -05:5efa GamePlayEventLoopHandlerB.skip7_u176 -05:5f04 GamePlayEventLoopHandlerB.notempty7_u177 -05:5f07 GamePlayEventLoopHandlerB.skip7_u177 -05:5f11 GamePlayEventLoopHandlerB.notempty7_u178 -05:5f14 GamePlayEventLoopHandlerB.skip7_u178 -05:5f1e GamePlayEventLoopHandlerB.notempty7_u179 -05:5f21 GamePlayEventLoopHandlerB.skip7_u179 -05:5f2b GamePlayEventLoopHandlerB.notempty7_u180 -05:5f2e GamePlayEventLoopHandlerB.skip7_u180 -05:5f38 GamePlayEventLoopHandlerB.notempty7_u181 -05:5f3b GamePlayEventLoopHandlerB.skip7_u181 -05:5f45 GamePlayEventLoopHandlerB.notempty7_u182 -05:5f48 GamePlayEventLoopHandlerB.skip7_u182 -05:5f52 GamePlayEventLoopHandlerB.notempty7_u183 -05:5f55 GamePlayEventLoopHandlerB.skip7_u183 -05:5f5f GamePlayEventLoopHandlerB.notempty7_u184 -05:5f62 GamePlayEventLoopHandlerB.skip7_u184 -05:5f6c GamePlayEventLoopHandlerB.notempty7_u185 -05:5f6f GamePlayEventLoopHandlerB.skip7_u185 -05:5f79 GamePlayEventLoopHandlerB.notempty7_u186 -05:5f7c GamePlayEventLoopHandlerB.skip7_u186 -05:5f86 GamePlayEventLoopHandlerB.notempty7_u187 -05:5f89 GamePlayEventLoopHandlerB.skip7_u187 -05:5f93 GamePlayEventLoopHandlerB.notempty7_u188 -05:5f96 GamePlayEventLoopHandlerB.skip7_u188 -05:5fa0 GamePlayEventLoopHandlerB.notempty7_u189 -05:5fa3 GamePlayEventLoopHandlerB.skip7_u189 -05:5fad GamePlayEventLoopHandlerB.notempty7_u190 -05:5fb0 GamePlayEventLoopHandlerB.skip7_u190 -05:5fba GamePlayEventLoopHandlerB.notempty7_u191 -05:5fbd GamePlayEventLoopHandlerB.skip7_u191 -05:5fc7 GamePlayEventLoopHandlerB.notempty7_u192 -05:5fca GamePlayEventLoopHandlerB.skip7_u192 -05:5fd4 GamePlayEventLoopHandlerB.notempty7_u193 -05:5fd7 GamePlayEventLoopHandlerB.skip7_u193 -05:5fe1 GamePlayEventLoopHandlerB.notempty7_u194 -05:5fe4 GamePlayEventLoopHandlerB.skip7_u194 -05:5fee GamePlayEventLoopHandlerB.notempty7_u195 -05:5ff1 GamePlayEventLoopHandlerB.skip7_u195 -05:5ffb GamePlayEventLoopHandlerB.notempty7_u196 -05:5ffe GamePlayEventLoopHandlerB.skip7_u196 -05:6008 GamePlayEventLoopHandlerB.notempty7_u197 -05:600b GamePlayEventLoopHandlerB.skip7_u197 -05:6015 GamePlayEventLoopHandlerB.notempty7_u198 -05:6018 GamePlayEventLoopHandlerB.skip7_u198 -05:6022 GamePlayEventLoopHandlerB.notempty7_u199 -05:6025 GamePlayEventLoopHandlerB.skip7_u199 -05:602f GamePlayEventLoopHandlerB.notempty7_u200 -05:6032 GamePlayEventLoopHandlerB.skip7_u200 -05:603c GamePlayEventLoopHandlerB.notempty7_u201 -05:603f GamePlayEventLoopHandlerB.skip7_u201 -05:6049 GamePlayEventLoopHandlerB.notempty7_u202 -05:604c GamePlayEventLoopHandlerB.skip7_u202 -05:6056 GamePlayEventLoopHandlerB.notempty7_u203 -05:6059 GamePlayEventLoopHandlerB.skip7_u203 -05:6063 GamePlayEventLoopHandlerB.notempty7_u204 -05:6066 GamePlayEventLoopHandlerB.skip7_u204 -05:6070 GamePlayEventLoopHandlerB.notempty7_u205 -05:6073 GamePlayEventLoopHandlerB.skip7_u205 -05:607d GamePlayEventLoopHandlerB.notempty7_u206 -05:6080 GamePlayEventLoopHandlerB.skip7_u206 -05:608a GamePlayEventLoopHandlerB.notempty7_u207 -05:608d GamePlayEventLoopHandlerB.skip7_u207 -05:6097 GamePlayEventLoopHandlerB.notempty7_u208 -05:609a GamePlayEventLoopHandlerB.skip7_u208 -05:60a4 GamePlayEventLoopHandlerB.notempty7_u209 -05:60a7 GamePlayEventLoopHandlerB.skip7_u209 -05:60b1 GamePlayEventLoopHandlerB.notempty7_u210 -05:60b4 GamePlayEventLoopHandlerB.skip7_u210 -05:60be GamePlayEventLoopHandlerB.notempty7_u211 -05:60c1 GamePlayEventLoopHandlerB.skip7_u211 -05:60cb GamePlayEventLoopHandlerB.notempty7_u212 -05:60ce GamePlayEventLoopHandlerB.skip7_u212 -05:60d8 GamePlayEventLoopHandlerB.notempty7_u213 -05:60db GamePlayEventLoopHandlerB.skip7_u213 -05:60df GamePlayEventLoopHandlerB.gameOverMode -05:60f8 GamePlayEventLoopHandlerB.checkretry -05:6121 GamePlayEventLoopHandlerB.noretry -05:612e GamePlayEventLoopHandlerB.pauseMode -05:6140 GamePlayEventLoopHandlerB.noqr -05:6155 GamePlayEventLoopHandlerB.nounpause -05:619f GamePlayEventLoopHandlerB.preRollMode -05:61ce GamePlayEventLoopHandlerB.predone -05:61e4 GamePlayEventLoopHandlerB.staysmall -05:61fa GamePlayEventLoopHandlerB.drawStaticInfo -05:622e DoHold -05:6232 DoHold.checkIRSA -05:6238 DoHold.ldb3 -05:6243 DoHold.lda3 -05:624c DoHold.cp3 -05:625a DoHold.checkIRSB -05:6260 DoHold.lda4 -05:626b DoHold.ldb4 -05:6274 DoHold.cp4 -05:6282 DoHold.noRotation -05:628d DoHold.doHoldOperation -05:6298 sLeftDasSlam -05:629e sRightDasSlam -05:62a4 sLeady -05:62ae sGo -05:62b8 sPause -05:62e0 sKill -05:6380 sYouAreGM -05:63e4 sFinalChallenge -05:64ac sPieceXOffsets -05:64c8 sPieceYOffsets -05:64e4 sPieceFastRotationStates -05:6554 sPieceRotationStates -05:65c4 sTGM3Bag -05:65e7 sTGM3Droughts -05:65ee sGameplayTileMap -05:688e sGameplayUngradedTileMap -05:688e sGameplayTileMapEnd -05:6b2e sGameplayUngradedTileMapEnd +05:53ab SwitchToGameplayB.graded +05:53b9 SwitchToGameplayB.ungraded +05:53c5 SwitchToGameplayB.loadtiles +05:540f SwitchToGameplayB.wvb_u2 +05:5416 SwitchToGameplayB.wvbe_u3 +05:541c GamePlayEventLoopHandlerB +05:5431 GamePlayEventLoopHandlerB.normalevent +05:543b GamePlayEventLoopHandlerB.modejumps +05:545c GamePlayEventLoopHandlerB.leadyMode +05:5477 GamePlayEventLoopHandlerB.firstleadyiterskip +05:5480 GamePlayEventLoopHandlerB.notdoneleady +05:5491 GamePlayEventLoopHandlerB.goMode +05:549e GamePlayEventLoopHandlerB.notdonego +05:54af GamePlayEventLoopHandlerB.postGoMode +05:54c6 GamePlayEventLoopHandlerB.prefetchedPieceMode +05:54d7 GamePlayEventLoopHandlerB.checkIHS +05:54e1 GamePlayEventLoopHandlerB.loaddefaultjingle +05:54e5 GamePlayEventLoopHandlerB.checkIRSA +05:54eb GamePlayEventLoopHandlerB.ldb1 +05:54f6 GamePlayEventLoopHandlerB.lda1 +05:54ff GamePlayEventLoopHandlerB.cp1 +05:550d GamePlayEventLoopHandlerB.checkIRSB +05:5513 GamePlayEventLoopHandlerB.lda2 +05:551e GamePlayEventLoopHandlerB.ldb2 +05:5527 GamePlayEventLoopHandlerB.cp2 +05:5535 GamePlayEventLoopHandlerB.postjingle +05:5539 GamePlayEventLoopHandlerB.spawnPieceMode +05:5547 GamePlayEventLoopHandlerB.canspawn +05:555a GamePlayEventLoopHandlerB.pieceInMotionMode +05:556e GamePlayEventLoopHandlerB.nopauserequested +05:558f GamePlayEventLoopHandlerB.nohold +05:559c GamePlayEventLoopHandlerB.delayMode +05:55b0 GamePlayEventLoopHandlerB.nodelaypauserequested +05:55c7 GamePlayEventLoopHandlerB.next +05:55ce GamePlayEventLoopHandlerB.goroll +05:55dd GamePlayEventLoopHandlerB.preGameOverMode +05:55fb GamePlayEventLoopHandlerB.gm +05:5611 GamePlayEventLoopHandlerB.condescend +05:5627 GamePlayEventLoopHandlerB.regular +05:5637 GamePlayEventLoopHandlerB.notempty1_u4 +05:563a GamePlayEventLoopHandlerB.skip1_u4 +05:5644 GamePlayEventLoopHandlerB.notempty1_u5 +05:5647 GamePlayEventLoopHandlerB.skip1_u5 +05:5651 GamePlayEventLoopHandlerB.notempty1_u6 +05:5654 GamePlayEventLoopHandlerB.skip1_u6 +05:565e GamePlayEventLoopHandlerB.notempty1_u7 +05:5661 GamePlayEventLoopHandlerB.skip1_u7 +05:566b GamePlayEventLoopHandlerB.notempty1_u8 +05:566e GamePlayEventLoopHandlerB.skip1_u8 +05:5678 GamePlayEventLoopHandlerB.notempty1_u9 +05:567b GamePlayEventLoopHandlerB.skip1_u9 +05:5685 GamePlayEventLoopHandlerB.notempty1_u10 +05:5688 GamePlayEventLoopHandlerB.skip1_u10 +05:5692 GamePlayEventLoopHandlerB.notempty1_u11 +05:5695 GamePlayEventLoopHandlerB.skip1_u11 +05:569f GamePlayEventLoopHandlerB.notempty1_u12 +05:56a2 GamePlayEventLoopHandlerB.skip1_u12 +05:56ac GamePlayEventLoopHandlerB.notempty1_u13 +05:56af GamePlayEventLoopHandlerB.skip1_u13 +05:56b9 GamePlayEventLoopHandlerB.notempty1_u14 +05:56bc GamePlayEventLoopHandlerB.skip1_u14 +05:56c6 GamePlayEventLoopHandlerB.notempty1_u15 +05:56c9 GamePlayEventLoopHandlerB.skip1_u15 +05:56d3 GamePlayEventLoopHandlerB.notempty1_u16 +05:56d6 GamePlayEventLoopHandlerB.skip1_u16 +05:56e0 GamePlayEventLoopHandlerB.notempty1_u17 +05:56e3 GamePlayEventLoopHandlerB.skip1_u17 +05:56ed GamePlayEventLoopHandlerB.notempty1_u18 +05:56f0 GamePlayEventLoopHandlerB.skip1_u18 +05:56fa GamePlayEventLoopHandlerB.notempty1_u19 +05:56fd GamePlayEventLoopHandlerB.skip1_u19 +05:5707 GamePlayEventLoopHandlerB.notempty1_u20 +05:570a GamePlayEventLoopHandlerB.skip1_u20 +05:5714 GamePlayEventLoopHandlerB.notempty1_u21 +05:5717 GamePlayEventLoopHandlerB.skip1_u21 +05:5721 GamePlayEventLoopHandlerB.notempty1_u22 +05:5724 GamePlayEventLoopHandlerB.skip1_u22 +05:572e GamePlayEventLoopHandlerB.notempty1_u23 +05:5731 GamePlayEventLoopHandlerB.skip1_u23 +05:573b GamePlayEventLoopHandlerB.notempty1_u24 +05:573e GamePlayEventLoopHandlerB.skip1_u24 +05:5748 GamePlayEventLoopHandlerB.notempty1_u25 +05:574b GamePlayEventLoopHandlerB.skip1_u25 +05:5755 GamePlayEventLoopHandlerB.notempty1_u26 +05:5758 GamePlayEventLoopHandlerB.skip1_u26 +05:5762 GamePlayEventLoopHandlerB.notempty1_u27 +05:5765 GamePlayEventLoopHandlerB.skip1_u27 +05:576f GamePlayEventLoopHandlerB.notempty1_u28 +05:5772 GamePlayEventLoopHandlerB.skip1_u28 +05:577c GamePlayEventLoopHandlerB.notempty1_u29 +05:577f GamePlayEventLoopHandlerB.skip1_u29 +05:5789 GamePlayEventLoopHandlerB.notempty1_u30 +05:578c GamePlayEventLoopHandlerB.skip1_u30 +05:5796 GamePlayEventLoopHandlerB.notempty1_u31 +05:5799 GamePlayEventLoopHandlerB.skip1_u31 +05:57a3 GamePlayEventLoopHandlerB.notempty1_u32 +05:57a6 GamePlayEventLoopHandlerB.skip1_u32 +05:57b0 GamePlayEventLoopHandlerB.notempty1_u33 +05:57b3 GamePlayEventLoopHandlerB.skip1_u33 +05:57bd GamePlayEventLoopHandlerB.notempty1_u34 +05:57c0 GamePlayEventLoopHandlerB.skip1_u34 +05:57ca GamePlayEventLoopHandlerB.notempty1_u35 +05:57cd GamePlayEventLoopHandlerB.skip1_u35 +05:57d7 GamePlayEventLoopHandlerB.notempty1_u36 +05:57da GamePlayEventLoopHandlerB.skip1_u36 +05:57e4 GamePlayEventLoopHandlerB.notempty1_u37 +05:57e7 GamePlayEventLoopHandlerB.skip1_u37 +05:57f1 GamePlayEventLoopHandlerB.notempty1_u38 +05:57f4 GamePlayEventLoopHandlerB.skip1_u38 +05:57fe GamePlayEventLoopHandlerB.notempty1_u39 +05:5801 GamePlayEventLoopHandlerB.skip1_u39 +05:580b GamePlayEventLoopHandlerB.notempty1_u40 +05:580e GamePlayEventLoopHandlerB.skip1_u40 +05:5818 GamePlayEventLoopHandlerB.notempty1_u41 +05:581b GamePlayEventLoopHandlerB.skip1_u41 +05:5825 GamePlayEventLoopHandlerB.notempty1_u42 +05:5828 GamePlayEventLoopHandlerB.skip1_u42 +05:5832 GamePlayEventLoopHandlerB.notempty1_u43 +05:5835 GamePlayEventLoopHandlerB.skip1_u43 +05:583f GamePlayEventLoopHandlerB.notempty1_u44 +05:5842 GamePlayEventLoopHandlerB.skip1_u44 +05:584c GamePlayEventLoopHandlerB.notempty1_u45 +05:584f GamePlayEventLoopHandlerB.skip1_u45 +05:5859 GamePlayEventLoopHandlerB.notempty1_u46 +05:585c GamePlayEventLoopHandlerB.skip1_u46 +05:5866 GamePlayEventLoopHandlerB.notempty1_u47 +05:5869 GamePlayEventLoopHandlerB.skip1_u47 +05:5873 GamePlayEventLoopHandlerB.notempty1_u48 +05:5876 GamePlayEventLoopHandlerB.skip1_u48 +05:5880 GamePlayEventLoopHandlerB.notempty1_u49 +05:5883 GamePlayEventLoopHandlerB.skip1_u49 +05:588d GamePlayEventLoopHandlerB.notempty1_u50 +05:5890 GamePlayEventLoopHandlerB.skip1_u50 +05:589a GamePlayEventLoopHandlerB.notempty1_u51 +05:589d GamePlayEventLoopHandlerB.skip1_u51 +05:58a7 GamePlayEventLoopHandlerB.notempty1_u52 +05:58aa GamePlayEventLoopHandlerB.skip1_u52 +05:58b4 GamePlayEventLoopHandlerB.notempty1_u53 +05:58b7 GamePlayEventLoopHandlerB.skip1_u53 +05:58c1 GamePlayEventLoopHandlerB.notempty1_u54 +05:58c4 GamePlayEventLoopHandlerB.skip1_u54 +05:58ce GamePlayEventLoopHandlerB.notempty1_u55 +05:58d1 GamePlayEventLoopHandlerB.skip1_u55 +05:58db GamePlayEventLoopHandlerB.notempty1_u56 +05:58de GamePlayEventLoopHandlerB.skip1_u56 +05:58e8 GamePlayEventLoopHandlerB.notempty1_u57 +05:58eb GamePlayEventLoopHandlerB.skip1_u57 +05:58f5 GamePlayEventLoopHandlerB.notempty1_u58 +05:58f8 GamePlayEventLoopHandlerB.skip1_u58 +05:5902 GamePlayEventLoopHandlerB.notempty1_u59 +05:5905 GamePlayEventLoopHandlerB.skip1_u59 +05:590f GamePlayEventLoopHandlerB.notempty1_u60 +05:5912 GamePlayEventLoopHandlerB.skip1_u60 +05:591c GamePlayEventLoopHandlerB.notempty1_u61 +05:591f GamePlayEventLoopHandlerB.skip1_u61 +05:5929 GamePlayEventLoopHandlerB.notempty1_u62 +05:592c GamePlayEventLoopHandlerB.skip1_u62 +05:5936 GamePlayEventLoopHandlerB.notempty1_u63 +05:5939 GamePlayEventLoopHandlerB.skip1_u63 +05:5943 GamePlayEventLoopHandlerB.notempty1_u64 +05:5946 GamePlayEventLoopHandlerB.skip1_u64 +05:5950 GamePlayEventLoopHandlerB.notempty1_u65 +05:5953 GamePlayEventLoopHandlerB.skip1_u65 +05:595d GamePlayEventLoopHandlerB.notempty1_u66 +05:5960 GamePlayEventLoopHandlerB.skip1_u66 +05:596a GamePlayEventLoopHandlerB.notempty1_u67 +05:596d GamePlayEventLoopHandlerB.skip1_u67 +05:5977 GamePlayEventLoopHandlerB.notempty1_u68 +05:597a GamePlayEventLoopHandlerB.skip1_u68 +05:5984 GamePlayEventLoopHandlerB.notempty1_u69 +05:5987 GamePlayEventLoopHandlerB.skip1_u69 +05:5991 GamePlayEventLoopHandlerB.notempty1_u70 +05:5994 GamePlayEventLoopHandlerB.skip1_u70 +05:599e GamePlayEventLoopHandlerB.notempty1_u71 +05:59a1 GamePlayEventLoopHandlerB.skip1_u71 +05:59ab GamePlayEventLoopHandlerB.notempty1_u72 +05:59ae GamePlayEventLoopHandlerB.skip1_u72 +05:59b8 GamePlayEventLoopHandlerB.notempty1_u73 +05:59bb GamePlayEventLoopHandlerB.skip1_u73 +05:59c5 GamePlayEventLoopHandlerB.notempty2_u74 +05:59c8 GamePlayEventLoopHandlerB.skip2_u74 +05:59d2 GamePlayEventLoopHandlerB.notempty2_u75 +05:59d5 GamePlayEventLoopHandlerB.skip2_u75 +05:59df GamePlayEventLoopHandlerB.notempty2_u76 +05:59e2 GamePlayEventLoopHandlerB.skip2_u76 +05:59ec GamePlayEventLoopHandlerB.notempty2_u77 +05:59ef GamePlayEventLoopHandlerB.skip2_u77 +05:59f9 GamePlayEventLoopHandlerB.notempty2_u78 +05:59fc GamePlayEventLoopHandlerB.skip2_u78 +05:5a06 GamePlayEventLoopHandlerB.notempty2_u79 +05:5a09 GamePlayEventLoopHandlerB.skip2_u79 +05:5a13 GamePlayEventLoopHandlerB.notempty2_u80 +05:5a16 GamePlayEventLoopHandlerB.skip2_u80 +05:5a20 GamePlayEventLoopHandlerB.notempty2_u81 +05:5a23 GamePlayEventLoopHandlerB.skip2_u81 +05:5a2d GamePlayEventLoopHandlerB.notempty2_u82 +05:5a30 GamePlayEventLoopHandlerB.skip2_u82 +05:5a3a GamePlayEventLoopHandlerB.notempty2_u83 +05:5a3d GamePlayEventLoopHandlerB.skip2_u83 +05:5a47 GamePlayEventLoopHandlerB.notempty3_u84 +05:5a4a GamePlayEventLoopHandlerB.skip3_u84 +05:5a54 GamePlayEventLoopHandlerB.notempty3_u85 +05:5a57 GamePlayEventLoopHandlerB.skip3_u85 +05:5a61 GamePlayEventLoopHandlerB.notempty3_u86 +05:5a64 GamePlayEventLoopHandlerB.skip3_u86 +05:5a6e GamePlayEventLoopHandlerB.notempty3_u87 +05:5a71 GamePlayEventLoopHandlerB.skip3_u87 +05:5a7b GamePlayEventLoopHandlerB.notempty3_u88 +05:5a7e GamePlayEventLoopHandlerB.skip3_u88 +05:5a88 GamePlayEventLoopHandlerB.notempty3_u89 +05:5a8b GamePlayEventLoopHandlerB.skip3_u89 +05:5a95 GamePlayEventLoopHandlerB.notempty3_u90 +05:5a98 GamePlayEventLoopHandlerB.skip3_u90 +05:5aa2 GamePlayEventLoopHandlerB.notempty3_u91 +05:5aa5 GamePlayEventLoopHandlerB.skip3_u91 +05:5aaf GamePlayEventLoopHandlerB.notempty3_u92 +05:5ab2 GamePlayEventLoopHandlerB.skip3_u92 +05:5abc GamePlayEventLoopHandlerB.notempty3_u93 +05:5abf GamePlayEventLoopHandlerB.skip3_u93 +05:5ac9 GamePlayEventLoopHandlerB.notempty4_u94 +05:5acc GamePlayEventLoopHandlerB.skip4_u94 +05:5ad6 GamePlayEventLoopHandlerB.notempty4_u95 +05:5ad9 GamePlayEventLoopHandlerB.skip4_u95 +05:5ae3 GamePlayEventLoopHandlerB.notempty4_u96 +05:5ae6 GamePlayEventLoopHandlerB.skip4_u96 +05:5af0 GamePlayEventLoopHandlerB.notempty4_u97 +05:5af3 GamePlayEventLoopHandlerB.skip4_u97 +05:5afd GamePlayEventLoopHandlerB.notempty4_u98 +05:5b00 GamePlayEventLoopHandlerB.skip4_u98 +05:5b0a GamePlayEventLoopHandlerB.notempty4_u99 +05:5b0d GamePlayEventLoopHandlerB.skip4_u99 +05:5b17 GamePlayEventLoopHandlerB.notempty4_u100 +05:5b1a GamePlayEventLoopHandlerB.skip4_u100 +05:5b24 GamePlayEventLoopHandlerB.notempty4_u101 +05:5b27 GamePlayEventLoopHandlerB.skip4_u101 +05:5b31 GamePlayEventLoopHandlerB.notempty4_u102 +05:5b34 GamePlayEventLoopHandlerB.skip4_u102 +05:5b3e GamePlayEventLoopHandlerB.notempty4_u103 +05:5b41 GamePlayEventLoopHandlerB.skip4_u103 +05:5b4b GamePlayEventLoopHandlerB.notempty5_u104 +05:5b4e GamePlayEventLoopHandlerB.skip5_u104 +05:5b58 GamePlayEventLoopHandlerB.notempty5_u105 +05:5b5b GamePlayEventLoopHandlerB.skip5_u105 +05:5b65 GamePlayEventLoopHandlerB.notempty5_u106 +05:5b68 GamePlayEventLoopHandlerB.skip5_u106 +05:5b72 GamePlayEventLoopHandlerB.notempty5_u107 +05:5b75 GamePlayEventLoopHandlerB.skip5_u107 +05:5b7f GamePlayEventLoopHandlerB.notempty5_u108 +05:5b82 GamePlayEventLoopHandlerB.skip5_u108 +05:5b8c GamePlayEventLoopHandlerB.notempty5_u109 +05:5b8f GamePlayEventLoopHandlerB.skip5_u109 +05:5b99 GamePlayEventLoopHandlerB.notempty5_u110 +05:5b9c GamePlayEventLoopHandlerB.skip5_u110 +05:5ba6 GamePlayEventLoopHandlerB.notempty5_u111 +05:5ba9 GamePlayEventLoopHandlerB.skip5_u111 +05:5bb3 GamePlayEventLoopHandlerB.notempty5_u112 +05:5bb6 GamePlayEventLoopHandlerB.skip5_u112 +05:5bc0 GamePlayEventLoopHandlerB.notempty5_u113 +05:5bc3 GamePlayEventLoopHandlerB.skip5_u113 +05:5bcd GamePlayEventLoopHandlerB.notempty6_u114 +05:5bd0 GamePlayEventLoopHandlerB.skip6_u114 +05:5bda GamePlayEventLoopHandlerB.notempty6_u115 +05:5bdd GamePlayEventLoopHandlerB.skip6_u115 +05:5be7 GamePlayEventLoopHandlerB.notempty6_u116 +05:5bea GamePlayEventLoopHandlerB.skip6_u116 +05:5bf4 GamePlayEventLoopHandlerB.notempty6_u117 +05:5bf7 GamePlayEventLoopHandlerB.skip6_u117 +05:5c01 GamePlayEventLoopHandlerB.notempty6_u118 +05:5c04 GamePlayEventLoopHandlerB.skip6_u118 +05:5c0e GamePlayEventLoopHandlerB.notempty6_u119 +05:5c11 GamePlayEventLoopHandlerB.skip6_u119 +05:5c1b GamePlayEventLoopHandlerB.notempty6_u120 +05:5c1e GamePlayEventLoopHandlerB.skip6_u120 +05:5c28 GamePlayEventLoopHandlerB.notempty6_u121 +05:5c2b GamePlayEventLoopHandlerB.skip6_u121 +05:5c35 GamePlayEventLoopHandlerB.notempty6_u122 +05:5c38 GamePlayEventLoopHandlerB.skip6_u122 +05:5c42 GamePlayEventLoopHandlerB.notempty6_u123 +05:5c45 GamePlayEventLoopHandlerB.skip6_u123 +05:5c4f GamePlayEventLoopHandlerB.notempty7_u124 +05:5c52 GamePlayEventLoopHandlerB.skip7_u124 +05:5c5c GamePlayEventLoopHandlerB.notempty7_u125 +05:5c5f GamePlayEventLoopHandlerB.skip7_u125 +05:5c69 GamePlayEventLoopHandlerB.notempty7_u126 +05:5c6c GamePlayEventLoopHandlerB.skip7_u126 +05:5c76 GamePlayEventLoopHandlerB.notempty7_u127 +05:5c79 GamePlayEventLoopHandlerB.skip7_u127 +05:5c83 GamePlayEventLoopHandlerB.notempty7_u128 +05:5c86 GamePlayEventLoopHandlerB.skip7_u128 +05:5c90 GamePlayEventLoopHandlerB.notempty7_u129 +05:5c93 GamePlayEventLoopHandlerB.skip7_u129 +05:5c9d GamePlayEventLoopHandlerB.notempty7_u130 +05:5ca0 GamePlayEventLoopHandlerB.skip7_u130 +05:5caa GamePlayEventLoopHandlerB.notempty7_u131 +05:5cad GamePlayEventLoopHandlerB.skip7_u131 +05:5cb7 GamePlayEventLoopHandlerB.notempty7_u132 +05:5cba GamePlayEventLoopHandlerB.skip7_u132 +05:5cc4 GamePlayEventLoopHandlerB.notempty7_u133 +05:5cc7 GamePlayEventLoopHandlerB.skip7_u133 +05:5cd1 GamePlayEventLoopHandlerB.notempty7_u134 +05:5cd4 GamePlayEventLoopHandlerB.skip7_u134 +05:5cde GamePlayEventLoopHandlerB.notempty7_u135 +05:5ce1 GamePlayEventLoopHandlerB.skip7_u135 +05:5ceb GamePlayEventLoopHandlerB.notempty7_u136 +05:5cee GamePlayEventLoopHandlerB.skip7_u136 +05:5cf8 GamePlayEventLoopHandlerB.notempty7_u137 +05:5cfb GamePlayEventLoopHandlerB.skip7_u137 +05:5d05 GamePlayEventLoopHandlerB.notempty7_u138 +05:5d08 GamePlayEventLoopHandlerB.skip7_u138 +05:5d12 GamePlayEventLoopHandlerB.notempty7_u139 +05:5d15 GamePlayEventLoopHandlerB.skip7_u139 +05:5d1f GamePlayEventLoopHandlerB.notempty7_u140 +05:5d22 GamePlayEventLoopHandlerB.skip7_u140 +05:5d2c GamePlayEventLoopHandlerB.notempty7_u141 +05:5d2f GamePlayEventLoopHandlerB.skip7_u141 +05:5d39 GamePlayEventLoopHandlerB.notempty7_u142 +05:5d3c GamePlayEventLoopHandlerB.skip7_u142 +05:5d46 GamePlayEventLoopHandlerB.notempty7_u143 +05:5d49 GamePlayEventLoopHandlerB.skip7_u143 +05:5d53 GamePlayEventLoopHandlerB.notempty7_u144 +05:5d56 GamePlayEventLoopHandlerB.skip7_u144 +05:5d60 GamePlayEventLoopHandlerB.notempty7_u145 +05:5d63 GamePlayEventLoopHandlerB.skip7_u145 +05:5d6d GamePlayEventLoopHandlerB.notempty7_u146 +05:5d70 GamePlayEventLoopHandlerB.skip7_u146 +05:5d7a GamePlayEventLoopHandlerB.notempty7_u147 +05:5d7d GamePlayEventLoopHandlerB.skip7_u147 +05:5d87 GamePlayEventLoopHandlerB.notempty7_u148 +05:5d8a GamePlayEventLoopHandlerB.skip7_u148 +05:5d94 GamePlayEventLoopHandlerB.notempty7_u149 +05:5d97 GamePlayEventLoopHandlerB.skip7_u149 +05:5da1 GamePlayEventLoopHandlerB.notempty7_u150 +05:5da4 GamePlayEventLoopHandlerB.skip7_u150 +05:5dae GamePlayEventLoopHandlerB.notempty7_u151 +05:5db1 GamePlayEventLoopHandlerB.skip7_u151 +05:5dbb GamePlayEventLoopHandlerB.notempty7_u152 +05:5dbe GamePlayEventLoopHandlerB.skip7_u152 +05:5dc8 GamePlayEventLoopHandlerB.notempty7_u153 +05:5dcb GamePlayEventLoopHandlerB.skip7_u153 +05:5dd5 GamePlayEventLoopHandlerB.notempty7_u154 +05:5dd8 GamePlayEventLoopHandlerB.skip7_u154 +05:5de2 GamePlayEventLoopHandlerB.notempty7_u155 +05:5de5 GamePlayEventLoopHandlerB.skip7_u155 +05:5def GamePlayEventLoopHandlerB.notempty7_u156 +05:5df2 GamePlayEventLoopHandlerB.skip7_u156 +05:5dfc GamePlayEventLoopHandlerB.notempty7_u157 +05:5dff GamePlayEventLoopHandlerB.skip7_u157 +05:5e09 GamePlayEventLoopHandlerB.notempty7_u158 +05:5e0c GamePlayEventLoopHandlerB.skip7_u158 +05:5e16 GamePlayEventLoopHandlerB.notempty7_u159 +05:5e19 GamePlayEventLoopHandlerB.skip7_u159 +05:5e23 GamePlayEventLoopHandlerB.notempty7_u160 +05:5e26 GamePlayEventLoopHandlerB.skip7_u160 +05:5e30 GamePlayEventLoopHandlerB.notempty7_u161 +05:5e33 GamePlayEventLoopHandlerB.skip7_u161 +05:5e3d GamePlayEventLoopHandlerB.notempty7_u162 +05:5e40 GamePlayEventLoopHandlerB.skip7_u162 +05:5e4a GamePlayEventLoopHandlerB.notempty7_u163 +05:5e4d GamePlayEventLoopHandlerB.skip7_u163 +05:5e57 GamePlayEventLoopHandlerB.notempty7_u164 +05:5e5a GamePlayEventLoopHandlerB.skip7_u164 +05:5e64 GamePlayEventLoopHandlerB.notempty7_u165 +05:5e67 GamePlayEventLoopHandlerB.skip7_u165 +05:5e71 GamePlayEventLoopHandlerB.notempty7_u166 +05:5e74 GamePlayEventLoopHandlerB.skip7_u166 +05:5e7e GamePlayEventLoopHandlerB.notempty7_u167 +05:5e81 GamePlayEventLoopHandlerB.skip7_u167 +05:5e8b GamePlayEventLoopHandlerB.notempty7_u168 +05:5e8e GamePlayEventLoopHandlerB.skip7_u168 +05:5e98 GamePlayEventLoopHandlerB.notempty7_u169 +05:5e9b GamePlayEventLoopHandlerB.skip7_u169 +05:5ea5 GamePlayEventLoopHandlerB.notempty7_u170 +05:5ea8 GamePlayEventLoopHandlerB.skip7_u170 +05:5eb2 GamePlayEventLoopHandlerB.notempty7_u171 +05:5eb5 GamePlayEventLoopHandlerB.skip7_u171 +05:5ebf GamePlayEventLoopHandlerB.notempty7_u172 +05:5ec2 GamePlayEventLoopHandlerB.skip7_u172 +05:5ecc GamePlayEventLoopHandlerB.notempty7_u173 +05:5ecf GamePlayEventLoopHandlerB.skip7_u173 +05:5ed9 GamePlayEventLoopHandlerB.notempty7_u174 +05:5edc GamePlayEventLoopHandlerB.skip7_u174 +05:5ee6 GamePlayEventLoopHandlerB.notempty7_u175 +05:5ee9 GamePlayEventLoopHandlerB.skip7_u175 +05:5ef3 GamePlayEventLoopHandlerB.notempty7_u176 +05:5ef6 GamePlayEventLoopHandlerB.skip7_u176 +05:5f00 GamePlayEventLoopHandlerB.notempty7_u177 +05:5f03 GamePlayEventLoopHandlerB.skip7_u177 +05:5f0d GamePlayEventLoopHandlerB.notempty7_u178 +05:5f10 GamePlayEventLoopHandlerB.skip7_u178 +05:5f1a GamePlayEventLoopHandlerB.notempty7_u179 +05:5f1d GamePlayEventLoopHandlerB.skip7_u179 +05:5f27 GamePlayEventLoopHandlerB.notempty7_u180 +05:5f2a GamePlayEventLoopHandlerB.skip7_u180 +05:5f34 GamePlayEventLoopHandlerB.notempty7_u181 +05:5f37 GamePlayEventLoopHandlerB.skip7_u181 +05:5f41 GamePlayEventLoopHandlerB.notempty7_u182 +05:5f44 GamePlayEventLoopHandlerB.skip7_u182 +05:5f4e GamePlayEventLoopHandlerB.notempty7_u183 +05:5f51 GamePlayEventLoopHandlerB.skip7_u183 +05:5f5b GamePlayEventLoopHandlerB.notempty7_u184 +05:5f5e GamePlayEventLoopHandlerB.skip7_u184 +05:5f68 GamePlayEventLoopHandlerB.notempty7_u185 +05:5f6b GamePlayEventLoopHandlerB.skip7_u185 +05:5f75 GamePlayEventLoopHandlerB.notempty7_u186 +05:5f78 GamePlayEventLoopHandlerB.skip7_u186 +05:5f82 GamePlayEventLoopHandlerB.notempty7_u187 +05:5f85 GamePlayEventLoopHandlerB.skip7_u187 +05:5f8f GamePlayEventLoopHandlerB.notempty7_u188 +05:5f92 GamePlayEventLoopHandlerB.skip7_u188 +05:5f9c GamePlayEventLoopHandlerB.notempty7_u189 +05:5f9f GamePlayEventLoopHandlerB.skip7_u189 +05:5fa9 GamePlayEventLoopHandlerB.notempty7_u190 +05:5fac GamePlayEventLoopHandlerB.skip7_u190 +05:5fb6 GamePlayEventLoopHandlerB.notempty7_u191 +05:5fb9 GamePlayEventLoopHandlerB.skip7_u191 +05:5fc3 GamePlayEventLoopHandlerB.notempty7_u192 +05:5fc6 GamePlayEventLoopHandlerB.skip7_u192 +05:5fd0 GamePlayEventLoopHandlerB.notempty7_u193 +05:5fd3 GamePlayEventLoopHandlerB.skip7_u193 +05:5fdd GamePlayEventLoopHandlerB.notempty7_u194 +05:5fe0 GamePlayEventLoopHandlerB.skip7_u194 +05:5fea GamePlayEventLoopHandlerB.notempty7_u195 +05:5fed GamePlayEventLoopHandlerB.skip7_u195 +05:5ff7 GamePlayEventLoopHandlerB.notempty7_u196 +05:5ffa GamePlayEventLoopHandlerB.skip7_u196 +05:6004 GamePlayEventLoopHandlerB.notempty7_u197 +05:6007 GamePlayEventLoopHandlerB.skip7_u197 +05:6011 GamePlayEventLoopHandlerB.notempty7_u198 +05:6014 GamePlayEventLoopHandlerB.skip7_u198 +05:601e GamePlayEventLoopHandlerB.notempty7_u199 +05:6021 GamePlayEventLoopHandlerB.skip7_u199 +05:602b GamePlayEventLoopHandlerB.notempty7_u200 +05:602e GamePlayEventLoopHandlerB.skip7_u200 +05:6038 GamePlayEventLoopHandlerB.notempty7_u201 +05:603b GamePlayEventLoopHandlerB.skip7_u201 +05:6045 GamePlayEventLoopHandlerB.notempty7_u202 +05:6048 GamePlayEventLoopHandlerB.skip7_u202 +05:6052 GamePlayEventLoopHandlerB.notempty7_u203 +05:6055 GamePlayEventLoopHandlerB.skip7_u203 +05:605f GamePlayEventLoopHandlerB.notempty7_u204 +05:6062 GamePlayEventLoopHandlerB.skip7_u204 +05:606c GamePlayEventLoopHandlerB.notempty7_u205 +05:606f GamePlayEventLoopHandlerB.skip7_u205 +05:6079 GamePlayEventLoopHandlerB.notempty7_u206 +05:607c GamePlayEventLoopHandlerB.skip7_u206 +05:6086 GamePlayEventLoopHandlerB.notempty7_u207 +05:6089 GamePlayEventLoopHandlerB.skip7_u207 +05:6093 GamePlayEventLoopHandlerB.notempty7_u208 +05:6096 GamePlayEventLoopHandlerB.skip7_u208 +05:60a0 GamePlayEventLoopHandlerB.notempty7_u209 +05:60a3 GamePlayEventLoopHandlerB.skip7_u209 +05:60ad GamePlayEventLoopHandlerB.notempty7_u210 +05:60b0 GamePlayEventLoopHandlerB.skip7_u210 +05:60ba GamePlayEventLoopHandlerB.notempty7_u211 +05:60bd GamePlayEventLoopHandlerB.skip7_u211 +05:60c7 GamePlayEventLoopHandlerB.notempty7_u212 +05:60ca GamePlayEventLoopHandlerB.skip7_u212 +05:60d4 GamePlayEventLoopHandlerB.notempty7_u213 +05:60d7 GamePlayEventLoopHandlerB.skip7_u213 +05:60db GamePlayEventLoopHandlerB.gameOverMode +05:60f4 GamePlayEventLoopHandlerB.checkretry +05:611d GamePlayEventLoopHandlerB.noretry +05:612a GamePlayEventLoopHandlerB.pauseMode +05:613c GamePlayEventLoopHandlerB.noqr +05:6151 GamePlayEventLoopHandlerB.nounpause +05:619b GamePlayEventLoopHandlerB.preRollMode +05:61ca GamePlayEventLoopHandlerB.predone +05:61e0 GamePlayEventLoopHandlerB.staysmall +05:61f6 GamePlayEventLoopHandlerB.drawStaticInfo +05:622a DoHold +05:622e DoHold.checkIRSA +05:6234 DoHold.ldb3 +05:623f DoHold.lda3 +05:6248 DoHold.cp3 +05:6256 DoHold.checkIRSB +05:625c DoHold.lda4 +05:6267 DoHold.ldb4 +05:6270 DoHold.cp4 +05:627e DoHold.noRotation +05:6289 DoHold.doHoldOperation +05:6294 sLeftDasSlam +05:629a sRightDasSlam +05:62a0 sLeady +05:62aa sGo +05:62b4 sPause +05:62dc sKill +05:637c sYouAreGM +05:63e0 sFinalChallenge +05:64a8 sPieceXOffsets +05:64c4 sPieceYOffsets +05:64e0 sPieceFastRotationStates +05:6550 sPieceRotationStates +05:65c0 sTGM3Bag +05:65e3 sTGM3Droughts +05:65ea sGameplayTileMap +05:688a sGameplayUngradedTileMap +05:688a sGameplayTileMapEnd +05:6b2a sGameplayUngradedTileMapEnd +05:6b2a GradeInitB +05:6b74 GradeInitB.grade9start +05:6b79 UpdateGradeB +05:6b79 GradeInitB.end +05:6b87 UpdateGradeB.gradejumptable +05:6b9c DecayGradeProcessB +05:6baa DecayGradeProcessB.gradejumptable +05:6bbf DecayGradeDelayB +05:6bcd DecayGradeDelayB.gradejumptable +05:6be2 PrepareScore +05:6bf5 DrawGradeProgressDMGT +05:6c10 UpdateGradeDMGT +05:6c49 UpdateGradeDMGT.checklineclears +05:6c62 UpdateGradeDMGT.clearrate +05:6c73 UpdateGradeDMGT.combomult +05:6c80 UpdateGradeDMGT.combo13 +05:6c91 UpdateGradeDMGT.combo8 +05:6ca2 UpdateGradeDMGT.combo1 +05:6cb1 UpdateGradeDMGT.prelevel +05:6cc0 UpdateGradeDMGT.single +05:6cd0 UpdateGradeDMGT.double +05:6ce1 UpdateGradeDMGT.adddonce +05:6ce5 UpdateGradeDMGT.triple +05:6cf6 UpdateGradeDMGT.addtonce +05:6cfa UpdateGradeDMGT.tetris +05:6cfe UpdateGradeDMGT.levelmult +05:6d16 UpdateGradeDMGT.mult4 +05:6d1c UpdateGradeDMGT.mult3 +05:6d21 UpdateGradeDMGT.mult2 +05:6d25 UpdateGradeDMGT.mult1 +05:6d26 UpdateGradeDMGT.processgrade +05:6d4f UpdateGradeDMGT.increasegrademaybe +05:6d73 UpdateGradeDMGT.gotgm +05:6d81 DecayGradeDMGT +05:6da4 DecayGradeDMGT.nodecay +05:6dab DecayGradeDMGT.decay +05:6db9 UpdateGradeTGM1 +05:6dc9 UpdateGradeTGM1.trygradeup +05:6de4 UpdateGradeTGM1.increasegrade +05:6df9 UpdateGradeTGM1.skipjingle +05:6e05 UpdateGradeTGM1.check300 +05:6e23 UpdateGradeTGM1.success300 +05:6e2a UpdateGradeTGM1.fail300 +05:6e31 UpdateGradeTGM1.check500 +05:6e4f UpdateGradeTGM1.success500 +05:6e56 UpdateGradeTGM1.fail500 +05:6e5d UpdateGradeTGM1.check999 +05:6e94 UpdateGradeTGM1.success999 +05:6eac UpdateGradeTGM1.fail999 +05:6eb2 UpdateGradeDEAT +05:6ebe UpdateGradeDEAT.notgm +05:6eda UpdateGradeDEAT.notm +05:6efd UpdateGradeDEAT.disqualify +05:6f1b UpdateGradeSHIR +05:6f5d UpdateGradeSHIR.s5torikan +05:6f6d UpdateGradeSHIR.s10torikan +05:6f7c UpdateGradeSHIR.disqualify +05:6f8b UpdateGradeSHIR.l1000 +05:6fa1 UpdateGradeSHIR.l500 +05:6fb7 UpdateGradeTGM3 +05:6fb7 UpdateGradeTGM3.GradePoints +05:6fcb UpdateGradeTGM3.GetOffset +05:6fdd UpdateGradeTGM3.loadpoints +05:6fe7 UpdateGradeTGM3.multipliers +05:7013 UpdateGradeTGM3.levelmultiplier +05:702c UpdateGradeTGM3.Level750 +05:7040 UpdateGradeTGM3.under750 +05:7046 UpdateGradeTGM3.Level500 +05:7054 UpdateGradeTGM3.Level250 +05:7063 UpdateGradeTGM3.under250 +05:7067 UpdateGradeTGM3.Multiply +05:7071 UpdateGradeTGM3.IncreaseInternalGrade +05:7089 TGM3UpdateDisplayedGrade +05:709e TGM3UpdateDisplayedGrade.update +05:70bb TGM3UpdateDisplayedGrade.cool +05:70da TGM3UpdateDisplayedGrade.nocool +05:70e6 TGM3UpdateDisplayedGrade.continue +05:70f7 CheckCOOL +05:710b CheckCOOL.cool +05:712c DecayGradeTGM3 +05:7140 DecayGradeTGM3.points +05:7161 DecayGradeTGM3.GetOffset +05:716a DecayGradeTGM3.lpoints +05:716e TGM3COOLHandlerB +05:7195 TGM3COOLHandlerB.checkCOOL +05:719f TGM3COOLHandlerB.checkBaselineCOOL +05:71a7 TGM3COOLHandlerB.cool +05:71c1 TGM3COOLHandlerB.nocool +05:71cd TGM3REGRETHandlerB +05:71e9 TGM3REGRETHandlerB.regret +05:7216 TGM3StaffRollGradeUpdate +05:722c TGM3StaffRollGradeUpdate.UpdateGrade +05:723c sDMGTGrading +05:72f0 sDMGTGaugeLUT +05:73f0 sTGM1GradeScores +05:7412 sTGM3InternalGradeSystem +05:74b2 sTGM3GradeBoosts +05:74d1 sTGM3HowManyInternalGradesToDecrease +05:74f0 sTGM3HowManyInternalGradesToIncrease +05:750f sTGM3ComboMultipliers +05:7541 sTGM3LevelMultiplier +05:7544 sTGM3BaselineCOOL +05:754d sTGM3REGRETConditions +05:7561 sTGM3StaffrollGrading 06:4008 BigFieldInit 06:4049 BigFieldClear 06:40ef GoSmall @@ -2783,75 +2836,84 @@ 00:ceec wTGM3Droughts 00:cef3 wTGM3GeneratedIdx 00:cef4 wTGM3WorstDroughtIdx -00:cef5 wBoneActivationLevel -00:cef7 wInvisActivationLevel -00:cef9 wKillScreenActivationLevel -00:cefb wKillScreenActivationLevelBCD -00:cefd wLastLockLevel -00:ceff wStaffRollDuration -00:cf01 wBigStaffRoll -00:cf02 wBonesActive -00:cf03 wInvisActive -00:cf04 wKillScreenActive -00:cf05 wLockLevel -00:cf06 wShouldGoStaffRoll -00:cf07 wNoMoreLocks -00:cf08 wSkippedSectionsBCD -00:cf09 wDecayRate -00:cf0a wGradePoints -00:cf0b wInternalGrade -00:cf0c wDisplayedGrade -00:cf0d wEffectTimer -00:cf0e wRankingDisqualified -00:cf0f wDecayCounter -00:cf10 wGradeGauge -00:cf11 wSMult -00:cf12 wDMult -00:cf13 wTMult -00:cf14 wSRate -00:cf15 wDRate -00:cf16 wTRate -00:cf17 wQRate -00:cf18 wTGM1level300RequirementMet -00:cf19 wTGM1level500RequirementMet -00:cf1a wTGM1level999RequirementMet -00:cf1b wProgress0B1 -00:cf1c wProgress0B2 -00:cf1d wProgress1B1 -00:cf1e wProgress1B2 -00:cf1f wProgress2B1 -00:cf20 wProgress2B2 -00:cf21 wProgress3B1 -00:cf22 wProgress3B2 -00:cf23 wProgress4B1 -00:cf24 wProgress4B2 -00:cf25 wSwapABState -00:cf26 wRNGModeState -00:cf27 wRotModeState -00:cf28 wDropModeState -00:cf29 wSpeedCurveState -00:cf2a wAlways20GState -00:cf2b wInitialA -00:cf2c wInitialB -00:cf2d wInitialC -00:cf2e wSelected -00:cf2f wTitleMode -00:cf30 wProfileName -00:cf33 wDisplayingScoreMode -00:cf34 wScoreFlipTimer -00:cf35 wMinutes -00:cf36 wSeconds -00:cf37 wFrames -00:cf38 wCountDown -00:cf3a wCountDownZero -00:cf3b wBankBackup -00:cf3f wRollLine -00:cf40 wInStaffRoll -00:cf41 wBigModeTransfered -00:cf42 wGameOverIgnoreInput -00:cf43 wOuterReps -00:cf44 wInnerReps -00:cf45 wTarget +00:cef5 wDecayRate +00:cef6 wInternalGradePoints +00:cef7 wInternalGrade +00:cef8 wDisplayedGrade +00:cef9 wEffectTimer +00:cefa wRankingDisqualified +00:cefb wDecayCounter +00:cefc wGradeGauge +00:cefd wSMult +00:cefe wDMult +00:ceff wTMult +00:cf00 wSRate +00:cf01 wDRate +00:cf02 wTRate +00:cf03 wQRate +00:cf04 wPrevCOOL +00:cf07 wCOOLIsActive +00:cf08 wSubgrade +00:cf09 wREGRETChecked +00:cf0a wGradeBoosts +00:cf0b wTGM1level300RequirementMet +00:cf0c wTGM1level500RequirementMet +00:cf0d wTGM1level999RequirementMet +00:cf0e wBoneActivationLevel +00:cf10 wInvisActivationLevel +00:cf12 wKillScreenActivationLevel +00:cf14 wKillScreenActivationLevelBCD +00:cf16 wLastLockLevel +00:cf18 wStaffRollDuration +00:cf1a wBigStaffRoll +00:cf1b wBonesActive +00:cf1c wInvisActive +00:cf1d wKillScreenActive +00:cf1e wLockLevel +00:cf1f wShouldGoStaffRoll +00:cf20 wNoMoreLocks +00:cf21 wSkippedSectionsBCD +00:cf22 wProgress0B1 +00:cf23 wProgress0B2 +00:cf24 wProgress1B1 +00:cf25 wProgress1B2 +00:cf26 wProgress2B1 +00:cf27 wProgress2B2 +00:cf28 wProgress3B1 +00:cf29 wProgress3B2 +00:cf2a wProgress4B1 +00:cf2b wProgress4B2 +00:cf2c wMinutes +00:cf2d wSeconds +00:cf2e wFrames +00:cf2f wSectionMinutes +00:cf30 wSectionSeconds +00:cf31 wSectionFrames +00:cf32 wCountDown +00:cf34 wCountDownZero +00:cf35 wSectionTimerReset +00:cf36 wSwapABState +00:cf37 wRNGModeState +00:cf38 wRotModeState +00:cf39 wDropModeState +00:cf3a wSpeedCurveState +00:cf3b wAlways20GState +00:cf3c wInitialA +00:cf3d wInitialB +00:cf3e wInitialC +00:cf3f wSelected +00:cf40 wTitleMode +00:cf41 wProfileName +00:cf44 wDisplayingScoreMode +00:cf45 wScoreFlipTimer +00:cf46 wBankBackup +00:cf4a wRollLine +00:cf4b wInStaffRoll +00:cf4c wBigModeTransfered +00:cf4d wGameOverIgnoreInput +00:cf4e wOuterReps +00:cf4f wInnerReps +00:cf50 wTarget 00:ff80 hCurrentDAS 00:ff81 hCurrentARE 00:ff82 hCurrentLineARE diff --git a/src/grading.asm b/src/grading.asm index 4e11d2c..a0cdb8e 100644 --- a/src/grading.asm +++ b/src/grading.asm @@ -24,7 +24,7 @@ INCLUDE "globals.asm" SECTION "Grade Variables", WRAM0 wDecayRate: ds 1 -wGradePoints: ds 1 +wInternalGradePoints: ds 1 wInternalGrade: ds 1 wDisplayedGrade:: ds 1 wEffectTimer:: ds 1 @@ -38,140 +38,17 @@ wSRate: ds 1 wDRate: ds 1 wTRate: ds 1 wQRate: ds 1 +wPrevCOOL: ds 3 +wCOOLIsActive:: ds 1 +wSubgrade: ds 1 +wREGRETChecked:: ds 1 +wGradeBoosts: ds 1 wTGM1level300RequirementMet: ds 1 wTGM1level500RequirementMet: ds 1 wTGM1level999RequirementMet: ds 1 -SECTION "Grading Data", ROM0 -; The Score Thresholds are 3/4th of the original ones. -sTGM1GradeScores: - dw $0003 ;00 — 8 - dw $0006 ;00 — 7 - dw $0009 ;00 — 6 - dw $0015 ;00 — 5 - dw $0021 ;00 — 4 - dw $0039 ;00 — 3 - dw $0060 ;00 — 2 - dw $0090 ;00 — 1 - dw $0120 ;00 — S1 - dw $0165 ;00 — S2 - dw $0225 ;00 — S3 - dw $0300 ;00 — S4 - dw $0390 ;00 — S5 - dw $0495 ;00 — S6 - dw $0615 ;00 — S7 - dw $0750 ;00 — S8 - dw $0900 ;00 — S9 - -sTGM3InternalGradeSystem: - db 125, 10, 20, 40, 50 ;Decay rate, (Internal grade points awarded for:) Single, Double, Triple, Tetris - db 80, 10, 20, 30, 40 - db 80, 10, 20, 30, 40 - db 50, 10, 15, 30, 40 - db 45, 5, 15, 20, 40 - db 45, 5, 15, 20, 30 - db 45, 5, 10, 20, 30 - db 40, 5, 10, 15, 30 - db 40, 5, 10, 15, 30 - db 40, 5, 10, 15, 30 - db 40, 2, 12, 13, 30 - db 40, 2, 12, 13, 30 - db 30, 2, 12, 13, 30 - db 30, 2, 12, 13, 30 - db 30, 2, 12, 13, 30 - db 20, 2, 12, 13, 30 - db 20, 2, 12, 13, 30 - db 20, 2, 12, 13, 30 - db 20, 2, 12, 13, 30 - db 20, 2, 12, 13, 30 - db 15, 2, 12, 13, 30 - db 15, 2, 12, 13, 30 - db 15, 2, 12, 13, 30 - db 15, 2, 12, 13, 30 - db 15, 2, 12, 13, 30 - db 15, 2, 12, 13, 30 - db 15, 2, 12, 13, 30 - db 15, 2, 12, 13, 30 - db 15, 2, 12, 13, 30 - db 15, 2, 12, 13, 30 - db 10, 2, 12, 13, 30 - db 10, 2, 12, 13, 30 - -sTGM3GradeBoosts: - db 0 - db 1 - db 2 - db 3 - db 4 - db 5 - db 5 - db 6 - db 6 - db 7 - db 7 - db 7 - db 8 - db 8 - db 8 - db 9 - db 9 - db 10 - db 11 - db 12 - db 12 - db 12 - db 13 - db 13 - db 14 - db 14 - db 15 - db 15 - db 16 - db 16 - db 17 - -; sTGM3ComboMultipliers: -; db 1, 1.0, 1.0, 1.0, 1.0 ; Combo size, (Multiplier for: ) Single, Double, Triple, Tetris -; db 2, 1.0, 1.2, 1.4, 1.5 -; db 3, 1.0, 1.2, 1.5, 1.8 -; db 4, 1.0, 1.4, 1.6, 2.0 -; db 5, 1.0, 1.4, 1.7, 2.2 -; db 6, 1.0, 1.4, 1.8, 2.3 -; db 7, 1.0, 1.4, 1.9, 2.4 -; db 8, 1.0, 1.5, 2.0, 2.5 -; db 9, 1.0, 1.5, 2.1, 2.6 -; db 10, 2.0, 2.5, 3.0, 3.0 - -sTGM3LevelMultiplier: - db 1 ; 000-249 - db 2 ; 250-499 - db 3 ; 500-749 - db 4 ; 750-999 - -sTGM3BaselineCOOL: - db 52 ;070 (value in seconds) - db 52 ;170 - db 49 ;270 - db 45 ;370 - db 45 ;470 - db 42 ;570 - db 42 ;670 - db 38 ;770 - db 38 ;870 - -sTGM3REGRETConditions: - db 1, 30 ;minutes, seconds - db 1, 15 - db 1, 15 - db 1, 8 - db 1, 0 - db 1, 0 - db 0, 50 - db 0, 50 - db 0, 50 - db 0, 50 - +SECTION "Grading Data", ROMX, BANK[BANK_GAMEPLAY] sDMGTGrading: db 125, 10, 20, 40, 50 ; Grade 9 — frames/decay, single base, double base, triple base, tetris base db 80, 10, 20, 30, 40 ; Grade 8 — frames/decay, single base, double base, triple base, tetris base @@ -229,18 +106,262 @@ sDMGTGaugeLUT: db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 db 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32 -SECTION "Grading Functions", ROM0 - ; Wipe the grading variables. +sTGM1GradeScores: + dw $0003 ;00 — 8 + dw $0006 ;00 — 7 + dw $0009 ;00 — 6 + dw $0015 ;00 — 5 + dw $0021 ;00 — 4 + dw $0039 ;00 — 3 + dw $0060 ;00 — 2 + dw $0090 ;00 — 1 + dw $0120 ;00 — S1 + dw $0165 ;00 — S2 + dw $0225 ;00 — S3 + dw $0300 ;00 — S4 + dw $0390 ;00 — S5 + dw $0495 ;00 — S6 + dw $0615 ;00 — S7 + dw $0750 ;00 — S8 + dw $0900 ;00 — S9 + +sTGM3InternalGradeSystem: + db 125, 10, 20, 40, 50 ;Decay rate, (Internal grade points awarded for:) Single, Double, Triple, Tetris + db 80, 10, 20, 30, 40 + db 80, 10, 20, 30, 40 + db 50, 10, 15, 30, 40 + db 45, 5, 15, 20, 40 + db 45, 5, 15, 20, 30 + db 45, 5, 10, 20, 30 + db 40, 5, 10, 15, 30 + db 40, 5, 10, 15, 30 + db 40, 5, 10, 15, 30 + db 40, 2, 12, 13, 30 + db 40, 2, 12, 13, 30 + db 30, 2, 12, 13, 30 + db 30, 2, 12, 13, 30 + db 30, 2, 12, 13, 30 + db 20, 2, 12, 13, 30 + db 20, 2, 12, 13, 30 + db 20, 2, 12, 13, 30 + db 20, 2, 12, 13, 30 + db 20, 2, 12, 13, 30 + db 15, 2, 12, 13, 30 + db 15, 2, 12, 13, 30 + db 15, 2, 12, 13, 30 + db 15, 2, 12, 13, 30 + db 15, 2, 12, 13, 30 + db 15, 2, 12, 13, 30 + db 15, 2, 12, 13, 30 + db 15, 2, 12, 13, 30 + db 15, 2, 12, 13, 30 + db 15, 2, 12, 13, 30 + db 10, 2, 12, 13, 30 + db 10, 2, 12, 13, 30 + +sTGM3GradeBoosts: + db 0 ;9 (0 = add 0, 1 = add 1) + db 1 ;8 + db 1 ;7 + db 1 ;6 + db 1 ;5 + db 1 ;4 + db 0 ;4 + db 1 ;3 + db 0 ;3 + db 1 ;2 + db 0 ;2 + db 0 ;2 + db 1 ;1 + db 0 ;1 + db 0 ;1 + db 1 ;S1 (yes, here you finally get into the S grades, unless you are very COOL) + db 0 ;S1 + db 1 ;S2 + db 1 ;S3 + db 1 ;S4 + db 0 ;S4 + db 0 ;S4 + db 1 ;S5 + db 0 ;S5 + db 1 ;S6 + db 0 ;S6 + db 1 ;S7 + db 0 ;S7 + db 1 ;S8 + db 0 ;S8 + db 1 ;S9 + +sTGM3HowManyInternalGradesToDecrease: + db 0 ;9 (0 = substract 0, 1 = substract 1, etc.) + db 1 ;8 + db 1 ;7 + db 1 ;6 + db 1 ;5 + db 1 ;4 + db 2 ;4 + db 1 ;3 + db 2 ;3 + db 1 ;2 + db 2 ;2 + db 3 ;2 + db 1 ;1 + db 2 ;1 + db 3 ;1 + db 1 ;S1 + db 2 ;S1 + db 1 ;S2 + db 1 ;S3 + db 1 ;S4 + db 2 ;S4 + db 3 ;S4 + db 1 ;S5 + db 2;S5 + db 1 ;S6 + db 2 ;S6 + db 1 ;S7 + db 2 ;S7 + db 1 ;S8 + db 2 ;S8 + db 1 ;S9 + +sTGM3HowManyInternalGradesToIncrease: + db 1 ;9 (0 = add 0, 1 = add 1, etc.) + db 1 ;8 + db 1 ;7 + db 1 ;6 + db 1 ;5 + db 2 ;4 + db 1 ;4 + db 2 ;3 + db 1 ;3 + db 3 ;2 + db 2 ;2 + db 1 ;2 + db 3 ;1 + db 2 ;1 + db 1 ;1 + db 2 ;S1 + db 1 ;S1 + db 1 ;S2 + db 1 ;S3 + db 3 ;S4 + db 2 ;S4 + db 1 ;S4 + db 2 ;S5 + db 1 ;S5 + db 2 ;S6 + db 1 ;S6 + db 2 ;S7 + db 1 ;S7 + db 2 ;S8 + db 1 ;S8 + db 1 ;S9 + +sTGM3ComboMultipliers: + db 1, 1, 1, 1, 1 ; Combo size, (Multiplier for: ) Single, Double, Triple, Tetris (Screw the fractional part, x.5 gets rounded down) + db 2, 1, 1, 1, 1 + db 3, 1, 1, 1, 2 + db 4, 1, 1, 2, 2 + db 5, 1, 1, 2, 2 + db 6, 1, 1, 2, 2 + db 7, 1, 1, 2, 2 + db 8, 1, 1, 2, 2 + db 9, 1, 1, 2, 3 + db 10, 2, 2, 3, 3 + +sTGM3LevelMultiplier: + db 2 ; 250-499 + db 3 ; 500-749 + db 4 ; 750-999 + +sTGM3BaselineCOOL: + db 52 ;070 (value in seconds) + db 52 ;170 + db 49 ;270 + db 45 ;370 + db 45 ;470 + db 42 ;570 + db 42 ;670 + db 38 ;770 + db 38 ;870 + +sTGM3REGRETConditions: + db 1, 30 ;minutes, seconds + db 1, 15 + db 1, 15 + db 1, 8 + db 1, 0 + db 1, 0 + db 0, 50 + db 0, 50 + db 0, 50 + db 0, 50 + +sTGM3StaffrollGrading: ;subgrades awarded per line clear + db 1 ;Single + db 2 ;Double + db 3 ;Triple + db 10 ;Tetris + db 16 ;Clear + + +SECTION "Grading Functions Unbanked", ROM0 GradeInit:: + ld b, BANK_GAMEPLAY + rst RSTSwitchBank + call GradeInitB + jp RSTRestoreBank + +UpdateGrade:: + ld b, BANK_GAMEPLAY + rst RSTSwitchBank + call UpdateGradeB + jp RSTRestoreBank + +DecayGradeProcess:: + ld b, BANK_GAMEPLAY + rst RSTSwitchBank + call DecayGradeProcessB + jp RSTRestoreBank + +DecayGradeDelay:: + ld b, BANK_GAMEPLAY + rst RSTSwitchBank + call DecayGradeDelayB + jp RSTRestoreBank + +TGM3REGRETHandler:: + ld b, BANK_GAMEPLAY + rst RSTSwitchBank + call TGM3REGRETHandlerB + jp RSTRestoreBank + +TGM3COOLHandler:: + ld b, BANK_GAMEPLAY + rst RSTSwitchBank + call TGM3COOLHandlerB + jp RSTRestoreBank + + +SECTION "Grading Functions Banked", ROMX, BANK[BANK_GAMEPLAY] + ; Wipe the grading variables. +GradeInitB: xor a, a ld [wDecayRate], a - ld [wGradePoints], a - ld [wInternalGrade], a + ld [wInternalGradePoints], a ld [wDisplayedGrade], a ld [wRankingDisqualified], a ld [wEffectTimer], a ld [wDecayCounter], a ld [wGradeGauge], a + ld [wSubgrade], a + ld [wGradeBoosts], a + ld [wCOOLIsActive], a + ld [wREGRETChecked], a + ld [wPrevCOOL], a + ld [wPrevCOOL+1], a + ld [wPrevCOOL+2], a ld [wTGM1level300RequirementMet], a ld [wTGM1level500RequirementMet], a ld [wTGM1level999RequirementMet], a @@ -249,10 +370,12 @@ GradeInit:: ld a, GRADE_NONE ld [wDisplayedGrade], a - ; TGM1 and DMGT are the exceptions. + ; TGM1, TGM3, and DMGT are the exceptions. ld a, [wSpeedCurveState] cp a, SCURVE_TGM1 jr z, .grade9start + cp a, SCURVE_TGM3 + jr z, .grade9start cp a, SCURVE_DMGT jr z, .grade9start jr .end @@ -262,11 +385,11 @@ GradeInit:: ld [wDisplayedGrade], a .end - jr UpdateGrade + ; Falls through intentionally. ; Jumps to the grade update function for the current mode. -UpdateGrade:: +UpdateGradeB: ld hl, .gradejumptable ld a, [wSpeedCurveState] ld b, a @@ -280,7 +403,7 @@ UpdateGrade:: .gradejumptable jp UpdateGradeDMGT ;DMGT jp UpdateGradeTGM1 ;TGM1 - no_jump ;TGM3 + jp UpdateGradeTGM3 ;TGM3 jp UpdateGradeDEAT ;DEAT jp UpdateGradeSHIR ;SHIR no_jump ;CHIL @@ -289,7 +412,7 @@ UpdateGrade:: ; Jumps to the grade decay function for the current mode. ; Called once per frame where a piece is in motion. -DecayGradeProcess:: +DecayGradeProcessB: ld hl, .gradejumptable ld a, [wSpeedCurveState] ld b, a @@ -303,7 +426,7 @@ DecayGradeProcess:: .gradejumptable jp DecayGradeDMGT ;DMGT no_jump ;TGM1 - no_jump ;TGM3 + jp DecayGradeTGM3 ;TGM3 no_jump ;DEAT no_jump ;SHIR no_jump ;CHIL @@ -312,7 +435,7 @@ DecayGradeProcess:: ; Jumps to the grade decay function for the current mode. ; Called once per frame during ARE and line clear delay. -DecayGradeDelay:: +DecayGradeDelayB: ld hl, .gradejumptable ld a, [wSpeedCurveState] ld b, a @@ -324,13 +447,13 @@ DecayGradeDelay:: jp hl .gradejumptable - no_jump ;DMGT - no_jump ;TGM1 - no_jump ;TGM3 - no_jump ;DEAT - no_jump ;SHIR - no_jump ;CHIL - no_jump ;MYCO + no_jump ;DMGT + no_jump ;TGM1 + jp DecayGradeTGM3 ;TGM3 + no_jump ;DEAT + no_jump ;SHIR + no_jump ;CHIL + no_jump ;MYCO ; Get the four most significant figures of the score in BC as BCD. @@ -349,7 +472,7 @@ PrepareScore: ld b, a ret -DrawGradeProgressDMGT:: +DrawGradeProgressDMGT: ld a, [wDisplayedGrade] cp a, GRADE_GM jr nz, :+ @@ -360,11 +483,12 @@ DrawGradeProgressDMGT:: ld b, 0 ld c, a add hl, bc + ld a, [hl] call SetProgress ret -UpdateGradeDMGT:: +UpdateGradeDMGT: ; Check if the torikan hasn't been calculated. ld a, [wRankingDisqualified] cp a, $FF @@ -634,7 +758,7 @@ UpdateGradeDMGT:: ret -DecayGradeDMGT:: +DecayGradeDMGT: ; Bail if the gauge is empty. ld a, [wGradeGauge] or a, a @@ -1093,4 +1217,465 @@ UpdateGradeSHIR: ldh [hNLevel+3], a jp TriggerKillScreen + +UpdateGradeTGM3: + ; First things first, Update our grade points. +.GradePoints + ; Load the Table address to HL. + ld hl, sTGM3InternalGradeSystem + ; Get the correct offset using the lines cleared on the frame and our current Internal Grade. + ; Make sure the offsets are set properly and that the amount of Cleared lines isn't 0. + ld a, [wInternalGrade] ; Example: 3 + cp a, 0 ; If it's 0, we don't need to do weird math. + jr z, .GetOffset + ld d, a ; ld d, 3 + ld b, 5 + ld a, b ; ld a, 5 + dec d ;dec 3 to 2, so we don't accidentally add more than intended +: add a, b ; 5+5 = 10 ; 10+5 = 15 + dec d + jr nz, :- ; go back if d isn't 0 + ld b, a ; ld b, 15 + +.GetOffset + ld a, [hLineClearCt] + cp a, 0 ; If no lines were cleared, we don't need to do anything, just continue + jp z, .IncreaseInternalGrade + add a, b + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld e, a ; We will use almost all registers to get the multipliers, so we need to keep the points we should add in a safe spot + jp .multipliers + +.loadpoints + ld hl, wInternalGradePoints + add a, [hl] + ld [wInternalGradePoints], a + jp .IncreaseInternalGrade + +.multipliers + ; There are some multipliers to help us increase our grade faster + ld hl, sTGM3ComboMultipliers + ld a, [hComboCt] ; Example: 3 + cp a, 0 + ld d, a ; ld d, 3 + ld b, 5 + ld a, b ; ld a, 5 + dec d ;dec 3 to 2, so we don't accidentally add more than intended +: add a, b ; 5+5 = 10 ; 10+5 = 15 + dec d + jr nz, :- ; go back if d isn't 0 + ld b, a ; ld b, 15 + ld a, [hLineClearCt] + cp a, 0 ; If no lines were cleared, we don't need to do anything, just continue + jr z, .levelmultiplier + add a, b + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] ; Now we got our multiplier!, let's apply it. + dec a ; A multiplier of 1 shouldn't change anything, so let's get rid of them + cp a, 0 + jr z, .levelmultiplier; Continue + ld b, a ; Load the multiplier into B + ld a, e ; Remember the points we got earlier?, here they are + ld c, a ; We will add from C +: add a, c + dec b + jr nz, :- + ; Finally!, we can now load the points, right?, NO!, there is yet another multiplier... + ; We have to keep the points safe again... + ld e, a + +.levelmultiplier + ; Make HL point to the table that contains the level multipliers + ld hl, sTGM3LevelMultiplier + ; Get our level into BC + ld a, [hCLevel+3] + ld b, a + ld a, [hCLevel+2] + swap a + or b + ld c, a + ld a, [hCLevel+1] + ld b, a + ld a, [hCLevel] + swap a + or b + ld b, a + +.Level750 + ; Is our level 750 or higher? + ld a, b + cp a, LEVEL_MULT_3A + ; If B is less than 7, that means we are not even in level 700, so check for 500 + jr c, .Level500 + ; If B is NOT less than 7, we might be in level 750 or greater, so check the remaining digits. + ld a, c + cp a, LEVEL_MULT_3B + ; If C is less than 50, we didn't reach level 750 yet, but we are for sure in the 7** Section, load the corresponding offset. + jp .under750 + ; If C is equal or greater than 50, then congrats!, load the corresponding offset + ld b, 0 + ld c, 2 + add hl, bc + ld a, [hl] + jp .Multiply + +.under750 + ld b, 0 + ld c, 1 + add hl, bc + ld a, [hl] + +.Level500 + ; Is our level 500 or higher? + ld a, b + cp a, LEVEL_MULT_2A + ; If B is less than 5, that means we are not even in level 500, so check for 250 + jr c, .Level250 + ; If B is NOT less than 5, we are in level 500 or greater + ld b, 0 + ld c, 2 + add hl, bc + ld a, [hl] + jp .Multiply + +.Level250 ; There is no Offset, so just get the multiplier + ; Is our level 750 or higher? + ld a, b + cp a, LEVEL_MULT_1A + ; If B is less than 2, that means we are not even in level 200, so no multiplier + jr c, .under250 + ; If B is NOT less than 2, we might be in level 250 or greater, so check the remaining digits. + ld a, c + cp a, LEVEL_MULT_1B + ; If C is less than 50, we didn't reach level 250 yet, so no multiplier + jp .under250 + ; If C is equal or greater than 50, then congrats!, load the corresponding offset (I said there is no Offset!) + ld a, [hl] + jp .Multiply + +.under250 ; There is no multiplier, so just load the points + ld a, e + jp .loadpoints + +.Multiply ; FINALLY!!!!!, This took forever! + ld b, a ; Load the multiplier into B + ld a, e ; Remember the points we got earlier?, here they are... Again. + ld c, a ; We will add from C +: add a, c + dec b + jr nz, :- + ; AND NOW WE ARE DONE!, LOAD THOSE POINTS! + jp .loadpoints + +.IncreaseInternalGrade + ; Are we on level *00-*05? + ld a, [hCLevel+CLEVEL_ONES] + cp a, 6 + ; If we are, jump to the update COOL grade funcion just in case we have to apply a section COOL + jr c, CheckCOOL + ; If not, continue + ; Do we have 100 Grade Points? + ld a, [wInternalGradePoints] + cp a, 100 + ret c ; If the Internal Grade Points is less than 100, return, we don't have to change our Grade + xor a, a ; Reset the points to 0 and increase the internal grade + ld [wInternalGradePoints], a + ld a, [wInternalGrade] + inc a + ld [wInternalGrade], a + ; This falls to the next function, this is intentional + + +TGM3UpdateDisplayedGrade: + ld a, [wDisplayedGrade] ; If we are a GM Grade, return + cp a, GRADE_GM + ret z + ld a, GRADE_9 ; Load the lowest grade into a + ld b, a ; Then save it into b + ld hl, sTGM3GradeBoosts ; Make HL point to the Grade boosts table + ld a, [wInternalGrade] ; Get the offset + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] ; Load the boosts to add into a... + ld b, a + +.update + ld a, [wGradeBoosts] ; Load the boosts variable into A + add a, b ;Add the boosts + ld b, a + ; HOLD IT! + ld a, [wCOOLIsActive] ; Did the player get a cool on this section? + cp a, 1 + jp nz, .nocool ; If not, proceed as normal + ; If it did, check if we are at level *00-*05 + ld a, [hCLevel+CLEVEL_TENS] + cp a, 0 + jr nz, .nocool + ld a, [hCLevel+CLEVEL_ONES] + cp a, 5 + jr c, .cool + jr nz, .nocool ; If not, proceed as normal + +.cool + ld hl, sTGM3HowManyInternalGradesToIncrease ; Make HL point to the..., yeah. + ld a, [wInternalGrade] ; Get the offset + ld d, a ; save the internal grade because we need it later + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] ; Load the amount of internal grades to increase into a + add a, d ; Increase the internal grades + ld [wInternalGrade], a ; Load them + ld a, [wGradeBoosts] ; Load the boosts variable into A + inc a + ld [wGradeBoosts], a + ld [wDisplayedGrade], a ; Load the boosts into the displayed grade + xor a, a + ld [wCOOLIsActive], a ; Make the cool no longer be active + ret + +.nocool + ;ld [wDisplayedGrade], a ; HOLD IT! + ld a, [wDisplayedGrade] + cp a, b + ret z ; If the grade is the same, return. + ld a, b + ; If the grade results in an S10, set it to m1 + cp a, GRADE_S10 + jr nz, .continue + ld a, GRADE_M1 + +.continue + ld [wDisplayedGrade], a ; Otherwise, set the grade. + ld [wGradeBoosts], a ; And the grade boosts too. + ; ...Play the jingle. + ld a, SFX_RANKUP + call SFXEnqueue + ; Prepare the effect stuff + ld a, $0f + ld [wEffectTimer], a + ret + + +CheckCOOL: + ld a, [wCOOLIsActive] ; Did the player get a cool on this section? + cp a, 1 + ret nz + ; If it did, check if we are at level *00-*05 + ld a, [hCLevel+CLEVEL_TENS] + cp a, 0 + ret nz + ld a, [hCLevel+CLEVEL_ONES] + cp a, 5 + jr c, .cool + ret nz ; If not, proceed as normal + +.cool + ld hl, sTGM3HowManyInternalGradesToIncrease ; Make HL point to the..., yeah. + ld a, [wInternalGrade] ; Get the offset + ld d, a ; save the internal grade because we need it later + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] ; Load the amount of internal grades to increase into a + add a, d ; Increase the internal grades + ld [wInternalGrade], a ; Load them + ld a, [wGradeBoosts] ; Load the boosts variable into A + inc a + ld [wGradeBoosts], a + ld [wDisplayedGrade], a ; Load the boosts into the displayed grade + xor a, a + ld [wCOOLIsActive], a ; Make the cool no longer be active + jp SkipSection + + +DecayGradeTGM3: + ; Check if we can decrease the Grade points, if not, decrease the timer + ld a, [wDecayRate] + cp a, 0 + jr z, .points + ld b, a ; Save the timer + ld a, [hComboCt] ; If there is an active combo, do not decrease the counter, return instead + dec a + and a + ret nz + ld a, b ; Load the timer back + dec a + ld [wDecayRate], a + ret + +.points + ld a, [wInternalGradePoints] ; Do we have 0 grade points? + cp a, 0 + ret z ; If so, return + dec a + cp a, 0 ; Do we have 0 now? + jr z, .lpoints ; If so, load the points, since we don't have any points to decay + ; Else, load the points and the corresponding Decay Rate + ld [wInternalGradePoints], a + ; Get the Decay Rate required + ld hl, sTGM3InternalGradeSystem + ld a, [wInternalGrade] ; Example: 3 + cp a, 0 ; If it's 0, we don't need to do weird math. + jr z, .GetOffset + ld d, a ; ld d, 3 + ld b, 5 + ld a, b ; ld a, 5 + dec d ;dec 3 to 2, so we don't accidentally add more than intended +: add a, b ; 5+5 = 10 ; 10+5 = 15 + dec d + jr nz, :- ; go back if d isn't 0 + +.GetOffset + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] ; Load the rate into a... + ld [wDecayRate], a ; ... and then into the timer + ret + +.lpoints + ld [wInternalGradePoints], a + ret + + +TGM3COOLHandlerB: + ; First check our previous cool + ld a, [wPrevCOOL] ; Are the minutes 0? + cp a, 0 + jr nz, .checkCOOL + ; If so, check the seconds + ld a, [wPrevCOOL+1] + cp a, 0 + jr nz, .checkCOOL + ; The seconds are 0 too?, hmm, check the frames + ld a, [wPrevCOOL+2] + cp a, 0 + jr nz, .checkCOOL + ; No cool???, check the baseline cool then... + ld hl, sTGM3BaselineCOOL + ld a, [hCLevel+1] + add a + ld b, 0 + ld c, a + add hl, bc + ld a, [hl+] + ld b, a + ld a, [hl] + ld c, a + jp .checkBaselineCOOL + +.checkCOOL + ld a, [wPrevCOOL] + ld b, a + ld a, [wPrevCOOL+1] + ; Give the player 2 seconds to spare + sub a, 2 + ld c, a + +.checkBaselineCOOL + call CheckCOOL_REGRET + cp a, $ff + jp nz, .nocool + +.cool ; If the player got a cool, set the active cool variable to 1, also set the previous cool variables to the correct value + ld a, 1 + ld [wCOOLIsActive], a + ld a, [wSectionMinutes] + ld [wPrevCOOL], a + ld a, [wSectionSeconds] + ld [wPrevCOOL+1], a + ld a, [wSectionFrames] + ld [wPrevCOOL+2], a + ld a, 1 ; Leave a value in A so we know if the code ran + ret ; Done + +.nocool ; If the player misses a cool, set the previous cool variables to 0, then return + ld [wPrevCOOL], a + ld [wPrevCOOL+1], a + ld [wPrevCOOL+2], a + ld a, 1 ; Leave a value in A so we know if the code ran + ret + + +TGM3REGRETHandlerB: ; Check if we took too much time to complete a section + ld a, [wREGRETChecked] ; First, make sure we haven't checked before + cp a, 1 + ret z ; If we did, just return + ld hl, sTGM3REGRETConditions + ld a, [hCLevel+1] + dec a + add a + ld b, 0 + ld c, a + add hl, bc + ld a, [hl+] + ld b, a + ld a, [hl] + ld c, a + call CheckCOOL_REGRET + cp a, 0 + ret nz + +.regret + ld a, [wInternalGrade] + cp a, 0 + ret z + xor a, a + ld [wInternalGradePoints], a + ld a, [wGradeBoosts] + dec a + ld [wGradeBoosts], a + ld hl, sTGM3HowManyInternalGradesToDecrease ; Make HL point to the..., yeah. + ld a, [wInternalGrade] ; Get the offset + ld d, a ; save the internal grade because we need it later + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] ; Load the amount of internal grades to decrease into a + sub a, d ; Decrease the internal grades + ld [wInternalGrade], a ; Load them + ld a, [wGradeBoosts] ; Load the boosts variable into A + ld [wDisplayedGrade], a ; Load the boosts into the displayed grade + ld a, 1 + ld [wREGRETChecked], a + ret ; Done + + +TGM3StaffRollGradeUpdate: + ; Make HL Point to the Staffroll Table + ld hl, sTGM3StaffrollGrading + ; Get the offset, if no lines were cleared, return + ld a, [hLineClearCt] + and a + ret z + dec a + ld b, 0 + ld c, a + add hl, bc + ; Load the value into A + ld a, [hl] + ; And then add that to the subgrade variable + ld b, a + ld a, [wSubgrade] + add a, b + ld [wSubgrade], a + +.UpdateGrade + cp a, $a + ret c + sub a, $a + ld [wSubgrade], a + ld a, [wDisplayedGrade] + inc a + ld [wDisplayedGrade], a + ret + + ENDC diff --git a/src/include/globals.asm b/src/include/globals.asm index a963323..2bcc44a 100644 --- a/src/include/globals.asm +++ b/src/include/globals.asm @@ -403,6 +403,11 @@ DEF NLEVEL_THOUSANDS EQU 0 DEF NLEVEL_HUNDREDS EQU 1 DEF NLEVEL_TENS EQU 2 DEF NLEVEL_ONES EQU 3 +DEF LEVEL_MULT_1A EQU $02 +DEF LEVEL_MULT_1B EQU $50 +DEF LEVEL_MULT_2A EQU $05 +DEF LEVEL_MULT_3A EQU $07 +DEF LEVEL_MULT_3B EQU $50 ; Title screens DEF TITLE_MAIN EQU 0 diff --git a/src/level.asm b/src/level.asm index ed40fce..480993a 100644 --- a/src/level.asm +++ b/src/level.asm @@ -329,16 +329,16 @@ LevelUp:: ld hl, hCLevel+2 ld a, [hl+] cp a, 9 - jr nz, AdjustSpeedCurve + jp nz, AdjustSpeedCurve ld a, [hl] cp a, 8 - jr nz, AdjustSpeedCurve + jp nz, AdjustSpeedCurve ld a, $FF ldh [hRequiresLineClear], a call SFXKill ld a, SFX_LEVELLOCK call SFXEnqueue - jr .leveljinglemaybe + jp .leveljinglemaybe ; Otherwise check the second digit of wCLevel. : ld hl, hCLevel+1 @@ -363,6 +363,62 @@ LevelUp:: ld hl, hNLevel+1 ld [hl], a + ; Check for regrets or cools + ; Make sure we are at level *70-*78 and that we didn't check for the cool already +.checkcool + ld a, [wSpeedCurveState] + cp a, SCURVE_TGM3 + jr nz, .bellmaybe + + ld a, [wCOOLIsActive] + cp a, 1 + jr z, .checkregret + ld a, [hCLevel+CLEVEL_TENS] + cp a, 7 + jr nz, .checkregret + ld a, [hCLevel+CLEVEL_ONES] + cp a, 9 + call c, TGM3COOLHandler + cp a, 1 + jr z, .bellmaybe + +.checkregret + ; Make sure we are at level *00-*05 and that we haven't checked already. Reset the section timer, too. + ld a, [wREGRETChecked] + cp a, 1 + jr z, .bellmaybe + ld a, [hCLevel+CLEVEL_TENS] + cp a, 0 + jr nz, .regretavailable + ld a, [hCLevel+CLEVEL_ONES] + cp a, 6 + call c, TGM3REGRETHandler + ld a, [wSectionTimerReset] + cp a, 1 + jr z, .bellmaybe + +.resetsectiontimer + ld a, [hCLevel+CLEVEL_HUNDREDS] + ld b, a + ld a, [hCLevel+CLEVEL_THOUSANDS] + swap a + or b + cp a, $00 + jr z, .regretavailable + ld a, [hCLevel+CLEVEL_TENS] + cp a, 0 + jr nz, .regretavailable + xor a, a + ld [wSectionMinutes], a + ld [wSectionSeconds], a + ld [wSectionFrames], a + inc a + ld [wSectionTimerReset], a + +.regretavailable + xor a, a + ld [wREGRETChecked], a + .bellmaybe ; If the last two digits of wCLevel are 99, play the bell. ld hl, hCLevel+2 diff --git a/src/main.asm b/src/main.asm index c3bee23..75237d8 100644 --- a/src/main.asm +++ b/src/main.asm @@ -116,6 +116,7 @@ EventLoop:: ; Wrangle inputs and timers at the start of every frame. call GetInput call HandleTimers + call HandleSectionTimers ; Call the current state's event handler. ld hl, .eventloopjumps diff --git a/src/res/other_data.inc b/src/res/other_data.inc index c7b95a4..128c60d 100644 --- a/src/res/other_data.inc +++ b/src/res/other_data.inc @@ -607,10 +607,10 @@ sTGM3SpeedCurveEnd:: sTGM3SpeedCurveSpecialData:: dw $FFFF ; When do we get bones? - dw 1299 ; When do blocks turn invisible? - dw 1299 ; When is the hard kill screen? - dw $1299 ; Same but in BCD. - dw 1298 ; If the last level lock isn't at x99, where is it? + dw 999 ; When do blocks turn invisible? + dw 999 ; When is the hard kill screen? + dw $0999 ; Same but in BCD. + dw 998 ; If the last level lock isn't at x99, where is it? dw 3600 ; How long does the staff roll last after the kill screen, in frames. db $00 ; Big mode in staff roll? @@ -701,7 +701,7 @@ sSHIRSpeedCurveEnd:: dw $FFFF sSHIRSpeedCurveSpecialData:: - dw 900 ; When do we get bones? + dw 1000 ; When do we get bones? dw $FFFF ; When do blocks turn invisible? dw 1300 ; When is the hard kill screen? dw $1300 ; Same but in BCD. diff --git a/src/state_gameplay.asm b/src/state_gameplay.asm index f9f553a..1dec058 100644 --- a/src/state_gameplay.asm +++ b/src/state_gameplay.asm @@ -94,8 +94,6 @@ SwitchToGameplayB: jr z, .ungraded cp a, SCURVE_MYCO jr z, .ungraded - cp a, SCURVE_TGM3 ; TODO: Remove when this one has grades. - jr z, .ungraded .graded ld de, sGameplayTileMap diff --git a/src/time.asm b/src/time.asm index 8f97242..b9d9d90 100644 --- a/src/time.asm +++ b/src/time.asm @@ -31,8 +31,12 @@ SECTION "Time Variables", WRAM0 wMinutes:: ds 1 wSeconds:: ds 1 wFrames:: ds 1 +wSectionMinutes:: ds 1 +wSectionSeconds:: ds 1 +wSectionFrames:: ds 1 wCountDown:: ds 2 wCountDownZero:: ds 1 +wSectionTimerReset:: ds 1 SECTION "Time Data", ROM0 @@ -61,6 +65,9 @@ TimeInit:: ld [wFrames], a ld [wCountDown], a ld [wCountDown+1], a + ld [wSectionMinutes], a + ld [wSectionSeconds], a + ld [wSectionFrames], a ld a , $FF ld [wCountDownZero], a ld a, TACF_262KHZ | TACF_START @@ -86,6 +93,9 @@ ResetGameTime:: ld [wMinutes], a ld [wSeconds], a ld [wFrames], a + ld [wSectionMinutes], a + ld [wSectionSeconds], a + ld [wSectionFrames], a ret ; Checks if the minute-second timer has reached a certain value. @@ -198,4 +208,88 @@ HandleTimers:: ret +CheckCOOL_REGRET:: + ; Okay if minutes are less than max minutes. + ld a, [wSectionMinutes] + cp a, b + jr c, .success + + ; Check seconds if minutes are equal. + jr nz, .failure + + ; Okay if seconds are less than max seconds. + ld a, [wSectionSeconds] + cp a, c + jr c, .success + + ; Check frames if seconds are equal. + jr nz, .failure + + ; Okay if frames are exactly 0. + ld a, [wSectionFrames] + cp a, 0 + jr z, .success + +.failure + xor a, a + ret + +.success + ld a, $FF + ret + + +HandleSectionTimers:: + ldh a, [hMode] + cp a, MODE_PAUSED + ret z + cp a, MODE_GAME_OVER + ret z + cp a, MODE_PRE_GAME_OVER + ret z + + ld a, [wKillScreenActive] + cp a, $FF + ret z + + ld a, [hCLevel+CLEVEL_ONES] + cp a, 6 + jr c, .continue + xor a, a + ld [wSectionTimerReset], a +.continue + + ld a, [wSectionMinutes] + cp a, 99 + jr nz, .sectiongo + ld a, [wSectionSeconds] + cp a, 59 + jr nz, .sectiongo + ld a, [wSectionFrames] + cp a, 59 + ret z + +.sectiongo + ld a, [wSectionFrames] + inc a + ld [wSectionFrames], a + cp a, 60 + ret nz + + xor a, a + ld [wSectionFrames], a + ld a, [wSectionSeconds] + inc a + ld [wSectionSeconds], a + cp a, 60 + ret nz + + xor a, a + ld [wSectionSeconds], a + ld a, [wSectionMinutes] + inc a + ld [wSectionMinutes], a + ret + + ENDC