Add level locking.
This commit is contained in:
		
							parent
							
								
									c9e5eafde6
								
							
						
					
					
						commit
						41f78c511f
					
				
							
								
								
									
										
											BIN
										
									
								
								bin/DMGTRIS.GBC
								
								
								
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/DMGTRIS.GBC
								
								
								
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										621
									
								
								bin/DMGTRIS.map
								
								
								
								
							
							
						
						
									
										621
									
								
								bin/DMGTRIS.map
								
								
								
								
							| 
						 | 
					@ -174,7 +174,7 @@ ROM0 bank #0:
 | 
				
			||||||
	         $1c84 = GradeRendering.mo
 | 
						         $1c84 = GradeRendering.mo
 | 
				
			||||||
	         $1c8a = GradeRendering.mm
 | 
						         $1c8a = GradeRendering.mm
 | 
				
			||||||
	         $1c90 = GradeRendering.gmgrade
 | 
						         $1c90 = GradeRendering.gmgrade
 | 
				
			||||||
	SECTION: $1c9b-$2018 ($037e bytes) ["Grading Functions"]
 | 
						SECTION: $1c9b-$205a ($03c0 bytes) ["Grading Functions"]
 | 
				
			||||||
	         $1c9b = GradeInit
 | 
						         $1c9b = GradeInit
 | 
				
			||||||
	         $1cc6 = GradeInit.grade9start
 | 
						         $1cc6 = GradeInit.grade9start
 | 
				
			||||||
	         $1ccb = GradeInit.end
 | 
						         $1ccb = GradeInit.end
 | 
				
			||||||
