From f6aeb5d573e184bba0e08fe8f6e68b05725cdde2 Mon Sep 17 00:00:00 2001 From: Alexandre Date: Mon, 19 Aug 2024 15:12:16 +0200 Subject: [PATCH] added primitive display + map editor --- Makefile | 3 +- bin/mamaker | Bin 78352 -> 91368 bytes obj/assembly.o | Bin 0 -> 49376 bytes obj/base.o | Bin 0 -> 48760 bytes obj/display.o | Bin 0 -> 51488 bytes obj/edit.o | Bin 0 -> 41424 bytes obj/main.o | Bin 0 -> 42464 bytes src/assembly.c | 33 ++++++++++++--- src/base.c | 44 +++++++++++++++++--- src/base.h | 18 ++++++-- src/consts.h | 22 +++++----- src/display.c | 54 +++++++++++++++++++++--- src/display.h | 4 ++ src/edit.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++++ src/edit.h | 12 ++++++ src/main.c | 12 ++++++ 16 files changed, 284 insertions(+), 29 deletions(-) create mode 100644 obj/assembly.o create mode 100644 obj/base.o create mode 100644 obj/display.o create mode 100644 obj/edit.o create mode 100644 obj/main.o create mode 100644 src/edit.c create mode 100644 src/edit.h diff --git a/Makefile b/Makefile index ee5e4b0..308a8af 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ all: bin/mamaker test: bin/mamaker bin/mamaker -bin/mamaker: obj/main.o obj/base.o obj/assembly.o obj/display.o +bin/mamaker: obj/main.o obj/base.o obj/edit.o obj/assembly.o obj/display.o mkdir -p bin $(CC) $(FLAGS) $^ $(LFLAGS) -o $@ @@ -18,6 +18,7 @@ obj/%.o: src/%.c obj/main.o: src/main.c obj/base.o: src/base.c obj/assembly.o: src/assembly.c +obj/edit.o: src/edit.c obj/display.o: src/display.c .PHONY: clean mrproper diff --git a/bin/mamaker b/bin/mamaker index df62722b9d9e2347be897232e9fe713b76d195f4..8a1cfa903111dfa415fff35ed8d5efae1ac501fe 100755 GIT binary patch literal 91368 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 literal 78352 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 literal 0 HcmV?d00001 diff --git a/obj/base.o b/obj/base.o new file mode 100644 index 0000000000000000000000000000000000000000..4ddd1475c240a1dda92202b7144baba098279aa8 GIT binary patch literal 48760 zcmdU&d3;sXwfN7uHy18RAPF}>m@kNc3Ly!D42s+&HzbgW41__wWVj@O448q*3B@VS zw9dt$YFpb{wT?JcL9L>-RIR0Gt;MNQ<+WC=?b5bI(~ofA77|&p&>L5Br?` zJ$tXc_S*A4=boG&EiLldwk3yc&9@Rhp_X-MN8)+`T`sVOT0^Yb;=T|2&OO-Id*H?B zVdS3-x*~e;=6{}hpf7rGYxJHkpQTL^A%`xD9^P{9;c4d$1b5E)Y=Hn-1#I9XB|;8sH4<4!NUa7VXPH9jtNoy_ zZ2uL}11CifKJ5b~*>-);T@l@XQuG5iv-k1ML>gr0gtz#LGY%P(LJB#>edq3brV?aQ zsN%lpf#R#k4#j;hI9H~qp2mVLX7Ld6Q1KPD@ISh*xNolue+uZ3;|HxF*r&yP>5jDj zXL7Hq3_@BU+xKnAPX88VXMKyZ!{4Ip$={;voNrO~>~B%_f^SiFvB-vo4$bI5aUZwM zA=p)2>ontVAGEl?7x%pk&2oQnU#-)RV`VsSMeX6@#@CB?z2`5sUoF1EX~U*xKRn>P zw=k46S(a-0TRZJK>E)>ZwR`$OFYJ?E-qpt?gF@KPX2O3|63-7LSytF@S$S~nKDrvL z>}g%`?rBY}&81l5tkG8Xe=nJDW8Xfmh*e~G&<64$)@36UWN)7f$UuqJa#syQ2kW`<+ zHbtWd{)xjDK}d5wX~YJM<)d0<(Bx4|oZBa4-T>F*lLDgL%5KnVqw$mtM&oWVp7OM1;JMIvDuUkwX(=A3qIxV zf*TYv_;SWH=la!*{UFNly@TgD{Oyc`4u5a(LWln)g(> z6SD@K8MqR{P|vdQ6NogaJ>G5&I6no|A$rjQOluHEE*>x={U46RIl~5EQ#T1mhD`zw zYq4n9BJiY}JJrM5!INb?D>E+uPuO_QNPQ75CL7Pi{ZZE(Yv^ymp9F!D(Sa%lG>D1P z4NQb?BxA5->KlTC01m}Ujj5Wum{+RjPJOVedIIMBzeYP;kLV)(6x_TKeQL=S;}BW*z5~ z+hvtUy-gARFKLR1GcNrfiI8ZmFaM9Ckw%R`OhP?YAIZD3N)#A2lFRS;_P5l^_b52HaU-51@)*d=WbxZv~An z-=<2IZhQqMWTq8FMU31++dl+6BzJaliG6WU?wF6&NRkg@u0Ver+q*?wIdP+m9aV zAJS9G)Bg;i(l%Ntm8MM6Ho;{o7Ee;z1}kL=(O_B&ToO$+?JK3qe=kI&)|I+o)YouL zqX~&!m0FzsV<;c2Fjnd!Dp2+;9*Q@DAUd^_M5lx3)KU_iX~LHgH~mj)c}g+JF#S*J z67rb-C$)xx<(N2ibZ55ltQdrOT9DRWzs^cMWAJ^DV5PaUisCG@g119};Ah~N4AlGm z5Xdy>fm5DI^EBxHL7zZvD3#oSpFC({)+{?+mg4`>~ zy^7qc$-Rc$YsuY4?sv%jF1go{dp)@~kb5J!H<5cYxwnw}J#x2`dn>uOk$XG2caZyi za_=PfE^_ZC_W^Q$PVR%`K1A-rhig<0Jx-n^BP;ZT|7HkAaWX^Cq!(mxrbD~jah^4CXkZOJM;?>u(DO7^ zOf`3YNuGhm^8$GW8PAL4Ni&|^sc7hQ*5D=ouSJ8b(4O?y9SvS}Yw(&|gV)^}{MN0( z8*UAL=hk4aTZ7*l4U9Vb$dk$Hyy>q14agwj&^zfhFw-%?_Pf=2*R9TbZgt*wtMh?d zoe$mW{MoI}M^xFwAP4;Khz2u4e@%bN(cn|J27h;J@R?hK&y!O?V=j^}D05Rx7XCq= z9M0*N{#78Fb9y*^a!7LewL6_}Ogc323|VFpY^K>E+fLaJbR3nmo1C1}q+#BRcF3mO>W0C2$e~z@0 zG|`56L}qzJ4)=&0VSK43-bmw1PuXaNMj8DxQ#M(l(Vm=*;hdQ`V~sD&N`-CzWunxm z(DC*|j#871a8_}$@o_#+Fg`ZxiN?oDon+PlY~(4%XVx;Ism5p4GNEka3!(bcT(VaZ${&n_z$1UTJCW@`` zD7Mz4SQ{&r(o)}Jh1xxeb$Ar(^(eNU6=SPxu>E%>5buH$DVTh z#8Zw3J>~cx-g5k_?Y}`1&k22D|Hw)FOHbne^dx@B&gf0_(En)(&v(iwu};uuCOanD z0ORAHI@#w|FvUmX7Z*pW@nzx&IM7^Yp}K?2HIH&>J{mB1luI|h@vKya&;M{jsbRk7 z9HoYPlp5htYNSW0QNGYsXf>n$XcLkv=onT7RUB)s!>D4|Tu)#%#`*jukTTgOD|CWy zC_Gp&;!g6YF~y_CR3FX#xaMS=d+984n$Q2Lh|CGi^lflNp6n4h+aq$0kA{5~IoFqh z(YQ&@^HJ@eY-<0daD!@pfD=5$=RXb@mJ__ zTouxFuWu->_UL-OZwRitPFx#@`mw<`3|BpLW20{bu0QB{lW#Px5$JleFAJyebbYpO z1kSzb`W)W~obuB3xxV2zx1{Uyd_!^CM%U;2hT=?#uDAGx;N*m^FYsmIT!F4H^kw1D zP1jp}!*K+r>x+D&ap&tv&v8$x(KHmuJ73unN z-w>=sbbW;{g!P54uk?km643QkzRW(kzS=heJ2m3h_(o#?LD$#%Mq#t1>utUewjH{@ z!>qc!8 z5PS&Qz)2Py{gWc#4ow>L7r5t^KB6jGXz@nFh^5sQ?=w)4ek1ZLDy;r=9VB;vSu74s z^M4QIK-~eE>9m7C0EQuR7&=Z-T3DtJEln>O2YV-N@eXTf>4+OJMp}JW7kH-P4XDKB zc)B>uyBkAGr;h_*WG+)O4P9|my7H)Wm7-HnfuT(UtDQ8ORS1(t%TehXMW;RnV(g55 z30puVv8-XUeFIM%4-dbJ(MM>=`~Ak8iU@OSQ0icNOeLZl!hoO_S=Nv>_9P6@hL{|> z7sMJu0a91m6A@j70mvbX1}}l_JE&36mF$^-_-A;3HIxuJCho8ke1lM-=kZ=P2BsKU z*Vy=!PF8t99)_N!JL%7i8$b$JKb)+usyH zi^ii3ecOt&-~}dYaWab~?d-C_XldWJRavd=%~ttfG^=l0i%H8a3X&~IqGdJm+1{Qr z0bZTjm}?bf88uEHxG~Qv3LDR|ft%pYWaFtBxC!p$7*D0KQa)_~vM_q>3a{<$XQI>& zD?fyZq7r1&`5qmp{3-O6CiHxIAnugFTu%v1gw47cErsvnClWR~ap{JzAdPNXkP=9aeUxKl^Q-ox3@#k&|nkv z^nndlXt=pvmeplt(lbLel4Vb}{DVfNfXN2J#oUy6fjKE9q1gcZ3{nIn4K*PMz*}Jy zGXNtqbBYN)GQ}GgGLoRrOS4kO1xs+dC}jHwrKC_IJ%s$*x@S)A;}yE>P&;Y56QMq8xH0$$xa$x63Va#_g|2;c{m0eI>bhVm%~6i304xq zq_QAwufD@WHe`C-08DrQMj8Q@3!=?Oax!G~NyASe>7%@`BxLYtV^)#^B?P^i6Ato? z`j~KI-Kvl4H)*)h{2Y=U&ajUk6iV@r9XS?pI#l#=P&}Z@c(!=ZvW}Zbg)$*g-0+$c zHnfSuFe7L{GW#UA*I1xQdBU(nF;l=3-Ng&zHtdoPg5rQ&B!o?I7ujiG3d@>0 z!&=B8(6HGlHtGz$q|UfIhdFeUE0Zp`T<0d6%pEiD=wdfx)5TWhga0^?yASufk8Zvj z0tX=MBLHpN{@0*^c(Tz)U@Xm^+%eqOK6|V$jd~1>VP-XyI(7X?$jBitInWBtE3WjO z>;KlF)M%dV4~((~m<)qpKRmx0aC;!RH;^(dkbHY!U~wRIO~5`iFf=C+{Cyz3IS}kc zH?=nqTpdVX92f+2VDO26y*QAb6X;JjGgbub6@g*k-4;myFp#l6UqjT42b_M(0ydudof;UPgUQ*y4-8!&NZl5& zw*_Y81V#oI2c`s138V(YApOa}l=}i{PXz|v7D%ZGr1?$^1p-0P^~pf`qCm<94}o<5 zKZ2=fyybz>^TEo!fk00njAoh^n1H86fdP2h9T<(Lp9Y4)$zBu~)EWqYakmD>%@2$Q z%k>6M$O#@DKDrfjK=UBEw$q773jJ#dP3w{DJ8)Us%Gb!1^QzhYUeprW**Dwbbc zQ&UkM%de;^j8=K2FRdu8EsNGx5-sR#Z}04gIy%&J_BOT@wRSYeyBO9)s%osZj#xu| zcf8yyskES`s?=KD6_3ZvtKM{bQRk-ap4P^-m7N>nU8Rt{HY*nEg?Ef+$4oveOO{1T zYnE3=W0jc2!rWO_EWfj}&5Crlw60dRh}0IAR1`(3YlLOKzUJVvk#;QR`)Jtp2 z7nfJmm0P_XYdbnOba-z+bvCYzH(8Bj1uNFw(%IG1(7PI}+aB-ksc&Bw z>+QCh3R}C4R*Nc@SJ#vjERI!H)J3aeWzoWt+A?bm?tXX0>zgQ{n)t?^-Y!!tPFa_f z*F>wzBQ+%z<&n~v)|!Uio}Nyln6}3BJh)xo(-ZI7WTDk^XR+BFVO0xjOQ0UK)i-xj ziU|oN<%Q8@xmE|LaI`x!js|BFObCzG)K-;SEpf;~EY`VtwN5=!Sy@_AKw0s|1j8<@ zibf!#R%>^xz9R<8$Dtlsk@ouTwI*z1eMe(w6G%qG8*Qixltz|U)YimubMRlD)pIl( z7DP%*y(yyoBh}H;XhDs&p|zu_bAttGPR~1{o<*vvBFl@Qp5<@qiFa4VyDD2ZLbdcX zy2>gjr0RmIXjIkmLaa&{G{2;#EK*4=DmG(!UamKOq#$Jz+DA#+rKYntNgTXjSzdkZQ?TW6QbLy~Q^g${6wOrkXDR>5%CA~O z(H!r6unm}{AX;AI<)zppH?+jLQki~@D|LBAIasB;v3}i={len>!je+xj=48B@k|Yi zR4vT+CQ?vQRtbe&Wi2eP4Hx8|9L~+l&dbgTPi^n%?TDY+9PfyCwKjsczN@k2)Qz)e zO`SC(JheGIb#;CBrjEvzuFj6m-tMWr9oSZ;_S84D!4elsw+gBTwD&IZcyymRbEYZ* zD8z!=(nw8(8C6t|7%i);S#Gs=_OwFpw!XftH*T$=VXJ4;y13PYgG))1wGLY!3}x6u zQ1@oWha-DBXpR-7rKJ@Gi%GRIP(NNq!V@EwQ`V~Ju&7FFtF7*y&UF-faeNcLjhCUy#mS7;bq>0 zD`DV_QXhaFF7%75+d5&eg8mssx2_mU-vHyECvmQeg+n(L-3NF;xuDjX;W=-HP>t6&ZjDb0tn zON#XqU8n4t84RX%S%*OT2)E?uH>1?fwxdVk&1#EXj1jPJ)MnEv}#0x`(?GIH6@j$%e@h)>P8kuO4MMVPjl~b zm`+18XmpKLG-D|0>}sdE-Z~f#y#gU6=pRZd%y@a^d>p1Z3#%$>c|3JYL9>I(s_0TH zR)kFx<|x|IWhLd%jd^H3NHg0F%P zCb@O>ZE=`sTa7e4c}xuQ@=MAiRm-i8SYy1cEk;40<7{bdYKp^hh&oj1K;uoii-eA_ zxB@0|H2USYJ2PNe{lRpThfqf+Q=+)OgEZH*)o+T!bO@)yus*>#^M=+YSZLMv)O*du z6W}UJqslCynqb8OQ|)+covNl(-^y^x=*cbN^5`;CTO5tB`9#aAqGsw%U8px+Wu&$` znpiDaXon~-J{&1I-Z-kORo$%WVrO{cs;*TvmXpntg8F$+_U6FyY;|L2FD$gpRO84X zYQ)x4FRvP=dOI0Z#w_v%Ug-6jVbFoxNpC$L&Dlz9WIuB^g)SFJymc<-u_ zLiIPQTGV>uF7gjspnt{bbXqhM8Mq2LILF2d!yCyE(|JItK4dmXGRRc~FIm=id13Mwj> z!;-5NN&@D~A8xIh31fFWz7{7Y-QBot*Vft59L9>`iB(uqT?xzi>bjB| z=z~_9X&_FXVXeKE7tT)2G^Os$J1O@TyeEUJPh5v2HmGRti6Mhjf~E$ldQ)qs_l~R`oP~p@ zCd`1t8@?!4O+Siqm05~%)fA*Cce<8wgwUBz19YmjQ~pJ{YHe4Pt8!hGJIA7~)?;Kd z(Z}+pK0)^DWIvr7rjv}>$3Jp)Rg|Z5thXwQ@^p^#bdK{(j;rcA*TF^&s6>kkyg1e@ z^oSkKLfDvvc_!=w_r%*(hYn4IhEnJ~VTO%X$cJiI#?|hKrAf^ZGt*=A#wzEKj4Es( zD(^s4=7Fg42BK!3K-Az>LaG@l5H%?U zQsAwqK-5qJN(C9fxs+8>v~L;;>w98qF0LpaJt8VH3OutQP< z&jF2ecjYjf`b;{&4DCL2#Z-!k(j}do_tj zG@^gED}c{K%V7mg4;SiPJ37#>7SgkbqclGnma3w4vXcQ}i|bue6=MzPk)7T@p$yHU zpx(N~VvWZ4a6R^i8Ff{(s4B`EqfWU%$uv8K z*`5J<=B$}kerc`Am#Y;zPdik-s4KyDPdzGveU|C16JTZwpF+BG3L{oSedF5Rbv(zG z(N*?48}Pw1#;U0Ttzu#roC<#%GQ@W?@!n=d>jQAJ3bLb1-aCYkMf@>X3M zjl#YoJt%=Hw4Ky*5;!@Z;+9KAJifi0(8XY{>t*)u6s4RxvEZ%YV6ha+6UQXo7 ziRgK={SqE!I zmleR1VsCu_j1S(-Y&Jr@$a)w#@QGjyXOBHC@E~U)?N)knQCElC#JoPoN(wtGcruIl zBWf*fNWkb$X?wbu*>G6hXTi!oww@kx9<`-a(R&VDDEu&+*WIX9l`|WW4O`kYO}uoG zumV5At*KbJQ18FPvw6}l(hKVtcMlEwv)D?!hD(gZ-Cd2-aAe7Dw5GLmw#TQzykcX0 zM^jgP8Z5BZ!V}GD&Gqf^d|d37)#C#6zZnb!Thn^GyQa0ZHcV@7Y@7y9iDR>7Ol@oJ z=-oKAxubVlZr-%kj>fiLSm{$h_8b|o0XEhC8$qVwzPSnr2F~+DrC}5@%Xx-nUsHT_ zc8f)E;S6ia-o_qUgMbg0A_U<%ZqHQs-;wb3vKPw`SC1Wya1T9Q8(<~F*XH@N+<=ni zOV|Lwmm0*!+b`^e1w1ap6F%B%VDB1!=ZU@4b?`OsLa;B6^BK_t-ZAQ~Z;m%~ZsfaW zxeOlYg}W&jZ1`@x* z+z-ROQS^eQWnR;l`_Zj_-|~cv1ssNcCLm$_&-yV0rn`#oFU7RvzHbQ$!24VHKK*z= z?k`U0a0lOqx9t=0W9B}hV;vYR$@=>@N4xL0Sg5+`H=m?X6hGfUufKXY)&biUUP7QP zk&9o>m{;WTKCkcz%v0fvhwwbO#_;l!58^{#39sRu#gR8Fft|(t4mjgMZ4%DC@E_$ojt~yCFCLrWKk|Q&&$6fu!u7?>=W^22_JDnt z`6}jO*ISvN!(7VeZsyq6;L&JK)&p>sJTjsazS)iXe9qzJXF1OuBmB$9;BOv-A2o)PgI5Ed^y*HD1TiAJ%7k(;(zpkOTZ(Ngp@2i`Mhg&=ub3a(7IhJ=9 zfZtc58I8$z9n{~9P_QOBf0sSm*M!!Khft;ED!a; z-`xoh@UIDwhh5zKggBv(gdf4-@q~JEcE1_#k~7XFXPS$Tckv<@KhDLMy7&YaZ()un zvKuGdrMUFpn_Y6;`dsSb<6ZJ^b8)vm_qn)RpXZt5$*s>G#dG049(!GK-1@xl;^QHl z*!e3Lck7evCvjA--1>x>V>GuuCn_$#SIl$CaqDxMi@Wt%>f*<_^u!-|;(_(YtuQ%Aw?5xfZ-;&xXizkfw|{d^!IUqA;)h3Eadp~JpktLBS`1KF%b_8k6dQD@Kppl zY;Z9Ta-7H)7#=Gn4f>-(ZJlari3~$Im?Aaho|g;Xh*j6UFP{>yLQs zFefMcT|*4`h2mQ|{7Z`8&xP|l#ouH*;CvVl$=6qG|IZ9|_+vaU%R*DaFJ}2N-w}Qx z{Y)R$A6P-)5I%wBOjJCb7Yx%C|D5>(#kZkAILxU!mWgTUN8;i&=h; z;%m5}T%dRt=gWM*Hj(akxdE9k(I)sg^!WzMx<|?RG1n9Gec43#0+TJvd?_};?+cq7 zzfp36%+1$Z6X8Fkk26@-UsU)`uD4$*ZoZTYYg{f*DKGgnh0G^~k72uwR^fMYe$8jd z6Z)KrlNvZqR^h+T_AFHVGS+{I;yEn;OvRsOeby>I!z62MQv6Kre=b&h1NSFaDZYo> z-Om-D!R_Tq#dmT&e_Qdh!$zTZ6>s78_#cWl_)Yl#RQx8kLw~+6< z{#>c}HOy~P{2P{kx8il2-v<;wneFqG;(6RZ>{h&q`|~#x{{`3o{fakpd3~<<3La=P zxjz%Ty$+uU!egA`KjCu8R=kJ%nPSENzMgQv+AI19r zP;s%l%6_?9{DtsIB9g1JT{AtC*+>V}C+jA|tVEg_{@dvq{o4*K^=x3f_IsLhO#BL)v-4Tk%*$%Q_CgCfYPgLP6 zxZj(i_$c=0DZZE6%WTD8;R)}2#XsZrB44Z!eNx!Yi&Xfv9R3W&XN@=Qx>50YC=iZT z#cRTZtxm;LxZmql{9^9M&Q`pU`_&5+Ka(2l#eZn9g083`8`|l7r9*e6u*|ouNxKL!1dt=ieJF(^dZGB zV*f71Pv`OOH;Us2!0`B^;)htDPZa->`@{cKd@Gk1J){JAQeO9RJsHCFOZW&5f1Ki< zvHf!uZ(#jTQ@n`fmnr^hw%ba@$MX2ts<@P|%r`~PX3p;&D!i2M&lLY5+w-Gi@Xr+= z#t(#~{YkpQlh{tezsvG76yL>sjN($?BAT;($`$X=<+@Vw(|JABqPY1hA@Dp)@!Pq- zy-@LC+)lSEF7|&|amnv1ipzTPb;YmdcDhgTTbaM3_`S?OQ2a^eA1nSc^G_9jllhm5 zA7Fl1@qaS+VZplEOF!Nm3MxK?`5?t7FwazcI`a{V=Q9s0zJ&Qi#aA((qIf6sJjKsr zK3j48tSuh%72nRhQ1PEKU!?dG%qtatiTP5+_c1?R@sF4{DE=k$7R3YHUOE&%#Qjo_ z;{CaNH!D7r`4+{GXMTy|Gnikgcmeb8C|*#D1IvUpKmC>p2yj@6lXQ9{fghq{neip z-yNoGSqBxrp2wZf6u)Ym34ciOiOj!N{7NpDB%UweZR~2-a(|nw_~V>`bj3&VxH44n z2|WM7&+y?P@@Fs~uXrKz$%@x7&sMyN`3%K-n9o)GBIXMezm9p4;&(GIReUwiW2+S3 zzx4^ z?c!y{pW}7$tBN;rKd@KvUgmErekt?!6u+7I0mXmH{I81tg83JU|AzTjioeSo{*(kA z(jGr&-cRu*%u^NL!*T~Jek=D6S&Bc#{q`8eS8=_Xp!mIP=Mxpbnd^Cu;y+xhD;?Vvf1lS2cPf4w%ehDKCT{Qd zDgGw=A6EQ+mM{5}dcM)9W9?Mo7jV8_P`s4;Puc$#Ipth`URU8?;Qa1W{5|IHDE>9` z4-_B4>(GxCKWLi_e5&{&4*#X%tC=5G{6gmNIbu2_U$-$2D&EKI2l&FOC%mkqG8Mm{ z!;et>S>|EIf5&{H;s=;dQT$)bW#3)&m-WeP6@DBBfMdSmf8+6@P;vZQ26!w|+)((d zu!>LT`Pfp$zh?jGil4{zvqABU2_}UW#pS(+4#gkfajHl0bGd)stoYYF&TdhB0nZ06 zQG6cH1Fuwk0Q2uC{(I&(DZYjGId4;Z7WbcbEB+Oi*H0Ah3mf}9p!h{xUXLoif!oVd zif3_oJ*)V$Y|q__wmA}uW-G6Q1OsEmQPx#b|L1T$e_4fp zo$K>!ieJh8eToNI{+|^8i2LC`D<0tf@IMsqW&an7=d+xDDW1;bi;wqLBwzP)eIB6r zqx}3MUGZGz!xW#w2{Uk~EG}dQ|3jZ6{f4bto<90n)aq~w;;3qMP-^b%l zvEsWpzZHsK&-G!c;`eg9J45joS^p-*Z{zkW`&g3SB(__Z3ja^mbCcqkTyM819^-NO zQpL|=F8j@r?so1cuUFya{i^MXf5q+YF2$3%9Dky?ychCw#sA9fVu#|hS)ZMXALjP; zYsKrhUdev8GBNZ1plN8V8{_r%#@8Izws`wr*-^Gg0 z;r?0nvqhh$cs#08;WIhEXDB|F>usar{n?&t6n~fd)%A*hkL`1z;=g1$S1W!phrdPf zt6Bb!6qolX9#;JK+#fxwxX9U~_@B7`|3Pt)e?W1O{}06n@ch}wb`|?`wyZS8-{pDK zD8)Z!euCnkGoPinygyT@xa6x+@khCyoT0enca7qbUwIxY`AT6qGXE7W`Q4`ENPcfq zT=M%<#U;Nx6qo$|QgL}-=(mbXe*dKSO73qDDlT^TPsPO!{kR{M{E8hyibvTHVZ~qM z{(q|CVu!hkiyam!{x8{MLxvqy1h7hfnY z&*^>KZp8ji@;I2GxacqM|4R5dJbySzg_nHIQC#x1P;tput>TieM#XREdD>ZuOMcH+ zd^yisu2Nk3$%hq}eC<+vAN%(xF8O_1amnw;ic5YEDK7aP!|hM(oWb+tDT*)VdOlZi zo6DtGap?z_Dn5hTXIyc~Z`ah<)l-Dm6m;U^> zic5d~uHt{?dEMU>Kg{F)*NRJi<^4V>mpX1&Sv*e{E_RrxxY$A7AD8fAhkO-2mFKIK zii;i2R9x)PrnuN)v*OYZT&B4612-xz`Mq25M|iyZx#D7nXA~DZ{919b!(SAa^7^OZ zVh34Ii#^2-nY_*xE_#kryqDJz*@}z)rzkG^FH&6eU#7V9SMoer^pXCmM}?PsU8uO^ zYn$St|80u*ak>0damm-?ic7v;R9y14S8RH7lzrRs@5!Z*e6&E{vthm_Wkm6#8e*D~6%0=pVrs7i1$15)O$x&SFbDH9!f2rbS zJilG8xa6x@amklFw-@~-Ul*zHB7d9Wzh`^irnsbgui}#K6N*c^yA}T#kF$FfpMeU) zaai$Nc-%_i`Y!nrJ+l<=V7nc!xadD!anV1bxaeP@c$=($6(7TPTdVkwZIiFd6&F2k zRQwB`2i~o?=>MSNqW@0CMgKjDf5rRHZ!0eKR_dwPS^S4ocxl)Dd44V7MgL62Z!>1F z#wjlOnx?qq>r}OG2!o{uPA$Nm4aii`fQDlYoJqqyjQ zQ1L^&U+|UUk8=G9^M0+^c?bKm6_@wePgPv>U!?etIA3*&OTOZYOTM}lmwa8I`0cz- zyhd@+|5n9+CeJk#7d>B7{2pFMyra12e^7DJ|0~5O@cu)P+p*YL>d7$0CEW>%H}L*v zuHvH4X^M+JWr|DtU8%VAGp&kCKXaMlqR;h;S91RER9y6YKylIY8O24;D~gx%eCAEX zMgB*Mi~N5mF823xzb@r6o69RhaoOJ+tGMj%Wh*Xv&Qttz)}#0sT*gn)NBXrDD!k;k zMRCdR<%)}(8x@z|hx|Zsk^ghWZ{mLA7mCY1^Gk}ay>UyV`x9UiAnRQwB;GfVM1xW45pzL)J#u6U52hk-KY2kTtA;sT;?Y)DE=t-ldmh@ zJkF&1j^bx>|M0QmKj854ey-SIHp};MK7_aP{B4lpZ*V_9LU9?tPF7s%f2HCd%JWdg zkK=jd>5A7{=4jBI$6a|2FZy4`dUmMr?OeXSihq~u=LN^$mngoU>*sfl!M7`Zxzq>6 zAF|Bxu;S7VcPd`V<@hVb>oDVRycVXD^WOV--f#S);^(tI?<@Ws?`wRlxaj|-;*W4Y z<7d6lEZil*6?}(`xs=NnynY+5!n2yzcoqHwzEN`wzDjY?qg~18YHqDp;Yahn*;W;v ztB-Z13V%J@=Vle29}8M{s_-Xpe|x_xJZ4G4?@-~N7*A%io>!bc3I(@bbICzFb9J`f zQsHOu`-&f_@N9nTQx$%(N!I!=6`s2jD~x2LDd+)<4yu5dq!t%rp zmvMy~!d&FY_ZO$A@FHiP;=eO$S__mM`5t7Q3cr!{kE`&n^Z0m?3jb>^;64>zzJGa# z3jcR5$EOsZ>^F+OrFbjX{|}jq9prnQxf4u0v0FBWo5x(j%Xd9vD*PL~{%Td>S7Agr zu2SI-U}3^>qY5wI8GTZPzbj0^tzW9}|1jA4QiYFmJq#Rg0!Y4waC=N+F8O+#<(#JY z9n9MmpThiBC12#+qr!7=i-$KF7x#C; z{xjw`D=zON-KO|%4u6;8GXK9v@%K6W&lLZH`Gbnv+}Z9Qoi#3vV@oZze$Cc zapxk%Wn8;kaTzzQZ1{_F@D~u^+|y;wEppWrZ>!Iyzb%_he|9Ik0sj1Uc2}qI(A}nZ zLvJ(u1%}m~R<^mWZ)oU>uZLh5nNe3g{9Pc7nqct91mY3}(vwTX@J)X3H+HtS!)NfV z?2gW!csBes`>F6D!DbB546%$oE@>vl+!};W8%) z{x5Kdxu~o+=Y1>~`(%tO^Ie(mO=Rvj!5#M^ju&=_xxlpC2i9klspCJu@ns$=ab#Q( ze=c00URb}}hs4iP8P@UVLnIZ1#O&sM%Kbdf zOv}WW_e@3CvL-6S=&(3mXom6j$zbyysSj;8;PhfEZSkNV?OL+g*@iI#~m zzvhUqsDja9ahy6@`Ug1uEY3fsk4t-<{<*+VrsxTmbi6#>oF`9Uz$Zyx&X)l{TKv!I zOoXw=&|l);bd2~JD@^>bIXSMxlk@lCj$Au|;3AjfyBS{Vu#YlRYFe{7{!SG^>?d-6 z4i`tWzr_RFY>toi&w&3DU)n$3)@cK>4y{DjvOeYV!*-1Sb$qN-s)_@#tOGGRS@lYP V}kK}~}GLZp-sE?35l0XK`0Ktj_h#Dgb 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 literal 0 HcmV?d00001 diff --git a/obj/edit.o b/obj/edit.o new file mode 100644 index 0000000000000000000000000000000000000000..6b6ff79cb5eb8aa31cd18f648c9f04d00674788b GIT binary patch literal 41424 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 M{hyE<`K;~tUo5OqVE_OC literal 0 HcmV?d00001 diff --git a/src/assembly.c b/src/assembly.c index e263c21..c654afd 100644 --- a/src/assembly.c +++ b/src/assembly.c @@ -14,24 +14,44 @@ #include "consts.h" #include "base.h" #include "display.h" +#include "edit.h" #include "assembly.h" +cell* start ; + +int* item_costs ; +int* item_start ; +int* item_end ; +bool* item_is_normal_type ; +bool* item_is_special_type ; + +int* cell_count ; +cell** playerCells ; + +player* players ; + void init_empty_board() { start = malloc(sizeof(cell)); start->id = 0 ; - start->coord_x = 50 ; - start->coord_y = 50 ; + start->coord_x = 0 ; + start->coord_y = 0 ; start->star_allowed = false ; start->type = START ; - start->prev_1 = start; + start->prev_1 = NULL; start->prev_2 = NULL; start->prev_3 = NULL; start->prev_4 = NULL; - start->next_1 = start; + start->next_1 = NULL; start->next_2 = NULL; start->next_3 = NULL; start->next_4 = NULL; start->meta = "start"; + + cell_count = malloc(sizeof(int)*n_cell_type); + cell_count[0] = 1; + for(int i = 1; i < n_cell_type; i++) { + cell_count[i] = 0; + } } void init_players() { @@ -132,7 +152,7 @@ void init_everything() { init_players(); printf("Initializing items...\n"); init_shop("src/config.txt"); - printf("Initialization complete...\n"); + printf("Initialization complete!\n\n"); //print_items(); } @@ -145,6 +165,7 @@ void print_items() { } void destroy_everything() { + printf("Destroying everything...\n"); for(int i = 0; i < n_players; i++) { free(players[i].items); }; @@ -155,6 +176,8 @@ void destroy_everything() { free(item_is_normal_type); free(item_is_special_type); free(cell_count); + + printf("Destruction complete!...\n\n"); } #include "consts.h" diff --git a/src/base.c b/src/base.c index ae5256c..ce4d57c 100644 --- a/src/base.c +++ b/src/base.c @@ -14,6 +14,8 @@ #include "consts.h" #include "base.h" +imgs digits ; + int ln_baseN(int n, int b) { int r = 0; while(n != 0) { @@ -33,19 +35,43 @@ int pw(int x, int n) { return x*pw(x*x, n/2); } +int abs(int n) { + if(n > 0) { + return n; + } else { + return (-n); + } +} + +double absf(double n) { + if(n > 0.0f) { + return n; + } else { + return (-n); + } +} + +int convex_seg(int x1, int x2, double theta) { + return (int)(((1.0f - theta) * x1 + theta * x2)); +} + bool is_an_integer(char c) { return ((int)c >= 48 && (int)c <= 57); } -float to_float(int n) { - return (float)n ; +double to_double(int n) { + return (double)n ; } -float to_int(float n) { +int to_int(double n) { return (int)n ; } -imgs import_digits(SDL_Renderer* renderer) { +double distance_pt(int x1, int x2, int y1, int y2) { + return sqrt(to_double(pw(x2 - x1, 2) + pw(y2 - y1, 2))); +} + +void import_digits(SDL_Renderer* renderer) { imgs res; res.arr = malloc(sizeof(SDL_Texture*)*10); SDL_Texture* texture; @@ -111,7 +137,7 @@ imgs import_digits(SDL_Renderer* renderer) { SDL_FreeSurface(img); res.arr[9] = texture; - return res; + digits = res; } void free_digits(imgs dgts) { @@ -119,4 +145,12 @@ void free_digits(imgs dgts) { SDL_DestroyTexture(dgts.arr[i]); } free(dgts.arr); +} + +bool is_star_allowed(int ctype) { + return ((CELLTYPE)ctype == BLUE) ; +} + +bool is_hidden_block_allowed(int ctype) { + return ((CELLTYPE)ctype == BLUE || (CELLTYPE)ctype == RED) ; } \ No newline at end of file diff --git a/src/base.h b/src/base.h index 2e1f29c..715d0ad 100644 --- a/src/base.h +++ b/src/base.h @@ -5,14 +5,26 @@ int ln_baseN(int n, int b); int pw(int x, int n); +int abs(int n); + +double absf(double n); + +int convex_seg(int x1, int x2, double theta); + bool is_an_integer(char c); -float to_float(int n); +double to_double(int n); -int to_int(float n); +int to_int(double n); -imgs import_digits(SDL_Renderer* renderer); +double distance_pt(int x1, int x2, int y1, int y2); + +void import_digits(SDL_Renderer* renderer); void free_digits(imgs dgts); +bool is_star_allowed(int ctype); + +bool is_hidden_block_allowed(int ctype); + #endif \ No newline at end of file diff --git a/src/consts.h b/src/consts.h index 5c14b37..4711d52 100644 --- a/src/consts.h +++ b/src/consts.h @@ -75,27 +75,29 @@ typedef struct player { typedef struct imgs {int len; SDL_Texture** arr;} imgs ; -static int* cell_count ; +// arrays +extern int* cell_count ; -static int* item_costs ; -static int* item_start ; -static int* item_end ; -static bool* item_is_normal_type ; -static bool* item_is_special_type ; +extern int* item_costs ; +extern int* item_start ; +extern int* item_end ; +extern bool* item_is_normal_type ; +extern bool* item_is_special_type ; +// global static int n_turns = 20; static int n_star_spaces = 5 ; static int star_cost = 20 ; -static cell* start ; // starting tile +extern cell* start ; // starting tile -static cell** playerCells ; +extern cell** playerCells ; static int n_players ; -static player* players ; +extern player* players ; -static imgs* digits ; +extern imgs digits ; // len is always 10 for this static int __width__ = 1200 ; diff --git a/src/display.c b/src/display.c index 41f6e23..86ab3ae 100644 --- a/src/display.c +++ b/src/display.c @@ -40,6 +40,25 @@ void placeRectToRenderer(SDL_Renderer* renderer, int X, int Y, int W, int H, int SDL_RenderFillRect(renderer, &rect); } +void drawLineWithThicc(SDL_Renderer* renderer, int width, int x1, int x2, int y1, int y2, int R, int G, int B, int A) { + double theta = 0.0; + double seglen = distance_pt(x1, x2, y1, y2); + while(theta < 1.0) { + placeRectToRenderer(renderer, convex_seg(x1, x2, theta)-width/2, convex_seg(y1, y2, theta)-width/2, width, width, R, G, B, A); + theta += 1 / seglen; + } +} + +void drawLineWithThiccGradient(SDL_Renderer* renderer, int start_width, int end_width, int x1, int x2, int y1, int y2, int R, int G, int B, int A) { + double theta = 0.0; + double seglen = distance_pt(x1, x2, y1, y2); + while(theta < 1.0) { + int width = convex_seg(start_width, end_width, theta) ; + placeRectToRenderer(renderer, convex_seg(x1, x2, theta)-width/2, convex_seg(y1, y2, theta)-width/2, width, width, R, G, B, A); + theta += 1 / seglen; + } +} + void drawDigitToRenderer(SDL_Renderer* renderer, imgs data, int digit, int X, int Y, int W, int H) { if (!(0 <= digit && digit <= 9)) { @@ -74,12 +93,25 @@ void drawNumberToRenderer(SDL_Renderer* renderer, imgs data, int n, int X, int Y void draw_cell(SDL_Renderer* renderer, int xmin, int xmax, int ymin, int ymax, cell* cl, int draw_id) { if(cl != NULL && cl->id != draw_id && cl->coord_x - tile_size > xmin && cl->coord_x - tile_size < xmax && cl->coord_y > ymin && cl->coord_y < ymax) { - int nxmin = to_int((to_float(cl->coord_x) - to_float(xmin)) * to_float(__width__)) / (to_float(xmax) - to_float(xmin)) ; - int nymin = to_int((to_float(cl->coord_y) - to_float(ymin)) * to_float(__height__)) / (to_float(ymax) - to_float(ymin)) ; - placeRectToRenderer(renderer, nxmin, nymin, tile_size, tile_size, 255, 255, 255, SDL_ALPHA_OPAQUE); + // draw lines + cl->id = draw_id; + int nxmin = to_int((to_double(cl->coord_x) - to_double(xmin)) * to_double(__width__)) / (to_double(xmax) - to_double(xmin)) ; + int nymin = to_int((to_double(cl->coord_y) - to_double(ymin)) * to_double(__height__)) / (to_double(ymax) - to_double(ymin)) ; - cl->id = draw_id ; + if(cl->next_1 != NULL) { + drawLineWithThiccGradient(renderer, tile_size, 3, nxmin, to_int((to_double(cl->next_1->coord_x) - to_double(xmin)) * to_double(__width__)) / (to_double(xmax) - to_double(xmin)), nymin, to_int((to_double(cl->next_1->coord_y) - to_double(ymin)) * to_double(__height__)) / (to_double(ymax) - to_double(ymin)), 255, 255, 0, SDL_ALPHA_OPAQUE); + }; + if(cl->next_2 != NULL) { + drawLineWithThiccGradient(renderer, tile_size, 3, nxmin, to_int((to_double(cl->next_2->coord_x) - to_double(xmin)) * to_double(__width__)) / (to_double(xmax) - to_double(xmin)), nymin, to_int((to_double(cl->next_2->coord_y) - to_double(ymin)) * to_double(__height__)) / (to_double(ymax) - to_double(ymin)), 255, 255, 0, SDL_ALPHA_OPAQUE); + }; + if(cl->next_3 != NULL) { + drawLineWithThiccGradient(renderer, tile_size, 3, nxmin, to_int((to_double(cl->next_3->coord_x) - to_double(xmin)) * to_double(__width__)) / (to_double(xmax) - to_double(xmin)), nymin, to_int((to_double(cl->next_3->coord_y) - to_double(ymin)) * to_double(__height__)) / (to_double(ymax) - to_double(ymin)), 255, 255, 0, SDL_ALPHA_OPAQUE); + }; + if(cl->next_4 != NULL) { + drawLineWithThiccGradient(renderer, tile_size, 3, nxmin, to_int((to_double(cl->next_4->coord_x) - to_double(xmin)) * to_double(__width__)) / (to_double(xmax) - to_double(xmin)), nymin, to_int((to_double(cl->next_4->coord_y) - to_double(ymin)) * to_double(__height__)) / (to_double(ymax) - to_double(ymin)), 255, 255, 0, SDL_ALPHA_OPAQUE); + }; + // recursive calls draw_cell(renderer, xmin, xmax, ymin, ymax, cl->prev_1, draw_id); draw_cell(renderer, xmin, xmax, ymin, ymax, cl->prev_2, draw_id); draw_cell(renderer, xmin, xmax, ymin, ymax, cl->prev_3, draw_id); @@ -89,11 +121,23 @@ void draw_cell(SDL_Renderer* renderer, int xmin, int xmax, int ymin, int ymax, c draw_cell(renderer, xmin, xmax, ymin, ymax, cl->next_2, draw_id); draw_cell(renderer, xmin, xmax, ymin, ymax, cl->next_3, draw_id); draw_cell(renderer, xmin, xmax, ymin, ymax, cl->next_4, draw_id); + + // draw current cell + placeRectToRenderer(renderer, nxmin-tile_size/2, nymin-tile_size/2, tile_size, tile_size, 255, 255, 255, SDL_ALPHA_OPAQUE); } else if(cl != NULL) { cl->id = draw_id; } } void draw_board(SDL_Renderer* renderer, int xmin, int xmax, int ymin, int ymax, cell* one_cell) { - draw_cell(renderer, xmin, xmax, ymin, ymax, one_cell, one_cell->id +1); + if(one_cell == NULL) { + fprintf(stderr, "ERROR : cannot draw NULL cell\n"); + exit(1); + } else { + resetRenderer(renderer); + + draw_cell(renderer, xmin, xmax, ymin, ymax, one_cell, (one_cell->id +1)%727); + + updateRenderer(renderer); + } } \ No newline at end of file diff --git a/src/display.h b/src/display.h index a5a6dd8..898358f 100644 --- a/src/display.h +++ b/src/display.h @@ -9,6 +9,10 @@ void drawRectToRenderer(SDL_Renderer* renderer, SDL_Rect* rect, int R, int G, in void placeRectToRenderer(SDL_Renderer* renderer, int X, int Y, int W, int H, int R, int G, int B, int A); +void drawLineWithThicc(SDL_Renderer* renderer, int width, int x1, int x2, int y1, int y2, int R, int G, int B, int A); + +void drawLineWithThiccGradient(SDL_Renderer* renderer, int start_width, int end_width, int x1, int x2, int y1, int y2, int R, int G, int B, int A); + void drawDigitToRenderer(SDL_Renderer* renderer, imgs data, int digit, int X, int Y, int W, int H); void drawNumberToRenderer(SDL_Renderer* renderer, imgs data, int n, int X, int Y, int W, int H, int Woffset); diff --git a/src/edit.c b/src/edit.c new file mode 100644 index 0000000..7b89dd5 --- /dev/null +++ b/src/edit.c @@ -0,0 +1,111 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "consts.h" +#include "base.h" +#include "edit.h" + +void link_cells(cell* parent, cell* child) { + if(parent != NULL) { + if(parent->next_1 == NULL) { + parent->next_1 = child; + } else if(parent->next_2 == NULL) { + parent->next_2 = child; + } else if(parent->next_3 == NULL) { + parent->next_3 = child; + } else if(parent->next_4 == NULL) { + parent->next_4 = child; + } else { + fprintf(stderr, "Unable to link cell : parent is at full capacity.\n"); + } + }; + if(child != NULL) { + if(child->prev_1 == NULL) { + child->prev_1 = parent; + } else if(child->prev_2 == NULL) { + child->prev_2 = parent; + } else if(child->prev_3 == NULL) { + child->prev_3 = parent; + } else if(child->prev_4 == NULL) { + child->prev_4 = parent; + } else { + fprintf(stderr, "Unable to link cell : child is at full capacity.\n"); + } + } +} + +void unlink_cells(cell* parent, cell* child) { + if(parent != NULL) { + if(parent->next_1 == child) { + parent->next_1 = NULL; + } else if(parent->next_2 == child) { + parent->next_2 = NULL; + } else if(parent->next_3 == child) { + parent->next_3 = NULL; + } else if(parent->next_4 == child) { + parent->next_4 = NULL; + } else { + fprintf(stderr, "Unable to unlink cell : no link found.\n"); + } + }; + if(child != NULL) { + if(child->prev_1 == parent) { + child->prev_1 = NULL; + } else if(child->prev_2 == parent) { + child->prev_2 = NULL; + } else if(child->prev_3 == parent) { + child->prev_3 = NULL; + } else if(child->prev_4 == parent) { + child->prev_4 = NULL; + } else { + fprintf(stderr, "Unable to unlink cell : no link found.\n"); + } + }; +} + +void append_cell(int cell_type, int X, int Y, cell* parent) { + cell* new = malloc(sizeof(cell)); + new->id = parent->id; // mostly for parkour + new->coord_x = X; + new->coord_y = Y; + new->star_allowed = is_star_allowed(cell_type); + new->type = (CELLTYPE)cell_type ; + new->prev_1 = NULL ; + new->prev_2 = NULL; + new->prev_3 = NULL; + new->prev_4 = NULL; + new->next_1 = NULL; + new->next_2 = NULL; + new->next_3 = NULL; + new->next_4 = NULL; + char* meta = "none"; + + link_cells(parent, new); + cell_count[cell_type] += 1; +} + +void destroy_cell(cell* cl) { + unlink_cells(cl, cl->next_1); + unlink_cells(cl, cl->next_2); + unlink_cells(cl, cl->next_3); + unlink_cells(cl, cl->next_4); + + unlink_cells(cl->prev_1, cl); + unlink_cells(cl->prev_2, cl); + unlink_cells(cl->prev_3, cl); + unlink_cells(cl->prev_4, cl); + + cell_count[(int)cl->type] -= 1; + + free(cl); +} \ No newline at end of file diff --git a/src/edit.h b/src/edit.h new file mode 100644 index 0000000..078955f --- /dev/null +++ b/src/edit.h @@ -0,0 +1,12 @@ +#ifndef GBM_EDIT_H +#define GBM_EDIT_H + +void link_cells(cell* parent, cell* child); + +void unlink_cells(cell* parent, cell* child); + +void append_cell(int cell_type, int X, int Y, cell* parent); + +void destroy_cell(cell* cl); + +#endif diff --git a/src/main.c b/src/main.c index 0ceccfd..c76f527 100644 --- a/src/main.c +++ b/src/main.c @@ -14,6 +14,7 @@ #include "consts.h" #include "display.h" #include "base.h" +#include "edit.h" #include "assembly.h" int main(int argc, char** argv) { @@ -42,6 +43,17 @@ int main(int argc, char** argv) { /* -------------------------------------------------------- */ init_everything(); + + draw_board(rend, -250, 250, -250, 250, start); + sleep(1); + + append_cell(1, 75, 75, start); + draw_board(rend, -250, 250, -250, 250, start); + sleep(1); + + append_cell(1, 75, 0, start->next_1); + draw_board(rend, -250, 250, -250, 250, start); + sleep(1); destroy_everything();