From 29ffa55a95be7d5596cd7b738455f5a3b8eece67 Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Fri, 10 Nov 2023 23:16:47 +0100 Subject: [PATCH] Certain SFX priorities. --- bin/DMGTRIS.GBC | Bin 131072 -> 131072 bytes bin/DMGTRIS.map | 468 ++++++++++++++++++++++----------------------- bin/DMGTRIS.pocket | Bin 131072 -> 131072 bytes bin/DMGTRIS.sym | 310 +++++++++++++++--------------- src/level.asm | 11 +- src/sfx.asm | 4 + 6 files changed, 399 insertions(+), 394 deletions(-) diff --git a/bin/DMGTRIS.GBC b/bin/DMGTRIS.GBC index 681b6ddd33060c3a8a3472631f89c3ce75e3cb3b..af6c3aff2ddb4dab3e25efc332375e8e9cc911ad 100644 GIT binary patch delta 4363 zcmb_geRLC57N46mY17iQDQ%j5(9E-iq@}izufzi#Q<1hTLP1+t@c>IfP+--gM}ec1 zqCgQ9f#EP!SS`rMY70es)*$Y(=-{EjzThWX57g1MyU;zhK}C<1PWH}Z(xiKE*F9(d z$eZ8q-FxS~`{w@Mdu>BQLPJBsF&)56UJo;L%N^~rp<7?vSU>3Y^A}BaojBO;Nxa_xFSj2~`CgBY zy(87fj?91R;Fb1u*_-tvZXG*N8Za`|rh2-EPsz&yGhdizx2`A*@-lPwhfxD#19AaA z(S>Z|7v_C!oLR!9(r&)W&ZdW9F_+R?9Pm?QX=r%do&($XCc77&;k)dkBL3IxWANSi zY%#X8*=d>PiE@awaiQLu16)Dx*nk=?cJr;QvoQQ7?Y+TP+3=ZBZ_c7>$Vkqvc`LIR zWb|B&dC$l4rI&*F~DAg~goifImJ=DzClfujug`7cZm5#MZEmE6wM0!m+ zD!neQXg^8T!TKIIX>7K{H-ndD}PU(m4F!xt7*U|zQR*vxDX z#^z?LBQe?8YDi3ewh9uHq0K{La~!)g5f;jyvQgad~;-#%J|Tz>VKw)LL#iL1xfPgyM|dTwls zp!^|}#hI{5TCqxwk`%`}>6OQ&S81+OT;L=vAboLw7$CJdyt$oX5 zK#|=LAepKqp1VR?B@kWfpM&u6UHCliH`Q6AXHNFY?W5{bYZbbef@+ysQM!pXDJeA9dNIyV2 zJxsSEU5xZDr1M%zWHa*nk>4FQryw1S(o{B)dkE=5>5^@&oQ7;NvgOED;x^7vB#V$N ztPEb3Q#<6e4%yrxr|@%19)hj>>5@7;5G)&)kr4riSLEJLFS}%L{v_+1SEWw}rUhg@ zn~QzDABL3n18n(urDL+9Ub4Y?Me3A3kUpgExWsq(-KF*smtD4Q&ah~dGXvemI zi6=|N!BYC2>+iS7`K}-R^t<*iU2j6sU&ev$8pU>R2wU?H*i_-qmd%Bxm^|0sy}G8f za&2j~{=z5x>2be@ZhqYOFOuGwWQ;pU&s6t|FSqATcobkH&rke(@mD2uB@--vubLfb zle~0=htAKT3qAC&gnlxCmW`*k7Sje#o76=UC(xD>+E7BP$J3&T}lZO7T4>BSH^KV%%m2PQpJ-siSd-cFb&fk~!)ZqdmY;hd#%I$;`s(PNK# z1hXlY%4M-mmdd*#l;7jtqNHFvN2R&_xacJw2m73dTns@XBjS<4$aoE~Di;C5bf^%I z;zv9i;$QcAseK+E^i%1b9?Xx+kt(GsX*$Qy2WBcF?xWqpqGXs=-s2v)Js_vE*%r=A z?r8#pQXZD6Ub0EUwk66uL+FqY~s75c=@VqXs9+a#B`@pVjeNqXC4VZ=?Wba#Fyp<4?Pe(yd07l(>m$U{v+`#T`WSXYU7W8B|CcKVSimA1db62Z936H3ZE;R0h-?w(qRT7?*G zz-XnnH45K|!1Zo&DuUhQY!rSRh22qjDGI-h!fR1z^bZY}8im@?GsYb+7EcRuBP0W6K={LAunF60 zU7jnzl4wBNT9WWnvkn{-d?jTtae5r%vMew&BBtL?$br5F+ z8~xstB03Jq_oif9Hn9&Zb(-sY^o zj?{|VaA#B$X2dn`;+!b4tYze2rzWvg_x!s6^M_eg0Z#YQ@)!Y%tM0+O_XT|4$N2lC zO*$`qrV31G7T`%#WQ9Y+>24}u+q>plpMSm9DtxWE0c In$^w!7gqut0ssI2 delta 4382 zcmb_g4RjRM6`s4B-LU!H4Pn{*?mQF7hQwqgf!!7|Zi=u;Q39Hv;tvua{y^0u=Kvlg z2^9%qwZL$kpr{EYP)l%;P#0+r#WPy6khiE+N)jNWr7elASqrWII*jyTK! zZJ~QS90%kkrj;=70ux93yB6u*)83>;#48cldyR*~Bh~muf9jV_$Ia*v3LD|)8)jHW z9HV#mXOgyeaTG%ZdzI7PiAWsb&lw1e@Up>-?HJaMIDGthgHC*!m8 z*kWwwv$H40O_PJHg$oY-$j{{u75PKqVjthh+6u!@QlA^>lyztI+LR0$3K`E?Rc|GW z@7O$O;0c*#i_JwzI+;z`@$J!mcMNWc!6#yH{O%b47~B%YoObBhHZE?+ z*T(6F4DFnrKbptZd^{c2hDN{nSEe!SjlrdRqW$|~u(c!FFQ{1T=L_@a;Jhr2u`{zg z9y>QnJ&Bo}rIy6Z&oYO^%+TT_F>|y`Au+SGWD|FEZk7}hohko$eg)?g9Oiu2BoVUsHIqF}t}_X1iW+CGkrSNL zJP}khh6rcCD(S>3d4r@Dte0MYO8O1WveA2OYRMLp{Xx#KH*c?OU~fQYk8}_V>JT{) zoPs@fHp=7J+qt0hYc7TM6f?!kdvlhuNyulZd;{_f0X z@&e?wYJd*;J;>cEe+KzFet@((Ot&Cig7j{r3))NM z6y%R0zb9-?MfzQo8rcNy38eQ+mn^H~G-NZ7J&0^MuGAbwvKYx-?!cgI?3UB`drF>w zO}xLP-qi0fZEPS(eu!7JJWL1p%F^-41NNa0gB05ju;rJOPRyl*;K2hmr zUq)bgk&DLwmVRs>8teS+6{DwJY+<#{oGfe#h;B)?$|jyB)E z%JxV5=xk+&*s!6-FetuVDxN77!7d&y6-P?xp#5(*%X#*%eRQzvGyB^xrE4l!u2O7w z1+h)}3Y#jtESX$zronmjy(?==-A|U*XwRME{ZoGief-R_fy5)z^>L@^iJDKN z)c^+mm1%uT&X&*>OrY{q4LjV4X7(bfRS-?KyBOL9w9QZ>iW$8J+r zn9pgSus9j!RrWhZZ}rRRY^I5Gk>#zRQ;Nzo%SE11v1O@}YY-jA#W*C7IS8L8LskLC z82tlmc1M?_He& zUqEKRL(h!P@t-O-erWmT+AWK)afFH zFNJ~}raC`?R?sThiACPaMku@PAir!44^o+S{XtHv_El++R}>j!INYhEe2bb=RVbwz z)j-z?@1#N2)Qb)x?F1u(1wfdWRKO}gyy)=x@I2;jZm!WY#BhgFW==89n=&50(G=#C zi?1yV?0qb-??Fgr4C|%6Pf7b|sCTr=Paj$s?h$hYyBRh?j^H(eRhv`p>sqq^we+sX z_is*r(FHk8SS+uegq2_pDs}VolaS4XAg3S7r9)QgBfGmHz?fHxc!=EHO}6`xDb=>S z+Z4fgx+0WR_P{yDtQ<$xkWeLJv<{<{-p(j|D*~GwmC9Pz$94_?|lv!*|i^k@`$?my!}6rl@FQM?D@gdMW3kS(SnJr9a_Lf$qZXb+8Ni zgyA}P6Z(brg)jjn>Rkw*Cd5V3m~3Xs1D9pSmKwN%ts(F=wpx)9dY1rOfeS<3Qsqs`_Szt2#LKc;GbkPd!GQUB1IUJ%yB|FNire>TI! znK-TgI2TTfmH$0r_PRE}Q9Ty_w=J-7OalUHpwOHAEEqMgPRM-@ve7i-Ij9O1y?{kO z*?ZtQH~?{2*;|FJ&qKOSDe`S0sG%dm^Us3?Le*WN6aKOtYF7}^0bqjED^6KP$GJ>( z4P)QQnAibU6t1HK3SxyzL&Cl5ziL*q=wFe;AeaCE 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 a9132f6085a190050952390c4eb77a0b3f95141a..9df5f3ed12fb0f50a3f05c6716d2e62099ee45e7 100644 GIT binary patch delta 4363 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 In$^wy7gn$wY5)KL delta 4382 zcmb_g4|G%28Gm2Wq@<;7(w306w0YMSn$p@vT1YnFnGPZCPzu_j;vZ~*GKHx}&H+3~ zTLb}dI^c19MNwPEpE-&_!VIz|cs z0oua%L^uJ+O-w6c-UTLs_IelS-qYTqMkFc`*gL|*;gM?mLq843rW0m#2!{>wa}851 zgN~uQ0@Fy_yEuwrI(wbd-i=5cjZpu zK3jtATz2NzgvoMRqoMxKz#w)k9>q*K_@dQIxMNRZJlr=QR#q&jH=-$aVWHWqO@sY5#Ckq$^6>7ewc z^oDd;Z1f%{YoWQ zc|3k@mIe|xJ4-Ezo1bMCiJPItN#f>cnMmShX&Fb{vAJ1NNo=P4=LOR-2XTOq#5U6= z_4TUs9(nny)jg7K8c9!%q=~yn#>P_v4jkdUcf1HW{Hh6_X4l!IRmDxyR>?`u z$(|@G9!7*SV3l-WmApaH3fD@nKPCN!=Gf@{Hnn6+$bk@N*q6UgHn2CLvqw6F1$CGl z3{AwIyPM=u?44Xl`ZbqIdrB-nCLN(B>^G7_A1qc~I?LUS!vrA1XnyWzz61C34f#hxo%Kwax9Nt7V2w=0-_>=UmbiQQ^0mnC4s$sP=?6%wBXkSWdZhOvo!4F} zry_q8`F#;{8q)7#)W{}rPau6zx?))&rz4w+Y$>uOxKeWz$wDOexPyJNu~Sax?<;)* zHu8be22-!Yw4srV4nU%!izsp(~vpshcttw7rzB zETuEcDLa{XrUZwSJ*`hPRERlFalBK%HF(=m_FH-(M7oBJ8T`2^zo@+IFu89h%z9u_ z=w*j!WAt#wReS$7W>;`ZH9TKY$<2=`3WQagqxm zNMc0XK^PfN1!m=3K$y-j#GSd>xh|1E?X^!7CccyY^Y17bNVL>Y7K(B9Q zDtrOiy$(GyG%Ikr@N{7fS?n^@K0rR*2?_XcVVw~y5qp(t-yF6FRlC;+`FWVbXj6xa z6ulGWG5E;t{S2IhJ*aFH8MzL`i%!UquN)bLw<2|kby|2lJae8N>$;M zYE%PVBfOIiIg>6sh_n-o3>E-kUQz+80P(WJ@5l3)yQQT@&k)01N|`yubYE%)e4{DK ztq@=-NN6*5dm&3uhoH9vxHBe?xW2652$@*H?wHz{05#ScfN;GoMKoQ&EnQ?#qB zPus_GmlXwbTcv6mDy4S`uhfG@c%c?XL$&b!i;yoIuZ7Z#Zz_U4@?19E)BiyD>}x`q zhiYM*1FL>V169n^SslKMZjaPsn!SjW`Y}aC6FVC4kkL&!7tN^*zAya=cM5bD?yQ4d z&?5}g!JE)4w9khzC{f>h_%taYn#Ke(QxUu>Gq$wgHEa#Rud&sNjL=;V>~vfh>J}-V z+NKPnVEmNB7(dl8{z)8uB!Y!04UmW9)-}K_DVR`oDX|77*31$=6PE1-yC61zP5D<~ z3r_Qk1{iOQ;1Wx+vc@IR9-q7yrfPlljqv*{rTF8j_6Ot?79YUHl)5TKH!R zjGczl`j2zrv{?DyBW9m#9URkR@qfDsHVkV(Kn)c6Ql15)2G$69&%rn}O??ik!bLA& z(NFLld=3sm0#^1`Ve9jdsZ)x4TNrBSpz!?jV1aOTPuB^5*$y^5qnl23lC&;$gZZeF zWJdADPLdVHS2{^v6o1)C@}u~AC$UAb-cN3hVxyl-isEcPaYS)}pG;HnP*NAE^ljl` zKob#K_p<+0Xeo5DBAOx2k0*w(-sUymKx!o(Tp1OG>G7R+b2gM%RwLQlrAlo1l7AOq z{s?PWfYmNq87Dw-`4T*opU3BYgxAL&>8x}vEHI%>fc2=%f>wBAEdBs6M(P$PE~cYg zrn*M5uuJ*Hpx4*e3Xdia3pFbVGZ@cA){mw=@V&x4wkIOon;Xf)U8+D4Z;Qik$Kg-n guz^A*jx3Db3sw}aV=olO3zvq4d(VH>tY*Q#0FZ$p00000 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