diff --git a/bin/DMGTRIS.GBC b/bin/DMGTRIS.GBC index 681b6dd..af6c3af 100644 Binary files a/bin/DMGTRIS.GBC and b/bin/DMGTRIS.GBC differ diff --git a/bin/DMGTRIS.map b/bin/DMGTRIS.map index 3d38100..0888c13 100644 --- a/bin/DMGTRIS.map +++ b/bin/DMGTRIS.map @@ -293,7 +293,7 @@ ROM0 bank #0: $2599 = ChangeProfile.lninth $25a8 = ChangeProfile.ltenth $25b7 = ResetProfile - SECTION: $2613-$2987 ($0375 bytes) ["Level Functions"] + SECTION: $2613-$298b ($0379 bytes) ["Level Functions"] $2613 = LevelInit $2678 = SpecialLevelInit $2686 = SpecialLevelInit.jumps @@ -307,238 +307,238 @@ ROM0 bank #0: $26be = SpecialLevelInit.loaddata $26f3 = LevelUp $271d = LevelUp.doit - $2767 = LevelUp.checknlevel - $2795 = !0 - $27ad = !1 - $27b6 = LevelUp.bellmaybe - $27cf = LevelUp.leveljinglemaybe - $27dc = LevelUp.checkspeedup - $27f0 = !2 - $27fd = !3 - $280e = !4 - $281b = DoSpeedUp - $285c = CheckSpecialLevelConditions - $288d = CheckSpecialLevelConditions.override - $28a8 = CheckSpecialLevelConditions.nooverride - $28ae = CheckSpecialLevelConditions.speciallock - $28cf = CheckSpecialLevelConditions.bones - $28e4 = CheckSpecialLevelConditions.enterthebonezone - $28e9 = CheckSpecialLevelConditions.invis - $28fe = CheckSpecialLevelConditions.vanishoxyaction - $2903 = CheckSpecialLevelConditions.killscreen - $2914 = CheckSpecialLevelConditions.rip - $2944 = CheckSpecialLevelConditions.staffroll - $2952 = CheckSpecialLevelConditions.justkill - $2966 = TriggerKillScreen - SECTION: $2988-$2c3d ($02b6 bytes) ["Grading Data"] - $2988 = sTGM1GradeScores - $29aa = sTGM3InternalGradeSystem - $2a4a = sTGM3GradeBoosts - $2a69 = sTGM3LevelMultiplier - $2a6d = sTGM3BaselineCOOL - $2a76 = sTGM3REGRETConditions - $2a8a = sDMGTGrading - $2b3e = sDMGTGaugeLUT - SECTION: $2c3e-$2ed7 ($029a bytes) ["SFX Functions"] - $2c3e = SFXInit - $2c60 = SFXPopQueue - $2c75 = SFXPushQueue - $2c86 = SFXProcessQueue - $2c97 = !0 - $2cb2 = !1 - $2cb4 = SFXTriggerNoise - $2cc1 = !2 - $2cce = !3 - $2cda = SFXEnqueue - $2cef = SFXEnqueue.findsfx - $2d04 = !4 - $2d14 = !5 - $2d24 = !6 - $2d34 = !7 - $2d44 = !8 - $2d54 = !9 - $2d64 = !10 - $2d74 = !11 - $2d84 = !12 - $2d94 = !13 - $2da4 = !14 - $2db4 = !15 - $2dc4 = !16 - $2dd4 = !17 - $2de4 = !18 - $2df3 = !19 - $2e02 = !20 - $2e11 = !21 - $2e20 = !22 - $2e2e = !23 - $2e3c = !24 - $2e49 = SFXKill - $2e76 = SFXPlayNoise - $2e81 = SFXPlayNoise.noisereg - $2e8e = !25 - $2e98 = SFXPlayNoise.savenoiseplayhead - $2ea1 = SFXPlay - $2eac = !26 - $2eaf = SFXPlay.play - $2ebb = SFXPlay.getRegister - $2ec5 = !27 - $2ecf = SFXPlay.savePlayhead - SECTION: $2ed8-$3108 ($0231 bytes) ["RNG Functions"] - $2ed8 = HarvestEntropy - $2ede = HarvestEntropy.loop - $2eff = RNGInit - $2f35 = !0 - $2f65 = RNGInit.complexinit - $2f7c = !1 - $2f97 = ShiftHistory - $2fb4 = GetNextHellPiece - $2fb9 = GetNextTGM1Piece - $2fbc = !2 - $2fd4 = !3 - $2fd6 = GetNextTGM2Piece - $2fd9 = !4 - $2ff1 = !5 - $2ff3 = GetNextNesPiece - $3001 = GetNextTGM3Piece - $3004 = !6 - $3027 = !7 - $302a = !8 - $303a = !9 - $3044 = !10 - $3052 = !11 - $3061 = !12 - $306d = !13 - $3079 = !14 - $3085 = !15 - $3091 = !16 - $309d = !17 - $30a9 = !18 - $30b8 = GetNextPiece - $30c6 = GetNextPiece.nextpiecejumps - $30d5 = Next35Piece - $30d5 = !19 - $30df = Next7Piece - $30df = !20 - $30e9 = NextByte - SECTION: $3109-$3252 ($014a bytes) ["Progress Data"] - $3109 = sProgressData - SECTION: $3253-$3332 ($00e0 bytes) ["Score Functions"] - $3253 = ScoreInit - $327b = IncreaseScore - $32b3 = IncreaseScore.doConvert - $32b5 = !0 - $32cb = IncreaseScore.carry - $32cd = IncreaseScore.postConvert - $32da = !1 - $32e1 = IncreaseScore.preAddDigit - $3309 = IncreaseScore.addDigit - $331f = IncreaseScore.nextDigit - SECTION: $3333-$33ff ($00cd bytes) ["Input Functions"] - $3333 = InputInit - $3345 = GetInput - $3345 = GetInput.btns - $3352 = GetInput.readA - $3356 = GetInput.setA - $3361 = GetInput.clearA - $3364 = GetInput.readB - $3368 = GetInput.setB - $3373 = GetInput.clearB - $3376 = GetInput.readSelect - $337a = GetInput.setSelect - $3385 = GetInput.clearSelect - $3388 = GetInput.readStart - $338c = GetInput.setStart - $3397 = GetInput.clearStart - $339a = GetInput.dpad - $33a7 = GetInput.readUp - $33ab = GetInput.setUp - $33b6 = GetInput.clearUp - $33b9 = GetInput.readDown - $33bd = GetInput.setDown - $33c8 = GetInput.clearDown - $33cb = GetInput.readLeft - $33cf = GetInput.setLeft - $33da = GetInput.clearLeft - $33dd = GetInput.readRight - $33e1 = GetInput.setRight - $33ec = GetInput.clearRight - $33ef = GetInput.priorities - $33fa = GetInput.zero - SECTION: $3400-$34ca ($00cb bytes) ["Title Function Trampolines"] - $3400 = SwitchToTitle - $3409 = TitleEventLoopHandler - $3413 = TitleVBlankHandler - $341d = PersistLevel - $342b = DrawSpeedMain - $347b = DrawSpeedSettings - SECTION: $34cb-$3590 ($00c6 bytes) ["Time Functions"] - $34cb = TimeInit - $34eb = StartCountdown - $34f9 = ResetGameTime - $3504 = CheckTorikan - $351b = CheckTorikan.failure - $351d = CheckTorikan.success - $3520 = HandleTimers - $3546 = HandleTimers.reduce - $3553 = HandleTimers.clock - $356d = HandleTimers.go - SECTION: $3591-$3642 ($00b2 bytes) ["Progress Functions"] - $3591 = SetProgress - $359c = SetProgress.loop - $35a0 = SetProgress.correct - $35c7 = SetProgress.wvr_u1 - $35d3 = SetProgress.wvr_u2 - $35e1 = SetProgress.wvr_u3 - $35ed = SetProgress.wvr_u4 - $35fb = SetProgress.wvr_u5 - $3607 = SetProgress.wvr_u6 - $3615 = SetProgress.wvr_u7 - $3621 = SetProgress.wvr_u8 - $362f = SetProgress.wvr_u9 - $363b = SetProgress.wvr_u10 - SECTION: $3643-$36d4 ($0092 bytes) ["Code Entry Point"] - $3643 = Main - $366c = Main.notgbc - $3672 = Main.wvr_u1 - $3699 = EventLoop - $36af = EventLoop.eventloopjumps - $36b8 = EventLoopPostHandler - $36ba = EventLoopPostHandler.wvb_u2 - $36cc = EventLoopPostHandler.vblankjumps - SECTION: $36d5-$374c ($0078 bytes) ["Hi Score Data"] - $36d5 = sHiscoreDefaultData - SECTION: $374d-$379e ($0052 bytes) ["Tile Functions"] - $374d = LoadTitleTiles - $376b = LoadGameplayTiles - $3781 = LoadGameplayTiles.gbc - $3790 = LoadGameplayTiles.dmg - SECTION: $379f-$37da ($003c bytes) ["Time Data"] - $379f = sFramesToCS - SECTION: $37db-$3808 ($002e bytes) ["Memory Functions"] - $37db = UnsafeMemCopy - $37e4 = SafeMemCopy.wvr_u1 - $37e4 = SafeMemCopy - $37f3 = UnsafeMemSet - $37fb = SafeMemSet - $37fb = SafeMemSet.wvr_u2 - SECTION: $3809-$382e ($0026 bytes) ["Gameplay Function Trampolines"] - $3809 = SwitchToGameplay - $3812 = SwitchToGameplayBig - $381b = GamePlayEventLoopHandler - $3825 = GamePlayBigEventLoopHandler - SECTION: $382f-$3853 ($0025 bytes) ["Interrupt Initialization Functions"] - $382f = EnableScreenSquish - $3849 = DisableScreenSquish - SECTION: $3854-$3875 ($0022 bytes) ["OAM Functions"] - $3854 = CopyOAMHandler - $3860 = ClearOAM - SECTION: $3876-$3884 ($000f bytes) ["Banking Functions"] - $3876 = BankingInit - SECTION: $3885-$388e ($000a bytes) ["OAM DMA Code"] - $3885 = OAMDMA - $388f = OAMDMAEnd - EMPTY: $388f-$3fff ($0771 bytes) - TOTAL EMPTY: $077a bytes + $275f = LevelUp.checknlevel + $2790 = !0 + $27a8 = !1 + $27b1 = LevelUp.bellmaybe + $27cd = LevelUp.leveljinglemaybe + $27dd = LevelUp.checkspeedup + $27f1 = !2 + $27fe = !3 + $280f = !4 + $281c = DoSpeedUp + $285d = CheckSpecialLevelConditions + $288e = CheckSpecialLevelConditions.override + $28a9 = CheckSpecialLevelConditions.nooverride + $28af = CheckSpecialLevelConditions.speciallock + $28d3 = CheckSpecialLevelConditions.bones + $28e8 = CheckSpecialLevelConditions.enterthebonezone + $28ed = CheckSpecialLevelConditions.invis + $2902 = CheckSpecialLevelConditions.vanishoxyaction + $2907 = CheckSpecialLevelConditions.killscreen + $2918 = CheckSpecialLevelConditions.rip + $2948 = CheckSpecialLevelConditions.staffroll + $2956 = CheckSpecialLevelConditions.justkill + $296a = TriggerKillScreen + SECTION: $298c-$2c41 ($02b6 bytes) ["Grading Data"] + $298c = sTGM1GradeScores + $29ae = sTGM3InternalGradeSystem + $2a4e = sTGM3GradeBoosts + $2a6d = sTGM3LevelMultiplier + $2a71 = sTGM3BaselineCOOL + $2a7a = sTGM3REGRETConditions + $2a8e = sDMGTGrading + $2b42 = sDMGTGaugeLUT + SECTION: $2c42-$2ee1 ($02a0 bytes) ["SFX Functions"] + $2c42 = SFXInit + $2c64 = SFXPopQueue + $2c79 = SFXPushQueue + $2c8a = SFXProcessQueue + $2c9b = !0 + $2cb6 = !1 + $2cb8 = SFXTriggerNoise + $2cc5 = !2 + $2cd2 = !3 + $2cde = SFXEnqueue + $2cf3 = SFXEnqueue.findsfx + $2d08 = !4 + $2d18 = !5 + $2d28 = !6 + $2d38 = !7 + $2d48 = !8 + $2d58 = !9 + $2d68 = !10 + $2d78 = !11 + $2d88 = !12 + $2d98 = !13 + $2da8 = !14 + $2db8 = !15 + $2dc8 = !16 + $2dd8 = !17 + $2de8 = !18 + $2df7 = !19 + $2e06 = !20 + $2e15 = !21 + $2e24 = !22 + $2e32 = !23 + $2e40 = !24 + $2e4d = SFXKill + $2e80 = SFXPlayNoise + $2e8b = SFXPlayNoise.noisereg + $2e98 = !25 + $2ea2 = SFXPlayNoise.savenoiseplayhead + $2eab = SFXPlay + $2eb6 = !26 + $2eb9 = SFXPlay.play + $2ec5 = SFXPlay.getRegister + $2ecf = !27 + $2ed9 = SFXPlay.savePlayhead + SECTION: $2ee2-$3112 ($0231 bytes) ["RNG Functions"] + $2ee2 = HarvestEntropy + $2ee8 = HarvestEntropy.loop + $2f09 = RNGInit + $2f3f = !0 + $2f6f = RNGInit.complexinit + $2f86 = !1 + $2fa1 = ShiftHistory + $2fbe = GetNextHellPiece + $2fc3 = GetNextTGM1Piece + $2fc6 = !2 + $2fde = !3 + $2fe0 = GetNextTGM2Piece + $2fe3 = !4 + $2ffb = !5 + $2ffd = GetNextNesPiece + $300b = GetNextTGM3Piece + $300e = !6 + $3031 = !7 + $3034 = !8 + $3044 = !9 + $304e = !10 + $305c = !11 + $306b = !12 + $3077 = !13 + $3083 = !14 + $308f = !15 + $309b = !16 + $30a7 = !17 + $30b3 = !18 + $30c2 = GetNextPiece + $30d0 = GetNextPiece.nextpiecejumps + $30df = Next35Piece + $30df = !19 + $30e9 = Next7Piece + $30e9 = !20 + $30f3 = NextByte + SECTION: $3113-$325c ($014a bytes) ["Progress Data"] + $3113 = sProgressData + SECTION: $325d-$333c ($00e0 bytes) ["Score Functions"] + $325d = ScoreInit + $3285 = IncreaseScore + $32bd = IncreaseScore.doConvert + $32bf = !0 + $32d5 = IncreaseScore.carry + $32d7 = IncreaseScore.postConvert + $32e4 = !1 + $32eb = IncreaseScore.preAddDigit + $3313 = IncreaseScore.addDigit + $3329 = IncreaseScore.nextDigit + SECTION: $333d-$3409 ($00cd bytes) ["Input Functions"] + $333d = InputInit + $334f = GetInput + $334f = GetInput.btns + $335c = GetInput.readA + $3360 = GetInput.setA + $336b = GetInput.clearA + $336e = GetInput.readB + $3372 = GetInput.setB + $337d = GetInput.clearB + $3380 = GetInput.readSelect + $3384 = GetInput.setSelect + $338f = GetInput.clearSelect + $3392 = GetInput.readStart + $3396 = GetInput.setStart + $33a1 = GetInput.clearStart + $33a4 = GetInput.dpad + $33b1 = GetInput.readUp + $33b5 = GetInput.setUp + $33c0 = GetInput.clearUp + $33c3 = GetInput.readDown + $33c7 = GetInput.setDown + $33d2 = GetInput.clearDown + $33d5 = GetInput.readLeft + $33d9 = GetInput.setLeft + $33e4 = GetInput.clearLeft + $33e7 = GetInput.readRight + $33eb = GetInput.setRight + $33f6 = GetInput.clearRight + $33f9 = GetInput.priorities + $3404 = GetInput.zero + SECTION: $340a-$34d4 ($00cb bytes) ["Title Function Trampolines"] + $340a = SwitchToTitle + $3413 = TitleEventLoopHandler + $341d = TitleVBlankHandler + $3427 = PersistLevel + $3435 = DrawSpeedMain + $3485 = DrawSpeedSettings + SECTION: $34d5-$359a ($00c6 bytes) ["Time Functions"] + $34d5 = TimeInit + $34f5 = StartCountdown + $3503 = ResetGameTime + $350e = CheckTorikan + $3525 = CheckTorikan.failure + $3527 = CheckTorikan.success + $352a = HandleTimers + $3550 = HandleTimers.reduce + $355d = HandleTimers.clock + $3577 = HandleTimers.go + SECTION: $359b-$364c ($00b2 bytes) ["Progress Functions"] + $359b = SetProgress + $35a6 = SetProgress.loop + $35aa = SetProgress.correct + $35d1 = SetProgress.wvr_u1 + $35dd = SetProgress.wvr_u2 + $35eb = SetProgress.wvr_u3 + $35f7 = SetProgress.wvr_u4 + $3605 = SetProgress.wvr_u5 + $3611 = SetProgress.wvr_u6 + $361f = SetProgress.wvr_u7 + $362b = SetProgress.wvr_u8 + $3639 = SetProgress.wvr_u9 + $3645 = SetProgress.wvr_u10 + SECTION: $364d-$36de ($0092 bytes) ["Code Entry Point"] + $364d = Main + $3676 = Main.notgbc + $367c = Main.wvr_u1 + $36a3 = EventLoop + $36b9 = EventLoop.eventloopjumps + $36c2 = EventLoopPostHandler + $36c4 = EventLoopPostHandler.wvb_u2 + $36d6 = EventLoopPostHandler.vblankjumps + SECTION: $36df-$3756 ($0078 bytes) ["Hi Score Data"] + $36df = sHiscoreDefaultData + SECTION: $3757-$37a8 ($0052 bytes) ["Tile Functions"] + $3757 = LoadTitleTiles + $3775 = LoadGameplayTiles + $378b = LoadGameplayTiles.gbc + $379a = LoadGameplayTiles.dmg + SECTION: $37a9-$37e4 ($003c bytes) ["Time Data"] + $37a9 = sFramesToCS + SECTION: $37e5-$3812 ($002e bytes) ["Memory Functions"] + $37e5 = UnsafeMemCopy + $37ee = SafeMemCopy.wvr_u1 + $37ee = SafeMemCopy + $37fd = UnsafeMemSet + $3805 = SafeMemSet + $3805 = SafeMemSet.wvr_u2 + SECTION: $3813-$3838 ($0026 bytes) ["Gameplay Function Trampolines"] + $3813 = SwitchToGameplay + $381c = SwitchToGameplayBig + $3825 = GamePlayEventLoopHandler + $382f = GamePlayBigEventLoopHandler + SECTION: $3839-$385d ($0025 bytes) ["Interrupt Initialization Functions"] + $3839 = EnableScreenSquish + $3853 = DisableScreenSquish + SECTION: $385e-$387f ($0022 bytes) ["OAM Functions"] + $385e = CopyOAMHandler + $386a = ClearOAM + SECTION: $3880-$388e ($000f bytes) ["Banking Functions"] + $3880 = BankingInit + SECTION: $388f-$3898 ($000a bytes) ["OAM DMA Code"] + $388f = OAMDMA + $3899 = OAMDMAEnd + EMPTY: $3899-$3fff ($0767 bytes) + TOTAL EMPTY: $0770 bytes ROMX bank #1: SECTION: $4000-$4007 ($0008 bytes) ["Bank ID BANK_OTHER"] @@ -2899,7 +2899,7 @@ HRAM bank #0: TOTAL EMPTY: $0003 bytes SUMMARY: - ROM0: 14470 bytes used / 1914 free + ROM0: 14480 bytes used / 1904 free ROMX: 64126 bytes used / 34178 free in 6 banks SRAM: 1551 bytes used / 6641 free in 1 bank WRAM0: 3684 bytes used / 412 free diff --git a/bin/DMGTRIS.pocket b/bin/DMGTRIS.pocket index a9132f6..9df5f3e 100644 Binary files a/bin/DMGTRIS.pocket and b/bin/DMGTRIS.pocket differ diff --git a/bin/DMGTRIS.sym b/bin/DMGTRIS.sym index bd9da67..91a0b17 100644 --- a/bin/DMGTRIS.sym +++ b/bin/DMGTRIS.sym @@ -265,161 +265,161 @@ 00:26be SpecialLevelInit.loaddata 00:26f3 LevelUp 00:271d LevelUp.doit -00:2767 LevelUp.checknlevel -00:27b6 LevelUp.bellmaybe -00:27cf LevelUp.leveljinglemaybe -00:27dc LevelUp.checkspeedup -00:281b DoSpeedUp -00:285c CheckSpecialLevelConditions -00:288d CheckSpecialLevelConditions.override -00:28a8 CheckSpecialLevelConditions.nooverride -00:28ae CheckSpecialLevelConditions.speciallock -00:28cf CheckSpecialLevelConditions.bones -00:28e4 CheckSpecialLevelConditions.enterthebonezone -00:28e9 CheckSpecialLevelConditions.invis -00:28fe CheckSpecialLevelConditions.vanishoxyaction -00:2903 CheckSpecialLevelConditions.killscreen -00:2914 CheckSpecialLevelConditions.rip -00:2944 CheckSpecialLevelConditions.staffroll -00:2952 CheckSpecialLevelConditions.justkill -00:2966 TriggerKillScreen -00:2988 sTGM1GradeScores -00:29aa sTGM3InternalGradeSystem -00:2a4a sTGM3GradeBoosts -00:2a69 sTGM3LevelMultiplier -00:2a6d sTGM3BaselineCOOL -00:2a76 sTGM3REGRETConditions -00:2a8a sDMGTGrading -00:2b3e sDMGTGaugeLUT -00:2c3e SFXInit -00:2c60 SFXPopQueue -00:2c75 SFXPushQueue -00:2c86 SFXProcessQueue -00:2cb4 SFXTriggerNoise -00:2cda SFXEnqueue -00:2cef SFXEnqueue.findsfx -00:2e49 SFXKill -00:2e76 SFXPlayNoise -00:2e81 SFXPlayNoise.noisereg -00:2e98 SFXPlayNoise.savenoiseplayhead -00:2ea1 SFXPlay -00:2eaf SFXPlay.play -00:2ebb SFXPlay.getRegister -00:2ecf SFXPlay.savePlayhead -00:2ed8 HarvestEntropy -00:2ede HarvestEntropy.loop -00:2eff RNGInit -00:2f65 RNGInit.complexinit -00:2f97 ShiftHistory -00:2fb4 GetNextHellPiece -00:2fb9 GetNextTGM1Piece -00:2fd6 GetNextTGM2Piece -00:2ff3 GetNextNesPiece -00:3001 GetNextTGM3Piece -00:30b8 GetNextPiece -00:30c6 GetNextPiece.nextpiecejumps -00:30d5 Next35Piece -00:30df Next7Piece -00:30e9 NextByte -00:3109 sProgressData -00:3253 ScoreInit -00:327b IncreaseScore -00:32b3 IncreaseScore.doConvert -00:32cb IncreaseScore.carry -00:32cd IncreaseScore.postConvert -00:32e1 IncreaseScore.preAddDigit -00:3309 IncreaseScore.addDigit -00:331f IncreaseScore.nextDigit -00:3333 InputInit -00:3345 GetInput -00:3345 GetInput.btns -00:3352 GetInput.readA -00:3356 GetInput.setA -00:3361 GetInput.clearA -00:3364 GetInput.readB -00:3368 GetInput.setB -00:3373 GetInput.clearB -00:3376 GetInput.readSelect -00:337a GetInput.setSelect -00:3385 GetInput.clearSelect -00:3388 GetInput.readStart -00:338c GetInput.setStart -00:3397 GetInput.clearStart -00:339a GetInput.dpad -00:33a7 GetInput.readUp -00:33ab GetInput.setUp -00:33b6 GetInput.clearUp -00:33b9 GetInput.readDown -00:33bd GetInput.setDown -00:33c8 GetInput.clearDown -00:33cb GetInput.readLeft -00:33cf GetInput.setLeft -00:33da GetInput.clearLeft -00:33dd GetInput.readRight -00:33e1 GetInput.setRight -00:33ec GetInput.clearRight -00:33ef GetInput.priorities -00:33fa GetInput.zero -00:3400 SwitchToTitle -00:3409 TitleEventLoopHandler -00:3413 TitleVBlankHandler -00:341d PersistLevel -00:342b DrawSpeedMain -00:347b DrawSpeedSettings -00:34cb TimeInit -00:34eb StartCountdown -00:34f9 ResetGameTime -00:3504 CheckTorikan -00:351b CheckTorikan.failure -00:351d CheckTorikan.success -00:3520 HandleTimers -00:3546 HandleTimers.reduce -00:3553 HandleTimers.clock -00:356d HandleTimers.go -00:3591 SetProgress -00:359c SetProgress.loop -00:35a0 SetProgress.correct -00:35c7 SetProgress.wvr_u1 -00:35d3 SetProgress.wvr_u2 -00:35e1 SetProgress.wvr_u3 -00:35ed SetProgress.wvr_u4 -00:35fb SetProgress.wvr_u5 -00:3607 SetProgress.wvr_u6 -00:3615 SetProgress.wvr_u7 -00:3621 SetProgress.wvr_u8 -00:362f SetProgress.wvr_u9 -00:363b SetProgress.wvr_u10 -00:3643 Main -00:366c Main.notgbc -00:3672 Main.wvr_u1 -00:3699 EventLoop -00:36af EventLoop.eventloopjumps -00:36b8 EventLoopPostHandler -00:36ba EventLoopPostHandler.wvb_u2 -00:36cc EventLoopPostHandler.vblankjumps -00:36d5 sHiscoreDefaultData -00:374d LoadTitleTiles -00:376b LoadGameplayTiles -00:3781 LoadGameplayTiles.gbc -00:3790 LoadGameplayTiles.dmg -00:379f sFramesToCS -00:37db UnsafeMemCopy -00:37e4 SafeMemCopy.wvr_u1 -00:37e4 SafeMemCopy -00:37f3 UnsafeMemSet -00:37fb SafeMemSet -00:37fb SafeMemSet.wvr_u2 -00:3809 SwitchToGameplay -00:3812 SwitchToGameplayBig -00:381b GamePlayEventLoopHandler -00:3825 GamePlayBigEventLoopHandler -00:382f EnableScreenSquish -00:3849 DisableScreenSquish -00:3854 CopyOAMHandler -00:3860 ClearOAM -00:3876 BankingInit -00:3885 OAMDMA -00:388f OAMDMAEnd +00:275f LevelUp.checknlevel +00:27b1 LevelUp.bellmaybe +00:27cd LevelUp.leveljinglemaybe +00:27dd LevelUp.checkspeedup +00:281c DoSpeedUp +00:285d CheckSpecialLevelConditions +00:288e CheckSpecialLevelConditions.override +00:28a9 CheckSpecialLevelConditions.nooverride +00:28af CheckSpecialLevelConditions.speciallock +00:28d3 CheckSpecialLevelConditions.bones +00:28e8 CheckSpecialLevelConditions.enterthebonezone +00:28ed CheckSpecialLevelConditions.invis +00:2902 CheckSpecialLevelConditions.vanishoxyaction +00:2907 CheckSpecialLevelConditions.killscreen +00:2918 CheckSpecialLevelConditions.rip +00:2948 CheckSpecialLevelConditions.staffroll +00:2956 CheckSpecialLevelConditions.justkill +00:296a TriggerKillScreen +00:298c sTGM1GradeScores +00:29ae sTGM3InternalGradeSystem +00:2a4e sTGM3GradeBoosts +00:2a6d sTGM3LevelMultiplier +00:2a71 sTGM3BaselineCOOL +00:2a7a sTGM3REGRETConditions +00:2a8e sDMGTGrading +00:2b42 sDMGTGaugeLUT +00:2c42 SFXInit +00:2c64 SFXPopQueue +00:2c79 SFXPushQueue +00:2c8a SFXProcessQueue +00:2cb8 SFXTriggerNoise +00:2cde SFXEnqueue +00:2cf3 SFXEnqueue.findsfx +00:2e4d SFXKill +00:2e80 SFXPlayNoise +00:2e8b SFXPlayNoise.noisereg +00:2ea2 SFXPlayNoise.savenoiseplayhead +00:2eab SFXPlay +00:2eb9 SFXPlay.play +00:2ec5 SFXPlay.getRegister +00:2ed9 SFXPlay.savePlayhead +00:2ee2 HarvestEntropy +00:2ee8 HarvestEntropy.loop +00:2f09 RNGInit +00:2f6f RNGInit.complexinit +00:2fa1 ShiftHistory +00:2fbe GetNextHellPiece +00:2fc3 GetNextTGM1Piece +00:2fe0 GetNextTGM2Piece +00:2ffd GetNextNesPiece +00:300b GetNextTGM3Piece +00:30c2 GetNextPiece +00:30d0 GetNextPiece.nextpiecejumps +00:30df Next35Piece +00:30e9 Next7Piece +00:30f3 NextByte +00:3113 sProgressData +00:325d ScoreInit +00:3285 IncreaseScore +00:32bd IncreaseScore.doConvert +00:32d5 IncreaseScore.carry +00:32d7 IncreaseScore.postConvert +00:32eb IncreaseScore.preAddDigit +00:3313 IncreaseScore.addDigit +00:3329 IncreaseScore.nextDigit +00:333d InputInit +00:334f GetInput +00:334f GetInput.btns +00:335c GetInput.readA +00:3360 GetInput.setA +00:336b GetInput.clearA +00:336e GetInput.readB +00:3372 GetInput.setB +00:337d GetInput.clearB +00:3380 GetInput.readSelect +00:3384 GetInput.setSelect +00:338f GetInput.clearSelect +00:3392 GetInput.readStart +00:3396 GetInput.setStart +00:33a1 GetInput.clearStart +00:33a4 GetInput.dpad +00:33b1 GetInput.readUp +00:33b5 GetInput.setUp +00:33c0 GetInput.clearUp +00:33c3 GetInput.readDown +00:33c7 GetInput.setDown +00:33d2 GetInput.clearDown +00:33d5 GetInput.readLeft +00:33d9 GetInput.setLeft +00:33e4 GetInput.clearLeft +00:33e7 GetInput.readRight +00:33eb GetInput.setRight +00:33f6 GetInput.clearRight +00:33f9 GetInput.priorities +00:3404 GetInput.zero +00:340a SwitchToTitle +00:3413 TitleEventLoopHandler +00:341d TitleVBlankHandler +00:3427 PersistLevel +00:3435 DrawSpeedMain +00:3485 DrawSpeedSettings +00:34d5 TimeInit +00:34f5 StartCountdown +00:3503 ResetGameTime +00:350e CheckTorikan +00:3525 CheckTorikan.failure +00:3527 CheckTorikan.success +00:352a HandleTimers +00:3550 HandleTimers.reduce +00:355d HandleTimers.clock +00:3577 HandleTimers.go +00:359b SetProgress +00:35a6 SetProgress.loop +00:35aa SetProgress.correct +00:35d1 SetProgress.wvr_u1 +00:35dd SetProgress.wvr_u2 +00:35eb SetProgress.wvr_u3 +00:35f7 SetProgress.wvr_u4 +00:3605 SetProgress.wvr_u5 +00:3611 SetProgress.wvr_u6 +00:361f SetProgress.wvr_u7 +00:362b SetProgress.wvr_u8 +00:3639 SetProgress.wvr_u9 +00:3645 SetProgress.wvr_u10 +00:364d Main +00:3676 Main.notgbc +00:367c Main.wvr_u1 +00:36a3 EventLoop +00:36b9 EventLoop.eventloopjumps +00:36c2 EventLoopPostHandler +00:36c4 EventLoopPostHandler.wvb_u2 +00:36d6 EventLoopPostHandler.vblankjumps +00:36df sHiscoreDefaultData +00:3757 LoadTitleTiles +00:3775 LoadGameplayTiles +00:378b LoadGameplayTiles.gbc +00:379a LoadGameplayTiles.dmg +00:37a9 sFramesToCS +00:37e5 UnsafeMemCopy +00:37ee SafeMemCopy.wvr_u1 +00:37ee SafeMemCopy +00:37fd UnsafeMemSet +00:3805 SafeMemSet +00:3805 SafeMemSet.wvr_u2 +00:3813 SwitchToGameplay +00:381c SwitchToGameplayBig +00:3825 GamePlayEventLoopHandler +00:382f GamePlayBigEventLoopHandler +00:3839 EnableScreenSquish +00:3853 DisableScreenSquish +00:385e CopyOAMHandler +00:386a ClearOAM +00:3880 BankingInit +00:388f OAMDMA +00:3899 OAMDMAEnd 01:4008 sDMGTSpeedCurve 01:4203 sDMGTSpeedCurveEnd 01:4205 sDMGTSpeedCurveSpecialData diff --git a/src/level.asm b/src/level.asm index cbacbbb..305f057 100644 --- a/src/level.asm +++ b/src/level.asm @@ -301,10 +301,7 @@ LevelUp:: ld a, h ldh [hLevel+1], a call DoSpeedUp - call CheckSpecialLevelConditions - call SFXKill - ld a, SFX_RANKGM - jp SFXEnqueue + jp CheckSpecialLevelConditions .checknlevel ; Make wNLevel make sense. @@ -331,6 +328,7 @@ LevelUp:: jr nz, .checkspeedup ld a, $FF ldh [hRequiresLineClear], a + call SFXKill ld a, SFX_LEVELLOCK call SFXEnqueue jr .leveljinglemaybe @@ -370,6 +368,7 @@ LevelUp:: jr z, .checkspeedup ld a, $FF ldh [hRequiresLineClear], a + call SFXKill ld a, SFX_LEVELLOCK call SFXEnqueue @@ -379,6 +378,7 @@ LevelUp:: ldh a, [hCLevel+1] cp a, b jr z, .checkspeedup + call SFXKill ld a, SFX_LEVELUP call SFXEnqueue @@ -556,8 +556,9 @@ CheckSpecialLevelConditions: ld a, $FF ldh [hRequiresLineClear], a ld [wNoMoreLocks], a - ld a, SFX_LEVELLOCK push bc + call SFXKill + ld a, SFX_LEVELLOCK call SFXEnqueue pop bc diff --git a/src/sfx.asm b/src/sfx.asm index 68d31a1..ffbaa25 100644 --- a/src/sfx.asm +++ b/src/sfx.asm @@ -376,6 +376,10 @@ SFXKill:: ret z cp a, SFX_RANKGM ret z + cp a, SFX_LEVELLOCK + ret z + cp a, SFX_LEVELUP + ret z ; Kill all sound without pops. ld a, %00111111