From 7f85a7ed6a32f8b7e7a62da8baee49426420d785 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 22 Aug 2022 19:27:02 +0200 Subject: [PATCH] Walls added! #50 And Battery activation fix :) --- constants.asm | 2 +- definitions.asm | 2 +- display.asm | 1 + scorch.asm | 22 +++++++++++++++++++-- scorch.xex | Bin 50651 -> 50858 bytes textproc.asm | 4 +++- variables.asm | 5 +++-- weapons.asm | 50 +++++++++++++++++++++++++++++++++++++++++++++++- 8 files changed, 78 insertions(+), 8 deletions(-) diff --git a/constants.asm b/constants.asm index f6455cb..351fa01 100644 --- a/constants.asm +++ b/constants.asm @@ -4,7 +4,7 @@ ; initial values for some variables initialvaluesStart -I_OptionsTable .by 0,1,2,2,0,1,3,2 +I_OptionsTable .by 0,1,2,2,0,1,3,2,0 I_RoundsInTheGame .by 10 ;how many rounds in the current game I_seppukuVal .by 75 I_mountainDeltaH .by 3 diff --git a/definitions.asm b/definitions.asm index 2508f10..6c8b761 100644 --- a/definitions.asm +++ b/definitions.asm @@ -17,7 +17,7 @@ display = $1010 ;screen takes $2K due to clearing routine margin = 40 ;mountain drawing Y variable margin MaxPlayers = 6 -maxOptions = 8 ;number of all options +maxOptions = 9 ;number of all options PMOffsetX = $2C ; P/M to graphics offset PMOffsetY = $23 ; P/M to graphics offset napalmRadius = 10 diff --git a/display.asm b/display.asm index 5fe33e8..735cf65 100644 --- a/display.asm +++ b/display.asm @@ -17,6 +17,7 @@ OptionsHere dta d"Missiles : slug slow norm fast hare " dta d"Seppuku : nevr rare norm oftn alws " dta d"Mountains: NL BE CZ CH NP " + dta d"Walls : none wrap bump boxy rand " OptionsScreenEnd ;----------------------------------------------- ListOfWeapons diff --git a/scorch.asm b/scorch.asm index 86927a5..089eb80 100644 --- a/scorch.asm +++ b/scorch.asm @@ -219,7 +219,7 @@ FirstSTART START ; Startup sequence jsr Initialize - + ;jsr GameOverScreen ; only for test !!! lda #song_main_menu @@ -242,6 +242,7 @@ START ; for the round #1 shooting sequence is random MainGameLoop + jsr SetWallsType ; first set default barrel lengths (fix for Long Schlong activation :) ) ; we must do it before purchase/activate ldx #(MaxPlayers-1) @@ -1508,7 +1509,24 @@ nextishigher rts .endp - +;-------------------------------------------------- +.proc SetWallsType +;-------------------------------------------------- + mva #0 WallsType + lda OptionsTable+8 + cmp #4 + beq SetRandomWalls + lsr + ror WallsType + lsr + ror WallsType + rts +SetRandomWalls + lda random + and #%11000000 + sta WallsType + rts +.endp ;-------------------------------------------------- .proc GetKey ; waits for pressing a key and returns pressed value in A ; when [ESC] is pressed, escFlag is set to 1 diff --git a/scorch.xex b/scorch.xex index 4f3a1900f0dedd6813a9f137903d875f10b43b34..7d77acd791e9bace04327d0f2aa6f424981aed60 100644 GIT binary patch delta 16562 zcmb7r3qTar{{KFBi@Ls76Bx}@%8JU0N_V&Uu+QZrukW~S*7DT00a}brmwW)i> z+U|PBVRwk7rEa(O<|^GA#Nwlo)H2gF6~TGeD=y$<4{oyn4A=e>-kdgMK=VUM1|J#>20)F=9;bV_d6Z$bX{yO29G^B`P^U!-L#Lk}7)X(I z{GA47*%Vpl8eO($Yq9B9*B$7ffUXl&I$D8$g{-3C{buTl1?0blkxI!BqQs5#5Yubnwkz?83K&aGh%O=PCnL$X{f$6yqT zOSk4RD#m=G>gyX!7itW?exb4whWW90zjvDpUm?y{h{ZdK?CDD!-DRDfA4TK=pnT3^ zcFe@`#ep$|%dNmvC`LAF0_N*0W>qd8?(*C~UJ3YN2IetkF9jlq8poK5%5za*rcd@p zHwFhPQOt?lAqP!*3;W`DX6zIu{0Zrxs<&XeDHdSZMS>&M-oYd_COAgv&rG(k_NWO= zf(1h{Re*EuBIsXhX&ptF&(eYV=mNs*nY}GnLoqE^+M$kwR1b+73k`b5Us( z5;dIm?uo8Vi>1Z2l}Z>!U(6nU6th%%)(wGOm1OJpZaIQ;d1D%b_c<;Fm-x=}-?=N# zx;4Q~%f%Z=%3qVqe6n21=V-Z&ld7|BbKn56+QYc?z+qz5aT&>hdg1r}cgj!E|B zk>3{+4>~O-m?w=iZhkrD1yhDPrY|S!K^BGvrF$BMx1V_2?kCb|ENTj`Q+U0?8x-EC z@L>ucuJ92GAE{Wpi%a+#gZG6J{$qo8NeTaNgZIS}{yzrqOC|iL1`8P@>y9NU25giQ zqVwi$&UxFM;x^}rZO)se2GwXfZjt9HCn2zd9{C~8CKE1i^Cnx9O))g(N%p*;M+uW` z!350v~#W~UvbV68%!;7 z6d$=?Hu7-_-Oz*hTm$wZ_VGOI+6L3FvYy8Y5W&4=={N{~rTj)Ie6;ZUtX^@&C6#ZM zoH=ub@28ZQm8LhdJXvGu!O&0fzF8vNKKoYv9%1(EL3cbi30$n^!}puLJ5#K~`JE{a zV{1){wv* zB9sdjqNB?uvbNH90d*bkMYe6WLt}{AT5P)5j0WMpCmDMWPwi3+Wb)MJs|MdmZ?90f zC(4e4Qa+9(X(^7RfS(-kVlxHaBS+lC7mFvFP>VK;wjtkN4o*CHbun))W4^FymCL3u zp?c}Skyf|b%@J|A)y+OL`Ka~{Ks$)-Ae`s|IH%T;=987mdAgtTh^{C_vdpU^)Gl|v2c zEjXgQ-5Y~f)Ly|0!hKH-?D@2yM0(d4ltww0n2THh5YnHzqX*8qE;vA4Q<$pX4G9@+e z^^{agJbMQ_noVP$Wq)Nau;j6XxbE)FsnbPp_Q%;nYv2em(Wv)L*Cd zoPO){ho`4ae`@-x(=(^X*#Rg{x5(j~tEpPZRH*vmY+#LuX zOQ)m%{~+m%qnq5d0|ywfG*xTNN%g!{l!E*MQ5%+DC`!9qbo`=wMX=pR>v5wIJ23(B zQF6=Se3mHWKQqW~6}fuv0+9=P7mD02?;?@gP1yn~kRiC~LfOznYMrq+OH`^becyr} zIV3e1B4s9~VN_;zTC$YhGMGz;C^FFbnkKW9Zhe$XcNm(kZ89*kh5mDfN4B95Qs=~V zyf2z_&p@EjaaHW5G&x$EyKdTCfd$kFAI-Tnavo=sGOUttcFt7&31QT;L+sA9rfPZ{ z;NF^Kmfp4Y@O zoS4vHdWY&XlyNLCHfLr?;Gq|YBJ@I6jvY(yaoQZGk&1V@H&rV6{&bSM^5>w=@IMo_ z>$E@A8~>y}GE`snGm+Ar=ZTcz{GCXd&Tvth@9atsX6Bn|RKU1C9R_<-hW8vXTMaQW z8Ug6FK2fjqP7a*Mjf(Dp-${!O7}(rtX4F~R>a4Vm9tUfan8ZkPVYr9^0$oMacNGKS zVzAy3E`N$T_U&njk(@0Vb*F407~rFH{0(CT?B@w?@!tuA87^{}z`)I4p9%`IDjH1R z?mb699W=;?r)lz}14fvwVcGpfZjqD`)Z>y$4?gJomOZgr?g_a?-9T>F*SE_}tG9RR z5FQd7m)qJ=z6pd~=KE1~*DSL4`~`eTnE*?w5$(!F1cT!!}uMCm;WQF^}-F~~6yV;mQ`1>SE( zZXxZAesv{EE#2JS8*~FLJD7d*u%W|U=~&P7dXjPLzqPbUZjvRrw#xA{?iF`)k*w8e zHTRv@&I(FaXhT5{9y}BK$80rnS=dfytB$imQ%i0!gxJMI=jI8m&-b4X?e+onmf%Bb z&)|bGQMQx2O zGqjZ=$3Q|IL}x;)nGZ^ZoVf$%QYI+Dibk)6x#e-W8|R`sVjj1go(|j!m#%s_{}aJ2 zh5vtO;WF3ES0CB)6HyJ0QOSU7(W5FPFy%I8-74Yi+=;iWTP3|q&k`;}`UjUOz0b|3 zryPz)dP2K&G6s_+VfMVCX+IHZMNq<0ULKsM_K}t=hPoAX%d3}T1V!fy0~?=&pt%)h zX?aFEs9cee!L2~Aa;=xB#x*VHjHR|^U0 z50CFd7g%4>+lQ`}zE~{~z#muyQ-7%AGD9ri4VH!S^y&5vaaAwpGF3xerj)s9IjD6r z3s-yliHdQrS=`%C^qR$>4*F3)JX9l_@)rx1mj|2RdVNUKghE;oHH}~`K?_rpQ;MPV0tsVa)@q4s37wrD8m2!KiYT0?yeCcRzT zVIF9wP(^W~K^vst@_R76HE;- z(|Vs_qA0v&9S{u)=;H4`NBG#=gtrzBuv7DZ+6i>GTywWkD7pxO zSPUK49GIyGGr?qV(-ICf{3fwQ2SpqwFPr_Ow(PF1u>WOsxn1cpcJjCANW!E~orAG@ zoWrnsoFhc(Bj;VBwB321CG{%*8bb^QHk!($XojE`E<`Fl{? zqT`cMi${t`Ve9#kA=n2(u%k8Ddj8%J?1Q3o8wDPN)yioO8weaGAGuOGUThsNddG{w zaJq~6@nY3@Q8>ORap}>Ar?L)f_|*Sf%a69 zpM-5;iiEy2NyLKMrKzT4Q2-zoQ8+pV$3k0O$)}25fb@b*nkpv6n(o2FbO$DT$a5em zoy(9v{!P{3iL1TU-}Jx-bm zpbTjZF`7oFwXr9tDy2dF$ry-Eyn|7ap@l=~-UlVTMaMO2=TZ#!dB}UZUmF(6jvcc} zC$$LLw48v8X)y`*R^rddhuRoedIJWSnS~)w(6HbI^=7J?jk&6ceG3ndnj4ISYEM<7 zrE}T0p1)T62|ORterS{Zd8*)3Fqa-mf2T@55wn+A{+rWcv|vYc3rg%Yc{kT)wnh!%zkYRUOrB!jQ6jgGF~)KYYeqO8~VSk zuTIO$(&lnW#bC9Wj&UtvwVA#F57GI55W=|Xco}ZCMnOD6#gYNT+AeoXgUM&nL>YFC zD4QWl6NUY5$soH*q>PMr_#cV)M{VhNRT3QIh>^$eD)p%RNRp-WQ&oH`z)rox|3JJy zXo@f@P>>q;{6Lg&Y2Th!;)wCKV(X)wYn1ly`H|LtzDFg#7@*`n2YPP5MZ0sE!|D7! zxJIF7M%!VrhT|aKw8cU#ou(3QOWM?M7aS$D%W9>D%X_g45fMl-)+BCnd)sQ;rkKqXC=Iu z;2^B*6zZ~Tv92k0h`Buyb^-f3i-U8OPa(|cOy_+_V67HMI?!;eN!Z(si6Y*D<@O?;S58|&W z;YX9op2S~U!uKVWy@+39*RQcFG{3~?vxI2dz{pq<6H|zY>l2C8gZvM_6}6sS@F5$&p2+J__y<-pcE5uPo&%nADtdn_0@T z_U8&Dt5wG>3oJr)U_>eRHb!*ym%}z?v5T_6ay#miolw)2>!&Mso2`0_Mv1GBtlN}T zU&APuBpVhxS3$As+p%lo1%4}ag>ABDLG*bpV}xyJUa{#CJ!D?zPQQo~Gx0C%m%ljFg>yIV*x>W8J%l<01?iH2j%Fo2I z9b)TeP%pEr43~w|%i4@!SCrfg`8~i{kBwE0tiQ{AX=iPd&%iZ#_X;)nz2mbykO0J6 zl(imX!(n2rX-1U9dh7w^2k&PT#NJFnfZ-1y4=F!jdJ`ydeYEZF(jEG%sK(aUBq_hR z;Mia?7p~dKxE6*s7If1on*D#<0_^qzYze&u{({~x`|r{2!rTQx>MY1zpzH!pwM*Sj zQ$LsP!8JSCEmpjTK~>q=PClwAOwT6N?D ziLPWg%Q_aabOQU~m4!eB2s+5sm9I5rc51>>vjc|`wQZ;WuOiDWz;g%eSr1JYxU{Gg z+ZZeN(uh**=0UgHoQkM(mWQ3O5FV8- z2rRhd-bkZR7})x~j_e|Kr5l{-E?6sCcvT&Mr$1J3E+$tgsNSNT%@_hxxr?Z=n9Lop z`08s+bTW5;Ci*U|*%><4wMNV|8i#9*dqa&Kdv&Bsw|P@m$5IrYTNV+4*}7A178WiW z)N_4G$%d3tUrI@JiY3%X$X#Z(w|6gZQoD8ZZL&5fKf&Q!ngWOK#uQTQ8Y?xaVdN3l z=u!<2wgs(BZt0N}RomnUL&R)sJMQd`>*Fq*M%NuzkTG%-LTLzF77aOQH|Z^HhhPgX zpNWt|1mR9L7gfNWT_BIbag>_Fe4S0GcWB@!#A`zb8FU^TWdlcrjxztiQHl|v(0X|# z>Pi~L_FIJvJ+e>;85ePZO+rg~`I z6R}zD#~yhEdu3K|q~b$QRo|d>0wHmuobjVV{hCfnCvjs@PuWS(2~2gUf#)o$y)2!i zj%NTlBBhhiyROzJw-}$~PMT0{wsusP=SnA?5eVO}rw2C8X>dUY?>}%+cV2j%oS#86LP%hQ4;kM;cU?_@TxpXCcJe7Ss z)i(GDZw6h`mmDu0;!342G-Axsmrz2##4&!TwU3AWXRbvK<9w12HqziFk`G=!&L_{t za6GK2l_4WUYxU+zzK6ADt=N4D)?e^8B?3SPwWVC$@4c zs>~jmCD6_g(mDDg^~L`Rlo#y0x8*@?G(&e8zz>F&r!5Xo_433q&CdR${#caqGdc|= z(4mGAxI1se7bOJQJfRuCcgbF}Cn=_l8g|_abZQaczGn7WZ?1e9RV7ztM5_k=0Sfcq zmi{&5CC2=cJck~V54Y>s@(`Mp;!TB)4bvA&Hn$oHVRZ&q%Qd=oNF**@NEj7GG@q+X z*}56oC>W68@`{sihTE*eLxvRVU6PgR(pLm_2%Bs!V}}N~$%ccY3lxrA|Cp{J$*8ku64S~CWsDm}KcjvtW1 z-;}}+OyT2FFf61vka{Tk0W1n_2oHC_Mgv6J0}}S)P*sv*WjoJO6J%0~+K>9oY?R_t zd06x>qfWN#&^#e8)7JSAn8lNox<97roDlp!`>EER&| zbm?VqoH61d80byMptK)X9-EdbecKf-dLx3G)Tt`XPr65oS1ThzVN079$EDuY%zZXT zzxD`$<{U+kpoE495FuE)6bPDL0n#7#AZv3^n6n3I|uzj`N4mfC}+%GK`i{92VB_!q!72h zCVF2J%MO#)*Tt&WMVRXKp>((eGh9d5o5(UgOf;WQca(h8hZZ;xax+oGe!pcrPE6F) zrYrqI-W(GWP>vHhlHUY6xPNp1X)t{QJt7rJ1T>D{1Ro_$SVIh-D&6@+85&qoB0RQk zP~3l(Z(m(P*XGkc16&D6Bt~2$)oCv*SMKmxpJr+J-H2G-vl#pgnH@_~kOPx*m5efpW6KdA?yA^9J9cwHD z^|%bR`X((Up`-fyHWY$>LqgJ3Ordt5p@Vg8%av-!7D7SCn6_cyBy_?Ubs2T(baabs z(0C1+95EWZ2_czT%n*Rp5DH^xZeWAvr=)8Sxd|G@?{8oXK>Edoc>7F2IgW2A%3bN^=_^m9UOa5P3%A%Hi0Gr}0q)%Ro z!G|EAa;g0Gcu|c8V7v%FroG*fDU~CKfnF^@=J7J3G6GYRz=0RDl~NW3$~Ui8Ba$;W zC;P(8nVZc+|JEVfQy2)B)u#?48)KLLri`Z8lyH}UW|V+}`;`Hjv$#`|2`B)OI=gch zk;wy`vl?D(`YGx85eeerP_Pe#V8L5)t4MiTfYKHm z?Hi{FT92)wwP9z%bCduk&@X8S>Xf69YtZO0YkR54UgY!j(GXjCFX zK3FORBfEoonjxD$@=BMUqBGL;(Z8+Pj6-ZkAzi~-pIA-OG>E2g)Jd4YDty5YMlMGI zyu-`T!;R#Zf?&NGsRfbztD6ciGs{BKl-g6S#wv$s=z+$>+IrGnS`Vy=8}~Ru?M!JO zj=DxJ!z}I7jF?6mvocGA_F1=atE5J2IW#aWutw*z3q8L#t=eQ`4fuUW>8MH6>}l)K zxr3hjJBD8s{M2{bn!jU3Y+8j4zInAmUDz}k1&uZ?v)V?RY}oG$R}1kQAF(^=nYdAu z-{2ke{ETV5-AuTD(`P@z{f8cudj3_BKD$>mH#e7V5}D_hh3=OE?S5G%Wx8~m3cRn1 zDwFKpD4zN^(0Lu=ss8{Yp26Y1Tj0ujRb(GsWk!2OTYHAqeg^xGH!On|ndRn%aV-wSI#GE`aEmzFR7tQ&M zvrJ5TQOsE`roANQtPqoP3dI~w%z0VNDH3z+V$NDIXQh}^Eat2dbJmGDtHqr4V$LgK z&IU1OjhIs+HYji6%IPj&A(75P(a9m2eu3z!v*NPtVoIS1pCsOGVhV@X;!aX%h86Xd zMfyq&gVyquH{OE{Y=A)(=fV5rkZdT&-)r*tJLI7w#_H@5aUN6Ht@uQD$8bo?N4|;b zq=InT;5yBQ>r|6agXwd-giBN^y=KACMMM9#Wl0<1F{#j2i?&vAm|EE1_CPaaVp2HagfOnx zYM%R-Bn6*FQ2!svp#&G<{?~@+gTgbf4acR1)JMOR&YyQ96Ydu`(nc=0Ev|5X$ln69 zyIq}@Y-OiOv8l-t<0&ro4=+mf4=YNgUPK!W=Hyu(D_T%wT>IJDi)$Y*_7&e(grg!D z20Nx3wPQT(9W02za0ldRyvc*}rpG`JeujWwR2cD#3Pv~C61eD&yX=mO@u;^4E(!^+ z_rK|~yCvL-6s;H!?f|54oh-r~5!BJ(r7-jLA@&fSYtb+xCrbzLOBN{i_%RE#d;Ffo z#S~ZD)c?|-?pT<@wanJF%*rLeCKg%Cg8ThojkU<<}S4tdR@?ZZ3dv`$F+yJ zIkc9IS^NKnYzJgc7ngibm>1S{qByKWHpvn}=8DN9A&UlFnqt6gn~2R4L8?nnG+A|_ z>4IeK+CADP(?e_jcjR~fIr6)&NB)1nZSSC5qFH;Ah&9sD?PpHT;PP=;u7cV1Nv=A~ zkHGWbz-e;mH1T!!FCew~zFzoQ)zYR_N|#VEj24ScjoX$=t1JuBpfFuMQz(ry!(6j#45ihFi&bfR_NBOt?~6SO9!msL6gb~l6YS%l zgQl(5NVsOuPGj1yBRIM#H0Zj{gVr5@MtuN@^jy8B4kC{WM_Wsnmh`t|)Ng8OEId2*1ttz`0U&)?9Yv zhCjBPEmbFN%kv}bXY(WMmq$a7`84#nR9ae_2aO`X*5(+NEaf9XpT%#LPURu4b9Jlu zD+TkG1atg`y5&kM9I4CcDM5E@ci(v?euFS|OTYHUsH=_fp~iQ%^cxWBi2-A7)O=gG zhL|?va}|OCf>4u1r#BdMdZR%ns9V;@PntQ$`eNZa!8xk^bK>TC;)$EZZTLvDQT7Qc+-7{<6ODorwx~e}_e!SfE{xQ>YU*7P>zZ&*8cNui|gn6r-?;kqXW7w!C z=Ly^X`So|Wb*Wd8_M3^efanA=&n8bKFC_u zZ2fT8*UjOvNwZeI_5R6-q|_&D1+Q-XaR2N0{I%^9)%N_G5LK06+_GhhaC_CT-f!aL zZ2P>`_IdBwsx(8_Sn?q0%;eCp)$&eR_|`YZSh2H07*hSQ@$FaN5k3wxzxwW(5tVF{ zm(^9VGb-6R@30x(B6ZD=sjfokH{W=Qm0w+9)hd6^TaWJ#D}}!A-E5~p|ENZnv7~#W zE2>P_h#xY`da6MFf6KI=S*OUl`d1K)YpgRqNEZax;K9Fkh8 z^Sjk?Q_~OZ2bIu6bm})QLv?FKeRV7MLs2WysqaG}>Eb03@ zz1i-$-0Z1VxnB~;AhW-l?_Q_s0d7Ic8M;0h}LJ z^3TZZQ{Lbh^(M5`sL?UE-U{MaL`rB?r zkCZLUoOkvT*3WJjDaXw{fYZA0P@uBu`(4QSmG|wuZ#7Y zkC(g>Y z>9g-3BgQnq`?#FgUG3$aCY!TanV%tJaX%rij}EKwPNL0!2{lhg^J6kU6V0RfS!g#@ zoPG8kMF%uk`>reKU-h`m>l#b-jo#^U)n8=Z&{%40^v;m0o{;&l#?tUc?@YOBmi*oe J|6I`he*hv5N!b7Z delta 16589 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 Ose9D()~t6|#r_`;<@5~z diff --git a/textproc.asm b/textproc.asm index 816d289..f80b616 100644 --- a/textproc.asm +++ b/textproc.asm @@ -204,7 +204,7 @@ OptionSetLoop ; next option adw temp #40 ;jump to next line inc:lda temp2 - cmp #maxoptions ;number of options + cmp #maxOptions ;number of options bne OptionsSetMainLoop ;inversing the first few chars of the selected line (OptionsY) @@ -853,7 +853,9 @@ invSelectDef ; if activate battery, we do it differently mva #sfx_battery sfx_effect mva #99 Energy,x + phy jsr MaxForceCalculate + ply jmp DecreaseDefensive ; bypass activation NotBattery cmp #ind_Long_Barrel____ diff --git a/variables.asm b/variables.asm index 5ed36e3..59ef84c 100644 --- a/variables.asm +++ b/variables.asm @@ -29,7 +29,7 @@ skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning ;---------------------------------------------------- variablesToInitialize ;Options DO NOT ZERO ON RESTART GAME - ticket #27 -OptionsTable .by 0,1,2,2,0,1,3,2 +OptionsTable .by 0,1,2,2,0,1,3,2,0 RoundsInTheGame .by 10 ;how many rounds in the current game seppukuVal .by 75 mountainDeltaH .by 3 @@ -138,7 +138,8 @@ MaxWind .ds 1 ; WindOrientation .DS 1 ;(0-right,1-left) ;---------------------------------------------------- ;Counter .DS 1 ;temporary Counter for outside loops -;HitFlag .DS 1 ;$ff when missile hit ground, $00 when no hit, $01-$06 tank index+1 when hit tank +;HitFlag .DS 1 ;$ff when missile hit ground, $00 when no hit, $01-$06 tank index+1 when hit tank +WallsType .ds 1 ; bits 6 and 7: 00 - none, 01 - bump, 10 - wrap, 11 - boxy ;---------------------------------------------------- xtankstableL ;X positions of tanks (lower left point) .DS [MaxPlayers] diff --git a/weapons.asm b/weapons.asm index faa1b4b..7042470 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1798,6 +1798,12 @@ NoWind mwa ytraj+1 ybyte jsr draw ;key + bit LaserFlag + bmi LaserNoWalls + ; Check for walls + jsr MakeWalls + ; +LaserNoWalls mwa xtraj+1 XtrajOld+1 mwa ytraj+1 YtrajOld+1 @@ -2333,7 +2339,49 @@ MIRValreadyAll ;jsr drawtanks rts .endp - +; ------------------------------------------------- +.proc MakeWalls +; ------------------------------------------------- + bit WallsType ; ; bits 6 and 7: 00 - none, 01 - bump, 10 - wrap, 11 - boxy + bpl WrapAndNone + bvc MakeBump + ; top bounce + bit ytraj+2 + bpl NoOnTop + sec + .rept 4 + lda #$00 + sbc vy+# + sta vy+# + .endr +NoOnTop +MakeBump + cpw xtraj+1 #screenwidth + bcc OnScreen + ; inverse vx (bouncing wall) + sec + .rept 4 + lda #$00 + sbc vx+# + sta vx+# + .endr + rts +WrapAndNone + bvc NoWall + cpw xtraj+1 #screenwidth + bcc OnScreen + ; (wrapping wall) + bit xtraj+2 + bmi LeftWrap +RightWrap + sbw xtraj+1 #screenwidth + rts +LeftWrap + adw xtraj+1 #screenwidth +OnScreen +NoWall + rts +.endp ; ------------------------------------------------- .proc WhiteFlag ; -------------------------------------------------