From 13b13832bb700265b58974f25e46a723d340c9de Mon Sep 17 00:00:00 2001 From: stevenhowes <38082088+stevenhowes@users.noreply.github.com> Date: Wed, 3 Feb 2021 22:19:44 +0000 Subject: [PATCH] Offset locations for phaser, targetting boxes for phasers --- !TheEscape/!RunImage,ffb | Bin 10954 -> 12710 bytes !TheEscape/!RunImage,ffb.bas | 31 ++++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/!TheEscape/!RunImage,ffb b/!TheEscape/!RunImage,ffb index 8f6922e7be043fe951d5ad8f5fd1517c0c83e94e..81aee6511153f3409fdbfb3e6ba914cf70bcb1ac 100644 GIT binary patch delta 4702 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 wti^w=7>Um^NLX+vp)_q%(vTQzX6(#% zfUpV}>kwkBKX_He5X~qTC|~U6Nn2GPbmT zlj3SLoKm(HAQ!JP2PJ;lv#lhG(TizcZOsr?oG#egb zYZ6HoPizF$5%GsM>4}NbMtk)|8W}IaWvP4Tl5}ro{!Ok{q{oqwJ7Udz_(W5 z@5FM!4}1tmMSI~RN;ux|+*`%GEC_thELGuW`BrQaO@`H#%I9^4G$APtv)#bQFd^1* z8%VvH-{vE8C3sED+qz3qu;+k(p4=Xl8T&%ZiW~TsY3B8EWh32@#Kzf?=wO%)hF1@- zWrNYwP^^Ch_>(gjYgMMYhAD95-aDjop_H*Jta~Ut@YBx3Kz}-#h^O41y1BkU74RQW zxIfW^q`(ZvS>0UVuQlMGa_smb*m(XX9?hvQ;P0rus8-yd;|0)}@jp2}pEZv$B~NN9 zo&y~tNi`MP=d63-@^NJPh^Lc@SPFEk5>~+bJc-slLHv|3(nf1l~f)QNYWz{RlgYRh+gxZQmMr51y1qtC$7f7MTZND5jH*(#JQKrdN&^UEnbH=%5kP+ref*dG z9`r`~DA0cd`Z5}LESIP5LLVekN`WXFW3yQ*-JeW>e*V;|Rf|^N2FjYBGLe`I^vlp| z-pM~2qe5o*o_Ps3hzvY@yaBgCDPAy(xE^M3n{X@4ac<9err$le$n`HMZXF=EUcrBW zx9CkPIrrm=(Z8kAhyKhh_H789ZO4E)bt3QR(`9bXaM+Bc2Yg zrDHfkfasf$4UtyFzLlm!c)()kdhnzr#H~hCeu#_V zqxnJN*x%#__1g%s3s2{JxaaYUd>1#0c?C}HWegVdasa&F?a!uqzHJ8JnUm~&v@Y15gZSv{~{ zu@oK$aEHyEswQ*2;h&3w;?soK>%?1h?U-y5cMuD00qzJcrvJxq#AauPQ!3#^g2X}^ zC1fxAd#k{3wh^O+4T~?TT%{Dirhs>2z&8@`Mgm~CqN=itUN-j%pZUS?naaRwRkU<< zEp>t6HU^5zR~Wu?YH=7R#pNBL70ksV(R7Mw4CDeyRB1#dv`}kD8%TMXQy`U04v|zr zA(CnZkQ(t&abIUk^i5)&NMvl+p?7IBO*u zW-4DW<%UUtbh_~J1c4ao&QY0FI**r2LcH|8TF=tQ*kymbO&XiB`)_FX#(M-X8nbq_ z0IG(;SWrZqFpboWWq8}(!g;XX;o^fc@tmv7nDDu?@F7TIFSm;YZ2vApOPh zqGOhBlk+m3l1h2wb}TJj!tKULY5Uq2NK8yM~y zH;r%6kx|>t>EJWdI#DB$rtw2H1jbKsZrQ`U@fPk;Uf<&9Wu2UWjpdA!@sV;bXTx8W zx9MF1n0$Dl+`~2Cd3K+nS>;vJ0-Vph+!Bnis-_h`G@uvnfeN zTd1?0;q-Aku-RG7J&RE%+q!S6&Y{UVuTGSP>3F6zOm9z4q=`CM(P%zN_*yWH1En(4x0vpdz3R3eRtIJSos;YAu*X;v2nMUDip>^$*Hx}hy1?wf zTP`1bQ2?ei6O%g- zsHS9%(Y07l1q*ffMs*7h&G_%?N*>y=+*{NF%ZcUaYEw#O9&weI{ne8xn<{`_q7@RV zHJz1ae@~Hk4S6x7RxoVFecmHBcxrO)f#@0b(%(T1a|E~f{#6XereIEy{OkyIn22Sz zN*t}}6yYMxUBO#51-0;5LN^2s5nrn< ztd;ZD{eOlWxXi;Wa*1k4R>)W;GL{>0!)#|jZc%!Y!7w$Mo_H0=opgh&a5p{YjnDg< zn!M*&Gkt=*Qqg*XwASI7*%iE;#+$QCd3g(hzriH$RHS=Ix*tRSx+eLs^D;XWOY{%+ zrPN;sDUbHp%eHQe=RSc#xMPLUOtcJ nfZZm)PYuTe##yKQ3~K=SW4u2=u8d(g5X_aok((wU@csV)o!mlX diff --git a/!TheEscape/!RunImage,ffb.bas b/!TheEscape/!RunImage,ffb.bas index 84bdb91..22d92ec 100644 --- a/!TheEscape/!RunImage,ffb.bas +++ b/!TheEscape/!RunImage,ffb.bas @@ -28,6 +28,12 @@ DEF PROC_main DIM PlayerHitbox%(3) PlayerHitbox%() = 0,0,60,81 + DIM PlayerPhaserOffset%(1,1) + PlayerPhaserOffset%(0,X) = 20 + PlayerPhaserOffset%(0,Y) = 75 + PlayerPhaserOffset%(1,X) = 40 + PlayerPhaserOffset%(1,Y) = 75 + LeftID% = -1 RightID% = -1 @@ -98,6 +104,7 @@ DEF PROC_main PROCenemy_ship_move PROCenemy_ship_collide_player PROCenemy_ship_collide_npc + PROCplayer_arc_calculatetarget REM Still not sure about this bollocks, but it does seem to work now SYS "OS_Byte",19 @@ -114,7 +121,7 @@ DEF PROC_main REM Player PROCplayer_ship_draw - PROCplayer_arc_calculatetarget + PROCplayer_target_draw PROCenemy_ship_draw @@ -332,6 +339,24 @@ DEF PROCinputs ENDIF ENDPROC +DEF PROCplayer_target_draw + IF LeftID% >= 0 THEN + REM LINE PlayerLocation%(X) + PlayerPhaserOffset%(0,X), PlayerLocation%(Y) + PlayerPhaserOffset%(0,Y), EnemyLocations%(LeftID%,X), EnemyLocations%(LeftID%,Y) + + RECT EnemyLocations%(LeftID%,X) + EnemyHitbox%(EnemyHitboxID%(LeftID%),X) - 10, EnemyLocations%(LeftID%,1) + EnemyHitbox%(EnemyHitboxID%(LeftID%),1) - 10, EnemyHitbox%(EnemyHitboxID%(LeftID%),2) + 20, EnemyHitbox%(EnemyHitboxID%(LeftID%),3) + 20 + + RECT EnemyLocations%(LeftID%,X) + EnemyHitbox%(EnemyHitboxID%(LeftID%),X) - 8, EnemyLocations%(LeftID%,1) + EnemyHitbox%(EnemyHitboxID%(LeftID%),1) - 8, EnemyHitbox%(EnemyHitboxID%(LeftID%),2) + 16, EnemyHitbox%(EnemyHitboxID%(LeftID%),3) + 16 + ENDIF + + IF RightID% >= 0 THEN + REM LINE PlayerLocation%(X) + PlayerPhaserOffset%(1,X), PlayerLocation%(Y) + PlayerPhaserOffset%(1,Y), EnemyLocations%(RightID%,X), EnemyLocations%(RightID%,Y) + + RECT EnemyLocations%(RightID%,X) + EnemyHitbox%(EnemyHitboxID%(RightID%),X) -10, EnemyLocations%(RightID%,1) + EnemyHitbox%(EnemyHitboxID%(RightID%),1) -10, EnemyHitbox%(EnemyHitboxID%(RightID%),2) +20, EnemyHitbox%(EnemyHitboxID%(RightID%),3) +20 + + RECT EnemyLocations%(RightID%,X) + EnemyHitbox%(EnemyHitboxID%(RightID%),X) -8, EnemyLocations%(RightID%,1) + EnemyHitbox%(EnemyHitboxID%(RightID%),1) -8, EnemyHitbox%(EnemyHitboxID%(RightID%),2) +16, EnemyHitbox%(EnemyHitboxID%(RightID%),3) +16 + ENDIF +ENDPROC + REM Debug prints DEF PROCdebugoutput MOVE 0,500 @@ -353,11 +378,11 @@ DEF PROCdebugoutput RECT PlayerLocation%(X) + PlayerHitbox%(0), PlayerLocation%(Y) + PlayerHitbox%(1), PlayerHitbox%(2), PlayerHitbox%(3) IF LeftID% >= 0 THEN - LINE PlayerLocation%(X), PlayerLocation%(Y), EnemyLocations%(LeftID%,X), EnemyLocations%(LeftID%,Y) + LINE PlayerLocation%(X) + PlayerPhaserOffset%(0,X), PlayerLocation%(Y) + PlayerPhaserOffset%(0,Y), EnemyLocations%(LeftID%,X), EnemyLocations%(LeftID%,Y) ENDIF IF RightID% >= 0 THEN - LINE PlayerLocation%(X), PlayerLocation%(Y), EnemyLocations%(RightID%,X), EnemyLocations%(RightID%,Y) + LINE PlayerLocation%(X) + PlayerPhaserOffset%(1,X), PlayerLocation%(Y) + PlayerPhaserOffset%(1,Y), EnemyLocations%(RightID%,X), EnemyLocations%(RightID%,Y) ENDIF ENDPROC