From f246d1a7105d656d930d894ccb52cc4f2dcb647a Mon Sep 17 00:00:00 2001 From: Alexander Biryukov Date: Wed, 21 Mar 2018 17:55:54 +0500 Subject: [PATCH] Level screen scaling --- assets/wall_left_mod1.png | Bin 0 -> 9742 bytes assets/wall_right_mod1.png | Bin 0 -> 9716 bytes assets/wall_up_mod1.png | Bin 0 -> 30016 bytes game/gamecode.cpp | 49 ++++++++++-------- game/gamecode.h | 4 +- game/main_code.cpp | 15 +++--- game/menucode.cpp | 4 +- .../DoubleHitBalls-win/main.cpp | 2 +- 8 files changed, 40 insertions(+), 34 deletions(-) create mode 100755 assets/wall_left_mod1.png create mode 100755 assets/wall_right_mod1.png create mode 100755 assets/wall_up_mod1.png diff --git a/assets/wall_left_mod1.png b/assets/wall_left_mod1.png new file mode 100755 index 0000000000000000000000000000000000000000..8d4588b1af6001280fa1619c23fbf4d5a0fa3d58 GIT binary patch literal 9742 zcmc(FXH-+&wss0hs7a_IMM4n-lp=ybKtcx#ND=A8fFM2e4v8QH1q2mAR6vR#y-077 zDkxpL^s0s?z2Cg&yXPC{yW_s+yZ`QwJ@(pjt-Z$HV?A@O`OIfU-O<%zqUWLq002xn z+Uf?>`vm|1l1U4twkkiVIZ$svPXjGgKw&q}PwE4Wy~=GB0HEXR^_dQ@ZR!aC zz?=WNfbDKMwp8O;FAWnfLpM7w-}@d90Qmb3u3i$Z54=!UB%~xROK+eY5&(enAv)?R zMt)W+6H&fKqroEUCz2i>mtPE246H)HkL+CdF=@dcHMm*K;%U6z+VV(7DV4mKi_M<6 zvIPQ#b6`OHbSvDd52t+j-!pO5I4t{&3+p=jD#&!dmeC3E4BZ_Rzx&bkV{T@pMRurn z_ik@me_(3EZo|Ez$=a`;I_r?VC&#-zsKuWw;d)FeBNN_sc5xy>0qZ|KiFN8I*`29V zR`pOcY^JOk8Ns|VGL;W7g`#k|d;-D;oxF@|lFW>(rxZa_)m8c#Pr(2XzenAYCrsnW zjOpglvnf@|3k{M5=T&-I{R~T_lGjpx*!+nH__760v&N;{$-wZD6Q3S2Ux-=gJ}vHg zk~AwVe5mtg>-nG)8Pe%;%1?6DDu=HS?BvjmywefvKzJ1!kzmLS3)y(>OinPkWe3yj zFKh1yt`uBN80d))Jxs{QWU(2ZZlCD~u_otsrrtc9UAhcT?SzL*!lXWBLms`!LoIhg zDk%lEaMlGir#f5 z*t569ccJc`EB21-p^F%;j0Q|g^{X-Qsbjhp=MY%zkpnO@bQ@&bXhK{4<_Z4_hTnO= zp~?&4EBlkimfO4ac$C`>Lt$9M%)*x+74s>KML=59FN>EoIa<1djm`dRtX1^R11CTCtlD#T^_oMZTh6xRNdPF>C7N zl8$LgKin^^tdFTm^4H5L^2A0dI2sA<{Ae}Y_ z#1i+fO=}SLSA{B?#R?=pesdl;mZHp1B2t90-M>xB|F{s9Q%KBtdN(fF*iNFiW<^om zvX)Nz_BL{O2(YmdgKTFR9|QEoY$M&vptukN;7>_*F2tvXAb7gCBWl%H(4@wUe61f+ z(Gha)_d|rqfvfw4R}Z(i+1tQ2jrR(t1Kfx%cC^lv7R0Wh}pUB#7k zF}+jE-K!+&bDVlGl?wTE2^T zu4e&%9%WVh!(kSt)A<{Eu9fqMCMwTH%fmO%18%!kCaG6C@J;B{EkuIiYEVmqp);WQx8iN?i68-(Qid3qx9&f?tK^5WXelErK>q zuv>u%M^>m1{U^1p{X^u&t{LC^EoKdYT|B6eH%}!B7f}o$E4B*7vD*ai^k-92rCyaA z3fTCoPW-DyUt?fxA)C36Y^I1VhR4`9eBeWY!`WD0wnfbZ?$=;mo~ZNwLc>_>E$>T` z^5g1_b3^TlBg&=*u3SpV;PF|s7EVWVcvyvEt~tfmQkxfC=@&H<{5ss8Z-ZOwsC%e~ zPfWW`8U6j^OWgi#DlU|Iw@*-$md9r&Lk=0ApKN++AA~mAeaXg#3XC7C@YFrtg`Lh- z#;tR|aKp|XtJERFu0CQPzAR3+nuU6@S|mq}~V-c_-e zhhdcOxJKm+Bhfs^!)(M$aD+=3pAZGp>UJzoZ*W$4xQeJ79 zGJXWpu<+*1JbD1Jb-VOx$x--xK23l64gSsb2Q@zg(wzQv+5Tk(wK4o~wg2kH|MYEo zch3Lf-~a4kxkGA3{y(1oe|zExsyu%e9%$HRrT#Inihi%D)=l+KgMmNsbNNEtNrtgM zv7*Ek-Jpn|vlfp-?ETpv=w@2lxrNU(A~&yiyK-yU_A@Lk0B}DSLawZpgw1_rz;E4o zy-%M137mmTwXaEH?EI?z$>FVZGi{b(U*0bNUIY|SrqsE2Y1I~k^G5x!oHtKIzBcjF zZocD~BMxOn5#q(9iahQdo#W^t-1m({*@aw0*`6$fd~xGtJ-HS00mJ_K&{n6aY+KzE zCH&}EX=x5J0|&=QQ0?0zn=QN#y}-FTfmcL+lr;A7l16F!ktpaHUp8P+s}#ykNn4GW zgy~6$080~5w}H4LrF+THmc6hm>^Z_Kefh}9co3(Y%rd(u6Y|9cG?Na5G4&jcLT#au zd$k_N0yv^f(wd`Uh0Qp5gEEy#qj_svtwo(rJ$4t_+lcIi_>o)`t7^~gd>a1zIbPS7 zRLKcZ?|oIOIuf*BC!@eEuB4J@LnHOl#aXu7Et8qd>plD!Ej#Y^YU9^c2XlBW9~J@U;5!vRVLt+96nV5282GD~ew<9KNloY7y|)F{ zT=AdUN6RTL=8yLr(SuzjE)j}9!-EN8y1_i$tX2S(d?U-LGCLk}-1v4IV8g+FHiZG{ z<-VZg)CP>^UA+P)=_wehN*qMmlEIe-u{PPAhNdJ$V6U?^&*o;V7Fej)b-yRwA zr(SxFpopebZk!CAKC1eRk}o_#h1v#Il{$@qXV;ju*%WHSJ41g>UE$&=Xz+o8 zT3Whe_SF}aO#5BQH`6e;E;_w%x~=_OO8LG7lGWFZCzc`ZEMm<;VcD@Bb4%!OB3f$~ zwIqFL*7>}p5POBMqJkNPs5Kh!UY_S;#Gg*Pgk&>>ovr{kI0Ol`=C0S)m~%IrA^_2o z_b7)zETQ*1|{fjLhKcA(k>qZj#SaV*cJkz(jXk|~^%UzW?mAb>!l5{!dbDr!2 z=cN;%bcCJ_@&a;BPK^+aiM~I;nSX{PZOauF1CS=QoCReLmx-laMOqy7;S{h+;?9G|tc4X)9> zPtZAWTOv0c)}4aar5STZ)sZKFffQwg&gT#~*?!bLgALaf5Dl?wz%!RVdV<|G7hl`v z;9+#3Umy9Zfp^xTqsT7=1Fm1MZWn=m0B&AQByUV)S=}^PF~*9mZ@VP&+nY;=9~CJ4 z>0Jp}nt%)t{fpStc7{hDH|@T3jIqBbE2b-!ru6DqbUBWnN$OZnk~a0sO~^N=jUX<} z-|Z4y2*sl%jX$6b-JgAv{QgArGU95=-H`%d@jdgjCx#gU!%RHGv{jYW^!@euYLQ>I zK{n+9#)*ri>n|=;cV*zc2C~S+7sqV?>HYc_aqLDsNGVqjG8!e^=tdvAQbke5cVbac zE#iW?*fFS0kBJL0?_Ufk5;3X;YN!p*W_N*boR^hXp|HiH5zljuw~oHWMPZa#lw~en z?M-K2|8gx7w@1G-H%#-;Q;{%qZKzgo3?P`jbvEJQyFpsgJLm0(kwc^UD};cT=^rqZ zWnP8B?4NtO<8RwAlwW5*^7qSK{h)N`W~M8qAg%`FZwEzfevZa3ov4SRZlV>U?CEOW z?okoX8EerlHXi|$W~TIuDv^K5vE@J`Ri8+ut2=pj@X;bYx58>w%2^3*VhQKShUj{6m6x)PY~MzhSQ!2VNigg~I# z68S6s1cy^o?zCsr{nr|biZySSXa6p;hV~|oJMKDZxJ~m{=<`?<&3^Zbez40?PgHng zOpPQ*s=w$Iuk?LIiN6z5--!Cox;OStGs1+MG-ESb`z8jqIy?BAJ4ciBowcfFDq491 z(+O>v&XhL*OLtd4w1wc%26iYr`#B~X>hgvR>rF5>loph-!DU{ql2`2MQTvZUlkx4( zjh2smLrYhn0)g9*h_RkO^1aMShc}o43_pp6HJtN0+m8_JXPuAl-^Ban4EUjRWm3+WU9?D_y2QwN{ri3R z`rg$WD3OOQ^Tbzg4t790kZ*z2oTYNsk1XAu#D8=i{{Vg#e9V&BXhBwEix``Md1qZ+3wHmJa=!vCG^^?!{~rJq7TkXGN@8>w%`&=H@+_kq=Pv39$K?0@mK!X4T&7%8py7 z2tuA_$@le~XeIjv-YUAcsB)Et1Pjl~W^$(3Q>R7ESf^lSPmj-NAN2I_Z}=+14tw}6 z?=coR-t-k$j$?6~l!J46RtG@#Y~vFq4Ydz;r!Xu*z^K#1MC@s+Aha$IP-})>*S1V_ zCojve2el7%gcMV&5`Pi0DC;0-)ae0()!>eviFu0;dbE99?A(RdF~@DdjLT173i_pi zDU{%y_RW0W>vwWF5NsFgtMz?q9G1HHce=QR-@>K}3~t2peyqz~(+fNP%s7&`PJ0f@ z&}{QlqwLr1>vx2@eZk=ax~ES~33T}QVLH>qXWwy3JTpZ6R4 z(QO)aQ;W5w^6DSQ@&-dDEkTK|p0Y1Ol}(YM*>soTzHY_2@C4lgZ_w&rzk;ti#&>LqHWcqsIO`gXu%7vG6=3WC&24+tI2p>VT5`m+qfT?81l{{J5eiqZ@8MoD_;LOG@w;SdGxh z$yuSJ1J(!&;|QnXU$JY>_hGu1cs{ONLFUAMxvy+}cKwg}1M=5X|HbRmtuLA7DQvi( z?k}h3AliFNB5`|ejk6gZETOw+N0bi7CcGSlzuLVihm-7?%leBE<^jB_eWjdUZU z&UcLStBrHCn{uzr&i%&sCcMvR!dtw{YOp%1)ua_sBFL$=F#WKYO76QursP^$OS-c~7MFK%{DW%0b5R?g~iGd}h3v zI4V%k_|mM8abgGTM;JNxGW4Pi*@KSQb@e_>T)t(cE{eSQ2Uz0BTv@i597L|a#OSxl z)xMHj4KMivbb4DgQO=I6)ic9FD0Zn|$AFPnKovtx62=}T0fE0_UUj7DzfJa26 zc&&ofH)oRr%+Ud*V5`h|d~@=6FTx(s_;fH**053#->Sn3AF^o-A@Xnyjqe93yhBG3 z=~wZ3k>O+@)K-cnV*5ut^GFuJv?+ku)tZrFC*OAJRB(Pj*gp$S7XvMLD(;=ciHtCr(|Iz%`Xp9zSZ*>o-F0<`T5 z9Z&c}pEQ(&oss4=8pO`iCMza}=bfZN&M z9$|K}gUC9N4{bgsm$8hnSiHsCZ!bR@VC^|Tg2M!3c_zIO#WHSQ;$Ci1&aVfzHb4}Kb#r{ zaEemy4r4ZRP78YoH-Er0y?_%vM`$$8wBFrXKBRhz?px^(WP_Frc8?;JxjzcG^sIAX z^qBfRn=RPaBMZ?iRely+*A`zF`;eYdP3Y+>?Jgp)qX|SHCW-T-I@;DLk(lXe}I4>Wc@Tdof>(mp+#UwW!bXQ(v+>jOQ%}Op|D?2Aq%<^tQL5?SJ8x^GT@k)LxL~AsHSO48ju(j0o-5&BB-6 zwRE^3Et!|P{f)|;6j~fL(;ivOmbG)!e~N~a_1y-e$#=7o4*lrzWp0RaLANS-1=cyi ziy?J1QDx5Nnt+UhYsapU^0c;t(OF6Dada}x2VjKnCz>DdyV%JW542l~-qwKgOcmZH z(dF>sWCf*C&qui!UQN4nLeF#j3-Tql2LAKd@4;M-9Swc%XgM!VR6y$VXQ_|OXbq?` zRg{paEdP}#FKPLxZsHzlbH@a;5|=0d#)&$@e{8GyVow%X&>LfSBX|%wyaH0Ya}XPX zNZ5@TTl`sDZz)^A$~sz&3)<3NvS;6&HCaCXK7(!0hqFg_GJ;Aw?7lReYs?$HreLcm z6>2DLE0f8(T#(#Fv)EunGkS{uYOnCARGfE{5b8sB`Pp#MDE!g~aB3s1shXkH_6e{v+nFEgV7ice`2iTE7}X!`EEei-nq^Lud@YFI%u}`EPRa0*vMWYy=A(oz&;lWCS}an;`8uzJnixjoLAd{Fxe2> z31KrTQ^ZL6^5XlQ{fYT(S)gm<{7=W=S-^l=B@smLS4$Jn0fJ4LDUSX^4TCsS@Av?q zgOH*Jo`;rd!z?D?S)eCl@2N8&_!aye zK#3~wpbzP*yAJS{C6kv?nJuQrCr2LNt|teeemQOQ02ismm7dLy*I;Q$G0*hObOHl1 zS-<#x+L-)p*tA9ii&yk94nr2yO$$``&arGVZ*H12L4iMzj_G|R@gKbR!(y*!|)DOZCT$fT8i z*}XAXGrL#%nLY9TRNy_7TO?=FEWMYgMi;@vBQMX`l9|gr$a}I=9Qo&j9bGZOoAk;s z4*(g=7rkRt{ww_}sd>;}nt#puF{MD9{8FZp|A8*B@cKl{Z3l=&hU0$!=LC9PQ$Qu- zqoaSTiFfwpBFL>B1eZ;s68;;&Tct_`)qFOfJN&k_T={OASr@gY7s<(@CpepHY3j+5=zTk-KF>%7WXcG{!D9qV#|j+f zyR)`_5Mmu;lb23+BI_?w1uxRP*_*b6WdQ= zRM*{l12ZaXti27q{NqHfVy;8S>Pg=VwXs+cQ%R&JJ}sWd9FSsZBQEImy5at)2*Lueon-`W~4hoV;?2)V$2}!zz%;%J1}&vDv2TTdpGQdg7ZK3}`8$ zixG`y47;=@m^o7ZyD_!IuFG<0X-H6Tdr7a7E>!g@Qy&veJ9kMpGoGCBbWSz8(pE7k zf)>_~#L|zyrY$w@PZZ&ge$NPO+nQhz2!h1VydZr)%h@+7M6>sT5?O|9&NVYb39rpT zNS_V9GjNW62mDlad~9=@*kf2Ad>DWE>T?OqSE6e1Xc1RGA7H2a|rQ&mY;;B4@-SfCG&IK#$X0eUgc|afM4WVN{Ys z^`tWSG15(%C#mvdQcss;6A1^$i`UMU7>oYaq`gxpji}0E^T-gd)AcWEGny_r^Ax2( zNk)EX^FsMhI`Vj^Vvhl!Oizy1ol}%BITS(uH;R!aRbpBFy+)N2_yRRur*FE|L;Bt% z7`$Z35fJog5R|;r^?u!#DmgTzPrl$LMMVc&yP|~mwtW|%xSiwuKo77qf9OU7x71SY zB%eewsD-Km*Tz-vvk0wT065u4A|s`lmXqsc7gTvP=}~RwjcU}x12ek8L`PWrcAL4Z z6V#}dRCra=+E2?Gan3 z2+-_3$vMrFAa4t3@V0tWQ;Pv%CJ1ilN8uUOx>h_&7?~-GiEjKds6=7{<94+S1oScQPcQgPO#Kf=H zws{_$1l_WyCLDCNTn=nfnI#4!Gu~&OS^DIz)+Lm`wWtup^3jhJI)2@l@#_8yD9zxp zl=X5@#9Ox6@93TcJAkx~9;tCT9@oDo$ zFy9QF9jL6)iq?PXk5Yg_6z>&g%8Pb3?5em1es;W}-RI9hoCEn%7XFWVSWn42_lyZ) zP~|ICt8ZgA3T1qgvS+@CxKAZ&;Q7 z=Lw2a2tg-uq>&C!brdhzzx3Gkn}|=A?6XoefWZXWBglu8jq7WVB*>Q4*~d`f)r;#% zfrGL&0O|Ml?SnvN6&8=u8Wrk=@4WEmz~hPsF}LuuXN#32p=K<+4JUO34sd5r53aq7;0^VJJ_?z?u99EbF(yq%)vbW;onmk6zj-g6*cQk?PuHyZ z1db?)nSNjSqwylneh)!=rd*JAZl4i+*LlSW*j>Aj zR#3;ezDXbwg`}pHU|)~VGxUDm2$IHDk78i0hfjfDyFk}y8>|^kT(9(&{3cs5?o|WH z2?HGgR*WWvtm~fb5}yJ~cqcYTN*Yapatd-w?Z2y+PL$UHXy0-*>*V-`#$k>)JoE)~s2xW=-aq=b7ie?-i-1qd`Z_Neuu1=MjDJ&+sjd+>}00`LJQN8`p+hTnt z+zUSTLIiWhE-TyJ^J=~8x`e<3D^|(`gzr?4de9dL>VZoXAz?f+9WE4mBkG|g5EX== zf+7GPys)bc(jQ*&3rI-{={(ok_v`i%Tt3*??C-bgF((Qm#r-l*r`#Gfpq0Jh2eWU@ zd;2$Mb53hQ2WS=O-*JO7Y8L1O{C#0oJVn^OIi>K+huRVe!IKN_Uc#K4>lF>efg+@$SLobfPmEj%gE{$pob8=jg zqja>C>VQkhR}lL{VwcYkoa@2X6q8yU&}ee?0`1#yl`Ay}$NUN|uyPhwbaNo+i2XnT zOz=(R8^j+nIIFa<^VWgyrSHYr0!=ceaoHEg6K*AvD8}+R}bptY6CHeRtB1+3BM3w_Buyl^QdIaF-(1V^D@y~%sK2p|n zE`x;+F~j6$!F68?TgG(GemG?KtkA`_2S)SZ!Rd7VANhOxm6XUR7&38Z-8q)_`|orP z6ap6{;GDm{v%@B5R?F{8ikxrJX)5SZ%9=(Y)+UrSPka^O=dX95WqXd^3nxltO7s_& zp4p?Qp6}Jncl$=0UVvRaS(+o0qh_#?frmV8iaS!Lzt)PTc;hr@XG}mJKU45+c3%&v z9Fto>cKhwf_A?J2Q*5^2;;Yg!f(eHD=x@Iz(hgVY2VSb#uX9bh5n14V`w51KpA$_N zf`T@yHbtKJ`p!I0bbt8Etv?l@##e9H2To|G**(5dd1vL_=E_QJz(%=6*W^=)H5$x| zBY&IPr(wNUhaf4w_Ue?k_C1pyqoRfJy$nt?IAg)JWx!7b3r3LmJ?SMt6b1%jipN4O zBY;$zsJ|8UB3dJ`6C#hpS{ITRy7rZ8uo@4v5MQ&H_`iPTE3H+(^Xp!Of)DEr-Ap<- za=k`5;>cK5bvi$6HB2tT(Q?4q8S9-?J?b0rG(Y&unsjshnKBwXRFu3ks+^MBMAvKG zfPTw4FB<0=oLk4SILV2qt>^3=$P{NwIb>(8*Rp=M*4)eE@RkG8vj{UX{M=kCN5@uq zyN8HOIi8de+o$-{0V3!;Qg(lFGsV}mSxkX)boowkDSKr=`8QXJe1;^vuYK5zbepNz z=Uni4DMScHOs_F zL&jsU@xfv&nrH34$>uio<f^5cD74L6Uevxx z7?_}IxGgMIvY}r$e$3&yt#OzA;^p`Dq$vV=!+AwM>b*5`xq{kOux5lZsk^ZveJQe4 zr)A%655s)Xy5^b2hq^`IaiLQ4J<9yvH_>><-fvP?=IM({Zf3ePZ6l-GUM#J+rvvQD zr>2S22^HD7RiW!8>$g5P8qjN`9VG%9UVqta*ATzk?Eb3ZV9}JD%i+*~J+OgX+h+`P zVsYcR+G7`QD|4(2e8KZ~V>ij+qf;Ev$DOW}MPGi}!w-K|dtFBeFT2j;K5sr=xq8aQ zaZ%e^M(5(Vcgk?}mObpuNo~HLq2tWsn(A!+f_ zZUIM6XihID>{0aut1YYkysT216rKB3lnr*@SO00lg7Bwh=)o_AfG`?egn<9~d)I)l zimMqs9ZIWUzkn^qi~v8{I~PYnn#Y+Ui0!IO>>lCZ$aoZ+#>=0;m`;q{%VG6V4gbc@|RA%QR2Oh-y(nsu)%9C4})FkCrHT)!+g1;hw0 z5VW#0kL^^uwccYIy8!YHK(2k_*F1XZ8j<&PS^l2C2AF}z zKwGJ{-&8njvpqJ`PE5H7_3WW&c8K}sIMe^iQUB?_SKBNp|APzv%dz?BRsQbW|GERB zcKM$o0QCPg{Ck*ChKG@&Mpg%Y=|%fiue@^?jrPeM8pud~fvPYoa)E1Q;qW)VQHS3W zm|r-@>-%~Aibz@#Maph3nIQa1d4mD{{E&)3zG?DwM)J-AzjHelB;KO6aLDbImb&z| z84oP`*fZLmd&ek4f+yu9{ff*2nBLkBW{sP3U{ln2Q!khY4UUCM#+Hb_Fj87Mfq5>0kp4id}av@I^m{gI`+=9%=o#qenI&A3QXJlR} zsVMMRyCsOKtsNeEwG%?U%1m!9G58C%q7@A}j%kIFvG5T5BN_2@1f(xme{{(G_KFUOI;Daw!NkzA=Qq%r+VsiSCxk^4gR^bCzXP<8@RA1#%MkG8{)zY=c3PEiY^7I_Xt%00j);|t3uw?ti3+b0M+Ws}Po zt9M8PR(d|xYiFUWS*yi)+Jj>8XV4_*^Ym# zep4(ROiztma=O^rW{is+v7<)n98CU@xpiaCh*&Qr&SidNB~>wzVdN^u@} zt2HojhdcMM-Nfz>boms!1|e}nP#NKAtYB7=+TkRST`+_T3Uu4~?Jv?YMxC+;=b0+Vw>xW=Cc#9@WF z)|8ziQ#l98y;Ug?7TKSTn|od*axADzF%vD;v3ZlA;mv;3I58^?B~MRdTMqjC4C3DM zlqQYUX)yD$XbATeE~rvr&4LZ^b8!qQ8uVekq{y{*r8bojIJSL0!wA=C161JL?|kCU zN9Yn~0rm<*pl9us&F$+(6B^=t>MR9VqpgIKCu$K7f~&_v0eyQoe2CfruZatPg3;rS zG>3AC)zG8khAF3N0xi4ORHx_)X93QrGO0~*!bZtx@lI197ykr#2-kstFF>t5hl?I~ z2H4>JJ#SxzJQTlZxPiJadcN`Vohv}0j|EG`^MnQtU7K;a0$|kctNil;4|pNcF<@vi zq?r{cPPWu)af|Lb%i!EoTIk_jk4RB`FxT}CY07F*cn4sP{`J=leMizMDHYn;aCcRw(=1XLq0i z?Ws^{PdjDh>4V2BI-gMPdht`{dsJ;S0=ff$zu94^vN*KJ8fn5{ju1?aJhi=P0~c(^z!!- zU2>#DLft5HMlpD@3r9s8XOW<>%Ezz35s~(pR>gI}0T^Iu<9*5+5l!;8`B28uaeg1% z;R~0^%%vWhUPqow|2e1oM>G$N!@dvnyyG-K)My#byqyX2ttFbIaeG#IQJKiOHu(j(^}pQz&NKGO4)mhskbC^tC5Lp`08s1 zOtX8~w^LDwq5(gFI8XdjC9M2-;K_@+a$|AyX}Moa3G~U=t-QP1^7GO1P_5B4EY%~- zVxjY+$Y}KDEW9qHOSp~t!o%0}j_?39P#ApE{ z@lq=Ev$__#eEw2X4m$S}Y3<*{c}G6!Z>_KmQdnL+akGlPY64~+eOm&0?K{Q*S9d^I zXv9>w^P4S3#l7s2S7$(2Lb^Dgj3&wJFTDp^OxEp=- zwH~5^eG8biSTL2XNi|n8jQW!vSOiAC;Wnx|FYXGfS{3Q{ zJ!D#{&oYY)amx-j@<{Cf;F^hFHmkSyN*fToVl5)Ak?b$iv9;#&5qQTjZV{bbcq~m_ zugI<_Elh5Dc~})XMI($dx!USjXLSSVUp*`YO(yEnTw5HDq9GH8lAC+b;fECWJu1)&_nBbm-_kUQ57pEko;mOp z767%+9ML?#$ajnwQZ(wCe~giDbJIbGjVL}(J9K~v=d~;!o;^bpHoW?XvGt>wO7ZYv zy74?X>F7Sa)XcM`t}m4722xO9oMa5jn~cjLpR2Fc9Q~GyeC@Y{5$`nl8iBP~(Tsep z!Ke5}Y_QLl*Htz@<`Q8P+IedPf^g$U#v8A}^&`;4t)uYxt+hDBf?*u~c>4tXB9kwN zqWQ-RM0ABanP!M1#k(wc6Yx2MZMMQ-zhzW+^Y)^%QfT(Y5s2wxv*~tAlju^bKru2T zw<>W{CJe|h<|%~Vu;aqe=V#7@w_TjkXaX_owJqikCfz*Ny##F$1&$(0_oQ@pd!O1y8Ifd!{Lk42`sAZ3)}` zw3{Z=ttETfn-9r~{lnJ&693UPie#G~3|qg8j7H_^ zm!V$HJo!XL3o;yuQAzergd{OrmfYSowe27o+P#GP1NmZIs!!D)*O)j1z6C>F#P*!h zN~j14ZvhOZ$4?`^N7+ipfNKqx#;GmN2UaSBlIQYS>yg+6R#~IrkZ_jaf-6$}FsPP< zqEBYUv|v4_;5La7qPjSyBmw+4Y(z&K%=4-kZNwu>Blplfce{O=o@nutpb|0B z{pSKo{d`P$j5o`OFmFGWUbjoci;3Bn)&1(4npT@qIB&r_feZX8vtRX|y&HcYl1x#; zt^7h-bYx7$^>+n6&`9Q419{|y9&ofwns32h@^V^U*hj%0#M(&DuFK2+l4tqv5Z3nTOVmV_j~ z0|%Nb*OG}{+>&Dg;KpxQTQzv3c|%#HHW#`+48Lxh%mIC+<_dZ&EMgF!FW@zr)I)x& z2w)7Y&eIV?(}JAMN-lYg%*8Vt-fe$G*8PDGqbZMGmJHL6uj9Hd0qTDOp_OBhC&7jd zr!Q|9s>{Br-YzYi?W+{xD}DpiG7?I{^BiH>(JOrq$hu8jb%*a!;YP+BHK}kVwAFdF zyhi~g$4Sgdf!0-xi>A{@&$TBC`z5?{KHDi+Nu23n_G4~atk)_Hk z*3i@zGCG01al4>`3A84}YQqh#yhAxXrDv-_UNO>5HQj?t`~xHe?JSIhy_2$GB{~$1 zQOkT_ECvK|I#0ejndG_*k$Tjc7hy9o#wSqR5tbh|AFED<>#KmnvIPdS`7peocZmkH z8*k{UGl8bh*1P8WuS{S=q0fb!i!gayFS5{7QC}Iaijk)_j41`~#KwFLwBNVe)c56<_%!$n`EZnID4OTTJlZ z&&n<_>}iopaNFQFJh@6^fbs(5o(@!LWAw1e;r9qe8N@YYIR$PVDu>ZB$O@w6UQK|G zPt}CIVT6tPX*Kh?>&c-RL-s@wi!#NgLh~tMcwu=lZFRJF6R53_o-2Xni3a^%7p=`J zdRP!@wBY)KyYm2$BS#VxCW_aKP+7$kh2U?Kt6m1Hcacj>VM+JVOL|2?s`C-<_#OxR z?ftn|ijLSMvYWUUQkQ$aw4q|*>&Xl-$sbK&Z`_lOo~Zey@Y{&c(_#Uj<=#OzqAaYFW|FGjb!WIE-ZCPI^$S9P!s>%ym@OnWA1L^V?7C(Rj`>moh(p@~ z{e|v{*6xo8f4q!5hQ%ryq7yqA{{U2U6~#s-bDbS2`mu$+O_M@fB_o#St!kK=lXcf z$4yQ1R9P??+U;|n%DRA2{mhdxd8T@&!sQ~|@3*z3|4PjZd0WRW~K=f-Dab7K`YoIL(Xe${+2D+?4u;|Y}S$QF5TiHn_wI4emQwZe~kBYwI&x>0giDP zj5beoRr#rCvdtSl1coV!Q;P0bp9b6gq<9(cYVWjO&@)HUGcq}Xij7TGx%MUhnSKWV z7)n-n;OnmE4J@dA@8KnA_MCA@`G}fkMrP39d(&?(fE1;jS46axJ7(16w^qM7^2E|! zMh49!2UQ;=BWCCyVsd+`ECcoFLbUhE$YI?)uRZO7VjTUmzQTA%0d`C2sf-1bznNS> ze03)#7Dcq+8kCdl$dR3~aA`Nn3Npp!pJ;i`n;aCzG(}{1p4`e00}{r=Cx{G59I>Gb z-Uq(0z}tI?9iWeb#|z`(J)VflSziJ}&b~NpL|Gs22_}@lLV7xiUL?1NMk)=6+94vB zZW*~eQ}yt|ifTT5&9Lfv`kMUe zt@McTn@f;^)CO<7H1-P7A9>_&2{lXR!;xZND=~l-Zz5`rJpOdXlH=OQLrQmsw!>vOaD_831v@{1)4y%+Am*Gk%k2IekhmKQ;ggXzMKxj|iRqREruh~z< zrvlXo1MKKShLMUW$2>)Oeq%!iini_WnKk5jJ@8UMc7AbPW!9g`??0XiJ)?H#4!p*L zt&xwioU1cjSpHLCi{*Z`Z(uV7C(Rk9c3+_jh{vynGHA|P#)AsY`fD-@?sNard^xrI z#_SuiByny}^r%)cOvl(bxv0=V!*}D^IyPuK9KZTLAfj6+Eab2U>Ym$HSt=}S_A+m6 za`c)-PM#!qvXgi5Ie`J!+*jeCRUns7nWO6Y|VP*Z=*YZ;2Zd5#b zY;5S*?on5(sg>n-piZ|tIXbr+wEJVkRt`9_LHFx<37DHbf3G6XYhLUu6-Y*4V7Dt5 zDf=C@`#$fWa_lJu=?^C5QjP1!cwfA0L3Tt_|9rhPq1#KO>^#zpEH-S}E~j+J6Bb*0JNhwPZOs z;N`qXY0L(BNc2H1L4tyx&;z3IMhnj$MtJgr3^Qh$-@lJYs-jJqWsA``%i?p(z;%6CI+EWk}1Bi{T{dZ7@h61Dx9E za(?PLYoT#NL|Oin)OCSS45nTXiE^$^qj*w6kW0KChOYy|6iTOSJHQs^-XBsuY zMWb!S#fUR=`%)1G77YV3`#+JDly_#~qS>Vgzwc5Dz629K+lYoPT+>Jvqy?2`4jbfz zMC>KBoZmkN=SYRMw(VB^qKURNf9K(BQSI`WX=vmNFEXscVnby>KjMVR9A|tWJ?q-Z zslm4{coRBdRK$RcRV%lAobYHIJgVfK-07aB$BRDZzMvO;Rw}ZmyvW;VPhnMgy8C7y zHPq1{aFRKhNG4>4ooYNuszizVF*2eXmQHQK*)J3x>!4@7QvVXP?~p{4u<4s>Odyvt z3NwnuPgX}*|KBI8u8j#{Z}9oWYZ&5$mMh3jDC{s);X9~IXS9c|t%C30vFV{Qw11O} z4--KhFLt=)b?(lekBk2SeXME(4>Z(-y{3kh>^MrNN#Io$oJkZ01P)`{D};W&l7;UY zKL{ZyF0`=S)SZPkeGq8+z<$ju&)S{BF0g5W3U<0OTQ?$F3+^*dkFO@&vU%P>>DRPo zS|z9MH9!0N!9v)Jm_pQ^9KKK0FzacyR`vbB4?>u-nY;P7!l zR=lJMc>C@yWWOaAUob{39oD)EY;!oeWFJ0ZF$tp3sB0(XE51O5M@xs?e{l&G%J`zo z@d_7Pe=cXwWroAZ6R0C9I$}p`G;Bao)bC3|?op$EsKymTIWOGl)NK&BjAt?893Uk+ zG8UN9gkYQH4>x%r*f%fb(ZEek2Ac!HGMtEVuFEZt=QrYKRr&YLD?KFJk)6-yvFP)ga`y1SVbOk3*#`ait(cvC=b1-o8~D|29=}y)q6ss)bg{_fcu~w?kSHn5ntUuwHf%U$U?eS&@tn*N~l-AB;M` z=*KBtj9xn&6p)%0~xOyYG{ms_gB8ha9^{&NgXvFZtBXKgt^WZI6OJc}iC8>LkqE=f)}8`p1E`%F0WNpn zce!ketNBptd<`B(Zy(kALtNpru&ojil%fO62?s@ulAgF9y|ZkaBP2pP6Iba|g$Z8x zXbx@V2`^iY4AMW9Z9WAjO+NV+19UzibD#O5v`v57(&5_J4JvnOlcvJqZ zOknH`ENq1IMqmkgjC%0PBTNaRTdtbeBb(9CnOngEhG3` z2J{Y0U=BqG)*@>yBgFEV!c-2w4OA^+hz?YN0}RjE#!1P!UNSQ7w9l74Cr?tBh8c5& zyt9tm7|@GO8!`JinA}*k74@Jk{C{7_VxTyt2z>XS z1vf=bxE^PiBMdP)ShrR`&^2oBuc?jecywMXnjoi+Zn7#B212hnR=707zY43sV*_445%sJq6e^fr1!$7iG6V z5KEtS(ezJxF7$cM)L(dElS_<+>V!Dm7US66iXUKLZs7Vj9QD}{*Hhr;>v87PVShwz z;zhvl(!lm!_1q(EKmNjm@tgk7N`N2BVkZ?s83i`XKBJdo8~49ok{`Msm$~?n>wAUE zDWTJLli$W#FB2APdCZ_H>qsZyw8O0 zohDOb@7|vAm)JW8L6d*w-*xk|UlRzv?4cxrWeOKY5?lhF$*m~5-<6M4TXH{iH9eOO zuP`~@##wmdJgj%v-Y+tc@V3$Za;&t%oxz@_j@)~)u6x9q-R3sY{yRvO=C?2E)M+w* zl}iP4lTJJi<0i-It5?vWf(XYZ&e4wRm&W)TM+;_O!n<)3_e32(|A*a0g!vae@?aiO zt?}B2yEvNJOl~4rFccde;ir6A8EH8AntH2>D{$+$^&kc6_)d!yI#A}4 z`vaEY$DFAsHM7UsKFIHz#8+xCItU^7bKVDofbT*%JqKO$O!t=rVP`Q0H>TSya+(d_ zzQ^m{Tv0-ZKD?a5*nRHfNXv#Bw1w>kV|Otjl=!b)5(?;3tF!ljp;DhNVy&l?1G_U6 z4#w?<@$umTk?|4diym9VYXwXXLezBjq&{)P>pB4DBEabSPIUt(R?En+M_OLOpfwj^ zlQIzQ#MsVV`lnQjUnjzATK<`6ru|hHdPvK~;FNZ$k%mH?@bvb1guXn%Rkw6vtBj(4wvso-cs>`qYn|ajPbAkA7KNJ$8x!i#1fY1PWI2Jg^503NE^&e(G z&|=ieug^9Y7r#X5`#zjlbMoMfDjFYujizL|P|hH` z^oG0?aI^T^sG}2xeoP1VI^{E+AhGj>!t{v#HziHnSV2nIL;6a7lx;@xwg^bd#g#U4mr(X=xZLW zKDH%V0{VaC(3J8a@)9CEAAgq6xit=>9D7B>|Mk zJwA?uoT&k|CEMn@Xm~0eFy);zlCifY+pyus{{=$@^@SsaymOsC=Rdam)Uhly( zcN%EAK5>_~w8Wvrf#@ZX)~o20kt}6lX<*Z|*R0spX>gMi zP&uC=VqN9KhWq#bN|9XuELC#e0kvSTuMjeH;`bP|nLc;}x6Q%Q`!B4-{#)zoKsv(9 zI-kg|DWb6$4k1>QpEnrq zX-gDY+xAf5b@_rGSGAe%dw)4S=c*yrDSpjxM*(Bw2Bi{VqPLUdvXa3I5OkThd;jOx zSH9HOLMhOjr?Al0)if+W*vrlgp~e4zMyTVPW=z$uZqryW3JV7YWSGTPy6CmaUq2b?pyVXD_iX*iR})8Ak^~Ycm;J3G&6Ze8#$i8m^~&v^}TG z@IHAPI)N$i#qP4uA!77lLF>@M?gISdVVnWIc*XyWP6M-nLXxwo6lT*^CKq~=ZnBtaM8_@_0jsqpzIT`Y; z1n%=%-?ie61-49R>PD*0FPhT=ZY`6GizQps%=HCKR@??9(9`qJ9~Wpu^j)iVzc|?M zIju{fX=5t51(L%12&|=jq-M`X@nDe4qib75ujQ&MJU|kquCu0$s{|pd@j(1!2QIYzOuS17h zs{JSEE5n5R-%L;L4-AZ8=P&E$9}dT@5jyK>swB^N^tmObBk;1v!9CKhwETl_SrP&P zV`>Q_vQl3Vl56d#5R&U_^n0t|c(7>T%0EyAsJt5k(W2TfA++OWe_mX#N&h_1?UF#f z9J0tY4R8H>CPof@rUOGed*Gz?KqqB#CcEruOO~lCO#vLA>-0?56Qzs77cyjS zF=>wzb#E-sg+i&8M9R~j5Vm`6za0Mn*FfY`b(bp(Lf8nt_Th?ww=r~!Hf;r^rYvjnc6wQ_`z0x9g z@5V?jz4N3%zRF~IzE{Jw*;ImFnJA1zJ&FNeU@?E1era&`@`_pV*!G~~Z_vpdfCUig zBt>foZ*kLKZN4lRQPCjrd&LGf$`l$970z7zIc#7wMVePA&3n{xVg!JW8jUvWy6?Ny z>xZO36QBzCep#Vc!k-+qHn4XhNNo?A`Siam4t?hc9MijZIWeqhH`q5YH(`2irQU$W zeL<&R$-^fUF~tmVnu$pW!VR@F>c0tMlZsn|=b`C6rJ&+wT24d#oXZ|(`S4NGE z6-2)`#UEfDEs)o;&MEm=dg-_arz-lbOHlS`QxtcZGn2eoOMF`!bE;&Ii?u+JJE$w! z7&G|(*1=$h91Lgk4LRW+8z?~ilU*i`SrHU(9HuhPMumA81njCNM+;r}6%YqR)5Khq zAl>Ray4rqE1$cOUjNE*;$Da539S1x_h94TIY>YI)DAekv5PwsiD7bt{SR1;T55Og1 z(il1r@4h^~UQ!~gG_{3!IQmHc8P~PwFy?56H@I#;Nn)l5Yj(@d-p`9;cm>2J&ziMg zzO|-*($|c#>#Q>3+Dx$RnPXRc`<%1!K4YiqiuYpKG^@!yx zByk~jsC8kAHAu?VdPnE@Oq5OEtyLxw;CB+MucUPITwbB507 zb!Wn0H$or1PPDvSEHLf3NEt6_Cr0H3xgJJHe`Co^%#tGDr%w-Ba~x&MyL@*#%muOo zZ-4SnUl#Shcrz%rF_Wa5&Mu-{8H-GBxT-7Fv}AU1hL`}oSriZ2C0TO^aB=@SH9j}) zotbmepw4RmnNh*_qJ>D@B1?q33EP@NrGZk1R}<}22bpf=ABkUwu?7$-*^rQYD58Gh zk}88WQgU1etXVB2XbH!JiILEDg=t8`BfqO@npXgQ2-b`-L@)3=O-Im|RM5f_#<#gC z2d=jka#OUPx!tzi{U5lkM1kws{l55w>sSH@iA3g2pB71x@uP{20wYC%B^{r9WfU6F}-ZQ8H3LPOSK&yn9Ph#!SUrQU_mPsO09OS&a2ZGkHj*or}M+?6Sq zK^QXuJ+iDFvS}T%8=s^{PEVIqQC)VsF7d^9yF`k{%!aEk(I0e;f%g#(eL#$zE<&`G)(Y#AGA) zP(A-eB;CR>!@AZ*-0Hp2{X|l_bFizbm+e?(+x{nQ8}(3mSvRZx%wCvVL5!F5?dX0UEH1y_EROzth(q;CousRgL}A-j%uAikx7mzQ zo}_MG zT`xC`Rg3ELiQHQ;X9nZEf zqe3=!a2c|RS_%alMV5ZfHUnPv%~VO1a6^B6p#4-U(=RLHCDBS94z0tDK6sfw)QmlN zA|ilRg$oFDUOzs_J}Yp$W#y$;=j9R=jw+f;1DhrNDcvvmwa~RBvOihn#h%XWT4SHz zVa6P<)Wg-Ee13KcH=M&EekCzzb6O5o;;8`TjInM0o^9PiG;v8O%r0--tYBI=3Uj>G zQNJiv9;I7#BUFi*lr`$eCTmW)@}+IQ(J8^KHXF|@E2$7zt^9&z8Bu9`^}9t~U8jsf z$0g&5fk;egxPCj#Xz^8awLEHG9~6LvcEiB_UtLI;9Qv9#a>18A4Ka6v2eDo~tI^b-#_uWi<|eO3xlq%YZ`H zobTcJS|P)p-m%t}WQGTu_Cu{vZx`GcNax^}aO@!VJ02XS0P}Y|c&oli}KU>7%ZmILA9LpGwud= zqEh0t7+*9ff0Q($mm-OlNs};*fod-;pFPC9Q$(_z*M!C%F_k-36s7L?WtZ0W3ncpC z1e@gKWkrD@WWa7N&(o}k)HRoIE22>dk9etGG3DCLXS!p38U5>3*;x&s2S=`yJD5SK z^t)6IAf!Pp7rpkr6nYeQEN4us+9)jl~#{aU_J%Yinq1-R7n#jWq%F`I4^_{$!0cWt6hsB=mC`D{Q%SuMWjkEgCFV#^l>-xygyrQT8Yu zZaP(2Pd9kmdj$U{@lHm3!X1nhxWVZ2<$Ql6P<=0u0P(_&wraiIf*_L7Rxe*v(s5)F z&4U$!=|B@ocuS?YUMWOYt-78WF{xhVTjC^Ve=?|lk~yL&I&%W4RR`jqjO(_0l_6%( zylrsv{G*>l(hr~pj2q-oH6j7RNp)4Gl^K)1|M>P7e16J=8gt|abBh;|@vhfz@T&C9 zk|p~W;uoyOIXHh3gn_$wt-W8sShYQ1)%s}f{W==gQYZn!Edvma7Tvxy{Nr1ez~trE zW-Q5WQ5pxp!eFHMb4yxC?<56Lx~=O~7xh=oW)z4q4HXJogAJjf07;uWvnZQVUK&FNTX6I(qUzM2Bu#OQ+zCeu2i^&mdrBDP^dz+nn}$lQy+^=4mP16=1Zf%bGBP z=Xp`}<7shXAo48rBpS4&lnQS@Wx4ivma!Z^lXvDM1*HB-#^DF_F#!K=Ba(S$e|iP>ESI#8Z1g@)_G}J^84mOPlWn3cxAvJXad#LR@@DxyuVbA} zOU{16?7g|lvP0XgPDR+vvZG{gyVS&7)EHatZ}%$fZB;t6%>5s_c2zDqv&wpOSz&aB8@>(38^H_7!Y6TO2lb2aP-Tss@1&xjN z=J98NMTcV3gMM-W7FUApp>`-9^=_Vx`@MOdtsj=apH%ZDrPX)~{L1bJz~ZX;qf-8A zUPiy6Y29+*`(E{Aupo)PAQ`U}!HuW2SYwU4B34QlJ?8rRlkck}ME@$bDr_$7GT&Yk zI$HQzm4aR}hPwVB19u5WrUF4@-JM^AAH$_rW%|c?SEop%P1nGQg)Ao#H9P%;(u<$I zILu(QW5<^9vhMVui+=qPD>ThbF>q44_(1cl2+`U(Eoje^5SvcZD1a9|8KpFua@)Zf z1M!~8;OGzfMCy@;S!77YFIN^W{cW0h&f+;7>k@4++#n7kvP-~prenVL!0!IClIUC( zd_)GE?_%~q-HTT{rfQlrc=YHI(pq(`c8ldP7u%P;6h*O25DHvZ91Pan$>nsm!ja~s zy{h3&5H{dbS00`kN538*gx7KQdtM+SpIsK&Y2N#mdKqqUu|L5GPMqn~ z!Q3r<9zCDALpJKZgfYS*Q&vQqYIyvCGBdbIB9<8t4(gch*tCkO6=hF}L|7N3^iSc!D&{m{I+77ZZXgZ3jNR|Ta3LkS=C!hd0h z*rMx8ztKY&5$kd<+bJJ~Xz>?52Xmhuu@T;GB-RSmvgZ!Etn=T+(Atmrr+zb_D|vLd z`NVvjYYg8Jmxyow8s8PyHqt>`ZZ0dVj8oHdg2qjCgvyeh^Vi|BqNcJ`d4D}O{huV3 z3CGeZs&Y&e5_$oY3GSgpfiy?9!Iz_OG57J7TWaM^>;=mxy!${deLjx=7qtW&Z1gY} zC#{7WHbtoBoLA8US;T}BcH)zTkA1q@^gKV!bnPaSXeN;}r*_F&wVHWrcC{iQO}n{( zh0N_(07u1z{ZCt~Rw{^df^B5WF82Cgpa74J`sAJ1YHgqK7>d|xW!jL~D#;s>4YG1~_is1qRfz&g+QtEfZAxf2S29+jBBc77 z(TX4_9oZRYh_)`MsN=<$ znv+r&`|U&oz2Q4bP{g{FK^EK(9zZnjw!N8TU5q%6V-dVY$7{gFU7Q6doHlLF2WkAE zE_AQes#vu1ZYoai$wF_4piXmS_|%|9aCiz~MzIpqf15ZR$ij<7f89y?n0HM0*zrW4 zwqk@Qd)(kp-ZWNh5IH-rfQsRNpi3?{VTS++uZpBYxY7{`M2m`fD-GZAeBpl3YZc~C zrjL`~g}bbxq^Pbp*>T=ubs>^+v-t~%b3f}mr#_ddvd_1g@&gJD=FM1 z{>&mI+MJQjE6Tc14HgI&NyoaT#QXIW6Y#3P$L*9;9j*T^wLSrFTak_;vpA2QQl7a= zi=&XO_;P7$58dp?#6WT+^HA&c<>sRf*D-eTJGUiHv)>s12h|L4>Ng492`%&LRfnZ+ zT=o}4g{=#pY!)3hTeouUXOl+FCh4^4|9qAgZ?PULY}w2rKYwGTdj z@8_d|O&OX*CNcBFX}n;(dAhnTWks^t0vEf>d;6rQ|#v16Y zX~Cj}U;4gl2wu5*Y3YYHdZ_8dxlsbMCpqpuq+Y`Uc<9OmjsNmDNF~i7TBlY?i9q4( zLD{#mM{N`4r<<4(<&M6WCYlvrH_Ty!(0aZieKznkysg0GPDn*OX(T>;wPSxt%_pm8 zVm93VjQ^m+DbJrwJ#sf{a#`LY6IdUmd~i{@#dc9rZ+!U2P6(wL6=IoiHoihbRUyP2 z`Aiu;*i4gSk;yUjn?8uOcv}s3npK)=yi|(x2R4OvO2q27$YLpwkK-+_Kuyp2&Ff+8EU3w&};c=@>(LSxBh4lrmYg$J%y0+t-BC^UPlTk<6&i8qI*Cdg_3_JWuYQXw| zSVo03vbJNHiyLnu34HM}^4$?7-{X*dFxRb)Jxkti@b*n${k(nN+NQ?@j$9XKf&h(N zC$Gv}hR|fnqTP%AQh^u1HJJakkpU)P4;_cjR9HvyXNEU@4Umhf3yiR`g;s1wbKwaqL ztNWv}z2~VTbLYsG>?uT3^O zupo^+Aew9?q#(pzoj>|+w|wXBY}EG{4!9&(fTv&7h*GNz4F92G56(n$kzW)tzzWJl zKP+;h&iUGnkK4i-;<3M{{8kyXqt_6!dWRJ|WrCcXQ$8yd za-?OfI7zyh@>k!}(?ofUP$&~ddifSvMwa(uFa@$#C)m#rQ(3&>x=nTcLJA*y8KYE4 zx)QR6rjLe2f{CdH6bF;tnL{CVrRut!!J`l7B)BQO+g-&{5oXFe#~pM9kp(eM><@UvBPszvb=B3mxjb8B&Sa;h`)VJxJ9qXZiPnDc4Tj`6oLl#teT%#Lz zMx}4ZEJ&#_bgvtBMRSDgtH>v0)mwa+$c$T#&b>lK!^rYxoCRk3r&LUa-Nb}!yLPJR z3t1#lb~#e31e@lvTnD^EKgM#4w{BUZ7TCzVv#mSd1WeH%nj~UZ}Ogg9i;bmW-hgdtn@aR#5#?K%xfESaHexk;h$hw!v ztGv&*x3_1RSLk_b(c7~`k?$pW_k zG=XQ7cm5VZkx#l}V z4`C8>)T%hP#QZXFwYXtiU(D@;AMYDf=|_f4COoVVkyaDpH5W{y0U;xDepiu@-c{|};DA?FVEP*1qHJdJM904 z@=+8T1NnPBoTv_+46j&Dt$jo<+~QZtC>-WtoQT(4!%T-&E~(7EMkzVYiPW|&DAChhNR;bV{i9hr>%NsCMD8%Ej2* zH57>{h`1))FT1QFCzV?T`PK1VEkv|v?7JmpvpK<~NS2!H+&=0YUA+~lO0Elx zGhT~j40zr~;bk>f$1P-9{>TlVks=jOhb-1o^CI$m%Ev|N+lTPg^OBkr>K2b&2Qw?l zdeEH@NJ7NmL9))U)8bU)9)44YKvrxkp3{1RFwp<-2MXgs-0DA=bS$-xy0LU& z9v*#OoSg0&EEJ@bdFZmKL7|IB;v*hZ02&?-p9!fH2$EtZisnKOx2P2OTjjoOK}fd-J?*!$LWPcLi`HneUnzyBJ#b0bof{Tc6$uc`K`XT35_7-- zT2zP|W2eN+f@etDWm#;d;}1Ad8Rwq$_77WoX8tgk&lmgs z^+|bD=S}p>gu?Zff|cwWx6%4opa0{8&j#YBV~!WU_vrt9I4t|*0^!G^GHaVBg zB$XML!MKIdYWAokLgBpKV3M+$n~G>EptyX$0#2T#P<}rHU{=;&z6!1@D`niOz_Hby zz_XvoLilqpF?x*XLuV5bjm-@k@iYk3`oV2XiF|1Pas?~m+OO&LXqE}-uutW+)g@*~ z3dO%+Tx_)K?^WPKEbJF`W^{|t&8EFH^FOd2u=wI5AQ#0r%kj0A2X&TP*Mjg!LolDG zGM6cHVWx#1iePAP%3Tpln=&GKkkygxWOf)aY5c~Zp0swo(wwLxeHXv7Wav=NNf~a> zOYevPMAp+a>d`X9Ew_+ivKYh1}GMW5(2^6mjZ=n=D&YIf}M2kGF%Nh)e zB>WpHn&+fSDm5Ppva+R8mG|QF^6sj4)gUm07AR(WwMfMTJ46Y6B?40}=KA|9<@1_K zgl)ycB33K4&ikE*Ep=6F#v7K7CF}a8i?LV^{vSHpikGzpA z-iOQ)q0{968+utbWw%lTDN{+>dREUl@^Yyd8Rcbvc>hwtjwkRsilZ-0VX~)8$m+% zZ=`qJl_}8vwiY#fJmf=kp=K?Wh+gabzBoU{h0RMS8y~U*?H()YBsbH^{cC8U8_;}h zlqyst+E3jjc9C9WGH^FHgj%U~-}Ev)MVfx8e1uG#s^zeiKilI>Lp)FpQ_?jk+-}ii z(-5D27}BCx7Qx)^tEaP0cDaX{M>LO_*UcA))-Ln*GCh?W8{gUW_GfE#wME=u9t=9U zOj!x*-`B{vWI+urGbgD_2HUJPch`R_6QUls(wC^`u`1k@WihEl)0WopFTes<;6kf$ zR4i2b&uCbf#w+~B2+?fH&=Qe`Iqmtp zbl+9ROZtKf53V+f46E(ol6Z%Y4A_ax@$PG+=2pUzY z1Cr=Edgc4>#!cqV8CXisvx~KvYGv6giCiLKyH*A1Y3lzwH~!zRi?C^5cY1HOL-fMd zY*zG;Yq!^3X{Zm`pR>V3y9l*}>eM5FLzT55z2l%0DRba-{>n%C;4LF_x!_yN^6IP8 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 literal 0 HcmV?d00001 diff --git a/game/gamecode.cpp b/game/gamecode.cpp index 78ee026..beca6cf 100644 --- a/game/gamecode.cpp +++ b/game/gamecode.cpp @@ -85,7 +85,7 @@ void TBrick::TryDrawAppear(int ipos, int jpos) *SE::Console << "TBrick::TryDrawAppear"; Vector2f centerPos = GetPosFrom(ipos, jpos); - Vector2f blockHalfSize = Vector2f(0.5f*CONST_BRICK_WIDTH * Renderer->GetScreenWidth()/480.f, 0.5f*CONST_BRICK_HEIGHT * Renderer->GetScreenHeight()/320.f); + Vector2f blockHalfSize = Vector2f(0.5f*CONST_BRICK_WIDTH * (Renderer->GetScreenWidth()/480.f), 0.5f*CONST_BRICK_HEIGHT * (Renderer->GetScreenHeight()/320.f)); std::string texName; if (Locked == 2) @@ -153,9 +153,9 @@ Vector4f TBrick::GetColor() Vector2f TBrick::GetPosFrom(int ipos, int jpos) { *SE::Console << "TBrick::GetPosFrom"; - const Vector2f BorderShift(CONST_BRICK_SHIFT_X * Renderer->GetScreenWidth()/480.f, CONST_BRICK_SHIFT_Y * Renderer->GetScreenHeight()/320.f); + const Vector2f BorderShift(CONST_BRICK_SHIFT_X * (Renderer->GetScreenWidth()/480.f), CONST_BRICK_SHIFT_Y * (Renderer->GetScreenHeight()/320.f)); - return BorderShift+Vector2f(CONST_BRICK_WIDTH*Renderer->GetScreenWidth()/480.f*ipos + 0.5f*CONST_BRICK_WIDTH*Renderer->GetScreenWidth()/480.f, Renderer->GetScreenHeight() - CONST_BRICK_HEIGHT*Renderer->GetScreenHeight()/320.f*(jpos)-0.5f*CONST_BRICK_HEIGHT*Renderer->GetScreenHeight()/320.f); + return BorderShift+Vector2f(CONST_BRICK_WIDTH*(Renderer->GetScreenWidth()/480.f)*ipos + 0.5f*CONST_BRICK_WIDTH*(Renderer->GetScreenWidth()/480.f), Renderer->GetScreenHeight() - CONST_BRICK_HEIGHT*(Renderer->GetScreenHeight()/320.f)*(jpos)-0.5f*CONST_BRICK_HEIGHT*(Renderer->GetScreenHeight()/320.f)); } @@ -489,8 +489,8 @@ void TGameLevel::ReloadBlockInstansingList() itr--; } - Vector2f posFrom = BlockMatrix[i][j].GetPosFrom(i,j) + Vector2f(-0.5f*CONST_BRICK_WIDTH*Renderer->GetScreenWidth()/480.f, -0.5f*CONST_BRICK_HEIGHT*Renderer->GetScreenHeight()/320.f); - Vector2f posTo = BlockMatrix[i][j].GetPosFrom(i,j) + Vector2f(+0.5f*CONST_BRICK_WIDTH*Renderer->GetScreenWidth()/480.f, +0.5f*CONST_BRICK_HEIGHT*Renderer->GetScreenHeight()/320.f); + Vector2f posFrom = BlockMatrix[i][j].GetPosFrom(i,j) + Vector2f(-0.5f*CONST_BRICK_WIDTH*(Renderer->GetScreenWidth()/480.f), -0.5f*CONST_BRICK_HEIGHT*(Renderer->GetScreenHeight()/320.f)); + Vector2f posTo = BlockMatrix[i][j].GetPosFrom(i,j) + Vector2f(+0.5f*CONST_BRICK_WIDTH*(Renderer->GetScreenWidth()/480.f), +0.5f*CONST_BRICK_HEIGHT*(Renderer->GetScreenHeight()/320.f)); itr->second.Data += MakeDataTriangleList(posFrom, posTo); @@ -508,8 +508,9 @@ void TGameLevel::ReloadBlockInstansingList() Vector2f TGameLevel::GetBlock(const Vector2f& pos) { *SE::Console << "TGameLevel::GetBlock"; - int x = static_cast((pos(0) - CONST_BRICK_SHIFT_X*Renderer->GetScreenWidth()/480.f) / CONST_BRICK_WIDTH*Renderer->GetScreenWidth()/480.f); - int y = static_cast((Renderer->GetScreenHeight() + CONST_BRICK_SHIFT_Y*Renderer->GetScreenHeight()/320.f - pos(1)) / CONST_BRICK_HEIGHT*Renderer->GetScreenHeight()/320.f); + int x = static_cast((pos(0) - CONST_BRICK_SHIFT_X*(Renderer->GetScreenWidth()/480.f)) / (CONST_BRICK_WIDTH*(Renderer->GetScreenWidth()/480.f))); + int y = static_cast((Renderer->GetScreenHeight() + CONST_BRICK_SHIFT_Y*(Renderer->GetScreenHeight()/320.f) - pos(1)) / (CONST_BRICK_HEIGHT*(Renderer->GetScreenHeight()/320.f))); + if (x < 0) x = 0; @@ -523,6 +524,7 @@ Vector2f TGameLevel::GetBlock(const Vector2f& pos) if (y > CONST_BRICKMATRIX_HEIGHT-1) y = CONST_BRICKMATRIX_HEIGHT-1; + return Vector2f(x, y); } @@ -813,30 +815,31 @@ void TGameLevel::Draw() float tSW = Renderer->GetScreenWidth(); // Screen Width float tSH = Renderer->GetScreenHeight(); // Screen Height - float lWTW = tSW / static_cast(ResourceManager->TexList.GetTextureHeight(CONST_WALL_LEFT_TEXTURE)) * static_cast(ResourceManager->TexList.GetTextureWidth(CONST_WALL_LEFT_TEXTURE)) * tSH/tSW; // left Wall Texture Width + float lrFBO = 4 * tSH/320.f; // Left/Right Wall Textures offset from bottom + float uWTW = tSW * (static_cast(ResourceManager->TexList.GetTextureHeight(CONST_WALL_UP_TEXTURE)) / static_cast(ResourceManager->TexList.GetTextureWidth(CONST_WALL_UP_TEXTURE))); // up Wall Texture Width + float lWTW = (static_cast(ResourceManager->TexList.GetTextureWidth(CONST_WALL_LEFT_TEXTURE))/static_cast(ResourceManager->TexList.GetTextureHeight(CONST_WALL_LEFT_TEXTURE))) * (tSH-uWTW-lrFBO); // left Wall Texture Width float rWTW = lWTW; // right Wall Texture Width - float uWTW = (tSW - (lWTW + rWTW)) / static_cast(ResourceManager->TexList.GetTextureWidth(CONST_WALL_UP_TEXTURE)) * static_cast(ResourceManager->TexList.GetTextureHeight(CONST_WALL_UP_TEXTURE)) * tSW/tSH; // up Wall Texture Width float bWTO = (lWTW+rWTW) * 0.5f; // bonus Wall x-Offset - float bWTW = (tSW-bWTO)/static_cast(ResourceManager->TexList.GetTextureWidth(CONST_WALL_BONUS_TEXTURE)) * static_cast(ResourceManager->TexList.GetTextureHeight(CONST_WALL_BONUS_TEXTURE)) * tSW/tSH; // bonus Wall Texture Width + float bWTW = (tSW - bWTO) * (static_cast(ResourceManager->TexList.GetTextureHeight(CONST_WALL_BONUS_TEXTURE))/static_cast(ResourceManager->TexList.GetTextureWidth(CONST_WALL_BONUS_TEXTURE))); // bonus Wall Texture Width //const Vector2f wallUpPos1(240.f-256.f, 320.f-64.f); //const Vector2f wallUpPos2(240.f+256.f, 320.f); - const Vector2f wallUpPos1(lWTW, tSH-uWTW); - const Vector2f wallUpPos2(tSW - rWTW, tSH); + const Vector2f wallUpPos1(0.f, tSH-uWTW); + const Vector2f wallUpPos2(tSW, tSH); glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_UP_TEXTURE]); Renderer->DrawRect(wallUpPos1, wallUpPos2); //const Vector2f wallLeftPos1(0.f, 320.f - 512.f); //const Vector2f wallLeftPos2(32.f, 320.f); - const Vector2f wallLeftPos1(0.f, 0.f); - const Vector2f wallLeftPos2(lWTW, tSH); + const Vector2f wallLeftPos1(0.f, lrFBO); + const Vector2f wallLeftPos2(lWTW, tSH - uWTW); glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_LEFT_TEXTURE]); Renderer->DrawRect(wallLeftPos1, wallLeftPos2); //const Vector2f wallRightPos1(480.f-32.f, 320.f - 512.f); //const Vector2f wallRightPos2(480.f, 320.f); - const Vector2f wallRightPos1(tSW-rWTW, 0.f); - const Vector2f wallRightPos2(tSW, tSH); + const Vector2f wallRightPos1(tSW-rWTW, lrFBO); + const Vector2f wallRightPos2(tSW, tSH-uWTW); glBindTexture(GL_TEXTURE_2D,ResourceManager->TexList[CONST_WALL_RIGHT_TEXTURE]); Renderer->DrawRect(wallRightPos1, wallRightPos2); @@ -985,6 +988,7 @@ bool TGameLevel::IsPaused() void TGameLevel::Update(size_t dt) { *SE::Console << "TGameLevel::Update"; + *SE::Console << "before_upd LEVEL_STATE::== " << tostr(LevelState); if (LevelState == CONST_LEVELSTATE_NODRAW) { return; @@ -1164,7 +1168,7 @@ void TGameLevel::Update(size_t dt) { SetStandBy(); } - + *SE::Console << "after_upd LEVEL_STATE::== " << tostr(LevelState); } @@ -1381,7 +1385,7 @@ void TGameLevel::UpdateBallList(size_t dt) { mustReloadBalls = true; } - + if (BonusFloorTimer == 0.f) { Vector2f ballPos; @@ -1392,6 +1396,8 @@ void TGameLevel::UpdateBallList(size_t dt) { ballPos = iBall->GetPos(); + + if (ballPos(1)<0.f) { iBall = BallList.erase(iBall); @@ -1417,7 +1423,7 @@ void TGameLevel::UpdateBallList(size_t dt) Vector2f ballPos = iBall->GetPos(); - if (ballPos(0) > Renderer->GetScreenWidth()-15.f) + if (ballPos(0) > Renderer->GetScreenWidth()-15.f*(Renderer->GetScreenWidth()/480.f)) { iBall->ReflectToLeft(); } @@ -1427,14 +1433,14 @@ void TGameLevel::UpdateBallList(size_t dt) iBall->ReflectToRight(); } - if (ballPos(1) > Renderer->GetScreenHeight()-16.f) + if (ballPos(1) > Renderer->GetScreenHeight()-16.f * (Renderer->GetScreenHeight()/320.f)) { iBall->ReflectToDown(); } if (BonusFloorTimer > 0.f) { - if (ballPos(1) < 13.0f) + if (ballPos(1) < 13.0f* (Renderer->GetScreenHeight()/320.f)) { iBall->ReflectToUp(); } @@ -1470,7 +1476,6 @@ void TGameLevel::UpdateBallList(size_t dt) else { canThrowBonus = (BlockMatrix[i][j].GetLocked() == 0); - BlockMatrix[i][j].Hit(); } diff --git a/game/gamecode.h b/game/gamecode.h index b83f497..d26eb77 100644 --- a/game/gamecode.h +++ b/game/gamecode.h @@ -19,9 +19,9 @@ const float CONST_BRICK_APPEAR_TIME = 200.f; const int CONST_BRICKMATRIX_WIDTH = 12; const int CONST_BRICKMATRIX_HEIGHT = 13; -const float CONST_BRICK_WIDTH = 37.5f; +const float CONST_BRICK_WIDTH = 38.65f; const float CONST_BRICK_HEIGHT = 0.5f*CONST_BRICK_WIDTH; -const float CONST_BRICK_SHIFT_X = 15.f; +const float CONST_BRICK_SHIFT_X = 8.2f; const float CONST_BRICK_SHIFT_Y = -16.f; const float CONST_BONUS_APPEAR_TIME = 400.f; diff --git a/game/main_code.cpp b/game/main_code.cpp index 9cad816..e95f035 100644 --- a/game/main_code.cpp +++ b/game/main_code.cpp @@ -32,17 +32,18 @@ const std::string CONST_BALL_TEXTURE = "ball_mod1"; const std::string CONST_BALLGLOW_TEXTURE = "ball_glow"; -const std::string CONST_REFLECTOR_TEXTURE = "reflector_mod1"; -/* -const std::string CONST_WALL_LEFT_TEXTURE = "wall_left"; -const std::string CONST_WALL_RIGHT_TEXTURE = "wall_right"; -const std::string CONST_WALL_UP_TEXTURE = "wall_up"; -const std::string CONST_WALL_BONUS_TEXTURE = "wall_bonus"; -*/ +const std::string CONST_REFLECTOR_TEXTURE = "reflector"; +const std::string CONST_WALL_LEFT_TEXTURE = "wall_left_mod1"; +const std::string CONST_WALL_RIGHT_TEXTURE = "wall_right_mod1"; +const std::string CONST_WALL_UP_TEXTURE = "wall_up_mod1"; +//const std::string CONST_WALL_BONUS_TEXTURE = "wall_bonus"; + +/* const std::string CONST_WALL_LEFT_TEXTURE = "left_frame_fragment"; const std::string CONST_WALL_RIGHT_TEXTURE = "right_frame_fragment"; const std::string CONST_WALL_UP_TEXTURE = "top_frame_fragment"; +*/ const std::string CONST_WALL_BONUS_TEXTURE = "bottom_frame_fragment"; const std::string CONST_BACK_BTN_TEXTURE = "back_btn"; diff --git a/game/menucode.cpp b/game/menucode.cpp index 55baa38..ffb9ce5 100644 --- a/game/menucode.cpp +++ b/game/menucode.cpp @@ -27,9 +27,9 @@ void TGameMenu::Draw() RenderUniform1f("Transparency", 1.f); float bkgShift = MenuPos*0.1f - 100.f; glBindTexture(GL_TEXTURE_2D, ResourceManager->TexList["main_menu_bkg_left"]); - Renderer->DrawRect(Vector2f(bkgShift,0.f), Vector2f(480.f+bkgShift,320.f)); + Renderer->DrawRect(Vector2f(bkgShift,0.f), Vector2f(Renderer->GetScreenWidth()+bkgShift,Renderer->GetScreenHeight())); glBindTexture(GL_TEXTURE_2D, ResourceManager->TexList["main_menu_bkg_right"]); - Renderer->DrawRect(Vector2f(480.f+bkgShift,0.f), Vector2f(960.f+bkgShift,320.f)); + Renderer->DrawRect(Vector2f(Renderer->GetScreenWidth()+bkgShift,0.f), Vector2f(960.f+bkgShift,Renderer->GetScreenHeight())); if (SelectedGame == 0) diff --git a/windows/DoubleHitBalls-win/DoubleHitBalls-win/main.cpp b/windows/DoubleHitBalls-win/DoubleHitBalls-win/main.cpp index 8c4a983..fb69352 100755 --- a/windows/DoubleHitBalls-win/DoubleHitBalls-win/main.cpp +++ b/windows/DoubleHitBalls-win/DoubleHitBalls-win/main.cpp @@ -8,7 +8,7 @@ int APIENTRY WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst, LPSTR lpszCmdLine, int nCmdShow) { - int width = 800; + int width = 700; int height = 480;