From 516155670a00e5ea9bf35e1e24626d60cf3c8625 Mon Sep 17 00:00:00 2001 From: David Husicka Date: Tue, 14 Dec 2021 17:18:34 +0100 Subject: [PATCH] add resources --- res/1024.png | Bin 0 -> 3627 bytes res/1024.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/128.png | Bin 0 -> 3409 bytes res/128.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/16.png | Bin 0 -> 2447 bytes res/16.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/2.png | Bin 0 -> 2259 bytes res/2.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/2048.png | Bin 0 -> 4643 bytes res/2048.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/256.png | Bin 0 -> 4017 bytes res/256.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/32.png | Bin 0 -> 3025 bytes res/32.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/4.png | Bin 0 -> 1691 bytes res/4.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/512.png | Bin 0 -> 3027 bytes res/512.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/64.png | Bin 0 -> 2733 bytes res/64.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/8.png | Bin 0 -> 2534 bytes res/8.svg | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ res/tile.png | Bin 1055 -> 958 bytes res/tile.svg | 51 +++++++++++++++++++++++++++++++++++++ src/2048.c | 1 - src/gui.c | 49 +++++++++++++++++++++++++++++++----- 26 files changed, 864 insertions(+), 7 deletions(-) create mode 100644 res/1024.png create mode 100644 res/1024.svg create mode 100644 res/128.png create mode 100644 res/128.svg create mode 100644 res/16.png create mode 100644 res/16.svg create mode 100644 res/2.png create mode 100644 res/2.svg create mode 100644 res/2048.png create mode 100644 res/2048.svg create mode 100644 res/256.png create mode 100644 res/256.svg create mode 100644 res/32.png create mode 100644 res/32.svg create mode 100644 res/4.png create mode 100644 res/4.svg create mode 100644 res/512.png create mode 100644 res/512.svg create mode 100644 res/64.png create mode 100644 res/64.svg create mode 100644 res/8.png create mode 100644 res/8.svg create mode 100644 res/tile.svg diff --git a/res/1024.png b/res/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..3be11a981a040f4a9e7136e850c8aaf1d081e4d9 GIT binary patch literal 3627 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 PA3cDzrM(5-%rE7?LV5!w literal 0 HcmV?d00001 diff --git a/res/1024.svg b/res/1024.svg new file mode 100644 index 0000000..b7f42aa --- /dev/null +++ b/res/1024.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + 1024 + + diff --git a/res/128.png b/res/128.png new file mode 100644 index 0000000000000000000000000000000000000000..770bebf785dc05ddc33611c8cbc715fadc7d2018 GIT binary patch literal 3409 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 bbPQlO_EALLcxWf@5Ww2}`qdg!bn^cIlr4$8 literal 0 HcmV?d00001 diff --git a/res/128.svg b/res/128.svg new file mode 100644 index 0000000..ebba172 --- /dev/null +++ b/res/128.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + 128 + + diff --git a/res/16.png b/res/16.png new file mode 100644 index 0000000000000000000000000000000000000000..011bcc36a7d90f7d2786f167c2f0d017c028a610 GIT binary patch literal 2447 zcmd5;`9IVP7ak@G8C~fz)@u!ANm&|e7)G*$vb>hDX9;75p&83qOJ$5+yP7OzNg)wt zFwB**)+jrTl*Yx3wXdbjs~_I~;r{TP=X}ojJkRI+bk4csXm2enC@Ba6frM=kmQIIU z^Bc$b52NEJ8LdMSh(frdK_CeIH+cFYs{;;;Pz>A+;~W`;!TLrAg0NVuW=KRB+TS-S zP%|<*xP)yac_@^&vApCGSGqcz5G96{>01Y8m2*6g3A_g>JDxjr@v0*$)lID&Jmvw* z7FjTW*~j2xpElcDua{l#t7-247(#$JHAAw;Oz|%?%6V@#s*jl%q-FlsjOHQ>CYZIF zYl@@IDL9*04h~Bm9~52$ghBkI)@!pwAI&S<3<>YAs_G`Sh!lY7iwgDSld;6NLf9rzF z$qi#sl6>hs9%Hkau$ph9NE@#Uin)yS04bx`x7fxx9Xv0eI7_C<+TTr~K=4G!jJ_iY z?_BBkNa56`SWRISqSpwnzNqGO&ViH_pXD<6Z*Ap$!-2kR{ph|M{J0V9F&d=;Hcrs) zlnzpozb3pHD*wj-fT*ZKXiZEDoGIZq^&zKG7Sn+C5ptRwJJnjG`vZDzU@V_b(aLnt zqfMXA)K>`;TjCSpWM+Eso0`_^l_E+E=Ucw}E|8d?(duC0tMEl7&DP$RmU)vs686*>ipxoTzk8*m; zH;I`^iMhS5wG?i)Ynl2x1VBzF9tfGdyou4HB*G~33nOMZT|##x2A>n2I5USHAU7tE z^(b{P0DlF)?eT7978}6SvS#XY(M0yKIph83;n9629ry0g3!I~-&sIyFSo}Q2933$q zg>qtysB-M0qk-_)v&}4pRW_QVT6I2$jp7tj94u^uU-|wBy|yHyX7Q%&E=e0CjvKrW_r^&%hl-P7YHiey&1_e+qZj`c2t~3 zX}P6Ug-{MQ9ga?6`qhN)ObjBI+kI;dr!mZx_XA>+`Ld3cWqVi(un1*_p`#7uxE0T= z^`4r$rILq#dP43xW-|%T<&8|kgJmKKyEj|yRJn#5hp{{r5RoA z$`K+R&IzX>#=ZFp_*%1Tj3B0MZxW8Ly=>Mf780tcL|BM^eTa#;Z`cd{xDwimss(ha zbQ+ozcVI$4VEcTUb&MpD%H&@g-$Pa&OHOq>@US7EApgUk}|#u z5@pH~xAWTSvC-*VomINgP-vcl@VjSVOIWGxi^>6iH zvGk+dr6gC{QeNA`APq5itmV+7X&<35;Fga{E}Jl7dK6%1lvH)sg#!4|kRAFZpz*KU zT2Hb#bCr(~7Wy5c*QtmkGd{p3R?kg>Z1sM;A?aeeAlM=>`sRF7eWd zw>0i)FvvlqgO+eLBE7yo)m549&i!Y1E#GFoZkiV^NrKv7ZP(owtRf$-OVkznP)l|b zvo4ssW~T<{x7}T}s*O1N6GfsN)J)`UWjn*AUu+bSC%dYQJwgX&pK{mfQRCS&kq?|n zQQ}hx%iG$hL00xqZEiNkO7xLeK6$)zDH@oVT8uDnS-(wr;N40}-ejKHPv9 + + + + + + + + + + 16 + + diff --git a/res/2.png b/res/2.png new file mode 100644 index 0000000000000000000000000000000000000000..e6029b66366714cbed111c59e2fa41f019b20b4d GIT binary patch literal 2259 zcmd5;_gfMQ7X~x)I<9G?MFIs4@?J;UFvQ4$#4?;|ndUZ?5_2Rj)VgI^4sNO7DEBBO zGbIO+Updmuj2u{sIFS&+)QcnWbytsQQM*-@wY0@G z@Z1YbNP_-%K8q)d6?;fNjfkj+fvb&@H{sFKbL^*UNy)t`O5ur}EnWrIe~7T(o~t2& zOeJEXW4XGY(px}Wq9qNodr)L7+K{&USHHtjsV!R29UZ{<6Lz_wX$; zrG02~$L5UhsKB!hIv%p4rbMSWcRQ8%Jb`at09De;@oi|F!SsKXLbb&vejI9SI&%VP zR9sb*b(UnA$&2B9brjMwtq3<&HmwF68vo|*=!Bk!F4dOd5za0SAJ2&%4Am~|i2eQX z7jB=<&3KuSa5BBy_ge|EA@+y8DN3|I{c*^lY?c5__USjGth8G%gL6GR8D#?pseZGV{>iq*TxY}A(k6!q`uDuyN8*u@0?#XDUluqP^ z^S>eqG%l#}c0MeBJZmlC^L#=-R!l1`XAK{g968F`_*?-oqaNg#oVAOl%il!iRWIPy zxq|rfaT8xOS#LKURlqF1AUQ6}>n5-HhR=d~I%ZMexKG{gb=0$@_-+P5TS2ns=e(I4 z{p)YsKUZno)#~zY)e93w`rj3O%)HQ7OP)$&KBOIvxH+1#ohWN^%f^_d`)duiq#{^D9}w!jR1J>x=Tx z{(M_-rtIxWAR4+ODjs$eV|LqGkQRw1_&TW@lgxV=^lfywW})=`qcq~(c(&ei-Sdrm zd%U1pe|lzoo_y(Q0hOdnAol~?{fh9Xk;4Lg;kJbXe-Cu7OfQfN`10S$nM5}A=^a79Rg{8sE-6HEcJsnD>*|)@ zGlaa-@YasVgSgkSgY!Mz!~;0VLp5CPiWOsafFAW^ErxsK`cMQW zuBhwA`70r>@1^HzfPyj>>zrNJa;WCv%%q~??cReCXU~r{5o69Q#caC+owI29aqK~$ z^iBfo$6sUdjc^ayPKErAwaLXxS=BsoL&!hk(2N?3Y>958-ZGL2b z&m@f$;x8BDeM|l~*!?hhusNoA^ylUkzbl1iYXdVj_8QKEc>M`NBK@`I^jzg> z3$JG%v*D?=hy%~)@?O;0Gz-%4R46A`5B9ctQ&|&BICdgMUL#iZ6|lw)ddF^uk=KTH zt_HqRZ#s~AOCis0_St33_#>>I@~h^=wdEmKA$>~jyT8+x%5>_SH(;-D&&Vm0ql|&i z4Ut=k**wO!QdK19=JL|2kFMNrSEOJUWU#D^e9@GolsL9TFOkTtaeG#iT1_y z0BtRFWB+{a;%=#wz08~clYY#~bDc{_>D&AkrdvJS<76zkQO_n3Tqz6hEgJl7H+I-% z>4PfOwN9)>?Z$r7(TA=%i$=%f#ix&(eFCk^^IkNo3BV z+Bu%{GKGPOf1{16kG?4-^(j_38Uu?AaFhS_d4ErtsH{>BC~bLWu7%L)GAQT^A2X)6gm_(4oY6+Cwh6RiO)}sF zF`0U2j2*AOcQQRPR45NTo)q?UpVa+iN%0Y#84@}P3Y6B>l6RYIp=oHS#I(ksY}_s= i6NX + + + + + + + + + + 2 + + diff --git a/res/2048.png b/res/2048.png new file mode 100644 index 0000000000000000000000000000000000000000..94e7a4b10f548893b815cacc7e0f7f035488caec GIT binary patch literal 4643 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 Wm+K>MwCXjSWB(7hwEA)Y literal 0 HcmV?d00001 diff --git a/res/2048.svg b/res/2048.svg new file mode 100644 index 0000000..b1f831b --- /dev/null +++ b/res/2048.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + 2048 + + diff --git a/res/256.png b/res/256.png new file mode 100644 index 0000000000000000000000000000000000000000..06ce235af7229264e00d990622bb25dcc3971536 GIT binary patch literal 4017 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 literal 0 HcmV?d00001 diff --git a/res/256.svg b/res/256.svg new file mode 100644 index 0000000..682770d --- /dev/null +++ b/res/256.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + 256 + + diff --git a/res/32.png b/res/32.png new file mode 100644 index 0000000000000000000000000000000000000000..c06c5d6b42f20dd2468122db43d3e6bd8fad8324 GIT binary patch literal 3025 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 + + + + + + + + + + 32 + + diff --git a/res/4.png b/res/4.png new file mode 100644 index 0000000000000000000000000000000000000000..5b94c25ee1df0d7d0adf717d34acaef799151c76 GIT binary patch literal 1691 zcmd5-SyU1T6s1K}ChC|A=AJ+zrM4KBf=r46YVKv`Xs)=8yFxB#b;botRLo4Y)FL%I z;AohddUA4%EG@$|a^Dh79ar42!82d;(f7>9efQk^-ut}o(d=#UV2}z3004lA1e~LU zpYB2iD5>^6>IM>$4JWup0RRVEcCm*SR_-e?k3?HsiFOJjMN_;Y{QwjSML#e!ILgN> z+)qC&(!XFHtpWf55k%Yt=j(-Y14#khF>1WUzCl#pvI{->sjl%URA)M=4#ew}RTLNh zRTQN4TT%dNipAGH3i3PaUvdw~xOZVxQ_9NQ*8P5ad-mBbKa|axLg9A3b=VLa`{Azv zDuohC5m70kgyuii#0eBp3Z}Nu$?%OAkv--hA(*Y}el>#dtwvYBjrGWRwzvayfXWPGF{t0@;v=%$<1ul3aY5 z?=#=A4~NJyB=D6o%?el~;&~2zKW-+=`7T@tCp!J20Ssrrg^eyHkn$Us6g84LPGEBU z;bK*P3}Y{&@zaO6=*W_H)|RCtnD3psGm^ zMx^2!U(yt&4$On^s+Ew6?#wm0L5DWX;WiGlW9iJ$74un#NHrpGsF zu;XGXs;klZHn|VexY9f57zb<9ouP=i4WTH2zwV{`5YZ$Tc*wb@ca~ug`P@0HsH~QR zoqmlIW)Q;oYfU_E)%@?{g6fUQMo7_qT%0@yc#C;$w$T;YAUcRywvR~Hd3Qi!-%IK( zFNKyt>7uqa{)|P}gjeNV1)NG*j=x}aO@N^X|Af@3xNegu8CR3o6@obT01;kIGiK}O zrkw#8m%h2$L0rV;Clh??RAho|SIIGCOAcncSsCMjLamzn zDQjnVwL-8nUx#<-=Z1`o+@2}f#&|tyH)lC;Uu>*Q;lcFau=W#^;thqPe1u2hg4=^v z(eSbL2akczWx$F7YVKyqY2|F=bWryvPo|w#%_c`wbdIks2xx%?YSz48`V>?wRnQ+w(gJC{+lT0 z>FJg$SM?fc*mW4bMMRJlR|r8lhUe3I9Az$linMqrK%p_{=>SgzHQm?CV`2^7>wHHTaTtxo5J zHkt}5?CXy!#_0iAS5wWzxybIvu(qy_wqyp0P?6;f)5U)7I_guS%Z;ea;d+!{_~0EW XB(*BmUKukdc`N{;g)NR_=6UOHQ;i#f literal 0 HcmV?d00001 diff --git a/res/4.svg b/res/4.svg new file mode 100644 index 0000000..bb581f8 --- /dev/null +++ b/res/4.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + 4 + + diff --git a/res/512.png b/res/512.png new file mode 100644 index 0000000000000000000000000000000000000000..d45dd3a262f18c84b1819fc932d02fba3253c920 GIT binary patch literal 3027 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 + + + + + + + + + + 512 + + diff --git a/res/64.png b/res/64.png new file mode 100644 index 0000000000000000000000000000000000000000..85eb3f8682dd1a4a7311ac72faadcbecd1d70f08 GIT binary patch literal 2733 zcmdUx>pv3=AI4dR&6eYCMM!cghn#aXm+ES9{2NCJkN{k`hGsYm%lgH_rBAWi%_r(n2(PSYG-SG?SOCpjj-TB zJB`a}9{_~3^@!%Rh{BfTOqCZ7FEnqB0e6*QLLb66wrnNgXMm$tSM}kJX#-H0Se+P z%{({1$Hb%^Zjh=!mG9EXkqpSxRHtVY@rk@)a!tcp$#HJ6+taO5m(iFSa7r{jP^V z>lIgzAAjbYj64q5;{W1OSN|M>u^$}HsY2J%gdB~83|F<4k5|wE_g0Okj+FHKDq6`v zA=S1o)T?flS)E$^|ASBP3n3?4ZoBWOWsnIVJDwVQ>8MLyN)wq>d#PIO^p@JIA6EA& zWRu=YmQ6#oThD9Qd@B_8asp0bL6eDMeG8koyTjMN&WKZ)k9E<=04CYl)<$xqJ_%g` zk`GB!>SQFn(H7KhX?N@MPcp;uB@ed8ZOrVF8Xs@(R)%bTE=&kv9{G(1G8uYPe)0O3EfPW zV=cU96%|h^hMNG~%*uJ@vn4$ZbRf#4z#&3DQz3i+QEsteScOe&@O5DRgMR19_)~6b zooy=1aK9PL-AZj$?2Lc#Z7wtNmm0oGX3-&|sn067|NfUw&zTGj+5KIu+OI`eV#3_Q zS`s^ z8UA>D@2KAb;RQdiS{^hooLx!*@7E@;4TU{Cq!|bGf$Q!iB`kQ`mgbXKvsY#oD?u9% zJV>ip(V>jx+s>^XlO?pB@13Lk+bT~rpeWIG5!T^tMehA8XK1kRBl68zaGhG}hN30`G8Q%gjknj0>KV*7a7 zxL8hLHn$Vou<5&Ec+*%9ej7A0%BuHOj@lI1S!v#TMApSw{bEhf4cRr(@JDBo8s%D) z-A|m(>sD$~Brou*!f;mYo99-xFJAEb^?NF9)SjR%i}>~!|Jgspn0goS2)=i6e*EKdUPVD4?2N)%Dy)MMF|={5<6X=O z6O~O}x$2}RXc2GXWdO8@xfI)nZ#USTM=Zzf)_ItFpxLVT#l6g3jKA|*9Er>S1l4(; z|HkQ~-V0^x?68t{l9UqeNoYI;abQpL|1uIZim)fVA@1qBpD|z)6BmaV#9en}WZ#Z% zt4driyJ6$iM}CI@f04l?itAwD3S+&&n6%PUErE)(lwhk=Wyhy|+v=l_jBkWxVRYkf z*WcRD!i;K<#TBPSxA$IuJ!eP`3@}~FBY+JbV_hehW zz7N|WO?p~4}w#-m?%)HbHghQtP;*hd=#3R(5OW*$< zk)|Nu2^BtrXLBKlhEh0)cy;a*rw?Q4DP0?$PL6GRRe9Vr|APXm=e>GOaY-kGxt?!S zFIAGH&(o1sim;k4?X!NZ0nYcPGv6pwR}L00ChpqraJ1YB7Wi3ZoU&+esM}A^BG$gJ zy}BrT@z%j#EU@f$vZR1MZSoDNaf+14!^zz+k?cZo15l*nK8ZH?w2(*wC^)Xaz{dbc zlxma+xtiC}d$RaQ!@b$hlano^h*)T%IY6VdIF1*rbE>`Ibq6*2a*jFe881DV`GC|~ zXkS7!94h{9ho(I*$^tEqMLj8^m%Vn;f6lC|leJ z>~c6$&C2dh^11gepUbXik#PlrE)we|&yvb@(iEu38mni{KAABA=PZAUgfC;h8pt0r z(aDu=7Q!$#SHeON-D|vat?{v=p3MW5P70_w zn*Q+q7c^{Ss+b9ii!bteEwDqnj*n{e+;;l(dxV^Bv7>9Y2;mN;1I~hurcYkR zuwooT9(7%d`S6T)1_jfX2k#SBLr3H*tNwo1V~+RC$CZJTr?Krb<)|LLc!u5^(yl9V zMOb<|>yPblCBH>C4h)%@TM|v_C;*r_u@EgH?X0&=qWg{H@a0^(JoM=*Za`dAbej&w zD13?>=T^$NO=-6+`P-7PrCMcWr9|yAKKN+j&$zj8TM|qu)*EV^qR9!6fV<$fvV02Mt{ + + + + + + + + + + 64 + + diff --git a/res/8.png b/res/8.png new file mode 100644 index 0000000000000000000000000000000000000000..beb68c0f75db81182988d57e348e661e49c9d8f3 GIT binary patch literal 2534 zcmd5;i8~XH8{g!}wf)Le*vL90A`+7^VN734qR3gUoO6sBa-^>-w{IncvNDyMQo|fy z&GlU&N1DkIa?G(gC;P77U-5mO_jsQ7ect1F-sk0O@OAlb zJ}AtW)ID`TKppM@Rq~XXOe4`8=ZI8c(^THEug?Iu81cI7RpkJu_tsqY| zT!?o83n|MF3^g~oY#ULyJbu^TZUaVJ+gd5SXLFPEA`a$nWjJq`H*bQ!o|R;AFwl2) z(CPW0rOsRBkA0o~Puh~Uvvkw16@ERpP>yVz0UDOm)jt*|tB@yRp|b8~Qo9!4EZ+}$m27tb+K;qD z*OG?D zhi}eiWT_kxbgDUC@)I?#(^6!WeLCW`hR6C|`1Jq@O2AWWGbDum6qp`G33#ZV4^OYD z5PdmubhS!x-&*U zvfas+VL9YK`{Bk46O@UFKqtDot`LI%)_)BD=eDEN8zz(*rbnzUWpU+C2zyU>fYdSt zS~wOo4tI(mw_k5C<0c24C{rnAz2}4#qsQfB+Vf1g+tr*|Mtr!IFM0Y&LG)f8HgW=J zPeHrxygxIb`t}r5)mgh+BhY?VbSFhgSIyu=%#J%TZZo(HQ#ZNnhu6UVw$Wcll3hh|-mcJKkZ{Es}% zkH1#Pu~8S0{8bx3O>Y_ZW+Zj$L~@33ijNG6jvY-Ss8TxTdW3*_j2U1t1EY%U0rb{ z7s+C0jk`(>(8Gh^djtl;g?`%0AH!`jz zzWg@AU`hV^RDQV@Bg_=Sbx8F`ASswk6i5ttSmc3b7_VRlWJNDRw(u z*=6dX4a^yDidXU}ObA%z^p53wm16YD|5zjC`1!Jn?^6S>teZ8%XQ8pUml!?7sBi%@ z6YOb-+FmMK&#Vu}uSdCj%ir>i5<-u)(T^Nfr*i*pZI_=wH06xynF7O?h8}6jp~o&S zw#{I~nsu0=-CG(k1Vo=_n?b_p&F4-j!YMb!zm47f464w;YQ~?LIsD5s<9Q}2p{I6c zWo`K%h?ZUbX9&%7EyH^1`U0_hd>CyCoyYIPOLZ? z71lVN$hNzqw(C)Q%vPA%MCW1lZ&eSpRL={K4@1qeXV1@R(GqSDX?SLBCYV~Vcocum z5ceG8&Oi)K-xwisP?g*f{YK~`<`TOzMNBINZW&}*LHn>XPH8AG7+%|=T-k1q5Xw)4 zTRwX^R74pPvv*qe@YBR>wWCU|Iq;EXe*OSBe#410-?3x A^#A|> literal 0 HcmV?d00001 diff --git a/res/8.svg b/res/8.svg new file mode 100644 index 0000000..541fbcf --- /dev/null +++ b/res/8.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + 8 + + diff --git a/res/tile.png b/res/tile.png index 9e624797f405c3c36f815e6620b66e897f994209..4509e581d829ebfbfa8ed47e9b759b69dfae8be2 100644 GIT binary patch literal 958 zcmeAS@N?(olHy`uVBq!ia0vp^D?ylp4M+xDmDLAQoCO|{#S9F5he4R}c>anMprB-l zYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=GWPo-U3d6?5L+u=fuwXE^rp zc}z*7;jSIV8wJFLB|X~NE}uNP^C9bwA6_x99=%v?u&g9gCg)L-N0eHbxQ{qn$BP03 zR#v@C?&qFAY9>v-W50j4&EfJL&v`8G22JW!dF?rE@*T^^GJnE%dv2SYqgFXHCH)@1 z*yKNxQtVHrPk-ID{%_A;-Dfi%-gv#+v(9&u(2Q$gliEG)RQ|i{n(-u;#jAg<%4*MV zVtsZM)1F)`seWKxKKYKqkdlef%$@@&cE2i5GJ)5Is)_8~}x97iksehWe z)?RDxIlnT`e=p0q4}~6|G*7`}#B1WfjWBOum!0 z{{H^y$@Am?Pa9agW14vG85>uyu;y16FWZSh{!6ZmG6zXGymy;)_)O>5v%9~CZ*I$e z+7v6x=UF!S&b~XAAJ*5-QT>_yO0=NQKHbx7c^u>OAGsczrleS(JllEvz;?b#I_D?7 zQK>ZiC}DB7TgCeD#o0$y@+YtH+0O2F!)w#5l=rU}FW;-e-@mV6Wp3)5LVe4hHD8>M z70ploqt6ijRw225wPdx=B%XAcIIm3;Q*2KbO|qW8w=X-}{BiH^v`Nz?-%s@W!K7>R W$YguvA8ugYWAJqKb6Mw<&;$Ta^sn^* literal 1055 zcmeAS@N?(olHy`uVBq!ia0vp^-xwGeZ8+F~tj}UT>wpwzfk$L90|Vb-5N14{zaj-F zC|TkfQ4*Y=R#Ki=l*&+EUaps!mtCBkSdglhUz9%kosAR&1M?bB7srr_Id3l?yPV;}yp4({ZV060a2T1fNJ=;L@H!rAQ%H86Fe*G6 hCZh?0Zn>d^an)m%vSSk@&4HPl!PC{xWt~$(698M)YO??U diff --git a/res/tile.svg b/res/tile.svg new file mode 100644 index 0000000..1342916 --- /dev/null +++ b/res/tile.svg @@ -0,0 +1,51 @@ + + + + + + + + + + diff --git a/src/2048.c b/src/2048.c index bbc7476..828ecc2 100644 --- a/src/2048.c +++ b/src/2048.c @@ -39,7 +39,6 @@ void game_destroy(Game game) { } uint8_t game_move(Game *game, Direction direction) { - // just one direction for testing purposes for (int i = 0; i < game->field_size_y; i++) { uint16_t **field = game->field; // move everything on one side diff --git a/src/gui.c b/src/gui.c index 456211f..c240b65 100644 --- a/src/gui.c +++ b/src/gui.c @@ -6,12 +6,21 @@ #include const SCREEN_WIDTH = 800; -const SCREEN_HEIGHT = 600; +const SCREEN_HEIGHT = 920; SDL_Window* window = NULL; // SDL_Surface* screenSurface = NULL; SDL_Renderer *window_renderer = NULL; SDL_Texture* tile_texture = NULL; +SDL_Texture* tile_textures[13]; +SDL_Rect tile_size; + +SDL_Texture *texture_from_png(char *n) { + SDL_Surface *s = IMG_Load(n); + SDL_Texture *t = SDL_CreateTextureFromSurface( window_renderer, s); + SDL_FreeSurface(s); + return t; +} void gui_init() { @@ -38,9 +47,22 @@ void gui_init() { // SDL_UpdateWindowSurface(window); // load up textures - SDL_Surface *tile_surface = IMG_Load("res/tile.png"); - tile_texture = SDL_CreateTextureFromSurface( window_renderer, tile_surface); - SDL_FreeSurface(tile_surface); + tile_texture = texture_from_png("res/tile.png"); + tile_textures[0] = tile_textures; + tile_textures[1] = texture_from_png("res/2.png"); + tile_textures[3] = texture_from_png("res/4.png"); + tile_textures[4] = texture_from_png("res/8.png"); + tile_textures[5] = texture_from_png("res/16.png"); + tile_textures[6] = texture_from_png("res/32.png"); + tile_textures[7] = texture_from_png("res/64.png"); + tile_textures[8] = texture_from_png("res/128.png"); + tile_textures[9] = texture_from_png("res/256.png"); + tile_textures[10] = texture_from_png("res/512.png"); + tile_textures[11] = texture_from_png("res/1024.png"); + tile_textures[12] = texture_from_png("res/2048.png"); + tile_size.x = 0; + tile_size.y = 0; + SDL_QueryTexture(tile_texture, NULL, NULL, &tile_size.w, &tile_size.h); } void gui_destroy() { @@ -55,10 +77,13 @@ void gui_destroy() { void gui_loop(Game *game) { bool quit = false; + bool needs_redraw = true; // there's no need to redraw window when nothing's changed. will be set to false later. first run has to be always done SDL_Event e; + while(!quit) { while( SDL_PollEvent( &e ) != 0 ) { + needs_redraw = true; //User requests quit if( e.type == SDL_QUIT ) { @@ -66,8 +91,20 @@ void gui_loop(Game *game) { } } - SDL_RenderCopy( window_renderer, tile_texture, NULL, NULL ); - SDL_RenderPresent(window_renderer); + if (needs_redraw) { + SDL_RenderClear(window_renderer); + SDL_Rect tile_rect = tile_size; + for (int i = 0; i < game->field_size_x; i++) { + tile_rect.x = i * 175; + for (int j = 0; j < game->field_size_y; j++) { + tile_rect.y = j * 175; + SDL_RenderCopy( window_renderer, tile_texture, NULL, &tile_rect); + } + } + SDL_RenderPresent(window_renderer); + needs_redraw = false; + } + } } \ No newline at end of file