From d6d94471e02a67205a7715ff19238f8396ff9d38 Mon Sep 17 00:00:00 2001 From: JanEhehalt Date: Sat, 26 Nov 2022 13:15:47 +0100 Subject: [PATCH] Textures not loading --- Input/inputHandler.c | 11 ++++++++--- Input/inputHandler.h | 3 ++- game.h | 16 +++++++--------- game.o | Bin 0 -> 5256 bytes inputHandler.o | Bin 0 -> 6312 bytes isometricMap.o | Bin 0 -> 4904 bytes isometricRenderer.o | Bin 0 -> 3096 bytes list.o | Bin 0 -> 3200 bytes main.c | 14 +++----------- main.o | Bin 0 -> 4128 bytes spiel | Bin 0 -> 27400 bytes sprite.o | Bin 0 -> 3520 bytes tile.o | Bin 0 -> 1072 bytes 13 files changed, 20 insertions(+), 24 deletions(-) create mode 100644 game.o create mode 100644 inputHandler.o create mode 100644 isometricMap.o create mode 100644 isometricRenderer.o create mode 100644 list.o create mode 100644 main.o create mode 100755 spiel create mode 100644 sprite.o create mode 100644 tile.o diff --git a/Input/inputHandler.c b/Input/inputHandler.c index 8e97237..b3a159d 100644 --- a/Input/inputHandler.c +++ b/Input/inputHandler.c @@ -7,9 +7,8 @@ #include #include "../List/list.h" #include "../IsometricMap/tile.h" +#include "../game.h" -//TODO: Macht es Sinn ein einzelnes "Game" struct zu haben, das alle möglichen Pointer hat zu allen arrays, camera, textures etc? -// Man hat einen Übergabeparameter mit dem man dann alles verändern kann, man muss nicht alles was man verändern will einzeln übergeben void DrawRect(Vector2 rectStart, Vector2 *mousePosition){ float width = GetMousePosition().x - rectStart.x; @@ -54,7 +53,13 @@ Vector2 GetRectangle(Vector2 rectStart){ return rectStart; } -void mouseInput(InputHandler *inputHandler, List *sprites, Texture2D *texture, Camera2D *camera, IsometricMap **layers){ +void mouseInput(Game *game){ + + InputHandler *inputHandler = game->inputHandler; + List *sprites = game->sprites; + Camera2D *camera = game->camera; + IsometricMap **layers = *game->layers; + Texture2D *texture = game->worker +4; inputHandler->cursorPos.x = GetMousePosition().x; inputHandler->cursorPos.y = GetMousePosition().y; diff --git a/Input/inputHandler.h b/Input/inputHandler.h index 68f7627..5922d4e 100644 --- a/Input/inputHandler.h +++ b/Input/inputHandler.h @@ -4,6 +4,7 @@ #include "../sprite.h" #include "../List/list.h" #include "../IsometricMap/isometricMap.h" +#include "../game.h" typedef struct InputHandler{ int pressed; @@ -16,7 +17,7 @@ typedef struct InputHandler{ Sprite *cursorSprite; } InputHandler; -void mouseInput(InputHandler *inputHandler, List *sprites, Texture2D *texture, Camera2D *camera, IsometricMap **layers); +void mouseInput(Game *game); void keyboardInput(InputHandler *inputHandler, Camera2D *camera); diff --git a/game.h b/game.h index 1ed88dd..e81c376 100644 --- a/game.h +++ b/game.h @@ -2,18 +2,16 @@ #define GAME_H_ #include "raylib.h" -#include "sprite.h" -#include "List/list.h" -#include "Input/inputHandler.h" -typedef struct Game { +// So kann man die includes umgehen, also keine Circular dependencies mehr :) +typedef struct Game{ Texture2D cursorTextures[2]; - Sprite *cursorSprite; Texture2D worker[8]; - List *sprites; - InputHandler *inputHandler; - Camera2D *camera; - IsometricMap ***layers; + struct Sprite *cursorSprite; + struct List *sprites; + struct InputHandler *inputHandler; + struct Camera2D *camera; + struct IsometricMap ***layers; } Game; Game * GameInit(); diff --git a/game.o b/game.o new file mode 100644 index 0000000000000000000000000000000000000000..9764eaa6ea7ec89dac16f7b53b307a15db92fca7 GIT binary patch literal 5256 zcmbtXZERCj7(QJG8@R0nXF^~hP2{5ncWK8k3?g)tZkJeK8C$>@ET!$XN{Fo8k_(&ELHPi5epQtfm8Ht+xF>0*ud+s^y>D|3#(Kk6e z?|I(u_k7&$jL+XuWw8)W7P6g`R~#jzc3GMCP}V~lNIjXet^TuD&i%4qe)I7)z{7IB zdaV-}Ip=%io}Bm%*hi=j>vMAc&^dYJY*(>Zlt(se=#(bSYiRz`K@{e!a&CWZ{_J5` zz=ZmLH;sy66dkwObbMKD9#462>BeZZ2?`a-B6g*tjdB{Gl zEvi?F>gA$Zt}uJgA?tQ3dsFjuPw@4P&exOoI-AivoD)10bRK9nlSOsBsFoXQkd4;` z`@egkv;8`W2e;Y)V~3d(xLJK+cgM9lZt31+V&r?3DI5S%)PlL^@242&zvJHO;aroi_KH1uWC=D88QMS*_ z&|K&y7^Y>J#!P#M^J?Y`EQh~EGx)S*PiLOBjeeqWZrg>+lpAigjgD&EHroZv>q&K+ z1(@9n-kn1)!QTyMeA&~(Ekirt@8&aY3-tyCm(rcJ7G^DltZ&!?K0>z92mcg{SziWL z8CZRVE3w&2ZKEFnCXc)bKC~ksH2*eWy!lx2l#e!lR$XXj=#)27+lnP>>q3pivaq1> zrQmIYmi=U#Z`gKTh2w(7=_DE3`EHcx3T?qdC={yYvFA}(-c(0F)5;?4lI0Km@%3GZ z6-=iiN_t~RO{J45sXy9Ri3GyQV+j#HmP{Ruq&8|(vs)TW^mB_!QH!}~lex%cE^4Ks zc7J>K9&9=J(F@tb$m}4UUhh_iv-gOaP*g{o)GE1}-6~zVhgw{ct5tG8r{Sa;EbTDx z)8DzbmsAlliI^1zQlmBz%gJtHIc~SCs;j9jz%H!;yot%atpUc@V1K*HTfbP&TCF#0 zK#K`YCfw+1@;iM~^eR@vUtpLM&#KbGN~@^EaAl=c8R3}le6kYbq^)Ghd}TnaWbr&4 zJuDaUr@a9Te?DTL^|T%UBV01Ux0>L)Oz?vyc-#bk-2{Kf1pmMUzhZ)u{$M;Jg-9n% zyAx4`1UmiucDDNi`#L)I`+5RB?K}Ox0Eq`v=R&* z4TJ`c2Ks{07?eS2Et~Of)WP^09u}l+42OF|PaDVKB2q&AdKer}YcSq3s^7rYZ?IXf ze^tQ6xZg3H`?>x541}a)$G`9*`le6!b+u z>jYf%-2daJ~q*x5pcYxybtTK0YLgb zY-G58ACC#R=;yl55AVYbL0`;&PQXP!PWCjS7~k@Xm>iIc;re`D7I5)gy^4xJIEnZe z!?}O_uLo&D(8o89_vgNVi+)-#IUp1-hr#u~7x1SAyoEins4wCf6Z{s#d7jt74(X1d zkKZ&NcP0B2==~os!9QiV-v4KUzUcq1fIlO|bpVfqesGjXN}q@;!6QUUD=BRr;9M#a z3rY$+heQeol^~Ihq|-!7CACE;8IMO2AWI~bhy>sAX8Mw`b$>#Y22;twNJ=>YHs~ob z5a>(6Gh7P&e;5ZC<5gj8F1hkBj(-QafL$xTB&&eKJ@Awejd9}P0qQ~_&{HtbmVc>N zAPBS$2IA~kBSfj5D{_F%`uNWSj;jCF-VL_svtln{ZD;ZC0WT6Orv$YDhxV=#qA~ZG zJ?1A8&!5jbLCASg&*Z1eJl$?E!lSCspW8bsoR<5~;n#q{_`|0H2ifqtLT`_1`n?B;3}Qf_&$X%aSKn)V`;6=h NEPthBsWE!{e*qpcDc}GA literal 0 HcmV?d00001 diff --git a/inputHandler.o b/inputHandler.o new file mode 100644 index 0000000000000000000000000000000000000000..c82046ee6ea697ef6f5aba68e38556fa2eafe9bf GIT binary patch literal 6312 zcmbtYQA`}i86JGZAqn;#EooeZwim^Y&J{jGYqc_J-7~OwQK3FzQ)34UpSdNR4R_Yv z9tK;av_R|C1&N0|IBg$@^;RV2Y1 zG~09$&|IhOX{AR0_)%|ByGx8VMhs8QXW8Rozr_|F6bglF%l6v7LV*?VDGkiNYp>Ba z73{lWpZXOVfV+NG5Y&H419-ANchp|9m$@5fjmh5z-#iN~ClH7OJbGVsvUD)GiZRHS zj{&~FD6%C!J@3STrllC&p zYedE%@5G?2=CkZ^u^U-^1NoWA-77in$D6YVfMNe;6w!$p*~)!EKG*Y&IU_qwsF9sm zbFhUHvg#m;%({cDlw`=;Mi%7ysstx<4aQ_H0%)xi3xo5 zBio6(^`T+^(GcDeeBnJb$VO^C6t&`ucf(p~2F1&xesBEr1ny+Vf!Vy^%cG_nX5Lk-4N`mgmH8LmpHp>kv4U8 z2hUV6Q!6q$ib1fJETYmz0*Eg;v{<{Ymqg?hBgNq3qS!Af*{&l}NPte7JV!gyMbjk3 z_o%0;78BZUP00p(2|&)U?@M=+rh)kK`l8rj^NUNrPU-nx)TE4-X>xnBRnS7@u3CQzhUtqaEzgna6WW=p zR=Em;qq-?oVOdG_2EMhEUizH;P~?R3pLTwCUf|@gPC&Qyh;okk3)!v-SB$ZJ5kw!*$a+ z>mUu6!+ZES6A4I_W}YgyAA$Ob9(&ER%&l2S7qi_ zoui*ep=46k?7h3tKs%aAUycqAH3deS0{aH)17l8i+35zUdy&P=AuHPBKzw}K!5xYT zr<3oA?=g0zl^ttoX$l0p&u0==CU7`(DAaJEF~et#Z-1j9)Nm-&xZlCKBAp{Y9&+=s zA9ORMTaGXv9%{8t$11LLv5HZD#jDlNSIr{$0pN9F&8B3~cl&?3qh;4lebVQKen-mc{XQ@Q5jUVD1Q$DV&01ma_GN}1+k^eg1)=40fP?Tupf1;u{udthJ2Lu>AK z5I{LR?19sfA%4lr;|A=Uz?Y~Vq49X3zlf(C|BMIzz6XBK1OJ-`{=@^PKk3TZ``9tl>P%+RW+a)8Tk&L~C?8F{HDq?g6K0xZh=C()n55fj57wSe z4x3gg-rpI$)G~-=^Q1XyWm0B)?D)XR_>j3xB9cm8AUjkoFq2$cDmi>AnHq|(`hrd9qclP%qXEJE~Vm@*^)A$$U5R_t38o6Q&w}d|02Uu z!W!7NYj@(3u%)jrZ9%B7fAC`8Kr}wYE}CQKlhIU6e&F}bvDW0}1i7Fs6&*HD#)nM= z1??55<0rTp<1PF(L+x80_?W;c&8a4SN6c?~;FO2d-109V?&a`tfm21HzaynRzff@1 z&f6aNXCC}V#QAjFGwOlQc;IcK6q22)J!d`eMFpqxC%@}WQ99lBd?Ik_Y83f>{Jy8! zP3Nq{GpFDx|7`{Tq9XqX1y}8V;DI-bQcL^3sPJ?sINgQvyG9gT<$uouUlq9YLkGC1 zeWu9MznUb!Caw^&=SvFynu70E@T&rs{E}x{k*BjD@xLng9tDqyD@yXbhBaylfs;Kd z&z}`s^?!$`k0eiblic@$z$JeKYt+UR`ByQQ@;^~<`n@3WUn#gMe@nqt`M)T*D*r&i zRrzX40yMH;m48{mRrvr3qtSQKBU`H&NL=2lF&8fH)hQP)?->?Kj}2SV^XRRV(+|o~ z${dP@EYx%sibbs`3!P7=StylsCjH6bVKafXMA9-t_>Fgf7gI5RE0GDI%w9qr9)k`s znS*@;R7B+`{9kx3DHlXplT+?{ib1%DID-w%=?7^M?Ik>W?_ZAv;{0Fr8=*^_YEEFvCdB?dG*O!Sx65Iyk$!_BL&G(p zPxh%z+AsTNEXuJeS4j>l)7-LMkfBoHw!cc~2V5M|{}R4{0dczZgF=5!3X0yXPgz(l z{t@wq$vL4%baa%ZzKnmly-8(7?7tukqZ&>wb?XzSJNAIs1QlPjewV{sQ+~IV)1Mdi LTMkX}?biP<-?1*0 literal 0 HcmV?d00001 diff --git a/isometricMap.o b/isometricMap.o new file mode 100644 index 0000000000000000000000000000000000000000..d0e6aa89edb1a0e1f569b7c0fb68213d089487ed GIT binary patch literal 4904 zcmbtYUu;`f89$EGE?JdF>j5Sg{pPG@BFcS zZyeFGPrB!x@Av&V-}jyG9AEjze0;1Y5MY`D>=7ylbG zoqwJ-i(4~J;abXcdmlOs1=Hd6p_S_mOzWf%zGAx1SIlKzGMAr}P+5vxKyK`c=>$#Z zbf3$wI-{ZgsXKZA%7=vVS4@{z%1ae;3Uc|ikE+fM0^Mk@@#c-?$>2{`4D-fnvq!>C z>2J_e3KuH~npd1swT1Pyu$u}iFV!$hwYbd=&W&AjN|cFkC=|^r=4uVus01BeE%P;K zF!j3iq|_xhQrC^GnaRJJ%l&^RHI$=jE*~0bdk7Z!TA;naFkgG+TA8nta+z<)m*8%_ ztoU2!ulEC&C3biX#~r}#0$D!rM{)(YY6h@h%#CeOSgZdC zngOb4&2)N-d_zS-;SckTSAJ3C>z?4&ji0|H7lIR{;*=;h*n^#@r_9IuMU&WjWOT)~ zne)&8LH80`DeM%soQ1j*+q~WfL!Cp@5I+Al!79C>J-j-71VMRKvq}q~jD& zfQ1U8;Tsqx)=eiy@m0~CtxPCp(x^*8Uq^6Sv;`5ogra>ICgAGqs_?1deu9y_gfR(; z^>~A3U7R9@xVbaFhA=yKkf!G%>I@NRvsN?|O#4u5VY8~5(V5y)4 zQe;PvsodU8sX%2A3Rv5#Q1doC)SKmKFKvOG(s7_^-4z!N`8AI6P2=)jT-y?-Q>pNp zarxhZLnu?m`|lY?SB+QcPNU#zE#yzir|NAL`H_mJqlF1_@uDs(Ht!m*{p?eC5Z6#s z-bQGDalGy;gvmat4K6Wy-Rd{Xyoqo`!MdGdXM#@By&hyYw&jHGOMhFYa_9bI=hJrn=(L4NWIj8s z0Xz3{+7bX&l6_N*a#-q^(=^K1Qk0z-9sNf5aO}cD)?Nq?N1libJ~p%k{9F2nTzqML}u3GYBVvM zJT*0iJ7X+ooyp9mM{JM$MA{~F%*xG;SXScFWGtu9^yyPW<0%3`T3>vIfS(oUPW=bfdG@cH+y#Gq7kotZ8~NFfN5?bWfp_Nh zXVr%~&ajGa(}y2X_#Sc$^6S6q!=I6A?3X?~s_?T^L=cHP;|UW8BL6C6!GBAPZCszX zln>YE?KK~+&)aW&xIS-dK3t!-O&_k$Td%6Wj&odJZIS$?IXiKIMe?>K-!pn9=zgeTeh~CxtNml5psdyd4*o!ABxc1PX%>^x~dVLOan(7<>3nT=6 z6%XP1_nk1JkA3S(wDt3+Sw{UyKL20)A=uLTojnJ(6{sng_Tc~R7>0=K2iq!QW~xN> z`O#w1CDQNX9djX2gRKkI33kza78sSvAOE7V4@1^Tezz||*e(An+Fl2$ocQgj3%l+A zJY7Pd6)`eK`%k~>+FtK}x3$US9rXziQi)MJeYT4|srmOF5L>4OL5F?u`&c#roo@Dn O>VGX;cxexQ`%eIrBa4s# literal 0 HcmV?d00001 diff --git a/isometricRenderer.o b/isometricRenderer.o new file mode 100644 index 0000000000000000000000000000000000000000..815273816dcbe8b60f8aeff4130daa2e2359c3f3 GIT binary patch literal 3096 zcmbtWO>7%g5PoZ$)P<(&pdu<2!6H=DqI5}6B}l6x=jS;uQks-Bh9UvMaW+jL{?U3Z z5~M(o3u3iNl@n_3aN-rolTlY#U?FSTM>`r;O;pPxMsHvc!L)8_3V!i3AtMpeVrL} ziy6cS`otUSW%04CvKXM-W$}fqcmfo4B`ts!&b^eyvr7==x)~%>5>Dna6(N1RZe5FS z2P|Pg)30Xa7jMw~$_4M+Ya(0ERyNhdBz4CzA z33&u41nsO?@%&IKTt}Jy12Y6>JmY728`Gcl8@&NN6wtpJ(7!N?$1)pIh86^a7S7V5 zxct*!)v7@^Y8m&?{9;>%7KPisOsptmXdX=SXX%D`^%F2%U1i3Ll`kO^SC5#UUfZNO ztN#1DVS>9)da(34c8#qZ`5ev6%!M2jpFs_-JOX;VW#2kl_MzFb=6=S~76dZFc^3Ve zWxw+>Gn^4F?3YQVQWdYf)H;xH!DpN=z&-V^^i8WwI^AiJt+9j`!p_1CcAyc!TSHN7 z>461tcm#d63(V1-T}`Lk|1dD6+Q1ZXV45Fj4v;~&Sv1G=9LttGSW9!u{>Qm$dLLtH z8%oea3*z$QFhm3^z8W}tzg;TTf z%hHsRRF!B%Q>LU)Iv&+#6LD!Mm53>tIvX8R;!}#Mr~_)`weykW!-Nd>_n(nYgeTK+ zEiLuPr{%6w-Dy+me&dNQx$CstebU0=D3g5f8Gv;ctih2mfq`8^%nJ+Yh_w;n^)VvM z2ZUpX4)|AL=p?`&;JWugCiHON9Z!FI8_jsV?+IXK*#x=GTM&4kP0C~1aCO6mA${c6 zYJ&m*Z_{sH#OXg>@kRBhM#Z#LqmX*oxd&j z0E7NrHo*4}xIgCSB)fk0-UmvXciP?hm-in7CoHu){{r`yoI!zi=l=>|c)r`e!u?+c zos-=DIE82$bQ%Hw3-7;O7wkWNOWOW+|C^nSp)TQL2U_CA!8d+4EVn<#boU-0Qs4u9 Y9R&xuYuy35X8saCsP;v~W4QhQ1~<}%_y7O^ literal 0 HcmV?d00001 diff --git a/list.o b/list.o new file mode 100644 index 0000000000000000000000000000000000000000..11ae7d03aa791a499ddf2b0243a66f7a457dbdcd GIT binary patch literal 3200 zcmb_eO=w(I6uy(G=@`>wETWN0c_5VuB+rQkNbq`p7dT*c4a5lrn*dewze)P|x75rjd`PHz3%RAT7Q0|a{ z6=b_s`y__HW3`8^_6rFsh*`mzgw@U^Ax>Dqd=m16)rRHGjKRGGpHlpHH}oA~jd&vb zhtH55-){Ffh1nZVW=8kMU-?!E2?!la*nK^ujQNi33^K;fS1xy%e_h(}Slbc12L5e$ z-L`_8q0@;>u6F!~p+i>1t`*>DiY+8|n?jOcCSlE8_n+)rNSwhH?#sBLf+4gp<=A0B zsohBdk{z}vr20`wlrDVt|1o#3zYCHRxz7rWXMqgG1^h$uQ^Jm)D3or2{6nV^F$eQc zUQ70B#`}png=&tQ;7yZI{6NXl)QT3BEGXVmS;Bw!QSR0z@FbK!^vX%m1{&h0ZDcZX zmZgqWj7!F`%H-4tdyTQB#l@$LRI%*WJ>Qr!XU+8VjL)T+cb-U_=~;7TQs6vGb^r?< z;U0{oQ$>ar><|{mAbLP7EcW&?i(O2{j*K2mY~urb1UL<%GELdBA&phFA)yv(A3j^)zg1WIOsS{N?+${o*Rz~)k;`DbV3*q z7D4p39ALliN2qWokuMK$bz6g8aeljl7)fz{+fn$zJ3(&GyXX#GJpAZ|v~e~Zk_1Z; z4u|sRH3Rk#2Gw7uX#i39EO3gW{CRDGW$$8t;x70Z8Rr&OB2_CJJjMS=UUi3*pe6?4 zt7uRnUURIQ7=*Va&T9?q1B|HrS#_i3nQJVMWzltP&pFjtcUWmDe|lj)Upk%3tz=hA ztMd!_Y>CzEYPBJ33+_hU%Qf5!w!6-nzSm++LMlAa^YxbFdO5dI_d@c5z4oRQHw6Bi zYhReJR#)KaIW0z_;8z;{uct~_T%7{{r3`A_V-Eo$B=zE{vRQH1iXs#xvU%I6UHmDKKi+Cgm8LmR2&05 z5vipKmot3s<7FwI({R;STNQfC@ebv!$)mO}HZPq-yjMa0+dR}p^Q?*Ucx#%%- z-S%u|mRl`mx(y+$HEJ~njbYXso@3&Too;#58A5)&?wd`w(M11j!iOR`=SvmWt~oN3 z|F#%#r;_L|LIxPo&*963EX&7rG#$a9nq@G;^qUNrkPg%@#HyESLK;6Nas7onssqwq z-+xNR)Xo2`|BT#UJ0?^9_sf0NqVGQ^{nN@ou8+%vD8Dc%f3+?^sraznS^Yp#soO3C zr(Xp<|8vsckbY`W_pjtPz)(!xe@ptS??l<_{?vt0_3z4`s%_~=^{2n!%3sw#YHxCR riGqT<^1$@g(R-o$Q_QHVD#-r(1o|-P_eb@O@_%1$;8WOe_ATd literal 0 HcmV?d00001 diff --git a/main.c b/main.c index 2e10499..a2286ad 100644 --- a/main.c +++ b/main.c @@ -15,14 +15,6 @@ int main(){ Game *game = GameInit(); - // Test of the IsometricMapUnproject Function - //Vector2 asdf = {500, 600}; - //printf("unprojected %f %f\n",asdf.x, asdf.y); - //IsometricMapProject(layers[0], &camera, asdf.x, asdf.y, &asdf); - //printf("projected %f %f\n",asdf.x, asdf.y); - //IsometricMapUnproject(layers[0], &camera, asdf.x, asdf.y, &asdf); - //printf("unprojected %f %f\n",asdf.x, asdf.y); - // Hides the operating systems own cursor HideCursor(); SetTargetFPS(60); @@ -46,12 +38,12 @@ int main(){ DrawSpriteToScreen(game->cursorSprite); // User Input Handling - mouseInput(game->inputHandler, game->sprites, game->worker+4, game->camera, *game->layers); + mouseInput(game); keyboardInput(game->inputHandler, game->camera); //cursor Positions test - //printf("Cursor Pos: %f %f\n", inputHandler.cursorPos.x, inputHandler.cursorPos.y); - //printf("Cursor World Pos: %f %f\n", inputHandler.cursorWorldPos.x, inputHandler.cursorWorldPos.y); + //printf("Cursor Pos: %f %f\n", game->inputHandler->cursorPos.x, game->inputHandler.cursorPos.y)-> + //printf("Cursor World Pos: %f %f\n", game->inputHandler->cursorWorldPos.x, game->inputHandler->cursorWorldPos.y); // Sprites move towards their destination float movementSpeed = 10.0f; diff --git a/main.o b/main.o new file mode 100644 index 0000000000000000000000000000000000000000..faecd3f34e5daf6859668d0156b540e3a80fe8eb GIT binary patch literal 4128 zcmbuBU2GIZ9Kh##2t^BfMN|+hr-CUF&bDbH5H#B>+YU(!!nJ$_t=qfl_2h21?(NA( z6iI3g>!k_LXpE1VXngRczCbHPiXo=)LHl50AHcMcM5G}hMm_)k*_n2_+$JXelewMw z{Xgg9X7^pAtD`0oAyOjbWwJPul#oyA7W+Ey>SQ%pMdr1JKYOWnD@BKI@1UcPq3Y5% z5aDt>O2{k@$MA>usAo*`&gI<_&Fzt9U)>wKSE*FaU-PE7R4SyhijaH6yW&klhg6{R ziyxzGOw;oD8Gw+o7TP-M{YuLbT0T%qz2($9R7=ZkG3s^1e23wyamt-8OrsO;oUH6#SSNRkb{vlQA`S9ku}QR9Rm)d_SU%d?Ci*r^iqM9a=lD9iPAm zGlJ-Ar3&izRX2gm3{cG)=hFqZ?yK4hlW(=6qxYO;uGlp#46MbDNc&+qB#}3!c1! z@02`Hg=b98YsZX9I{Fe$Xbfugk1VHmwHO{ka#wq8;;wd#hXwmsH~xriILa3?NRKQ~ zOt1~|+<*$E=_qX~LpMD|y(u~|Q$r*EV{|Q?V*@B(N?O+AxSMqNohhP?Z2PBD;hQi# z+jr?V&+mlg{?`UGc`={*vXE;yV+qiKgw%B|d6C+tQS1YE3k6^*LDv zzAQ?bZ~x)rq-V3jum-zapSp|P<#_I^$Ks^!LT zH2Pr_tb{V;fg81q{86cVh>{8R}4D1?6*!oLpTH$wPNA^cVd zpAX^7;J{T|=lT%d5W=^F@YWE%JA`+J@S`D|6wI8JNb?8j>+IT}Z0qXV-_emWdir|W zl3hk0*=yz8!~O-)X%-j`3C(3#d&w!<4oNY$$8@sH?RX_ck}R9E_BbY7C|S~;XQq=h z(ZFvhE-eqkXnhF!Q-HOoCL} z%r6Z1RY)MKjLz6tE@Fx`RDjdHpr2X51 z%k`A+liP~@dc}SR8iHWnC!xtWhZVj-;g=PT?;~mdgW&kUcbmMye^%_DQtamf_81E# zDqcA<&SoEz^&$LC!Lj}ZXtJJj3dge~`G~^f3jaXiPb>VQ!k-f(>*>hOlOt|cnOA;B=HA$ksSR@I@_6KRZP+%75EZb!X_%_&Hbm5K=H%{k4W$hs{=!k?^S=~+sZyZ@r>Xe=+IO-A`Zfs zSfocliFxFkAI~nzbI_2BP zMSfj%hJMf=PhqwFkKyGFBKH~hACH9em%LhT^!rrgr(z#49Daod{V`^6?*WlJ;?t7_ V7A!F2cYQVgMp3_u!4wJl{|l}K41NFr literal 0 HcmV?d00001 diff --git a/spiel b/spiel new file mode 100755 index 0000000000000000000000000000000000000000..39c12ad96bf08572c6109bac16a73c22619575ed GIT binary patch literal 27400 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 literal 0 HcmV?d00001 diff --git a/sprite.o b/sprite.o new file mode 100644 index 0000000000000000000000000000000000000000..0c3146f2d8f6bee1406b527eff6c0eb13377adcf GIT binary patch literal 3520 zcmcguO>7%Q6dv1YYf2isKZio2)|WylsY##*iU6$>JDG}6M@vKw9FX9^83_r|9x5&*Y1O2+AaRH)4h8};6p5f5un>~@-t0`W+1MA5c+z<0 zeeZYPo0;`Hss7$zAiy*Q*z;_a(-3olYg$7sJg6}j>`@<`lZH!1C;`0?6oLVTALmA&;k zt0%;5EVn>HOYLicJIpb{6URcZ=QGo_Ao_*4@STiwOzBKqwU$O|k&YT=z@0EkLt`fw zKXV7Ad@0PuMlMc-okUdhMw8-)q_`tD$j5KTe)$BcT(94(gRaer1!Pud;+9;nxh#yt9kyE+g^KvoB4#f^lIYN>6Ifv2Le03T;RtQ%mugpc z#Jsz!8M(l&gTZB2yD+<9ds!ttm$5fwAODx9vZ-T>IrGf@@gMUk$29YYV@ zx(K`k^co;K7j#vtj?p4!rhnZNnE$5s=Yp7VQi}n44d{;4=)z-jq!spQRn}_ZpyL72 zHc{emXIu|-bl) zMc)nfY}puU4?u;*06mLAv>i@YG+_7~WD z3V)Oi8A$dN^M@FX@?@nk>zr-Ib8J8^68SvK^z|R@PV{Gv_Vx~>1~Y?+?*3GUjg{>Z zOIq1CUB$uT$)Z)rv%{t0h-q8ra!0ab>CrK(c;3v}Qg6__XqPRMWill@o4b(74PVHd z&7Lc)aWaszOmkEP@3G9RZL*PUp-`lagC0^xiHE=ybVL^ zzd;T_ghwzmzD?E7k3a6gscu^Th6nfh*+~vSem^}Pd^_aYPmGj7l$J_O@`n6f#r65g z`*7X&Yd&1}oyAL+M(pemX4`V-VZE}PMkOxfv4*I)DJ zu^^v*`!Qwzsa908-`)h?sQ<(26L3b^QU3|j_PYO#Vv|W!9mtB>FughSt?=8EPk-+L cu_g7%`j{9G`Rlh8vPSlEDt~(Sz2vw52cz2c+W-In literal 0 HcmV?d00001 diff --git a/tile.o b/tile.o new file mode 100644 index 0000000000000000000000000000000000000000..ab5577697d3b561c8f279c63aed45d60cd7d22fa GIT binary patch literal 1072 zcmbVL%}T>S5T11F?@4chmwHmcE{W8G9wbm|FCtzFy(TfJ*!+-ez+Utfd=wv{ujCWx z%yyS9yQ!c9Gqdx}d^7u#ypL{gI-UnwJh+Bcq)~uR0}Le`!Y=FpjEBRk-pM3xa?$iI z`GEWVppjAVcJ6b3z=P8zE?Hf)d#D?z1t%kMkn0jLO7GZ0q zF}W+3z+lq_5n;F^N5u0iQo>0p(56^R>Ugq+XkKGcz#OcI^mrTd4MzRVq$TdF|+|rcghdOZg8~v{0US lS_wK(IR0_Y-BIdZZM1EkqDr@q*1mg6Ocj4Bt5(K7{|^jnI4S@D literal 0 HcmV?d00001