| 
						 | 
					@ -188,281 +188,283 @@ ROM0 bank #0:
 | 
				
			||||||
	         $1d49 = DrawGradeProgressDMGT
 | 
						         $1d49 = DrawGradeProgressDMGT
 | 
				
			||||||
	         $1d55 = !0
 | 
						         $1d55 = !0
 | 
				
			||||||
	         $1d64 = UpdateGradeDMGT
 | 
						         $1d64 = UpdateGradeDMGT
 | 
				
			||||||
	         $1d82 = UpdateGradeDMGT.checklineclears
 | 
						         $1d95 = UpdateGradeDMGT.checklineclears
 | 
				
			||||||
	         $1d9c = UpdateGradeDMGT.clearrate
 | 
						         $1daf = UpdateGradeDMGT.clearrate
 | 
				
			||||||
	         $1dad = UpdateGradeDMGT.combomult
 | 
						         $1dc0 = UpdateGradeDMGT.combomult
 | 
				
			||||||
	         $1dba = UpdateGradeDMGT.combo10
 | 
						         $1dcd = UpdateGradeDMGT.combo10
 | 
				
			||||||
	         $1dcb = UpdateGradeDMGT.combo5
 | 
						         $1dde = UpdateGradeDMGT.combo5
 | 
				
			||||||
	         $1ddc = UpdateGradeDMGT.combo1
 | 
						         $1def = UpdateGradeDMGT.combo1
 | 
				
			||||||
	         $1deb = UpdateGradeDMGT.prelevel
 | 
						         $1dfe = UpdateGradeDMGT.prelevel
 | 
				
			||||||
	         $1dfa = UpdateGradeDMGT.single
 | 
						         $1e0d = UpdateGradeDMGT.single
 | 
				
			||||||
	         $1e0a = UpdateGradeDMGT.double
 | 
						         $1e1d = UpdateGradeDMGT.double
 | 
				
			||||||
	         $1e1b = UpdateGradeDMGT.adddonce
 | 
						         $1e2e = UpdateGradeDMGT.adddonce
 | 
				
			||||||
	         $1e1f = UpdateGradeDMGT.triple
 | 
						         $1e32 = UpdateGradeDMGT.triple
 | 
				
			||||||
	         $1e30 = UpdateGradeDMGT.addtonce
 | 
						         $1e43 = UpdateGradeDMGT.addtonce
 | 
				
			||||||
	         $1e34 = UpdateGradeDMGT.tetris
 | 
						         $1e47 = UpdateGradeDMGT.tetris
 | 
				
			||||||
	         $1e38 = UpdateGradeDMGT.levelmult
 | 
						         $1e4b = UpdateGradeDMGT.levelmult
 | 
				
			||||||
	         $1e50 = UpdateGradeDMGT.mult5
 | 
						         $1e63 = UpdateGradeDMGT.mult5
 | 
				
			||||||
	         $1e57 = UpdateGradeDMGT.mult4
 | 
						         $1e6a = UpdateGradeDMGT.mult4
 | 
				
			||||||
	         $1e5d = UpdateGradeDMGT.mult3
 | 
						         $1e70 = UpdateGradeDMGT.mult3
 | 
				
			||||||
	         $1e62 = UpdateGradeDMGT.mult2
 | 
						         $1e75 = UpdateGradeDMGT.mult2
 | 
				
			||||||
	         $1e66 = UpdateGradeDMGT.mult1
 | 
						         $1e79 = UpdateGradeDMGT.mult1
 | 
				
			||||||
	         $1e67 = UpdateGradeDMGT.processgrade
 | 
						         $1e7a = UpdateGradeDMGT.processgrade
 | 
				
			||||||
	         $1e90 = UpdateGradeDMGT.increasegrademaybe
 | 
						         $1ea3 = UpdateGradeDMGT.increasegrademaybe
 | 
				
			||||||
	         $1eb4 = UpdateGradeDMGT.gotgm
 | 
						         $1ec7 = UpdateGradeDMGT.gotgm
 | 
				
			||||||
	         $1ec2 = DecayGradeDMGT
 | 
						         $1ed5 = DecayGradeDMGT
 | 
				
			||||||
	         $1ee6 = DecayGradeDMGT.nodecay
 | 
						         $1ef9 = DecayGradeDMGT.nodecay
 | 
				
			||||||
	         $1eed = DecayGradeDMGT.decay
 | 
						         $1f00 = DecayGradeDMGT.decay
 | 
				
			||||||
	         $1efb = UpdateGradeTGM1
 | 
						         $1f0e = UpdateGradeTGM1
 | 
				
			||||||
	         $1f05 = UpdateGradeTGM1.trygradeup
 | 
						         $1f18 = UpdateGradeTGM1.trygradeup
 | 
				
			||||||
	         $1f1f = UpdateGradeTGM1.increasegrade
 | 
						         $1f32 = UpdateGradeTGM1.increasegrade
 | 
				
			||||||
	         $1f34 = UpdateGradeTGM1.skipjingle
 | 
						         $1f47 = UpdateGradeTGM1.skipjingle
 | 
				
			||||||
	         $1f41 = UpdateGradeTGM1.maybegm
 | 
						         $1f54 = UpdateGradeTGM1.maybegm
 | 
				
			||||||
	         $1f5a = UpdateGradeDEAT
 | 
						         $1f6d = UpdateGradeDEAT
 | 
				
			||||||
	         $1f66 = UpdateGradeDEAT.notgm
 | 
						         $1f79 = UpdateGradeDEAT.notgm
 | 
				
			||||||
	         $1f82 = UpdateGradeDEAT.notm
 | 
						         $1f95 = UpdateGradeDEAT.notm
 | 
				
			||||||
	         $1fa5 = UpdateGradeDEAT.disqualify
 | 
						         $1fb8 = UpdateGradeDEAT.disqualify
 | 
				
			||||||
	         $1fae = UpdateGradeSHIR
 | 
						         $1fce = UpdateGradeSHIR
 | 
				
			||||||
	         $1ff1 = UpdateGradeSHIR.s5torikan
 | 
						         $2011 = UpdateGradeSHIR.s5torikan
 | 
				
			||||||
	         $2001 = UpdateGradeSHIR.s10torikan
 | 
						         $2021 = UpdateGradeSHIR.s10torikan
 | 
				
			||||||
	         $2010 = UpdateGradeSHIR.disqualify
 | 
						         $2030 = UpdateGradeSHIR.disqualify
 | 
				
			||||||
	SECTION: $2019-$22ce ($02b6 bytes) ["Grading Data"]
 | 
						         $203f = UpdateGradeSHIR.l1000
 | 
				
			||||||
	         $2019 = sTGM1GradeScores
 | 
						         $204d = UpdateGradeSHIR.l500
 | 
				
			||||||
	         $203b = sTGM3InternalGradeSystem
 | 
						SECTION: $205b-$2310 ($02b6 bytes) ["Grading Data"]
 | 
				
			||||||
	         $20db = sTGM3GradeBoosts
 | 
						         $205b = sTGM1GradeScores
 | 
				
			||||||
	         $20fa = sTGM3LevelMultiplier
 | 
						         $207d = sTGM3InternalGradeSystem
 | 
				
			||||||
	         $20fe = sTGM3BaselineCOOL
 | 
						         $211d = sTGM3GradeBoosts
 | 
				
			||||||
	         $2107 = sTGM3REGRETConditions
 | 
						         $213c = sTGM3LevelMultiplier
 | 
				
			||||||
	         $211b = sDMGTGrading
 | 
						         $2140 = sTGM3BaselineCOOL
 | 
				
			||||||
	         $21cf = sDMGTGaugeLUT
 | 
						         $2149 = sTGM3REGRETConditions
 | 
				
			||||||
	SECTION: $22cf-$2568 ($029a bytes) ["Level Functions"]
 | 
						         $215d = sDMGTGrading
 | 
				
			||||||
	         $22cf = LevelInit
 | 
						         $2211 = sDMGTGaugeLUT
 | 
				
			||||||
	         $232b = SpecialLevelInit
 | 
						SECTION: $2311-$25b3 ($02a3 bytes) ["Level Functions"]
 | 
				
			||||||
	         $2339 = SpecialLevelInit.jumps
 | 
						         $2311 = LevelInit
 | 
				
			||||||
	         $234e = SpecialLevelInit.dmgt
 | 
						         $2370 = SpecialLevelInit
 | 
				
			||||||
	         $2353 = SpecialLevelInit.tgm1
 | 
						         $237e = SpecialLevelInit.jumps
 | 
				
			||||||
	         $2358 = SpecialLevelInit.tgm3
 | 
						         $2393 = SpecialLevelInit.dmgt
 | 
				
			||||||
	         $235d = SpecialLevelInit.deat
 | 
						         $2398 = SpecialLevelInit.tgm1
 | 
				
			||||||
	         $2362 = SpecialLevelInit.shir
 | 
						         $239d = SpecialLevelInit.tgm3
 | 
				
			||||||
	         $2367 = SpecialLevelInit.chil
 | 
						         $23a2 = SpecialLevelInit.deat
 | 
				
			||||||
	         $236c = SpecialLevelInit.myco
 | 
						         $23a7 = SpecialLevelInit.shir
 | 
				
			||||||
	         $2371 = SpecialLevelInit.loaddata
 | 
						         $23ac = SpecialLevelInit.chil
 | 
				
			||||||
	         $238a = LevelUp
 | 
						         $23b1 = SpecialLevelInit.myco
 | 
				
			||||||
	         $23ae = LevelUp.doit
 | 
						         $23b6 = SpecialLevelInit.loaddata
 | 
				
			||||||
	         $23f8 = LevelUp.checknlevel
 | 
						         $23cf = LevelUp
 | 
				
			||||||
	         $2426 = !0
 | 
						         $23f9 = LevelUp.doit
 | 
				
			||||||
	         $243e = !1
 | 
						         $2443 = LevelUp.checknlevel
 | 
				
			||||||
	         $2447 = LevelUp.bellmaybe
 | 
						         $2471 = !0
 | 
				
			||||||
	         $2459 = LevelUp.leveljinglemaybe
 | 
						         $2489 = !1
 | 
				
			||||||
	         $2466 = LevelUp.checkspeedup
 | 
						         $2492 = LevelUp.bellmaybe
 | 
				
			||||||
	         $247a = !2
 | 
						         $24a4 = LevelUp.leveljinglemaybe
 | 
				
			||||||
	         $2487 = !3
 | 
						         $24b1 = LevelUp.checkspeedup
 | 
				
			||||||
	         $2498 = !4
 | 
						         $24c5 = !2
 | 
				
			||||||
	         $24a5 = DoSpeedUp
 | 
						         $24d2 = !3
 | 
				
			||||||
	         $24e6 = CheckSpecialLevelConditions
 | 
						         $24e3 = !4
 | 
				
			||||||
	         $24ec = CheckSpecialLevelConditions.bones
 | 
						         $24f0 = DoSpeedUp
 | 
				
			||||||
	         $2501 = CheckSpecialLevelConditions.enterthebonezone
 | 
						         $2531 = CheckSpecialLevelConditions
 | 
				
			||||||
	         $2506 = CheckSpecialLevelConditions.invis
 | 
						         $2537 = CheckSpecialLevelConditions.bones
 | 
				
			||||||
	         $251b = CheckSpecialLevelConditions.vanishoxyaction
 | 
						         $254c = CheckSpecialLevelConditions.enterthebonezone
 | 
				
			||||||
	         $2520 = CheckSpecialLevelConditions.killscreen
 | 
						         $2551 = CheckSpecialLevelConditions.invis
 | 
				
			||||||
	         $2531 = CheckSpecialLevelConditions.rip
 | 
						         $2566 = CheckSpecialLevelConditions.vanishoxyaction
 | 
				
			||||||
	         $254a = TriggerKillScreen
 | 
						         $256b = CheckSpecialLevelConditions.killscreen
 | 
				
			||||||
	SECTION: $2569-$2802 ($029a bytes) ["SFX Functions"]
 | 
						         $257c = CheckSpecialLevelConditions.rip
 | 
				
			||||||
	         $2569 = SFXInit
 | 
						         $2595 = TriggerKillScreen
 | 
				
			||||||
	         $258b = SFXPopQueue
 | 
						SECTION: $25b4-$284d ($029a bytes) ["SFX Functions"]
 | 
				
			||||||
	         $25a0 = SFXPushQueue
 | 
						         $25b4 = SFXInit
 | 
				
			||||||
	         $25b1 = SFXProcessQueue
 | 
						         $25d6 = SFXPopQueue
 | 
				
			||||||
	         $25c2 = !0
 | 
						         $25eb = SFXPushQueue
 | 
				
			||||||
	         $25dd = !1
 | 
						         $25fc = SFXProcessQueue
 | 
				
			||||||
	         $25df = SFXTriggerNoise
 | 
						         $260d = !0
 | 
				
			||||||
	         $25ec = !2
 | 
						         $2628 = !1
 | 
				
			||||||
	         $25f9 = !3
 | 
						         $262a = SFXTriggerNoise
 | 
				
			||||||
	         $2605 = SFXEnqueue
 | 
						         $2637 = !2
 | 
				
			||||||
	         $261a = SFXEnqueue.findsfx
 | 
						         $2644 = !3
 | 
				
			||||||
	         $262f = !4
 | 
						         $2650 = SFXEnqueue
 | 
				
			||||||
	         $263f = !5
 | 
						         $2665 = SFXEnqueue.findsfx
 | 
				
			||||||
	         $264f = !6
 | 
						         $267a = !4
 | 
				
			||||||
	         $265f = !7
 | 
						         $268a = !5
 | 
				
			||||||
	         $266f = !8
 | 
						         $269a = !6
 | 
				
			||||||
	         $267f = !9
 | 
						         $26aa = !7
 | 
				
			||||||
	         $268f = !10
 | 
						         $26ba = !8
 | 
				
			||||||
	         $269f = !11
 | 
						         $26ca = !9
 | 
				
			||||||
	         $26af = !12
 | 
						         $26da = !10
 | 
				
			||||||
	         $26bf = !13
 | 
						         $26ea = !11
 | 
				
			||||||
	         $26cf = !14
 | 
						         $26fa = !12
 | 
				
			||||||
	         $26df = !15
 | 
						         $270a = !13
 | 
				
			||||||
	         $26ef = !16
 | 
						         $271a = !14
 | 
				
			||||||
	         $26ff = !17
 | 
						         $272a = !15
 | 
				
			||||||
	         $270f = !18
 | 
						         $273a = !16
 | 
				
			||||||
	         $271e = !19
 | 
						         $274a = !17
 | 
				
			||||||
	         $272d = !20
 | 
						         $275a = !18
 | 
				
			||||||
	         $273c = !21
 | 
						         $2769 = !19
 | 
				
			||||||
	         $274b = !22
 | 
						         $2778 = !20
 | 
				
			||||||
	         $2759 = !23
 | 
						         $2787 = !21
 | 
				
			||||||
	         $2767 = !24
 | 
						         $2796 = !22
 | 
				
			||||||
	         $2774 = SFXKill
 | 
						         $27a4 = !23
 | 
				
			||||||
	         $27a1 = SFXPlayNoise
 | 
						         $27b2 = !24
 | 
				
			||||||
	         $27ac = SFXPlayNoise.noisereg
 | 
						         $27bf = SFXKill
 | 
				
			||||||
	         $27b9 = !25
 | 
						         $27ec = SFXPlayNoise
 | 
				
			||||||
	         $27c3 = SFXPlayNoise.savenoiseplayhead
 | 
						         $27f7 = SFXPlayNoise.noisereg
 | 
				
			||||||
	         $27cc = SFXPlay
 | 
						         $2804 = !25
 | 
				
			||||||
	         $27d7 = !26
 | 
						         $280e = SFXPlayNoise.savenoiseplayhead
 | 
				
			||||||
	         $27da = SFXPlay.play
 | 
						         $2817 = SFXPlay
 | 
				
			||||||
	         $27e6 = SFXPlay.getRegister
 | 
						         $2822 = !26
 | 
				
			||||||
	         $27f0 = !27
 | 
						         $2825 = SFXPlay.play
 | 
				
			||||||
	         $27fa = SFXPlay.savePlayhead
 | 
						         $2831 = SFXPlay.getRegister
 | 
				
			||||||
	SECTION: $2803-$2a33 ($0231 bytes) ["RNG Functions"]
 | 
						         $283b = !27
 | 
				
			||||||
	         $2803 = HarvestEntropy
 | 
						         $2845 = SFXPlay.savePlayhead
 | 
				
			||||||
	         $2809 = HarvestEntropy.loop
 | 
						SECTION: $284e-$2a7e ($0231 bytes) ["RNG Functions"]
 | 
				
			||||||
	         $282a = RNGInit
 | 
						         $284e = HarvestEntropy
 | 
				
			||||||
	         $2860 = !0
 | 
						         $2854 = HarvestEntropy.loop
 | 
				
			||||||
	         $2890 = RNGInit.complexinit
 | 
						         $2875 = RNGInit
 | 
				
			||||||
	         $28a7 = !1
 | 
						         $28ab = !0
 | 
				
			||||||
	         $28c2 = ShiftHistory
 | 
						         $28db = RNGInit.complexinit
 | 
				
			||||||
	         $28df = GetNextHellPiece
 | 
						         $28f2 = !1
 | 
				
			||||||
	         $28e4 = GetNextTGM1Piece
 | 
						         $290d = ShiftHistory
 | 
				
			||||||
	         $28e7 = !2
 | 
						         $292a = GetNextHellPiece
 | 
				
			||||||
	         $28ff = !3
 | 
						         $292f = GetNextTGM1Piece
 | 
				
			||||||
	         $2901 = GetNextTGM2Piece
 | 
						         $2932 = !2
 | 
				
			||||||
	         $2904 = !4
 | 
						         $294a = !3
 | 
				
			||||||
	         $291c = !5
 | 
						         $294c = GetNextTGM2Piece
 | 
				
			||||||
	         $291e = GetNextNesPiece
 | 
						         $294f = !4
 | 
				
			||||||
	         $292c = GetNextTGM3Piece
 | 
						         $2967 = !5
 | 
				
			||||||
	         $292f = !6
 | 
						         $2969 = GetNextNesPiece
 | 
				
			||||||
	         $2952 = !7
 | 
						         $2977 = GetNextTGM3Piece
 | 
				
			||||||
	         $2955 = !8
 | 
						         $297a = !6
 | 
				
			||||||
	         $2965 = !9
 | 
						         $299d = !7
 | 
				
			||||||
	         $296f = !10
 | 
						         $29a0 = !8
 | 
				
			||||||
	         $297d = !11
 | 
						         $29b0 = !9
 | 
				
			||||||
	         $298c = !12
 | 
						         $29ba = !10
 | 
				
			||||||
	         $2998 = !13
 | 
						         $29c8 = !11
 | 
				
			||||||
	         $29a4 = !14
 | 
						         $29d7 = !12
 | 
				
			||||||
	         $29b0 = !15
 | 
						         $29e3 = !13
 | 
				
			||||||
	         $29bc = !16
 | 
						         $29ef = !14
 | 
				
			||||||
	         $29c8 = !17
 | 
						         $29fb = !15
 | 
				
			||||||
	         $29d4 = !18
 | 
						         $2a07 = !16
 | 
				
			||||||
	         $29e3 = GetNextPiece
 | 
						         $2a13 = !17
 | 
				
			||||||
	         $29f1 = GetNextPiece.nextpiecejumps
 | 
						         $2a1f = !18
 | 
				
			||||||
	         $2a00 = Next35Piece
 | 
						         $2a2e = GetNextPiece
 | 
				
			||||||
	         $2a00 = !19
 | 
						         $2a3c = GetNextPiece.nextpiecejumps
 | 
				
			||||||
	         $2a0a = Next7Piece
 | 
						         $2a4b = Next35Piece
 | 
				
			||||||
	         $2a0a = !20
 | 
						         $2a4b = !19
 | 
				
			||||||
	         $2a14 = NextByte
 | 
						         $2a55 = Next7Piece
 | 
				
			||||||
	SECTION: $2a34-$2b7d ($014a bytes) ["Progress Data"]
 | 
						         $2a55 = !20
 | 
				
			||||||
	         $2a34 = sProgressData
 | 
						         $2a5f = NextByte
 | 
				
			||||||
	SECTION: $2b7e-$2c5d ($00e0 bytes) ["Score Functions"]
 | 
						SECTION: $2a7f-$2bc8 ($014a bytes) ["Progress Data"]
 | 
				
			||||||
	         $2b7e = ScoreInit
 | 
						         $2a7f = sProgressData
 | 
				
			||||||
	         $2ba6 = IncreaseScore
 | 
						SECTION: $2bc9-$2ca8 ($00e0 bytes) ["Score Functions"]
 | 
				
			||||||
	         $2bde = IncreaseScore.doConvert
 | 
						         $2bc9 = ScoreInit
 | 
				
			||||||
	         $2be0 = !0
 | 
						         $2bf1 = IncreaseScore
 | 
				
			||||||
	         $2bf6 = IncreaseScore.carry
 | 
						         $2c29 = IncreaseScore.doConvert
 | 
				
			||||||
	         $2bf8 = IncreaseScore.postConvert
 | 
						         $2c2b = !0
 | 
				
			||||||
	         $2c05 = !1
 | 
						         $2c41 = IncreaseScore.carry
 | 
				
			||||||
	         $2c0c = IncreaseScore.preAddDigit
 | 
						         $2c43 = IncreaseScore.postConvert
 | 
				
			||||||
	         $2c34 = IncreaseScore.addDigit
 | 
						         $2c50 = !1
 | 
				
			||||||
	         $2c4a = IncreaseScore.nextDigit
 | 
						         $2c57 = IncreaseScore.preAddDigit
 | 
				
			||||||
	SECTION: $2c5e-$2d2a ($00cd bytes) ["Input Functions"]
 | 
						         $2c7f = IncreaseScore.addDigit
 | 
				
			||||||
	         $2c5e = InputInit
 | 
						         $2c95 = IncreaseScore.nextDigit
 | 
				
			||||||
	         $2c70 = GetInput
 | 
						SECTION: $2ca9-$2d75 ($00cd bytes) ["Input Functions"]
 | 
				
			||||||
	         $2c70 = GetInput.btns
 | 
						         $2ca9 = InputInit
 | 
				
			||||||
	         $2c7d = GetInput.readA
 | 
						         $2cbb = GetInput
 | 
				
			||||||
	         $2c81 = GetInput.setA
 | 
						         $2cbb = GetInput.btns
 | 
				
			||||||
	         $2c8c = GetInput.clearA
 | 
						         $2cc8 = GetInput.readA
 | 
				
			||||||
	         $2c8f = GetInput.readB
 | 
						         $2ccc = GetInput.setA
 | 
				
			||||||
	         $2c93 = GetInput.setB
 | 
						         $2cd7 = GetInput.clearA
 | 
				
			||||||
	         $2c9e = GetInput.clearB
 | 
						         $2cda = GetInput.readB
 | 
				
			||||||
	         $2ca1 = GetInput.readSelect
 | 
						         $2cde = GetInput.setB
 | 
				
			||||||
	         $2ca5 = GetInput.setSelect
 | 
						         $2ce9 = GetInput.clearB
 | 
				
			||||||
	         $2cb0 = GetInput.clearSelect
 | 
						         $2cec = GetInput.readSelect
 | 
				
			||||||
	         $2cb3 = GetInput.readStart
 | 
						         $2cf0 = GetInput.setSelect
 | 
				
			||||||
	         $2cb7 = GetInput.setStart
 | 
						         $2cfb = GetInput.clearSelect
 | 
				
			||||||
	         $2cc2 = GetInput.clearStart
 | 
						         $2cfe = GetInput.readStart
 | 
				
			||||||
	         $2cc5 = GetInput.dpad
 | 
						         $2d02 = GetInput.setStart
 | 
				
			||||||
	         $2cd2 = GetInput.readUp
 | 
						         $2d0d = GetInput.clearStart
 | 
				
			||||||
	         $2cd6 = GetInput.setUp
 | 
						         $2d10 = GetInput.dpad
 | 
				
			||||||
	         $2ce1 = GetInput.clearUp
 | 
						         $2d1d = GetInput.readUp
 | 
				
			||||||
	         $2ce4 = GetInput.readDown
 | 
						         $2d21 = GetInput.setUp
 | 
				
			||||||
	         $2ce8 = GetInput.setDown
 | 
						         $2d2c = GetInput.clearUp
 | 
				
			||||||
	         $2cf3 = GetInput.clearDown
 | 
						         $2d2f = GetInput.readDown
 | 
				
			||||||
	         $2cf6 = GetInput.readLeft
 | 
						         $2d33 = GetInput.setDown
 | 
				
			||||||
	         $2cfa = GetInput.setLeft
 | 
						         $2d3e = GetInput.clearDown
 | 
				
			||||||
	         $2d05 = GetInput.clearLeft
 | 
						         $2d41 = GetInput.readLeft
 | 
				
			||||||
	         $2d08 = GetInput.readRight
 | 
						         $2d45 = GetInput.setLeft
 | 
				
			||||||
	         $2d0c = GetInput.setRight
 | 
						         $2d50 = GetInput.clearLeft
 | 
				
			||||||
	         $2d17 = GetInput.clearRight
 | 
						         $2d53 = GetInput.readRight
 | 
				
			||||||
	         $2d1a = GetInput.priorities
 | 
						         $2d57 = GetInput.setRight
 | 
				
			||||||
	         $2d25 = GetInput.zero
 | 
						         $2d62 = GetInput.clearRight
 | 
				
			||||||
	SECTION: $2d2b-$2de1 ($00b7 bytes) ["SRAM Functions"]
 | 
						         $2d65 = GetInput.priorities
 | 
				
			||||||
	         $2d2b = RestoreSRAM
 | 
						         $2d70 = GetInput.zero
 | 
				
			||||||
	         $2d84 = InitializeSRAM
 | 
						SECTION: $2d76-$2e2c ($00b7 bytes) ["SRAM Functions"]
 | 
				
			||||||
	SECTION: $2de2-$2e93 ($00b2 bytes) ["Progress Functions"]
 | 
						         $2d76 = RestoreSRAM
 | 
				
			||||||
	         $2de2 = SetProgress
 | 
						         $2dcf = InitializeSRAM
 | 
				
			||||||
	         $2ded = SetProgress.loop
 | 
						SECTION: $2e2d-$2ede ($00b2 bytes) ["Progress Functions"]
 | 
				
			||||||
	         $2df1 = SetProgress.correct
 | 
						         $2e2d = SetProgress
 | 
				
			||||||
	         $2e18 = SetProgress.wvr_u1
 | 
						         $2e38 = SetProgress.loop
 | 
				
			||||||
	         $2e24 = SetProgress.wvr_u2
 | 
						         $2e3c = SetProgress.correct
 | 
				
			||||||
	         $2e32 = SetProgress.wvr_u3
 | 
						         $2e63 = SetProgress.wvr_u1
 | 
				
			||||||
	         $2e3e = SetProgress.wvr_u4
 | 
						         $2e6f = SetProgress.wvr_u2
 | 
				
			||||||
	         $2e4c = SetProgress.wvr_u5
 | 
						         $2e7d = SetProgress.wvr_u3
 | 
				
			||||||
	         $2e58 = SetProgress.wvr_u6
 | 
						         $2e89 = SetProgress.wvr_u4
 | 
				
			||||||
	         $2e66 = SetProgress.wvr_u7
 | 
						         $2e97 = SetProgress.wvr_u5
 | 
				
			||||||
	         $2e72 = SetProgress.wvr_u8
 | 
						         $2ea3 = SetProgress.wvr_u6
 | 
				
			||||||
	         $2e80 = SetProgress.wvr_u9
 | 
						         $2eb1 = SetProgress.wvr_u7
 | 
				
			||||||
	         $2e8c = SetProgress.wvr_u10
 | 
						         $2ebd = SetProgress.wvr_u8
 | 
				
			||||||
	SECTION: $2e94-$2f2b ($0098 bytes) ["Code Entry Point"]
 | 
						         $2ecb = SetProgress.wvr_u9
 | 
				
			||||||
	         $2e94 = Main
 | 
						         $2ed7 = SetProgress.wvr_u10
 | 
				
			||||||
	         $2ebd = Main.notgbc
 | 
						SECTION: $2edf-$2f76 ($0098 bytes) ["Code Entry Point"]
 | 
				
			||||||
	         $2ec3 = Main.wvr_u1
 | 
						         $2edf = Main
 | 
				
			||||||
	         $2ef0 = EventLoop
 | 
						         $2f08 = Main.notgbc
 | 
				
			||||||
	         $2f06 = EventLoop.eventloopjumps
 | 
						         $2f0e = Main.wvr_u1
 | 
				
			||||||
	         $2f0f = EventLoopPostHandler
 | 
						         $2f3b = EventLoop
 | 
				
			||||||
	         $2f11 = EventLoopPostHandler.wvb_u2
 | 
						         $2f51 = EventLoop.eventloopjumps
 | 
				
			||||||
	         $2f23 = EventLoopPostHandler.vblankjumps
 | 
						         $2f5a = EventLoopPostHandler
 | 
				
			||||||
	SECTION: $2f2c-$2fb3 ($0088 bytes) ["Time Functions"]
 | 
						         $2f5c = EventLoopPostHandler.wvb_u2
 | 
				
			||||||
	         $2f2c = TimeInit
 | 
						         $2f6e = EventLoopPostHandler.vblankjumps
 | 
				
			||||||
	         $2f41 = ResetGameTime
 | 
						SECTION: $2f77-$2ffe ($0088 bytes) ["Time Functions"]
 | 
				
			||||||
	         $2f4c = CheckTorikan
 | 
						         $2f77 = TimeInit
 | 
				
			||||||
	         $2f63 = CheckTorikan.failure
 | 
						         $2f8c = ResetGameTime
 | 
				
			||||||
	         $2f65 = CheckTorikan.success
 | 
						         $2f97 = CheckTorikan
 | 
				
			||||||
	         $2f68 = HandleTimers
 | 
						         $2fae = CheckTorikan.failure
 | 
				
			||||||
	         $2f90 = HandleTimers.go
 | 
						         $2fb0 = CheckTorikan.success
 | 
				
			||||||
	SECTION: $2fb4-$3020 ($006d bytes) ["Title Function Trampolines"]
 | 
						         $2fb3 = HandleTimers
 | 
				
			||||||
	         $2fb4 = SwitchToTitle
 | 
						         $2fdb = HandleTimers.go
 | 
				
			||||||
	         $2fbd = TitleEventLoopHandler
 | 
						SECTION: $2fff-$306b ($006d bytes) ["Title Function Trampolines"]
 | 
				
			||||||
	         $2fc7 = TitleVBlankHandler
 | 
						         $2fff = SwitchToTitle
 | 
				
			||||||
	         $2fd1 = DrawOption6
 | 
						         $3008 = TitleEventLoopHandler
 | 
				
			||||||
	SECTION: $3021-$3072 ($0052 bytes) ["Tile Functions"]
 | 
						         $3012 = TitleVBlankHandler
 | 
				
			||||||
	         $3021 = LoadTitleTiles
 | 
						         $301c = DrawOption6
 | 
				
			||||||
	         $303f = LoadGameplayTiles
 | 
						SECTION: $306c-$30bd ($0052 bytes) ["Tile Functions"]
 | 
				
			||||||
	         $3055 = LoadGameplayTiles.gbc
 | 
						         $306c = LoadTitleTiles
 | 
				
			||||||
	         $3064 = LoadGameplayTiles.dmg
 | 
						         $308a = LoadGameplayTiles
 | 
				
			||||||
	SECTION: $3073-$30ae ($003c bytes) ["Time Data"]
 | 
						         $30a0 = LoadGameplayTiles.gbc
 | 
				
			||||||
	         $3073 = sFramesToCS
 | 
						         $30af = LoadGameplayTiles.dmg
 | 
				
			||||||
	SECTION: $30af-$30dc ($002e bytes) ["Memory Functions"]
 | 
						SECTION: $30be-$30f9 ($003c bytes) ["Time Data"]
 | 
				
			||||||
	         $30af = UnsafeMemCopy
 | 
						         $30be = sFramesToCS
 | 
				
			||||||
	         $30b8 = SafeMemCopy.wvr_u1
 | 
						SECTION: $30fa-$3127 ($002e bytes) ["Memory Functions"]
 | 
				
			||||||
	         $30b8 = SafeMemCopy
 | 
						         $30fa = UnsafeMemCopy
 | 
				
			||||||
	         $30c7 = UnsafeMemSet
 | 
						         $3103 = SafeMemCopy.wvr_u1
 | 
				
			||||||
	         $30cf = SafeMemSet
 | 
						         $3103 = SafeMemCopy
 | 
				
			||||||
	         $30cf = SafeMemSet.wvr_u2
 | 
						         $3112 = UnsafeMemSet
 | 
				
			||||||
	SECTION: $30dd-$3102 ($0026 bytes) ["Gameplay Function Trampolines"]
 | 
						         $311a = SafeMemSet
 | 
				
			||||||
	         $30dd = SwitchToGameplay
 | 
						         $311a = SafeMemSet.wvr_u2
 | 
				
			||||||
	         $30e6 = SwitchToGameplayBig
 | 
						SECTION: $3128-$314d ($0026 bytes) ["Gameplay Function Trampolines"]
 | 
				
			||||||
	         $30ef = GamePlayEventLoopHandler
 | 
						         $3128 = SwitchToGameplay
 | 
				
			||||||
	         $30f9 = GamePlayBigEventLoopHandler
 | 
						         $3131 = SwitchToGameplayBig
 | 
				
			||||||
	SECTION: $3103-$3124 ($0022 bytes) ["OAM Functions"]
 | 
						         $313a = GamePlayEventLoopHandler
 | 
				
			||||||
	         $3103 = CopyOAMHandler
 | 
						         $3144 = GamePlayBigEventLoopHandler
 | 
				
			||||||
	         $310f = ClearOAM
 | 
						SECTION: $314e-$316f ($0022 bytes) ["OAM Functions"]
 | 
				
			||||||
	SECTION: $3125-$313d ($0019 bytes) ["Interrupt Initialization Functions"]
 | 
						         $314e = CopyOAMHandler
 | 
				
			||||||
	         $3125 = IntrInit
 | 
						         $315a = ClearOAM
 | 
				
			||||||
	         $3129 = InitializeLCDCInterrupt
 | 
						SECTION: $3170-$3188 ($0019 bytes) ["Interrupt Initialization Functions"]
 | 
				
			||||||
	SECTION: $313e-$314c ($000f bytes) ["Banking Functions"]
 | 
						         $3170 = IntrInit
 | 
				
			||||||
	         $313e = BankingInit
 | 
						         $3174 = InitializeLCDCInterrupt
 | 
				
			||||||
	SECTION: $314d-$3156 ($000a bytes) ["OAM DMA Code"]
 | 
						SECTION: $3189-$3197 ($000f bytes) ["Banking Functions"]
 | 
				
			||||||
	         $314d = OAMDMA
 | 
						         $3189 = BankingInit
 | 
				
			||||||
	         $3157 = OAMDMAEnd
 | 
						SECTION: $3198-$31a1 ($000a bytes) ["OAM DMA Code"]
 | 
				
			||||||
	EMPTY: $3157-$3fff ($0ea9 bytes)
 | 
						         $3198 = OAMDMA
 | 
				
			||||||
	TOTAL EMPTY: $0eb4 bytes
 | 
						         $31a2 = OAMDMAEnd
 | 
				
			||||||
 | 
						EMPTY: $31a2-$3fff ($0e5e bytes)
 | 
				
			||||||
 | 
						TOTAL EMPTY: $0e69 bytes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ROMX bank #1:
 | 
					ROMX bank #1:
 | 
				
			||||||
	SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"]
 | 
						SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"]
 | 
				
			||||||
