From 86d26fe2a12200b072259ed1d00d3a00b804bbd5 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 16 Jun 2023 17:47:10 +0200 Subject: [PATCH] Napalm and Diggers optimizations (TypeChar) --- Atari/gr_basics.asm | 13 +++++++++++++ C64/gr_basics.asm | 13 +++++++++++++ artwork/weapons_AW6_mod.fnt | Bin 1024 -> 1024 bytes constants.asm | 2 +- grafproc.asm | 6 +++--- scorch.asm | 2 +- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56626 -> 56602 bytes scorchC64.asm | 2 +- scorchC64.prg | Bin 39573 -> 39548 bytes weapons.asm | 35 +---------------------------------- 11 files changed, 33 insertions(+), 40 deletions(-) diff --git a/Atari/gr_basics.asm b/Atari/gr_basics.asm index 8cc6c1b..f651892 100644 --- a/Atari/gr_basics.asm +++ b/Atari/gr_basics.asm @@ -402,6 +402,18 @@ NoClearTanks ; in: CharCode ; in: left LOWER corner of the char coordinates (xdraw, ydraw) ;-------------------------------------------------- + ; check coordinates + cpw xdraw #(screenwidth-7) + bcs CharOffTheScreen + lda ydraw + cmp #7 + bcc CharOffTheScreen + cmp #(screenHeight-1) + bcc CharOnTheScreen +CharOffTheScreen + rts +CharOnTheScreen +Fast ; Put char without coordinates check! ; char to the table lda CharCode sta fontind @@ -560,6 +572,7 @@ EndPutChar jcs TypeChar.EndPutChar ;nearest RTS ; checks ommited. ; char to the table +Fast ; Put char without coordinates check! lda CharCode4x4 and #%00000001 beq Upper4bits ; A=0 diff --git a/C64/gr_basics.asm b/C64/gr_basics.asm index 42fa27f..5de54a0 100644 --- a/C64/gr_basics.asm +++ b/C64/gr_basics.asm @@ -303,6 +303,18 @@ NoMountain ; in: CharCode ; in: left LOWER corner of the char coordinates (xdraw, ydraw) ;-------------------------------------------------- + ; check coordinates + cpw xdraw #(screenwidth-7) + bcs CharOffTheScreen + lda ydraw + cmp #7 + bcc CharOffTheScreen + cmp #(screenHeight-1) + bcc CharOnTheScreen +CharOffTheScreen + rts +CharOnTheScreen +Fast ; Put char without coordinates check! ; char to the table lda CharCode sta fontind @@ -456,6 +468,7 @@ EndPutChar jcs TypeChar.EndPutChar ;nearest RTS ; checks ommited. ; char to the table +Fast ; Put char without coordinates check! lda CharCode4x4 and #%00000001 beq Upper4bits ; A=0 diff --git a/artwork/weapons_AW6_mod.fnt b/artwork/weapons_AW6_mod.fnt index ae0dec725c85e63e8311dcd0b80e364d71f1ff06..ef44e8c80bc58099e68ea9e28a17e37005d17aa2 100644 GIT binary patch delta 14 VcmZqRXyDkem5Fiw=50(~i~uFh1kL~e delta 14 VcmZqRXyDkem5FiQ=50(~i~uFb1kC^d diff --git a/constants.asm b/constants.asm index 9741687..9517790 100644 --- a/constants.asm +++ b/constants.asm @@ -638,7 +638,7 @@ CreditsStart dta d" "* dta d"Ideas, help and QA"^ dta d"Bocianu, Probabilitydragon,"^ - dta d"EnderDude, Dracon,"^ + dta d"EnderDude, Dracon, TDC,"^ dta d"Beeblebrox, KrzysRog, lopezpb,"^ dta d"brad-colbert, archon800, nowy80,"^ dta d"Shaggy the Atarian, RetroBorsuk, ZPH" diff --git a/grafproc.asm b/grafproc.asm index aba1a93..b857e37 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -660,7 +660,7 @@ DrawTankNrX ldx tanknr jsr SetupXYdraw - jsr TypeChar + jsr TypeChar.Fast lda Erase jne noTankNoPM ; now P/M graphics on the screen (only for 5 tanks) @@ -787,7 +787,7 @@ DrawTankFlag sec sbc #8 sta ydraw - jsr TypeChar + jsr TypeChar.Fast NoShieldDraw BarrelChange ldy #$01 @@ -925,7 +925,7 @@ tankflash_loop sbc #8 sta ydraw jsr SetupXYdraw.X - jsr TypeChar + jsr TypeChar.Fast ToHighToParachute ldx TankNr rts diff --git a/scorch.asm b/scorch.asm index 473b940..9044095 100644 --- a/scorch.asm +++ b/scorch.asm @@ -24,7 +24,7 @@ ;--------------------------------------------------- .macro build - dta d"1.31" ; number of this build (4 bytes) + dta d"1.32" ; number of this build (4 bytes) .endm .macro RMTSong diff --git a/scorch.bin b/scorch.bin index ff98decd4d7264ff0b03092efccf21342214df3a..64c8452873719880f19f57f430f630ac11a1b326 100644 GIT binary patch delta 6102 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 Qyy=8bS8=Dl;HcaG1ES6!v;Y7A delta 6184 zcmZuV30zdw`g56qVZRr|999pTFbaqZf?6)Q1bAf&6c=<@RK`hZAjB;Pp@Xc69R)E4 zfxO5i5sK=?d;dZ6{XsAJ?EZeG^(^h>f??)=v{#g+{J%ScTD|u}@0{~3=ljlgzU`di zVw>V(o9_2*sHUC|Y^EwGx1J$8rGg3}cO4@Yi`F4;65zDTe{Kevl!6LVgDypWi?|%? z=qfsugzQsLR}%UMX>LN`*8Aq8cn0!^nIZMH*|Ay4CNXfzci>_MA%qASF~l2>9^6rPN3YfTzw zvkxk*Z_}ain^9Ua=PNjhazu)PE-{pb6_%TNX>|8RG&hx(;W~7t+yaL&tY#>Jr4G$N7{S)SEF-8PFL8m+j$CxZ_uL-Q9F458t>C+GC9JW4i3=+7Z27mBI;!{QHPpS z!8~m`fbcR&~H{EVhtI1yXP*ut%z5u_=JL4X{7=HmP{F8eJe~!|~ zNAA8<8u{8i628nhmU1H*Z#Bj~xtL2yBb)B^lE_2AL7?mt5S*%W52G zZgov9;?~sUB9ucu@%3Hamm%1QE*BhV=DdY~1%N_yJLy1Q-RNxE=*+zTXrr?Pv=hex z5GDW=Y{e!(OW4Qd~iWR)!y~X<^X5oaV~bG-Ox-N3?e0YJ=M*z69s+ z9(Y5m?DeC}>&*;0qY1jsxOKKNq8;kUX1`dEYO>L04LX~R?!5?tlpymGJ2zF*kKLt# zeOZ1iD%+Sn1bg!wK?bmbEZCj&BmOTe#<&ceV*E}tGv%+HVskVwaX4|58JlsZ`iHu0 z@DTeYS%QKUn>8@lil)x!kOZ?|t_O*yq#w(URInrNI;4V{?5C(Qz3Jt2kamNJD2%#6 z9wI*~h4}b;JGyOZ_T&`@a@ahw(0>x3a{Ybg7SyAZO>KJ9iS%Ybskj`i9j@m#Xl3|t zC92bfwJ?mGB-A|NP75QthqW@1_MJx=(Bd>X<^L>ohWzHgfbu8L1;mV7odpJq)LUqd zo$AeF*a}h}kWC#XcLE}(@5mM+L}z{qHu5dTdYXlKn5g6z;0$RP4#U&d;Zzuo;&tqf zo`k^N)c7xQtY=!$HKgNo{hi`14IJ6mK~d^k8zF)8((S#$YidgUO{c7*eg0_qM(Y8A z>--9)_>w#q9Bpvj(58FTO9O*iZtSJaFR-o~hHh{-1P4(8JG=qY0hlrhNSD%tyP?v` zF`#Re+>MxFhcRHxFaQ|vht?!fsnMLav1d z`5`TOmKDwH^vnotmXExvpO7Q&8V}tgNurwQL*s z27esaLlHR)rmmt<9a%Ct!0x2Z>;l6rlP7>{;mKdMXq?qKLQ6<;C&GV>CGSrx75|lm zRgk$;TjG$!J+HJ-e=-eCeY%VlZ84-~*ad64Z3ZMWTEW&8z$$*zeJHTabU#HJ zY?owA4>CNakp#wYnqeC&ua#v?0}fOg$Q;l}x~e#h7HDcgM=K3Tft{2- zL=MnTBtYcyY)H za26j@5EW_XQ;6HyD};|)O1(qOQPI>w5;`k}>L;1Ara8nyOVNaT(1+yBS&dW%iHSy3 z3t1H%VsmFVDT$s&-6HQrPaA)$XrNa7Uh}68=0Wsyz=y|p!uN$3e^++93DdX&JRY~P z`D9znPD)1Z#e`Cd93fje9$>Vad7WTQ> zPCIGyq_O`hPOIJABY$=YMcwX+doGR|*R^MGkog5{-@5%+KXl0hsEcs({B!5jv-@8$ z?RUm{Q@RVze@7oTdO)v%CeM=e9NT+8+Y{US>7H0kxFNAfi7!nmT~T_nw7m5EzHx?f5-~qGIT7=2 zxC?^E6L;|nY!ttTknIxxEkV(A16pN(_I2s8jc;{!Ft`o6KVuB{@vtra7$W98@~(zP z*A+5p7ZU1tTWn-g$g%msjzS$u!N7~=aNjxg8cDRI1nMi6Vk^KJTVoI@k``Md$qFGg3qqs&id9?|z_TF2vbk*Na1>mY zaIRZ9#%1wVPJ@fMOuU`T!i8Kmr2Ry4XF)J^p13d6&fqcyNI;xMnBDCHtjb!YaJE|x z$x0GvI~KYF+<-7%+&|C{#ZA7K99p3x>wF#SQbwGf&zT_cLbEP~ zedh%TLmNj&*ztK%@w_)UFZcYUoPU<6Au+|6zNT;LjbGE<@~gLK(=9qu2@pZq?FhyD z7R@UGB>~RW+VW>%Jjhg>{0D9NM9LVS(>N1wI1AWtc4aJ@TAJH2$XvT{fd-kN=xfAf z5i(rZ1*g^}I`YrJSHVw|^r+(<;Sea?0l}u)I+mDJTe-0$JJi8-^mmCjtfBs#g@eu9 z2YWP1{Gz>OWQD`|wX@oNyf@$;)!d_bs^&h;X=?tD<}z!{bSF8n$dS5C{<6q8!DnaZ zJ;*W_?$a0U(J*wm50@eKEYU4ap#DYvx;P%bwo3x0ESCJlwmAm{CTb*IpXk|PRjl?0 zs8H?SmUSQ%Nm()*xT=@TTy9f_)+e5pfhPqfnx3V_@leU2j*UP{f=e4Dt~OmR)(wJP zO0jig(spEzZD8H+MPPkCEgyxJhEU26`Q<#BoA(N z;DxqO3WQnR_K#Y?OplIBoGf1ss{mS5N=SLF6a0wstH#>FUQkAo9Bm*$>p*}f;qBl_0E~HwO{x+~ z#Fyl(vQj9AHJ`5(F#LE{spkte<}|?`CaOxy<>c*3%SB{urR7?(qRMh{c~B|107*=h z;0iynRjj$3^HkFUZFXvh^%cFJt!DEppqrJmE2==PBdnQp$4&M>Q*JWQ#sb>3gEnrV zS(t8tuycfQ?I({4X!aZOYnL>8af$js2GT zfy`UJ(&1maFvLX4k%lxa-$3OPMMAjKi?4InL^(>@!TOPB6I3=yJ4o5mi8KE*Bu+pZ ztSqmd$gutUL8WVw`>|X1Ll{Xv(wOiGA@&9PgM2y!X0 zgo-1plHzTcHwc%soBB5iNDlT**}?9rHOUyrq_)iO3?svR(7op*PX~&Ve$dtf8T^Co zKx4z7wf1Z%h4dr`hR-$t#h)<}7f%^InO23#lQG*4GCxO3i-67id;y12{v(wf)4?MT zswVSN4lbFcx8y9T`!&v@jf-ew94#d-z6~oS=4K(X5a2Yis_d2u+9?O8G5OQ6AOYIa;m@5=) zYo#ZMcC*XDXFbno6nj+u4M$P@G`W9eDh+!M(7iy<_1cO5fZoH z0X=D`B;#?`LVwS%HAOj}>O^^|U6sAQ*j^sg4ZB6gi=9=w0WJw>^ z4jqD+YZ2Vda@aMj4#$2u&C3gl$86|fkHbq@j`evB8jBLqgI`HpS2TkIcda1yIrTM0 zT7wEm{K^2^ztqR}en9jq)j?m?Kdi4gytSde;by~(BmL5AAf%^X1lR5#)sNbHt%Q9m z18lsS$hDQTs3PK-zS2?Egj^fYf(Fz~cBV&A*9f2PZKG-;1L@%&!42R`P_vvRUqsgW zNtCOWD}iHs1ACCHSrstOG6u6`9Bifj410haU87b!W90~Q8+ud4UDN{g&{OIVx4_02?k!m3Eof$s4P0ae zvT*HWr8i^{4H_c(YaGQ@|)1}5(&CSO3#xi3U{9S{; zE~BO$=f}s#WBp+@IN{xu$Mmz?(#=`yGe&Y_?bhdHMrcTjq=TX0VCe22k<2(y1b3!3 zodom;;N&qNT>PF8`dVOQe}?BwiJrM@a;F{tjF#ZA4xr+#sK=|_B41^|ou=ofjJrZ#nr8=Jg(Nsn&pA-DerATd$C diff --git a/scorch.xex b/scorch.xex index e47beb221b11ac3e6bf6b2ef30d4aa9467b426db..ea21e984447b6a0a87352de191a10d4fffc68aac 100644 GIT binary patch delta 6181 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
    pr5xRFgu;N6IK0qV=ct&e z1vOJuRedCyf0#W6p2N0+L(zWAP{me0)F>PB5!|32Zg%E(buB902A^*vOaa8izGmYz z2xV*m?`{-({B~532f=Z$APPd26Dk+K7l{>DK_2aQaEt`0K_+6b?Nmer5!mD z2chIPaTCDHgxMnY#mCs)r>BI^KIFu<09K5s5c}XG)UsN-@F0kGDt7+#Wa4Z5#p%}w z5>M%#N`Y8_Tzzu=?fSlk;f8sQ`x-;)Mdy_nf8u?uBZ^1uJ!6zj zXTpg*eDO>?bdC?stdi$8p>++Yt^wW0e|mSul(`MeH7?e$!=EDzh5p?8hMoSLn_-tf zIw9K!*gZFE@^%Ej65 z%?vAR;ytYH&gi8QrCw?Hh357Vpn3njnKOPx^SYBJbBxdJBW4-OYkFdus0;_4{g-V1 z5p)Kh=n2K~J-&V?4kxhJhTNHJ_G^%@3jlMsCsc0qwqLUsI4JrqF6vRpHXnAbi1nL) zB#^xZrQ5Z^C)88@3XdeP$AHH%=($?$*C4~7bJIMtA#|wFe7yYJj8|Vd+}TI67bs~3 z^*<_kM}NO(2coPfA?HxB3ryeaJEQ*atx$Vclmzp4T~3Q*h7U Lx{rRg)9?QQe?Uw# diff --git a/scorchC64.asm b/scorchC64.asm index 4480db9..8963785 100644 --- a/scorchC64.asm +++ b/scorchC64.asm @@ -24,7 +24,7 @@ ;--------------------------------------------------- .macro build - dta d"1.28" ; number of this build (4 bytes) + dta d"1.32" ; number of this build (4 bytes) .endm .macro RMTSong diff --git a/scorchC64.prg b/scorchC64.prg index 471f9b85b219dace934b42751753b129b29c89c2..e17acad053014d430fa0252131e52c168bc7f80c 100644 GIT binary patch delta 6112 zcmZu#3s_Ufw$4t%!yp*7B5y_oErN=#ijN*k6K&M3czhuW7)THTK_DPlP!M4&B7xwD zN_(I&myK)$jiUXUdz#YrD!OU)?%sN})~nT8I8v)8?KyrPd#v0w3EEcsiJ6)8nl-c6 z`e)5FoDn}cEw+wZO1;-Le(6f8tjOpm;Vedf2`4i8+%QUS7~O7gK ze`*xPR>^-huWuBIE(kxH18t_n#)Uw7gq9R?gGQgr#u1mfoyJj@K^`Tq=fo&MgEBV2 zDC}zVJ#<^+>fJ_E0$REO{kR_OA0o}Vgs#VS(?{baR?$W(|j^3f9-CHHSM#`9tLFj7KQzhf)8!5Ival#*G5gjy;nJF35y+w!@Y+BcvnSvo#U+q*V`;_OL_I5)vjZ8TQJJvnq#= z$^GeB6>Ukl>HMV;zW(RKNlPtFl?q#&rKwbL_q*f5-#cPsZEGydt&TTiZ3z~mOxdA` zwIy4Os@M)?tS#GOEL3zXinSRm#wD>Gi(_paiN>X|wv&m*WwB~>RZBi3r({mCrj>ezI6q(|y~KjN*r8xg`RSxXrUDYlNX(q# zWPhmeqHN3n$ifGzy@xYaPp8!Qoz=6;G`YVQyL3+#En`nPW$FBl#4YXtm{0uGA6k>k z-FlhyG6Q<;wZuN zZ}_qPTTMPzJl?WqvDeR1pMbEb^OP%6HMo0?Q8Ih>ny$FDKSdgeO_cbLi@g*4C~X&^C}B%ptXu4|kDjLzee8^?v*(hv+< zB>7Gbl6Omo$O;Uwk5IDm4+`Oo{{KnVK9<>G2x)t;5C1lVW+?lFmG@Tlyleu4whE#H2P^tby67IGaioNx7?uT$qaLd8^o=8 zdTFLTQrZ5YBpD*$tcu@g6<@eesRPX1kcXlQ*ml@~`!KWz;*6AN_tGRL&0dL{Q}U)4 zXVMEYQE?`^_pCE53n*L&qqF-fV_-uxV8Bd)3971+LtF40ss3duotZ*e1aaG8j-gS{ zUg3&5hD{leFez4XPb%lZ7{~|G2;v@XkEX{U{K!duN9s?3@01FRdqc9%3I7<9><8t3 z?Q`;dmmHOkucd~T{c77K;QS~l1KzIbVdNsaY`_i^-=r>P467ONVl?2UmUDOc1itj7 z_M{Lu)tuP5e8^Fma|bkJ7hCmeKiCt1AV?ra>xYXpqs8#uYBY#6$2B3Ox#VgdXnaRM za{x@<1q}{7!eh1bCi&{vwg?KMHzAAcVCQC~5Cz+)$phHtmE7+HAH# zSU}_jH?tUJ#FO(ZOz?yKZ;Ag{1V%FON7`Wb<=JL;+Y@|SyLk)(^SnfG2lM1C2kR1A zffLh0q(BJ5rD?$<;j|YqDNHJ(VYDv4I?|?%wQd0_P|)IhhnHEzYU)et4YUmZl%@+< zoG%1IP;$sG-z++5U^L)py#WHk4{zN(QSLl=*d~~1@)m}ppWtJg7gGZMY4aQ^4o^;x zp}xeL^y$Nz05lIWr_ul6ru4s1S$JLsqE6tA8I#IpZ1rQW0oGqLiTl5P@V%<@d)2uL zK~Qtg;NQau|1jcafe|<_&_lp-IAZ>}5lu~mqum|OmaBpkmT;8-v4p87y3W(+SB;)} z;lBEXLx`LRn9>DK`E`nkFHZ5?+;dZSiEf`O5!6pGg9_uQlnT@CI6{&FvFOX98%1}DLbru%ySlCL z?d@+LEjn7Xxj4HxzxeMZk4xSzt|;DH++55ScNPC<@zIjblCBc3?R_N?JKKu-wyPnk zo6#6tpA$@V;1fAPv(6Wx2c(i(%x-S!^j*Xp<%ToOG3@69Zp`P9nHN!BCDdF#oDX9~ zA$6P^(@dYhgE`@{kUDf?2PmS4cxvuqI6$`MhQ*Dm17R;B#d(23$Bv$pf)S$O4r_rd zsjE{1rdc5*n$haF2@;GSLMa!;k4@1jnG}e=RF@3CoBJxY8js8ihTmy`P0rtX{v03ephhy?!G5J*L1-~5S+^(7I2r7`wp%05HWGNn~= zbG5Qpe(d;MrF}j)ZC5CnRA4e1`)W9Ts#Rb#qrF%D?WK82uox|&B_;Sse(2;e1+c?b zLB{#QuapaQIs)ZXGi3HL$n81lF04dz@b~$F#L17!z};pdDR?@2ue)>r&FCH+UJypj z!AlF8#`@)VCIQY|N>*M!ZTSp2Q0w5{hm|p~^4Gz;=-{nMq~Okh7Z6 zIwP$EuPkEa@rf-xq*A9G9+l?_e!FekI1~JaC1d)zyO)CzU<)3EDKU9LBS>zJ zR^Id`{EYUDw%z(FSZwvq9xH4uv(qd?S$NLdyNmCD#!wNlkoR${&L`Wm=rDxEwj zK9S~jvv&juN;1#|4EqUW$frzdr<&BbDF8BIhjM|3ZE}P`Z@8QE8WS}jZMYZ6@vdG~>+1=EpfSeJ^0)y)6IB%x;cc~9d z<^uB>2zcy_@~EtY(y1l^2W=0LF`QWo-|r4xiBos(qMC8v&IKdL%E-0Y&Jal2jHAnU zP)qUg^6=nI2KtLCyPhCu9v~?DIi&wZNPiL24YvtL`3#UaUQM*VsDeMBL&?OQca?u= z6JEG$Le!-qka&?pwBV_PQCg&ARyVl%MS~GsyK92~rkCKRMUM{Tpd+|<*8$bCOeesR zvbxElXgZ;2I-`K+3G&kNB*TevNMu6A_4LL1R(oOe6=nwE=#WA8gS(!-LYW$594bQ_*M9G>WXXKyES2v(4+u9>bx^D)~3 z$;7gdWAvc}q|f0);BGfu5Obp#i}MIiuSMzbumUQDfPv>MrbzIaE#%!y9zf$zUKW61 ze<7Lxcu1%+CxAK`^yr!)5tLrbiI5IwSB@VK2RSJ>;FM_wpyywK(sc)!;~A2{OVr8A zpv1*S+E_CL5*}>?AX;JQC;=*{IpC%W2gcC${RU`fS-qYCE&Zeh3b|%(6lA6_izxkR zNC`(U!LQFSI=L3$5<~^~0}za>rMK6BKg3&DwOK?=i(D9f*aUZ?|8OG4SGa;%MEPQ# znIs1|&ouVR8(~R4uYyBV9tETWhUw9@PDR%pfaJM_ALWq1PQa8<+rVw3 zRqqF<0I3aNP95Abp)#@3aQf6jdHNo_P-tC`DNt8b2(NG*xN)}`f_~l}Jk3^T9Hvww zK$&51NpOo9pz05++n}VokjNaiUrJ;ePaamw+N!E-!%Zri7k;uQbSAJ2gq5$JZdzsf z*7RTXKh)3LU$sBLL_kMsdd&M+A4WWFbE%kAYBUqCsPc24pI{E9bFjW@4)r;1sd{7l z`~-NqW3Mz_Q~>}teW|j41Bk7nvkxLoJ!+_j_`~jdrv%TbXRdHj#y%B1_4KQ_4~>6Q zabn|L6`G#_Z(l3-M*4=Vhfs&OhC_8Y`LKwjLJ+Rs8wd|=oqHok)TjXr)Wqz?dV0Ww zKiV7M|63Y-wDHGum zUK(E$5^5de$6nF7@n&lrbA{$`40~n3jk(fu1uBd}kP+8RqWbaVnu#7c33L{AYDJBl zf5555TfeUNcDsIh+R&sfNt{rDm$;4cswZ$#%;n zRr1SfS$l7=QW&exZWT=C_Oj_{z(t2+nD^NOP4Z+!x4~eeMv2bxlPHA zR648SWyYao$C8$O+ni*^VDrGW#)!GkgUObj?3ZWYH6}5qsW(7OlVBPL!4z(Nh}Jeh zNN*z)3MeB81v`wd_^)l~*#`IW=bT`tY|l0UudGEQUZ7*THem7s(2zf{mnvjXJv;S8 zU=e|yi=#FNlh}s8MDz!}4YGhCTr(iz}KNgFvndQFWo zHo++TZ0rx{8?~o*3Eka@UfqO#+KB4LNDEG(a|viD9&OwZel{mO_86KUkIpA@JVwj# z(HteZp2dwrpKL->CCKP0k-5B)6GzY=P%q%~^fR-9H*zVaZ)6;0`c{Tw6HQ+z2E|{Y zSREQ)fGW45)mi8up1UegRIfz21xS^LZsIkoUM&^o(w`-C9vZZpWiDU4K<*Nt()vNM z3*F4>+-ld$7;P6!IR&)wb?zQ>9xcw{D2D6Q+LtDST3@Bx7fD^y(T%1~EeudgBFlG7 zcM4EjPWV|drJ~2ZZjX=??O%fHW8OlNayK3NL{z6%WB*;|nCY78KrWFZ+BqE!6u?es zV?9zfl8%1^$20vdgGK*P{gf|5{Y|jVMYGI)OXdi5O>%^|0?@fiw@mh!YZmOhy$U_A zM{QeKEwc;GRjswZFM~q`;qukfsbJi`I*K}n2Uahd+PJ;@a|LkaS80(fo6TpmFh&hH za1EOHQBzOwnW!+w1nVt}&89+ec=?)8DjR35$@W{9%TXv!PiN!vYb?|pT(x$#5Z-YS zKD0K{_XQm{1MVdjUs(I8bU`+pvkUI49R+I0_2`svC!JcLbcMeaDuyLR=E^Z&Y~QrlKD^Ii8VQk%|f5Xrk` zQk&jvP)NJwQd_mzP$27GDz(*{4a=q7%cM3=X;>k(9a0)rN>%7|I(bD-&KzNnFz1j^ z$sP&R2$>^2Qg&9*Uuz4( zN@Yk;U}~FqX^r@D2hYs2iI;xIbNYWOboreO#Cw#p{l{jn_K24PrBC@brNOG?`P4p) zlV?#U@khx|Q=xbyc?|%}^C=NjI#$B(Zd{Qvb75Dege@A@F{y0va2}HulP44Vk6d!{ zM=pn}Vpq|Ao7XDXEB^HaO@7s}$D9k<^w?+75qv&nevsd0ppBFRa|K(`SK}12<$b$d z0(vr@{RaJxxfVs*reS*^m%tJb1G?43G`T7c)IhD5!RZI70BeauUNxBf!m zNV4(=2C6iGkLz-ge?Hp(@E|Jw_h^-jVbN zFbQr3Z&Qbpaf=#}=0kNT zX@=CH(f5~f-i(gzT29RcXoeW{KqM%54US3(I4pf}WPpaXL{VURuWcbW(32^5#=xZ{ z<-#onYA8m{`NApVa9R4SWy-B=tMf&|@AT^6ql^R+kHVdSaDRVG_>>1ifMk(5eL#{0 z0ugKR<1-eIAXAW>Ub?lz+jbj|re|gZ!nO{9(;K!W0UCA{&@Z^L-c27*B+qhsx#QUb z1<_;;U}-zJx}}X5+{T;U#tUiVg|_j+2An^sNX+LksZ1K9X3{+ejLw`H&ZhPKH@Hn| z-x;HTwrm3ym_~7Vu5leaR^7a-Sx58noea&ixIAYtm;{H!c^$mNIz|o0Z`Oh7h;d2g zY_U5Wu_n-S<~D|-Z{ps}Wz+z^lev(370=%+p}xdhHqZ0>5Fm6fa}=Gy?B;i8s&iPa zNF)l>_yL)xkupa+d=B?I1vSpw167s#we$h3&Wfa-!1Y-u@j-my<^eYZ40Iik9Rkmd zBowWLfbR{#=N5RKe1>fwt1X6JR)qfrP8HE8Zb>9Zb}{y@?LDfl(b zjDU5y_8T&$4*ZfiKo{aNjdarPWagjj0Y{S2i#sYAKG0>~jlb4JQr`GC%~QkzBeJ7K zOOo68yc+S(JuQ_b==;l7PWjTIYJC!=uyG%QmqBi#CZw;WREx2-9&P0Fx z;Gp<6n3B1W+rS(L4-sw;7h0O=cX7=2=){j8<$^3oWU;N#D{Ra43f15BhxAAFpXk5P z^9t|j|52E*BY8)SzDBPq+FZ1?$am+Yoq0tiMU_SSiry>gDLPv8X>ot?iQ@2`cZ**s ztJUA#sRF-fM^9tx_7JKMpV~g%$D&84Ar-(kwoiMat_l*Y04{*BqJ>SI7t>A;;Lw~1 z(ZVJ)Py+cDx{g=nETighOHTNj#ZACGj&O0~U_oC=|6!*A?&Jz<2A8rlsQ}ch@Y3yQ z!43jRGshswLkVP4HF74^2;k%4!9KZ90lLQKhQROY+^L{mW^M$v7&qir-B=kt?SqvD$7m3`{hZf1}068X0>@Ubig{BwecA0#X zXOhY3NF0_od(oQWC;(ZBeWiR@XId$@3NEgf+tW1wFt;Y02(Fr94uY>g zv)O~O=o$P~Ua$}jaTdGsCi^aKf(PK}Z}Is2aB3}{mv5rP_;mgh>Lom!znZ#*7reOw zeoNn+8GWP?p3kcz9l%coxA0K#!I6XP!9J_;-w^equH^GY)k=)zr( z!sZkRkkwigpmC!ffL*6Hi_s3kVQ!aru6`ou&AYF+Te$NV;w~z*wiJx5om~AArjSk3 zEMs;6h!q+na(4=*e0&CfSP~n3WCj-%uA>6*$-+RN z$r?JW90lMX3xk3tYqGksEY;c?INIOK`mHVj-CouqLRmO;$Ba@){U>WcSom9F0lHp! zzYbvemMEbM?Tg|&1+=yjN~e3!39WG4ayJmxk2#h&{U8dUV`{p)+~Mz>OG3gucg9F= z0R%%acQY$IWvu|6sSkex0_0SMi8{4qSVm@?a>NHH#GH?QA->Ft__X} zFsQ3=ctaCX>F|N(RE1*(G<}th7-+PWjtFSFDjjjqd{jwimV-tU91~pQEFhn68&J_# zf#hBRI=w>}-VqZlf5#DIefsVtx0OGQu2kd)hhkU?!~AC^IxO2hCQS)fJ) zedB51qSxcxqNq|yIV^9Nz}%>NN&t)(zm>&ag!T`@5tsiQ543padiGj#}N!yuXqMB@>ZneUxP?m=ctwVI)~F-GZX? z?k!TMqDy#Naj4=_lk19e3U_Z6Pio*vId6C#7*J9JC56aGRE9fc-XSFkTpws^E+cwfIi)i-5HYcZO08`1PH+0Y6j$^N57ogo_MTmM);|xU4i< zHsIlpCHSh;VAVK*!WPqeVNWilzW=(lt4;+7*NvU{}|9#CKeP{^Gq68h=OKJipjs1Ys z3QYQbEo#^fk@0Xv%N$v@8{kN;Z8FPD@5@Xd$RJfD-(GHJxls-U84+%#NAUK_sXiy_ z;d29u#)is>(i8RW;*S0*or{5B_&db(@RV2)fC{=(&+%No==2`aD`VaQ6;o6V^8oxX zyC1xUWx<)~mPC}k-4SXOj*fTop%yT^V|ZC3dILVLz>)$0w?4Bm8Z=}J99~9}$8t!s z1yF9J0L=oRBUF(a8Ql|f4195M_fT0Q$3v+&zG~)72=64{fMC-O*|1|WWVw6E9`}(9 zzC`V-njZOvf$nS=0|_4s0f=KTbQJ>?mbsu*h427}J6|-Hw03S1IFfS#nT@+Y zD`rAwtn|#9VU|EA;2fY`RwLco02{m2TFnGgPMpmw1vIuYkzzpOO2eSI4YY)?0h|1b zc`i0U1KGG6w@C+N&@qi}*zlAF#M#V_NiG4L4y40-($&+ZK~y*Z`Q&@>Z6V$B1kfA@FKHC=JG@UNveeYr zB8&=KxKYvJW%HLaI@=R+CU03@rjGn)b!}nt8u18Oq$7*+R4a^IjK3NGx7lmY`aOT! z^Q@7$ztDKw5n%l#>aOL!FcpGNe9REH)-bGqZv`U?4jKNX-~@(i3M5JF2%~H8`kIB* zFs`q8d8Q;0X%pEY(@6!us_AQm{ae6c1zo)t?QBMen&GPO^_saMYnwq}3=v2Xfgclr ze2+l78ZWGko*%pstQfuqLTDUMOdb&{pR5T~5n8DAiH;eEbuNE$6*^80u7HAZOKtRo zS{3-TiflI0O!J%ZsoH5lf26^4p5EiJY*dY@x)`GIyL%npR#Gh8y1(=R+np9*TT>S^ z?{PL2*?~(RlXj=2Lx^hjK6DoJF7B?gOxtOOGiKz&@oXh#IH`u`IV8Z$w)(}w_!e{m z$2ElF!TNxSpJNF-H0s3+^$$U&PyjQ<4WS~VU;j{lflEx^!xI~3`)CvCD(qeqGcmp; zkR5`ob7|G20LiVaGOx}tWD;V9rDDbk&$@_JS-cE6) z(N(Q~o@hyNE#IGKTaW^#C&X_WqQ*V2HCsC748bpMYlS4ckk}aob~eHK3)c;THd7-z5`0Hc9AM*obgKqgcGb&86xH8MF0XedD@u zQ@zZR-~FVHNN3Qs8u1N}_kbhd@7jXHR-0pj&&2ZCjSRo%5B-t1vtI6)4~f;Zx6}R~ D-1B{z diff --git a/weapons.asm b/weapons.asm index 7cd9c23..7f3fb50 100644 --- a/weapons.asm +++ b/weapons.asm @@ -294,16 +294,7 @@ LastNapalmRepeat lda #char_clear_flame ; clear flame symbol PutFlameChar sta CharCode - ; check coordinates - cpw xdraw #(screenwidth-7) - bcs CharOffTheScreen - lda ydraw - cmp #7 - bcc CharOffTheScreen - cmp #(screenHeight-1) - bcs CharOffTheScreen jsr TypeChar -CharOffTheScreen adw xdraw #5 ; reverse half character correction (4 px - we need positon of character center) and next char 1 pixels to righ inc magic+1 lda magic+1 @@ -443,8 +434,7 @@ WriteToBranches sta digtabyH,x dex bpl WriteToBranches - ;jsr DiggerCharacter ; start character ; No memory to check Y range! Let's not draw this char - fix for very high mountans - + jsr DiggerCharacter ; start character adw xdraw #4 lda DigLong ; looks strange, but it is (DigLong+2)*4 @@ -503,29 +493,6 @@ DigUp ; sbc #$00 @ ; sta digtabyH,x DigCalculateNext - ;second crashing bug here :) - if too much subtracted from digtaby, it gets under 8 (char height) and starts writing over random areas - lda digtabyH,x - bmi ToHigh -; cmp #0 ; necessary only if screenheight > 255 -; bne @+ - lda digtabyL,x - cmp #7 -;@ - bcs CheckLow -ToHigh - lda #0 - sta digtabyH,x - lda #7 - sta digtabyL,x -CheckLow - ;crashing bug here - if too much added to digtaby, it gets over screenheight and starts writing over random areas - ;WARNING! fix for 1 byte screenheight. TODO - lda digtabyL,x - cmp #screenheight - bcc @+ ; branch if less - lda #screenheight-1 - sta digtabyL,x -@ dex bpl CalculateBranches ; here we draw...