From 26f0b0c0ec5136ee59dc870e29b2cd13d4682a44 Mon Sep 17 00:00:00 2001 From: PolishPigeon Date: Sat, 22 Jan 2022 09:38:29 +0100 Subject: [PATCH] feat: Adding resource handling Chapter 2, changed game.cpp so it comfors to the new way of handling textures --- .../shipsheetparts2-highercontrast.PNG | Bin 0 -> 27386 bytes SFMLEngine/makingAGameTick/app | Bin 33232 -> 76624 bytes SFMLEngine/makingAGameTick/game.cpp | 20 ++++++--- SFMLEngine/makingAGameTick/game.o | Bin 32648 -> 123792 bytes SFMLEngine/makingAGameTick/resources.cpp | 41 ++++++++++++++++++ 5 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 SFMLEngine/makingAGameTick/Textures/shipsheetparts2-highercontrast.PNG create mode 100644 SFMLEngine/makingAGameTick/resources.cpp diff --git a/SFMLEngine/makingAGameTick/Textures/shipsheetparts2-highercontrast.PNG b/SFMLEngine/makingAGameTick/Textures/shipsheetparts2-highercontrast.PNG new file mode 100644 index 0000000000000000000000000000000000000000..b344a4b32525415724d08b687124487cd43839e9 GIT binary patch literal 27386 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 Tsq*)amo=QKD#{sbN#p+m8%MR3 literal 33232 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 J32dzK{{Ub4p#cB@ diff --git a/SFMLEngine/makingAGameTick/game.cpp b/SFMLEngine/makingAGameTick/game.cpp index 13f3e1b..b825e6f 100644 --- a/SFMLEngine/makingAGameTick/game.cpp +++ b/SFMLEngine/makingAGameTick/game.cpp @@ -1,8 +1,14 @@ +#ifndef GAME_CPP +#define GAME_CPP + #include #include #include "constants.hpp" +#include "resources.cpp" #include "basic.cpp" + + class Game { public: @@ -20,18 +26,16 @@ class Game bool mIsMovingDown = false; private: sf::RenderWindow mWindow; - sf::Texture mTexture; + TextureHolder mTexture; sf::Sprite mPlayer; }; Game::Game() : mWindow(sf::VideoMode(640, 480), "SFML Application"), mTexture(), mPlayer() { - if (!mTexture.loadFromFile(PATH_TO_PLAYER_TEXTURE)) - { - std::cout << "NO FILE: " << PATH_TO_PLAYER_TEXTURE << std::endl; - mWindow.close(); - } - mPlayer.setTexture(mTexture); + //TextureHolder textures; + mTexture.load(Textures::Airplane, PATH_TO_PLAYER_TEXTURE); + + mPlayer.setTexture(mTexture.get(Textures::Airplane)); mPlayer.setPosition(PLAYER_X_POSITION, PLAYER_Y_POSITION); } @@ -124,3 +128,5 @@ int main() Game game; game.run(); } + +#endif // GAME_CPP diff --git a/SFMLEngine/makingAGameTick/game.o b/SFMLEngine/makingAGameTick/game.o index 5a1e7b0e779a3d2842e2091c784bfdc1026f76da..bbecd155a6371969fc64c4de8a4f72a8847de9d0 100644 GIT binary patch literal 123792 zcmeHw34B$>_5URS#g(Y2)T)gU6*o*mfZ!S+4-yuM1QgdtmIn!DGkHOI3{v5(zaQu0MFL3-t4u6U8R~%oD@Yfvw4Tmpr_%g!Za{Lv9zvK7@gumzbs|f$V z@r?-o$nn=Wd>!E?j{gbapE>>)gqu13SA>7#_}>w3;rJT}|H1LC2)A+kp9ue#<8LC| z&hdXC{5QwnLijev-$D2vj=zg=2gl#z@O^~;<@g5(KjipF2tVdHH8eFk{y91LlgshG z9QH%FAIJAc*q`GEaCjhx2O&I|c$6yc9Kz8c|AIQ|&IpK|63IQ}$; z&v3W~;mbiM2TT$)%{v4noF^?&Pl*E1DM z6YKq?>FX<&Bvz^tUUzdZxpFnKtn;#TJ*_B~PKFS_^iWj@*fLR|OhLRPv8BG^bXV;3 zWm~JMZWUe6JUN8KUUI_g<5< zJE*0W_H$dEn|H~P?oY2q%Y02#SKPF1u`-b-=6(F}$5IzaYj?uacEBF(1c9Q!eEgs+rl+@$iCS7y>$9w{O+z;dI;qW z8r1DS$p`k>CY1N&f*eZK_6u8HI=Q=I$@JToB<`&2`q${y`zz{KV4J=LcKZZ^qg%y_ zwF?HJNV*Ws_oGAnXrUi1^`m7v$_4eKay(8NtT2Hp=Tg-=@A?sTM@{|&nC~KHCpau2+owCq3mVlYxX*|8ip5!-4wDW0!WTkvsoodp9 z>^gqA)aiUL;P#@5C0C-u%AQmR6W<^Wl)CFubXRQ#ZbhlPzVUg|=8}Zx0|NPA6skLW z{b6fq1^1C49w>oxs6stTO}B*HgNH8a?z}%p3rR%P7j+M~`6~3QWynPCgWaEYA6~ac zm+tC(yKDX8#P)?ZynR&X!IXc%qtmx9&f7W?$l;xbct}<5*1>=r3FT}(3{Y<8L4K}2 z%dV7O(4^C?mn=zaTDW7s^vU@1nF%*{r-v`x(XVs#lF6G<&ITI&9N*DzJyqj?C4LxX zmbIqZZm3vVMgC!vvRc;~p{?68Xo5z%QZ)ZM3}fBW1jt7%O>CGo;LYdU_JNtB%e#I7 z9bocCFkLs`QD?xT-N^Ktw+5WH9fm+4Sp#lFou;Eseute^L0}iurd8(-tE9F}J%@BR zB;0kBZ>QFnQHmlrk6uk{F`JJ@hJce%&5ABF9rT}9KEU;1(pwwa-Xf^Bb{dK1xPY8odK5vy)C?9 zW1j&x(|Y`-8#a6ly$!gT7W`1--+dt|4ll#waAZUdbfFP%e8NxC|>qpa-#ual3I zEyMvPy+gIxqVDveF5uQ+D>*jLvtz!Z%XXanG1!gK|DTre>T#1N<&SP_Yig{kNjJ8( zXqwuZj>fuVN4mYSW%k);CnqQCT3hg|vo4+A(%ICM-_n}SpIg(^Sno_r%}aN-r#jB6 zYO0x^Y9HFxGFufw{ODTubl2j==gRt#f1bX*Yx1^o%(=_ECU0Jn7_=Du6pnhy^tZe6 z+{pH>s=jV)TNnJFO5D;_rTqDl>6^Q%IA2~@)j&#xkKeSoYLN8RG`-_)h71*5c}VnD z0_fsm0?0;yY)|%w(Ap}YL{D;&f32z+an%_~-Cj;Ttz271Wl`ta;pQcoz4#!7tu4!^ zJXXoX5J)^e{{tr>*KE<*Jt2)Kqi+j%jxq#PQQn9oM%N2 zzr0WM8IbHZtIy4S`e7Y?CzYoQ;XDVgu8b_!@)w2QGd{%=a}C#Q$X zK0;GtSX|H|0!HUL4s-?T8{092mp(n<_U?cmG0k2o)+T7r(%IUtVqs!?pJx+qlFia! zyS<_hP5j;zQ;&t)`(XC*ib^!DE&bSzq_Vz(hDN6fJs-l-e|31!TyiB=_+pve^%Q=trZI_TZoDR6ctf|7 zJ`xGu+yk2GuIRIVYd^JSQxlFQ(>GNtp|us2<}L62;UmChgEm@Zw+#1DjdDYSx12+x zTX^Q6b)PY(H`f7wUlw>~lBZ&cQ-R6ssll{oR1(h^DGTkD=$#G_xedC^U5-Q~5?)it z%eLU#s+J2QTIVLT7n!4wk7NMMep|H_a=t3`t%Ou7B2Rx*<{&kYQkhGxq&kX1L@j6` z6_MPmOX>Nw)~Sx97gsz(4j#e5e@73wP<3V9p>{TurwZzkqhyuIf9`BvMHlo>p6++X zk5lJU8uFHjA<0A&xp z4zDz^s%Uvym`22Gy=qd^E%jSh2_EdOelcX1rH~)?-MJpNzAoaM{Ov_d`)HZCzT%w3 zy7d0a>A?4pgG9=J@T_*pbaHAa)7Ky^iOB31?ieulJnR9{uMNB{;yEj~`jE$`Q(ld_ zpnznLguB$t(2;({3j}h70V22s>F3VbT0)JeJAs?o?KY|eH}M&_G=HwmrBgTcEG*Q! z{kbrDI!OWlpxwnFc1|9x*KC0fDalrwIwk1429Z4~-$mSS{sTr0_L1&J zE&td>FB#?S)x_*Oc4>@|zS#4dOY%s!YTAx%U~FXu{Ius&!xi;$y z?!sC$WhUxCI=XdWEgSyLcag|3QXi7jFEWlTf^RUDL{o!FD9a8t~MnXBS`CeaphZGFS@XmTi}b`jKFXvN6{p_!!D6!Yl}em>}igKl{>x$UhNp?El0^7&UTcjMB* zV4(0E%;LlY3vPJ8Q9ETIakFiuO(gFZ3R(hP{% zlCmMV!-B~GF|HbdEHvnE3e*ojO=Hr+HD#BNzCw5m*SqaNHMgUhTTmuK-PpAA=Tvm% z07d6;QFp6m$KtB~0WYfki|XN6<0~KLStMi$Ljh`E(DK>x>8Msbr-HjHN2I~$c$GG`OzcPPf{norNf|g(Jbbc4Lg6(Ff zc(tteYQ$rTG$?Je?yWO4f>0jX#AvWyc>(>AxFB#UMn(40^3(`nA76wOEODSCwEGeV z#oUQ4Ij?tQ7!7o5Eh)?MTg&77|JyL+barPsz zX^$hU83MwOxII1liIt%se^Q>Ev5Vf}>s)Kjb3NJxMW>D7d5+HM%?g&e4dm;@AavlV z5i$F6TQlElO?PJ!!^N{dE5r!Q8x#Jb$8B1qYbgTuqDHURbYf)fN5%rH@SImqYd=^? ze$YyK@QX{T2Eo_H^ou=?ZsaFnE)@87to8dk& z^`qTf^Hdv*rqSM1wj=skpkprVhO=_bHPCfKEkW}e_wI|B>i1kP+49UGGIJp_;x&kn z+CUkQt*5cLXIiWF1@~wkU8bvfbR^xqbx3XrX6tp`Ks{~L+J^H2xifHg+aSDy8_-Uu z~NGq?t$Gvg_qJ&iDkIEIJaF_Qh-FR{edzu6OryHxEV=7ipcdvew zI@ev~@u-BR=~`dWhwfKaJhiE>Hd=_Gt44lsNN8-^p!2zNolP{<<#|J0#34p&O-+~S zu24^!iHrd-nqWPsv!QOHt#yS0jxFlcyteZ4dx%#L>)4=rYjEcqw^hWG&i+0`c(Cxe z82FOy?(B78amTFE^7fi*YigTP3Bywqf#+cYPsg|q*#zVleU5FUV&R+px8CCkZRjTC z_MXhga~;}hT;o!Nu3Hb(ZT#4=XXg)@UfbD{?#wSL8d^NG@XV2&>Syt(41j>13m}`r zBO}iE3#U6dcpZ%}Jp87vfgJX^ZmQE~US6M19=v~ldI#fJ;Pjuaqv%iK(7ao6#vZcY zWMsfkN;{WuT<6mto!;rEUqLvoCiKFd#k zoN!#H(jT2Z(@)<>IIaumk4~TKr++{=t`q5xPQT1gC%DgbRg;uv_WwHl{G`^;VEmx} zbe#=-kxsob5({&4&*-BHIueT;-+H`!jUe(&>E^y3V0Ln!eqaliu&3 z>r?bcr(f)+Z_be37e+ysjec;3^zsbp^%>F^^^i_Frgw$t`T_C<^jrZw-;v|#@dYl2 z-WT-rkh9fG-^S@P1L>D|=?8PCxF?YQZIzx6>{c#^(gWp) zJnOiO23ZF25&d}^=Q&>HneNMRFgZzFhtnV3zLmZlXK;G8OeY=*zloo3GDM{`L&z=j}%Yn|(n(@Ig#}I^u!0sP$!>#%0+2 zRXPKY>zT)SVIFCp$7(KP9`bl?mD8#+ke)Yix~VNGeFvuxm-J0;`GX1L^aT2Ppq|v< zN4ou;$|>8QGKYLK@-(9;N}tK;Hk(_JA$+v?HH>4829{!|s>zbQlc4h`nGY~|-? zNH61bQ{Pqf?;$-Od>3$fPkrjH9%P`lx{vEf@9jp~s>1ip+qj(Hg2uBM>c4BTqctp=M7Qcgcjrt^42I-0@h6J$DU?Rr#$(&usdB$=KwR#h?| z*m6#%_m@5XpwGR{_dSnuopPkV_)^^qJ14PnA2_a<(zJ+Bgt3aLwY{a7jb$|I#|hhY&uxS={6l~;dEOa`m4@} z7mTD1h0hqm>3CZrV2^X4X7a&>T>ezV1AWr9w=vWjq>Hu;e3o&#O_!@Oq_5AAzMa!g zhb&&d5_6Y4r2xA<7iLJW%8=g1>89~EA0jQ|^pup3`h&YnQ968>^O)*DZSgqQ@gBqt zZJ|~o)D|CbIX0U*mNpJ>RnQ;p13%;Ut8+R144LjO@0FZaaC(_czt*R}p3`k@eJ7`z zbVc$%&go-h`Op;&mHEKdaQ$d*6wrfM!#IZ#aS!t!PPfTemLYv6r`!77f(-muaJqVN zTera^Ux(eCZkn%&I(0RsRg>&Jm=T9_r8O*71+i&!j>$e|L$k`oPQ#Rae#e6XVVbPPeshcLx5OGNe1I zWA)JfoPMILzt~eK@ zXe5tbxy}!xAdp<=ehdD91%EJtlMebgK2Gw{H3a_&*S~c*j&a_)^wQ@r&RcjM4j6Ji zL_y@rb$%4V2*_1m;fp5aIzNtrD!=;5Kp^e&_|-?~EuT}rukZ)mc>>~UzJQQQp!)LG zfrqbWoR=0J{&$7{(8)(gmoDc$#Hk#fvUvERP$1##rab&4#+6?Y<($Vj^$WUm`R+H& zeyG}qa4j#zbKQ^OP&9DmI*$i_(+~GMWIuEYIR)&zE7y6#i_1u^^E3I=i|0B|d2t!Z zb!bO8dgVGlkAgsQowXMHISc;01%J_k|I&g}D@U(f=QmLhNUrme1%KIszhc2RSnyXZ z_(luoMX~F+x!QZmr?^y76Ejab! z=#}fd9|eKrIv-f@k1RM`f#J$kU#g5Ib&Ug!6X~8F0 z@JSYYvIU=F!K*CzMHal;f={>LbSEZynwQ6 zg3q?#jTU^41#hz8^flP%mFu)waQaGY^vZS87JRM+pJ&16Tkz{F`1Kb2MhpHK3%~5O(3fNAa3->D!*LKyZCbo=Sm5xtCc7$q`==%_(1}3qqCKW zdKbe_{=LEv@d1u)SNNe3e1BCXwTl}_8>n!#dmF&7Q1}r6jDEB#To*cn{ zsqoVy_~EK)hehzK6kZa+zoGEq5jlV7eg4Zbg zM_wt%ajX;g3Cj9=n(BQSVst z=fM>gh<#e^aq1NA@B1}ydEc_+rxE;calhbfuKB-_|Ad@hd3xy2|HtuHRIzVhjEr^kd3D7Wqk^T94X;Gy*Sh{^Ie~?fxf)|JB1!;MimgIR(z& zJzS3vp9fCm>zS!8|3Q`i4KKeg|1?ZI3dDY?F8@y8RL%ivUck?zg8KKsP4)VV1s{Km zIscUwe7Oa`8+d`ZU+^ie$xjvjrdO}iIrfev|Nft(a(?FJ*X7);@V6rPz+=t%A658M zk^E(F6a~(|JX}4qj9-6NcrvDc;!M7>=xk&z87)*f^#g73__M_kBpm#0kIt94Neo8I)B^JEJg8#&V|H6WA zwBY+;>SmJj4B)75AGbD+Gl?VTTk>B5+@yzk#`QY{Z*w^vmU0$Z@H@DiGBvMspmFzF zWy!zRg1=_L-{JEA!R6~6(mV_(CjFcYoa%cr4+tw+o>EKxD$c)2&AT0ECg)#Z$$y6h ze++nmxL;Pn<^0-`{~s#Xh(4~s4N*DE|aF8@X0FL~wb zc6ndnFMIei94o_;#>Dq?7W}us3&edfy<>jfDTGJMU#Rd`JidCqu~p$8dARo5XAPlp zqWQm~@C{ymUCu^@zv|%)92g&z>X-&6Pi57+aeBnH+3$G^X(%lV_i{rhVdGv&Q!P=5dZ z+HYCTbIv6ED6f3zL|ykNe2|BG`G->eV?12vzgOY^WNLn%5Wn71xPRYG+cUlNS>QzT zS13F>fB3AzkN5cM@$^}RN5}VuLMlJs%dh#qr0@a{AHWhHTtxX#jNrE^JUS0~PvOz= zePJ<`Lk{nd5i zC@SB-uR4M8*$R*5|B=G|`}MkSw;9aR0uoo?l%Ghg{(3*@xp)vpgRw ze3U1@-toWdT*~j?xBUm_Z$d{d5ch5Mc)CsD{(W2B-aBZ{3tGe zrNZ?ngmo$7*OXEI@m~Ha#y?berH5lUQ&-by%0I!wHQ&R>5boc%#c-gmQ406(+v@zQ z6z<=j)pC}NrE;ct6s|`DejXH(4jM=K zXLx+IKRj3AQNLZO@Jqe?FjsYbLE--W+^LMeq;UU!t}cH%8rtNayA>Yw&+jQb>YqPd zLFHWK$)ojFP)WFdUs&Vo6h1SO|8jIFlOOn|!u|WjdOiDRh1YrI==L2qk;?J!7i)Z# z!e>YFABzrE;P}r`oW^>aq3}6g{uJZivgH4R!W+H(dK@`#GL;|o8#gK3zwfN;b<~BF z-@osC5A)rqaR0uuwzoM`D8GN-8O@=tKFClY?mM5sc$32CdUBRAzEa`yJY2WeVHcVG zXEkt>-*`#k^SyGk9vWeg1A>!wrw1zvuQA9OL{{{3rhCtp_hXTAKo{DUu{{Ly||sPKhe{v%obYZSi7!wVSy ziNgK+*Sh@N8C1T1zq^?8k5G8D|E^Yemsh?XH+Lv}iHGZX$jO&d`O$tfN8z`6`L!N? ztZ@H6xWU*VOn{nDprQu*KU@M13P&>F&{_I!uJ@AC5N_Ig_3 z{{44M7uEG|h5Ps4^>{I?mdcOXTZh7<_V#Us-|g|$df1@wdpumrb3z@J@87T2c&ozw z`}Mk`(JG?=SaeH1VfG%Sn^+C!5c03^%i`o z1^=D}e*(B^pY~Ul{F^NJ`&ge*y>D3Av$kv!p1A;}dbFVqKDuMx2#+ojPGLS<_OVtWUXz zDWVOMg^i6)a{QzzV@6K`NoQ@cGKsb-8pa1JRfcxgcFMk)%3;5=Fzb0LjMYwx-JJL~>GX zkuP)aOXxSqu;!Y!h??TJM_3JMq3MyNy1ma)+e4^}XhA}-&RsGdo>2dY-*1YFlcSrO zTI-Sxjj(%N4ve&9DvYMG(bEGN`Ne=*+lwn_5jty@+j-*l)Um@WtA|0uRTJx`PDIS> zg7CPF*HDj2*4LzKGIuK&Fj=Xx)UlPrVe7+_ei^PIqu(fAuy*DXtLK6Rs!Hkxwrm=zIm*Y#YuX-D8=;W2s!X>q|*29VF4!UcuSb4>L$+7v( z61Cop1B+{((lBKY*oj^=JTV2M)z0@6LB87tPV~R2H2#fr$E3uRX~`+m3SA+ohj<#? z^Je2&Xu7!28!@j=&BrOy&6qMOD^-JQ&`ABkWK=RayQNdjY=*U@u1(gE>#c!L-E$US zN`slS_~Gf!wx(3&gsQB}i`<{*W%Z;eb`h|P;o7XEi7F?Zl^jsLZlLr80c0b1lZAQ<@5sm!V{TChQJ7yKGG~ zzfL5`gBc7dE3qUgW=wh}Q|ybX4zW-AU0`>c;zYYGA|=$yMTrRj!;7FmCx=3Wl@ul` zu;^0OT}eg~bWD?K3j?`#mYeTAuq4WYVP$nOS`LGa9t{ITMW%&bu#WD$)LTe~xMp8~ zJ6rYyaZP3yUEFXoN^juYJ?5gyq{%YI>QZg&)yc|fNsQKdc|M}LtsQpCtXr;auF^~J zz~r|sF`_BeGCSQstAvot>megHA3#R=v091l1QdsM0-`yJLOHxo&X*S}hcxYCD%nGI ztvsN-$n{$?Q+c7n>YJ+OHnS~7wj12iO*;{#$;rv~R7Wc9Im8Gt^VBosT^sz|y$WBR zSR*IRN3{xer#Mu@@=J!cr)CYs1Zv*AWLv7eqqPNlPwDx|xrNXwEQy<4@5GGt)Dmy> zS99v3(2|cFU~Emaaht&yyv4L{A6m|$V%h>5*WTJZt`SEY?A+!TQ6)7KvPx*bxpi&| zGv}CslhaE~Axj+5o}waPeX~;Ssg}AFdUB#9J-;o5nOG^g#p?8^=9;Uq2}WCFQ+Lho zl=tv#raE1WX(GCFW1G)Ed2M@58(O{+(haXq)z!@RB}!lqSc!HaHnfmo4Ezqfjw`O0 z2*JlDr&L$4Pv2WxNh2DumE5kj-;{S$`%9?As8kCbXOV22RXL-homAe~fu%$X@1Y{8 z67o)f+7rX))--jd5>z?lGfjKPCKI&@uYD$rlCMu)HOiH+(tt8b_-(+GA^R)3D;rf-< zrjA6_xT)2x)neM??)ZD-szou@T|hmmVl2^j54`csTO~%e#d)qsGqRY&z;3yFpliG5 zH)eQx28-Kgm9ft>*I3;w`>d|~satQirZ36f^4xyw>@|*_W$rDG`%Z7wZguaC%$j3p z%AlJ)40GFrV6DI~%(>MqL0w{XdIaq;H>I>K`$Gs2_a>aqLbE+2kGdH50$V3z%Mm$n z@0{VH;;9%EQ|*^vlGb`HlCb9Rv#OO#k_V^69JL~eEU;;Ohm&TBv@VoHYF{8Aqe6-b zvG&zB*Hxi<;grxf^r40JnwE}Pt?kV;oh~W@MOAAD9!_X&;k%SR2f;H~AD!STPik^l zduNL~(L*uA$3mM|3pq=sH8!V8E=#qys>&(yqG4_At#!D|o|v0zN#ieT&?O#;^?bUf z-CrHHO-f9q^&6FxsCI8{fK_v46jsHL=xoEiom7I_$|d6RXJh&vD#syp>$UjWiLss?MmIj_MTFLG`}onwxObnJVWI(yB<^ zKgK?tHqf9Us1>klmL3%f@!F!bskI#q*?>zIz!pBOrX5QmR4Y}}?iPTjN|0OAYRjp{ zgD|O%k>&359^q8Cl#+U!TId$yZ4%80SmU*Xjk{!DHtfvn2$c+{!{wzOKDEBpLef`V<^9dPB@ys zy>A-A5&{oDdkg42zkTVkiv3&}+k#jC?Cs~uv^DN|E$J0{@0*O@0eai7(c=NNso9OZ zhVOmVkU)4658DBzr>QV32IoMvJ{uJ?)iOm?Uqu^HO1nHUfKB^{vgx znmXDr^2OtYn&{bB8RGtMOJ`G4vJJ1};DN_VTI|(Usb`ej+NB%XTd&0$bvEA5Nwv4P zw)68dRwr*=`O_d?hr4RnXPVl~53a;ro6;1Do?&-vobBi!7pgH~~uaVP6Uy9n5#O!5;>s1+Uvu5r6DDx0oT z+fnhWi6_hggR3gFJ*7;7d0-n*a)|pJZ&CD7;OOE#us(xThSzWI!W_FEh^UTDOEC4| zU$#$&s#Vf3^%!#!?>04KU$Jrq`aT{D;b)u6+vw>J{W!$b>QUTQJ1MQJS@kwoySqFV zn-6+eqDke>?NWpn-m;XPc!InE-yjFp`Q|MFSg_=8u*a!4nOnRmr zFZb~--Xy@-+<|9A^g?@|Fa{QoR{CmM<_YD$S5RG zB=@#B${{wjUYlx9*0y#+E{mmGbh__!=3!c?)#=nVScdF*ORFyDnNx4KVPHt`gb5lx z6ym`JgKwToue5eqw9^N;ByP;8pho$JZECq84JCs8sqI}w=;rUFMf3ytpohn7^JvHNRXl8C3^$54b~jO=MXg(}q4hNMx$iF7FIsw-1-) z^9g%=qoui7PwukP05su!+4K?ZJ*f~S8f?^4rC$f9`C`plVve`>YHLIv4^*UXi%uBujku`y}y9)XXfOeyfITX znfIZg-WOA>b9$6>FKunm#(NKP?8PmQpgjpYj_!Hv{5FU8{DzuZq2jT(IAXmqVc%|{ zjZ~WFdEZOZ!*bCG57G|-@n;hY>r|yz^OnIy z*`($yznG-AXlOc-`2$9N?ww!FSS8MW4M!$K-_%7L@Y*J_sLkS2NE0vxv@d8&0t?zm z`Qa~0^{{B3NKB}M2Xq!)Hq%YMK$bX*L{do_U*Pan;(x0pRA_dVk;SS{eXqqJb#@H= z$3estEx07@X*Lyldm%gX4S#KL_b$UspqTs9seE}bc;{Lj~rodQG^)LlStCaB5 z$$COoHE~X&sL%sj)pRVh`ijh212yHj8_EvOe6pB1xL;wkPKL4^|NMziP=N5%!u?of ztlVOPq@NiJPc5<&QWWHU!g;3$O~0^-dfq1YX2N$t0?+)auV&ibWW?i>@-4reZqU$I zF?UX7fz9lYD3+!TOiOxiG2xHc%~ccC>a6!BOdb0L?HgA+|0lq8X z=cgiW*w|HkGI7Ym&Q>AN+vP4xXx!N2twz)L=9+oQj>hX!YSNCU7;rp}``S${zG7U{ z-d=+}T728xeZ7PFCZxi~iO54=edoJXyX9#!_tU$0cGmjo-QDz9n_}cWM6-Klv2K~J zl|oZEU&!7EcB8g%3&N%?F;fmbN!Y_H`ndn<4Q$iY;U)g(Uij^sw$Aoca&BXLy0eBp zzlo0tW6Yt$0BUL*=N6HT)HT&~bg0+X@KE_I^+lm+)ik)uvhX4meSZammuo}nV=U@N zvc97=>3+b+^%<7^I_pbc?gK9B#UZ@-HBX)RMC{$q-;|7Q1Wu<)Yn)`Ji|Q-O&lk8X z|8#-NatZ~Whqx~PYJndi@J|bTpuj&T@FNBOb%D$BUlRDyBL80mK1kqi3S5?-%V+kH z9%T6^GETuUqMXx3{!a?LnDNt)|2To4C-NUJ@U;S`Hqv_goxqDl{=YF!!G8FEEdJB= zFOi>4FV^K8oa?4jy-EaLB=F$^KTqH%2)t6@BLw~ffe#h<;{vDC%C$V}87FZms_{RH z{C!3Kek3?93Jw?ekpeFj`00#m{iGGO;}lu&^F%pxO1hS3y1=C#<_KKsp;O?pUwl#E zXN&S55IFT6&G%`6pCj-W1uo0~lfb3j9?{ROI3=Gi$~lH{($56~KTG5<6Zkm-A1(07 z0v{vri$(d=q=Q{CoRr8vR^-1%;F9k=OF5qt`RR0dt+(4O`M)9Z)2Z`1{|^N|PT)@n zoKBd)N>bgLR_Th3X%WY7W_v7uN3*87x)B$Zx*=ZJ7|B!*3ou8&;98PW}M`i zD9RZd%6~oQuMOe4zkE4_>--OeaGn2E#)+oJ{1*!RlLD9Zy;|T? zME>gpUM29`87KW*B=B#E{8I(~fWWH-zDD3uo*e=|SLEOS0KZ=63H&I5PZ#(Y3qD!k zvcFFixRmD`0w07*YrDOdacw78x#BsG2weK%Cqy|lLeA#|{s~e3dQr|X0)JKDvi!}A z)A;yFk$;;g|5$z$kplmZ!1X!Eq@VZk|6tBHh(jvpzxc1qk>$(zXMxE7vBP;bwu)6#2g<@XG}LJ%LL*{E5J&{3i;$PLw0@dVzmJ zig2>+_aM`}i0#AtiEdrP2vg?x{C0tVO5jp{Sx$$@FUv^_T0Cbf zRT`&s{jX%4%AvKe)joB ztJ_6>iT{tl<+yf-z@+~Q z!0#6Lw*`KWz#kO2EdP0d%X&$Fc&{i&*7rVv%liIM;Ih8=3tZOs0fEc`E!9wyILdgQjuT!b7`MzMSfY1^m}7OIqNL>Wj~dAmi_uF zQI7PJavYcaPR_Swdwp4yBisE)0+;?!`p@Tt{2N7n=^x$|_%B5MLlCEn{O9umr#)@D z2$%k(Sm3f=lLaozr@19vRL%>CYkx>%G+l&CKXZygU0lvrM+y8zQO;z6%W~xSDBDZ+ z3t6vPQBF4P_)U@jmqH%dF0#G;DDq1=^98y`~6U zw&NUuOZ&WD;L<+jI#Jg5A(3C!w^-mZ{{(@{{L(K;`6d4HZmREZMLDv*uLxY$_jdx% zroJ+NHuc>g%9rcnR|P&q=zm;FfQmv*vIp${)ay%L<__m93He}9o*;s*#^)>rCB*6SdVU+%jeEO5DwK1ATNg`E2d zJ)a{RrnkdHe%Zf{5cqjQo+iP!Lg04_yg%cB zoPj7uU-=v%{78Z8bi$7Up2vVJ=V+1t2u>%c0DlhV-zS7{?U&^|lb#9D_LJcJs5^sH#afI-G8bmmgzKUT!bH@V(y=AjuU<;$0^vval!|1Tm>vM;l~L4bb(<|Isbl8;G`d2hxG!d=r%T%?IC;<8%tg;GU1|R`d`M+9~6f0 ze=t5RgrCeEZl1sgQ-ORf7dVywOV0mofs_2_bN+6DpTrmin*@Hcz;$P!vh`e-lJmLV zgbyKruQGw_zDY?l1%8^&jIdGQB&YV{iv_O7CL&uYa6QK${6T?JIWq~w^@70l9yQ_H z1wNDjzVf);s9t)EqohKC>pddErwP1>0KU=!*K;;Xx?SLUZbSIP0@ps0@RtRy$0owx z7Pubk2_MLIMDpvghVT-BmlD9&c>*WB)iXXr;M!MH(ma8m&3P$UF7R^%uAkc>d8qsb zPJ3MBKUd`6C~!T-QSt`@*S1XfvHR0sw{KnGM%CYw1WtULIIUdZWsFf!FYwU4Y(V+FoO;N=3}EbxTD`*MFJ{fra%V1bVpc)7qU1YR$2Jx8MCMFQ7rVZv7md?EpS ztrPep4I=!tz)7FCbJ})+>pdb$8hC)4f$F9EG$ADd*K0$ZeKUn1}sBL575&lC8i0$(n0y%whA z)dIg<}@bmM1GD|5XA%SKvv3Um@_B0>571H3Gj=;I#tp z7I>Y&Hwj$(9!l=ZlP8ihCGrmz_$+~!3w*Y~>jmB*@I?Y|6!=Pk&k^`KfnP1~Edp;6 zcz>Sck^Id9A0qG;fmaB;Rp1Q**L&TRyjbAZi2U~nyj|cg2)sk!+XS8#_`!#|KS=&g zfuAApxdNXg@M{G=UEpN5t2r$#@OdKt?E;@K@P`F{oxoof_@@Q_w!p6!_&}aaQ@w5w zc!|Jo6!b@S6o* zCh%JXK2zYI6ZiswFBbR;fp-bKTi~A;_$Glb5%?Pdr+RJRw7!SA5vtd%j8QOH;7bKw zF7Vp~UN7)32z-&imkInXfqzlpYXtr!fo~T0mj&MUaQ6qvug6A01`GUu+$`#Exxnub zc)h^CBJf25UoP;w1pZZluMzmy1io3|Ul(}aBitV(|D6IKEbwm#yjQhsc;BPkA0+?70v{~!M+9Cj@J9t+FYq4=e6hgw7(&S_1^yF}f1SWdrYm@!_iKTZ z|Jlei+XenpQBK~`?hh)1@JXCDSm2&-Mp}6YKa2Cv5IB|P?MDsmnBSbPsda|pGv{vD zpkwW+rkbI6%P{Q>rBkk)p|u?yjsk`zFKfBBxoWO6)XM`%eZGiJVACI#s7s9CGt}sm zyP@r^ZZT9OWykw~MR;)$2j$I6SEthH#+KO~_>$2abwQ#)*~sj@W2xRV>>-(6BMc_v zz188~w>Rl?SE+VzLM|P@l2S6t)nVPCgS2p5n@zOOQVdTX~Xl*a9 zoJDD~W`%^u`{?R5@uH%l;@X-H9PJ4gir!jjeUBU8qlXR>_)0>(X2X!ioLuI%<6NaeR!XhJeh-dHa(SKBnxv0kODbHYC z^d+NMUX|o(Q!bmWQGBdDUPcr;=?ojqR0FcWsDJpI*>z1dMpaK4dy z#O{UoJR35MNmk;kY%IB#i0{RZO-`w<2-O4S?Jc)B!u=X{B}wV|O7I_*YN63E**L3m zMn^j}1dep^K0nupq)LcB0gaIuj`Qq0Qwddq`P40ZR;E@TI69?zLhseKWL6`NIGc*r z2pW$15c!__sJ8n(a<^*)T>MUTv3mNtO2F<({Jmu`J*jXneP+#|Nb4|Q|88z^ax{Hw zCfU%4;n(2);umQw#QPXvWRk-lY@uEk)6pt>BBEq94&JRx7j>km17m1%&v-+TY7#^T z1lVSXruoobIHz6>?}0wh`;%xxyJ6zd+=M9y&Qec$GZ1oiYRZ7mczMeg@j;v{4{Q%~ zUDSS;PDu|r0;|zlr$d;Ri6c4Gf$xdA(~=ll=@2SDb0B#1dY}RrD|Y@MW%J}ko~f+n zPPAOjH2)F@3P$9MJ&P$SqVLewd#76KnW{IT34h?1w9w;J1s~ZBibbx!=T8OV{0f79 zc529=gN($yTG(u8mXzIBPJMOA4l?PeujR7P7XTKLR{bY%KBJ zDY$#wPq?Jrwn2fF3Vq@Z>sRmO6!mFeqxyFTS2gGD$pkQh#OT4jh*ro$IUJtvy=D&?XGc1H28~tPZ0L?BR&*rM>(`N@H8} zw&l{+cB;Jw4Qu-DIvi1Gp3wW#V|fy>9(v^IK-hr8-at!dQ&W;ZWL-J2E|I9k7h1(E zxd?X9m`2U9nU}1?7Zhi=w$E47O*Mn`lG5!pjp+{BNGTfWfjYlC{g$QTBayo_e}-|7 zXva}tt5#{g5M>!iQEnf>${ zi%mLbt0{#xG>r&5xd`x&0T0U=Th;Cnk>O%?QZ6iy)me_=;(FVCs6)7Mr~o>UI-4Lo z$+0+{d$X*P9?nnN^vy6Swbt`LO z<*IW)ZHG)$;?H`;w^+)6{xxsy$iT+6fUY-NK^e zebQ?UV^w=M+k73w$tdPOs z>;u)Zc$~d-dob#E#xBoY z>)~;S*7=EM-zVB@VzAoXGnD89LIYb$`+~2lPPRABZb<*%Fx~RcGe$Fcql9J9^U`~1 z6rp|R=GxTk#ukGihmW#~anhwSAi02mE{cY|VZHN8Jp};-ps7 zZq`m86&3POAev?z*ds-mTjHs3{q>;6EoO7ybvHS zNr$yj|Iyrge{k`qg0#@|=6a^NVDAfyN6_>nI}2&|((00SSTjnq7Z;o+JKKpRBo#vs zQ$^hUPLzcWjLGg=)LbMi&vPX{=7wR3ctD=#r1Hm>^Q$$M0=N#%rL{*$$r*5t>YifO-F|7<_O(*g6Z~-bfM82 zrh<3EFkXk&2t_6QT$p}2y$a`d7ZrM7D;zReSAa~+)FZp*0luLbLdb<>G3dE(ZSKTq zE{0#j!zw%HnMIi<{~Q=3k!jy)1Bh=S#X7ZYkF;-kfx82kFHroqW`^@MjUOQtZ8qrna?A+CyKf)J+%B1 z2tR8mZn@2ym&E6*H$`S6S{>7iWbm**#w}AC! zT!%LL3eI;hheZE&4EkwIC;2}agZ>Jp=g&_m`F|FJUMpA1-yMVgdgd?X|2PJ{{??u3 z|5OZm{mnN?|8xxcJ6V27|4a<}l?M7XG3fO-wIu(a$Dr>v@P9T2{R;;AwK3@RcmAaO z>tfJvHt>Hg2K{!Xm-crF`k?N&I<)oQ9R~jI#Ngi-yy%kk{{?<)zB;t=r?YzKlJY-~ z-zi4^VOk^f182+&=~aB8|aUSL9fpbkoG??2L0^@{zt~3Utyp> zItKlH272mKTJJiv>3_9>{?{?=Z;gTeH!qbiH+GtN$4W zdOFup)9KJgUuvLlh(WK<)sXscj6pxiz<*8*`WXiLt7FjDGrg3*IR<@`fu7Fo(R$aR zP5)_w{J)FQ{tFEBG$+%1b!g*%tAYOaG3b{Y>QCn`X}&tN@n2!!Ph*;<)1i(2J_G$V zG3Zwt=;^#O%~yvu{%Z{Mbbh?1)1i%CpF1P{M>+=mMg#v>W3=BE13jHvujSUEP5!qH z^nZxK-^oR0T(bXd#Ba@4hc^EG4fKDEL9fs8k@~0efi+(p+V~&K{3ZQ@81zF7^4}7J zUY|E4^|vSneW`)}%`xc94E294hW;lR=xI)<^{zvk{%08I>D+lur$ZZky@CEKG3eV2 z^smRL|Mdp?O)=;f8|djAdR=cF+UkG1fu82nnofr{`V|IxI%ihX>Ci@hpMn0{G3Zwt z=>HT$e`^f%bl$g?TZcCJ*E7BBe}9g_e}jRZ&Rf=eb!g+i$sqstW6*Ci(ElI?{SJft zD`U{>ic0@^cMST2SwT|&bRM(Tn+|RI8^{?X|9fN5=NtI{Fb4e)13j%twcI+i$zRAB zr2O~Cpg-3@|3D1-3Z|F(UloJC%E14@81z>d`2QtF|Eo9fe>evJHUs@5G3c*1$iF#; z{EH0qkHz4BtAU=*EoayZZT5G&f&TFr^mj77wBNtRsJ}ipP}2V_2LFc*{JUe&cN^%R zib1c>F_iu1=P~GCHt_#j4E=2~(65cbf181RT@3mi2Kwh>(D&_!%Hopk|9AZ6V!hC2 zzxrHAN&kEd{>K{lZ;8Qw2-C~tAY+|JO0-%MJ8&K6>g5<1zY(MT+YIy@V(_15pno+6{Q{9~kKW8H2w6e#neV`roZFw4{|7Q&P zAqM&1j6q*$px+*YzSJQ9TQTU%4fJovpszB}|0f3h6$biuW6(D+y|kbIg*|0!|7`~P z|Hk02&wZBm_dyK$MTYu+7=wP9LH>_o(ChQ5rTlNk(BEAK{s&=CJ6rwVXQ+Qp4Eogu z`rH`wYYg=COiZ@&uQ$;5jlo}^>n-))F9!V<1ONSE(7(;}vj5OM-E8Zx&mWic2gIQ7 zyFZkTOV;^6hNwc|qBAK;CuIQ?=be+Y$2H_2H>9-( zohz#CVUPCcy$Ij@8+zz?Or5dZG?++2m6ne<2JqlWc&H8A2IB6nsm|HVwN z15K}gcOYVte-qO;>5LqP`K++ePddUSIF9Lb5T^e+5=`~q&h^)JLiPU<@@n}tPR|6J zukW&XOJRR15N zoG^cSCfUSapGQpgC9e=0=L`^===-wcIZ+ZL9;QD9#HRMEGRRN54$FTt^ADFhg!$8& zS6;+RUUypLKm15H*QaD=#KU~_J<+iK8w~P40s64~Ke6yH&XT|0lMnM>VBk--9_Bv_ z6@my3%`N0LHB0_Apfk1Kas&UTz#z>3zZU-OS@Qpnh5sr8|7Q&R=fUxt>i?xI`FDWc zRR47b{y#VHf5*cAp)C1txA5O&;J?X|1lQ&lllDc zk_`0cTIerh`e!oGj|4qb;Dr6>3aZ~!L$S26z)A^u_ibqMH9{7XM{38nw~lYzf;fSLd8%sc7Ci|E~uA?_2n9V*V#(;Qx+=|8fKWzZ>|E!TQ|P z{`(!{GCnl}|MNg^s{bkj|2GW$pSAEWWd51-|CELQIs<>Ye-*a>vDjZQ)qg7U&oq9X z4|-GmHyQZT{gW{NJ1qR$ng8h-^#4T*{~gR<_CMPH4fFqlh5t91|2Y}>zhdD( z4E(=*h`IhFKk0Iurx|ldx{}vzpf}ZjJ@c3C|1Jo_`hU{G{{iNoY5e-oLjM%g50}Cs z9+rQHMSkaFmr%<8zCr$phnn^GALgG3F$}lgIMAE)SIGPqFg@8X4XF|RS@@rOoGbr1 zZs7e5^Z$v3|0>p$tUonrnExRI%=Mqg{EzoIyOA*e{-8J2e-rbU{fD41|Enzg@5qw> zr564>4E%Ep{O`5!f0+4avfp^rrgHFx3Ab zL;V+8_%~(A|3(Y{HUs}d4E$fT@V|rkhv)y{{=3e?e=+l~VEvK*8erf*3JnZ6qW?Ft zY`>>1^dB(&#ZdQ^36pQ-so9x&HZF@l5p}4|-Gm9deeT`X6K9zt+Nk3^UF&e}CG- ze~^Lyu?GIHTlm*9|MOHW{69H z(@_6>1OIPX_;)jZ43B{;T>sZB^y{;vzZ&~|ruuJU`Z)pa(f!w1pf}Zj9@l>+)06%O z8|r@?I;e^NgcDstc7vW2;rb5(y@~$@gZ@u8@PF9Czk&Hfy@88lmDgqq{f$hI>1p5! z)1Qrf3RC@WWqMvld1Zv@@3zo?pXoF8-@8C>(%*K2{!Rz;u>X43!vE*YKiqy{`TuR< z-+wVoWZW#C%A$4H_ZPD z3;$9B{~`nbfmo-R>OYwIXPW;F0KKXHRR;dU4E!&*@V}7xPw;B)M#A;K*uuYo`OEp& za0CB)Ec}-<|4AA6f6u~ym4W|A1OID}HS2#f^QZgc@(S0#9rPys?_mB5n4au^l!5;# zSZ7g|u>CJM+2tCZ|8jAjNClub@t@b<%_;SNj)DIM3;&my|35rVZX{g)mn{6dng2?r zr~02~;D0Y13`rWU|C6VDMd2ZnS z4f8Joy@~&F1OL$m{#z{k%b9=J|AzUu=9}fOW%}^=7p6bp1T+0SrhnY4xf==7_XWMF z{_D8@%b1?pKVhi>Zvuvz{*9{4iZ??wy#$yw50iyKTP{hiD7ne4wE^rrf+=K4$fzsOMk3t?a; z{yUg|Ci|}hy@`JXZT8@j_Frw_|0fIo3cm4@$^L8Lr%m#=Fn!qm!}fCp=uPs^WBH~1 zUu=;7bqoJnnSZAB*P-xpCi(AV`ckjwxRJ2@2Y}ur|1yLAFEz-YwD5nK`A^Nj|1t~z zZsuRX^yGgpH}JpP!vEwmT*6HHD}tXe>2EmGhx;$(mDg()`iWW6e;)nB#J|=;A8x-P z(6fnt9@BF(cp``CPecY&`}aTCt*PvPHGukaN!qTjwebHg^AGnQw^UCYr`^K8l=*8u z)c$n_{(rOZe=1APZXB+sxXyN}M^T+mV z;38S&b@rKN`SXC&m2v~`Z`gi@BcDnB1uVZDKjs+ZztzHjF7rq81gF3wpf}aOjQMY8da~aZ1OE>#{3ijYtI7?$zv24tu<$RW zkEP<0^{4O8h5PRvXPN7NC-c|-R|^p4|3%Q7>Oa%KpT0jA=3fc{Nz!ot+06Xej5Yhn z^OwUwZ{oj<`Ah$iHt@gS!aoo7qN_~(_5XzHf47DIN(2A72L9VE{HvIMc>D?TPZpW= zH;d^r^?#?>Oh1q5$M{uOu`vJtg1<@s-CTcdKV<*c8S4L-h5uvB|LhF>9|66Ie}B4J zh70Od7xBN|!2jxD=K8;F(OK}W5(h3bERUT5ZqB>=6`IK^yS0N^u2Z4`aE0l=VWFSL^aTOxsQ+CKdQE&Qit z$^WMo{;Lf9ml^nVJ=+{zJ;l`u|>*{7(eEN&j06{O>dHzuvb+lQ3?=yc*Z{z>8h5m4?OXzBG1MhEG{wF|hl7A4(Ka(kG{CWug!~XZu zF=qJ}F#m}jXEze&KMnLI{_~iBh2T%`T8H@`FxJff1?Hcr{rZC5#J}6nevcaXH(2;@ z&ys(gh5rTve>&48T>sp1bNvUh;|q_!Vf}w(;lJI$|1ksqZ(8_Y#QZb)|F44Hr2qc( zuqiHW|73rU8~8tI;or*qGx^U$6K4J0lqLN|7W&(nzMAb<2VwnB0==pJ`CNZ#|J{cA zcU$=XJxlrjVxfO8OZv0Mx%#7TL&+-->uS1&xPkXq+ph*r1HGyK4P1XY|660I|1=B# zQs$qh8F3iqKgGg-xq<()2L5U0Pv6#(R|WGAkN;u*w=;cs{yBr`FP4QO9%AEs!6N@U zmVYMGQ~!C+Ape6F{`WI~EbjtWnE!ni{zHxcGhDL$o;UFSCFl=DzFd{t|FebphxMg@ z>+m_v-zQbE8O&e$j~5O6U+4OV?U(kI=+b=LU(w&MYW^X`v>EvS%E131JYYnc(t6T- zb};{wHNYX|rAvncnchYHzsF-=#dK*poi-Ts`{PGQd?%mj^L0iJ!}>Uv`G@Jtn7-}k zU;$zJk)T)oKbXx~%=(+h4xH@wW&GFlx?QP0Vct~Kster$SMogScgXk_pfLRbz{0ji jlrug{e;w!SCO6c7iJ!a1d>7}Ro5_z|oF|ZXb2*8;hs#?z--f&w*LGYx z7)v2f<9e^`ISlf7bwDZ7d=$V%MKQ$e?QYram{zy3gj_n4Ls$C*A+6@cOoGT@2u+aw` zds302kwPBIM;yn$sg({-lsr0~jfx6S-xM4I)Yt&1?(iLUU}k5slQvKObo?Sm0IyF3bMfNuQJbdrI@ofF@tXxnMXIq@nDb~pCU z&eu3#iC;^^veneu6XCH4%^s&{7UQUdw;sQQC!*;726X?ia6UIKLx5(mvCxU0vUh)C z_YcAy6M{W2Vj#4ggwkVWuUKWTjDzTZzgKqqalmS1yjQmIxLw;Au&e(L)h9$XJhkBn zuGilyyEb%^#GPP<(u>P0nSwkeDm?Zi4Oz4SgVeUVr|coLsS|B-2X0T8z&zZhU1v{u zxq059qh@~UjSUSDdAjM)1$3Ti1_y!aE}mxXZpD!41pi}d{v6{4NX$sZ zeQz*Sk8oP2h5}eCJqy&>zP zH!r{EWIk6g<-l*ldrp>=?K=rYkL)>d0e&mn_cPKu7W$2AB$efA;aL<4Xn8G{`>lw~e+@XZhg`fmUahdG_OuSA^ZJOU!|#`|B{Z{V!-TIP=zjUbwLNC`x`w z)5D<^2*WcZ8KFF>`U-33Y#XpGKT8vuGoxc0qa{`>x2$9OIwH%_m2IsRO#=gcy@`0X zH=VN9tgTqt(i&P;Ve@vy2YVB-!EB~CwRPFDSX(TSPT?+>$X29seSHPQY{bD8AeCnA0E-N{V#K#KNgwl0+)$&ZZO<+O)q=gx_I+qvd^=uC6I?eu79?g&OH zrs>hn^Z9bSFp-bUuuJFinEh1cnS4ae=A)gb^AV;i&qwA^EoS&rBayjsrl!3g4>Ayh z^W~^C><&2uKz4W*tky9JS2~s#>?Un`+tn8?lvF)mGV?n#thY*Te{zQP<CD+67TcHWE^6bp;aA>0B&Ct6v#nALU5iX&v z#JgfKQ~SZ(FIDAeCoS$g580cVDfB{t$>_zml!wUhw;E?q*)CGwa`74}dZL9^tn>J3 zQ%%OwrS231-AtgWafaZb`7W$i*l@n{karp$-Fys+kLhp<=U>O|A)4iAFThK~@Sbri zdp#rhfbBM7!ljMb@$j9YW7#WJ zr=V{rfKXHBT}MVcsnfyiZg^=Eg8gB5c(QEgC-F>1cPEM-NK|8CkISce9h(9P(JfC` z6i!+hc7{LWC7D8{fN4MO#YW=Jvvt&Eju=I3i&PTq%A>Y4cXeaw^nh{E=(tq$*iV1I z3!5gxqxLi|8t9#WhWAWbg%b{DB{BWDbJRrmju2{G+fXHEeCqMJ?qaHac$A#u_+sf% zC<~9ur>Le5;w)F3`JCO6V;f2&TTA{8c^l5Z-J1Wkmbssv<{xO<~dQH=I#Q_zN0D^@J4nAh2rOJ#Ev!C-Z5b$N9TrYlI`+Oh1}` zom)?E$%Bzr)v_y}rrVF|_Eq7AE=q60DdZDJMtC?7c)3&wx(RR$tvO)|YlG0`gY}*PHq!%k|47|EFE~2e`gY z*6*gIS`koN8@Zm| zyF2xLuB{`iBLtfZbWr~;vHO?gjIbP&&kk}uy{mWhWL-Otas3UlzRj&a!}YUeeaNk! zrHr#IJTAEM?{n+taebMrU+LC|xxPWxqmA1^QUz>3>!)}8id4tdsxJhFXOu1{N#uw9 zEJwY%&@`>Co)@{kQtH|0)*t73`X=J|sn@Na;QH%ieT!Rfzl5@^kIVW_x4woZQY63r zCi^2?Z{i=|dO!VD;6J3>=NB(?+;};}a_IYt)6UWr%21l`PjLO!RF6cqony>zz9pV( zt{_Uw(mWL?S1|Sws?hxrvHd}iDbWy}Vf_f*mq_v}E(U=Fta}Z( znk|az0@j)$jDUc()__M0IDN@2P64aE7z7fqIt(~{@hwgPi@pFCr+~Gw7z7fq9x&jW z3^-nK`J{lg#Rnz%T}AjV1a>Lrx6GAxRiy~@fVHiNo`8V*%3N6WXDsIc4n1ukfo}fJ=C3h(xn)VR}{JA1Vat zPMN4@E4MnVaP@`M1yTB}!mlmB=;jX;u68>Gb>CBXRRKmfKL%cD-R|J(nFe>iR=7Jq zs68$4GPsP^L~ptQc%_*C`Y=6=en-?q|>M8t@te{vP_#Pfio) z{rY_knYC*dMN9JO9dnzYU!He473IIMctQ=-vI~t&CrZC9TpK zo&4?zb!&n9wRe+&{u>I{vzR;Hzprq2pQ-!huNAIWEz3H}_RPUj>ZkVs1O6@Gm15sW z?0?x>|?e3^$KrPH1wnA?XN2Q-Xi>Y1O0i07tiz6vq`U>MJy*GGYVhn$XCzX zxO-XQ?!FYaD$T@;iApQNcl;g$cfAT<*yry_q;l=X5 zu5fpsuip1S^J#^<`}|6_XTk4~e0M(&GL?2J+};1zGX5=vyZe0gJ_dFFN8#>1U&qzV zIV67zbMyNj+}*73E(h0o?*e{{m2`03cWZ%HIH+6b08-8t{$zDxV8Dvqzh-ePHZYj&Tbdk7CUSIYrFLhqbKYg^a0E5iD=wd-2etcrC;V$nz_)NFGz*t~ZA8UZ&j+}^S( z+#&EKjJJkXO1Q40r7aYTpbabAo7$)a(QIo&EY_RuP4#ARTNjMs_z%toC1Qm1;;heu z>ZDLCp6ZTuC+)*P=z~~IZ?6?w)w*_hQ!7|;K+h#q}2eOrRHv8KMhbRxE`w>z29a$sCtdoq!2=?%dqt$E2h zK{i7twTLXp*p_SGm|RLXX*54V#Kw}(Rhb{nlR%F!)WQuWQ! zSZr%5r#f{}D!D5bClAHZbZFKzaM9u@A|NZA@9plzeaY0;>^5pDwNi-n#Dye8)PapV zyEsH@Jt0y|5%f?v-;|qcRabVbD+nzejV@Wx>2VjUQCN3hWM@B2i)QN*=^TxrXtoc5 z?d>HU>FuakWDklo+Les=w{*lhYGR@2l34p{bMQp#V$u3oM-XA+jJvffS4KnNZd%?N zqM(5d$y9frpYo7d?_xXN(tU%W$jbI;IvUgM*W=1|lG!$MD7k*qvKUcgbOi}+USFL_ z_EaOjhK6DT$;@Cng;^)NJGQfidOVt4Op(@?Tu~$oh&^I73DF}6m#)LWO}C}Hi3gJh z!@=5icqf@z-<#@A??Tm@Xv`%Ik@I70WoWy)D+(m#7{{V!*PrbynAIP-M_LICmk*p2*${=TcDMYsVWkS1JN%Q5*>)Z`WO#O8p*bs>JxqG!K4%Y zJidc9gUKv6*;cC^5YqE>a8XAlo*L{)XZq>zMlcADNO}-!N;;(`%Ffg-bVRH@IhgBD zau@08qu4>h*M=OTrJR=3uRvJskiFB<+n=nv zKbc9ZURE5zMFW|1A~`r1+L=sc@ymAF%u8_oH5<=l9eAKM)Q%vkBT1oXjT%>QWq(UC zti&(Q4Rpt|$q)st&BXGzW+^xe?j2k^kmSbMmM__c6}vBKAJ1(` z4dfsa3=ON3ySviyO!p!boX+CTUOJHO>r+it24k5+tCcsvDVMq+FLh*svT|vBFq*_+ z;cnMQ{e4&zsTmFrUf|`$jztxz{qbJ4keL_0T5N3FS0^sD4KPjvo^61hyJ?%H%`xr?rYh7O zpL)7cQ@K6;I{l43QSIgLiE5{@CoEJT$_oph9 zAMyy`mqS*%AX5*aQ?2nUM)0y2D7q_H{9>d>}R}&*6FW)Le)MBi|-Rb^VJV7g&YaYjy zn2GSz);k!Zzx0R=;E50c*g~<{73r{dm(;rKwoG~#hSXL(A|^ALbcVMK#=bKSgQYYI zumQ#b*xpZD=*tN4CDe&Dup{bmV){k|gJeZ~AfCXMGo-9oJ$)&T8ES(tef}UK2!Crc zup2v=cn16M1iXp|g3EIXq_xGc-HP$E7FvY|w|J~8xwSWi#%2?0^}Gx-J!3{m%_LPw zunz1`Tn!?$iXR&F+(FN-dUt1by>SLm9f+t^ll&#-ce4=HFnYU@<{-GJ={#LshP8!( zav1_t-%fc!GdFlKLIfKo_c>m>F1XlvwAU|b`1L|fcap0xV6nT6Z0A86tmD~2GelNz z4+U!+Fs;ZbmM`Yjppwtoq`ZAZbp=+piw=9MBQ<%EB~7dnx_opl-(0&2JnAYLhoby`Su`SgQBdfFocQdFF`^`uZA;ET1=UGvtSL5xt z@JFjE>F)~kxi>2C`6yGm9akqVO44?FtC|j|F|Vz@HcN)k4lT&}lgdfy;gz68IKD zKP>QGfqzxt^i@R5|B=9V2>fpa-Y4+W0+;e91>P^{=Tm1Ok$*moOY5y+oY*n~4+;7~ zf!`I=xJ`y_IzI8Qt#siIbRXAN|L z3S74L5rID<==Tf!vjTsPaq`cwz+V>h)Fy4`j|IL@;BO0D+A|yHuqaWx(zvvoj|qH0 z;0px)d4X>*;0b}t@xD#q(w^@L{0Bn*>x}C-=|LT(p9-8pTigG0A?FE!za#Kh1^#Ox z=Z6BH5V(~8KI1h1zb5EQaSn?T`SVA(v^}#JC;JZze73+z{!O?j%@H_-J9UgoE&@6D0ujSCWIZEV**Kuh%>x6vihaCc! z{@*EZ87GekT*k?KQi?==2;jzhj$9vW1TNRdMuE%qk=jCu?9b!U_G~2(iE!x$Y0oI?G`-ws?iV=ugc8a5pSU#r zCIXQNUxiEKG>1?k{EN6W{uF^ognt2-#{ZN+B*J@fX`IF~CBjYie+hM(UbgE=fmfkS ziRAntE=^B+JW7Pi^@4O!^6J&&jBsj;mZQ&g5dO5lWj{V6aN65b((}??_O04`Q<3C+ z1(%jTKp+y~U&f_zY6~U8{}`9X4-$w(_*ZdhoW>?4!k@*Z@wZT>MEKWmY5e~Zh(!3G z;L`X6fk=dZ9hb)G?|3K?{ta9jzfs`S*BZZB;NKMZ9RmL|fiD)gj1zsHmGqk8gnXj) z$~bvW;EPeFL~_23OVfXZKqSJygG=M{2t*?M1zZ~c9|R(K>81Stg?dfjtf+1J7X>ck z?YjcML(u=Zz-7C>CvX{`5rIqkmjpfwWlH4kmsQFBso*l% zT&DOxic8O{w|HwmxJ=nzE)%YOK+v=FgG4x8I*oIIFx^Ii&I1WC)$ z^UPHO*Rf4>^8~JVXwgOrdvJZuoBpnjl9sQ}ua9_ewMhq^eC{TmyLf+jT+rW00y#|x zoapsA>3oG+&8wCC_K|dsLy+%{@lLEh4&>s?bg}`4I zIN902b*BV=i=emvKFPMfQs7r{KM)(qxtHsz1pa%1zFFW^0`C_1tpe{CILW86LFo$u zzs-i!@ACrJa~)OurNDKc5PnYJdJGbN4G$h_*X;ywS|D&e*HKlgz!zv@p7FEe^PVM~+^SmZ-z1O9xlOCMrP)hoFmSpRgCA^%+tH!mDssv7T&iq+DxVt|a z@3N}#$-&OI=~5=y7q6xxkXAK)*|Ms;1_v!1kz%x3eJ8uvvAXI^+GZpnM2>g0MJJi? zWnQ1FER+pm=g@7HXKpt}Ukc4V687n>! zcuoY0gAs*F%`EZ|VIj|DeEcdr7OI*jJX~-P!f6e>S#%uYgBr5Jdop5*0?i+Td|Kv- zH^X^eqe%bAxx|s6f_8l1&+!G)F5}ZO&OM0#e>kO68XlGE%chEx59m#Nr;=wCoahpP zf3Z*Zn*P7{c!H4n|M`%D)+FZ!|L@6#9dJ3HSLrx__?lcO&^T!r$AR5*&WB~EC6{5E z_;g%o)n&*k{)${E5|J{k&%jQ*F2h59U!sewnc5fTLN+lvilU|HV{-wk>ASOTCfsBC z`fSUg^_NOmim|2@oi6t!@_w}DWt{lE-=GVOm7ijZCmZpd)?KaXPdj4qOeVgY*JHY`dS|$jg0AM#vJZf;o|M6lbiVUK2JZN6aTVl@OOZg(i}Upi2qJp zQ`NtX`K0~yY&uo`tPlSur@_CM`DOd_)8HRrerbPr8vF-*`0t(u|Fg_5?Z0Ol{0Dvb z8>hklBJ<1kH%){8H6Q-v)8Iem!@pu0{J-$we|Q@Fr+oOoJPrPHKK%5ae5&z3>BHYV z4Ss#DL-ya3)8H@X_b)R3o|y*!TpxaVpFY+0SNQNhJq>>So=e&vng)Lj>zDp}ZW{b| z`S5>x8vOcwoV1_bOHb8*5g+~Z{(7qXn|%0bPM9jces3u4r}yDg0!4{vHkl|CzIyaSP}(4`v>?VN}nd= z+^dJyR6qWc%rD>hlL#;W7%;!~hq?W_pQ-)y9$DM3ahj9-^uN#g_4`whspQrFJWxOV zTYUUaec{!A9GIW}+j-)W-!RAkul}C`^V7fIr~UMv+pGT!Fw*ap+sgVML!C^dOQs9B z@w5Mz%umleGI{m9k4iuL53>DXW~TnD$K|#EIw<$k|FI9-jJGns&WKhf`u{e5{L7iY zUlOD2wZ9R}e)dnW{c`*@fZuEXZiD_8S^uT_KWormvBoxB$2s|ro*%vX-!kYw&iaW* zCU5&s8ThZBZFAL0W|Y1Br2rtpy24X&H}fC81pj{++TXzKKgj&lews_Y?T;GtmzLR# zm-7D_@cZ@uDIfng`sn|rL4PIdzr!}e`SrNT`kF!iBQTwPw^MV<<)=Epuh22Tg|27?{5tHXWeJ>%kh7&kN)!p{aaW+y|a^0xnOIM1*Dzry-&kjhc^bcgysnST7=V}71S94TJ@Hw^k;XZ{-< zPP^dcr*qDJ`cE=Hhmj-2>%Ywg{&UPvYlci-{te*wi@(TyHkb5&J0P$BUohyey3Xb& z9+|xQ=^VD7{=KZ9VxAJke+MqF{z-%Wovie*XUg^H&O9Dth_v0l%O9 z$Jl;3e%6EEYyTe^^uNIRYd!kC@$*H4{!>2sH~Q$O{|oBZ{!^@Z&l#l*DGUyMn{!6w0 ziw6DkeDrVe(f@se{simy_Mg}Pbncz7fX6XI%s&rxGU@o$*xLsC8`*w2e(V=yp>3`*3MKjsF1vzxdg33H_|bqQ4{X^MBY! zf67Py4_UwVla{-M_1~re&dF9vI)8)tZPfk!9P_(~UDA9S{{{Fl1d8H{{_i8D3ia#$ zfV?1`WBuN^p#K9&sS)dgOkV!q0PyR-E$qK}Sf43T{|(~O{JQ_BJzm{_tTViE8s`aY uC$Lqxy!`Zf&KrAxtb+^b*RtNe-p=)}*MHZd!jFGsgU#_DS|JPY^8Xi`^gciU diff --git a/SFMLEngine/makingAGameTick/resources.cpp b/SFMLEngine/makingAGameTick/resources.cpp new file mode 100644 index 0000000..f41a4d6 --- /dev/null +++ b/SFMLEngine/makingAGameTick/resources.cpp @@ -0,0 +1,41 @@ +#ifndef RESOURCES_CPP +#define RESOURCES_CPP +// Mostly Chapter 2 +// Handles resource management +namespace Textures // This gives us a scope for the enumerators which allows us to write Textures::Airplane instead of just Airplane to avoid name collisions in the global scope +{ + enum ID { Landscape, Airplane, Missile }; +} + +class TextureHolder +{ + public: + void load(Textures::ID id, const std::string& filename); + sf::Texture& get(Textures::ID id); + const sf::Texture& get(Textures::ID id) const; + private: + std::map< Textures::ID, std::unique_ptr > mTextureMap; + // unique_ptr are class templates that act like pointers, this allows us to work with heavyweight objects without copying them all the time, or we can store classes that are non-cpyable like sf::Shader +}; + +void TextureHolder::load(Textures::ID id, const std::string& filename) +// Function to load a resource, it takes one parameter for filename and one for identifier +{ + std::unique_ptr texture(new sf::Texture()); // Create sf:Texture and store it in the unique pointer + texture -> loadFromFile(filename); // Load the texture from the filename + mTextureMap.insert(std::make_pair(id, std::move(texture))); // Insert texture into map mTextureMap, std::move used to take ownership from texture variable and transfer it to std::make_pair(), std::move moves the resource into a new place and removes it from earlier place https://en.cppreference.com/w/cpp/utility/move +} + +sf::Texture& TextureHolder::get(Textures::ID id) // returns a reference to a texture +{ + auto found = mTextureMap.find(id); // find returns an iterator to the found element or end() if nothing was found + return *found -> second; // We have to access the second member of the pointer, then we deference it and get a texture +} + +const sf::Texture& TextureHolder::get(Textures::ID id) const // we need to be able to invoke get() also if we only have a pointer/reference to the const TextureHolder, it returns const sf::Texture so the texture cannot be changed by caller +{ + auto found = mTextureMap.find(id); // find returns an iterator to the found element or end() if nothing was found + return *found -> second; // We have to access the second member of the pointer, then we deference it and get a texture +} + +#endif //RESOUIRCES_CPP