| 
						 | 
					@ -2396,37 +2398,38 @@ WRAM0 bank #0:
 | 
				
			||||||
	         $cda4 = wProgress3B2
 | 
						         $cda4 = wProgress3B2
 | 
				
			||||||
	         $cda5 = wProgress4B1
 | 
						         $cda5 = wProgress4B1
 | 
				
			||||||
	         $cda6 = wProgress4B2
 | 
						         $cda6 = wProgress4B2
 | 
				
			||||||
	SECTION: $cda7-$cdaf ($0009 bytes) ["Globals"]
 | 
						SECTION: $cda7-$cdb0 ($000a bytes) ["Level Variables"]
 | 
				
			||||||
	         $cda7 = wSwapABState
 | 
						         $cda7 = wBoneActivationLevel
 | 
				
			||||||
	         $cda8 = wRNGModeState
 | 
						         $cda9 = wInvisActivationLevel
 | 
				
			||||||
	         $cda9 = wRotModeState
 | 
						         $cdab = wKillScreenActivationLevel
 | 
				
			||||||
	         $cdaa = wDropModeState
 | 
						         $cdad = wBonesActive
 | 
				
			||||||
	         $cdab = wSpeedCurveState
 | 
						         $cdae = wInvisActive
 | 
				
			||||||
	         $cdac = wAlways20GState
 | 
						         $cdaf = wKillScreenActive
 | 
				
			||||||
	         $cdad = wInitialA
 | 
						         $cdb0 = wLockLevel
 | 
				
			||||||
	         $cdae = wInitialB
 | 
						SECTION: $cdb1-$cdb9 ($0009 bytes) ["Globals"]
 | 
				
			||||||
	         $cdaf = wInitialC
 | 
						         $cdb1 = wSwapABState
 | 
				
			||||||
	SECTION: $cdb0-$cdb8 ($0009 bytes) ["Level Variables"]
 | 
						         $cdb2 = wRNGModeState
 | 
				
			||||||
	         $cdb0 = wBoneActivationLevel
 | 
						         $cdb3 = wRotModeState
 | 
				
			||||||
	         $cdb2 = wInvisActivationLevel
 | 
						         $cdb4 = wDropModeState
 | 
				
			||||||
	         $cdb4 = wKillScreenActivationLevel
 | 
						         $cdb5 = wSpeedCurveState
 | 
				
			||||||
	         $cdb6 = wBonesActive
 | 
						         $cdb6 = wAlways20GState
 | 
				
			||||||
	         $cdb7 = wInvisActive
 | 
						         $cdb7 = wInitialA
 | 
				
			||||||
	         $cdb8 = wKillScreenActive
 | 
						         $cdb8 = wInitialB
 | 
				
			||||||
	SECTION: $cdb9-$cdbc ($0004 bytes) ["Banking Variables"]
 | 
						         $cdb9 = wInitialC
 | 
				
			||||||
	         $cdb9 = wBankBackup
 | 
						SECTION: $cdba-$cdbd ($0004 bytes) ["Banking Variables"]
 | 
				
			||||||
	SECTION: $cdbd-$cdbf ($0003 bytes) ["GBC Variables"]
 | 
						         $cdba = wBankBackup
 | 
				
			||||||
	         $cdbd = wOuterReps
 | 
						SECTION: $cdbe-$cdc0 ($0003 bytes) ["GBC Variables"]
 | 
				
			||||||
	         $cdbe = wInnerReps
 | 
						         $cdbe = wOuterReps
 | 
				
			||||||
	         $cdbf = wTitlePal
 | 
						         $cdbf = wInnerReps
 | 
				
			||||||
	SECTION: $cdc0-$cdc2 ($0003 bytes) ["Time Variables"]
 | 
						         $cdc0 = wTitlePal
 | 
				
			||||||
	         $cdc0 = wMinutes
 | 
						SECTION: $cdc1-$cdc3 ($0003 bytes) ["Time Variables"]
 | 
				
			||||||
	         $cdc1 = wSeconds
 | 
						         $cdc1 = wMinutes
 | 
				
			||||||
	         $cdc2 = wFrames
 | 
						         $cdc2 = wSeconds
 | 
				
			||||||
	SECTION: $cdc3-$cdc3 ($0001 byte) ["Title Variables"]
 | 
						         $cdc3 = wFrames
 | 
				
			||||||
	         $cdc3 = wSelected
 | 
						SECTION: $cdc4-$cdc4 ($0001 byte) ["Title Variables"]
 | 
				
			||||||
	EMPTY: $cdc4-$cfff ($023c bytes)
 | 
						         $cdc4 = wSelected
 | 
				
			||||||
	TOTAL EMPTY: $023c bytes
 | 
						EMPTY: $cdc5-$cfff ($023b bytes)
 | 
				
			||||||
 | 
						TOTAL EMPTY: $023b bytes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HRAM bank #0:
 | 
					HRAM bank #0:
 | 
				
			||||||
	SECTION: $ff80-$ff9a ($001b bytes) ["High Field Variables"]
 | 
						SECTION: $ff80-$ff9a ($001b bytes) ["High Field Variables"]
 | 
				
			||||||
