From fef6629d96f375b98ebb81382c0e8b4ee9b0f48b Mon Sep 17 00:00:00 2001 From: XaviDCR92 Date: Fri, 29 Dec 2017 02:57:40 +0100 Subject: [PATCH] * New LEVEL2.LVL was not being displayed correctly as I forgot to include the new tiles on Game.c. * Some work done on runway exit detection, but still TODO. * Minor change in LoadMenu.c. --- Bin/AIRPORT.bin | Bin 1688736 -> 1693440 bytes Source/Exe/AIRPORT.elf | Bin 326972 -> 327252 bytes Source/Exe/AIRPORT.iso | Bin 1470464 -> 1474560 bytes Source/Game.c | 1613 ++++++++++++++------------- Source/LoadMenu.c | 19 +- Source/Makefile | 2 +- Source/MapEditor/MapEditor.pro.user | 8 +- Source/MapEditor/settings.ini | 2 +- Source/MapEditor/tileset.ini | 15 +- Sprites/TILESET1.bmp | Bin 184374 -> 184374 bytes cdimg/DATA/SPRITES/TILESET1.TIM | Bin 122900 -> 122900 bytes 11 files changed, 855 insertions(+), 804 deletions(-) diff --git a/Bin/AIRPORT.bin b/Bin/AIRPORT.bin index e434b5e2893437a822d0fd19652db530bf7a9d87..022a956e258de400a5e14963bbf4ce787bcef88b 100644 GIT binary patch delta 41882 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 YADtU;&?Ac;+4RVvM=s_D@}^Y$KeI~%Z~y=R diff --git a/Source/Exe/AIRPORT.elf b/Source/Exe/AIRPORT.elf index 6efa846eb22d69f0580f1aa109ac65e354afba9a..2d1766fe54b9ce0627fd929182ec9bb89230ee33 100644 GIT binary patch delta 44684 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 delta 42186 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

