From cf3314e0e5e1c7c0711a3fd28f02bf1416eb3e59 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 23 Aug 2023 08:54:08 +0200 Subject: [PATCH] Chooser, Spoiler and Cyborg better calculate the distance from the explosion. --- ai.asm | 34 +++++++++++++++++++++------------- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56646 -> 56636 bytes 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/ai.asm b/ai.asm index dd05a84..e40abb9 100644 --- a/ai.asm +++ b/ai.asm @@ -34,13 +34,12 @@ ; by dividing positions by 4 ldy #MaxPlayers-1 loop - lda xtankstableL,y - sta temp - lda xtankstableH,y - sta temp+1 ;= /4 - :2 lsrw temp - lda temp + lda xtankstableH,y + lsr + lda xtankstableL,y + ror ;just one bit over 256. Max screenwidth = 512!!! + lsr sta LowResDistances,y dey bpl loop @@ -1084,18 +1083,27 @@ loop .endp ;---------------------------------------------- .proc GetDistance -; calculates lores ( /4 ) distance from tank X to TargetTankNr(Y) +; calculates lores ( /4 ) distance from tank X to last plot +; (explosion position after Flight proc) +; This procedure must be called immediately after targeting. +; xdraw value should remain unchanged from the end of the Flight procedure. +; ; result in A ;---------------------------------------------- - ldy TargetTankNr + ;xdraw/4 + lda xdraw+1 + lsr + lda xdraw + ror ;just one bit over 256. Max screenwidth = 512!!! + lsr + ; sec - lda LowResDistances,x - sbc LowResDistances,y - bcs YisLower -XisLower + sbc LowResDistances,x + bcs XisLower +YisLower eor #$ff adc #1 -YisLower +XisLower rts .endp diff --git a/scorch.bin b/scorch.bin index 271cc2d08674915703db4ccada7bf64ba78ae9b8..ace94a8a9d00c279489111acbc633b9cb234be83 100644 GIT binary patch delta 714 zcmZ9JUr19?9LIO&rgG!9Ia@l%+EF4h!3h$MH0ebeYauew&Hd>@`ru}wV9Uov99ZB( zbh7Qb-8CjRJ<*@(^<~I?2;`DdpfIS%dJ!U%DF}rXoh?g}^K#Dj`}uu2=X;`2bu_BZ z1+1W23R>suz#XZw!o^4(+^a0(;#)%gQW#i;1dO4M)qnD4HQE z=(YUN0KoguH(VkdN@O+jp^4+rs@fXaOHO+(XYbSI2&A%4%Jd0sKC1(Gw8*vw-MN}&FcUYc*@&qrc9W3tt3itm?tXw zit^2quou7f+N{IrwaT29sDx>jJI1W0D5D#+wf@J{mUD&Is4eU#cSz(M7=Y&ZX z4ojnhMxZgI;6sdjZ8cL#yIA=j(Y;(u1<0`A{#s0(@;rlq~e7`kyIXm zmXe0I0}ZAUuHTVsS?0KF4K`dk_s?YxeHBfFbo!6OWh_U(9$OqQ9wbV&i=0!u5pvpp uN>jnu3H)({SqivaVhUhF_nQBX-4dyu)#su9M(8-yjBN#IWG<$)tu z0&R{#fdneJi+_IqU7j^_@|D=*OsjTowwF&=r~? zVMlexO;_|XE^2`sP^|I4>YKy?^FN_ps|H=Nr5x4xGnhz=m|ojYM{OT^Y1L%0$!igzb5mio`=gc0 zV33sx6GFr&@uOi|5urkY?P5iy?}264+0^`xtG#k6TRn$YD2XIV9k~uX&ezm&)Oa&4P*G7*-;~OtzDfsh3SVGp+(NwK9c$e_0MB| diff --git a/scorch.xex b/scorch.xex index 58b27585676ff0a102c90999d1103d248dee0ed2..fef35d580ef138676d44afbaf1ce96cde3cd5d85 100644 GIT binary patch delta 770 zcmZXRT}V@57{_;X^J8>$TghfRd5gZxFtJt^EGv-4VS#yJU5FiUVj75o2sMqOPI=)f zdDYI@&RMo~%C`^LI&<^Potu!+9G1kwE{Z;gfj2QDr7nujrhW6?y!@Zv^LyWiCmPO< zgtL8ZHf&KiW$QFxyM_6_w|dMgOb)lIuz*nJti$Bc=JFTiuAxB-V`X8fzsZ<%g3k~s zQhDG;=60SMK?~J8obMufpmg7?)1viM3 z|1c>Q*xfa}XQ3Ki4XuaEp~A|)=mQy}ZPl1!$CRMo&3m{`ocD4)I2aOkO%`EFGYceW z6|1yfR}G(7P*I6!0;#ATIdzB?*as+z<@v2HAhDZXRK0@7L?g@#7ii6_flsu{bn+*? zHC&-R$EH7|qCCE=s5hFh0@xBZVJ66gO||=75283PX|e}2v!wdo%#3uHvq*FI(@v2LrSVQy%tPfOQCNGv~khi zxsT+Xj&!&|4!5s{DCak5{1cSc;>1en7Y?6I>Gz~fnzZSEpdnL|bG2H%(yEYO0tZ>4Nq-MpLE=;h)Zn#e+-9(*z?C=G>7h|ZP}$>G4^d_TVr=l47F(M&a( z8N6)+2htszy%;o0>-RT{z?3vMd{YM&q%vO7%0{;QA?smMa)~ zR3`^00!Pw@7N9YjMwEo%S`Fl;@YA8 zcy4g7>i49amf`i;3gE%NW-ovwt`F0Cw;y(}@F@#-@Ibf{G~uam32@_hxE$E=*Dwtx z@VQ7$31P-q%MO!*$5>HA8cH|egKqpFQhSo~$FqVuQNs^X)+5XTN0>yUw&p+PO4?&P z^c--bTIlf$0p3mtDSJ)ipB2lWq_>HC#y?BJPJ#dc