| 
						 | 
					@ -2517,8 +2520,8 @@ HRAM bank #0:
 | 
				
			||||||
	TOTAL EMPTY: $0003 bytes
 | 
						TOTAL EMPTY: $0003 bytes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SUMMARY:
 | 
					SUMMARY:
 | 
				
			||||||
	ROM0: 12620 bytes used / 3764 free
 | 
						ROM0: 12695 bytes used / 3689 free
 | 
				
			||||||
	ROMX: 57736 bytes used / 40568 free in 6 banks
 | 
						ROMX: 57736 bytes used / 40568 free in 6 banks
 | 
				
			||||||
	SRAM: 14 bytes used / 8178 free in 1 bank
 | 
						SRAM: 14 bytes used / 8178 free in 1 bank
 | 
				
			||||||
	WRAM0: 3524 bytes used / 572 free
 | 
						WRAM0: 3525 bytes used / 571 free
 | 
				
			||||||
	HRAM: 124 bytes used / 3 free
 | 
						HRAM: 124 bytes used / 3 free
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										443
									
								
								bin/DMGTRIS.sym
								
								
								
								
							
							
						
						
									
										443
									
								
								bin/DMGTRIS.sym
								
								
								
								
							| 
						 | 
					@ -151,203 +151,205 @@
 | 
				
			||||||
