From a182bcc3e3665de3f85648534796568dbef61113 Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Thu, 2 Nov 2023 19:32:36 +0100 Subject: [PATCH] Fix S and M grade display. Fix grade animation. --- bin/DMGTRIS.GBC | Bin 131072 -> 131072 bytes bin/DMGTRIS.map | 461 +++++++++++++++++++++++---------------------- bin/DMGTRIS.pocket | Bin 131072 -> 131072 bytes bin/DMGTRIS.sym | 305 +++++++++++++++--------------- src/sprites.asm | 31 ++- 5 files changed, 409 insertions(+), 388 deletions(-) diff --git a/bin/DMGTRIS.GBC b/bin/DMGTRIS.GBC index 91d8185acd0cb70053eaea08dfd4c4add9872236..ca9ce5b6ed417a1e79f5ed5024104957a4b35adf 100644 GIT binary patch delta 3184 zcma)84{Q_H8Nbi}5@T@U6pUkR=U(ERy%Mdkj)_vZI3(1NiG>m%TeB|7k`_i$HK|j@ zC|S&(mX4}v;D9qL?b6XUQcD%O49uj-%X(C^Ay1)&1=O+TsY?|a{S_x$@kUo2J{ifvKWaut2kEx_o2D*zexJK2M=k=CYt98f< z?RHX`<#Mmlm1OihL>T)j_BL;B!#XL;jr`3KgOLS}&1Tp&@|g2q>aDXvyKQ#gWwvE* zDNJ~gu&wgmXvLBWJ}|W_m5b8}dz3fFrhb-6D{e!yBFc{!qE#5Ztk=3{YJ=gW{AFRR z@`$_1tK``ls@;5r+XC7oJn7xkx7W8*VOR%WDu2vJn)U`12>)9#g>T7Ma?ex6%$8tmYCNAtfu-dO@6bS8r9*ytAaJ8z zsacXu(*r_x;7OC675*IPve{X_LP`p&s}@62c)aSH&ZIYUCYm{QE^Ot?Xi_*`btcfy z<_2gq7Q@!qH^J(kaw4@8DIx4*YaD|tit&J(=^&%R+iU=PU1EKB{RbN)NiSbEb)2R% zrxfcoo7q`On>Z9*IbSsur+hh1@(t2hqgP=YWga`%W^$q$wX(EQF>13om(!+^IB}cq z{%Z|*Zd1IT$m7-dIbPP{*W=~$EA7i~zk6%vJ<*@u(_+5bFr5nKZwB&96-t(VMuM@vh7f(&LzjhUdyob>+7_bkRMTp&=HhUPZ6MQhj{SnRhv?Z_ zy4OeBeDq2+?c~TnZ6;gTj?r3)grvoxV(kZc^43i9LansJDRouYEaS8^GA$jiRnbQ? z$aRAz&1{YH)~T_$LXW38p7D3Eh=*TI7B|k!yHDME{0mjr%m=v50jSTV8IDQVgb*+THZcb$UE1l`SC(t9XOy5tkx1`zbFjc zVS$>8NzOCZwR#O{DFiv`O5zm@?7F`(%aIcoU|Y1pT|8Wq5u%wRvDk!3K9cEQCHE`LDBZQ5chI;u^OD@po2M30+7Y2K(bWt-M>de5 z@+FGrOI>1lGu$#^r?0OEk0r}x4v9t&PrT6zFF`V~e-i{9 z;X5W~hvh%<49>AZzN+^9rvmTvcA`tA zxD{4rd!faR*)Z-(u{bviaesHzGYv4My- z_*x?QEbJ_L0fxnagWxMS>fYLby8qol2pDxQqVBnb<2iT>HlpeWlzd8+;^%q$Dm<>T z>iV|hCS?wNS>o`2OQ?pv!!N8=%xr`baqVFscxJj%DKc*io2$p<`zcaU#Me_~VG-X* z5nmB!QiK$7E=9N^wxr48B6g<9k|Oq`$+9A@PLmZn&Xtal`ozt{Ae->*4fr!1 nXDEH!ow-7HFC=Wrbv94M{!UmVUOoxo|7+R~NF03)9((9NZdx!L delta 3207 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 delta 3207 zcma)8eQ*@z8Qqy_@l#Qx;WmEyaqoS9D}+}k>~C2Y8zTy|5g5I#g6o&-(wTi!^$cn)&l)YUR_`z- zY;=;+F)nkQE+&I#p^9-XVQ=x)^;jp3aRdKwC17BNYpoSF4QzE^(;iJF`eUv42Ug+n z(!1w*=a%rH@g1p5Hyw4xd23?)_o=j6hEbmp^-e@9V)J;PaHVv=H|AHfY?$hgK<+Vv z#)N(ThW0Ii?JC2%_(J&-UnPGoX*_}a5#&EMxCMDR@?{491M+I*4;UPfN03(=d?)f! z@QzQ^=o0zSiIl1q!dnR@*d?u#g^#xv6e8;d( z3$ur`0SEa49Kh1`LSL{fR2szf-4izbDd+3@;}~@Q7JFU_J`r0U!nHb>x}7`god1*- z1*Hdr(ypL%Z&3PmkZuiKu2jQwZ>H&1p*{2)%a>)s%}}%B%QC)1>J>JX&4yl~qwF4c zuU|P8S5BOc+4&;cD-4&N3jLDJbkTSsfvvIcA=dc6#!8h$Iwbs&4ZC);DAPS&rjZ;I zC>z3FU$6nZJ4prU_47sJFVM7dLbZSBu)0fWj6;zY^JU}RlrP3fR*~wkQH5>PY3x*o z#f|FK%hGDepu^@~Kw|@M5U=Hqx5MDOMe%+(i+A@8ye-Ge=jXGFoeOTgb$$C?@!#E5 zXTA8Ta4q~Wu3*4*vNJXMO5~UCMXlayIR?tF@E{f7u z%BjPz8#`9u=u&Dk(<2TWT(G*hXk!)m5o2qM^?wko|D=RcVv(e&p??!DaJTp#8Vq5 zOad4yM)W1IMV{IgbCIWZeVz(q+`^?efn$XBuhplrkI*gkI>OkjbsF+CM9D{4n8HXB zM;H|kKrci8jxeP|X>4F!^i`kG6%G8kiVU_(9Q_5Jbk&*tRGrTHJr`@p!`)!lOyc>h zhCF3p-)3!fSuE%^74(@3?#nHIQAVIcajZL0Lt46Fs@~{y4cTpApWk!VlqouIN-;EY zpdSK`;sE~@?LF`=aQ3e`>09p9EpS==64xI`^$$gdqIKk}8fU{pr0xZ<;RGVFf$wfT z@9fFt-OIH6NG`7p>@o(H>xrTla|5^8AY3AGzNw!3mXW$#kdsa)U$()HMb%>*IeZSb zfj5ia3?y+50*ns%!tnqd57IR0NrA$6x8Zs3=}D2UG%{`5dr}?)CpT3=pTpkjm#)Xf zlY8K&;+8m6K&v?K8Q2W1$*XaA31Cd@TmcWx7Q%`USN10oqZWC;(z!(LRGC4#VoeE5TMqvlXGQd^Ujv-1vlv>#LRZ%gq` zd6X`$!gnxMPJ`m*dN=~T$=wZ5;fmchG21Wyjc0I<)$#?c@4r;|Yg-dKRcaH@H^TIG z4Mmi1RA8sj`YPo^c@)b$mCYoTg6X>S5Wiu<7fo0(VOx5#-e|ana6T1E>DJWSMtS~Nr?NCkGdxz?o>WnJ^|C; zVFeMbP?@aW36DBZ|0njq?g<-+XoDXn&pZR$^IiZ!?CO9(v03-_rKtPAbU?_gdl7Zd zC0)=-d3l+C^mz6o||B0l_oV zlS+|k!`NIqCf`eul03ecA~W;&a*71VwdqbSI|_bnPk-J*>W2-xA%4V! zpETj;O&C{}vnSRkO?b$JKQ-ZR46IQ4C$I7WZJkNjl;_PX6+4??miYcri2YyFHbU~i IaoD=yKPSa1jsO4v diff --git a/bin/DMGTRIS.sym b/bin/DMGTRIS.sym index 1887310..b1fb94d 100644 --- a/bin/DMGTRIS.sym +++ b/bin/DMGTRIS.sym @@ -103,158 +103,159 @@ 00:1841 ApplyNumbers4 00:185d SetNumberSpritePositions 00:1944 GradeRendering -00:1973 GradeRendering.effect -00:1983 GradeRendering.noeffect -00:198b GradeRendering.drawgrade -00:1992 GradeRendering.regulargrade -00:199a GradeRendering.sgrade -00:19b0 GradeRendering.mgrade -00:19c6 GradeRendering.lettergrade -00:19e3 GradeRendering.mk -00:19e9 GradeRendering.mv -00:19ef GradeRendering.mo -00:19f5 GradeRendering.mm -00:19fb GradeRendering.gmgrade -00:1a06 SFXInit -00:1a28 SFXPopQueue -00:1a3d SFXPushQueue -00:1a4e SFXProcessQueue -00:1a7c SFXTriggerNoise -00:1aa2 SFXEnqueue -00:1ab7 SFXEnqueue.findsfx -00:1c10 SFXKill -00:1c3b SFXPlayNoise -00:1c46 SFXPlayNoise.noisereg -00:1c5d SFXPlayNoise.savenoiseplayhead -00:1c66 SFXPlay -00:1c74 SFXPlay.play -00:1c80 SFXPlay.getRegister -00:1c94 SFXPlay.savePlayhead -00:1c9d RNGInit -00:1ce8 RNGInit.complexinit -00:1d19 ShiftHistory -00:1d36 GetNextHellPiece -00:1d3b GetNextTGM1Piece -00:1d58 GetNextTGM2Piece -00:1d75 GetNextNesPiece -00:1d83 GetNextTGM3Piece -00:1e3a GetNextPiece -00:1e48 GetNextPiece.nextpiecejumps -00:1e57 Next35Piece -00:1e61 Next7Piece -00:1e6b NextByte -00:1e8b LevelInit -00:1edb LevelUp -00:1eff LevelUp.doit -00:1f43 LevelUp.checknlevel -00:1f92 LevelUp.bellmaybe -00:1fa4 LevelUp.leveljinglemaybe -00:1fb1 LevelUp.checkspeedup -00:1fed DoSpeedUp -00:202e GradeInit -00:204f GradeInit.notdeat -00:205d GradeInit.notshir -00:2064 UpdateGrade -00:2072 UpdateGrade.gradejumptable -00:2084 PrepareScore -00:209b UpdateGradeTGM1 -00:20a5 UpdateGradeTGM1.trygradeup -00:20bf UpdateGradeTGM1.increasegrade -00:20d1 UpdateGradeTGM1.skipjingle -00:20de UpdateGradeTGM1.maybegm -00:20f4 UpdateGradeDEAT -00:2100 UpdateGradeDEAT.notgm -00:2119 UpdateGradeDEAT.notm -00:2139 UpdateGradeDEAT.disqualify -00:213f UpdateGradeSHIR -00:217f UpdateGradeSHIR.s5torikan -00:218f UpdateGradeSHIR.s10torikan -00:219e UpdateGradeSHIR.disqualify -00:21a4 sTGM1GradeScores -00:21c6 sTGM3InternalGradeSystem -00:2266 sTGM3GradeBoosts -00:2285 sTGM3LevelMultiplier -00:2289 sTGM3BaselineCOOL -00:2292 sTGM3REGRETConditions -00:22a6 InputInit -00:22b8 GetInput -00:22b8 GetInput.btns -00:22c5 GetInput.readA -00:22c9 GetInput.setA -00:22d4 GetInput.clearA -00:22d7 GetInput.readB -00:22db GetInput.setB -00:22e6 GetInput.clearB -00:22e9 GetInput.readSelect -00:22ed GetInput.setSelect -00:22f8 GetInput.clearSelect -00:22fb GetInput.readStart -00:22ff GetInput.setStart -00:230a GetInput.clearStart -00:230d GetInput.dpad -00:231a GetInput.readUp -00:231e GetInput.setUp -00:2329 GetInput.clearUp -00:232c GetInput.readDown -00:2330 GetInput.setDown -00:233b GetInput.clearDown -00:233e GetInput.readLeft -00:2342 GetInput.setLeft -00:234d GetInput.clearLeft -00:2350 GetInput.readRight -00:2354 GetInput.setRight -00:235f GetInput.clearRight -00:2362 GetInput.priorities -00:236d GetInput.zero -00:2373 ScoreInit -00:2393 IncreaseScore -00:23c7 IncreaseScore.doConvert -00:23df IncreaseScore.carry -00:23e1 IncreaseScore.postConvert -00:23f5 IncreaseScore.preAddDigit -00:2415 IncreaseScore.addDigit -00:242b IncreaseScore.nextDigit -00:243f RestoreSRAM -00:2498 InitializeSRAM -00:24f6 Main -00:250b Main.wvr_u1 -00:2524 Main.notgbc -00:2553 Main.wvb_u2 -00:255e EventLoop -00:2574 EventLoop.eventloopjumps -00:257d EventLoopPostHandler -00:257f EventLoopPostHandler.wvb_u3 -00:2591 EventLoopPostHandler.vblankjumps -00:259a SwitchToTitle -00:25a4 TitleEventLoopHandler -00:25ae TitleVBlankHandler -00:25b8 DrawOption6 -00:2608 TimeInit -00:261d ResetGameTime -00:2628 CheckTorikan -00:263f CheckTorikan.failure -00:2641 CheckTorikan.success -00:2644 HandleTimers -00:2671 LoadTitleTiles -00:268f LoadGameplayTiles -00:26a5 LoadGameplayTiles.gbc -00:26b4 LoadGameplayTiles.dmg -00:26c3 UnsafeMemCopy -00:26cc SafeMemCopy.wvr_u1 -00:26cc SafeMemCopy -00:26db UnsafeMemSet -00:26e3 SafeMemSet -00:26e3 SafeMemSet.wvr_u2 -00:26f1 SwitchToGameplay -00:26fb SwitchToGameplayBig -00:2705 GamePlayEventLoopHandler -00:270f GamePlayBigEventLoopHandler -00:2719 CopyOAMHandler -00:2725 ClearOAM -00:273b IntrInit -00:273f InitializeLCDCInterrupt -00:2754 OAMDMA -00:275e OAMDMAEnd +00:1979 GradeRendering.effect +00:1989 GradeRendering.noeffect +00:1991 GradeRendering.drawgrade +00:1998 GradeRendering.regulargrade +00:19a0 GradeRendering.sgrade +00:19b6 GradeRendering.hisgrade +00:19cc GradeRendering.mgrade +00:19e2 GradeRendering.lettergrade +00:19ff GradeRendering.mk +00:1a05 GradeRendering.mv +00:1a0b GradeRendering.mo +00:1a11 GradeRendering.mm +00:1a17 GradeRendering.gmgrade +00:1a22 SFXInit +00:1a44 SFXPopQueue +00:1a59 SFXPushQueue +00:1a6a SFXProcessQueue +00:1a98 SFXTriggerNoise +00:1abe SFXEnqueue +00:1ad3 SFXEnqueue.findsfx +00:1c2c SFXKill +00:1c57 SFXPlayNoise +00:1c62 SFXPlayNoise.noisereg +00:1c79 SFXPlayNoise.savenoiseplayhead +00:1c82 SFXPlay +00:1c90 SFXPlay.play +00:1c9c SFXPlay.getRegister +00:1cb0 SFXPlay.savePlayhead +00:1cb9 RNGInit +00:1d04 RNGInit.complexinit +00:1d35 ShiftHistory +00:1d52 GetNextHellPiece +00:1d57 GetNextTGM1Piece +00:1d74 GetNextTGM2Piece +00:1d91 GetNextNesPiece +00:1d9f GetNextTGM3Piece +00:1e56 GetNextPiece +00:1e64 GetNextPiece.nextpiecejumps +00:1e73 Next35Piece +00:1e7d Next7Piece +00:1e87 NextByte +00:1ea7 LevelInit +00:1ef7 LevelUp +00:1f1b LevelUp.doit +00:1f5f LevelUp.checknlevel +00:1fae LevelUp.bellmaybe +00:1fc0 LevelUp.leveljinglemaybe +00:1fcd LevelUp.checkspeedup +00:2009 DoSpeedUp +00:204a GradeInit +00:206b GradeInit.notdeat +00:2079 GradeInit.notshir +00:2080 UpdateGrade +00:208e UpdateGrade.gradejumptable +00:20a0 PrepareScore +00:20b7 UpdateGradeTGM1 +00:20c1 UpdateGradeTGM1.trygradeup +00:20db UpdateGradeTGM1.increasegrade +00:20ed UpdateGradeTGM1.skipjingle +00:20fa UpdateGradeTGM1.maybegm +00:2110 UpdateGradeDEAT +00:211c UpdateGradeDEAT.notgm +00:2135 UpdateGradeDEAT.notm +00:2155 UpdateGradeDEAT.disqualify +00:215b UpdateGradeSHIR +00:219b UpdateGradeSHIR.s5torikan +00:21ab UpdateGradeSHIR.s10torikan +00:21ba UpdateGradeSHIR.disqualify +00:21c0 sTGM1GradeScores +00:21e2 sTGM3InternalGradeSystem +00:2282 sTGM3GradeBoosts +00:22a1 sTGM3LevelMultiplier +00:22a5 sTGM3BaselineCOOL +00:22ae sTGM3REGRETConditions +00:22c2 InputInit +00:22d4 GetInput +00:22d4 GetInput.btns +00:22e1 GetInput.readA +00:22e5 GetInput.setA +00:22f0 GetInput.clearA +00:22f3 GetInput.readB +00:22f7 GetInput.setB +00:2302 GetInput.clearB +00:2305 GetInput.readSelect +00:2309 GetInput.setSelect +00:2314 GetInput.clearSelect +00:2317 GetInput.readStart +00:231b GetInput.setStart +00:2326 GetInput.clearStart +00:2329 GetInput.dpad +00:2336 GetInput.readUp +00:233a GetInput.setUp +00:2345 GetInput.clearUp +00:2348 GetInput.readDown +00:234c GetInput.setDown +00:2357 GetInput.clearDown +00:235a GetInput.readLeft +00:235e GetInput.setLeft +00:2369 GetInput.clearLeft +00:236c GetInput.readRight +00:2370 GetInput.setRight +00:237b GetInput.clearRight +00:237e GetInput.priorities +00:2389 GetInput.zero +00:238f ScoreInit +00:23af IncreaseScore +00:23e3 IncreaseScore.doConvert +00:23fb IncreaseScore.carry +00:23fd IncreaseScore.postConvert +00:2411 IncreaseScore.preAddDigit +00:2431 IncreaseScore.addDigit +00:2447 IncreaseScore.nextDigit +00:245b RestoreSRAM +00:24b4 InitializeSRAM +00:2512 Main +00:2527 Main.wvr_u1 +00:2540 Main.notgbc +00:256f Main.wvb_u2 +00:257a EventLoop +00:2590 EventLoop.eventloopjumps +00:2599 EventLoopPostHandler +00:259b EventLoopPostHandler.wvb_u3 +00:25ad EventLoopPostHandler.vblankjumps +00:25b6 SwitchToTitle +00:25c0 TitleEventLoopHandler +00:25ca TitleVBlankHandler +00:25d4 DrawOption6 +00:2624 TimeInit +00:2639 ResetGameTime +00:2644 CheckTorikan +00:265b CheckTorikan.failure +00:265d CheckTorikan.success +00:2660 HandleTimers +00:268d LoadTitleTiles +00:26ab LoadGameplayTiles +00:26c1 LoadGameplayTiles.gbc +00:26d0 LoadGameplayTiles.dmg +00:26df UnsafeMemCopy +00:26e8 SafeMemCopy.wvr_u1 +00:26e8 SafeMemCopy +00:26f7 UnsafeMemSet +00:26ff SafeMemSet +00:26ff SafeMemSet.wvr_u2 +00:270d SwitchToGameplay +00:2717 SwitchToGameplayBig +00:2721 GamePlayEventLoopHandler +00:272b GamePlayBigEventLoopHandler +00:2735 CopyOAMHandler +00:2741 ClearOAM +00:2757 IntrInit +00:275b InitializeLCDCInterrupt +00:2770 OAMDMA +00:277a OAMDMAEnd 01:4008 sDMGTSpeedCurve 01:4210 sDMGTSpeedCurveEnd 01:4212 sTGM1SpeedCurve diff --git a/src/sprites.asm b/src/sprites.asm index 386929a..8067451 100644 --- a/src/sprites.asm +++ b/src/sprites.asm @@ -655,7 +655,10 @@ GradeRendering:: cp a, GRADE_NONE ret z - ; If the effect timer is greater than 0, decrement it and do some palette magic. + ; If the effect timer is greater than 0 and on even frames, decrement it and do some palette magic. + ldh a, [hFrameCtr] + cp a, 0 + jr z, .noeffect ld a, [wEffectTimer] cp a, 0 jr z, .noeffect @@ -693,9 +696,9 @@ GradeRendering:: ret .sgrade - ; Is the grade M1 or better? - cp a, GRADE_M1 - jr nc, .mgrade + ; Is the grade S10 or better? + cp a, GRADE_S10 + jr nc, .hisgrade ; Draw as S grade. ld a, "S" @@ -708,13 +711,29 @@ GradeRendering:: ld [wGrade1+2], a ret +.hisgrade + ; Is the grade M1 or better? + cp a, GRADE_M1 + jr nc, .mgrade + + ; Draw as high S grade. + ld a, "S" + ld [wGrade0+2], a + ld a, [wDisplayedGrade] + sub a, GRADE_S10 + ld b, a + ld a, "a" + add a, b + ld [wGrade1+2], a + ret + .mgrade ; Is the grade one of the letter grades? cp a, GRADE_M jr nc, .lettergrade ; Draw as M grade. - ld a, "M" + ld a, "m" ld [wGrade0+2], a ld a, [wDisplayedGrade] sub a, GRADE_M1 @@ -730,7 +749,7 @@ GradeRendering:: jr z, .gmgrade ; Draw as MX grade. - ld a, "M" + ld a, "m" ld [wGrade0+2], a ld a, [wDisplayedGrade] cp a, GRADE_M