From 39835d5f50c09c9b2cf5f913ffd4ffac0aa1bbba Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 29 Aug 2022 00:31:24 -0400 Subject: [PATCH] WIP: unfinished weapons optimization --- ai.asm | 4 +- constants.asm | 364 ++++++++++++++++++++---------------------------- definitions.asm | 156 ++++++++------------- display.asm | 19 ++- scorch.asm | 6 +- scorch.xex | Bin 50802 -> 50665 bytes textproc.asm | 29 ++-- variables.asm | 16 +-- weapons.asm | 94 +++++-------- 9 files changed, 282 insertions(+), 406 deletions(-) diff --git a/ai.asm b/ai.asm index 8043da9..9c96bf6 100644 --- a/ai.asm +++ b/ai.asm @@ -155,7 +155,7 @@ endo ; choose the best weapon - ldy #32 ;the last weapon + ldy #last_offensive_____ ;the last weapon loop dey lda (temp),y ; this is set up before calling the routine, has address of TanksWeaponsTable @@ -1043,7 +1043,7 @@ SorryNoPurchase :4 asl ;*16 sta tempXroller ; perform this many purchase attempts @ - randomize ind_Missile________ ind_Plasma_Blast___ + randomize first_offensive____ last_offensive_____ jsr TryToPurchaseOnePiece2 dec tempXroller bne @- diff --git a/constants.asm b/constants.asm index ff56333..7a4dd52 100644 --- a/constants.asm +++ b/constants.asm @@ -261,36 +261,16 @@ WeaponPriceH ; weapons prices (tables with prices of weapons) .by >price_Liquid_Dirt____ .by >price_Dirt_Charge____ .by >price_Buy_me_________ - .by >price_Plasma_Blast___ .by >price_Laser__________ -; .by >price______________33 -; .by >price______________34 -; .by >price______________35 -; .by >price______________36 -; .by >price______________37 -; .by >price______________38 -; .by >price______________39 -; .by >price______________40 -; .by >price______________41 -; .by >price______________42 -; .by >price______________43 -; .by >price______________44 -; .by >price______________45 -; .by >price______________46 -; .by >price______________47 .by >price_White_Flag_____ .by >price_Battery________ - .by >price_Bal_Guidance___ - .by >price_Horz_Guidance__ - .by >price_Floating_Tank__ - .by >price_Lazy_Boy_______ + .by >price_Hovercraft_____ .by >price_Parachute______ .by >price_StrongParachute .by >price_Mag_Deflector__ .by >price_Shield_________ .by >price_Heavy_Shield___ .by >price_Force_Shield___ - .by >price_Super_Mag______ .by >price_Bouncy_Castle__ .by >price_Long_Barrel____ .by >price_Nuclear_Winter_ @@ -327,36 +307,16 @@ WeaponPriceL .by )qpe+qZi(*=_KzJ=w=(d3s zrD!xevYT#cdQ(89NT6ORHdXjmRPM!36cK8RS{DTi-Ya~++4P0z|Ns5}p=5W?oH=vO znVB=^oSFPwXl&eK^c%RVAf5Rb)Nf5R8N8VH&5TH0+)qC zTgufMn7~7FCuZ+t<{!^8OD0R@bpcLTl`pvS1()%fLl}@R+~*K1fgBB(BLwWiDu>{< z)0fk01s9`4qVDu2!PPSvFTZaR+#1sFYblcTmj`4W0C=?oj%Xx~2!TVws_CF{h`zPb zIMPbvh(<%hqBIT(*1tUn8b|1BU6RrI`UAc!LG98iB9pw_I`DxemGFmV3~_Q&!we%1=|LN_P4cM5KgAUC*A3bN7tr6A9B*9o%Ttq4r>BzKWiXRd=Tm;)~| zqt-B|US!BxCT1h^uZNh2)-am3mdVjvjlt&8ZFq#LX{Vs-YwOI-)dqjBP+4)BpkSMi zlPs$w!7T|k-#p>iJ%TG1+|Co^KCFj%GgzG zl66jv3`jHy!9i;GAfrYHZ&i9T%WUX`nV@}tWP@&+gdr!*HMXXC0&_hbq`%?>=F+TP zIhYe)Fe%H#L+WU-e37t~%<;)!t2Cs6Qn6AsGJDsEIqX`9yfKF=!N}}bU1$D9TDvhP zsr-_lgiAR)+zmn-F%kwbp?v1ehw99i8C*7O|hQpJ_tLC_ep-(%mL0_99M1di5&O7!6$LtKMX!E$9-V%m2%vN1{)bG>&`HW0n`8A z#69dS_l&pP&bQpV-*W%+tvc0c{>CORRL(&&CrjnItV0&q+#OpT^$x{QpDX4DCB-B< zf`^sw!Py>3HgS6~09*rMkI;$A2x&~e=7;1Y?vjC+WV3rE!B-vu?;DAH-MyASGjqVS zoiI7S$$CyD7|=ItZD!~iODVJ{ z^{;1@W{pb&dN0MN@Ka{pYEV6V{;XRE&r7ur=jNrlj7_#wpDi^wObPSNOARVYw5$Ry zGn|bN&YGBZ(UW9kV#_djJdCjn)XK7~3(gVUX7>W2;Y_&FY$G~46C!HL{mp>2y>E2v za-3Qqs7(dtD-G@i{LI<$&Pu7~1@z;WYVuTr|D11csJsVd*GVxCCPjP!CMEEta9Y7y z2%Hp7*9ra@JW&NG>TKGAs$2=hm*UmK?8s+6&DDVGCNm+p`1$D~N$uhazg8q!pL+N! z?HhV(FI^;%7un=<;rEc9&?FqV_u+KIPDYEc-KJI5%AG^(c$(9)Z#b-3k3*> z@gZTB3%)a=%gptHwr}O@iV$INQEY9I;>EG5M35HJ2@@z&Ezy&ymgdyymh*D zzV&zOZ&v>!xl=YzVXTbx&8ekRE2plR?wWpJ>d~nure2t8m=-ymnVvj-+VrQVXHEA^ ze||b+t(m199~aXRfCG@SomM7qeG z+lW9CTYaS_omk6pL=198MC+C-CgR79I?hEPb`Pz=O_@m`Zwv|Ob+Q! zhH{z5r+@(_b4s$9-Z+R&hgLE`Q)?=RU6gn&;*YnYepOePw9NRVP`*J@#&F zy13U4YY(Gelc9uR3#du=-<~Y)Y1FD3QDqKC2k9MA_~y9-oNH!;lxx*qAZzHQWm09* z+Ws0V*321lcW6q-rPA@}%vlKRS}$VlJMAX8@h{*JA$UbEBBr~06EVZ>j3;8IJAsIc z+@naHxsmyC8r2~7FRDSGg;?x{=xB`rwA!4YSGp$$dSgdJ^FTal)Vbq{b=5QrVD=W6 zoxalsG2k-Tt zwSK)`?gqU@{)yhYvCbPSS{3)l24Nw^LGLl4!5Bjare}xufgRpcL+_^^gKeNDqowXd zYq_N!<-Rs>c8wc@U5iU0)(MZpY86SPzU>m5<$Fb9?Y>tfb}=T-5;2|o1p~%i!gz6) zF<#uSM9kuviD>7p5OFbgm558Y--v7g#WmbqfmxCVqI3CY=l6F00!{iZL6g4A(4_BI zXwuhA(8U#kF0K-GvF|s+E}?DF>}a7^jyCM=80{5Rw+- zyoA4RL7z-Gl0(&7g2UBr!C`8bU;-SIYP$K)=ohpq-A zn=fYAcd;uyy2^a6CqX!bznf~<%nggw2afe5s=<|#47^4?Kp}N0w=yh0ZedzHyH4Cg ztp%GQ?qf5>x7kJ1g24n*JM7WPMqXYx;+CF7Tp8SjDV!fPsy)Pf#c*`x(frDM5La}5 z69hN{%qt7~b$&qYUythgm9&zNPamTHhM$<8sGrI&Pk&&-J#@<4OMLgx32-ka0HnH! zZ*Y1OjLi(maR=n!|D8S^=I@b=-jf!s_l+Tn@puY3K8E;GNKgk~WDFjv(K_{U?Bi@H zX7C?<56$Zcc_1{5KxDCl|9eI+Cp$~q*D)IsW(J$J2Lg>ssvw{(Ld_6N5kH@#Of{A#r zvx2wa@sC--`|$XDmUY4tz84G$vB6k1qO_`coAu%oz6}Nq9~`++ExOGnFyapO_9sa> z&TDlDzpg0)K%N_w<}!k}khd1n8;VeD9ac&-{5aP!w6e~f*?}HIiAXtL!O5!=g4dPK zUnzn)66-*rjvtzb>XT91sF5&Qqk267q@*vcz4$j5S;kbZgqH{F14oPYF7HK5s&xy^ z(j`+0*AUgou>C+XX)LxN(e}>DmGBj5`+cGI`af?E8%^8${aPn2NOCXA{Iv!FK3gzJ z2?O8SJJTma{T4%|@$prIU=EWQg3j?KLh)c* ze1h&4!N2*hBC11}NQ2*$Wtc5Xh~_i~2V#op;KJxx!oG!&V+m2ZKyNGwC;|YzF>^kd)C&g;m(D%X1eUz86;045u z47-lEFC4h=W*b|+n5Yp2P`Nd74%BsaNQv2K{rl5kfj+c%DW~DwAvLP*+J3qy_XuTm zG>ee{gndtA&!KoNp?x)WEM8tRT>lb(V#&xZExQfEWxC<;vCs5%QtzF*@pRSPuq9C> zIzNJ#CvCeEgsFuv!DL87oqfoIf%zDXz1Ej!YopUX`~GC+b)0x!Pr9skvS-ndn8Xj= z6EU^ilQFg2(}?(<`*9*3bU#VNfO{Sdl+)pAePI#bv!`=UpvJD_o273+yxqLEjK%aJC}$9De^*sAdFluvXdq|@!3f*j4o@= zPAcsDLrX_EM`Q%j;pAJNo@WV6B&!}L;59Irta_4w-@r7oY90a47V$vFG4_D?UdD0u zJ@H`1f3XL}K!(BwKFR-4-CwHIF8A(R*~-vS)5?267cnI~Bfm4*qUrfL7XxM@Ol#)c2tDSn7V{ zRyvX!sY|hlxx)&aKWm44Vmcuvs@gE*0+VPLSWkPfp7x5F>^^Z3`?l7OZ_17~*$K0W z|4+7srreNHqtg{zqqr6!9CmUV+FfT4*%F%tess>{xCz8I?e?~XI?gqyX#&43XXwQ0 zm0Cl(4(Rre1XL*12^WkeG?BZc4mx$hk-DrQFYKye4%q7I%vZ4!(~|r+dz3lAU&|Tb zM2m0ILy@p8kR1it?~bN&PrAOV`;Dj>Nt+2YI76*<5)6`!95V zDjAVuV+{LGreqmSW3emXRUVr_Tz9sxD6R;Gxgt>EWg1pde!nu2`W5gKwF+l6jaz7P zsbQ5>H@_9_FZz&m%xmZ+8ICOc)=yv+8g=Xm%}7MEpQ32jv7fc*lwEKW z^gq6sAM!u6D(WLsERP<3bB6%~pW0HnA_PY}{hh8|q2}+JU`<&d8=>EB*sP%*>N>5P zY~3~=WYh=#j0QYGC<59we|1HmZ`T#$SD>>YM2Gx=&W(b%$nC_)wP@9&ql~o>-Qm&~ z6k@>X{G7TP#I^J)n}KNJT#lMfv%vEJO>T@T)kXm^xZy~;fAS8Cy*q{2bs>oB9%!Eu z3C-2S2_z}DRbVQqQ&PI!z`fkUw)MXj)S0)VF(QHv1kh)~HTM-JsM4DAjyJ zvy=V+Og%z~j0&zh0*;Kob3KT!hh~9&-AQn)D_S0l8l)?FV6R9&U%_<)+WEh8al{u# zsFw-=3gU@lab&m>CVq0P8*xSZx)JshAh0LI&yMvVfPZ?dJMl+@Ci|(c2S54wThbZ? zrW1ll3NDJB|DB$Cs)Wal-GyI1fTi?}fYvc=_pJdJs14HVmYR@027oW+)db(_HCXEN6w zM!2H4A!z8Z<4w-Lq z+#Nnrh>l)0lD{=~klw~m$$fM>PJqIh+Y7DJ=x#^DDoswrUD~rgN6e`ySN>^}3%J`; z<$Ji1sn|2V#g5xZtg9EvSrmE~h3Wv&()awu+&Cx0B^l&YZj?ceN027>9r7*Gxc%Y2 zW8Ad!Cy%bM)*$9YMbXn~C4$sYJ7=I^dw&Vb5 zf|8@4_L471(|7P1v+N9;1;cA^zyVaGT!5)@4{JY@s2Z)8vRcQD5~JF+^UW(d561L? z=$Jqr-HxqU^;t-&*hPEr9%Ny%f(6R==#sy>x9-#?%JD_C|IS+f zaK;)0Olyq^m_#@VadJP_vm;GAk;aK=R;hL8lHdrOH4ebe)*VOm3KL|MxYJF7(nanM zSj$nM+6V4j)xm9UCoi;fP`Ohxx99>ZtVvK~u*SYXs8w6tNx>5P_&egiy5X=*TYg$4 z79c7IYL)e&%C>cTtETu4V^^pA1X;`@TZd0Ntah>RYx8?Xk4P=NHMMA3YT{H z(9;oo$n)+IxQ(y4K-_3|CQ{MY6l8!6*pDv|#Spco)yZiznLp7uz z;|dSj{D!D;r}ek-pRO8ZI5>t6Up=t2hqu(8^LfeUZ2xd7o1M0ETJ(s^R;k0Aa6t`)G%q8ytx11Cy( zv9Kqx25v8!5Pwc!@!&PFP0Neu|?uP+ZeKl|FWCn z*?+-2o@#nqvXW&s9HIF|Kfzr1N7`e%~T2Upz_rTEZmS?oE1=phw_ZVCSoXijMsAh>w`aB>Pi|-3iT0;jc)yX&r3VuzO7M7ifvu%BEr)POq znnzz2c#_}h@EF@Xu&oZP_D_?eG_<1BP%L)%&S$wgc}dsrD`x*H!ZIYR}me6vs&d6?rtnZVnN%GaNh^_KjbcO z7)cmY{X8ytkT6JLBEd9&=ME7X`v}s?CPMe7C_F=d6m6P69H@~lBU&T)0)k>h1XkxX zS21%ZD|@imwZj7_PRkZYV-Jq^Uv``5(PmJG(%UE%Nv)+3{>us1EUShVAsh@O7TI;~ zYxE)qHE|lpHe_a+=p~ynw~lEzb5Xg1%P$x*9s{egc{0PkfP_(QFk(CW4M%VR@7`cd z8s=!bNs@|9^k9Qfr51BLQ;;Rsd@A{MOu-awWkB%_0zaRP8{JPcWG*D2Vk;dbZ>GTV zAr5Iuk)yclDOAol$kvpC0#=a&5mBx+j<>Phoi{f8i8jRDB8>I^wqDTkKnnL>3U@Gt z3#6b==(QhB3G@P5BdWq!`)B{g46*jVWrcWLbCKf!=lJbD@CM zfXPlBswd`VIy(Lr9Uy$6jV6o&%3rsY!2$B}Wi&6pTmG~KtY!m@BZeo{A^t8vcXC16 z?a>riDA5;g1Rx)FplriHtDOBVN?FQiA2jR0xoJ?EE$*S#obpzIq*bL``hV@CnE z9Wn}OCEDWzGh;cM$=ys2&>P5UE!xOMx6|VXZ64~pB4DjxVbR-pI__Pv!Qy+DtcouNUda^!cdzyn-+oeZO=zkj6;%X*aBb)|)j$hU zF<6YaMS4xpawxGV`Dson(2};HVe@CUJ~UlIFKj5iLg^7RZbX=f9KpTKf3rER*N*)9 z94Uuhal%P5b!B%7%FuwH@3du5zr!mJzQfVE_LSd%$ov`HlN`N~`FcID{QRUXcZHV~ z;egxEZ`kq}a+^5H?un!9cpPQ-$5FN!#|kmHBiTn8#;7Z;l`HYh%wN^=BGDIk<|Hv9g`{pVC-2GyuMyL9B%{vDC4RIun!k9BiqS@ zs8}x8A<7hhV+9n$`$%1BAv?g3?NNqL?#I+kjxp*y= zYS40hbh_b`oHDSSi^u8qc5a|^D)by`fUG#=U4&t5$qb_8r7~zjA(`V4ODE}XYf0|5 z!of&G3nJB~j(dP`4-!_A4cz_oC=eqySd9!0QBA?&P>v)@x7|rJ!2EO4{KN;yvd|e7 zI>c1A>tJ_tk=&&l%6%t!j&Ycm*Q=di%QLsG-RiJj<7c{3)BXZq&%O!bYl9#9 zZ{6@F#%}9cEW4N2D>Ps0WfrZcSzI==(m|^nScQxDFI^8h_fd1Tm&mVi`>17$K5^R^ zf&B-4-Yc*lP#dP_-qCJE#g;WRG!(r}m^t~O8y73IdnGT5nI7HN6~1?f$|U>tlJoxn zIp02V{sU0NGdSFT3$j}85bL;g7Sw07)Mse*BY@y>g%Ldv*v!z37h5ktjZ-6!zfF{4 z>yfoK+!zUNjqme-Qoq>-a=9e1lCaMP@(BA}U?V9FtmRGH205o-ogx#Gfn(jQgb1#Z zOtfcaWw!j^l~s{TcHn}olu3_gvd|m{G+P(}nshz2YcWk+E|P1L&u4Ob2nNV{9KC92G>tGklma@whbWCU z@fmh0u(QLL4$U6g^4}sZMbc@hm~DTP%|<}Abkg+_0a?lt8A0YnS{unObs6eg>$YN~ zOG;1|d+|mk@gmPSD~XyuWh==pAyc-I?44u^PqJSlQ(h+7uaha;Nw%9zd4*)ZL8iP) zvfm_Ac93ijNzN8XwoI}K$u1+=Z;|ZXBzqUhE+^R{$@Y zw{Ji)n?~Rh6^r(`CoL0MbyLCICA{)-KYbcrny@L2rm`ILkRaE#WK+SW_<|n`dcO4hODA4>Y!enPZn<0ycA=hqX=?); z4glEC_L?sHk%Gvz=?bEbVq8@ zYIDK=hWs6WP5zD>$=^gh{SVAL>Fo2gb1xFi7V#}il~%TJaL9DsB-bHK)Uj(3fgH(E zhgIRwb5IpdXN)-VwyfX;WURX3M=38*oIo@=6;1qx`n3h-6T4mz*V-t7>m3Pgob1g=v8?g=w~j3y&23 zQaFek#Ld9JL7c6W&Ba=09Xk*eRdp@i<+$fUvAV#TUwCuHxnid}X;*F)j&U4SIL67P zXJ&cy%OWgn2a%*D&NZarHU}KN>loizA8l<%Hu0%d?K)LKl9$gS!`S*Ku=! z+7o&haf|;llTmmyUui;aFP}o`YL9J$!qs5&W83kO9APr}XJ7A;8EOSX506S~NXco{ z8aeP6-A-^oJHeY9Slb#PPaSGQO&yL;7%Tt7>l+6&{_=ZNT>peSQ^$-MlcIh8J#2<^ z_dm&7^t0FHo~@78>+q{cqd{jd@mJm$6x~CYXuHtRc;?k%XPk-Sk3F! z6%@U^)7*x(_X_FW$+>{r`eymwlfQ-c8a!gu1CK3U{<7fz;_Rhv@weYMXKCJ+iX)#l zhTk%7*2-7+)qVY+@V`AY+gVgvee$%ph;wzqsyx{KW7WQ>saB(+M~na))^N%=UO*i0;;%_D zwUthl>$IB!j+Y@}A4L(gf^|_D^iY@d+d-W-=?b%Sw{_-jZ~<5Cl2qB?HhI}gwRlE) zS=?54TfL=~m)zsLwfHt`-`%zEB(M8H?PZqs-OuZZ1jZ0rD6QJ&br1JCJ<)(9dZ8o6 z3+bZW7O(q15+#@7wd>q5UOC2{tdSq>#SJXq@u$7G;qdcr`MP#b_}wzf>9umXl>LPm z1Cd_!XZB(M?5PK1yi|pdh;61{S88{hHhW#sNa(IXCxPx>5Eq@lCdBr?B$Za_WcI4q zoY1ATYMqz;S-jeNz1RJiH!#GDbctT+6Zj8))0*hD931Xl@e1XzYBy!yy0ZMMA>M;2 z-s;Y-QGo}&=Ak=ICwuXe;Bj7Xjf+glUdqfRFvea!nCyjEqrHJ7FHS9?nSjOXG+P3f zBsH!yz<4dI`gx%RSNM)bGt?|LyVJZ0%hWLOiuK>+0adbOT(PVg?G2{V3uItU9$Q-Z zvt`wPB=IaF{vB(2%_-N6Eq%Qty$QmX&5c2)ad6X=bg zu5=N9W?r(ok{>XC(72hV4yfTLl3JMZRb7goGj%hVGc!r36lU*68g#!hWBBFs$5=P6 zmsG5qtJg5Td!=s7-dRlTlX%>#~a z=vxPl?>lgOui#LiD2{Ig!$0o=j_>JfLz33;@|~VtLZD{{i_AZtGz`77b+D6v^#0-2 zTU^a&M#;Z|TNN0vV-V0&AxO*ZZwdAf1iN35n(b|Zq_u|<=~4U7f~2-z5tz#}?BiVx zx(3LCdFN?n+(zcpry0j4CMuu#>|W;Xjf^6#HBuB;r!hKITW3=-eINwX^$ohqwHj|s zuq<0cAYh~C7MDKnUxNK#g3(hT99bsVqCsteAPr<4%&f-^Q|>Ka6?d#30PQ%J&f?WD`S%pU~AATMGn6 zZ361kZwbsVi^{UGCO&5-tr7PJCW7Q4PPUpkItygEgA#Cy)d4M2y;00&H-Y8+Y$^mT z^ZYXnx}VE8n$!RjCFXT8vXyYUGYERy~K@kRVKLrY%9j ztCC!LUmP)quxY-L#H?aX$-c3qC4@}}KnDA7_7jCEX&QSBTs2~VgrQb{wD+>RX3cKq z#4M>_kh=MTUn6&epeDQQ(_QvCSRDT``0p+}DEPdBe)U1Ru6z}OS%t*~?v5N3Y@y#D z6m%MNc}pnE*4LB?fGRB$YF+_U=_`T}eH|*_zH6{i$)1D4ANzzcZgkowU|JN~*o<;a z17-+y%=mms4YDvaNIeou_^bu@hlLXH8+#l7(Slej;ka6j$H{T;YdmEfcTnRIIqn0E zr<~(H(iq89Np&Vp)?oRMblNkVc9+xsjnh7|%$`x!5YXzrHcHFo^N`F5x3rD5NCKNv zvdhwBku^;@VvgS>hlm#ca```?Y=KJ(;TB>7xV}#IL%L8IA(a_?`CciByQm={lFlv? zd^rece~n0O_6mOE!q~YV2o1X5BsDkKi3xqh*r|qoqwGe=T%^oJ$y_&CdXVcb8&gYC z%U-T|m#aL=ef#aVT#Q_(mz!SBbZ1UW1$d0?Im)*#9HSW^@PihO8FnDWJc>JzV$-(P zrg&;o{3GR1&w&)bEJsNJ)JqIk%bOS7lR8jH(lXI|uy`Ddb`P*sWEz&8C#oIxokH`O zF!{2PsOU-vudDQ4MqTH7zNO4^a;FezEzteiY~RUWUKD42&{ek%<2>N1TN}`L&wCaI z%L`DpoewFY z=2=XzUOawkyerVt7It;K%kc2b)5ARkygqx~oWeQrhIoT;U&VcU@7p|Y_q=`g z)!+BYec#;|GB;{o{Jcr?=FfX{-imo-Ud}uUw|AaV3S}Kl)lxUMipfqh;ET`o>GraB;dr@RIP9))^l$W(a*h2lwrAdh(<{=7^ zc$fM@hAJ+d&QuTX4g#GwjTnZ^{Zqa6Z|cK?^;Oe|m}Z|&M3a3c5!3DSiI`zu48yI3 z`C%>4aS+n*3@UENT8p-m`{N zTcqBQTf|?;?Z)~JxheJ5E*(OHf`i<<2PY$iPE7wU??b!1rv%@>cmP_1>W=odPddu& z?I;fdVOO~{9B7=0818)#3T?d0?YYgxW_s?PGxfpr@ny>x(esFO|eFizIwiF2~) zo_Hsl;Th({7{i?y;wC4%!ZX6juB3g@?NFgyM>n_UFS>!0{Y+pvc66vC4a=FHGZGH! zlH4Y#NfM>HD%;OEAY9G)l2WJC{Ns|MD=1aL{RD$_{QcNIdb5_z#BS1?Rje6CRC0?Z z$SvmC%zwFbU^))h^cC}!bs|AkT%$Q1W=IB8!auSsZYgDfk}E6J8kyT3kb1HX zx*c5XdeLMqV>dWd)$6&b1g;YP{?x*zZ_NnYd1NXHXl#>{0oS5NRZv{=7-kE9dRc1R zmd)bpRFAMG@eMXze3Q+fx(&*aYG{W_a`E>rA3bL(5jXhDu!Pt9U4ee$dRcR5!=d%n z>w#QWc|*X!hZ3lgK$BivZ%PA!8%!p41A2){uWtfFn$W9h1MR~fSUy~Rjz7OVQ9YaQ zm3HUd%dqvi<;1fLJIu2jI}FVJi5)QTr#d!0$liFc$CswfgTDMv+JG6REuJ(YYmb`9 z(KO;Q5x)xNOBx;ltzq7SIQm&PR`!kNiejh)jTY*8z!`a-pKXe|BYaO z^Zbj@US*JWASs3tf3+8ZnFl8`6m%=^%wSXC9HvU4<8&{g3zf!QYxyqNBDKvP zAaF1qB|6cabpr)%pwM1|%<(2d@F3f@fSRNJe|oRL5rk(+{pCq(uv(raik<0au*6ib zdDJXno$ykgC2~*5jU~P-0xAYzw#K_yk!tUH50tl`D(_(*qfZ%onEi-tU`yS4u^#Hg zBKo0Da>S31S-cUHvbw&IC*sH4OR&kfmkCU@5^AcI5@{NgCosLszQ^uk z_fr#tO=mO0$Ovb-SQP6#^RTTu2)mHHqh)c0;rv4Yy^t&|z93fk-YDYiL?rANqLcj+ z^`}TgmYvx8=*2Hg@3QZTUz*-y-xK+M<~#fSB`CkzeCwoVNm5+0`1Xab*tf-ZT2$;i zVhz4)blroZp_^g)6215laD61!oA$BwqTl3W{fW==r_DpGB~;OrLeY3$!cp#d8ArKT z&t{5#)+~O^t`HBiD{=57ViYY?_t-VIuZd!KX;L@Q6$lZ}%33DTB<`0V0k|$fJe<^B z^ee}Gz5fo|05OfN6;15>I3+V+)^M5d6Itzk!+U(*iqWxKHXHI6i?wW;_&#XKptNLy z79iI$TQ>9I%ZD!ivx2VVNg%uc6Jv;40{NXCUaHd?sviLf^r5_$XE&eUABb$Y`Ze9U zUkDWqG(2)M0N#282Ns2Ej~UeBxa03#IZC~gU$b&t&-SAVemFg?c+bi~R_YW`?||;D z>&`O@L|2g?tEuy712gqt#-9vss1E^tFfoVG*=2bCA!T;1t`|MkY=(87451fOc_PJhs&z#0t(PCC{ThWHcb~qOA zwWM(yQQM;8Sk&UN1E#uyHkO!=Qamnw-IqD1ui7;?nqnFZqmA&cy<$i zDBb+rZc??Izp!fbh(wc*gYRH?^fA3Jo8&!1K&$U5lDCC`USBTBDmh)_#8>CuIs0C13q*CpAAd!cRc~YHiwELW2uco(XrG_$*Hy^w@}j~gPCX;4FrGH5kX0g zkPs@yPy`f{Fb1EK#Z2B!fcQoer8CY(gK~6T;-nNe!3D&@PF=$`cE2%^A$()jtUg)9 zIQQnx9XZVw-$=EC+ol0|G2+DR01{h_vSG`N_i zJWB8Bv7{*%)}+#4jiSy54No=Y88k~f!2V_oNyU_6lw_E@ux^iG`?sjrMnxM$vHwQV ztYSZDmnoGc73oHpt?(KguxtH&<=Af}v7P>Plz!_C3^22w3C2!F`Y#8DQB!H^HPh&< z(H|Db_J_lWrZ&n8%M8Ay*PA0>E)AL^N)xrDDU?GE>$=N?flg(g#1a2QtGCH3`g43H}UTGj-g<9v1?jr#GAp*FcC(yhz_e0a@= zY2H~SdUIb|V^#%gY_~!B6iINcCT5YO=njS{r&gET`#S2ScCrn}mNn>}LudF6T@YZ* zgsb*A0*l=Oi#MEZN{{^bTpq!5mfA;MK8&iuh=r zmCAVMa-}uc1S97Ed3_n%LmR0WtuEbmM@vXuy7zWE|C1n#Yw?XydUM2e(uuJ)=kIU$ z^Eqp5(0PrDd_%62Z!_epyAHz%uMg@S&V{LpOMxq5dX1YxJX4ev=1C#`skSI-Dq0ZV zn1b^m?LrlIJHRfy#!V)k$>dgQz@i2vvGK@cB8Q5{j@(XcQJ&igdkg?*Yi!eP*+z><@VM9j3e+-4L-1VZ7Iw<-g_C;STpY&9J-44Oi z?UN(jJ_-D{LB3>U-r*NKm2CZ;vqAjUGPWB-ykTlT`=r3`FqMej&2upClqj65hnMl+Af@4B={By zx&v1iQ79{%jXtPF3AH#9-Ds!4-LYkdr{k@1kx*a1wX*Ud1WIfE#UUwH^9hH%7!BV3 zP`OyBImxkKRX!}#oaVS#Qu&BbbB^Pd3YANQnx8mshfw*bP;;5%mI;-Q2{j70H43*z zXeEop7g}x&TO>q9h5U_uk%yZ##rB6f!Wa--drJn3>3OYBV7wh2`fq<0f)j`VTLqbmD23lvDDrngfLtL#l{#3sEty6%8CJXt)@60LNE zjGNGT29+N|9-ZQ|isvv5{*}ND5IX8Lfh$dwU7GSOzFO+pPFzuzJ^Wl!Hk^xhQt(xi zA|2*7)3+@t<(3*GUmq=&!)lOvEiU#_aED%s-j(Tym2|r@^%_{b3pS8A_ ztzgDwms@E4fX@12RQnz+X7@nijsa50u1teumW-X_ec5F^y8UWmi`bXSEY&Y6ul}gq+>B`CKR)| z87Zy^sTnKgHr9ORmVnmqOJ>J(Qe;%nlHV2S`CE#$4Ns z42t>8ZSoIvT&2r(J(_6`;Qv#P+vOjOm?x`3d)a}SbHwoR3Ou#W@@zNFh+io##$LB# ziC=lN82i1jud_B*9!K5T3APyeP$R_|=e^{Q4gBb?sVxrtNA5+d<57K!_mWceL%aUN z1n8?@%&jfn^`bw`79uU*^`f$*uh%H3eo;}&7y^4S z2HOz3QR@tZ*VjhV-FUc<(|cv>0i&`}l}2pUiD*^!>fzqO*3K=Ss0qhp%b6bK=AI;IpU z;Fxw=ncUJVDWa~)7J}5&GzA6!`uYTGFu#6oRaYh0VuUUO#q$OBd~<#Ug2TDeWay%C z+02JoLEQy=2HI=zJd89X_`Dr*aLzto1~9zbD#Co?Xq<0K&?PEF&3wtGKcI$zb_ zX-B^^5wg0WsK3=|7`|FL7rt1H;As-`d2UObNjibkc*gE-V2LJgu+5gldmJPqCg$QCZ1he>siHtv7d8 z1CgDYncbCO%Oz$e#aW&$p103O%6bRY+cazMfYCjGl7nohJJ8FaQbb^n7Zic~Wc1x! z+)=n_bc8FdwJKSYF!gYMr>u$GSUPxefv(v&MA9RaJua)Vzmtqmp!|$2%y0B+BBz~7 z=Ph}+Xa-N_-FZX%rt|0m$r@&6kqBQ{5uAx={)@cZ288jYG0p>W(VJf%G<+<4v6{TOD;9@yRwR*IRE%J{{lWV~oWZ;&_EbJ6G*%X+Dz;LiWi_jkHm3F{_D1r;N zG3bJceQ5IwYucL?;6M0&8{_+x-Tua+hJ@uD-QRLQ+Ngej& z(MMcKQSHXJPnvo?2Zk5cNJ)RLn)9bBI4|uNqWW2wNDFRhz}TBkjlC(<*c;Ae zYnaMZT$18fZ;rP<;&P~h99QJiYfPns1)Mq5JZ0FNf~1~we~k)yQ-)Wb%uIEtD}3Sn zE{j9kX&vseK$~>KS)7fl4M8E%Ufp3<IrL>gfjb| z!d(^;3f9IFf2y}f7dMifjZnCCETP9?B%HzEABCIi4Fhb1O^fbu5dk1;;U_leYM4i7 z$*)7rC(1#JQQSem8vt5AB=dkKzrM`^V8Qo>bz-tZ#$tiI7jW|e)U0tpQ& zO`wT2BZ5ctTUB9KG0kUwlz%l!g_r>z+abWN#Z0V2Oe@F#98ysh|4x4DR)h5>OXr1| z6dc?8dXbv8V(z!ei0mtdo%DO>X$Zmhg7(B5W<9U{hL;-zgjsT=u!;rkMQXpMMDq6=p2!7)rY%6aRoq&)150d6-F6t{o7ai_^93{21Ng5C^n*1| zA1X{13tA%B0&!>Z1-2zbZz^DS8a~ct2Jrp1kFc7F_$Kyp2DgF$U$Xedg+iK+Z9$b% ze*MCeU}G=JCX_v9nkraCuTU>KZ=&Ly!|k zu*t9^>Fq@ocZP6Z(>noYNqHr9WkR_7!%FW(*c9>)uqotk^`0{%Z)h>#O5+IbrhQF3 zUz5_2r1dPRI!oZ}*9UK#4b>yigk6kVwj+rWA&N%HOCxT+_Mj9E4SZs}iw1+}brv}$ z82r)UTF6);g>$EA^!OnAL4)oq7!Rq)?bG~vQ+9bay%2`nI<>(+5abcQD&Dgrez0%D zzBf3!C?ED}5Q|uaTczXknNwQ;RmJ~j$3Mc{MM(Kq@gsIVfH*Fa`~6{`#v!>s1j&6J zawXkyqjaD=l4;#wcx?l|naA?lU&`nUyopuNdC8dBbf9&pMR!15u+_!flV1*tr8m3N zGgMB%?GI?qom6{*fDhIq6e-bMZ;%Eb@=A87$0fo+;EP zV3DO^k(p49ag)7iY3z>1(&;*;6HI&xUqy73)2eKdrjNmOCl8QbU z;gIQ28XejwX%x=*d7WOvkqkmhzkDoqu)ig2q5TP|t1l{5>A z85-%tCyXerdm(T~T}dFcK=)J9(!^C{O)wz`La^Y? zIBLWk1i0yWHN|^}B4#zViqeLii3rpxFoAwa!%-)nhFtwxn_k&d?SL&Rdm138QAlm; zY8tE+%l%q83}QgUmP$cuc!$QNA)9{EMu(cB)6(miFKjJ=27Bijx?Yt&-4#hww?g5l zi!hNSytR1P02lOk8T&Lkz#gj3_16c&m4we;{>kFFUhS>4MX8<5i^U1>AS_}d%@66t zW9DXd6AB``8InT|i_S(js(N>A+GR2P&R;1`N&OpmHTx*PxxLVZeImozAN5pz}7|j+Jy9VWtG0i8T=5PJm?AICjs@d?~> zCLxutlJ8z6fml#+QY3PJ5OUH%qH*!yHFEMbg3G@Zq_l!xusbD^A~aTKro`|s?~b=d z7i0S(@mQaHA)WhzU|tM|F_}uC{5KI@;dF1eYG9ZB#T-*JQ)r%QM!`Ng!>` zyCmx%ne!gW`hd*YN3uR7b9^MLj?CFlvJR0s2T0aOWKJ!~swZ>aCs}@yoYg?G8cEj2 zBoCdsgk&8dS;tA%QId6nWc`a|eM+)qlJyzMI!3Zik_P!@oCeWS8ws~J5PKs| z)5}CvojK&)o+PD#APk51gCwPqzsOJOxy*%arGeA4)a6;`;wL{lD0!(%7cv^3$Y}J( z{qja41?-eD`$1%{S0fszaNMB#x5#1oi#n#CFMgJJ04z@YI~MwWAW-=?2Sxr3H3*LBW*+U z=1_lyw?BIvcTQa`p?2J2n&X0=#VsdQ0raq6rKA)2PoE!V4I;lDH#1?TcpSg4fbEQ* zSipG3uPhu)LA53DU;6VABU4(y_zIZWI|9+-+L<$F;<~Cif?MQ5m?~JD5snh&ih4T>9MY1>h!;a--%RbV>UtGa4(n!CbV>xF(*iBdvJi>CHQKzesuyj2|<8()5|| zH~g{Q!H#&)5~W85%A&+gX?3VKREmSzS9~=Zw+%tuRxJ<3k${8mmV(;&Kp*tFtn?}Y zpb|T^;zB&Qxl~{nQSg6;>;OaxHF8JcZ8)cPbfGzqUZF9}CcARt0C#XT>iO=yBC9)k_8c8}#G<9{u?1(f4J1zqh2IfEus@k zrGqRaR+;E+QUe@R6}t)U&4<~6ku^vP$JZc-rNxy1eePRA-CA#N{Oo5Ph4D=wCnpfE zrfE}wuCZ*LxXDNnv~@)=jv^Qhz-1J&Pjbx!^2Y=MBrz08(Qk-*w}0JHO(C4VOk5$Yg#ynyi>TrOJ@A1rMKXk7zij8H^E-ucQWCH zxQUyP6j8Rn;P7oEFrxA{0tcb)eVK0Nx>|2Py?7jZ$l=8XG=%R=7LVhO&~ccJxxudE zI=ha%p{p(O(D6gL0i9twdeNIjki#Koll8bUaT3w});fvcS8n)in-&trHZvUD@qZ)6 z)=wGU-_Pa)G5k)2wErD3-pHmPF-NUksX25UwyyF^ta`;z!!0PN$d(Y6UTQil9)~*I zhAU9UsEURL-=xA+-))7d#?-=tg+CTD9K+4SKZY~9*&J+r)=~mDt0ua*%yQeW#erpp z+`>OM{8(%a%qYvLK~~FBgRE8#%`C2^nZgk8A5Jwvox=T3l!^!LM{KQnsmg{LP-Tcv=wMKX$>#f(| z$91;AobH5=?X1Po0EJ#y|H;d~{nsRbpG4vF+RD zmNQQo+W7ZhiDy)yYOPA80hmUs(W=xMwe_e<75AI!mT4*#^SO$z(hTlxTt76Ad2FyY zEG%l!pxE0}CQsRW)2lzLyC-8nJID0I@+X$2KScrYX$yYB@d#^+?%BpK5{$adn+uAbeNorhkAFu<;`h3ugc?J_BEW;b{lg0%!L{G&pY1u^!uy5$IUTs5^GQW z9C6dQ$JT6izkRHwZP>`M|D1mB%=;dEyyO+J;=L26n|_b(KjhYhrnMz5|FPpIPn`|Z zC(d2H^#%7E$3FXgm|?{xZ{zQMmHo!5seOQVRWM- zqEyw0-w;b`YC!)~xx-!E>c8q8>#qLRe#TY(o&7w_0DCh|Py2T+X`@}`ZaxztpA=hZ zo}kq>sObm8+j{~?Jq5mUXsTN)>Z@DXAM#s?D)1(hX17Yx)_nRqmpt8f#>EDF=UwcN z`^glB+W8E9W~5M*ZhFZdIGNeI|4y3T0jH-Ph< zJ=`O1!{SQ+)W9IL)CMA>Mvn$@hA_$^UVt3$;x9?vDa+j|Y5C|LBt#-~Tsdx)F8SdV9fo5k-7>;|{H`l5ZByB^;<<-4!) zo#eLPrMxUsz6ZM<5r7y@3+|fTZu=;=BMKFXZU~NXgSjZX-fjQg>Z0f-yUi+lcem8t zo~)ps=r%G-s*XP5#+{R&Dy25%3isOzrB^+Y#QsdQz6f{VC-z4l$P4W2?xrFHOYCL( z^=o~}DV^IEg}C)bjN#47`~xa|+PeZ$=d z=cwg@zTfc+dzu?m z<5F3&n-X&ogt3?QB~!L0x_wFR(;L}xViamEbayF9g!gwo*A_H!C><|G|zT( z_oI0Vw-D``itiq+l2t&1weM&{|EdSvoT{-%-RPO;u6oeTX&Q^Pjh^}Lss(N?q_HTp R(R07MYN31Yf8T74{vRVtKOO)8 diff --git a/textproc.asm b/textproc.asm index a7dc36d..d7fd93f 100644 --- a/textproc.asm +++ b/textproc.asm @@ -699,25 +699,13 @@ WeHaveOffset bne @- ; add to the address of the list - clc - lda xbyte - adc #ListOfWeapons - sta xbyte+1 - stx xbyte - txa ; now there is zero here + adw xbyte #ListOfWeapons + ldy #0 ClearList1 + tya sta (xbyte),y - iny - bne DoNotIncHigher1 - inc xbyte+1 -DoNotIncHigher1 - cpy #ListOfWeapons1End + inw xbyte + cpw xbyte #ListOfWeapons1End bne ClearList1 ; And the same we do with the second list @@ -955,14 +943,14 @@ DefActivationEnd .proc PutLitteChar ; first let's clear both lists from little chars mwa #ListOfWeapons xbyte - ldx #last_defensive_____ ; there are 52 lines total + ldx #last_defensive_____ ; there are xx lines total ldy #$00 EraseLoop tya ; lda #$00 sta (xbyte),y adw xbyte #32 ; narrow screen dex - bpl EraseLoop + bne EraseLoop ; now let's check which list is active now bit WhichList @@ -979,8 +967,7 @@ AddLoop2 SelectList2 lda #$7f ; little char (tab) - this is the pointer sta (xbyte),y - ; now we clear flags of presence of list "out of screen" - ; unfortunately I am now sure what it means... :( + ; now we clear up and down arrows indicating more content below or above screen ldx #EmptyLine stx MoreUpdl diff --git a/variables.asm b/variables.asm index b965f0b..6573a2a 100644 --- a/variables.asm +++ b/variables.asm @@ -273,9 +273,9 @@ temptankNr .DS 1 ; tables with indexes of weapons on the right lists ; OK (2022) so, L1 is list of offensive weapons, L2 - defensive IndexesOfWeaponsL1 - .ds (last_offensive_____ - first_offensive____) + .ds (last_offensive_____ - first_offensive____+1) IndexesOfWeaponsL2 - .ds (last_defensive_____ - first_defensive____) + .ds (last_defensive_____ - first_defensive____+1) ;---------------------------------------------------- ; variables storing amount of weapons on the first and second @@ -329,17 +329,17 @@ LaserCoordinate .DS 8 ; 2,2,2,2 ; from $30 the defensive weapons begin TanksWeapons TanksWeapon1 - .DS [64] + .DS [last_defensive_____ - first_offensive____ +1] TanksWeapon2 - .DS [64] + .DS [last_defensive_____ - first_offensive____ +1] TanksWeapon3 - .DS [64] + .DS [last_defensive_____ - first_offensive____ +1] TanksWeapon4 - .DS [64] + .DS [last_defensive_____ - first_offensive____ +1] TanksWeapon5 - .DS [64] + .DS [last_defensive_____ - first_offensive____ +1] TanksWeapon6 - .DS [64] + .DS [last_defensive_____ - first_offensive____ +1] mountaintable ;table of mountains (size=screenwidth) .DS [screenwidth] diff --git a/weapons.asm b/weapons.asm index 51fc624..7f6b356 100644 --- a/weapons.asm +++ b/weapons.asm @@ -19,39 +19,38 @@ pha rts ExplosionRoutines - .word babymissile-1 - .word missile-1 - .word babynuke-1 - .word nuke-1 - .word leapfrog-1 - .word funkybomb-1 - .word mirv-1 - .word deathshead-1 - .word napalm-1 ;napalm - .word hotnapalm-1 ;hotnapalm - .word tracer-1 - .word tracer-1 ;smoketracer - .word babyroller-1 - .word roller-1 - .word heavyroller-1 - .word riotcharge-1 - .word riotblast-1 - .word riotbomb-1 - .word heavyriotbomb-1 - .word babydigger-1 - .word digger-1 - .word heavydigger-1 - .word babysandhog-1 - .word sandhog-1 - .word heavysandhog-1 - .word dirtclod-1 - .word dirtball-1 - .word tonofdirt-1 - .word liquiddirt-1 - .word dirtcharge-1 - .word VOID-1 ;earthdisrupter - .word VOID-1 ;plasmablast - .word laser-1 + .word babymissile-1 ;Baby_Missile___;_00 + .word missile-1 ;Missile________;_01 + .word babynuke-1 ;Baby_Nuke______;_02 + .word nuke-1 ;Nuke___________;_03 + .word leapfrog-1 ;LeapFrog_______;_04 + .word funkybomb-1 ;Funky_Bomb_____;_05 + .word mirv-1 ;MIRV___________;_06 + .word deathshead-1 ;Death_s_Head___;_07 + .word napalm-1 ;Napalm_________;_08 + .word hotnapalm-1 ;Hot_Napalm_____;_09 + .word tracer-1 ;Tracer_________;_10 + .word tracer-1 ;Smoke_Tracer___;_11 + .word babyroller-1 ;Baby_Roller____;_12 + .word roller-1 ;Roller_________;_13 + .word heavyroller-1 ;Heavy_Roller___;_14 + .word riotcharge-1 ;Riot_Charge____;_15 + .word riotblast-1 ;Riot_Blast_____;_16 + .word riotbomb-1 ;Riot_Bomb______;_17 + .word heavyriotbomb-1 ;Heavy_Riot_Bomb;_18 + .word babydigger-1 ;Baby_Digger____;_19 + .word digger-1 ;Digger_________;_20 + .word heavydigger-1 ;Heavy_Digger___;_21 + .word babysandhog-1 ;Baby_Sandhog___;_22 + .word sandhog-1 ;Sandhog________;_23 + .word heavysandhog-1 ;Heavy_Sandhog__;_24 + .word dirtclod-1 ;Dirt_Clod______;_25 + .word dirtball-1 ;Dirt_Ball______;_26 + .word tonofdirt-1 ;Ton_of_Dirt____;_27 + .word liquiddirt-1 ;Liquid_Dirt____;_28 + .word dirtcharge-1 ;Dirt_Charge____;_29 + .word VOID-1 ;Buy_me_________;_30 + .word laser-1 ;Laser__________;_31 VOID tracer @@ -670,21 +669,6 @@ DiggerCharacter mva EndOfTheBarrelY ybyte mva #0 ybyte+1 - ;clc - ;lda xtankstableL,x - ;adc EndOfTheBarrelX,y ; correction of the end of the barrel point (X) - ;sta xbyte - ;lda xtankstableH,x - ;adc #0 - ;sta xbyte+1 - ;sec - ;lda ytankstable,x - ;sbc EndOfTheBarrelY,y ; correction of the end of the barrel point (Y) - ;sta ybyte - ;lda #$00 - ;sbc #$00 - ;sta ybyte+1 - mwa xdraw LaserCoordinate mwa ydraw LaserCoordinate+2 mwa xbyte LaserCoordinate+4 @@ -3028,7 +3012,8 @@ RangesChecked .endp ;-------------------------------------------------- .proc ClearScreenSoilRange -; cleanup of the soil fall down ranges (left and right) ;-------------------------------------------------- +; cleanup of the soil fall down ranges (left and right) +;-------------------------------------------------- mwa #screenwidth RangeLeft lda #0 sta RangeRight @@ -3043,17 +3028,6 @@ RangesChecked jsr DecreaseWeapon ; and here we have amount of possessed ammo for given weapon sta WeaponDepleted -; ;cmp #0 -; bne AmmunitionDecreased -; ;lda #0 ;if ammo for given weapon ends -; sta ActiveWeapon,x ;then set to default weapon (baby missile) -;AmmunitionDecreased -; lda #99 -; ldy #0 -; sta (weaponPointer),y ;baby missile - always 99 pieces -; -; ;there is a good value in weaponPointer after jsr DecreaseWeapon -; rts .endp