00:1d36 PrepareScore
 | 
					00:1d36 PrepareScore
 | 
				
			||||||
00:1d49 DrawGradeProgressDMGT
 | 
					00:1d49 DrawGradeProgressDMGT
 | 
				
			||||||
00:1d64 UpdateGradeDMGT
 | 
					00:1d64 UpdateGradeDMGT
 | 
				
			||||||
00:1d82 UpdateGradeDMGT.checklineclears
 | 
					00:1d95 UpdateGradeDMGT.checklineclears
 | 
				
			||||||
00:1d9c UpdateGradeDMGT.clearrate
 | 
					00:1daf UpdateGradeDMGT.clearrate
 | 
				
			||||||
00:1dad UpdateGradeDMGT.combomult
 | 
					00:1dc0 UpdateGradeDMGT.combomult
 | 
				
			||||||
00:1dba UpdateGradeDMGT.combo10
 | 
					00:1dcd UpdateGradeDMGT.combo10
 | 
				
			||||||
00:1dcb UpdateGradeDMGT.combo5
 | 
					00:1dde UpdateGradeDMGT.combo5
 | 
				
			||||||
00:1ddc UpdateGradeDMGT.combo1
 | 
					00:1def UpdateGradeDMGT.combo1
 | 
				
			||||||
00:1deb UpdateGradeDMGT.prelevel
 | 
					00:1dfe UpdateGradeDMGT.prelevel
 | 
				
			||||||
00:1dfa UpdateGradeDMGT.single
 | 
					00:1e0d UpdateGradeDMGT.single
 | 
				
			||||||
00:1e0a UpdateGradeDMGT.double
 | 
					00:1e1d UpdateGradeDMGT.double
 | 
				
			||||||
00:1e1b UpdateGradeDMGT.adddonce
 | 
					00:1e2e UpdateGradeDMGT.adddonce
 | 
				
			||||||
00:1e1f UpdateGradeDMGT.triple
 | 
					00:1e32 UpdateGradeDMGT.triple
 | 
				
			||||||
00:1e30 UpdateGradeDMGT.addtonce
 | 
					00:1e43 UpdateGradeDMGT.addtonce
 | 
				
			||||||
00:1e34 UpdateGradeDMGT.tetris
 | 
					00:1e47 UpdateGradeDMGT.tetris
 | 
				
			||||||
00:1e38 UpdateGradeDMGT.levelmult
 | 
					00:1e4b UpdateGradeDMGT.levelmult
 | 
				
			||||||
00:1e50 UpdateGradeDMGT.mult5
 | 
					00:1e63 UpdateGradeDMGT.mult5
 | 
				
			||||||
00:1e57 UpdateGradeDMGT.mult4
 | 
					00:1e6a UpdateGradeDMGT.mult4
 | 
				
			||||||
00:1e5d UpdateGradeDMGT.mult3
 | 
					00:1e70 UpdateGradeDMGT.mult3
 | 
				
			||||||
00:1e62 UpdateGradeDMGT.mult2
 | 
					00:1e75 UpdateGradeDMGT.mult2
 | 
				
			||||||
00:1e66 UpdateGradeDMGT.mult1
 | 
					00:1e79 UpdateGradeDMGT.mult1
 | 
				
			||||||
00:1e67 UpdateGradeDMGT.processgrade
 | 
					00:1e7a UpdateGradeDMGT.processgrade
 | 
				
			||||||
00:1e90 UpdateGradeDMGT.increasegrademaybe
 | 
					00:1ea3 UpdateGradeDMGT.increasegrademaybe
 | 
				
			||||||
00:1eb4 UpdateGradeDMGT.gotgm
 | 
					00:1ec7 UpdateGradeDMGT.gotgm
 | 
				
			||||||
00:1ec2 DecayGradeDMGT
 | 
					00:1ed5 DecayGradeDMGT
 | 
				
			||||||
00:1ee6 DecayGradeDMGT.nodecay
 | 
					00:1ef9 DecayGradeDMGT.nodecay
 | 
				
			||||||
00:1eed DecayGradeDMGT.decay
 | 
					00:1f00 DecayGradeDMGT.decay
 | 
				
			||||||
00:1efb UpdateGradeTGM1
 | 
					00:1f0e UpdateGradeTGM1
 | 
				
			||||||
00:1f05 UpdateGradeTGM1.trygradeup
 | 
					00:1f18 UpdateGradeTGM1.trygradeup
 | 
				
			||||||
00:1f1f UpdateGradeTGM1.increasegrade
 | 
					00:1f32 UpdateGradeTGM1.increasegrade
 | 
				
			||||||
00:1f34 UpdateGradeTGM1.skipjingle
 | 
					00:1f47 UpdateGradeTGM1.skipjingle
 | 
				
			||||||
00:1f41 UpdateGradeTGM1.maybegm
 | 
					00:1f54 UpdateGradeTGM1.maybegm
 | 
				
			||||||
00:1f5a UpdateGradeDEAT
 | 
					00:1f6d UpdateGradeDEAT
 | 
				
			||||||
00:1f66 UpdateGradeDEAT.notgm
 | 
					00:1f79 UpdateGradeDEAT.notgm
 | 
				
			||||||
00:1f82 UpdateGradeDEAT.notm
 | 
					00:1f95 UpdateGradeDEAT.notm
 | 
				
			||||||
00:1fa5 UpdateGradeDEAT.disqualify
 | 
					00:1fb8 UpdateGradeDEAT.disqualify
 | 
				
			||||||
