From 0becca7a87399ca7e08a33f7cba54c04237c4991 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sat, 20 May 2023 12:58:42 +0200 Subject: [PATCH] Hovercraft texts display optimization --- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56598 -> 56553 bytes weapons.asm | 51 ++++++++++++++++++++++----------------------------- 3 files changed, 22 insertions(+), 29 deletions(-) diff --git a/scorch.bin b/scorch.bin index 1354380c7ae039280d638eab9d8cd0887ad6ddbf..32731b5d2e1a3fb99bbbce3eb94e37c0b4e9f1da 100644 GIT binary patch delta 1322 zcmZuv4NOy46y`n(6oi&yVQmBTii&nXfw@H)W4fY_lm@00%3o($m{>YkK#&M7qRE?z z)HtvGq3vS`yskIIQF#jqWHn^jnh;n*bX~yB{Upjyj9M3Eni#iRG`cLFo1A;z`M&$z z^Uk?lT~t>W<^3{_x@AQd<4Qm=x*wMaCb%d;R!lds6E`u26C-3QTiK zh$$*y<>phr;D`24(kFJ?itiX>KXxTYP!k!nQgdDCdgaDF9JF(?+(z z=;18+odCFyXvb?{7%6sK0qJOIM+WhUJ6nMgb?;0esAuOlK*{OflK_%BtU6BoBh@tV z-xuUal~&F4Ni3onypA53<*!Eh^axaPf?a(;;I^<=f)V|7Ft@}&aud5DAQk?y=TbN+ z7tLUm)cf=BMTR{RJIb2BCJA{g5*^uBmUiFjHf_{r$H1jtc<($8 z3-Tdejk;(n4x{yk9={MO(Sv=d;qZ_J<&@^erXm7(AbTj3I9sYn7$zE|PR5rnoD$DQ z!fp%tv-EXY`2~#&u~LO_N*IjtjOW*A#t*zUhdLGN^6SIliaRKVrO3~G_lVnI$X0!9}#0!X>5q(~K<}Vf6!tkrAzq#Q|jq zR%WfsW~L&&5jc$LA@#q4(^Q$Id-gI4wO^9h4-Oj^+<+D>6EYmBcU(6 zq;D3PoZHz!A~NWu{6qeLMue_br{~N&3w?9WLc^l7)^*BtnXH>+U3M8fbc6SDSHHXKHdE4Kt01x1av5#O(WJmyO?^OzSF zPolp68d^CZN5c9fq^OsyVP6_oTt7;oS!3pC!`I>902*n$z%R%2U+g2P4iz;?qZ%;N NCmTP;nVKx3e*y9;J+lA+ delta 1319 zcmaJ<4NOy46y}ze77$7+WwZib7{OH(WXuT+1abTb%^*;qP&(_)aBurWgSDGS^~G^StXD@p@n2VpxeTo}kuBOxfqH1arrmo9wmB?Ohr+IK~vF?*&|6qK>Ms zqZxh15dfS>kogRlL(s*qy+>?Zzd*Yd2722Vgf3e;FkwMuuD%}@^H>*U}}*XV>3Ar;0}MxJ@1Pf zMqLGw-oEJqDI0&s^~wsEW4{ z!-L=Tdv`j*K>H9Xb+>~LmFSO>m`!vEF-4yx7+OQjVd@$kMYN|-!*@3j-y?BpYHS+9 zs0~uh|0jI4R4SM=She`SNP7m~89Ez9A4c6}V$@%{RWjHo`vp;ADc{NWaBb5W)v||( zl6a0_biPyydjzHrWf_0ZjF)vB%9aQg_qj!mfTHh!HCae!ufZ8jjPtP>A!dpYu7 zHuMbg)esx&ERW{o8uO=f&{DZHR%`4wMwo7zHuP8Z+xq3k^8xpq>{F}G;K>Klhqmc| zh3OSBU?19Fv5VzrLZ*uHz&sLmnBWByHXN;1YzHl9iy~5#N2=?a-f8dZHIE1-G4ao* zWfwp*s#NUfVez6#_N)nARzwTeUT7aYqP4M@VIEpmByLubPQOVG?L&6sKA)o5Q<<3X z6piL_oil8>kEBM)20k@Lw(y|}4OafeRt`WH+M$d>pH>A6oaPkDeV0SH9d4RKv|{F< zGAi(tzr*cl^@Pa$1`u2M9Q%ZM?Z`HPav+>?*J1hXC-N-<(?AL}ii?a+vK(U$w`@0} zl<`S^mV7(MlCKW6oU~l9+`x~36p%M8Y8%m1P*6ZLnxyzL{9Q5Dn7W|wye7**p!!gH zq6Lqt&1*Wqrt>Esz(k9qZT3DMsTYjK;MR4J_Io0X@?z**wM6WdhupVs z$cN)oA77m3Zpy4~K5iVn{KY-tOO=P;GGDp=tA9}3&fKb6@=**TdrdfU)ri<5IM8B^ yG-!-^6jrO1iGF>GHB~?E3lN$(*vC6Y6Ted{;to{UAm$ora!@jTj?p&g1^)n1W<be$e(+5DI;XXv+hnbk#owC@`R5tC3_InF))CA!LII(cx}!!(`jN$$9Ud-^t0j zCs)(UpSJU@y9!YUx4W>$8wub}@!MgasHK6qI1*SdrjCla6=;{w`cim8!|f@+}m6nhCxznm2L_ztjbcb`SmFDhxP~ptyK2{$PpbBoR;Wgy5 zKo^;di!7Yja1x0f8a!Shcb*TR%bf46p%u2Ww;tD)$?*`_jMq>O9A=UTGE8}-Ok=(_ z=g$ghhV`ef;2wIw>Z)PA=sV`7IX-qkim4OHxG7T@LNZvs@Hs(c<1j&K(`JGvnl_NJ zrpbiX_N$4Lu(1%&=gP5+%WB4mB;Vh1lTR)J$rg#{K2l4906C!Y(jpq-4z&k*B+AQb zBudg^l@3qpKw^F8`9N)JNlZbCANJ8>e^S<*2;Xe*{3&S-$yOj&4NzDHI%_l^*Qvp6 z%?Q{|WV8ie_|!wB+7g0?G_56UB+WQ8sljzFZ_KKJwk1j`>ZLulstQYBcrB^-9fE(Q}#O5)B-c})bswxumzZxdp+&rBM zBi-S!^(wXLf7FGmj*SAmjWIVfrIfjaDW`BAD6T#d$PBn26g^2n4t=`WJuRf&18(vX zD+v3lJpx90e0hs{xZM*kIIbt0z@8K&GlZGlMMU}QQ)OJxIfEyQkZ!i}23iK((iEt& zCvI3YWIG=ivgO`JrLoQEBAd_f85cP0Vw47M`=OVkjI4k@;wc!Bf+_0)jxr7$am~tG zOFU#0AvgX_vffXH5grbdz2RFt^1xYV2<7*$=?YJ5$SCK@=pQo?jP{C=h`ZYx=XGXXNdv`a*sE#>4~fkms^?esCDr-q9Jq*v!43HC*ZYW#*ZrE%`;K z4L0}EpZtI@364#Cv$VWgS$nDToAIgpzYAkivi2+Ljg2jq_OYckn{z)pdREe7_JWb3zzLg{{R30 delta 1339 zcmaKq3rt&87{@t%KzT@cO!AiN4}0vj2dG7Sp}Vntqfj_^oeJSJN~LG%RO zU}GHUgZ36mY3+3u+g@H5Q`7~!RWikef*9j;ixbo=NJiKk+q?y2CNn!H`OdlD_xt|$ zJKs4AG+RE#w(OUJD^!8B%@d^Jt7R_>E_I0m@?az;J%|o|%uE0+x#7)+o(k&u@@+w^ zPz@z}dw|7?Qc#IapYz=7A0H^#V2OIKb($C0VnjCksu5B1Zd+|{p-Q@nIiQdFR<#d! zMWa$fSt&^g)r~+nFNc?pN$l-@sLEdW7^=2bJ$L_Xl?1L}t7aV3;iE({V+o=*QYJTy zFZz;PM3BDdQ#gtomZ>(<16?)f7TItfr)UR(jQUk806>QC^}Ng2rrt@$igl@seMc9{ zgylLd@L%d;l(@Z8cr#A|WmJ|P0;clA{TJEHLGU(HxcfX}lZXT6@mrtV0xMLdIlzrH z4Rirsp#suM=%>QrmIHB_3S)UpQHl@T*$sV}W-apIvdX<{LUN|IB1x-*4`ocC&%7qy+G&2DwOG&iF|sCr8a!Z4PbWJ` zHq+Za;!p_OTLtsWVMPI)>k`l6NBp6~b_(3at+xGuz(3m_=d8%#9RAxD&XUQom}&tl zc$&iAL5emlUjmut9vzJ09#Q1bQY;@7#hg@}Q#_?)sghJDR2Nh=3bW5;C#U_k)8Dcz zx@V%-!E1xjpagpk?PA3$@iRjQeToUFSHfu}+=+XJwgZg684BN0Oi0SAWz8o$y8D8{ zqLb40WaUD-WB3gogZin&SxUTjI4WrEgY;nTXzgCQVKMF=eloU!aC%y}%u{b=s(hFs zG7S2KG~7EJhIu3W?f*kdHx+w1u!Jz^i3+}@?~4 z@h^WtPT`v^a?8b^SaFFdyR&m&$Uju8)|t%XbH6Oy4-&$({G!VCo-du3zH|Ms8n@^5 z`VPbJ`776bQeQoOMnPY@T%wr&}*0^v|;olRWVr~_z&|3d9(lk diff --git a/weapons.asm b/weapons.asm index 23f5809..fbfc947 100644 --- a/weapons.asm +++ b/weapons.asm @@ -2498,14 +2498,7 @@ StoreMaxAlt mva #sfx_plasma_2_2 sfx_effect ; display text 4x4 - fuel full - - mwa #hoverFull LineAddress4x4 - mwa #((ScreenWidth/2)-((hoverFullEnd-hoverFull)*2)) LineXdraw ; centering - mva #hoverFullEnd-hoverFull fx ; length - sec - lda FloatingAlt - sbc #12 - sta LineYdraw + jsr SetFuelFullText jsr TypeLine4x4.variableLength ldx TankNr @@ -2546,13 +2539,7 @@ ReachSky jsr DrawTankRocketEngine ; display text 4x4 - fuel full (clear text) - mwa #hoverFull LineAddress4x4 - mwa #((ScreenWidth/2)-((hoverFullEnd-hoverFull)*2)) LineXdraw ; centering - mva #(hoverFullEnd-hoverFull) fx ; length - sec - lda FloatingAlt - sbc #12 - sta LineYdraw + jsr SetFuelFullText lda #$00 jsr TypeLine4x4.staplot4x4color ; and Soildown at the start (for correct mountaintable if tank was buried) @@ -2591,13 +2578,7 @@ KeyboardAndJoyCheck bne LotOfFuel ; display text 4x4 - low fuel - mwa #hoverEmpty LineAddress4x4 - mwa #((ScreenWidth/2)-((hoverEmptyEnd-hoverEmpty)*2)) LineXdraw ; centering - mva #hoverEmptyEnd-hoverEmpty fx ; length - sec - lda FloatingAlt - sbc #12 - sta LineYdraw + jsr SetLowFuelText jsr TypeLine4x4.variableLength LotOfFuel @@ -2700,13 +2681,7 @@ DrawFloatingTank pressedSpace ; display text 4x4 - low fuel (clear text) - mwa #hoverEmpty LineAddress4x4 - mwa #((ScreenWidth/2)-((hoverEmptyEnd-hoverEmpty)*2)) LineXdraw ; centering - mva #hoverEmptyEnd-hoverEmpty fx ; length - sec - lda FloatingAlt - sbc #12 - sta LineYdraw + jsr SetLowFuelText lda #$00 jsr TypeLine4x4.staplot4x4color ldx TankNr @@ -2866,6 +2841,24 @@ CalculateSoildown mva #$04 ExplosionRadius jsr CalculateExplosionRange rts + +SetFuelFullText + mwa #hoverFull LineAddress4x4 + mwa #((ScreenWidth/2)-((hoverFullEnd-hoverFull)*2)) LineXdraw ; centering + mva #hoverFullEnd-hoverFull fx ; length + bne SetTextLevel ; !! length<>0 + sec +SetLowFuelText + mwa #hoverEmpty LineAddress4x4 + mwa #((ScreenWidth/2)-((hoverEmptyEnd-hoverEmpty)*2)) LineXdraw ; centering + mva #hoverEmptyEnd-hoverEmpty fx ; length +SetTextLevel + sec + lda FloatingAlt + sbc #12 + sta LineYdraw + rts + .endp ; -------------------------------------------------