I=W{3d zy#@@&F(&v?6w5AnuK5%kZ*<^UxRVcD>&Ryjm1&oLIRn@8h8G@;hSLbV^-?wgZum%) zkZ(vLyC&VxCCK|O7rT)!3*xD()D0IQ5AiHfm;Vr)YE1NU$sH^?ssp#dg+|=n04Esj z{tzC2T%^22$LC?7BUC*!ZOZ=|todG-48>7lw z0Ow+$X^J!9T9))K#W@p*zgr9sa2E=jjTu%5Z!vCkwdBLzQujx=1&^U;K#fc{2JjFZ zVrfZG6*jQiiFwq7YBd>lU}e#r?dc=RBMdVY!)T1K>k3qh z>oDW@^~ekIyc-m73l_ydhNnUmyc)~nHp9FJ&OR?zQqJN`T$`@%6!IBHM}G)+5d!M1 z=~=kxcLdO?z1?sR`wHE$u~!ii)`~Nfd!_q2k6%=~uSIUQcP?BfMjmp;PU|wpxfF3r z8#_srtsG7@3}+ME{)Je1h;9xTJL$d1XI$s4NUy<_FY->Ey4|1|vgn1YaFsxj{!|@pZ(62^Fdwddh8P0%8e*xY?KhZ5=4}K6%Co`#A1U|>IGc$=_He_-!Q(&Y2WJQg zDjG$}VGhuG441iv^zuXEFmk(jzvw`3@sc+=Dp2`PlAg)YL5AXQ;AT9FzA^b)eK#&W zU8VPj69|EH`an3NQslhCc~m!FTff5nEFTbgVL`h1jil!@a4{yVc*UQ$oq$Nxw@mdKzgcMII(7ro@O z;}iH*9Ih=p#mpm|udT+Aw4sioz*J-0C&CrR#JC1d-0R)XOgP!}Kd|4J?+fA3BHKM> zN7{88+&IQF?3`4V$nh6M2MtQ9FlO!}DAr8%*8GidCmni}Gpl+E&;#@V^5%J-=kA6# zM2V84&X}RetqhbCsW|a!9L+^r>^bU;o|estC2~e2%E}@kNN|y?dMX!AHm3Fpm@kBT zk76-=jz9BNdcGTr&Qtnrq{qW?iqFB;0bGR|iSuwRo}7H8eu5M|#r#tk5rScTBWZ9K z7NpZ>z;(n3dPEn%@?B4vE-mR+xEf2*D@qQWX|%f#F5`qpkL-g}*zWZjbAAH~BaFp+ zJDh0nOK@y7(=6wWgaAIssoMzQjB45Y2r>*r?Vx$3#KtoL&`o_txV+^^vlV|RH04j5B0 zikB-_b6>?uKOU}c@s85R!H4{wi%6Nu_Bg;nNu|ngJqlZ}ARWbJz{`h;lsB9y^E!bCx(PukKE9hH@7-5l+Xe`bSP9s4}*> zez?l0cQR}l20IU~#=zx_k~8FXnBNV{X>?|nZea1&+_cg2=@+K4m~J81>sAFuO(&e4CQ{zS zBK^h<%t4+wOXMK83(7?a*U~DZ;~pTr=ajc?cm!@Yf+YcuH_EGq%Pg967AG(cx?0+^W5;LG5^PLXqr z8?E}Aw*jAnyz$$E>y9}+1BM1}xZb*Z%JjeuGpyxz|Cjv74dRJY&i(z;4qkTJxiQ7& z`O%^a&X@u6xfB0eUE;nA&e&+{VV1>*#giADqyh5PK>oKji`Qh5d^3=@{yrlqT1JUH zc^cT~Oq5Tcu9MfbwPLBfZmAWI$m_0Ju~%Mqwu%qrwO^;WD6i>xV&acnyMHTgk=M9; m#VUE7_>kBpuhwJYn7sPei?8LiZ@n0Hk!$&zV)jL6*#85z0n_3D diff --git a/Source/Exe/AIRPORT.iso b/Source/Exe/AIRPORT.iso index c72680066a5277f94bd4ad44612ab29e28ecf0bf..13ea58bd07eeb2f6a45f7d84d2f1c735765757ef 100644 GIT binary patch delta 34918 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 b?SC4n`>xRB1JQ_zM$BlWI2tL5MoRw!IHQM3 delta 32529 zcmb8Y4SZC^^*26u?q(B02zSF~2_c5vaM>&g#3evPTyfdFfQmGR7m-pM!%Nj7rHB?S znkB@D7?LH#3~0o42_f=}$?{@?ZCYXj<2T$CyVBgtTicQ$GpesXUbNt7)-XbC0)-O(6J`|7Eu1kfr+CKftH$k;ZjG%w zZq*@E4(HhFs3VNk`R7qE&wqCU>W<&E;CM>;R?1;)Yrsr_IiMFs(Z>4<3yX8+PMvnu zI5vhoNg#|p8Mu{#TYn5YV}=2n!&(W1u~zRNDENa{!+W0GK_&UcH;kJ)F6S~0cMf}% zpcs3#I6^_BSO?#vyq{wGjB*(J?C2HL(JPJ`MN?3efE?=lskf=J^kq~vEe z<;=eJhO5SnVbwZpwbf1t?U%y(@@GynU~||;9d@I&n_#;yfgR+VQ807btZ_NlYp8Qr zn-1O-d&Sfv^i5KlL1Q%n!n3h4)rruCkJY%L#Ocr}dhknVc z5VUfM01TK`JVS@fVO=_8mp6_e;|$16_7f?#1A5T`t0v?uO4`g5skTq`qE9a#piK{; z=%ikBvYzlUR&R`b+X-9wXL`|R_9QAvy0i~JD=wTlt0Z5i%*{U6p+CQvGf^Q(ES@^8 za87Z7(Pd1Kf9ml6yqKma{J`QFL#EC&Mk|MXp#y)hY3`@af`93WfA!`NT{*p%@V0o? zyn<_IT_2_EYaRM)Yd0cNRERcpeVS^^(d9Mgl5sxuX=>aRdeIeol1_dqx1x^2#rWAb_SE$}cGg`N_5}#FnRykHU-oPYmjwuSg!$a{ z;fmmS-q9LTq`l38j1Ma>%*evl#~;{ zIsAEbw!4TmhQ*;%Qdaur@QLci@Tb*`g<4H)TWcKa)@BT0ZU~FSucg%T&0$jwwFZ3c z4QQ<~98=S2^nP=g*HAl+VY!AVR9Lu{dY%S4Ku=r>dnxl`oW4N+^rPr0rKxApo>I>> zx{-&Tmj^FYFnQL6*J`X8z)Gz|WOX=SOP^wk$HcRsHH9ryCB{{%vkt6^mJdU@3FUHPxO5@_~M>zM;nD#H{7 z!|r7Z5MRXfjyM8dYKRfO*%jh+uQcCG@!KjyNuT7?;zugPV|~)(Dcuz%PR5)yG-?X# zQXH;QOcG2kyO%RIs^;9Q6ffnm(99+_&Pg3bCp8$hRwR8RHS_wgc>WtHE9v!CeWDU$ zXmCz7i*LS>syOI<;9DtoihZp%35h|#*~LkUYQmw=!8I&_80}rVT@8jWwCC`98MRk{ zdS~Ad|Nd684e+*Ww6Uwjpfl3&VMOY36b~Wl@#k>k!5DbO)HBi$=X-5>ORsAo5L-m5*Yh!4(48A%(UDyS(;ph-0R z8!(B#lX8kShYKLKg{{>4I`p1!jQImgkeNx{vrotIkLUGJf;gRGG3xN=Sb|?Nsh_;8 z=l{?uD!!94^7bBJ2`*NtmOZHFH#X@Z;jRI03O6A11GmO)z}1Gu2j5AlPNKUTbaV72 z5;0HUXlKwXBpoE`CJ&XLSu0Y%mvV020Lh}hEQT6XK+|FLUB*Z#tGBButSNH>`ru}} z+9zVf#;|ZZ-VPWpXMk)SgiJ57h-c!^KnIOGC<|*>+^RDSI1B zm=1ExKT&l8U?%m0*|q-1=%)k5+YiS16L?AiQ>?>?@&A!5w?~OsiGq3kDyRQM<#m85 z?FaL0KO(4qjVQkj<qgjflq3N{U;)frkbiR6*NRLPv z()D6$L>h86iKHE3s<7>ucJP|g4m;!Y)MD63MCa{NoE&HjbMd1Ys z_y2-oLO&E|;`*cbB#NRGD2o3V6iPo7FZM_A=r}%PF464=hUJ%Fpgs`YzXsbF{=mXo zu&&StFn#GZs*`t+r>UB(n9ILbe@>(R$}7H=L8_FcrQE!LFR5-zJT`;#FuUW~gH3%smaSiaQ}WbCQ1SSIn@q?T}LTT?jL_EeaK z%>HywFf4XUJcFbBU5RI9JQe2Jb}pVMv76K`J7?ZuoQ+Ibgmpci13rWE40BU>TMg=5 z$GNjS7!E;ElC9;#fSWvrcU7uHFK~sL!Xd!P8qVyLGRRh`)Yo?=8;?9%Vp_s0wdKvuDs04|D4ks?T>Kx-=cJS5J^CO^pw5+}ahj_G!7S=1 z2>m+<#T;G;6OF5!m1#^f%C^cpV}8Yp+E8h%PuuNN?JOVW9{!Yt6mKQwQZh~>NLCZT zSn6!K(Fsa&^;u`~l6?KPb1`BEOV-Hrs z{A9+^n>_y00a#vg)hW>GSm$ShK=10)V!esy6%l+d;8&ksToqjjtW{VkSmF7!s-}sH_7Yf75Ef0(Tt2P~Q7{SlsH}7j)dl3T-+p z0kcgW32K;WYPeE;%-AJB`9aEM&#K*J0b)8W(})K{mz3YzuN?8XbRr9yC6u-+_zgSG4qVv`*tr1>iK0_$cC6;1?!f?0j%o9*1X68}z+!Mf4Om!A9gV|mjK}YHdttTc zI593-KBaF%Sxmq5Dx}RAx9C`}GsZH`7|YF7m10{gzaiuIyEA^0h&#|Y5d&hA;`nvk ze_GrU$2)TF1w*Jq*Bi6W%=}5zDSB2JWd+(eaAJ^e0Dnx17atAa*~8*HS%QV}keMYn zTiDPL_CkWLW%@*+kc`Aj@fzT~!Pm1dX^4uxj?4uCtQjDz0llCMGAg1e@ zdv=GKVvP98-4#v#hzz#T`Xz@3<5BQv+FX7a~E-j_H{tk6jdUl`^6^JuQNT#~mJX*R*k*q9hiG-bqP#C0oy zHWR#t=E~ndpo;dRa|Uxo{ACcoI%D~G-rb@tk+(@P;unMYe~SD-(*^xy0*#z4YN9k0XA|X_k^T?nlmB!9 zWbnegq`5}I633U+(ktFH` zQJxKcQ17Pnh<{tTjVPxu$@Am#oMgS6!lb+&o#9XIhUyZj{p(Vi>Q3la7xAWIEN8@7GYlGv6Wo*@Ufw{< zfZ1=saFsQCdNPns^86hDlX`s35I*oB-|FcZJ~4e5R*Ez& zah(%`2d7CKo7~y0iqydIVemsoZ%3H7vwSr09Zw7y4&+?InV9&&03Yt_ZJ9fIP zm9#s_5tVxlSqeb5$eTiPb`&sFR()DuMHE)3IX@&;s4a(4)lO>nOYn^FIiScu$FF2U zQhj=HkPrk;FI4@IJkmLg6=+TkvLmPyMD&@{ddE@?DFl!vr74%Bqf#6#2irbKH=Z!sL=5RiR_x6aI;TXdi7(1j>7xZLky0NimJ77!ESB~XaRttJWQW~Gn4`blc zcu`V*kIq0cQEx{(z;`H(=Mui}(|BrXZ%h zqhb=6JQQDwvS@sDzj!s`v`#f@6NX%FTs^FnE8ufQ6P1z8LR&pDKd_!^<2k)&S~cZ$ zL!hAdd4gB0SqmkYHi8$V7e92DbM`~;I?LJYBw{*a+cl%`cPyw(?-37-;CbbTFe|nFp=JnSw>)^7WM~mA@<#^#p>e8Jx`@D?c7NKFPM>C!rDl*bbAKI=a z93mCc&0(2aDW4oW1pk5|EZ1rICYxt^PfSfABxyM$fGXEhWpS;Yk0>We-;8V;=;=KL z)u)WQ6ZN`URcJ!xm{GO&e`$9bjBMh7vtL~Y>Yg#`rmg!C&E@Bb{!2)&JhWeBa8$9c z(`okpsIuvN-NH?JUCa(J!lV&Rs;&Ta9jo%DusFB2q;Ze8N8FLY({Bkp zxm|6;V9i0u?``qckK^5L%6*QFW2jag<^VUA7h;UR~ev2fM_XChz+V|zuq6HDB>UXkbIIp%e}iW9i* zaPkakO6LYA-yDq}Ngrc5c?)98>wiI_wMK!Q0kOcIv)||Dkqa_L80I0)dow1bK&%w+iW~ z=V}bgsAKp`ki3dNLTgfz=UA^VbgZ|;32P^0!V`lh4$lDQ6GOAOgJ{X(vk+{^;#Zi7 z6nC%qQx>0`O5{)#2#?hdAvIyk=kBd&MtOQRcNXg8Cd0J$DsGg!dqd4M`IaM252f9` zmCo!c+JgIAyxESpeAWG(2Oi^=$LU8i_Bn~zV`H+?3jj3L>#+Nav#n=>JvvR=HK zja4Vw!!#CxS4~zI^opD@{JKF4dJ6y>qiUL4JUE8mbjwLFh8UCxN=_MZ+Wem};&F(x z^*RhOG!AhW&~n6;_0v?9?WlFQy*!0&cSf7NurC#p$8zTYJL*uA!^Q1m`4y?Efo=jq zH>f#@anY-a=g0CXabD!ZZ(tSOW4Se>7%74vqJn@XHqxl+I})$5XuZhG;gbhY18%JD z!^OQhd|J8MYtq)2fy{4(xPv|VbX>lk)RftC3X)A0G+9KsnBp`NYAc+6W?GrSY@w4KZ%XxCSy|+S>uq23tW3!)` zVZ)~NBTVmyPFTPoEM?*a!pLMJ!qWN?MmVw{TGl?e8v86xY&KNRGMZ_6j_K7mrh_12 zGK=|{dK_Epa}g7OuXEnj54z<&ebwf(*7#teLqmWx4ocY8FaG}=Co~?DkH3AO7MY0Pnl5i~;5(1Yr zFWw|$QMfx>G`Qglv-ZL?0WR%$1S4a@DADfEF^Tbg>knc37Nd4Uq3Uo9CY$1kdOf~| zFHg%y-q|e0=>S)vQaAxekGh)%E}GskZs4!@smWO5xzA1Ol8IR_!3VIZQ3PmJ*E2;m(UJIC?4IfqdXqSNl`Rcjo6 zFWZBo&5`yBwut#$j)0vHz-Yx|mQwkigCZxF+w87hcblu%r-^X3pL0yNB!|6>jkM=8 zS8qX^uy5ljIW*>gs_up$MkzW1YG`<3>g%XK1azK5p|SlQ>tq-D*^ z#TpMEp(RalB`p_Ed-!l^jd<0=*YcB(i0iHfb7>~UF~#|Pq}WEYlxBoByJ&#yUQT(@ z*+y|9gVI4sb@oqpU6L-~7ngUV+=ShD|2hY`x&%`#$XBxF%;Lj1e_OX0>s7LcPG?Pi zo9D~bA*bUM`tE1U4|!cz{hreVY`OkGIld4T8*vBDm)Y?sv@k= zJsgr0VFkGtm5ZmY;X{0c`Zl261=Q3r>|(gSV`<7=gz?BGlk*}~=XV;`y=9rWTS?OkR8l!@|TzrM9F)14=)y-nqR6c@xH;Bno zVWn*rHzPS^5lY5s$Qai-9n?5oiF}>pkVY~!8p}coage%NjdFCaV=A9Kh&XpI3vCNZ zq0nY=ZYm!>ndl4ygvfkqU`HfUFV=oFR$0)R;`{%n*fX*sjhbhtHnJ9-09Fx?p#40Lp?)}h|_wWADs8| zE#jpDK8?Sp2y-Eyl0g&H%0fG+`2e$rT7jNOFu@3^#D48?jaX6$PX%~cSBT@LMcO_? zJYUF5v~GS_Ba(`Ek?ZZ9kXV0^kw$&GZ*hReBNAzLXQvdg1-ScS_Q!cz`b-;zzlf*t z);_Vdi2q56tA*}_&ZR3qEq&&VV%0SGy^E2H_MV@{a}$>%PCAr~CFFfSjb~W)qb(9^ zY|L>=(p-C!7(1O`&rSD>`=(=OFi|`)o&TIa-6y`E&Zopj*GHs%*J6i;HL>PetQknJ zzn(9V?h#|J<3lM~be)!b<~p89$#?bS)z>2lf|p#6ZRq(*onK$iV>#qYHxH#g)X3K#E94e%NyprqtCN#q{sjTbshGJPh4zx<4lw@pHWNc^Y zV2pd*kc7%UZ|m>jKF!9dGHus6%BhT`q_Qu+HM(US1v>>9!u&Iyk(d(DWI?lJ*7u3L zpFs}R^@%c+Oi9BIsz|!f|y1x86S`;K!rc${#MP}>!G8!By3qf#M6EO+6 z_y3INOOH3LG^AT~)23_Abvf=4IpC(UaR)UV4VxE!lxQL#J z;SNV1?ag%$;D)|JEslX&Q4G%*!e)e$UA$k+M@VDEcg1`p$MB@z$mg3sRD3Gp58TK@ z1esC7^9Gn3bm^)Px0dh`Q6aBFQ3er0oh2fv!Rm|BvInR>E?x$QTD+sUZ&xj6cE1Ie8rV#m5(!%U^=W~s?%YwykUgFa1{OVW? z_~-IM6(sJTgRM2fcjv$Z`JO_X67KN_lGt&jpxP0Bi~A)O!f`>)T%IaT64%bZBR$*hlJ>T%(w=s^w7We`+SQ&S zh1-u}br}HJ{!-gm>zAtrVj&y|4Rsuz15;4<92}t&DJ(Zc{xNtHB*4%C9=r-k2}cPK z1=%>cY=nGH7vpZ?!!_H4uG5g4jr2BYJW3NN_L7+|>Y|)5oCUWLZh|`+(EVZrr=N3L zv^EJo5o|h!I@smZ5stWxx>|g?Z&V0R9Rz@#iG}n)=_{)90@mv` zGpa{nqoB4E&U)@7Y&Ztxo4ph<$` znX9em;Ca9}x1PJv=^Euz>sdw{rLCDhb+ZxQZ1=(IqUV3E`qZEiZ^|Mkyvfsq^jJtT zNi%hm^dz;T{!m%29>u2r6x-8IQ|K7BWye@XC<96|$ab|;LtZp`o1`OeM59ZMI79wQ zBYp$~EH~nNjYcKO9$JOGMF{&hdgg~p5V#Hg3l4`vd08t*V7`T!=K|bXcv;Eplh7NEN5*5ulY@tPnTI*-?Z@+DSUf`!d+6&(u5BAa zNI%-a8A#vufO#U=L$mE2r8M{ceR63X?cG8X>Y91cL{2;j=uoPex%bw#39k|eemaMh&9@<%&?QL~HkJ4V{ zEZW?QHq3sjr?u}cbUIn>9%6%J=^ln`C4i2$1dHfok zBbYlli1#_YP#uoIT&VgRn+n7hbYbk8%rRALtq40 zP_M9_rpz#Ox&<3tvb`6rQ=POnlH`8ag1t<(%tF5wzgU1dPnSy^cJLgGJPSq6pl6Pw z-izp16CTGYFMAEsu#4h$uVzVc(9|6nZ=?1;1#Q&EF-X9N0ZgNF1?t_gUMtb?CGse| zJ6m6RQqf0;pRt43>2sE(GL})UDS=LKi2yMXv>oJtGhUoqnbh6Lr`pT-FvmFEb78!&Ie>}HaNNEt6q%<}@h!GPn z-2y>~-UvAd>PZ-^QmCC-=Ryf_&q*|P5VqqOs}Ek4VEgAtGvkWGfEc}D5UQbt5CbOE z9%kDx$XxAc&iozAU&$p1?%b0(Zs3be*xd<3Xb7$ku#aDr&vZiKDk z{$KKuSU`1e5N;7@a&vdKH+bB@ztRvkk8zdk8VD$%AUXPZBq@nhiqFWSk+xt0kkCGD z*5ODaMEwD@@u!6i`Yx9|Lg-H}MzUPPU1ni6((=bKiUhL~CJWSo z7I#cmirGO!fKA3ExWImIkUW3^W^s-(hWdO(rC8i_D<3=Xd`3#KsJ#_V*(NmO*VJSg zgTKC-nxx}mCUGaR-J#rq9Q}R(4SFO(2SfQygh;z?zL_X0(`Ld$21P+hPyfb9cNytl zBkd1BB?sP;(H1G3a&{*HUDTMat5+IbIBWF%Jwux;BP2N8&Q@ZRnO3X}#pE$?zXp zRc#Hy*(*2d5ixXBcmjioH6-_P=C=`dyNto4Te7rQG2tSh88dB9c`ZwLSIG}T$=A{% z|S$pI@X7|omBh<@MFVXuIvTAwRFB_BBC)8wN`e6$ey ztA{+ncD-F{pXiFKgG&IC%QlYw2u|hw zW`t5)ett$o5luA^(FP6iZ83yMF+<1EC3xNISHLP&BFw)I^0@9s$iBV+CSN20jGJL? zYgabxj1_1u*f?}7R&}IQ;2!HXkSo4f#MSa*Om4+_71RfYJ~x+jH^;E<&?Ibe95`#g zbV<~1#iA|@C2e9KQwjs*79f>}A;;+e+yd~VQr%c%or&JBYh)+RFV%J|#iW^}a*T5< z8VukuvlF2SMy1OUZ|YY8ZL&L1DTOWK0rpuPnTfQ9JM0fK4_M;0n-E_FsLFbR&14lY zjttK;`wY0Zk0Aqx$|kUr+Jtbp4$9?z32ozVF)JD~h;>;T!TY_2)Gy6mR84Aej8ut@ z+oINuAc}f6{ZWP&9zsEkk3xh~2S}JmP$^9WMuj;A0!8CT_km|aPU8%rH##RaE#X7T zwZ7xHi+CefqD3+h*~ZJGL%At|Y>cT8H0(cF%* zlfiEz%~+J^B>`v)H>Q}Ylx~Vw{Td?tv>P1&lh(F3) z02kJi;B~Vd8uO2^=61wkmcHvmy!M;OYc_&q5;QQh2@TMqbp`6{nhPjM>n{6)Mlvpt z29L=xAj8Be+8`u_wO&%$DK|1*Dw>SxQGrH%_2jT8U){opY9r=HyVr*=bunW_ebe~arqv`JD9~(k|4G5@q)uUQK+dCT_or|UHrPmH z6VAa2tN_;t{V+3qYKwSkDZgyyiDtr*2hC3+EgN%srGcHMH09GYuE5-<>75H|>~Q&! zKIPijatPK5ZQ6=c%eb{%1~kd6=1sveeGk$_~=oOgf*;t5kncYTAFoQ&56LIImNTKz2?C+sZu(nc@wDL?M$0Dqa3C1F! zV1!AGOz;ViK3TA_-sy#3z@dDN%XFGN`p@s7{}Y*rJ@nT+Djsw!-~ew(sc3uxzoH71 z#*|*$yJSpZznMHsvn#5JpNByt@smb|_>KJ5{v(NNE;>V3XoB?rK8&{V|NB9lgEqi8 z_Ww7CaMT-vNc5EP|78%FLp=N&ZZU?D*gOgBChj?0b{-3^Eil+$9vPSW9fp#)L+dmR zIlLA*@G&J3QUA9?N5fCUN5lVyG5l|rYvYf1S!hiEFNf5G;pjiC|1ZNy!x&whX;TzO zJ)k)wg3F;lE}lPj$Ovs!3FaQ`nrTMDBGpu96bX7W3GvVl&G*yI_mPSQ+zW7_oK*_X zn-`n@qvIh{hVTX01Sb|RW9^z#t<76E3dmnW6E|cuJjRf-wLlPwgq(w*V>W6!20|*v zrOCsE|F_&!e$Rhsbw7by1sp3r!~GaN4mk}qXeLHCUj`U*Y7oq3sGV4p(dhySHkocj z_+kTwlz1%Q9CjS0Lt&F5Cxz|R-2X(Q?m#8=g$X9)75uXJLKd=-34n8ktQFjO#bgjd za--+X_Ve>9z^dvyGCRj5fn0|&TRU>owNjmUWCb6tczGYBVproHx(3@E_Ia>94bK*^z>d() znnjDa`z}7>=AQ5M<$;8j&ezH4CGU*33X=`8sQ^PvHM)P)P zBN(J0B*RF*p7$nRF*u+tYL0-9v-%_^UT5LkQ zVe&bG5Dmyc9GqShw)Xkd1S5VJ+$E125vw3CY`sYZTrIg&THr&YnUSsdcq963lD4%c zNMtL+iwnXTn^W(%48bZC+5wMUZG`R0Wo^mKZz<=<+@3j)7FcAE8FTm{mVhDMVPa32 zkDyT+qjI=?kAT1=tWj&wfERf%+?(A9=d&gehxj}edPqT|-7pO}JE<++#4+Mf*h(jc zB-}coWIkjmWte+F=4k1LC;l$n@FF3(E0-vwo|52@(2$RjWN{QcR$*(UdMoPCrOZSK z%wRkU9&We+qq_>|9xT0P?7Cu{x^LUdO{hm)0;g+-8ndY!Hl3zaqRI)!1X?=F0CoWp zCIu(4Aw+pVh)aREGN)}%CJbhEno=9YDm3IU&Z77rdPHQeMj$r-3K1J6Itgio^_F9W z)GH8mrz08gn)=4jsV-HH5=VQZ?~F2n(-Bkeb>tWtZRc!8ncrezR%5SaXTAxDw^3dN z3`OR!F#p3AHgcT`Zkz~3SoyeIVle<=D18kn4q{r5bE>FB((Gbiw_QM1;Fh61|AtF~ zs!~9Ww2^z~mzoMGfk#poSh6=rZXEmIJcFQ`Af&|h3qpE=zXn3R%1{>YWi54{n*Ez6WAK%#}#DLFxk} z*raf}+0J%F`X9`S=62fl9%fIsBd@l6KHL6KCfk`rx)=bp0H{Tw_R0!l4^c31mbO-u8dB^H3}Gip2DS`gj?J?;dF{toXR8HDiPI67g|V)HP!=`NO!5!2 zup{EBdwFJg412VWX8U}$ZHJi^G++ZK2o1fKJjR;e6ofnzkSL0a- zo4HV?Q@d2cJ)c8Qlh}bNbh5As1cqpr0s0}DvyfX^IiEE@MCDobDm3C(9B7>Q0)40H zyupCy&?a~%Qk$6lanj5`%(emVoS=!7=Ld-rs!T}86{%O`>U%h{AV&XKXJwpMBeWma zRhFh3Yf0{-DvNX_)-&e>ZPaga??c1XMsAI6+GrE|YDQ+Mekc>w0#SzpabX^G-LsnQ z#CUW?bA6}lu=gGkAIHP$vVX@kwPQC{x9CR^aE@P#bNpJIa=% za|hkPn7^7I(5^$wdsJlH&sQXUXf4y0q%+X;q+vd^ist+IJu%(ZgU+48@c?e=bXz+o zKfu3`0GqGD(yOTy2W+07m+%EPvEI+K@)p<%g1UKK$_CI>d9+exrft|Smg4R-{M{g& z$`{!3gAv)RZbmuo7k%N!+v!Vfht#j={X<-rn+do$mahP>a}CdNk?DRCurbCo(%bNA z8zWZ(UF*_bUE`wr-#krhUc<+vx@{Gz7igjfwb4Ub#U?&p!z;{P$srZ-B^9`w#B5@B z1#c30y4HgG=iL4KcfuXy-D+~h*?-3NJ527w%JsB}(%#{)+k;Dpzj$_}tW zEEdkz9ks_B#FQ%ia@rjTHDNl{ARepY_muC!M_%ku9MlwJNo^)(X(N0lL7c$}B^y%1 zaP5~aXe_Wn=eZbL3Xb~0fjBk`@V++c8n)MM@I3K9gDb@87A!-AbEz#8`q5m2OB*#V z;3V9RpcgnY>Si%n)IP-ToU8E$h{>XM*h_gbkWU2Cdu;kG7D7xFR|5elbcR1d?m&DV z^3WcLWb9?5QG%@&qGX+MeeBp~@c`mWT9bVm+|6K+%7!=zN6O|XQTUXffjinsqKi7} zADygOsMI;SFE9=5EVZq`j-{w>scmr`;h{ELLCaE`h<}*p@WVn(ewh2lF$2FD1&yVc0FtrIib^5o!IS)9$L>N`-t;xl$QHGpC zneevow0H-`h(!HBlbG@dU-paL$t*;(a8I(X6~nlg;7K6nD}`(tsuS-Z{xP;Lgx;8 zgDU5BBYA9H1~=C^xPFf+#V9A*Tqw^(xfA81jPf!4%4udr`RzqM{AiRe*CcW_G7>qj zO5m|o@!VV$$78Ap__lrsY$#7cnH4aKQNFrgx!q`#gyS%DH`PxEd>UXWF96u>P_S{_ zFT0LI$8Tvaf zz)$Cq-X_om7$0rqlW)Nq5vrZXhN_bQXMzGfw#BE;Hsa(X#tR^~Y~-oK=q(!E10CyW z+VT&TuC0?xVYt}1k+*BbS!~-jQtNwB+=XIN=flO#b+`e!T-;m7e?6#c%d~zaU)S-g zq`_kBCjPgW?k#lj+fvVmCia2>#1#8u+Txg3&vS5ta&bLhsA>I`L-j?T#C`ctZ?Isf zzlm0Xf}!H?^|*Pf3=K7D{1_^79_6XDY9ySpiJ6ab+kgqd?dqf;F8ql*ALZ91Egu@F zqgN&(>{&N0&&!93{Q%Q6`i#fK2dHjYIdq)UYxLD&SD{d18u*CGgq04&^{amuF2I|h zbE)-TV+ZCzYZ2^0V6iG>QOei=7u+vyX@J5g)|3{3HQS^H3?M2uP%*WP+)XF8-{IKrMOS< z9PRG+5tPklYR%g%y3IPzh{M>xMQJ_X;r24ZgV$a(&;Ey~Lv7M5rrC=)ULz#UL=Gd3 zY`&S#hi?7FW_~#bk83t_XZp&a3$d}G3%}hmRgJJJcl15b*Pj+|ZN>{bL^gX|n77~+ z6Xf}}a9?i0&|;?_%WXUikFOD$&{P8AL=wSUAFsq^E3;~sW7IaNGmLk~7QUM!yyG$4 z72PNvd0d&W;R0j|V1viU)lU97xz5QGi(Jz^D9XLWp=A6WoQK!Z>FRS6>X2>-3o+%dK_yO z!tWo4rUXf;jXcLmuB!-Za?i#w77YY3AKN}X?xlgCxLDT6a~;v!=K9f!UBV8fn)*TS zb2*?`E5sifdA51w&=RNjadEnlJNaQW^907@N^$oSJX@OD`P36UQyN9QbAfl~BA?a0 z7&+N+Eu@Sv*)^eN40%pm?cK^BPdsccY0--Gm2l~OhAl`h6|2#=& zPNkcSIk+)!jwGgp=tY&M#rzPMi10omd<>yv5zmGA$wU&m9 z0o(XheB~%nw2kL@3A`2Hi3Ygq5^(+KQmq?d%{MQnnale?qlfKSyzo^=Y4kK(f!b3Y@TGE#l=}V3b%eWo-U%QY3 zZDVcJ^GWOAjtP9iw8x0?r1ZAFJlx8EZ=(`=^AbZ*gU`{ZQ;|+vCQ_f_83WRm zZFlNMS>ZDf&8gzfXZU!F4uKN*=m=t>*!2wm6@RZyY|WKz!rjJ?Ore)K4WvoD4yPI#jZqjRdk=?hw zHX4tDlMj}vQNGI;I!|(RomPFJS}G^f+>Ih{4?fFAq`7?m(~hT>yip+WzCHYw8|R@5 zc-H}r>zCWS5UkcqXX^-Ye+R$HLdA5A=R26qP&W9k=pQ@qP8VigdMCDuD28^% zOLzEW3Wd}Xof1;3229Bu1LnI+U~o9%adpCSm35b5tY7v-WZwi@57RozTJcoJVi~AN z;*8Q%p4NuXwbY2JPJSOxYZH7QU&fJMu@A3Z?iA1N!+TK3{$U@_aHiFi;Yt!5I_!2$ zyT>qlGFb`^m!FyRbuVsZqbPcg7oqBg=djG8>i*{-wZQl>LTxGC+bH<+*twE8_%mcI zb{Kky06b|M95`&HZ4K$vf9?`@JP&upZ4Ze3&*OtI2!D7UZ;l|$eSzOY;m#M}4?y_M z3%u;c*}GXn5auRUd*%qjeSx&2r4)OaF18#tBBfWtU_qMGi-QkQ`DQ8yeAr0u)8SVE z{vq-7ix7*z`v6;4ij$1y+SS-lYt>;&l6f8wp8!M(h;w={>?KsNzJm&r`d6Sm6*+*Z z!i@kyg*){?+D{e!s#mZBU^!fMDu`T(8#JV10^$!Z@sS!4W036!5tSMdG)3$@py4De zl2u$rK|oxIAX%fDI_LJHgI)la;=2#G@5fRb5RdMMksA=t?&mil81!-!o;t6=gF)z_ zRb2g}BJ_(GU=?@1%s2U}UHbQhu%FcgbX~tRnde2pf*=VnCN#7>_Y_`|E(i)=7r!HM zGwMaBRlQ3*-^Cv=*SnT(*z6Kh{=mOTQai3|ibZ|oJwy0{9b)nUo|jecDy!Bm&rRZt zZek$a3TvaD#b|=>9tCeIM;dq@JHTsrQ-{cUh0nLuyQXg-E%iHmQxN00jShPV<`ul3 zkM?~B;ogdssLDvZL_%T+d6QK(vaJB}Z^!#G1V`0iw$q!M zZ}4k)phNud2Di<5j;6F7w}?=k#1tR=f%7S|#sPJrO-mQV7tcLfIjJ09vkpryfjVmv zE`>$Cdpd9b3;#8@&@LAhu-52$`*QKwoBSql;kHY;F!L?EItflzy#+mo(Dyd97Q%bp z<}>lm?yGO}>!q#2a*Wr;7eBCF9Zm?J5Ic|Yndy|KHOKx0&V~^}s3%a`ix762?H#y) z104n0WN>yAYT@P%@z^`CsGr@}dEgzsUm_{5c#k)Xy~p?pq?v82r`e-+W*vP+ zXAV4qZWHu5O=fE9kNDUoq1Pu^Q8naP}xWL>RY*Z<|9~jQ^Y$T@#`l~$2J>o>Gmtp1kT=f^nYD~R^K>QmW;7y z8XM8C`i>b`J@FOe4l(~@yuhy4Ys#d&#*XW?GFQj7t!S;`V_tF#$?R?Lv_hV-qJs*g zY0WV~@e~CY24dmaO4l3`GL+=PfW4!jW`vP0(8}pu|83i7#cu3aSY6+-xCY;(*+FSn zhba0R=4GW*eEc`8wE>s-;cwWBU{a)ZW6N6KA?9}T^d!Q0hAni{5m_>DsU4!K8*&3> z+J^gJmdh^@@OaVJ&EK0@?HW~sZ>_dFV962b#3mx2z7I=#O2%WMihO)yC_I6YZBA7FxyjrNE892K(oQLQSb28AJ;yw8Uok32V5)r6mL>57Y}~Q zN0wB&@>`*OG;nJ7;uWp1mA)53?{_Qg!D`1OKdW~Q*f1TdqQdY=0=xEQj7wLe??2@} znut?QV$#>U20l~ol1aPcj(r(cI&t76FL9FkA$;@xcU+S{gJ7V}{LlEiz_p>Z-t}O$ zjw?jCe1GS6{Dea9-2Zo8B~itq&-nv6^{$65(RH^~`{zMV4S*kJ-av`5MbAj=Q*^3n z6Y8A)oPUhEop1e<{~+;}4)NB%@QIDf#egsQGz2$(33riq&34t{_cM|zGW=+(1b*;N z?R%9mK&5}(a{w-WUQXvtZl=xu&i!KdmrxkMdg4pGcI+Ar|6`yF+8tXt;G+FYHFU%p zjInDp54lE*$zSpGyhfMmq%v#;L)F09=yKAr2G?-gOW{V2@iek?@it{G$9&V;k&ge>2PQq0H)FFF|+JL+1-+a82nk8}w1(B#VizbMK zX!B^M13PXqYed4EEpuxV-PmFI!pc!uaGn&+xvw0 z;1nkJ`!5UrHD6C*&DZb*Eycp3DEf=-q?qAih}%25^U&9L|9e2?6Wg_q*CYt3hwp%^ z?CBnUg~QRs46z>U**p5*8%XzK+bG#tO)GSK`!*r<;%h5=M+;jopPST-UlxF~uL*m( zCeD7<^xVthfnHE@;APQFA>iKVg$Jxv{Ii$u;NN$Nx<3AZ_EQwqAnvWBBJ~@dI^bsP z#2Nl}imSijL(54v_KhxUy~W4|zjNs;Gz1a_U22p?VQx3lw;k0{S&h)xt0c6bIhw0S zMti9va58hxi=&HM>8K*QF5>qT;v{AgZ-2u_^DxYeZ@5i*TqJ+Xw^8!>Z{bv-0Z{SM zG}0%&k4EIPv{OO9}dPknqpi=%^?=!yyC?ZZJB3H?y<)OTD+BgB>8V@BK{)_l*e z7^ZDQ*U^qD2H$=(s|PVCH0%lD&F}FU5N*TSdG32Gi+L}O)>ma(b7}&J0$eAQ zRfFrqFcC%P>mS>lb1ZgtPO~_&*P3}bc zF!)X&M@HwiVQ$s-`;xHs1#a;B{Fj{ilSGRlwr#gPy7KyxqkCl|Nd3Z%sa#%hi)C>*=cA7p$nh$j)CxL{LA9&HQFFW#Ef0A8d*AJL4 zp!m=aJbmiHi#c$f0bTtVK=Df%aPT|>Mn!nO<;W8y^cq7Rz0*z_ssZO~OPk6r=1qN%mzh z{0s3DcU4CJ+T7b2zr5dd025S4|jeb$wd;rJLQn&Yli*n zO^iOi%tZ&Uw3BzZ?fBdl;}zmwS-zhC>rHV;mdi30;FmT?w=4*+tv)oBd+wa+gFmc{ z;l>=h((O|h;3o)7a+YZlzD6dNe#BEmz$Dx8*@#^x`6@jaDoio*B*d?dk$;9@gC2Yo zBjY1FpgwJDr`asOB}rSv`>}x7B1Xr_Vi0-r9HnF#mm=%+IQa_cCJ{40e(f@?1geId zEfOohIR%_8w8w{t1jIiF$d{wSuy}d+FoJME#A(3jPz5V3I%~)0hi-_Me=XTNpNj{T zrt1!Y_*3!l03;;HfkaAT0t9K&9REn{Opv#Zqdef(c3Q`cofcts1ikvstff@aXR*0zFCIMUmO`Pij( z8D&)#xhQ>hR#od)k!~%IzCu80TpNzUd|{FIOF81{BzXk(Nqzg4xf^VuPgkAA%>sF*L#S>>NgzZEwp%fn$#+?_0s9HmL5w+kJ>%Z(%@ zklEjo{7%Pqh-9yrK_p*FmT?cF^POZlQ^Ex6{J|zWCFwRXDn%YCT`jIn0p2ZQJ5q_I zxIIt+e*n$u8EZPjPJ z6t<0$ZD`}wQF4A(0sW8+mf#r(T`W{fe)iI=0$j^w8h@}x;P*_JQoL2ZI4dLYmk8HPmEGOc^7m zrk+7Q2?>=sATV_OlN8}=e-x9)$mv%e`>*Ai9$>W4((E8LP2cWzOv0GCgD}W8j**A+ zH{TF#V`OJ6ZTl3qL;UiuJXxF?BU|~iI9eMk=h{{~M~}jN!VQE31B+|2jD7J&=ghHk z8PAvvwH#emNU`}xD4ylYh06>pw~DtemmlDzYeb1#&gEyYS#`@L{QC~^fm=?GFI^Ki z>P*MzQAqP~@>cCC@^)Uk6q@#gqwhNjX_! zm(oXRZDE}1Q&rGQ?U1#WVpwow$q|i|FENX1?YvQgp+z+gaT-O9Hn21Su*BY#3Twl$ zkGdS;E9fK9gm&=N<3f=%QO=-F=1oLr?VV!DMEMYJ$r3qvaw=z?o!8~b8Ip9jxbq5m zkJKg{ljJM-b8m|IljOH>;@FvUrCg#NMdo;L^tO4jyqt35uR4YRZj*lr$Qy2#+fC)l)!d(kXF4925uU+s zT2Y#wFOB#F#OX2NDJVuh9`}vh--u^69&ZUgSQTqh23q0=Bo1b5wV(Tgc>&-b*b#P{!;cg;aO>fi;x#h zQyD#!N9C3Mo-pzj-7fn-{FVM3N9aYGo)kRMG{q^8(!~g)Ps<&0=d`rLz{Vxc%0px8GHU zA|yL+S|u+YAdM3*t&yMXTwWokNn&-Stj=5Vn-%sIcQ5E>S+&bxND{U=d~y=&#e z;z*^O5~KZYvDkHwJhbCM*)%X``tBJ2;axHQARceF*`J2=Da7L*l>KAy%)ql0PXN!} z2Ssi`z6W3RkMTF+31^x82@eAfPca?|Y_Rsl_|GDLL2r!TjmPwe?04arj%O(zf;kI^ z-QG>IKWsJoEAb$U%|kc_Pj4i~pT^AoCWNc;Fyzffcnt7o@TAqtSNOg4vcD8hC7u>M zNAR4&V|`TiPr^fuqzpCtZ+l$!ufszP`2C$zJ%f%(yOasMbIGG}e8RBqCv;FMrayOq z4jS1d)x>s2cF5A_RY6l#Fs3SKt_sFh1>>rM1FC}YRl$K(!Gx;dpsHYERd8@eP?>e_ zM&+!y{Ljh&F)!8ft&tckK74ZU;*Cl?mBfmpX_nugFF6_<94|`KE&sTX^VHxw#gh>w zMs$S++eGOr$}e|e;!@qgqN`+$*>Q!_ zA{ouZipeg^cSd5En4Z<2fZ*Ubade21C5}$8;4^wp4jyZ?Mzo^9ZD4%&JP`_II|<$@ z{5h5#=Q{&>Q>ZM1%2J51%k)ZNx8<(>PU zw1fI?K*WocGcDJN{nuG;x)hOnjFKRx%&@%oqkFYE$<`IIkw{h{75mo)AES{GD6JWXZg%X3>UMXv;33buYUdl{17qw1> 1, - BUILDING_ATC_LOC_OFFSET_Y = TILE_SIZE >> 1, + enum + { + BUILDING_ATC_LOC_OFFSET_X = TILE_SIZE >> 1, + BUILDING_ATC_LOC_OFFSET_Y = TILE_SIZE >> 1, - BUILDING_ILS_OFFSET_X = 0, - BUILDING_ILS_OFFSET_Y = 0, + BUILDING_ILS_OFFSET_X = 0, + BUILDING_ILS_OFFSET_Y = 0, - BUILDING_GATE_OFFSET_X = (TILE_SIZE >> 1) - 4, - BUILDING_GATE_OFFSET_Y = 0, + BUILDING_GATE_OFFSET_X = (TILE_SIZE >> 1) - 4, + BUILDING_GATE_OFFSET_Y = 0, - BUILDING_HANGAR_OFFSET_X = 4, - BUILDING_HANGAR_OFFSET_Y = TILE_SIZE >> 1, + BUILDING_HANGAR_OFFSET_X = 4, + BUILDING_HANGAR_OFFSET_Y = TILE_SIZE >> 1, - BUILDING_ATC_TOWER_OFFSET_X = TILE_SIZE >> 2, - BUILDING_ATC_TOWER_OFFSET_Y = TILE_SIZE >> 1, - }; + BUILDING_ATC_TOWER_OFFSET_X = TILE_SIZE >> 2, + BUILDING_ATC_TOWER_OFFSET_Y = TILE_SIZE >> 1, + }; - enum - { - BUILDING_ILS_U = 34, - BUILDING_ILS_V = 0, - BUILDING_ILS_W = 24, - BUILDING_ILS_H = 34, + enum + { + BUILDING_ILS_U = 34, + BUILDING_ILS_V = 0, + BUILDING_ILS_W = 24, + BUILDING_ILS_H = 34, - BUILDING_GATE_U = 0, - BUILDING_GATE_V = 70, - BUILDING_GATE_W = 28, - BUILDING_GATE_H = 25, + BUILDING_GATE_U = 0, + BUILDING_GATE_V = 70, + BUILDING_GATE_W = 28, + BUILDING_GATE_H = 25, - BUILDING_HANGAR_U = 0, - BUILDING_HANGAR_V = 34, - BUILDING_HANGAR_W = 51, - BUILDING_HANGAR_H = 36, + BUILDING_HANGAR_U = 0, + BUILDING_HANGAR_V = 34, + BUILDING_HANGAR_W = 51, + BUILDING_HANGAR_H = 36, - BUILDING_ATC_TOWER_U = 58, - BUILDING_ATC_TOWER_V = 0, - BUILDING_ATC_TOWER_W = 29, - BUILDING_ATC_TOWER_H = 34, - }; + BUILDING_ATC_TOWER_U = 58, + BUILDING_ATC_TOWER_V = 0, + BUILDING_ATC_TOWER_W = 29, + BUILDING_ATC_TOWER_H = 34, + }; - enum - { - BUILDING_ILS_ORIGIN_X = 10, - BUILDING_ILS_ORIGIN_Y = 22, + enum + { + BUILDING_ILS_ORIGIN_X = 10, + BUILDING_ILS_ORIGIN_Y = 22, - BUILDING_GATE_ORIGIN_X = 20, - BUILDING_GATE_ORIGIN_Y = 8, + BUILDING_GATE_ORIGIN_X = 20, + BUILDING_GATE_ORIGIN_Y = 8, - BUILDING_HANGAR_ORIGIN_X = 20, - BUILDING_HANGAR_ORIGIN_Y = 11, + BUILDING_HANGAR_ORIGIN_X = 20, + BUILDING_HANGAR_ORIGIN_Y = 11, - BUILDING_ATC_TOWER_ORIGIN_X = 12, - BUILDING_ATC_TOWER_ORIGIN_Y = 20, - }; + BUILDING_ATC_TOWER_ORIGIN_X = 12, + BUILDING_ATC_TOWER_ORIGIN_Y = 20, + }; - memset(GameBuildingData, 0, sizeof(TYPE_BUILDING_DATA) ); + memset(GameBuildingData, 0, sizeof(TYPE_BUILDING_DATA) ); - GameBuildingData[BUILDING_GATE].IsoPos.x = BUILDING_GATE_OFFSET_X; - GameBuildingData[BUILDING_GATE].IsoPos.y = BUILDING_GATE_OFFSET_Y; - // z coordinate set to 0 by default. + GameBuildingData[BUILDING_GATE].IsoPos.x = BUILDING_GATE_OFFSET_X; + GameBuildingData[BUILDING_GATE].IsoPos.y = BUILDING_GATE_OFFSET_Y; + // z coordinate set to 0 by default. - // BUILDING_ATC_LOC coordinates inside tile. - GameBuildingData[BUILDING_ATC_LOC].IsoPos.x = BUILDING_ATC_LOC_OFFSET_X; - GameBuildingData[BUILDING_ATC_LOC].IsoPos.y = BUILDING_ATC_LOC_OFFSET_Y; - // z coordinate set to 0 by default. - GameBuildingData[BUILDING_GATE].orig_x = BUILDING_GATE_ORIGIN_X; - GameBuildingData[BUILDING_GATE].orig_y = BUILDING_GATE_ORIGIN_Y; - GameBuildingData[BUILDING_GATE].u = BUILDING_GATE_U; - GameBuildingData[BUILDING_GATE].v = BUILDING_GATE_V; - GameBuildingData[BUILDING_GATE].w = BUILDING_GATE_W; - GameBuildingData[BUILDING_GATE].h = BUILDING_GATE_H; + // BUILDING_ATC_LOC coordinates inside tile. + GameBuildingData[BUILDING_ATC_LOC].IsoPos.x = BUILDING_ATC_LOC_OFFSET_X; + GameBuildingData[BUILDING_ATC_LOC].IsoPos.y = BUILDING_ATC_LOC_OFFSET_Y; + // z coordinate set to 0 by default. + GameBuildingData[BUILDING_GATE].orig_x = BUILDING_GATE_ORIGIN_X; + GameBuildingData[BUILDING_GATE].orig_y = BUILDING_GATE_ORIGIN_Y; + GameBuildingData[BUILDING_GATE].u = BUILDING_GATE_U; + GameBuildingData[BUILDING_GATE].v = BUILDING_GATE_V; + GameBuildingData[BUILDING_GATE].w = BUILDING_GATE_W; + GameBuildingData[BUILDING_GATE].h = BUILDING_GATE_H; - // BUILDING_ILS coordinates inside tile. - GameBuildingData[BUILDING_ILS].IsoPos.x = BUILDING_ILS_OFFSET_X; - GameBuildingData[BUILDING_ILS].IsoPos.y = BUILDING_ILS_OFFSET_Y; - // z coordinate set to 0 by default. - GameBuildingData[BUILDING_ILS].orig_x = BUILDING_ILS_ORIGIN_X; - GameBuildingData[BUILDING_ILS].orig_y = BUILDING_ILS_ORIGIN_Y; - GameBuildingData[BUILDING_ILS].u = BUILDING_ILS_U; - GameBuildingData[BUILDING_ILS].v = BUILDING_ILS_V; - GameBuildingData[BUILDING_ILS].w = BUILDING_ILS_W; - GameBuildingData[BUILDING_ILS].h = BUILDING_ILS_H; + // BUILDING_ILS coordinates inside tile. + GameBuildingData[BUILDING_ILS].IsoPos.x = BUILDING_ILS_OFFSET_X; + GameBuildingData[BUILDING_ILS].IsoPos.y = BUILDING_ILS_OFFSET_Y; + // z coordinate set to 0 by default. + GameBuildingData[BUILDING_ILS].orig_x = BUILDING_ILS_ORIGIN_X; + GameBuildingData[BUILDING_ILS].orig_y = BUILDING_ILS_ORIGIN_Y; + GameBuildingData[BUILDING_ILS].u = BUILDING_ILS_U; + GameBuildingData[BUILDING_ILS].v = BUILDING_ILS_V; + GameBuildingData[BUILDING_ILS].w = BUILDING_ILS_W; + GameBuildingData[BUILDING_ILS].h = BUILDING_ILS_H; - // BUILDING_HANGAR coordinates inside tile. - GameBuildingData[BUILDING_HANGAR].IsoPos.x = BUILDING_HANGAR_OFFSET_X; - GameBuildingData[BUILDING_HANGAR].IsoPos.y = BUILDING_HANGAR_OFFSET_Y; - // z coordinate set to 0 by default. - GameBuildingData[BUILDING_HANGAR].orig_x = BUILDING_HANGAR_ORIGIN_X; - GameBuildingData[BUILDING_HANGAR].orig_y = BUILDING_HANGAR_ORIGIN_Y; - GameBuildingData[BUILDING_HANGAR].u = BUILDING_HANGAR_U; - GameBuildingData[BUILDING_HANGAR].v = BUILDING_HANGAR_V; - GameBuildingData[BUILDING_HANGAR].w = BUILDING_HANGAR_W; - GameBuildingData[BUILDING_HANGAR].h = BUILDING_HANGAR_H; + // BUILDING_HANGAR coordinates inside tile. + GameBuildingData[BUILDING_HANGAR].IsoPos.x = BUILDING_HANGAR_OFFSET_X; + GameBuildingData[BUILDING_HANGAR].IsoPos.y = BUILDING_HANGAR_OFFSET_Y; + // z coordinate set to 0 by default. + GameBuildingData[BUILDING_HANGAR].orig_x = BUILDING_HANGAR_ORIGIN_X; + GameBuildingData[BUILDING_HANGAR].orig_y = BUILDING_HANGAR_ORIGIN_Y; + GameBuildingData[BUILDING_HANGAR].u = BUILDING_HANGAR_U; + GameBuildingData[BUILDING_HANGAR].v = BUILDING_HANGAR_V; + GameBuildingData[BUILDING_HANGAR].w = BUILDING_HANGAR_W; + GameBuildingData[BUILDING_HANGAR].h = BUILDING_HANGAR_H; - // BUILDING_ATC_TOWER coordinates inside tile. - GameBuildingData[BUILDING_ATC_TOWER].IsoPos.x = BUILDING_ATC_TOWER_OFFSET_X; - GameBuildingData[BUILDING_ATC_TOWER].IsoPos.y = BUILDING_ATC_TOWER_OFFSET_Y; - // z coordinate set to 0 by default. - GameBuildingData[BUILDING_ATC_TOWER].orig_x = BUILDING_ATC_TOWER_ORIGIN_X; - GameBuildingData[BUILDING_ATC_TOWER].orig_y = BUILDING_ATC_TOWER_ORIGIN_Y; - GameBuildingData[BUILDING_ATC_TOWER].u = BUILDING_ATC_TOWER_U; - GameBuildingData[BUILDING_ATC_TOWER].v = BUILDING_ATC_TOWER_V; - GameBuildingData[BUILDING_ATC_TOWER].w = BUILDING_ATC_TOWER_W; - GameBuildingData[BUILDING_ATC_TOWER].h = BUILDING_ATC_TOWER_H; + // BUILDING_ATC_TOWER coordinates inside tile. + GameBuildingData[BUILDING_ATC_TOWER].IsoPos.x = BUILDING_ATC_TOWER_OFFSET_X; + GameBuildingData[BUILDING_ATC_TOWER].IsoPos.y = BUILDING_ATC_TOWER_OFFSET_Y; + // z coordinate set to 0 by default. + GameBuildingData[BUILDING_ATC_TOWER].orig_x = BUILDING_ATC_TOWER_ORIGIN_X; + GameBuildingData[BUILDING_ATC_TOWER].orig_y = BUILDING_ATC_TOWER_ORIGIN_Y; + GameBuildingData[BUILDING_ATC_TOWER].u = BUILDING_ATC_TOWER_U; + GameBuildingData[BUILDING_ATC_TOWER].v = BUILDING_ATC_TOWER_V; + GameBuildingData[BUILDING_ATC_TOWER].w = BUILDING_ATC_TOWER_W; + GameBuildingData[BUILDING_ATC_TOWER].h = BUILDING_ATC_TOWER_H; - // BUILDING_GATE coordinates inside tile. - GameBuildingData[BUILDING_GATE].IsoPos.x = BUILDING_GATE_OFFSET_X; - GameBuildingData[BUILDING_GATE].IsoPos.y = BUILDING_GATE_OFFSET_Y; - // z coordinate set to 0 by default. + // BUILDING_GATE coordinates inside tile. + GameBuildingData[BUILDING_GATE].IsoPos.x = BUILDING_GATE_OFFSET_X; + GameBuildingData[BUILDING_GATE].IsoPos.y = BUILDING_GATE_OFFSET_Y; + // z coordinate set to 0 by default. - /*BUILDING_ILS, - BUILDING_ATC_TOWER, - BUILDING_ATC_LOC, - BUILDING_TERMINAL, - BUILDING_TERMINAL_2, - BUILDING_GATE,*/ + /*BUILDING_ILS, + BUILDING_ATC_TOWER, + BUILDING_ATC_LOC, + BUILDING_TERMINAL, + BUILDING_TERMINAL_2, + BUILDING_GATE,*/ } /* *************************************************************************************** @@ -711,10 +729,10 @@ void GameBuildingsInit(void) void GameEmergencyMode(void) { - uint8_t i; - uint8_t disconnected_players = 0x00; - bool (*PadXConnected[MAX_PLAYERS])(void) = { [PLAYER_ONE] = &PadOneConnected, - [PLAYER_TWO] = &PadTwoConnected }; + uint8_t i; + uint8_t disconnected_players = 0x00; + bool (*PadXConnected[MAX_PLAYERS])(void) = { [PLAYER_ONE] = &PadOneConnected, + [PLAYER_TWO] = &PadTwoConnected }; enum { @@ -729,66 +747,66 @@ void GameEmergencyMode(void) ERROR_RECT_B = NORMAL_LUMINANCE }; - enum - { - PAD_DISCONNECTED_TEXT_X = 48, - PAD_DISCONNECTED_TEXT_Y = 48, - PAD_DISCONNECTED_TEXT_Y_OFFSET_BITSHIFT = 5 - }; + enum + { + PAD_DISCONNECTED_TEXT_X = 48, + PAD_DISCONNECTED_TEXT_Y = 48, + PAD_DISCONNECTED_TEXT_Y_OFFSET_BITSHIFT = 5 + }; do { - bool enabled = false; + bool enabled = false; - GsRectangle errorRct = {.x = ERROR_RECT_X, - .w = ERROR_RECT_W, - .y = ERROR_RECT_Y, - .h = ERROR_RECT_H, - .r = ERROR_RECT_R, - .g = ERROR_RECT_G, - .b = ERROR_RECT_B }; + GsRectangle errorRct = {.x = ERROR_RECT_X, + .w = ERROR_RECT_W, + .y = ERROR_RECT_Y, + .h = ERROR_RECT_H, + .r = ERROR_RECT_R, + .g = ERROR_RECT_G, + .b = ERROR_RECT_B }; - if (SystemGetEmergencyMode() != false) - { - // One of the pads has been disconnected during gameplay - // Show an error screen until it is disconnected again. + if (SystemGetEmergencyMode() != false) + { + // One of the pads has been disconnected during gameplay + // Show an error screen until it is disconnected again. - GsSortCls(0,0,0); - GsSortRectangle(&errorRct); + GsSortCls(0,0,0); + GsSortRectangle(&errorRct); - for (i = 0; i < MAX_PLAYERS; i++) - { - if (disconnected_players & (1<Active != false) - { - if (PadXConnected[i]() == false) - { - enabled = true; - disconnected_players |= 1<Active != false) + { + if (PadXConnected[i]() == false) + { + enabled = true; + disconnected_players |= 1<InvalidPath = false; // Do the same thing for "InvalidPath". - // Recalculate ptrPlayer->SelectedAircraft. In case new aircraft appear, we may be pointing - // to a incorrect instance. - GameActiveAircraftList(ptrPlayer, ptrFlightData); + // Recalculate ptrPlayer->SelectedAircraft. In case new aircraft appear, we may be pointing + // to a incorrect instance. + GameActiveAircraftList(ptrPlayer, ptrFlightData); if (GameAircraftCollisionFlag != false) { @@ -988,28 +1006,28 @@ void GameClock(void) void GameClockFlights(uint8_t i) { - if (System1SecondTick() != false) - { - if ( (FlightData.Minutes[i] == 0) - && - (FlightData.Hours[i] > 0) ) - { - FlightData.Minutes[i] = 60; - FlightData.Hours[i]--; - } + if (System1SecondTick() != false) + { + if ( (FlightData.Minutes[i] == 0) + && + (FlightData.Hours[i] > 0) ) + { + FlightData.Minutes[i] = 60; + FlightData.Hours[i]--; + } - if (FlightData.Minutes[i] > 0) - { - FlightData.Minutes[i]--; - } + if (FlightData.Minutes[i] > 0) + { + FlightData.Minutes[i]--; + } - if ( (FlightData.State[i] != STATE_IDLE) - && - (FlightData.RemainingTime[i] > 0) ) - { - FlightData.RemainingTime[i]--; - } - } + if ( (FlightData.State[i] != STATE_IDLE) + && + (FlightData.RemainingTime[i] > 0) ) + { + FlightData.RemainingTime[i]--; + } + } } /* ******************************************************************* @@ -1035,7 +1053,7 @@ void GameGraphics(void) int i; bool split_screen = false; - SystemAcknowledgeFrame(); + SystemAcknowledgeFrame(); while ( (SystemRefreshNeeded() == false) || (GfxIsGPUBusy() != false) ); @@ -1050,13 +1068,13 @@ void GameGraphics(void) GfxIncreaseGlobalLuminance(1); } - //~ GsSortCls(0,0,GfxGetGlobalLuminance() >> 1); + //~ GsSortCls(0,0,GfxGetGlobalLuminance() >> 1); - while (GsIsDrawing()); + while (GsIsDrawing()); for (i = 0; i < MAX_PLAYERS ; i++) { - TYPE_PLAYER* ptrPlayer = &PlayerData[i]; + TYPE_PLAYER* ptrPlayer = &PlayerData[i]; if (ptrPlayer->Active != false) { @@ -1069,18 +1087,18 @@ void GameGraphics(void) // only if 2-player mode is active. Else, render // the whole screen as usual. - // Render background first. + // Render background first. - GameDrawBackground(ptrPlayer); + GameDrawBackground(ptrPlayer); - // Then ground tiles must be rendered. + // Then ground tiles must be rendered. GameRenderLevel(ptrPlayer); - // Ground tiles are now rendered. Now, depending on building/aircraft - // positions, determine in what order they should be rendered. + // Ground tiles are now rendered. Now, depending on building/aircraft + // positions, determine in what order they should be rendered. - GameRenderBuildingAircraft(ptrPlayer); + GameRenderBuildingAircraft(ptrPlayer); GameGuiAircraftList(ptrPlayer, &FlightData); @@ -1088,11 +1106,11 @@ void GameGraphics(void) GameGuiDrawUnboardingSequence(ptrPlayer); - if (split_screen != false) - { - GfxDrawScene_NoSwap(); - while (GfxIsGPUBusy() != false); - } + if (split_screen != false) + { + GfxDrawScene_NoSwap(); + while (GfxIsGPUBusy() != false); + } } } @@ -1111,12 +1129,12 @@ void GameGraphics(void) GameGuiShowScore(); - if (split_screen != false) - { - GfxDrawScene_NoSwap(); - } + if (split_screen != false) + { + GfxDrawScene_NoSwap(); + } - GfxDrawScene(); + GfxDrawScene(); } /* ******************************************************************* @@ -1135,85 +1153,85 @@ void GameGraphics(void) void GameDrawBackground(TYPE_PLAYER* ptrPlayer) { - enum - { - BG_POLY4_R0 = 0, - BG_POLY4_G0 = BG_POLY4_R0, - BG_POLY4_B0 = BG_POLY4_R0, + enum + { + BG_POLY4_R0 = 0, + BG_POLY4_G0 = BG_POLY4_R0, + BG_POLY4_B0 = BG_POLY4_R0, - BG_POLY4_R1 = BG_POLY4_R0, - BG_POLY4_G1 = BG_POLY4_R1, - BG_POLY4_B1 = BG_POLY4_R1, + BG_POLY4_R1 = BG_POLY4_R0, + BG_POLY4_G1 = BG_POLY4_R1, + BG_POLY4_B1 = BG_POLY4_R1, - BG_POLY4_R2 = 40, - BG_POLY4_G2 = BG_POLY4_R2, - BG_POLY4_B2 = BG_POLY4_R2, + BG_POLY4_R2 = 40, + BG_POLY4_G2 = BG_POLY4_R2, + BG_POLY4_B2 = BG_POLY4_R2, - BG_POLY4_R3 = BG_POLY4_R2, - BG_POLY4_G3 = BG_POLY4_R3, - BG_POLY4_B3 = BG_POLY4_R3, - }; + BG_POLY4_R3 = BG_POLY4_R2, + BG_POLY4_G3 = BG_POLY4_R3, + BG_POLY4_B3 = BG_POLY4_R3, + }; - enum - { - CITY_BG_X = 0, - CITY_BG_Y = Y_SCREEN_RESOLUTION >> 1, + enum + { + CITY_BG_X = 0, + CITY_BG_Y = Y_SCREEN_RESOLUTION >> 1, - CITY_BG_R = 40, - CITY_BG_G = 40, - CITY_BG_B = 40, - }; + CITY_BG_R = 40, + CITY_BG_G = 40, + CITY_BG_B = 40, + }; - GsGPoly4 BgPoly4 = {.x[0] = 0, - .x[1] = X_SCREEN_RESOLUTION, - .x[2] = 0, - .x[3] = X_SCREEN_RESOLUTION, + GsGPoly4 BgPoly4 = {.x[0] = 0, + .x[1] = X_SCREEN_RESOLUTION, + .x[2] = 0, + .x[3] = X_SCREEN_RESOLUTION, - .y[0] = 0, - .y[1] = 0, - .y[2] = Y_SCREEN_RESOLUTION, - .y[3] = Y_SCREEN_RESOLUTION, + .y[0] = 0, + .y[1] = 0, + .y[2] = Y_SCREEN_RESOLUTION, + .y[3] = Y_SCREEN_RESOLUTION, - .r[0] = BG_POLY4_R0, - .g[0] = BG_POLY4_G0, - .b[0] = BG_POLY4_B0, + .r[0] = BG_POLY4_R0, + .g[0] = BG_POLY4_G0, + .b[0] = BG_POLY4_B0, - .r[1] = BG_POLY4_R1, - .g[1] = BG_POLY4_G1, - .b[1] = BG_POLY4_B1, + .r[1] = BG_POLY4_R1, + .g[1] = BG_POLY4_G1, + .b[1] = BG_POLY4_B1, - .r[2] = BG_POLY4_R2, - .g[2] = BG_POLY4_G2, - .b[2] = BG_POLY4_B2, + .r[2] = BG_POLY4_R2, + .g[2] = BG_POLY4_G2, + .b[2] = BG_POLY4_B2, - .r[3] = BG_POLY4_R3, - .g[3] = BG_POLY4_G3, - .b[3] = BG_POLY4_B3 }; + .r[3] = BG_POLY4_R3, + .g[3] = BG_POLY4_G3, + .b[3] = BG_POLY4_B3 }; - short x; - bool reverse = false; + short x; + bool reverse = false; - GsSortGPoly4(&BgPoly4); + GsSortGPoly4(&BgPoly4); - for (x = CITY_BG_X; x < X_SCREEN_RESOLUTION; x += CityBg1Spr.w) - { - CityBg1Spr.x = x; - CityBg1Spr.y = CITY_BG_Y; + for (x = CITY_BG_X; x < X_SCREEN_RESOLUTION; x += CityBg1Spr.w) + { + CityBg1Spr.x = x; + CityBg1Spr.y = CITY_BG_Y; - CityBg1Spr.r = CITY_BG_R; - CityBg1Spr.g = CITY_BG_G; - CityBg1Spr.b = CITY_BG_B; + CityBg1Spr.r = CITY_BG_R; + CityBg1Spr.g = CITY_BG_G; + CityBg1Spr.b = CITY_BG_B; - CityBg1Spr.attribute = reverse? CityBg1Spr.attribute | H_FLIP : CityBg1Spr.attribute & ~(H_FLIP); - reverse = reverse? true: false; // Revert "reverse" flag. + CityBg1Spr.attribute = reverse? CityBg1Spr.attribute | H_FLIP : CityBg1Spr.attribute & ~(H_FLIP); + reverse = reverse? true: false; // Revert "reverse" flag. - CameraApplyCoordinatesToSprite(ptrPlayer, &CityBg1Spr); + CameraApplyCoordinatesToSprite(ptrPlayer, &CityBg1Spr); - // Restore original Y value. - CityBg1Spr.y = CITY_BG_Y; + // Restore original Y value. + CityBg1Spr.y = CITY_BG_Y; - GfxSortSprite(&CityBg1Spr); - } + GfxSortSprite(&CityBg1Spr); + } } /* ******************************************************************* @@ -1236,158 +1254,158 @@ void GameDrawBackground(TYPE_PLAYER* ptrPlayer) void GameRenderBuildingAircraft(TYPE_PLAYER* ptrPlayer) { - uint8_t tileNr; - uint8_t rows = 0; - uint8_t columns = 0; - uint8_t k; + uint16_t tileNr; + uint8_t rows = 0; + uint8_t columns = 0; + uint8_t k; - for (tileNr = 0; tileNr < GameLevelSize; tileNr++) - { - // Building data is stored in GameLevelBuffer MSB. LSB is dedicated to tile data. - uint8_t CurrentBuilding = (uint8_t)(GameLevelBuffer[tileNr] >> 8); - uint8_t j; - uint8_t AircraftRenderOrder[GAME_MAX_AIRCRAFT_PER_TILE]; - short Aircraft_Y_Data[GAME_MAX_AIRCRAFT_PER_TILE]; + for (tileNr = 0; tileNr < GameLevelSize; tileNr++) + { + // Building data is stored in GameLevelBuffer MSB. LSB is dedicated to tile data. + uint8_t CurrentBuilding = (uint8_t)(GameLevelBuffer[tileNr] >> 8); + uint8_t j; + uint8_t AircraftRenderOrder[GAME_MAX_AIRCRAFT_PER_TILE]; + short Aircraft_Y_Data[GAME_MAX_AIRCRAFT_PER_TILE]; - memset(AircraftRenderOrder, FLIGHT_DATA_INVALID_IDX, sizeof(AircraftRenderOrder) ); + memset(AircraftRenderOrder, FLIGHT_DATA_INVALID_IDX, sizeof(AircraftRenderOrder) ); - for (j = 0; j < GAME_MAX_AIRCRAFT_PER_TILE; j++) - { - // Fill with 0x7FFF (maximum 16-bit positive value). - Aircraft_Y_Data[j] = 0x7FFF; - } + for (j = 0; j < GAME_MAX_AIRCRAFT_PER_TILE; j++) + { + // Fill with 0x7FFF (maximum 16-bit positive value). + Aircraft_Y_Data[j] = 0x7FFF; + } - //memset(Aircraft_Y_Data, 0x7F, GAME_MAX_AIRCRAFT_PER_TILE * sizeof(short)); + //memset(Aircraft_Y_Data, 0x7F, GAME_MAX_AIRCRAFT_PER_TILE * sizeof(short)); - for (j = 0; j < GAME_MAX_AIRCRAFT_PER_TILE; j++) - { - uint8_t AircraftIdx = GameAircraftTilemap[tileNr][j]; + for (j = 0; j < GAME_MAX_AIRCRAFT_PER_TILE; j++) + { + uint8_t AircraftIdx = GameAircraftTilemap[tileNr][j]; - TYPE_ISOMETRIC_POS aircraftIsoPos = AircraftGetIsoPos(AircraftIdx); + TYPE_ISOMETRIC_POS aircraftIsoPos = AircraftGetIsoPos(AircraftIdx); - if (AircraftIdx == FLIGHT_DATA_INVALID_IDX) - { - // No more aircraft on this tile. - break; - } + if (AircraftIdx == FLIGHT_DATA_INVALID_IDX) + { + // No more aircraft on this tile. + break; + } - //DEBUG_PRINT_VAR(aircraftIsoPos.y); + //DEBUG_PRINT_VAR(aircraftIsoPos.y); - for (k = 0; k < GAME_MAX_AIRCRAFT_PER_TILE; k++) - { - if (aircraftIsoPos.y < Aircraft_Y_Data[k]) - { - uint8_t idx; + for (k = 0; k < GAME_MAX_AIRCRAFT_PER_TILE; k++) + { + if (aircraftIsoPos.y < Aircraft_Y_Data[k]) + { + uint8_t idx; - for (idx = k; idx < (GAME_MAX_AIRCRAFT_PER_TILE - 1); idx++) - { - // Move previous Y values to the right. - Aircraft_Y_Data[idx + 1] = Aircraft_Y_Data[idx]; - AircraftRenderOrder[idx + 1] = AircraftRenderOrder[idx]; - } + for (idx = k; idx < (GAME_MAX_AIRCRAFT_PER_TILE - 1); idx++) + { + // Move previous Y values to the right. + Aircraft_Y_Data[idx + 1] = Aircraft_Y_Data[idx]; + AircraftRenderOrder[idx + 1] = AircraftRenderOrder[idx]; + } - Aircraft_Y_Data[k] = aircraftIsoPos.y; - AircraftRenderOrder[k] = AircraftIdx; + Aircraft_Y_Data[k] = aircraftIsoPos.y; + AircraftRenderOrder[k] = AircraftIdx; - break; - } - } + break; + } + } - /*for (k = 0; k < GAME_MAX_AIRCRAFT_PER_TILE; k++) - { - Serial_printf("Aircraft_Y_Data[%d] = %d\n", k, Aircraft_Y_Data[k]); - Serial_printf("AircraftRenderOrder[%d] = %d\n", k, AircraftRenderOrder[k]); - }*/ - } + /*for (k = 0; k < GAME_MAX_AIRCRAFT_PER_TILE; k++) + { + Serial_printf("Aircraft_Y_Data[%d] = %d\n", k, Aircraft_Y_Data[k]); + Serial_printf("AircraftRenderOrder[%d] = %d\n", k, AircraftRenderOrder[k]); + }*/ + } - if (CurrentBuilding == BUILDING_NONE) - { - for (k = 0; k < GAME_MAX_AIRCRAFT_PER_TILE; k++) - { - AircraftRender(ptrPlayer, AircraftRenderOrder[k]); - } - } - else - { - // Determine rendering order depending on Y value. - short x_bldg_offset = GameBuildingData[CurrentBuilding].IsoPos.x; - short y_bldg_offset = GameBuildingData[CurrentBuilding].IsoPos.y; - short z_bldg_offset = GameBuildingData[CurrentBuilding].IsoPos.z; - short orig_u = GameBuildingSpr.u; - short orig_v = GameBuildingSpr.v; + if (CurrentBuilding == BUILDING_NONE) + { + for (k = 0; k < GAME_MAX_AIRCRAFT_PER_TILE; k++) + { + AircraftRender(ptrPlayer, AircraftRenderOrder[k]); + } + } + else + { + // Determine rendering order depending on Y value. + short x_bldg_offset = GameBuildingData[CurrentBuilding].IsoPos.x; + short y_bldg_offset = GameBuildingData[CurrentBuilding].IsoPos.y; + short z_bldg_offset = GameBuildingData[CurrentBuilding].IsoPos.z; + short orig_u = GameBuildingSpr.u; + short orig_v = GameBuildingSpr.v; - TYPE_ISOMETRIC_POS buildingIsoPos = { .x = (columns << (TILE_SIZE_BIT_SHIFT)) + x_bldg_offset, - .y = (rows << (TILE_SIZE_BIT_SHIFT)) + y_bldg_offset, - .z = z_bldg_offset }; + TYPE_ISOMETRIC_POS buildingIsoPos = { .x = (columns << (TILE_SIZE_BIT_SHIFT)) + x_bldg_offset, + .y = (rows << (TILE_SIZE_BIT_SHIFT)) + y_bldg_offset, + .z = z_bldg_offset }; - // Isometric -> Cartesian conversion - //buildingIsoPos.x = (columns << (TILE_SIZE_BIT_SHIFT)) + x_bldg_offset; - //buildingIsoPos.y = (rows << (TILE_SIZE_BIT_SHIFT)) + y_bldg_offset; - //buildingIsoPos.z = z_bldg_offset; + // Isometric -> Cartesian conversion + //buildingIsoPos.x = (columns << (TILE_SIZE_BIT_SHIFT)) + x_bldg_offset; + //buildingIsoPos.y = (rows << (TILE_SIZE_BIT_SHIFT)) + y_bldg_offset; + //buildingIsoPos.z = z_bldg_offset; - TYPE_CARTESIAN_POS buildingCartPos = GfxIsometricToCartesian(&buildingIsoPos); - bool buildingDrawn = false; + TYPE_CARTESIAN_POS buildingCartPos = GfxIsometricToCartesian(&buildingIsoPos); + bool buildingDrawn = false; - // Define new coordinates for building. + // Define new coordinates for building. - GameBuildingSpr.x = buildingCartPos.x - GameBuildingData[CurrentBuilding].orig_x; - GameBuildingSpr.y = buildingCartPos.y - GameBuildingData[CurrentBuilding].orig_y; + GameBuildingSpr.x = buildingCartPos.x - GameBuildingData[CurrentBuilding].orig_x; + GameBuildingSpr.y = buildingCartPos.y - GameBuildingData[CurrentBuilding].orig_y; - GameBuildingSpr.u = orig_u + GameBuildingData[CurrentBuilding].u; - GameBuildingSpr.v = orig_v + GameBuildingData[CurrentBuilding].v; - GameBuildingSpr.w = GameBuildingData[CurrentBuilding].w; - GameBuildingSpr.h = GameBuildingData[CurrentBuilding].h; + GameBuildingSpr.u = orig_u + GameBuildingData[CurrentBuilding].u; + GameBuildingSpr.v = orig_v + GameBuildingData[CurrentBuilding].v; + GameBuildingSpr.w = GameBuildingData[CurrentBuilding].w; + GameBuildingSpr.h = GameBuildingData[CurrentBuilding].h; - CameraApplyCoordinatesToSprite(ptrPlayer, &GameBuildingSpr); + CameraApplyCoordinatesToSprite(ptrPlayer, &GameBuildingSpr); - for (k = 0; k < GAME_MAX_AIRCRAFT_PER_TILE; k++) - { - if (AircraftRenderOrder[k] == FLIGHT_DATA_INVALID_IDX) - { - if (buildingDrawn == false) - { - GfxSortSprite(&GameBuildingSpr); + for (k = 0; k < GAME_MAX_AIRCRAFT_PER_TILE; k++) + { + if (AircraftRenderOrder[k] == FLIGHT_DATA_INVALID_IDX) + { + if (buildingDrawn == false) + { + GfxSortSprite(&GameBuildingSpr); - GameBuildingSpr.u = orig_u; - GameBuildingSpr.v = orig_v; + GameBuildingSpr.u = orig_u; + GameBuildingSpr.v = orig_v; - buildingDrawn = true; - } + buildingDrawn = true; + } - break; - } + break; + } - if (Aircraft_Y_Data[k] < buildingIsoPos.y) - { - AircraftRender(ptrPlayer, AircraftRenderOrder[k]); - } - else - { - if (buildingDrawn == false) - { - GfxSortSprite(&GameBuildingSpr); + if (Aircraft_Y_Data[k] < buildingIsoPos.y) + { + AircraftRender(ptrPlayer, AircraftRenderOrder[k]); + } + else + { + if (buildingDrawn == false) + { + GfxSortSprite(&GameBuildingSpr); - GameBuildingSpr.u = orig_u; - GameBuildingSpr.v = orig_v; + GameBuildingSpr.u = orig_u; + GameBuildingSpr.v = orig_v; - buildingDrawn = true; - } + buildingDrawn = true; + } - AircraftRender(ptrPlayer, AircraftRenderOrder[k]); - } - } - } + AircraftRender(ptrPlayer, AircraftRenderOrder[k]); + } + } + } - if (columns < (GameLevelColumns - 1) ) - { - columns++; - } - else - { - rows++; - columns = 0; - } - } + if (columns < (GameLevelColumns - 1) ) + { + columns++; + } + else + { + rows++; + columns = 0; + } + } } /* ******************************************************************* @@ -1447,8 +1465,8 @@ void GameLoadLevel(void) Serial_printf("Level size: %d\n",GameLevelColumns); if ( (GameLevelColumns < MIN_MAP_COLUMNS) - || - (GameLevelColumns > MAX_MAP_COLUMNS) ) + || + (GameLevelColumns > MAX_MAP_COLUMNS) ) { Serial_printf("Invalid map size! Value: %d\n",GameLevelColumns); return; @@ -1462,9 +1480,11 @@ void GameLoadLevel(void) Serial_printf("Game level title: %s\n",GameLevelTitle); + DEBUG_PRINT_VAR(GameLevelSize); + i += LEVEL_TITLE_SIZE; - memset(GameLevelBuffer,0,GAME_MAX_MAP_SIZE); + memset(GameLevelBuffer, 0, GAME_MAX_MAP_SIZE); i = LEVEL_HEADER_SIZE; @@ -1497,86 +1517,86 @@ void GameAircraftState(uint8_t i) // is just the NULL character. // Not an ideal solution, but the best one currently available. - if (FlightData.Finished[i] == false) - { - if ( (FlightData.Hours[i] == 0) - && - (FlightData.Minutes[i] == 0) - && - (FlightData.State[i] == STATE_IDLE) - && - (FlightData.RemainingTime[i] > 0) - && - (spawnMinTimeFlag == false) ) - { - if ( (FlightData.FlightDirection[i] == DEPARTURE) - && - (FlightData.Parking[i] != 0) ) - { - uint8_t j; - bool bParkingBusy = false; + if (FlightData.Finished[i] == false) + { + if ( (FlightData.Hours[i] == 0) + && + (FlightData.Minutes[i] == 0) + && + (FlightData.State[i] == STATE_IDLE) + && + (FlightData.RemainingTime[i] > 0) + && + (spawnMinTimeFlag == false) ) + { + if ( (FlightData.FlightDirection[i] == DEPARTURE) + && + (FlightData.Parking[i] != 0) ) + { + uint8_t j; + bool bParkingBusy = false; - for (j = 0; j < FlightData.nAircraft; j++) - { - if (AircraftFromFlightDataIndex(j)->State != STATE_IDLE) - { - uint16_t tile = AircraftGetTileFromFlightDataIndex(j); - uint16_t* targets = AircraftGetTargets(j); + for (j = 0; j < FlightData.nAircraft; j++) + { + if (AircraftFromFlightDataIndex(j)->State != STATE_IDLE) + { + uint16_t tile = AircraftGetTileFromFlightDataIndex(j); + uint16_t* targets = AircraftGetTargets(j); - if (tile == FlightData.Parking[i]) - { - bParkingBusy = true; - } + if (tile == FlightData.Parking[i]) + { + bParkingBusy = true; + } - if (SystemContains_u16(FlightData.Parking[i], targets, AIRCRAFT_MAX_TARGETS) != false) - { - bParkingBusy = true; - } - } - } + if (SystemContains_u16(FlightData.Parking[i], targets, AIRCRAFT_MAX_TARGETS) != false) + { + bParkingBusy = true; + } + } + } - if (bParkingBusy == false) - { - FlightData.State[i] = STATE_PARKED; + if (bParkingBusy == false) + { + FlightData.State[i] = STATE_PARKED; - GameAircraftCreatedFlag = true; + GameAircraftCreatedFlag = true; - // Create notification request for incoming aircraft - GameGuiBubbleShow(); + // Create notification request for incoming aircraft + GameGuiBubbleShow(); - target[0] = FlightData.Parking[i]; + target[0] = FlightData.Parking[i]; - Serial_printf("Target assigned = %d\n", target[0]); + Serial_printf("Target assigned = %d\n", target[0]); - if (AircraftAddNew(&FlightData, i, target) == false) - { - Serial_printf("Exceeded maximum aircraft number!\n"); - return; - } - } - } - else if (FlightData.FlightDirection[i] == ARRIVAL) - { - Serial_printf("Flight %d set to STATE_APPROACH.\n", i); - FlightData.State[i] = STATE_APPROACH; - GameAircraftCreatedFlag = true; + if (AircraftAddNew(&FlightData, i, target) == false) + { + Serial_printf("Exceeded maximum aircraft number!\n"); + return; + } + } + } + else if (FlightData.FlightDirection[i] == ARRIVAL) + { + Serial_printf("Flight %d set to STATE_APPROACH.\n", i); + FlightData.State[i] = STATE_APPROACH; + GameAircraftCreatedFlag = true; - SfxPlaySound(&ApproachSnds[SystemRand(SOUND_M1_INDEX, MAX_RADIO_CHATTER_SOUNDS - 1)]); + SfxPlaySound(&ApproachSnds[SystemRand(SOUND_M1_INDEX, MAX_RADIO_CHATTER_SOUNDS - 1)]); - // Create notification request for incoming aircraft - GameGuiBubbleShow(); - } - } + // Create notification request for incoming aircraft + GameGuiBubbleShow(); + } + } - if ( (FlightData.State[i] != STATE_IDLE) - && - (FlightData.RemainingTime[i] == 0) ) - { - // Player(s) lost a flight! - GameRemoveFlight(i, false); - dprintf("Flight %d lost\n", i); - } - } + if ( (FlightData.State[i] != STATE_IDLE) + && + (FlightData.RemainingTime[i] == 0) ) + { + // Player(s) lost a flight! + GameRemoveFlight(i, false); + dprintf("Flight %d lost\n", i); + } + } } /* ****************************************************************************************** @@ -1612,8 +1632,8 @@ void GameRenderLevel(TYPE_PLAYER* ptrPlayer) TYPE_ISOMETRIC_POS tileIsoPos; TYPE_CARTESIAN_POS tileCartPos; - //uint16_t init_timer_value = 0; - //uint16_t end_timer_value = 0; + //uint16_t init_timer_value = 0; + //uint16_t end_timer_value = 0; // Prepare runway to be painted in blue if player is on runway selection mode if (ptrPlayer->SelectRunway != false) @@ -1642,11 +1662,11 @@ void GameRenderLevel(TYPE_PLAYER* ptrPlayer) // | | | | | | | | | | V Tile, bit 4 // | | | | V Tile, bit 5 // | | V Tile, bit 6 - // | Tile mirror flag + // | Tile mirror flag uint8_t CurrentTile = (uint8_t)(GameLevelBuffer[i] & 0x00FF); - // Isometric -> Cartesian conversion + // Isometric -> Cartesian conversion tileIsoPos.x = columns << (TILE_SIZE_BIT_SHIFT); tileIsoPos.y = rows << (TILE_SIZE_BIT_SHIFT); tileIsoPos.z = 0; @@ -1692,16 +1712,16 @@ void GameRenderLevel(TYPE_PLAYER* ptrPlayer) ptrTileset->w = TILE_SIZE; ptrTileset->h = TILE_SIZE_H; - ptrTileset->x = tileCartPos.x; + ptrTileset->x = tileCartPos.x; ptrTileset->y = tileCartPos.y; // Set coordinate origin to left upper corner ptrTileset->x -= TILE_SIZE >> 1; //ptrTileset->y -= TILE_SIZE_H >> 2; - CameraApplyCoordinatesToSprite(ptrPlayer, ptrTileset); + CameraApplyCoordinatesToSprite(ptrPlayer, ptrTileset); - if (columns < (GameLevelColumns - 1) ) + if (columns < (GameLevelColumns - 1) ) { columns++; } @@ -1711,10 +1731,10 @@ void GameRenderLevel(TYPE_PLAYER* ptrPlayer) columns = 0; } - if (GfxIsSpriteInsideScreenArea(ptrTileset) == false) - { - continue; - } + if (GfxIsSpriteInsideScreenArea(ptrTileset) == false) + { + continue; + } ptrTileset->r = NORMAL_LUMINANCE; ptrTileset->g = NORMAL_LUMINANCE; @@ -1771,9 +1791,9 @@ void GameRenderLevel(TYPE_PLAYER* ptrPlayer) || (CurrentTile == TILE_RWY_HOLDING_POINT_2) ) ) { - ptrTileset->r = NORMAL_LUMINANCE >> 2; - ptrTileset->g = rwy_sine; - ptrTileset->b = NORMAL_LUMINANCE >> 2; + ptrTileset->r = NORMAL_LUMINANCE >> 2; + ptrTileset->g = rwy_sine; + ptrTileset->b = NORMAL_LUMINANCE >> 2; } else if ( (ptrPlayer->SelectTaxiwayParking != false) && @@ -1781,13 +1801,9 @@ void GameRenderLevel(TYPE_PLAYER* ptrPlayer) || (CurrentTile == TILE_PARKING_2) ) ) { - //init_timer_value = GetRCnt(2); - - //end_timer_value = GetRCnt(2); - - ptrTileset->r = NORMAL_LUMINANCE >> 2; - ptrTileset->g = rwy_sine; - ptrTileset->b = NORMAL_LUMINANCE >> 2; + ptrTileset->r = NORMAL_LUMINANCE >> 2; + ptrTileset->g = rwy_sine; + ptrTileset->b = NORMAL_LUMINANCE >> 2; } } @@ -1821,11 +1837,11 @@ void GameRenderLevel(TYPE_PLAYER* ptrPlayer) } } - /*dprintf("GameRenderLevel execution time = %d\t" - "end_timer_value = 0x%04X\tinit_timer_value = 0x%04X\n", - end_timer_value - init_timer_value, - end_timer_value, - init_timer_value );*/ + /*dprintf("GameRenderLevel execution time = %d\t" + "end_timer_value = 0x%04X\tinit_timer_value = 0x%04X\n", + end_timer_value - init_timer_value, + end_timer_value, + init_timer_value );*/ } /* ******************************************************************* @@ -1871,17 +1887,17 @@ void GameSetTime(uint8_t hour, uint8_t minutes) void GameActiveAircraft(uint8_t i) { - // Reset iterator when i == 0. + // Reset iterator when i == 0. - if (i == 0) - { - FlightData.ActiveAircraft = 0; - } + if (i == 0) + { + FlightData.ActiveAircraft = 0; + } - if (FlightData.State[i] != STATE_IDLE) - { - FlightData.ActiveAircraft++; - } + if (FlightData.State[i] != STATE_IDLE) + { + FlightData.ActiveAircraft++; + } } /* ****************************************************************************************** @@ -1956,10 +1972,10 @@ void GameStateLockTarget(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightData if (ptrPlayer->LockTarget != false) { - if (ptrPlayer->LockedAircraft != FLIGHT_DATA_INVALID_IDX) - { - CameraMoveToIsoPos(ptrPlayer, AircraftGetIsoPos(ptrPlayer->LockedAircraft) ); - } + if (ptrPlayer->LockedAircraft != FLIGHT_DATA_INVALID_IDX) + { + CameraMoveToIsoPos(ptrPlayer, AircraftGetIsoPos(ptrPlayer->LockedAircraft) ); + } } if (ptrPlayer->PadKeySinglePress_Callback(PAD_SQUARE) != false) @@ -2064,7 +2080,7 @@ void GameStateSelectTaxiwayRunway(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrF target_tile = GameLevelBuffer[ptrPlayer->Waypoints[ptrPlayer->LastWaypointIdx]]; - SfxPlaySound(&BeepSnd); + SfxPlaySound(&BeepSnd); switch(target_tile) { @@ -2179,7 +2195,7 @@ void GameStateSelectTaxiwayParking(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptr target_tile, TILE_PARKING); - SfxPlaySound(&BeepSnd); + SfxPlaySound(&BeepSnd); if ( (target_tile == TILE_PARKING) || @@ -2250,7 +2266,7 @@ void GameStateSelectRunway(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightDa ptrPlayer->LockTarget = false; ptrPlayer->LockedAircraft = FLIGHT_DATA_INVALID_IDX; - GameGetSelectedRunwayArray(GameRwy[ptrPlayer->SelectedRunway], ptrPlayer->RwyArray, sizeof(ptrPlayer->RwyArray)); + GameGetSelectedRunwayArray(GameRwy[ptrPlayer->SelectedRunway], ptrPlayer->RwyArray, sizeof(ptrPlayer->RwyArray)); CameraMoveToIsoPos(ptrPlayer, IsoPos); @@ -2329,12 +2345,14 @@ void GameStateSelectRunway(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightDa void GameGetRunwayArray(void) { - uint8_t i; + uint16_t i; uint8_t j = 0; for (i = 0; i < GameLevelSize; i++) { - if (GameLevelBuffer[i] == TILE_RWY_START_1) + uint8_t tileNr = GameLevelBuffer[i] & ~TILE_MIRROR_FLAG; + + if (tileNr == TILE_RWY_START_1) { if (SystemContains_u16(i, GameLevelBuffer, GAME_MAX_RUNWAYS) == false) { @@ -2421,7 +2439,7 @@ void GameSelectAircraftFromList(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFli case STATE_READY_FOR_TAKEOFF: ptrFlightData->State[AircraftIdx] = STATE_TAKEOFF; GameCreateTakeoffWaypoints(ptrPlayer, ptrFlightData, AircraftIdx); - SfxPlaySound(&TakeoffSnd); + SfxPlaySound(&TakeoffSnd); break; case STATE_HOLDING_RWY: @@ -2455,21 +2473,21 @@ void GameSelectAircraftFromList(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFli } } } - else if (ptrPlayer->PadKeySinglePress_Callback(PAD_L1) != false) - { - FL_STATE* ptrAircraftState = &FlightData.State[ptrPlayer->FlightDataSelectedAircraft]; + else if (ptrPlayer->PadKeySinglePress_Callback(PAD_L1) != false) + { + FL_STATE* ptrAircraftState = &FlightData.State[ptrPlayer->FlightDataSelectedAircraft]; - if (*ptrAircraftState == STATE_TAXIING) - { - *ptrAircraftState = STATE_USER_STOPPED; - } - else if ( (*ptrAircraftState == STATE_USER_STOPPED) - || - (*ptrAircraftState == STATE_AUTO_STOPPED) ) - { - *ptrAircraftState = STATE_TAXIING; - } - } + if (*ptrAircraftState == STATE_TAXIING) + { + *ptrAircraftState = STATE_USER_STOPPED; + } + else if ( (*ptrAircraftState == STATE_USER_STOPPED) + || + (*ptrAircraftState == STATE_AUTO_STOPPED) ) + { + *ptrAircraftState = STATE_TAXIING; + } + } } } @@ -2514,14 +2532,14 @@ void GameGetSelectedRunwayArray(uint16_t rwyHeader, uint16_t* rwyArray, size_t s static uint8_t i = 0; static RWY_DIR dir; - if (sz != (GAME_MAX_RWY_LENGTH * sizeof(uint16_t) )) - { - Serial_printf("GameGetSelectedRunwayArray: size %d is different" - " than expected (%d bytes). Returning...\n", - sz, - (GAME_MAX_RWY_LENGTH * sizeof(uint16_t) ) ); - return; - } + if (sz != (GAME_MAX_RWY_LENGTH * sizeof(uint16_t) )) + { + Serial_printf("GameGetSelectedRunwayArray: size %d is different" + " than expected (%d bytes). Returning...\n", + sz, + (GAME_MAX_RWY_LENGTH * sizeof(uint16_t) ) ); + return; + } if (rwyHeader != 0) { @@ -2530,7 +2548,7 @@ void GameGetSelectedRunwayArray(uint16_t rwyHeader, uint16_t* rwyArray, size_t s // a runway header on first tile), it is used to determine // when to start creating the array. - // Part one: determine runway direction and call the function again with rwyHeader == 0. + // Part one: determine runway direction and call the function again with rwyHeader == 0. memset(rwyArray, 0, sz); last_tile = rwyHeader; @@ -2540,23 +2558,27 @@ void GameGetSelectedRunwayArray(uint16_t rwyHeader, uint16_t* rwyArray, size_t s { case TILE_RWY_START_1: dir = RWY_DIR_EAST; - break; + break; case TILE_RWY_START_2: dir = RWY_DIR_WEST; - break; + break; + case TILE_RWY_START_1 | TILE_MIRROR_FLAG: dir = RWY_DIR_SOUTH; + break; + case TILE_RWY_START_2 | TILE_MIRROR_FLAG: dir = RWY_DIR_NORTH; + break; + default: Serial_printf("Unknown direction for tile %d\n",rwyHeader); - return; - break; + return; } } else { - // Part two: append tiles to array until runway end is found. + // Part two: append tiles to array until runway end is found. if ( (GameLevelBuffer[last_tile] == TILE_RWY_START_1) || @@ -2572,11 +2594,11 @@ void GameGetSelectedRunwayArray(uint16_t rwyHeader, uint16_t* rwyArray, size_t s } } - //DEBUG_PRINT_VAR(i); + //DEBUG_PRINT_VAR(i); rwyArray[i++] = last_tile; - //DEBUG_PRINT_VAR(rwyArray[i -1]); + //DEBUG_PRINT_VAR(rwyArray[i -1]); switch(dir) { @@ -2632,7 +2654,16 @@ void GameAssignRunwaytoAircraft(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFli if (ptrFlightData->State[aircraftIndex] == STATE_APPROACH) { - uint16_t rwyArray[GAME_MAX_RWY_LENGTH]; + uint8_t j; + uint16_t rwyArray[GAME_MAX_RWY_LENGTH]; + + // TODO: Algorithm is not correct. If TILE_RWY_EXIT is placed further, + // but returns a match earlier than other rwyExitTiles[], invalid targets + // are returned to aircraft. We should check this before proceeding. + uint8_t rwyExitTiles[] = { TILE_RWY_EXIT, + TILE_RWY_EXIT | TILE_MIRROR_FLAG, + TILE_RWY_EXIT_2, + TILE_RWY_EXIT_2 | TILE_MIRROR_FLAG }; ptrFlightData->State[aircraftIndex] = STATE_FINAL; GameScore += SCORE_REWARD_FINAL; @@ -2642,22 +2673,38 @@ void GameAssignRunwaytoAircraft(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFli for (i = 0; i < GAME_MAX_RWY_LENGTH; i++) { rwyTiles[i] = GameLevelBuffer[rwyArray[i]]; + dprintf("rwyTiles[%d] = 0x%02X\n", i, rwyTiles[i]); } - i = SystemIndexOf_U8((uint8_t)TILE_RWY_EXIT, rwyTiles, 0, GAME_MAX_RWY_LENGTH); + for (j = 0; j < (sizeof(rwyExitTiles) / sizeof(rwyExitTiles[0])); j++) + { + i = SystemIndexOf_U8(rwyExitTiles[j], rwyTiles, 0, GAME_MAX_RWY_LENGTH); + DEBUG_PRINT_VAR(i); + + if (i != -1) + { + dprintf("Success!\n"); + uint8_t nextPos = i + 1; + + for (j = 0; j < (sizeof(rwyExitTiles) / sizeof(rwyExitTiles[0])); j++) + { + i = SystemIndexOf_U8(rwyExitTiles[j], rwyTiles, nextPos, GAME_MAX_RWY_LENGTH); + DEBUG_PRINT_VAR(i); + + if (i != -1) + { + break; + } + } + + break; + } + } if (i == -1) { - Serial_printf("ERROR: Could not find TILE_RWY_EXIT for runway header %d.\n", assignedRwy); - return; - } - - i = SystemIndexOf_U8((uint8_t)TILE_RWY_EXIT, rwyTiles, i + 1, GAME_MAX_RWY_LENGTH); - - if (i == -1) - { - Serial_printf("ERROR: Could not find second TILE_RWY_EXIT for runway header %d.\n", assignedRwy); - return; + Serial_printf("ERROR: Could not find TILE_RWY_EXIT or TILE_RWY_EXIT_2 for runway header %d.\n", assignedRwy); + return; } rwyExit = rwyArray[i]; @@ -2665,7 +2712,7 @@ void GameAssignRunwaytoAircraft(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFli targets[0] = assignedRwy; targets[1] = rwyExit; - if ( AircraftAddNew(ptrFlightData, + if (AircraftAddNew(ptrFlightData, aircraftIndex, targets ) == false) { @@ -2673,7 +2720,7 @@ void GameAssignRunwaytoAircraft(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFli return; } - SfxPlaySound(&TowerFinalSnds[SystemRand(SOUND_M1_INDEX, MAX_RADIO_CHATTER_SOUNDS - 1)]); + SfxPlaySound(&TowerFinalSnds[SystemRand(SOUND_M1_INDEX, MAX_RADIO_CHATTER_SOUNDS - 1)]); } else if (ptrFlightData->State[aircraftIndex] == STATE_HOLDING_RWY) { @@ -3044,28 +3091,28 @@ void GamePlayerAddWaypoint_Ex(TYPE_PLAYER* ptrPlayer, uint16_t tile) bool GameWaypointCheckExisting(TYPE_PLAYER* ptrPlayer, uint16_t temp_tile) { - if (SystemContains_u16(temp_tile, ptrPlayer->Waypoints, PLAYER_MAX_WAYPOINTS) == false) - { - /*for (i = 0; i < FlightData.nAircraft; i++) - { - if ( (ptrFlightData->State[i] != STATE_IDLE) - && - (AircraftMoving(i) == false) ) - { - if (temp_tile == AircraftGetTileFromFlightDataIndex(i)) - { - return false; // Check pending! - } - } - }*/ + if (SystemContains_u16(temp_tile, ptrPlayer->Waypoints, PLAYER_MAX_WAYPOINTS) == false) + { + /*for (i = 0; i < FlightData.nAircraft; i++) + { + if ( (ptrFlightData->State[i] != STATE_IDLE) + && + (AircraftMoving(i) == false) ) + { + if (temp_tile == AircraftGetTileFromFlightDataIndex(i)) + { + return false; // Check pending! + } + } + }*/ - GamePlayerAddWaypoint_Ex(ptrPlayer, temp_tile); + GamePlayerAddWaypoint_Ex(ptrPlayer, temp_tile); - return false; - } + return false; + } - // temp_tile is already included on ptrPlayer->Waypoints! - return true; + // temp_tile is already included on ptrPlayer->Waypoints! + return true; } /* **************************************************************************************** @@ -3163,9 +3210,9 @@ bool GamePathToTile(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightData) } if (GameWaypointCheckExisting(ptrPlayer, temp_tile) != false) - { + { return false; // Tile is already included in the list of temporary tiles? - } + } } while ( (y_diff--) > 0) @@ -3181,9 +3228,9 @@ bool GamePathToTile(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightData) } if (GameWaypointCheckExisting(ptrPlayer, temp_tile) != false) - { + { return false; // Tile is already included in the list of temporary tiles? - } + } } } else @@ -3200,10 +3247,10 @@ bool GamePathToTile(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightData) temp_tile -= GameLevelColumns; } - if (GameWaypointCheckExisting(ptrPlayer, temp_tile) != false) - { + if (GameWaypointCheckExisting(ptrPlayer, temp_tile) != false) + { return false; // Tile is already included in the list of temporary tiles? - } + } } while ( (x_diff--) > 0) @@ -3219,9 +3266,9 @@ bool GamePathToTile(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightData) } if (GameWaypointCheckExisting(ptrPlayer, temp_tile) != false) - { + { return false; // Tile is already included in the list of temporary tiles? - } + } } } @@ -3461,7 +3508,7 @@ void GameStateUnboarding(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightData Serial_printf("ptrPlayer->UnboardingSequenceIdx = %d\n", ptrPlayer->UnboardingSequenceIdx); - SfxPlaySound(&BeepSnd); + SfxPlaySound(&BeepSnd); } else if (ptrPlayer->PadLastKeySinglePressed_Callback() != 0) { @@ -3579,7 +3626,7 @@ void GameCreateTakeoffWaypoints(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFli (GameLevelBuffer[currentTile] != TILE_RWY_START_2); currentTile -= rwyStep ) { - // Calculate new currentTile value until conditions are invalid. + // Calculate new currentTile value until conditions are invalid. } for (i = 0; i < GAME_MAX_RUNWAYS; i++) @@ -3766,29 +3813,29 @@ void GameRemoveFlight(uint8_t idx, bool successful) TYPE_PLAYER* ptrPlayer = &PlayerData[i]; uint8_t j; - if (ptrPlayer->Active == false) - { - continue; - } + if (ptrPlayer->Active == false) + { + continue; + } - if (idx >= FlightData.nAircraft) - { - Serial_printf("GameRemoveFlight: index %d exceeds max index %d!\n", idx, FlightData.nAircraft); - return; - } + if (idx >= FlightData.nAircraft) + { + Serial_printf("GameRemoveFlight: index %d exceeds max index %d!\n", idx, FlightData.nAircraft); + return; + } - if ((FlightData.FlightDirection[idx] & ptrPlayer->FlightDirection) == 0) - { - continue; - } + if ((FlightData.FlightDirection[idx] & ptrPlayer->FlightDirection) == 0) + { + continue; + } for (j = 0; j < ptrPlayer->ActiveAircraft; j++) { if (ptrPlayer->ActiveAircraftList[j] == idx) - { - if (FlightData.State[idx] != STATE_IDLE) - { - uint8_t k; + { + if (FlightData.State[idx] != STATE_IDLE) + { + uint8_t k; memset(ptrPlayer->UnboardingSequence, 0, GAME_MAX_SEQUENCE_KEYS); ptrPlayer->UnboardingSequenceIdx = 0; @@ -3796,24 +3843,24 @@ void GameRemoveFlight(uint8_t idx, bool successful) for (k = 0; k < GAME_MAX_RUNWAYS; k++) { uint16_t* targets = AircraftGetTargets(idx); - uint16_t rwyArray[GAME_MAX_RWY_LENGTH] = {0}; + uint16_t rwyArray[GAME_MAX_RWY_LENGTH] = {0}; if (SystemContains_u16(GameUsedRwy[k], targets, AIRCRAFT_MAX_TARGETS) != false) { GameUsedRwy[k] = 0; } - else - { - // GameRwyArray is filled with runway tiles. - GameGetSelectedRunwayArray(GameUsedRwy[k], rwyArray, GAME_MAX_RWY_LENGTH * sizeof(uint16_t) ); + else + { + // GameRwyArray is filled with runway tiles. + GameGetSelectedRunwayArray(GameUsedRwy[k], rwyArray, GAME_MAX_RWY_LENGTH * sizeof(uint16_t) ); - if (SystemContains_u16( AircraftGetTileFromFlightDataIndex(idx), - rwyArray, - sizeof(rwyArray) / sizeof(rwyArray[0]) ) != false) - { - GameUsedRwy[k] = 0; - } - } + if (SystemContains_u16( AircraftGetTileFromFlightDataIndex(idx), + rwyArray, + sizeof(rwyArray) / sizeof(rwyArray[0]) ) != false) + { + GameUsedRwy[k] = 0; + } + } } if (FlightData.State[idx] != STATE_APPROACH) @@ -3821,19 +3868,19 @@ void GameRemoveFlight(uint8_t idx, bool successful) if (AircraftRemove(idx) == false) { Serial_printf("Something went wrong when removing aircraft!\n"); - return; + return; } } - else - { - // STATE_APPROACH is the only state which is not linked to a TYPE_AIRCRAFT_DATA instance. - } + else + { + // STATE_APPROACH is the only state which is not linked to a TYPE_AIRCRAFT_DATA instance. + } - if (ptrPlayer->LockedAircraft == idx) - { - ptrPlayer->LockTarget = false; - ptrPlayer->LockedAircraft = FLIGHT_DATA_INVALID_IDX; - } + if (ptrPlayer->LockedAircraft == idx) + { + ptrPlayer->LockTarget = false; + ptrPlayer->LockedAircraft = FLIGHT_DATA_INVALID_IDX; + } if (successful != false) { @@ -3844,12 +3891,12 @@ void GameRemoveFlight(uint8_t idx, bool successful) GameScore = (GameScore < LOST_FLIGHT_PENALTY)? 0 : (GameScore - LOST_FLIGHT_PENALTY); } - if (ptrPlayer->SelectedAircraft != 0) + if (ptrPlayer->SelectedAircraft != 0) { - if (ptrPlayer->SelectedAircraft >= j) - { - ptrPlayer->SelectedAircraft--; - } + if (ptrPlayer->SelectedAircraft >= j) + { + ptrPlayer->SelectedAircraft--; + } } FlightData.Passengers[idx] = 0; @@ -3925,18 +3972,18 @@ void GameActiveAircraftList(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightD if (ptrPlayer->ActiveAircraft > 1) { - dprintf("currentFlightDataIdx = %d, lastFlightDataIdx = %d\n", - currentFlightDataIdx, - lastFlightDataIdx ); + dprintf("currentFlightDataIdx = %d, lastFlightDataIdx = %d\n", + currentFlightDataIdx, + lastFlightDataIdx ); if (currentFlightDataIdx != lastFlightDataIdx) { for (ptrPlayer->SelectedAircraft = 0; ptrPlayer->SelectedAircraft < FlightData.nAircraft; ptrPlayer->SelectedAircraft++) { if (ptrPlayer->ActiveAircraftList[ptrPlayer->SelectedAircraft] == lastFlightDataIdx) { - dprintf("Recalculated ptrPlayer->SelectedAircraft from %d to %d.\n", - currentFlightDataIdx, - ptrPlayer->SelectedAircraft ); + dprintf("Recalculated ptrPlayer->SelectedAircraft from %d to %d.\n", + currentFlightDataIdx, + ptrPlayer->SelectedAircraft ); break; } } @@ -3944,7 +3991,7 @@ void GameActiveAircraftList(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightD } } - ptrPlayer->FlightDataSelectedAircraft = ptrPlayer->ActiveAircraftList[ptrPlayer->SelectedAircraft]; + ptrPlayer->FlightDataSelectedAircraft = ptrPlayer->ActiveAircraftList[ptrPlayer->SelectedAircraft]; } /* ******************************************************************************************* @@ -3969,18 +4016,18 @@ void GameActiveAircraftList(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA* ptrFlightD void GameRemainingAircraft(uint8_t i) { - // Reset iterator when starting from first element. + // Reset iterator when starting from first element. - if (i == 0) - { - FlightData.nRemainingAircraft = FlightData.nAircraft; - } + if (i == 0) + { + FlightData.nRemainingAircraft = FlightData.nAircraft; + } - if (FlightData.Finished[i] != false) - { - FlightData.nRemainingAircraft--; - } + if (FlightData.Finished[i] != false) + { + FlightData.nRemainingAircraft--; + } } /* ******************************************************************************************* @@ -4005,15 +4052,15 @@ void GameRemainingAircraft(uint8_t i) void GameFinished(uint8_t i) { - if (i == 0) - { - GameFinishedFlag = true; - } + if (i == 0) + { + GameFinishedFlag = true; + } - if (FlightData.Finished[i] == false) - { - GameFinishedFlag = false; - } + if (FlightData.Finished[i] == false) + { + GameFinishedFlag = false; + } } /* ******************************************************************************************* @@ -4080,13 +4127,13 @@ void GameAircraftCollision(uint8_t AircraftIdx) void GameStopFlight(uint8_t AircraftIdx) { - FL_STATE* ptrState = &FlightData.State[AircraftIdx]; + FL_STATE* ptrState = &FlightData.State[AircraftIdx]; - if (*ptrState == STATE_TAXIING) - { - // Only allow auto stop under taxi - *ptrState = STATE_AUTO_STOPPED; - } + if (*ptrState == STATE_TAXIING) + { + // Only allow auto stop under taxi + *ptrState = STATE_AUTO_STOPPED; + } } /* ******************************************************************************************* @@ -4108,11 +4155,11 @@ void GameStopFlight(uint8_t AircraftIdx) void GameResumeFlightFromAutoStop(uint8_t AircraftIdx) { - FL_STATE* ptrState = &FlightData.State[AircraftIdx]; + FL_STATE* ptrState = &FlightData.State[AircraftIdx]; - if (*ptrState == STATE_AUTO_STOPPED) - { - // Only recovery to STATE_TAXIING is allowed. - *ptrState = STATE_TAXIING; - } + if (*ptrState == STATE_AUTO_STOPPED) + { + // Only recovery to STATE_TAXIING is allowed. + *ptrState = STATE_TAXIING; + } } diff --git a/Source/LoadMenu.c b/Source/LoadMenu.c index 246edc3..d0d5fc5 100644 --- a/Source/LoadMenu.c +++ b/Source/LoadMenu.c @@ -262,21 +262,12 @@ void ISR_LoadMenuVBlank(void) SystemIncreaseGlobalTimer(); - if (SystemIsBusy() != false) + if ( (SystemIsBusy() != false) + || + (GfxIsGPUBusy() != false) + || + (SerialIsBusy() != false) ) { - dprintf("SystemIsBusy...\n"); - return; - } - - if ((GfxIsGPUBusy() != false)) - { - dprintf("(GfxIsGPUBusy() != false)\n"); - return; - } - - if (SerialIsBusy() != false) - { - dprintf("Serialisbusy\n"); return; } diff --git a/Source/Makefile b/Source/Makefile index f60f46a..667d415 100644 --- a/Source/Makefile +++ b/Source/Makefile @@ -76,7 +76,7 @@ SOUND_OBJECTS = $(addprefix $(OBJ_SOUNDS_DIR)/, BELL.VAG \ # Level objects: SRC_LEVELS_DIR = $(PROJECT_DIR)/Levels OBJ_LEVELS_DIR = $(CDROM_ROOT)/DATA/LEVELS -LEVEL_OBJECTS = $(addprefix $(OBJ_LEVELS_DIR)/, LEVEL1.LVL LEVEL1.PLT) +LEVEL_OBJECTS = $(addprefix $(OBJ_LEVELS_DIR)/, LEVEL1.LVL LEVEL2.LVL LEVEL2.PLT LEVEL1.PLT) # Sprite objects: BMP2TIM = bmp2tim diff --git a/Source/MapEditor/MapEditor.pro.user b/Source/MapEditor/MapEditor.pro.user index f81fd63..5393ece 100644 --- a/Source/MapEditor/MapEditor.pro.user +++ b/Source/MapEditor/MapEditor.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -62,7 +62,7 @@ Desktop Qt 5.7.0 MinGW 32bit Desktop Qt 5.7.0 MinGW 32bit qt.57.win32_mingw53_kit - 0 + 1 0 0 @@ -291,8 +291,8 @@ MapEditor.pro false - C:/cygwin/home/Xavier/Airport/Source/MapEditor - C:/cygwin/home/Xavier/Airport/Source/build-MapEditor-Desktop_Qt_5_7_0_MinGW_32bit-Debug + + C:/cygwin/home/Xavier/Airport/Source/MapEditor 3768 false true diff --git a/Source/MapEditor/settings.ini b/Source/MapEditor/settings.ini index af1583e..ca3d2c8 100644 --- a/Source/MapEditor/settings.ini +++ b/Source/MapEditor/settings.ini @@ -1,2 +1,2 @@ [app_settings] -last_dir=C:/cygwin/home/Xavier/Airport/Levels/LEVEL2.LVL +last_dir=C:/cygwin/home/Xavier/Airport/Levels/LEVEL1.LVL diff --git a/Source/MapEditor/tileset.ini b/Source/MapEditor/tileset.ini index 8718aa8..81fe066 100644 --- a/Source/MapEditor/tileset.ini +++ b/Source/MapEditor/tileset.ini @@ -5,4 +5,17 @@ tile2 = "Water" tile3 = "Asphalt" tile4 = "Runway mid" tile5 = "Runway start/end 1" -tile6 = "Runway start/end 2" \ No newline at end of file +tile6 = "Runway start/end 2" +tile7 = "Parking 1" +tile8 = "Parking 2" +tile9 = "Taxiway crossing, grass border" +tile10 = "Taxiway, grass border" +tile11 = "Taxiway corner, grass border 1" +tile12 = "Water grass border 1" +tile13 = "Water grass border 2" +tile14 = "Runway holding point 1" +tile15 = "Runway holding point 2" +tile16 = "Runway enter/exit, asphalt border 1" +tile17 = "Taxiway corner, grass border 2" +tile18 = "Taxiway 4-way crossing, grass border" +tile19 = "Runway enter/exit, asphalt border 2" \ No newline at end of file diff --git a/Sprites/TILESET1.bmp b/Sprites/TILESET1.bmp index dbd0ba7366079dec0f59869783a63aaf29ac5564..d7152216c67c949f20a8544c1daaa1eb703ee555 100644 GIT binary patch delta 2979 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 delta 1212 zcmZXTT}TvB7>0Rcn>C{{%Ua2wDPj6i*9k>M%DfPfLbRGl`%%NFyO8pxgxD;)lE^vY z2PU%B>Wav+lvG%WN<~E0BxWIHg@jiYT|`6#eP<<@nZ1~s=XuY2zH^wu7S$sZyT*PEH z8f>zR;dYjXXiqi*Hc`xCCyOc>pho8^JzR7Ru%+d+UMjhc-*!lO`ADToGj5!X!fM?? zRu7W+Fu8Ir2D)RH4n2u^CUZ>&*HfSiVS72-t!%eQ>*GPw<)H4GQzDw2!!Sdp(m0jE zseH1!QEl&{>MSfLwFiIbyM|h+%oXJ#Sgw%Ti(mAq4b4k=58o1Hgm6Gu(~2xrP0d4Q z5SM9Q!^v1Eu&RVI`ekHBp)4+^ym;HG1l zD2r?$eFzm|Za#r74C01U2TdROhp^zJYG<18x0lh`2yVMfm&&Ht)OfF9RM1EiN1cgi zzb5o{zo{k4#9kV`gTu~*+P#fRhw;uygFQLitcq`XGPT@uA4Bcc+4`vd0q#53slh_t zZ#5km!9%wx5H%5nY98Tfyos6#+^A6PC?4DGE}@1B1Y0u3FiwjpeC@HP=cy9up(1Yd zkvDD-nd{k887hG4#T-G z9WP1tWs&g;AMGiInPgb_;)0vVn8H^(4DX(f>sv?03>NJv?ps5~d;D<0m1NA~ryYi? QJ~;dC?r&K3|LNEN1LExS;{X5v