00:1fae UpdateGradeSHIR
 | 
					00:1fce UpdateGradeSHIR
 | 
				
			||||||
00:1ff1 UpdateGradeSHIR.s5torikan
 | 
					00:2011 UpdateGradeSHIR.s5torikan
 | 
				
			||||||
00:2001 UpdateGradeSHIR.s10torikan
 | 
					00:2021 UpdateGradeSHIR.s10torikan
 | 
				
			||||||
00:2010 UpdateGradeSHIR.disqualify
 | 
					00:2030 UpdateGradeSHIR.disqualify
 | 
				
			||||||
00:2019 sTGM1GradeScores
 | 
					00:203f UpdateGradeSHIR.l1000
 | 
				
			||||||
00:203b sTGM3InternalGradeSystem
 | 
					00:204d UpdateGradeSHIR.l500
 | 
				
			||||||
00:20db sTGM3GradeBoosts
 | 
					00:205b sTGM1GradeScores
 | 
				
			||||||
00:20fa sTGM3LevelMultiplier
 | 
					00:207d sTGM3InternalGradeSystem
 | 
				
			||||||
00:20fe sTGM3BaselineCOOL
 | 
					00:211d sTGM3GradeBoosts
 | 
				
			||||||
00:2107 sTGM3REGRETConditions
 | 
					00:213c sTGM3LevelMultiplier
 | 
				
			||||||
00:211b sDMGTGrading
 | 
					00:2140 sTGM3BaselineCOOL
 | 
				
			||||||
00:21cf sDMGTGaugeLUT
 | 
					00:2149 sTGM3REGRETConditions
 | 
				
			||||||
00:22cf LevelInit
 | 
					00:215d sDMGTGrading
 | 
				
			||||||
00:232b SpecialLevelInit
 | 
					00:2211 sDMGTGaugeLUT
 | 
				
			||||||
00:2339 SpecialLevelInit.jumps
 | 
					00:2311 LevelInit
 | 
				
			||||||
00:234e SpecialLevelInit.dmgt
 | 
					00:2370 SpecialLevelInit
 | 
				
			||||||
00:2353 SpecialLevelInit.tgm1
 | 
					00:237e SpecialLevelInit.jumps
 | 
				
			||||||
00:2358 SpecialLevelInit.tgm3
 | 
					00:2393 SpecialLevelInit.dmgt
 | 
				
			||||||
00:235d SpecialLevelInit.deat
 | 
					00:2398 SpecialLevelInit.tgm1
 | 
				
			||||||
00:2362 SpecialLevelInit.shir
 | 
					00:239d SpecialLevelInit.tgm3
 | 
				
			||||||
00:2367 SpecialLevelInit.chil
 | 
					00:23a2 SpecialLevelInit.deat
 | 
				
			||||||
00:236c SpecialLevelInit.myco
 | 
					00:23a7 SpecialLevelInit.shir
 | 
				
			||||||
00:2371 SpecialLevelInit.loaddata
 | 
					00:23ac SpecialLevelInit.chil
 | 
				
			||||||
00:238a LevelUp
 | 
					00:23b1 SpecialLevelInit.myco
 | 
				
			||||||
00:23ae LevelUp.doit
 | 
					00:23b6 SpecialLevelInit.loaddata
 | 
				
			||||||
00:23f8 LevelUp.checknlevel
 | 
					00:23cf LevelUp
 | 
				
			||||||
00:2447 LevelUp.bellmaybe
 | 
					00:23f9 LevelUp.doit
 | 
				
			||||||
00:2459 LevelUp.leveljinglemaybe
 | 
					00:2443 LevelUp.checknlevel
 | 
				
			||||||
00:2466 LevelUp.checkspeedup
 | 
					00:2492 LevelUp.bellmaybe
 | 
				
			||||||
00:24a5 DoSpeedUp
 | 
					00:24a4 LevelUp.leveljinglemaybe
 | 
				
			||||||
00:24e6 CheckSpecialLevelConditions
 | 
					00:24b1 LevelUp.checkspeedup
 | 
				
			||||||
00:24ec CheckSpecialLevelConditions.bones
 | 
					00:24f0 DoSpeedUp
 | 
				
			||||||
00:2501 CheckSpecialLevelConditions.enterthebonezone
 | 
					00:2531 CheckSpecialLevelConditions
 | 
				
			||||||
00:2506 CheckSpecialLevelConditions.invis
 | 
					00:2537 CheckSpecialLevelConditions.bones
 | 
				
			||||||
00:251b CheckSpecialLevelConditions.vanishoxyaction
 | 
					00:254c CheckSpecialLevelConditions.enterthebonezone
 | 
				
			||||||
00:2520 CheckSpecialLevelConditions.killscreen
 | 
					00:2551 CheckSpecialLevelConditions.invis
 | 
				
			||||||
00:2531 CheckSpecialLevelConditions.rip
 | 
					00:2566 CheckSpecialLevelConditions.vanishoxyaction
 | 
				
			||||||
00:254a TriggerKillScreen
 | 
					00:256b CheckSpecialLevelConditions.killscreen
 | 
				
			||||||
00:2569 SFXInit
 | 
					00:257c CheckSpecialLevelConditions.rip
 | 
				
			||||||
00:258b SFXPopQueue
 | 
					00:2595 TriggerKillScreen
 | 
				
			||||||
00:25a0 SFXPushQueue
 | 
					00:25b4 SFXInit
 | 
				
			||||||
00:25b1 SFXProcessQueue
 | 
					00:25d6 SFXPopQueue
 | 
				
			||||||
00:25df SFXTriggerNoise
 | 
					00:25eb SFXPushQueue
 | 
				
			||||||
00:2605 SFXEnqueue
 | 
					00:25fc SFXProcessQueue
 | 
				
			||||||
00:261a SFXEnqueue.findsfx
 | 
					00:262a SFXTriggerNoise
 | 
				
			||||||
00:2774 SFXKill
 | 
					00:2650 SFXEnqueue
 | 
				
			||||||
00:27a1 SFXPlayNoise
 | 
					00:2665 SFXEnqueue.findsfx
 | 
				
			||||||
00:27ac SFXPlayNoise.noisereg
 | 
					00:27bf SFXKill
 | 
				
			||||||
00:27c3 SFXPlayNoise.savenoiseplayhead
 | 
					00:27ec SFXPlayNoise
 | 
				
			||||||
00:27cc SFXPlay
 | 
					00:27f7 SFXPlayNoise.noisereg
 | 
				
			||||||
00:27da SFXPlay.play
 | 
					00:280e SFXPlayNoise.savenoiseplayhead
 | 
				
			||||||
00:27e6 SFXPlay.getRegister
 | 
					00:2817 SFXPlay
 | 
				
			||||||
00:27fa SFXPlay.savePlayhead
 | 
					00:2825 SFXPlay.play
 | 
				
			||||||
00:2803 HarvestEntropy
 | 
					00:2831 SFXPlay.getRegister
 | 
				
			||||||
00:2809 HarvestEntropy.loop
 | 
					00:2845 SFXPlay.savePlayhead
 | 
				
			||||||
00:282a RNGInit
 | 
					00:284e HarvestEntropy
 | 
				
			||||||
00:2890 RNGInit.complexinit
 | 
					00:2854 HarvestEntropy.loop
 | 
				
			||||||
00:28c2 ShiftHistory
 | 
					00:2875 RNGInit
 | 
				
			||||||
00:28df GetNextHellPiece
 | 
					00:28db RNGInit.complexinit
 | 
				
			||||||
00:28e4 GetNextTGM1Piece
 | 
					00:290d ShiftHistory
 | 
				
			||||||
00:2901 GetNextTGM2Piece
 | 
					00:292a GetNextHellPiece
 | 
				
			||||||
00:291e GetNextNesPiece
 | 
					00:292f GetNextTGM1Piece
 | 
				
			||||||
00:292c GetNextTGM3Piece
 | 
					00:294c GetNextTGM2Piece
 | 
				
			||||||
00:29e3 GetNextPiece
 | 
					00:2969 GetNextNesPiece
 | 
				
			||||||
00:29f1 GetNextPiece.nextpiecejumps
 | 
					00:2977 GetNextTGM3Piece
 | 
				
			||||||
00:2a00 Next35Piece
 | 
					00:2a2e GetNextPiece
 | 
				
			||||||
00:2a0a Next7Piece
 | 
					00:2a3c GetNextPiece.nextpiecejumps
 | 
				
			||||||
00:2a14 NextByte
 | 
					00:2a4b Next35Piece
 | 
				
			||||||
00:2a34 sProgressData
 | 
					00:2a55 Next7Piece
 | 
				
			||||||
00:2b7e ScoreInit
 | 
					00:2a5f NextByte
 | 
				
			||||||
00:2ba6 IncreaseScore
 | 
					00:2a7f sProgressData
 | 
				
			||||||
00:2bde IncreaseScore.doConvert
 | 
					00:2bc9 ScoreInit
 | 
				
			||||||
00:2bf6 IncreaseScore.carry
 | 
					00:2bf1 IncreaseScore
 | 
				
			||||||
00:2bf8 IncreaseScore.postConvert
 | 
					00:2c29 IncreaseScore.doConvert
 | 
				
			||||||
00:2c0c IncreaseScore.preAddDigit
 | 
					00:2c41 IncreaseScore.carry
 | 
				
			||||||
00:2c34 IncreaseScore.addDigit
 | 
					00:2c43 IncreaseScore.postConvert
 | 
				
			||||||
00:2c4a IncreaseScore.nextDigit
 | 
					00:2c57 IncreaseScore.preAddDigit
 | 
				
			||||||
00:2c5e InputInit
 | 
					00:2c7f IncreaseScore.addDigit
 | 
				
			||||||
00:2c70 GetInput
 | 
					00:2c95 IncreaseScore.nextDigit
 | 
				
			||||||
00:2c70 GetInput.btns
 | 
					00:2ca9 InputInit
 | 
				
			||||||
00:2c7d GetInput.readA
 | 
					00:2cbb GetInput
 | 
				
			||||||
