From 9bc2937b100855d7dec7d37fe18893656af536b3 Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Fri, 27 Oct 2023 01:21:56 +0200 Subject: [PATCH] Fix accidental 19.99609375G mode. --- bin/DMGTRIS.GBC | Bin 65536 -> 65536 bytes bin/DMGTRIS.pocket | Bin 65536 -> 65536 bytes src/field.asm | 32 +++++++++++++++----------------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/bin/DMGTRIS.GBC b/bin/DMGTRIS.GBC index 6018a58539be710dae1cb35ff924bee076cd446a..2672cb7a1022031fb2deb8deb7b1276e37761e6c 100644 GIT binary patch delta 2786 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 diff --git a/bin/DMGTRIS.pocket b/bin/DMGTRIS.pocket index 73f021229539566bedf5c5d0be56668807708d5d..c909ec8a1005b6e9019b61d0449c58f51bf0e3cb 100644 GIT binary patch delta 2786 zcmZuz4R9Mr71m03CtLq=WlOG=^c02Ul34gBlK-&JDKS-&0(MIOQaiC}2SPg&U@$|S z0L44Ey7$X!>-rIZn^xeeB&k zaf-!fSv5Cy)edrlbTUq#8Ww!?ebvOfXaXisq^UZvPa3lC=JEqb*X>)%%IKh)<2`hO z^A3YH$@DRdxNKMWa9+y|{af*yG ze~!LD4$DZ|?Ys?jNl!TMN6$;dS?ccf-Wb{rLo+VH-c?62nZPf{a7wCoHLt93IYj2n zXz27g&b}Tp5Ezx=KS~bsHV)w$>4+z9Yy7qx=Roet2N&{Zz$t<7^oYi4X&GM+`PspU>DXnonE&1;|D9@X37 zC5l7KJC!Xe?qBZoJ)JIVH^t1(k0&X73SA`X$Q*d4`>HQ&A=kt-`6AQ_H$>Zp`TuYx{gn=_@zW{J)LuL%xB2C-`{gJ7@{4}iACMaY@?!yc zVwHR>AYWfaFRC59O{+66R4={Q!gHe30zCPd1)GB zTxfJOb$(@uB{fnJvbOyH1%yaCr=mYVhq-m~(I$EcCR_rPNpR?s=X72QhJUoSvx>fh zi>pJ`qu$dw{L|`C$Ef!e-T2z5H>nx;=Yo7xnh3AezSKkT?0YNytM@+fD^g=8%`9&mufyvur}v8Z4|9rWL8CEjT=-?gPmTT zwWt=}A~$ZJ9{|f&-o)~iklv;Z{(cZf$^#jNOMn0<2eX~psJ0fRGox5F63!RHRL$V; zD)_rHN|Ek2D~1UJ2DNil@4qvn6c_p%CLAoQvb!|DvqjmJQEZ6@j3U|?Y#!#3%7RRH zL8d#S*mW7C7-ql%lXq1H`o9&?*NCskKA;`uw&ul5l8YAPRH5a>Xl^5sX!+WhWF8v!@L`Bj(lHnB*=;HDb55r>HTL8m~wjJcf6mTe1k8+zDUo* zi2XoxlKy#dyTKq}S|DVz zK|Bsb4G`@HVF4lx#2p6l10WWFxXU0IAl_aY@k1b5fwA|{( zxZZlv11Idcx=Q4e{#_S!!3A?FPG21sSkVoRrg{+81)rx;}zt z3p{~a#awf7!zXVp^i{?8R<&E+os~Xl_zK8`@$s5$Pe%0$*1~CyPnh6tfiDFA pz8=423O&kH8&3cL delta 2689 zcmZuzeQ+Da6~EP;&epdT6ic?1`V<9n@dtJs`Lp&VhJccqV#7c~zOZMKPH3iShUpAr z8ZuTxlY$3~)1{?A(u#!2eEp{+rU8A3lrrTDNQjWhHO z9u1C1ttU`1`x!l`AUZgn7Eki)ce4+4B<)OZPw9fZUFYQn-6G#=KqL!FhQ0vLbBd2X z!Cs28!5AHE=`%WK1MW8h0^NApUhd+Z)#-*^c;Q$A*#;_O|Ga(I2vdIw$kwJNWC)2IRpp=h55d zT)Hr2bE_3@_WU0N`aBs%NAZ`A=^5FhShTsf*w5(@DfOxkxfH>G zN9d4h!@aIbv=a}w9=Q2f3&TosjGzPx8*E7CQyfim939 zzosqsT+emi;_%{yTz4*Z+921%9z)TPX-}9oS&)%i+{wL=@zbeA(mjx|vc$;PZraTy z*VX-IarjLOxlS&2`XJXSGYc`TX4vr}?>p9k>3ZUX;uJiVe!(z~H##9_96Li$4F%-3Y-RzI5&xo+EK^)A2qh+jSISAXGG zD+B7ffO;UHzQ0^e1XOF7&FVdp-6%OP6eyeRkVFMP;P;^f-s3M{ng}a4Iz#p#D5>0H zs|kF>Uxudf8UG#`{2n^P-h&0Uu|I+3jVv0Jv77WGHbdW6D(DP!=?Vm!ro)O8f}wsT zL0MwZ;V%gd6Tgc=%|Q$dttQ5g2HNZ$Up@s!hRZs7BM~N_tWuA+u}iQwmH@@cPWDf* zqRC@l`0159>e#!)TOX=Vde3CYNPVa$={;dK9!h#gjRrX-tH*INywccqgHYsG!#9^? zn+*YnF-LYFt5)oQ17m2#W-Dx%ORHXn)q-z?rGkZeZUrpPl~HYXN_o;;6=fdg}B3WtY0yK&_DUe;%0V#k}#Oxc62P7>ue4<>`p5=^DjBW!L zbu`skt(UYo*rykHotJpEvzmPftXy*gE7w50Ie-*QZ!yNPcW7Huniw~RLJLh8E12Gz z^KVUQMW$cS@=e_W{%tw`woNIm*bJ~}+j33N5H!v~bAatB&6Z1$Z^BWqJpG{IcXenF zrZjt;*lG<8)&hhtRQsw-UA-yIVPpvKU|3==8`*_E%h>kQgyxJtMn^PPT>T!dtnoXJ zw~gk%0(aK0aYT zfE;<5qYJG8jli-$fIT!FSOS?`Iic z%2?tx$ zoQ$%$z3ii1r)6tD`RnS*etlkY(|M(s&ME8YN94j9pg75SBM}2)03y2b5f&iYfVd-1 z8~|b~9hg(@$ukI;4hXqDPkbMU)j)LT2_A?r5O?N@$AP#C#Jzb!0OF5@5kCN8EfDwR zBdkDt7l^1y41oB9z+hnR&xeRWoB?7(o;U==kAc{fC3HLB%YZlL@F3tv0dLM>2jD}1 zx8|@Dup98U9CiUNGx2Ta1nO=eo+$|M0R9T#?YRymfDMVgIqW^B%meH*ARb$@5zXT- z)^skNZG`&z5Bz*wrSBTsl9!6eEWRhQEO6ZeW%>!7)Xry&+jtBgib$(w8v}n+ti8+R zrDV1-G?{r_z7l?2X7J3xb1Cp!r6}vf=Od*sh!G;a2(f{mm>!7`oQ_nYVO-uAM6mAb;8kNR^a^y>xBtK(yBQR}gF=l%zSWAx1c diff --git a/src/field.asm b/src/field.asm index 70f2684..821be33 100644 --- a/src/field.asm +++ b/src/field.asm @@ -41,7 +41,7 @@ hPieceDataBase: ds 2 hPieceDataBaseFast: ds 2 hPieceDataOffset: ds 1 hCurrentLockDelayRemaining:: ds 1 -hDeepestY: ds 1 +hGrounded: ds 1 hWantedTile: ds 1 hWantedG: ds 1 hActualG: ds 1 @@ -530,10 +530,10 @@ TrySpawnPiece:: ldh [hAwardDownBonus], a ldh [hLockDelayForce], a ldh [hShouldLockIfGrounded], a + ldh [hGravityCtr], a + ldh [hGrounded], a ldh a, [hCurrentLockDelay] ldh [hCurrentLockDelayRemaining], a - ld a, 1 - ldh [hGravityCtr], a ld a, $FF ldh [hRemainingDelay], a ld a, DELAY_STATE_DETERMINE_DELAY @@ -1221,19 +1221,6 @@ FieldProcess:: ldh [hAwardDownBonus], a ld a, 20 ldh [hWantedG], a - ldh a, [hCurrentFractionalGravity] - ld b, a - ldh a, [hGravityCtr] - add a, b - ldh [hGravityCtr], a - jr c, .grav - ld a, 1 - ldh [hGravityCtr], a - ld a, [wDropModeState] - cp a, DROP_MODE_SNIC - jr z, .grav - ld a, $FF - ldh [hShouldLockIfGrounded], a jr .grav ; Hard drop. @@ -1277,12 +1264,14 @@ FieldProcess:: ; Gravity? : ldh a, [hCurrentFractionalGravity] + cp a, $FF + jr z, :+ ld b, a ldh a, [hGravityCtr] add a, b ldh [hGravityCtr], a jr nc, .nograv - ldh a, [hCurrentIntegerGravity] +: ldh a, [hCurrentIntegerGravity] ldh [hWantedG], a ; Can we drop the full requested distance? @@ -1316,6 +1305,8 @@ FieldProcess:: ; Are we grounded? .postgrav .nograv + xor a, a + ldh [hGrounded], a ldh a, [hYPosAtStartOfFrame] ld b, a ldh a, [hCurrentPieceY] @@ -1338,6 +1329,8 @@ FieldProcess:: ; We're grounded. .grounded + ld a, $FF + ldh [hGrounded], a ldh a, [hCurrentPieceY] ld b, a ldh a, [hYPosAtStartOfFrame] @@ -1500,6 +1493,11 @@ FieldProcess:: cp a, b jr z, .drawpiece + ; If we're not grounded, draw the piece normally. + ldh a, [hGrounded] + cp a, $FF + jr nz, .drawpiece + ; If the lock delay is 0, draw the piece in the final color. ldh a, [hCurrentPiece] ld b, TILE_PIECE_0+7