00:2c81 GetInput.setA
 | 
					00:2cbb GetInput.btns
 | 
				
			||||||
00:2c8c GetInput.clearA
 | 
					00:2cc8 GetInput.readA
 | 
				
			||||||
00:2c8f GetInput.readB
 | 
					00:2ccc GetInput.setA
 | 
				
			||||||
00:2c93 GetInput.setB
 | 
					00:2cd7 GetInput.clearA
 | 
				
			||||||
00:2c9e GetInput.clearB
 | 
					00:2cda GetInput.readB
 | 
				
			||||||
00:2ca1 GetInput.readSelect
 | 
					00:2cde GetInput.setB
 | 
				
			||||||
00:2ca5 GetInput.setSelect
 | 
					00:2ce9 GetInput.clearB
 | 
				
			||||||
00:2cb0 GetInput.clearSelect
 | 
					00:2cec GetInput.readSelect
 | 
				
			||||||
00:2cb3 GetInput.readStart
 | 
					00:2cf0 GetInput.setSelect
 | 
				
			||||||
00:2cb7 GetInput.setStart
 | 
					00:2cfb GetInput.clearSelect
 | 
				
			||||||
00:2cc2 GetInput.clearStart
 | 
					00:2cfe GetInput.readStart
 | 
				
			||||||
00:2cc5 GetInput.dpad
 | 
					00:2d02 GetInput.setStart
 | 
				
			||||||
00:2cd2 GetInput.readUp
 | 
					00:2d0d GetInput.clearStart
 | 
				
			||||||
00:2cd6 GetInput.setUp
 | 
					00:2d10 GetInput.dpad
 | 
				
			||||||
00:2ce1 GetInput.clearUp
 | 
					00:2d1d GetInput.readUp
 | 
				
			||||||
00:2ce4 GetInput.readDown
 | 
					00:2d21 GetInput.setUp
 | 
				
			||||||
00:2ce8 GetInput.setDown
 | 
					00:2d2c GetInput.clearUp
 | 
				
			||||||
00:2cf3 GetInput.clearDown
 | 
					00:2d2f GetInput.readDown
 | 
				
			||||||
00:2cf6 GetInput.readLeft
 | 
					00:2d33 GetInput.setDown
 | 
				
			||||||
00:2cfa GetInput.setLeft
 | 
					00:2d3e GetInput.clearDown
 | 
				
			||||||
00:2d05 GetInput.clearLeft
 | 
					00:2d41 GetInput.readLeft
 | 
				
			||||||
00:2d08 GetInput.readRight
 | 
					00:2d45 GetInput.setLeft
 | 
				
			||||||
00:2d0c GetInput.setRight
 | 
					00:2d50 GetInput.clearLeft
 | 
				
			||||||
00:2d17 GetInput.clearRight
 | 
					00:2d53 GetInput.readRight
 | 
				
			||||||
00:2d1a GetInput.priorities
 | 
					00:2d57 GetInput.setRight
 | 
				
			||||||
00:2d25 GetInput.zero
 | 
					00:2d62 GetInput.clearRight
 | 
				
			||||||
00:2d2b RestoreSRAM
 | 
					00:2d65 GetInput.priorities
 | 
				
			||||||
00:2d84 InitializeSRAM
 | 
					00:2d70 GetInput.zero
 | 
				
			||||||
00:2de2 SetProgress
 | 
					00:2d76 RestoreSRAM
 | 
				
			||||||
00:2ded SetProgress.loop
 | 
					00:2dcf InitializeSRAM
 | 
				
			||||||
00:2df1 SetProgress.correct
 | 
					00:2e2d SetProgress
 | 
				
			||||||
00:2e18 SetProgress.wvr_u1
 | 
					00:2e38 SetProgress.loop
 | 
				
			||||||
00:2e24 SetProgress.wvr_u2
 | 
					00:2e3c SetProgress.correct
 | 
				
			||||||
00:2e32 SetProgress.wvr_u3
 | 
					00:2e63 SetProgress.wvr_u1
 | 
				
			||||||
00:2e3e SetProgress.wvr_u4
 | 
					00:2e6f SetProgress.wvr_u2
 | 
				
			||||||
00:2e4c SetProgress.wvr_u5
 | 
					00:2e7d SetProgress.wvr_u3
 | 
				
			||||||
00:2e58 SetProgress.wvr_u6
 | 
					00:2e89 SetProgress.wvr_u4
 | 
				
			||||||
00:2e66 SetProgress.wvr_u7
 | 
					00:2e97 SetProgress.wvr_u5
 | 
				
			||||||
00:2e72 SetProgress.wvr_u8
 | 
					00:2ea3 SetProgress.wvr_u6
 | 
				
			||||||
00:2e80 SetProgress.wvr_u9
 | 
					00:2eb1 SetProgress.wvr_u7
 | 
				
			||||||
00:2e8c SetProgress.wvr_u10
 | 
					00:2ebd SetProgress.wvr_u8
 | 
				
			||||||
00:2e94 Main
 | 
					00:2ecb SetProgress.wvr_u9
 | 
				
			||||||
00:2ebd Main.notgbc
 | 
					00:2ed7 SetProgress.wvr_u10
 | 
				
			||||||
00:2ec3 Main.wvr_u1
 | 
					00:2edf Main
 | 
				
			||||||
00:2ef0 EventLoop
 | 
					00:2f08 Main.notgbc
 | 
				
			||||||
00:2f06 EventLoop.eventloopjumps
 | 
					00:2f0e Main.wvr_u1
 | 
				
			||||||
00:2f0f EventLoopPostHandler
 | 
					00:2f3b EventLoop
 | 
				
			||||||
00:2f11 EventLoopPostHandler.wvb_u2
 | 
					00:2f51 EventLoop.eventloopjumps
 | 
				
			||||||
00:2f23 EventLoopPostHandler.vblankjumps
 | 
					00:2f5a EventLoopPostHandler
 | 
				
			||||||
00:2f2c TimeInit
 | 
					00:2f5c EventLoopPostHandler.wvb_u2
 | 
				
			||||||
00:2f41 ResetGameTime
 | 
					00:2f6e EventLoopPostHandler.vblankjumps
 | 
				
			||||||
00:2f4c CheckTorikan
 | 
					00:2f77 TimeInit
 | 
				
			||||||
00:2f63 CheckTorikan.failure
 | 
					00:2f8c ResetGameTime
 | 
				
			||||||
00:2f65 CheckTorikan.success
 | 
					00:2f97 CheckTorikan
 | 
				
			||||||
00:2f68 HandleTimers
 | 
					00:2fae CheckTorikan.failure
 | 
				
			||||||
00:2f90 HandleTimers.go
 | 
					00:2fb0 CheckTorikan.success
 | 
				
			||||||
00:2fb4 SwitchToTitle
 | 
					00:2fb3 HandleTimers
 | 
				
			||||||
00:2fbd TitleEventLoopHandler
 | 
					00:2fdb HandleTimers.go
 | 
				
			||||||
00:2fc7 TitleVBlankHandler
 | 
					00:2fff SwitchToTitle
 | 
				
			||||||
00:2fd1 DrawOption6
 | 
					00:3008 TitleEventLoopHandler
 | 
				
			||||||
00:3021 LoadTitleTiles
 | 
					00:3012 TitleVBlankHandler
 | 
				
			||||||
00:303f LoadGameplayTiles
 | 
					00:301c DrawOption6
 | 
				
			||||||
00:3055 LoadGameplayTiles.gbc
 | 
					00:306c LoadTitleTiles
 | 
				
			||||||
00:3064 LoadGameplayTiles.dmg
 | 
					00:308a LoadGameplayTiles
 | 
				
			||||||
00:3073 sFramesToCS
 | 
					00:30a0 LoadGameplayTiles.gbc
 | 
				
			||||||
00:30af UnsafeMemCopy
 | 
					00:30af LoadGameplayTiles.dmg
 | 
				
			||||||
00:30b8 SafeMemCopy.wvr_u1
 | 
					00:30be sFramesToCS
 | 
				
			||||||
00:30b8 SafeMemCopy
 | 
					00:30fa UnsafeMemCopy
 | 
				
			||||||
00:30c7 UnsafeMemSet
 | 
					00:3103 SafeMemCopy.wvr_u1
 | 
				
			||||||
00:30cf SafeMemSet
 | 
					00:3103 SafeMemCopy
 | 
				
			||||||
00:30cf SafeMemSet.wvr_u2
 | 
					00:3112 UnsafeMemSet
 | 
				
			||||||
00:30dd SwitchToGameplay
 | 
					00:311a SafeMemSet
 | 
				
			||||||
00:30e6 SwitchToGameplayBig
 | 
					00:311a SafeMemSet.wvr_u2
 | 
				
			||||||
00:30ef GamePlayEventLoopHandler
 | 
					00:3128 SwitchToGameplay
 | 
				
			||||||
00:30f9 GamePlayBigEventLoopHandler
 | 
					00:3131 SwitchToGameplayBig
 | 
				
			||||||
00:3103 CopyOAMHandler
 | 
					00:313a GamePlayEventLoopHandler
 | 
				
			||||||
00:310f ClearOAM
 | 
					00:3144 GamePlayBigEventLoopHandler
 | 
				
			||||||
00:3125 IntrInit
 | 
					00:314e CopyOAMHandler
 | 
				
			||||||
00:3129 InitializeLCDCInterrupt
 | 
					00:315a ClearOAM
 | 
				
			||||||
00:313e BankingInit
 | 
					00:3170 IntrInit
 | 
				
			||||||
00:314d OAMDMA
 | 
					00:3174 InitializeLCDCInterrupt
 | 
				
			||||||
00:3157 OAMDMAEnd
 | 
					00:3189 BankingInit
 | 
				
			||||||
 | 
					00:3198 OAMDMA
 | 
				
			||||||
 | 
					00:31a2 OAMDMAEnd
 | 
				
			||||||
01:4008 sDMGTSpeedCurve
 | 
					01:4008 sDMGTSpeedCurve
 | 
				
			||||||
01:4203 sDMGTSpeedCurveEnd
 | 
					01:4203 sDMGTSpeedCurveEnd
 | 
				
			||||||
01:4205 sDMGTSpeedCurveSpecialData
 | 
					01:4205 sDMGTSpeedCurveSpecialData
 | 
				
			||||||
| 
						 | 
					@ -2074,29 +2076,30 @@
 | 
				
			||||||
00:cda4 wProgress3B2
 | 
					00:cda4 wProgress3B2
 | 
				
			||||||
00:cda5 wProgress4B1
 | 
					00:cda5 wProgress4B1
 | 
				
			||||||
00:cda6 wProgress4B2
 | 
					00:cda6 wProgress4B2
 | 
				
			||||||
00:cda7 wSwapABState
 | 
					00:cda7 wBoneActivationLevel
 | 
				
			||||||
00:cda8 wRNGModeState
 | 
					00:cda9 wInvisActivationLevel
 | 
				
			||||||
00:cda9 wRotModeState
 | 
					00:cdab wKillScreenActivationLevel
 | 
				
			||||||
00:cdaa wDropModeState
 | 
					00:cdad wBonesActive
 | 
				
			||||||
00:cdab wSpeedCurveState
 | 
					00:cdae wInvisActive
 | 
				
			||||||
00:cdac wAlways20GState
 | 
					00:cdaf wKillScreenActive
 | 
				
			||||||
00:cdad wInitialA
 | 
					00:cdb0 wLockLevel
 | 
				
			||||||
00:cdae wInitialB
 | 
					00:cdb1 wSwapABState
 | 
				
			||||||
00:cdaf wInitialC
 | 
					00:cdb2 wRNGModeState
 | 
				
			||||||
00:cdb0 wBoneActivationLevel
 | 
					00:cdb3 wRotModeState
 | 
				
			||||||
00:cdb2 wInvisActivationLevel
 | 
					00:cdb4 wDropModeState
 | 
				
			||||||
00:cdb4 wKillScreenActivationLevel
 | 
					00:cdb5 wSpeedCurveState
 | 
				
			||||||
00:cdb6 wBonesActive
 | 
					00:cdb6 wAlways20GState
 | 
				
			||||||
00:cdb7 wInvisActive
 | 
					00:cdb7 wInitialA
 | 
				
			||||||
00:cdb8 wKillScreenActive
 | 
					00:cdb8 wInitialB
 | 
				
			||||||
00:cdb9 wBankBackup
 | 
					00:cdb9 wInitialC
 | 
				
			||||||
00:cdbd wOuterReps
 | 
					00:cdba wBankBackup
 | 
				
			||||||
00:cdbe wInnerReps
 | 
					00:cdbe wOuterReps
 | 
				
			||||||
00:cdbf wTitlePal
 | 
					00:cdbf wInnerReps
 | 
				
			||||||
00:cdc0 wMinutes
 | 
					00:cdc0 wTitlePal
 | 
				
			||||||
00:cdc1 wSeconds
 | 
					00:cdc1 wMinutes
 | 
				
			||||||
00:cdc2 wFrames
 | 
					00:cdc2 wSeconds
 | 
				
			||||||
00:cdc3 wSelected
 | 
					00:cdc3 wFrames
 | 
				
			||||||
 | 
					00:cdc4 wSelected
 | 
				
			||||||
00:ff80 hPieceDataBase
 | 
					00:ff80 hPieceDataBase
 | 
				
			||||||
00:ff82 hPieceDataBaseFast
 | 
					00:ff82 hPieceDataBaseFast
 | 
				
			||||||
00:ff84 hPieceDataOffset
 | 
					00:ff84 hPieceDataOffset
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -380,7 +380,16 @@ UpdateGradeDMGT::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; If we failed it: DIE.
 | 
					    ; If we failed it: DIE.
 | 
				
			||||||
    cp a, $FF
 | 
					    cp a, $FF
 | 
				
			||||||
    jp nz, TriggerKillScreen
 | 
					    jp z, .checklineclears
 | 
				
			||||||
 | 
					    ld a, $FF
 | 
				
			||||||
 | 
					    ld [wLockLevel], a
 | 
				
			||||||
 | 
					    ld a, 5
 | 
				
			||||||
 | 
					    ldh [hCLevel+1], a
 | 
				
			||||||
 | 
					    xor a, a
 | 
				
			||||||
 | 
					    ldh [hCLevel], a
 | 
				
			||||||
 | 
					    ldh [hCLevel+2], a
 | 
				
			||||||
 | 
					    ldh [hCLevel+3], a
 | 
				
			||||||
 | 
					    jp TriggerKillScreen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; Did we have line clears?
 | 
					    ; Did we have line clears?
 | 
				
			||||||
| 
						 | 
					@ -836,9 +845,15 @@ UpdateGradeDEAT:
 | 
				
			||||||
.disqualify
 | 
					.disqualify
 | 
				
			||||||
    ; Disqualify from ranking.
 | 
					    ; Disqualify from ranking.
 | 
				
			||||||
    ld a, $FF
 | 
					    ld a, $FF
 | 
				
			||||||
 | 
					    ld [wLockLevel], a
 | 
				
			||||||
    ld [wRankingDisqualified], a
 | 
					    ld [wRankingDisqualified], a
 | 
				
			||||||
    call TriggerKillScreen
 | 
					    ld a, 5
 | 
				
			||||||
    ret
 | 
					    ldh [hCLevel+1], a
 | 
				
			||||||
 | 
					    xor a, a
 | 
				
			||||||
 | 
					    ldh [hCLevel], a
 | 
				
			||||||
 | 
					    ldh [hCLevel+2], a
 | 
				
			||||||
 | 
					    ldh [hCLevel+3], a
 | 
				
			||||||
 | 
					    jp TriggerKillScreen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
UpdateGradeSHIR:
 | 
					UpdateGradeSHIR:
 | 
				
			||||||
| 
						 | 
					@ -925,9 +940,30 @@ UpdateGradeSHIR:
 | 
				
			||||||
    ret
 | 
					    ret
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.disqualify
 | 
					.disqualify
 | 
				
			||||||
 | 
					    ; Disqualify from ranking.
 | 
				
			||||||
    ld a, $FF
 | 
					    ld a, $FF
 | 
				
			||||||
 | 
					    ld [wLockLevel], a
 | 
				
			||||||
    ld [wRankingDisqualified], a
 | 
					    ld [wRankingDisqualified], a
 | 
				
			||||||
    call TriggerKillScreen
 | 
					    ld a, [wDisplayedGrade]
 | 
				
			||||||
    ret
 | 
					    cp a, GRADE_S5
 | 
				
			||||||
 | 
					    jr z, .l500
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.l1000
 | 
				
			||||||
 | 
					    ld a, 1
 | 
				
			||||||
 | 
					    ldh [hCLevel], a
 | 
				
			||||||
 | 
					    xor a, a
 | 
				
			||||||
 | 
					    ldh [hCLevel+1], a
 | 
				
			||||||
 | 
					    ldh [hCLevel+2], a
 | 
				
			||||||
 | 
					    ldh [hCLevel+3], a
 | 
				
			||||||
 | 
					    jp TriggerKillScreen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.l500
 | 
				
			||||||
 | 
					    ld a, 5
 | 
				
			||||||
 | 
					    ldh [hCLevel+1], a
 | 
				
			||||||
 | 
					    xor a, a
 | 
				
			||||||
 | 
					    ldh [hCLevel], a
 | 
				
			||||||
 | 
					    ldh [hCLevel+2], a
 | 
				
			||||||
 | 
					    ldh [hCLevel+3], a
 | 
				
			||||||
 | 
					    jp TriggerKillScreen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENDC
 | 
					ENDC
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,6 +46,7 @@ wKillScreenActivationLevel: ds 2
 | 
				
			||||||
wBonesActive:: ds 1
 | 
					wBonesActive:: ds 1
 | 
				
			||||||
wInvisActive:: ds 1
 | 
					wInvisActive:: ds 1
 | 
				
			||||||
wKillScreenActive:: ds 1
 | 
					wKillScreenActive:: ds 1
 | 
				
			||||||
 | 
					wLockLevel:: ds 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SECTION "Level Functions", ROM0
 | 
					SECTION "Level Functions", ROM0
 | 
				
			||||||
| 
						 | 
					@ -60,6 +61,7 @@ LevelInit::
 | 
				
			||||||
    ld [wBonesActive], a
 | 
					    ld [wBonesActive], a
 | 
				
			||||||
    ld [wInvisActive], a
 | 
					    ld [wInvisActive], a
 | 
				
			||||||
    ld [wKillScreenActive], a
 | 
					    ld [wKillScreenActive], a
 | 
				
			||||||
 | 
					    ld [wLockLevel], a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ldh a, [hStartSpeed]
 | 
					    ldh a, [hStartSpeed]
 | 
				
			||||||
    ld l, a
 | 
					    ld l, a
 | 
				
			||||||
| 
						 | 
					@ -189,6 +191,11 @@ SpecialLevelInit:
 | 
				
			||||||
    ; Increment level and speed up if necessary. Level increment in E.
 | 
					    ; Increment level and speed up if necessary. Level increment in E.
 | 
				
			||||||
    ; Levels may only increment by single digits.
 | 
					    ; Levels may only increment by single digits.
 | 
				
			||||||
LevelUp::
 | 
					LevelUp::
 | 
				
			||||||
 | 
					    ; Return if our level is hard locked.
 | 
				
			||||||
 | 
					    ld a, [wLockLevel]
 | 
				
			||||||
 | 
					    cp a, $FF
 | 
				
			||||||
 | 
					    ret z
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; Return if we're maxed out.
 | 
					    ; Return if we're maxed out.
 | 
				
			||||||
    ld hl, hCLevel
 | 
					    ld hl, hCLevel
 | 
				
			||||||
    ld a, $09
 | 
					    ld a, $09
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue