From 8e9d3fe513674433e77c924d69dbab131c3d7a0c Mon Sep 17 00:00:00 2001 From: Alexandre Date: Fri, 7 Feb 2025 17:59:12 +0100 Subject: [PATCH] physics v1.2 (need to fix angles) --- bin/back | Bin 298824 -> 306664 bytes obj/entities.o | Bin 23880 -> 22864 bytes obj/move.o | Bin 20480 -> 33728 bytes src/base.c | 170 ++++++++++++++++++++++++------------------------ src/entities.c | 43 ++++-------- src/move.c | 149 ++++++++++++++++++++++++++++++++---------- src/structure.h | 7 +- 7 files changed, 215 insertions(+), 154 deletions(-) diff --git a/bin/back b/bin/back index 4606abe272e63bd23cbec18254d4666e4f9e9d7e..8858bcc142b6b56f0b66cd82ea87aed90983a8f2 100755 GIT binary patch delta 106450 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 diff --git a/obj/entities.o b/obj/entities.o index aac3501d0dcce45a9eadde5792f509dd02f253d4..fccdfcb89903e6d27deab8583cead954305f088c 100644 GIT binary patch literal 22864 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 literal 23880 zcmchf3w%`7wea`JoIRP4$vjAa@DK(F5)ncI2xveO6EF!x0s;nkgpirZMDjA3@JK82 z5Ru{owAb27g?m+Md#&cP)@r3!5JW_3xk?qaDy?YsRx3qowO0AoT4(Lao=x)g{_gMl zzVrLd*=zsz+H0@9_uA*|IdhU5XU>_GVp&2RmbhGW=M)vfb4|BgL}HN`D6&P_c8R&| zRe>!p`)_{<#NvfB3qCGhu<+`#ZC{mb{>XFHZ8;yKO2NneVMU-{jPTpfZ_$<&JN z(?Z)mIPgJA+!OVG^6^>!;^)r#tB*t3>}*uXFZ%pBr|femI}Bw<058eKvH+A>RPP*= zy#r+jKfrdNY!s$Z|M*kw`J11!*u~9Xdpb6jL%#IVSipZrO=;udMLFe1 z3qCJ<5_7P0i=OHO$usBR^r?USIAmbucU5ru>^cOO3P282}r+)`mcEl24F}I zwEQ~&XJ9^Z_XGVJK7R%Hkux`&59QN1fbPWXvLKjunkUQPd)xjEqa z0aSvLx!~U73}+0Mb6S0XoQlFat%B1Mh>+YPQGeD8QUBtjQGfM|{$M5aVR6X{82J)x zd}fH^Z`r|(mmUCHagT~W4%6q0J=jFqHfwvTMFFwheG#Wy_Q(4?PcqKP^Qou^)txKM z)!^ov=qh|ZhL8j|a?$nEW!qkXS-}Oz@j2#N9O5}R++(hT9#%t`z=#7Jvl9DAu>c+C zG#I8OaS)W2(zG<5 zZO4jZA z`E$=eWPJ*w55uZz(#pm@d;m3JXq-h0GW238w^;pOAk$Fbkby2PaA+MpsD??+{WZw& zK^Z4J?}&eE6Wn{w`e`v!a6-wsvTg4`Bzzk$POz{%Pzk!S7#dpqAq*D`&vJAGE-%i^ zE(e$3_6Tj`WS0b@<^J{Wg9J0GCK{&rrv3h#?r;Wh3Frowpk6cR1xm7^K`=;jzw{84 zg(+Z4vQ>4+WA!~w^*UVScnUaI-O`)@83@b{fe%NZka%!*NY#h@P5a~1pywr^5-h>R zl#3U0xW8i4*bk-axVmK_Tnj$D7EbDZMS5UJ>51OXn`Xe!z>!x($%e^JDzZ2| z<&+miihl5YJf51-eDmNlUk*=W{V1jT1s@xhP+nyr-Js;ZK$J*fc`%=iCt4{esKcM8 zBq35gHfB<7C-Km=C)IWm$4F`l=iH>3LMw5gEgPESP@QtAmQ%(#$4U^@tNM6+5Wwke zk+4Wliy}(FQ+i*NZAZQUWl#EA;q~T$6i8nuGDyl!?-V|gLg{OSpQPOMm$XI~n z3rNl;c__&tr;%Zr7dNzNy^faFOePaxl%ftg6MGcc1#E+d^wNUkDzGRf5>Pa$~) z$(NGN7|ECQc>&T^k+laB3#aP8bHclmMKx%o)7HZq9)D!*jI!%g*KPab6!*b%s7?J2~mvgX-s z5y+IGX=}b9<6GIL@Y5(m!LCo;;O<(nbr5;a<*s#NYfcjA6kGF>z#6f2Y7&Tvtyd(0 zu-H0B2Xu4ay6AjVuOsT{)-~ACl%2wb9ol*`c1RsA?AF%1XvCPg!)wJYw4{}iJG@S8 zGf1cSP7=vP^rVbax$EsWm33a$IN>&vlAspIOm!CJZt7az+?dr9n zF=^P`tJjGpgLI1KB+?Jt{UzL0X^gKA-~_{JA$$_>5G=RW5=W5^D*Z%NTJKZ}chA6u zFcKr6!_um~U}tQvCvWEpIE~m@4dqcio|98abPW4a?3_&OK#c4+LBu~Ra7A4POT9bMFc9aT$i(M{*Y#iE^hTqNQX zhu9g$O737{KW6Q^3`|2$E3@?G>~*4YC<1Gx-6<+_NvyNih{_2hhV7WBoJL~A4vWfJ zBu2^0$|}m#JDFO_#GK6a>_1%tD>u-DETn5-s|qiKB?jpfrAdSq=}bb}g%EF=kHNr5E1dp7o=5H4r4>oeMw7D( zQ#|LSwZO`k);v7Tw=NTjV4;hdGYy5xakYE5cE#Wx1<_KNiPNeMh?c?&Xr3`z3P+QO z(Nb7IB1TJLA&D3*g)>QXqNQ*yWt?a!TtOKpS_)hBXeqo=i}ag1 z4mE6GbfN2hYoQQBvB(Lx|L$sNPQVAr$b3jb1aGBLA@)9S;TD( z9JE2PvXa_+H_;xpm6g*|Tm5=$tN;J8EdfuI${|iuGK9-_+3=LY^h?vrGpFLZmBQt@ zY`Eo+lmWlE0*2g9hVU&>mW!0^^&q$>^`M`cBhu3^Pj~rX3k&7lEzB4=Z6IuO{UUw1 z2ixxhhM`oo2KLgyBWPdq$eU-)7^t*{yGIWUT76TCvO5P_U?3yefa9*O%(}t4F%!%E z>DEH%K%h(@f$e{$|Rp|b(-U?2|(+z1CzZO>&!?ZL@L9g{=I8`3P#+^}yeH^@dteBytF_AZ?LHW%u>CjRX20jb ztUMU+!Mp9v{_TE%H11()G-apSOsUHD53pv$e#rlrACkxXzYbW-p~de7A-N}b024A0 zVFOjFCZzUWtQ@r;!OBsnd?1*zv&zwrvVJw`+sFI7*9XGly*_VbP&{11vv$1C3$PsQ z7t-Iz=pGT!2D(7e1!_ngJ`eco889HPXHcbix~ci9(tM^*c%Sj6w;va<1%*)=y4!xn zd)#Z)qW6cqC%jf2{K^Q@F|QRt_L=t0JgK9^=Kvd=liJlggt&uI_z{N5d3hq;_7}r_>jqpBM*so(-VW{;g)KY8z)zm*Aq*`IF6+_pAy+eK%r|-M+r!skB zv6J>O8_JH^8ze0J4RWKSa>;Icqud6y1U|#SmPs=ue>bR}u_3n3*q_<1cFWNN?lg7E zb*~Mhd9VGic2eM-a@~c^+yy080~PBR1*(f}oU!gqf$DdrJne!eo^~B@Ig@n2^)iB& zT_+iwbiL_<&6aYGtD<{%rtEcD%j~_bpSWB%fO`jAuVEf5C@(?#&Xip#sJ$y?p9@yP z0oN;#C^ww0h!Nn)h(i{%d&oL!IgT8)-azn%b&A0$>s>3^5itS{k9gFARv)!~W|0?1 zt#>ew+L{+5#-i%j=PYpHsP!f!0ym@10|U6@Ylr?UUBlub$f%pLE&AFcer4Gwtk>ZZ zH{yQF{)zRd%AT<{r9ihIciG2W|LMXJxZ7p_(6v|PyX^n4?ZfsF+dgi8X+zMsw|VTx zU{whFX76oY`v_by?RzpF&ak^O_GQ?IGEQU&`!?^rUVE?iF)v(Dk9h54aHX|Rct7$A z`#4-`?T@_oWY`a9bYkEAY7rY#?TV&z5C<<;%bXg9|<&4AXYZFbdYN6hG9U zQvF23LyN(Zxgss`c*T`zNtr3rEZN_ZIc`YeGWXx*Aopi7=-wnV-1YFp(UR2_a(T53 zRLj~584xM9eOg|QNrf!Mq*`7{37p(fQt)h&d64r|Kx>dx%K}QALhmN&hpcyp3_+6O z{;eE@=`@)`*`Sl{pgJk;Yh-`K7L`>Bi)|M&+F*OcG-Wk z963&=xo?s~p_l16eXC_Yj@#EptIOk?A2#d5x6r#d10{6ReQqswK>DPPI&h>2dX`02f?qPRoIAYjgP= zIiMU)f%1xtfS<|?t3$HFJpzrT zg1eRr#v1y(dQ+zC3pF!W%f4*@F3*&H?2UV~(vL-m-fa^H!@s-W`Z z;j*|w&aJ?6QH5-%kX7Jghn&1g7FEl+Q9L)?C$B#uhi;OSqjK(ja_D`~=NzA@K zDu+fPR}Hxe*;ygi9g*H^Wq(&zwaj$2LcB*@FwyH=vAFcjll@U#hy8;Qb!V0>#%axx zX_=YQ=gx#0-iiviVO7Yiffds4T1TD9B=3DV%}+~-+H{S;Ze~Gue6yv0qwEjoa_l;5 zm&?Fa(!UvF)HhT1uads<8=$e9uq|p0qKfTV?#ya=j|H&{Ljq|qD*J8TG#g@}%$W;k zIB8mv#KF+|$W0Y;ScSY8T*j${fWj%r+9Ex(Wmci||AP7oY_{~20h)s*JrU`J{0Z#6 z^nku}*JqNDS`A*kM*WlSJ=8x40I&+Syiw45uQxT%)6!cA3ZCiR8oSAmb$@l9ybzY9 zVj9F&U&`+R z8Dgs*E}WLt6p7b1Oc0bzbdmxmndBswILTzu9&2ffhw$g)_J*dKctcY}L~Fy58hi-f z(p(y;jmN~5S1k;c6if*fOvsy%mmeC}6z^z`Os|hLN7@?dAY0p37n{Cz>f~{gCxyn< zhsMpF5E>V)ZC}@17i(*2Zs}+r*U`MDp*cJ*Uc0g}(k|*+8k*b1%Epd}Xl|JwX^+IO zZjD63qP4MhU8JoBeh~;aw8v|k>moI+@tV4hm64kKnu%c%YlyFGSu5&lo8U=*eM?Qe zrN*g3s8fU^?eUsU%B&O7#+KT+=x7bs#v?WG`$0pz0h(@XX|4~^3A3X8lscN*8|s@Q;Sd?c0;F}Z zj^)W8;*vSb_G7+Y)tqtd+ zt)-< QLEjiRY#HF~vnU8ksRZH+XCtJ+$w6X0J>dqZbLIGU~PPL5ojD8|QHnj+(C z8zXCLo5O99@uiXWRq>YA@vTr5#=Cv|N(gbVI<6%;uA#lQwobIS)s3ggg2>CO`=1#Q z<2%~h#y2$AHFks}<6)82OrA8Zv7xzR?YR2p4rmj?L~BD6+v9B=b@7h2NL~zj7LV1{ zHa50{yt1|(5xNbDxU!_=vQTbmWMxBbGq3P*1(Pmf5x16bWI2hjI_KkWVb)-8s%Hmm zFXsTKAIKo3=cx;Pf!k7M`m%3z75hRr+r_@z&GJfLe#-7XzT6UDsMwc%g)eZ0&vRvZ zsV{ey28s_JKK5&}*T`+r^Wfg>?KSL`^=uFQ-pBTeF)j6lzU}jfTo6w%r>EsrzQFA% zvwYc`UEtL9zU*T1vh3hX@O%^XXe-_Q`pzUkSkfnbKRZy>7JoU{lb%ZrqE_f7nOe?2$XK0|}vi`FfJ| zckmZq^$XO0Fz;fneph`Ccu#&F?S=oQ7mnAIp6tBS3qK7U{a;~&0EhAu`;B}9^9@)C z$LH|r$v!T)p12Ff3+=#^(V^B&2B4nwGkf6|^ujL$j`pkAzIxqbaxeNNz3}p0_<~;e zwY~5az|o&m9MbCDA$)Ha`5BKh4vA}-cE8M(!R{w{Z>HyP8|&=ic$)(|GTN5W1}$kr)4dsjF9F?K zp2SWc-#hExEjrus?oD{&dw{vmOWL$MyK!w_hJgH8-I=^ePuj3K^PnDP;c|o@^29&j zm0vt=cZ%U&0zdd^{BGu`k9C#)UXAN^KJA5Xgm}Qiw7-qHY5)5g*X>W_>xk)pggM$D z1Rv#RV=wymX&l$3(m$+me7jQd6B@@h6wl%T#bOL~#iwcC7f`ewg8XcP|Y*I4*`#r_P?IPNi2zb?>to~A!W<9hs5Yh1Sz)3~nR zs`2q!yWiHh9=Eq@T-V>F@qEqB1HJGkH6GIR_iJ2l_qfJ&{j(a^*IggpO5!-{{q3)D z-TnxT>-Lvwyr1Uhqs(!Bac`{V>(9OLJih;#`qye4ULr}@+0+aFNiY0_#z$y&K4XsK zpsx$HrADr=3s$F{HN9a5<#@o0L3AL)UG!B>7VhoNf!q%tXCKUOI741>N6Wb;ql}kz zY+D^;SU`Q%7NP=;W4kYNCH!uM2kIlo{T3cGoFu{j#C(>)pJ!faaD0m$j|EPWu#?K| zE;0CS)?aCG)t^>_PiH%83_hCetT(uNH)@N)|DE-}WALk(|C_+&(Y0A#OGM{1SKg9Xj z20zVyUt{ov%ugF!&DSRepTT~9WpK6cOyzRr=T5e-e)Uy+GV4t-^woZ@#Nf}eow){A z``{%8kFowngDd}c8XTX8;jzo$^SGZsGWa6qj~RRk^IsYKEyuh#V(_n-zhdw+%ugA7 z1>1km;2E4hWAOXf&Q}J1g1H-Sq;RNtneJpo(BMC2KE&X!vp>@felfSV+u(m^{hu3r zKihx9;3_WPVUE*^Ce-)f&kcR`J!cB<8&$vFW&6{ZD?93Y_7Y7WpBwgP{ThQi&-;XE zGiH2)AZ4fx(~jpanx7ed*3klpV-bj8b>>7-v6d? zv@?RQ178_@5c58~?^WY7kGap_Gno%D_^r%C2H(Uy&)|odPcS(BPZ038$l&U}Qflxo z*-p8}aU2Hmx?98?)o{K1jBj|&20zREW`j@Q4eWgeU(WmqgWt^jC4)c0{C$I;Wd0d* zwN9gaefZMQSI_4H?61;S^FB!9IPc@w&QOD2#C)v5XEM(>cro)C23Obl5`(Mz>wJT^ zvzwn+SU%~oM zYWnEsJFLIY;BPYjLgV`QOAHV=Fww`euff&$6dL>-$7d09)i3osSdFHSetyaR)EWF! z=B)KcN)Bm`P~LDWq!ZG)%gF&;7eKmaf7dA{-nX<%zveE zeO{i|IF8#6)_>99w=zGjaeW@&&^X$8i1pt#_yf$})i~Nw^Zu2_(as^(KWFfL%zdZ? z2Nt9F3G==N|0DAO8pr!WHGJ?GrEwI8@OAzogZE`V#o+Uq7aF{bIlYVkc9oyEFt0T9 z*E655aU37Dud89M;$L#VerE6~%%3&w@H%?l&{zA7_ceVKpJadj%i!vJ!i6}9aA3dm zxSD8ib^RqarmyG z4@GozY5LgipV|K72LA)|r!=9@;>#b!G|#ajmFUi{uYAA?=+5f=CS@M zgU@FE9&S`Dt&%YK8a z>%d8atLvVP4Z@-9tLt{Q!MnKeDub(iMcCl#`-OU*q3o;gFMAAq^?m%1!PWCL)p=z{ zeXkIC?dzK0Eow;PZB80fQd^|4HZLAo8y9)-&U3BETiM<&^4eN3lULUshxb&vGX?Pe z3RMV4R(90aG&DzBpc=`wD_6EfR;yfNOI;(pjE$DiKC8fszxD7M3TNBkwdC`3;2qV7 zQUDi~h`5IGbuCRz@cNC&Yi@~0^57lwaq!M}-70P<603=})xz88|5uI>SizxI>rWXi zV!`~&F|{6*9{w*T+!7Qi!09PoSlMhCpL=3E9xl)36xSKOcZ+_`TaGG_qn9=$H)a{V%>jsOL|} z@Gx~Z^uSQB|8P8u^WL*G>wgP$dg}l2tEqaTKK38)PiFt|`L}5kYtG{KAI6M!n7R)@ znaNQ7EZ3i9EG$!ZH|X}{zxsju3>t$2{m1=*>3c6TRWnDz7{);S|?XMh*T0(^A+jQ7q+K2Yq*4uimR=iThH6t0H8$V#Y+TmTi3#gU%Rec_#}{EoAG(dRwKk)DLHLrLANp3j5f?QQ6DWB9|j zVZ|GbvGCU4p~=HFyJwh=?0T(c_asWy>>gvHUB_y6eNeOOzl>8L-umw`$m}|X+RM;~ zNOiGSjwBC7?XqZNxX5I}ph?Q!`r99i;dy3x6o(QSyLKf@1Xbf z73`uIJ8akQYj(X8+w~#Ld|oW5t}x#EecC$_Qo?ePWf-+p&!xI#d#kn@1FHI!b{X_7 zi>6dVCG@PWNa;3>7o6okj~TwZgS=WuwuDZunyfIYY8eR#vuiCD%_jFz^KqOCFB z+F13g#_&p(TlECIVR&PB6~_gb!mCW1h*@q8*~+@|I9~N8Jot-r+pG3N{$2w73BF0ImkM+3T7eec0a7@`DtY*;5 zewAL)#t^LNvM0mi*OX$L$*n03nPG#x0TF=re%9Dn9v-=!dhhI+w-RN?8<&K)K0WVZ zs64^j;k*?~cKr<-Eidt9HMQ#4tz^)H zNYlQCH3$=7eHXIROUdxQcEaCcwlYQrj0U-d)UQEja*={DPl(S`{X?;`?7Wm^tBhr- zSt_&a5R{^Bt<1`WaEF{5YmKAO78lA{)Y}bup7iy6ni1aq0}RftU)SvV(3mo1zlqG@ zPfz-i<6-2&l+(lGNq^sgfPQa4mV{gXOLf~oav>}n0}oO~p8rM0df82kL$QczN@<`E zHO>pK$q0|%UfPX1SPQ=(P$Y`O@EX?x!hgQk?{)y#S#+;cuQB`8`iGd4*YTSQ}Oy7r@Svgvtv+if@%Ktn<_ z$eeFDNr^q@rL*4L$2|XHF|6SM+i?N(#;!X+t4q$u^Xkkxj+*`#%bZ$M3J_UdO6M=k zo};Hhi77k!08)GSdTrivIC$%U70VX%Rz?=?*uS-H%IojthexKaNzv|^wUMp0xS$KA zEZaTtO|(yA%9G2R6tUhpubL)AurWOOV8_37pH0F}c!z`ey!v6fO2(B0c1GHVdpAXQ zoCx3e0w7vG1<>1YDN#CEq&-}Ra| zlO`K+(=rLajZJm`$Kgv3hzn&Pj*=PPc(XPV$GOgkK^?St-U>~r|hRm zqQu{4@t=F048nA8n2(+yGjKk~dd8lgx^UrLQqH9^S93>{VpDq3yOZ&$n;_7)`eqOJ z$QqlmWvu1U!?-bVV!O>e#g+$SyvEYKUV}#EOn6cmnoW6uJK?n<%Y|ISYgrl*WnM*N z0N(_X7xAI1WLCBcdvNOf!&`$GAs+J1M<+MvX%kISOI%=DGK)3cS}o^AHrM3Mbxq?Q z%!kx|C4HjpDBSa9xbWlfR%0H`80`GGvYY%`=k&Dayk^t#kU50hFTyv6W)d)!^1m^=`?R0Q}&aVqtNDw3l-SOUq4}YJ_J!v|QX=#jJ9ZekvodgD@Ws$1%as?b$RJQIM{?T7XWqJATM&?H> zdp?@`!dcfg-g(!b<}MgIZ~3Pp?y?6Df62pQ5tlcTa!*!$mFtorff`-R59{YWnKkjhPXHw`5Dro zO^!RboHT_tI~gVw3T<&RO)BCHHYI_Z5t&*`2ZheZ2_@8#XmGN#8mW|a3MV^{(m^kM z3Z+BPJlN9$%|lG87@BiTDjM48giWd})Z|1=sv^|j+sU{uu8W|b5O!RLW z6}cN%6ruLEPG_{zUpn}AgiYOXgL4pjIwuT16=_fBMAL56$V@WnQj;z>=`xd^Y|;}= zy27L@OnQn*PdDkQ#x~C}(@ffP%yg5E8JQU-z0{;;OGs(^h zkRmglv(66P2aJD?GuPPbr7KN37+N21cjo1gi0AwHhDSol_D<*Ay!*jD-!CvcYV<73 z`7vV8--`_Qe7xACr#qR{nam$RCX?n;=1(bg8V<&|C57ckdh4b-L~Aru-?Yi8F_kI3 z**VXoy%lhNwh=)U$GISH2*e{!=6=%noM>EDMA*}~B6JDTM*3n;qe-t+8f#5D6iUX| zI;(O?92)Zw8S_>TJ4KRf3c8TYtiu8S9A|Bq#?>V2)5(T(68EMeur8f!N+-XNPF|5t zwxpA->110vd1X4;IV20)QkD-x&!%)mz90r}$RS@D12+ven+Qp5PA9KTC$CE13}-<~6o$aBfI-c6Yk`#&q&)Mps_rCg)a?%xm22eBDcIalS!`Oggw* z(VzSfO>i%`beUeDfZ5UuLnN%EZiZBml5(Gh)k8J76B5N5JPL^t4PFKqrols~a*76z z0i3D-vT&YgC77) z)Zk5kNgBKhP_Dtp02La{fu&Qm=@$V^)8KPdnW6e(#%88Vb4~TQ3Dst4#hn0WDo{eF z%hz!39X1CEKNcXuC7I8Fq}3Rq&qc`R39ZijppTHLxh9kJrE3ddDmua_FmsmM7W(}BY2*yAbqZhssS z8D7S5$QfmlA=f$il>3FC9J7T{wKiN<4mD*Z)Q*H~O1x$Utq=Ou$>{YyC}jdEPF=Fb zVZt)xe7+UwIpB;G)l}TK$Qe&%zHesGjw|6%%IX<7T^OssSz@l+S)zdAV`wMm3g_-2 zW_oZ*m}1kZd(5tk`B%2BFH;kao& z9=Lb#3@2&`4nyD+pU;CSV`-g^F$EXFSj#e=bvs4FOMIU3-TpINFcjCXb#@k+dCmf6 zM0bwT^U&)}gY(6cdoy7}((&yH(~1l1J+gHaDcQ@}?rY6ZT!3ayC+@qsfV7%1_^L?~ zrC`w4`k{0%+vd_$3l0ORzGB{n6xg~Q-aH%@oS)4z6l#itR zsGJdVuJK)q>X~6DdsK)Ng`gs>y}8ttPp#+Bsy@-i!nx0o6Q)CN^8EcA^tq)1E|^`=8k^BNrLnlAJ; zuo&cj33psZi>V9R+6l&=W}q-3V94plSO(Yz%boO4N=01ZXZt9Fxv!O{%bnY? zExHa&Ple#2VMm7f;=v=sZX4li2;Mg0*QfgTE;V0-3jX_WumrOvQziHsv9-)D_v8$# zXI7h1Es0=v;T?r&;*P@Og}ybx%A)a9h#MLxFA{`X56D{m0O64Fmet zu=|Dyx^LJaAi9s|uWK2N{)&B23C+t8eXlUk>Dw24keXN)JXUh&FyAt6AEggc^KVjF z9A(#|zf>m5wiVq{M9OYKjLNqZeXqzUd#LD!p~yc|a;zk+?3SX3ilF7~q7xK7Q}SAg zQ5L)bT`*FnGq6@Q@E=1z7)lL%fEWrt82af@)4=xPXP`M~x|g!{gQ44tq4}ZWmngb# z*iYD6Qs@L99P+^s--_S|L!K${T^f9*;KhRA-M$t3f-e@F05CFXxj5urDDc$YUFvX}LQ-W`X{}@Kk=)7#w1^1MPb<50l2Ja{PZN+8hg-xqu(VCpR27kt$HtBaDqx;rvV$&QTIGNBD6 zuVvm5LdhMW&$2x5Sr*hU$Gi?6@*VYI7|i93H!^yS;vH++SZ#)L6LPYigKrG^^^oAv zA&(XWU&Cy0f*%bz5efF@J}CKvImmlO-GyH)4DP{#2>zw;^TOcqlDmdsZdv*3i;fJ% z3_o7t1RqK#kEN4GhCWkbX0H>Zsq7`cjdLoQv>c}Se7;X}hEPQF2p=Ry;{La9@cTyk z!=}F^Wu}~WFrG*=GrT@G&&l#!1lhoBpX=tkc^SFxpz0nsd&2|npl`cwMvprvBj1e# zvbMQ{0voo0bmiv*WEA(f#oOJ{$K3EXH#@MAN*-_rXF!XJ!zRDal{m-CLqVZQb(xYO zwXUznotkk8S&-#(i+pY=ii_@dr#SwgKO;yH8B%&qP`Bp1|DyL;R$M8Sh}@Q==;XpS4F2yHJgF^s3U*2^|Zu7%+D zyj+iKax1-DM(7n!#qa*t8t$+(?DG_7kdK0)WT3<6`T~(qc`dpT=y=3E!z(%HRjYE( zAUX7rqDC*5^m5eOU`YD*Q?Cqjfcs|bPk6MaPyPEn6P9=|w61Sgd!(mE5A+!e?)QYb zYQoE zg%RK5bt_|^mqow&t3ANzuk$MJ_3A+78KF;(xeH3LIs#e8Xl~91EI;PX-sYBLQo9)+ zyXBazdB`T+yeilCDpqWhEZm9JZp}7#ck<%uCGN-?ckUzZgwWaU+$HYhDkBnuNIos~(5QSjCnG=h zXg4w&Tp#+K{{dVddIJ(e{1fxtvPmd;fS2=RjDasBkezfVQp!Iw&o!vZT}b&V4%69kC6Cq3^phQ95dmJHkIH58!wCZUOuOt53hqjaIt_ z2|AWH?s3Oexdowv5NUGHL6xQ3+;g_MORE5C+3O?OXEH%L!DBu029egXRq zrLZ*i?(16RW}^tZOTJr#c3?pP5*Yf7&<1xS5~pMD`NZ8AbHC)<=AI54KXFgL*d5d8 zmQ}m>D!`cQ+^JRWm9?}<;<%>Ty>f{gu6DQHiEbd{TZ%w2w` zyVPHi=XSx4U?}Q#P)sfxkrC($VN;uvu?LI0#J8=sD(a31bl&fd3q6Q!ERcPF-yJmC z=@#wfP4pP=p>8SE`O&D^Qj?VNc2wH+vNHUW^108i(B6Cy4UPA?1%XSVNR36~8G%dh z^i+nDe_!QZcPUg3CG9jJJWm>}==5_K=K?pk1IcyRl*!3m=wN|+dWT!ybCz3tc7lrX z!BDo!9k!ArR&`;#eQ(2xLbrlU{~vm_*S+xXnLxTnC*3jIXf$#&_F^&l5Qj#&qmd}P z-z}(e^Q*8L_qmfiJtf%ehap+F!7WT?RApeF%*_Zi`P?y7Gr7l|07X@y#*Dzm6oa39 zfij;vc%Xo;%wIXyb*b2 zo$Ic12mJ&hKlLOYbqCQR=Zb)|cl11qOMraWea?+^^tf)1o3|Xa3(!~XW-oCg+i}F= zqIxv&Dqdy0Jcze5c$`$?%q&gdQlJD|3VcyQORn0@Jcdr(?VXh=c?Hb@H%C!yg!f>U z1+ILAimKh>b+i-YoaGi&yE)jovBKTrjKCmF`bUuK!hTiZX2miBt#=Ms;UTXi=O$G6 zDbhm`uY(p^B%kXtzaJN4?H%}TL!;Bs5#Lys+}xgUS`(X+PNFqg*OF*;>f`G-Y%<5q z=D5YF?^>Ivt8nU@x>~QO+w81QB;yTJoQ7oc`h=I6=0(%JXol0&oLt+s$-(>My3Xb; zo>22tr>!;CoHR1cGo1Bp8xl)f;+qp4i=EEqb*+hpXnj+>!-==FH^rTGiR7|HPG_>M zy)LmKk=&eYYHnTUw6wLZi<(1ME7zfKX*9(KdC{8|vEHlTI?xl4x)1NY=Hr z)+HL&CA^9xx*^$+bedb6lXdl-$xfw^3L6rg$vSkst)->8v$?JH;&_YG(AKrKCE*oq z_M$CLOLOZLiH4fy&ZM*W{1wr2r<@U;GPQhac|~;6`eavY;_P*a)Kb1f&F#5)pk2lh^Fz!+>=(%PBmNWvi-Fe51L?CLaZx9*^GrP?A)d;PFqU@hKrZuRB!3cbQWFDq%p7wTK?#NvKe(d+Y{)o^bwv-B{yRTTkGicf9I7QNj78?T!KZ3 zs??%a+1oKTIqRES>x>NzZOLg1Xv%at&6sSo&>CoA8=K&+1*!Qtxv6b^VsgACu_@l# z(2INcb@ww;Dj+QM*tZk0B@*Xm2%JlJ^r2As?0*UUAw_N1-Hbs2H2WN)% z;O>~Xd5eqKJmX%F6Y)Qn6QV~3)A6Ao&($lDjuAjGuSn+SL~iuY&ney=n4c59AviCm zY^OUfr=llgaZY7mfp1Vw1<<^lC`2GSKPR*>oAlmbG~m179ODV4a~G%0yPO3%6#*Zr zhvsD`!5`%^^TG{^Zt_>>6yF#)FDJS?xG<;e25NI>Ml5GmPv&_!hkVO(y8Txo_Fsj> zdL#lxKBWA&Be@QVD-f?lyczMOgK}n}Hq1m1QfAJ}c4nc?>E`JH{6bF*mgGck@Gr_K z-WfoLdV>DuK{>^XOs5uS2TJ_NoojNaOZ{o*y5`k1^(V`pLr*D6@wtJ^%-e4A_ZoCH zmc13nD)RylG6Myw8g%}6qQCNh_u!*Xk$EzLH)~#;F2aj4gpBlSbuP+dPW{)xyv%g) zaJZikz#|(wcysDxKH3Pn-uDTtN`aHC^aKLw*K2)h1iaUseHdi|-dp2-c>fQ=0*=>f zyF$QwztjhpnOy1}P^!#(r@ zLBteH$ zB`lsOZuA_K)!JR{snMqx0~Pd%a?pM4j{i9oW_Ov zO@Sll8w1GSI{<%h0RHd*{Fwpx;Q{z>!Kq(My%UEcU%C1NIITws;&(=`dxwInJPC1s$f*!9c^#FvSK= znQGD%>VDL^_cr%7xc`o?-)t_C`94tHyikQL=5`Br1ajAvy01^)TBUA=>|1L3W?$-R z{-k@FKKBgXJ$d^y2VbMamn-dC7`Zd*a~Yq$;Y{BQ(OnjoV2N3DP%~eQ%cNdVVQCn6U13@ik_Afw^%D`i|S&#?)PR z>N!K7M+f?TTHPF)dtB=-OW!(K^9|Dw>&tQQ=k+G=vN3ORY4r*(;(8=M44>mHKT7f8 zihI{R`1T7JUGs?^`5q&2`qLWWXCqC4I9+uKUqBFnIDNZIcnv`W;`F5;;mZjk5Rc*` zd=1hRi09)Yyn!GBaq5fk7J>-G3-A$6_Z<|7(^*saRRj@;kH$y*vy&hK@zd}TzLy{Z z@lt$*-$oFD_!xYI-%AjI_*i^||1&`Z;`AM1;r~hyfjI3wpYnLo^#=vAeLOy5|I-8! zNPYr7!s+^h0`ZCX2p_^5C2{Qs`oRoqGz$F;`N8;5pz{y~+aCH` ze+m?7`|A|f_B1L^`f2V`XjNR>vq5o^FE!GR)6Lwr=Xxct?b)Naw&zyGb-VW{PVLU& zcE4wFnsXH1R9x#hs<>|VBgM6ye!e8J`z7Bfp=w%wD$5hs`p;CH?3Zz$r?|HBe8ov# z#{E*}wmsJ=d2P>)ifenmsyOMFalb=xZO``=CwUq7hnd^<>{s&Io`Z^Odk!hC+kIbg zx|A2cnTd})`B}>kCPNTx|K}^N?HR+|wm&w2{KblE`!7{ok8eV8ZRdK$_4sx(r%3NJ zcPn{q|Bn^d_WYaTdVHT%T-!r`cSM2wrpNbn<`ijr-cs_~p7#{j_Rt^pP_V}<$oFT& z_4wuwz)Ka^ex7J?SufKqUTUmxoCOw_=VcdKd^*e1UrbRD|Hyi2P@H6?-8PHUxsAdG zi_3hz-r{2C9*c|qTP@D+b?&mbw0pnBMbE>E(=D#pb3k$Gm+(KiMPgMlCMwPPDk_nPqXYXM^H1pFy=C(cbmvIz` zpM{U;`K{7J*ZjhdDo)RQg=g@MF6o)0cph`=FHHfFpQ$+cjp|W2$Koy(x>*-Wn>$ysCt!FQDvYYO4q+jN*&yXiRP4PRFJl*?<{68!G^ejR6PZihm z_DRL{Jb6xWE&r!+0rnvTJFbhHmH17JkeTw4xI{#|s z6!CL7yWLZnll@x$5+$$qhYbVp9;IiZvj6S@ z_``~8za3Ou`|Xh8dK_P4PW?JZwfkEoulw}}#pgm^?h{Yr6DavX+doHfZD)<*+Ro*Q zYdbGzZrjT&3p; zC9my#O39zDgI{wkS^i7d_h)*YaOdoW@t=Z(>e69pXzNfhE*N+s}cK%Fp zJr7?}T+ip%71#6UEyeXbe@}6(=VQgSo=+9mdgN8V?VllG@`C3Ft-nNZJs(C5z{e}D z?U|vtw&!fc^*mXqxE}ZO6xZ@A6xZ@iifjAZ6(5Oy%eZe-Twh1ss<_sFm*P>S=S9UU z75}B;`n>sD#kKrV#kKt(DL!B6|8M3rzWO}-nUbHV9c*V8+ z6vefjixk&-Rw%Chxms~8A6HzryFqa+ze91YKa)B6XMyT3U$&cX&hVuKO8KXa5Yy!# zxv<8E145n`8BQwc9)JSf8&V*7Zp!3oO;MogwJD`9&U1@%_xtv-p3rp5+#o=liQIzL)cBEk2#~v|Icb=QmpX0ew&yeQ?je`5VJ*)H+(Y207>z6Ay0bu2IM zYlKU?b(TDRkAT7z7LR+_q3=Ub5Iw)-c6%%??*neKxO~6pHj7W={CyUm&H0BcE_TX$ zC9!88+w+Pg{}JckviK&iJI;p|zn$}+TKsDEXC}8J?Ow@xp8>X-(vZ5EiUVgzTZGW+I^AbS6jTs6LZ#Cd>Qjji(kV0T8sZX>+iMr8_aL9crE9> zpX*E8DdRPn>xune=J|h?#haNgwm9AMQ;_*CdhX%z+i1x*dE!ow#pQj#O%|8^^frsj z`@bhFF7`ifak1kgi=V>z&n%wHcFOw{>DN5&*Qx9e;Q`K1u(*uhOpE`J+naB3@2CA7 z=W>gS{wpj_-&dk=mBpXsao=h2mzeLhIQ@(th1)Go*H{$pvv{e8ogZ3!0`tc#elhp= zpvC1q=wXYW!*>4K;*YbQqZVJw@}F2-{CmRULs@<>KZlob{E)f#Bf07I;{ALjp2u7A ze`0&aS$rb5H`U^2FhASk{21AZS^P$}XPL#{Veb8JHEBD)!~So!DS5dzCjOw}BMESL zLh-0T#J{ri&*Am;j*^#q1*&$!lK(5)lg&3Il%@B85(=1${omsC6;<-|zC*$^#pT+Q z$`&a;S%eX8uDvL!F$c)Q}%-!6P8+-32Ehn;&Br$@zd zz5QdwNzcBNA4*c+iimBZKQiu?;xI7;iqB!YUXQZ({6xaP4p*ZQ6>-ng~&*FB+C{Fr2 zSbw?Vr2hh*5A*|e6vTe{8AN$MD10UB$DhBY zmF40b3xAgL*IN7+oWH^1f1t(@zG3kO&VPqv>KFOv8WKkMvErnni|u^G;_|%Xam7i` z^`r#hfZ}=_UsRm*f0OmUY;k#>@CtMB!*uS~+ZMlu`ClylUFJC)i=G3VA8YYy>IA|} z=Hwr;e5*&De^Q+6{1hJw4=PUb6Ai`uRh;BsU^{5+lzENC$Fn~-SbRJ4yDa`2=1(&hKQCbY&s*|x zfAN+jFXwA{k0yHL{QI{7^vL@%lBe;yh1(q#q28v?`|`c>QHmRt?Ef<6;vcUz&I=ZQ zk_(bN4kWMd?`|4^%l(!u|NH>*zp*$kQ-_yu3;zM<7hC)>&evG{=bV@O57F~H^NTI{!<^Ue z%gD~(Fqi9kd)%X3PQ$=MVTkls_#u`PJB7=Bvd7XR`_erYm;G?R#pOC=78!^j`sKbR zX>mDE?6LUeyndYW&duxTzk4aiFLiivlcYKlE%EXs{RmPyekmvJl&|gVbjmy0C_~~? z%JHY3oW<`3;jcZ@nJM@KP*cAlv9@bnU2|(=8?=~oeC^tf#D+e_Ep7GqZ6W-4h^`aw zpdZ}<^Qv{=hj&hr!EcWwL;w~^l5m~L*SD=-j~`ZX%3Ir#iE{ib(Iou#PW=_!P@<`> zu_KP(Yx;i`OP$lOjlKPULhy*daew1&pYkB^Nd{hz~PeDu~`q>#3N&V9(qk^cDxDsWQ zmggoS8sqkt3gB4mm-syJ{_5Yw^`lmO@xR2EbA3z9+0XTth#(7y-6Bu>Nq^&a*JYjr zep1#18ZWY0?3VFs0kd^dg{;wZbe#8Sp{roaUW+oDk@zR2UZuONfwg6~K&(IeD>r-f zH+hlyEf~7>vhAn${kBf3@|7|=dVibdrM#mpdlPVf?LW-zS8!$W7hT%f?cWV%>!d0N zxc!?cqk=8_Fv@I3;w$+<+x>i``=~zWxpo-X)4+F9{?kr(oZB!2u$BPXD#(9Pl43iZ40{TY>0vD~5bWpkP2|Y^qL(|l|Fq5YSN}NMpK0~q$~ylCcv@x) literal 20480 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 IVlvzRH$g1^q5uE@ diff --git a/src/base.c b/src/base.c index 63abf14..224922a 100644 --- a/src/base.c +++ b/src/base.c @@ -90,7 +90,7 @@ int convex_seg(int x1, int x2, double theta) { } double convex_pt(double a, double b, double theta) { - return (a+(b-a)*theta) ; + return (a+(b-a)*theta); } double convex_tri(double a, double tha, double b, double thb, double c, double thc) { @@ -119,33 +119,33 @@ bool is_an_integer(char c) { pt_2d vect_diff(pt_2d p1, pt_2d p2) { pt_2d res; - res.x = p2.x - p1.x ; - res.y = p2.y - p1.y ; - res.z = p2.z - p1.z ; + res.x = p2.x - p1.x; + res.y = p2.y - p1.y; + res.z = p2.z - p1.z; return res; } double dot2D(pt_2d p1, pt_2d p2) { - return p1.x * p2.x + p1.y * p2.y ; + return p1.x * p2.x + p1.y * p2.y; } double dot3D(pt_2d p1, pt_2d p2) { - return p1.x * p2.x + p1.y * p2.y + p1.z * p2.z ; + return p1.x * p2.x + p1.y * p2.y + p1.z * p2.z; } double to_double(int n) { - return (double)n ; + return (double)n; } int to_int(double n) { - return (int)n ; + return (int)n; } int line_count(char* filename) { FILE* ptr = fopen(filename, "r"); char c = 'd'; - int n = 0 ; + int n = 0; while(c != EOF) { if(c == '\n') { n += 1; @@ -157,11 +157,11 @@ int line_count(char* filename) { } int str_to_int(char* s) { - int res = 0 ; - int i = 0 ; + int res = 0; + int i = 0; while(s[i] != '\0' && is_an_integer(s[i])) { - res *= 10 ; - res += (int)s[i] - 48 ; + res *= 10; + res += (int)s[i] - 48; i++; }; return res; @@ -177,57 +177,57 @@ bool str_equal(char* s1, char* s2) { // ------------------------------------------------------------------------------------------------ // cube_0* create_cube_0(double x, double y, double z, double w, double h, double d, double hz_a, double vt_a, int r, int g, int b) { - cube_0* cb = malloc(sizeof(cube_0)) ; - cb->red = r ; - cb->green = g ; - cb->blue = b ; - cb->x = x ; - cb->y = y ; - cb->z = z ; - cb->w = w ; - cb->h = h ; - cb->d = d ; - cb->hz_angle = hz_a ; - cb->vt_angle = vt_a ; - return cb ; + cube_0* cb = malloc(sizeof(cube_0)); + cb->red = r; + cb->green = g; + cb->blue = b; + cb->x = x; + cb->y = y; + cb->z = z; + cb->w = w; + cb->h = h; + cb->d = d; + cb->hz_angle = hz_a; + cb->vt_angle = vt_a; + return cb; } void fill_cube_0(cube_0* cb, double x, double y, double z, double w, double h, double d, double hz_a, double vt_a, int r, int g, int b) { - cb->red = r ; - cb->green = g ; - cb->blue = b ; - cb->x = x ; - cb->y = y ; - cb->z = z ; - cb->w = w ; - cb->h = h ; - cb->d = d ; - cb->hz_angle = hz_a ; - cb->vt_angle = vt_a ; + cb->red = r; + cb->green = g; + cb->blue = b; + cb->x = x; + cb->y = y; + cb->z = z; + cb->w = w; + cb->h = h; + cb->d = d; + cb->hz_angle = hz_a; + cb->vt_angle = vt_a; } cube create_cube(double x, double y, double z, double w, double h, double d, double hz_a, double vt_a, int r, int g, int b) { cube cb = malloc(sizeof(cube_0)); - cb = create_cube_0(x, y, z, w, h, d, hz_a, vt_a, r, g, b) ; + cb = create_cube_0(x, y, z, w, h, d, hz_a, vt_a, r, g, b); return cb; } void free_cube(cube c) { - free(c) ; + free(c); } teleporter* create_teleporter( double x, double y, double z, double w, double h, double d, double hz_a, double vt_a, int r, int g, int b, int chx_dest, int chy_dest, double x_dest, double y_dest, double z_dest ) { - teleporter* tp = malloc(sizeof(teleporter)) ; - tp->dest_chx = chx_dest ; - tp->dest_chy = chy_dest ; - tp->dest_x = x_dest ; - tp->dest_y = y_dest ; - tp->dest_z = z_dest ; + teleporter* tp = malloc(sizeof(teleporter)); + tp->dest_chx = chx_dest; + tp->dest_chy = chy_dest; + tp->dest_x = x_dest; + tp->dest_y = y_dest; + tp->dest_z = z_dest; tp->hitbox = create_cube_0(x, y, z, w, h, d, hz_a, vt_a, r, g, b); - return tp ; + return tp; } void copy_cube(cube_0* src, cube_0* dest) { @@ -264,91 +264,91 @@ double distance_pt_seg_3d(double x, double y, double z, double sx, double sy, do ((ex - sx) * (ex - sx) + (ey - sy) * (ey - sy) + (ez - sz) * (ez - sz)) ); if(theta >= 0.0 && theta <= 1.0) { - return (distance_pt_pt_3d(x, y, z, convex_pt(sx, ex, theta), convex_pt(sy, ey, theta), convex_pt(sz, ez, theta))) ; + return (distance_pt_pt_3d(x, y, z, convex_pt(sx, ex, theta), convex_pt(sy, ey, theta), convex_pt(sz, ez, theta))); } else if (theta < 0.0) { - return (distance_pt_pt_3d(x, y, z, sx, sy, sz)) ; + return (distance_pt_pt_3d(x, y, z, sx, sy, sz)); } else { - return (distance_pt_pt_3d(x, y, z, ex, ey, ez)) ; + return (distance_pt_pt_3d(x, y, z, ex, ey, ez)); } } double distance_pt_cube_axis(double coord, double begin, double end) { if(coord < begin) { - return (begin-coord) ; + return (begin-coord); } else if(coord > end) { - return (coord-end) ; + return (coord-end); } else { - return 0.0 ; + return 0.0; } } double distance_pt_cube_axis_max(double coord, double begin, double end) { if(coord < (begin+end)/2) { - return absf(end-coord) ; + return absf(end-coord); } else { - return absf(begin-coord) ; + return absf(begin-coord); } } double distance_pt_cube_aligned_3d(double x0, double y0, double z0, double cx, double cy, double cz, double cw, double ch, double cd) { - return (distance_pt_cube_axis(x0, cx, cx+cw)+distance_pt_cube_axis(y0, cy, cy+ch)+distance_pt_cube_axis(z0, cz, cz+cd)) ; + return (distance_pt_cube_axis(x0, cx, cx+cw)+distance_pt_cube_axis(y0, cy, cy+ch)+distance_pt_cube_axis(z0, cz, cz+cd)); } double distance_pt_cube_aligned_3d_max(double x0, double y0, double z0, double cx, double cy, double cz, double cw, double ch, double cd) { - return (distance_pt_cube_axis_max(x0, cx, cx+cw)+distance_pt_cube_axis_max(y0, cy, cy+ch)+distance_pt_cube_axis_max(z0, cz, cz+cd)) ; + return (distance_pt_cube_axis_max(x0, cx, cx+cw)+distance_pt_cube_axis_max(y0, cy, cy+ch)+distance_pt_cube_axis_max(z0, cz, cz+cd)); } double distance_pt_cube_0_3d(double x0, double y0, double z0, cube_0* c) { // places the origin at the center of the cube - double x = x0 - (c->x + c->w/2.0) ; - double y = y0 - (c->y + c->h/2.0) ; - double z = z0 - (c->z + c->d/2.0) ; + double x = x0 - (c->x + c->w/2.0); + double y = y0 - (c->y + c->h/2.0); + double z = z0 - (c->z + c->d/2.0); // rotate the point : y then x - double xry = x*cos(c->hz_angle) + z*sin(c->hz_angle) ; - double yry = y ; - double zry = z*cos(c->hz_angle) - x*sin(c->hz_angle) ; + double xry = x*cos(c->hz_angle) + z*sin(c->hz_angle); + double yry = y; + double zry = z*cos(c->hz_angle) - x*sin(c->hz_angle); - double xrx = xry ; - double yrx = yry*cos(c->vt_angle) - zry*sin(c->vt_angle) ; - double zrx = zry*cos(c->vt_angle) + yry*sin(c->vt_angle) ; + double xrx = xry; + double yrx = yry*cos(c->vt_angle) - zry*sin(c->vt_angle); + double zrx = zry*cos(c->vt_angle) + yry*sin(c->vt_angle); // now the cube and pt are aligned, and (0, 0, 0) is at the cube's (bary)center - return distance_pt_cube_aligned_3d(xrx, yrx, zrx, -c->w/2.0, -c->h/2.0, -c->d/2.0, c->w, c->h, c->d) ; + return distance_pt_cube_aligned_3d(xrx, yrx, zrx, -c->w/2.0, -c->h/2.0, -c->d/2.0, c->w, c->h, c->d); } // ------------------------------------------------------------------------------------------------ // void project_to_camera(double x0, double y0, double z0, double* rx, double* ry, double* rz) { // align pt to (0, 0, 0) - double x = x0 - camx ; - double y = y0 - camy ; - double z = z0 - camz ; + double x = x0 - camx; + double y = y0 - camy; + double z = z0 - camz; // rotate (y) - double xry = x*cos(rot_hz) - z*sin(rot_hz) ; - double yry = y ; - double zry = z*cos(rot_hz) + x*sin(rot_hz) ; + double xry = x*cos(rot_hz) - z*sin(rot_hz); + double yry = y; + double zry = z*cos(rot_hz) + x*sin(rot_hz); // rotate (x) - if(rx != NULL) {*rx = xry ;} - if(ry != NULL) {*ry = yry*cos(rot_vt) + zry*sin(rot_vt) ;} - if(rz != NULL) {*rz = zry*cos(rot_vt) - yry*sin(rot_vt) ;} + if(rx != NULL) {*rx = xry;} + if(ry != NULL) {*ry = yry*cos(rot_vt) + zry*sin(rot_vt);} + if(rz != NULL) {*rz = zry*cos(rot_vt) - yry*sin(rot_vt);} } void project_to_cube(double x0, double y0, double z0, double* rx, double* ry, double* rz, cube_0* c) { // align pt to (0, 0, 0) - double x = x0 - (c->x + c->w/2.0) ; - double y = y0 - (c->y + c->h/2.0) ; - double z = z0 - (c->z + c->d/2.0) ; + double x = x0 - (c->x + c->w/2.0); + double y = y0 - (c->y + c->h/2.0); + double z = z0 - (c->z + c->d/2.0); // rotate (y) - double xry = x*cos(c->hz_angle) + z*sin(c->hz_angle) ; - double yry = y ; - double zry = z*cos(c->hz_angle) - x*sin(c->hz_angle) ; + double xry = x*cos(c->hz_angle) + z*sin(c->hz_angle); + double yry = y; + double zry = z*cos(c->hz_angle) - x*sin(c->hz_angle); // rotate (x) - if(rx != NULL) {*rx = c->x + c->w/2.0 + xry ;} + if(rx != NULL) {*rx = c->x + c->w/2.0 + xry;} if(ry != NULL) {*ry = c->y + c->h/2.0 + yry*cos(c->vt_angle) - zry*sin(c->vt_angle);} if(rz != NULL) {*rz = c->z + c->d/2.0 + zry*cos(c->vt_angle) + yry*sin(c->vt_angle);} } @@ -369,14 +369,14 @@ void add_entity(entity** arr, int* memlen, int* len, entity* ent) { entity** newarr = malloc(sizeof(entity*)*2*(*memlen)); for(int k = 0; k < *len; k++) { newarr[k] = malloc(sizeof(entity)); - newarr[k] = arr[k] ; + newarr[k] = arr[k]; free(arr[k]); } free(*arr); - arr = newarr ; + arr = newarr; *memlen *= 2; } free(arr[*len]); - arr[*len] = ent ; + arr[*len] = ent; *len += 1; } \ No newline at end of file diff --git a/src/entities.c b/src/entities.c index cde08bc..7ed766a 100644 --- a/src/entities.c +++ b/src/entities.c @@ -57,25 +57,25 @@ void update_entities(float dtime) { // ------------------------------------------------------------------------------------------------------------------------------------------------ // void speen(double x, double y, double z, double w, double h, double d, double hz_angle, double vt_angle, float dtime, entity* ent, cube_0* ret) { - ret->hz_angle += ((double)dtime)*15.0; + ret->hz_angle += ((double)dtime)*1.5; } void speen2(double x, double y, double z, double w, double h, double d, double hz_angle, double vt_angle, float dtime, entity* ent, cube_0* ret) { - ret->hz_angle += ((double)dtime)*22.5; + ret->hz_angle += ((double)dtime)*2.5; if((int)(5.0*ret->hz_angle) != (int)(5.0*(ret->hz_angle - ((double)dtime)*22.5))) { double dx = (x+w/2 - camx); double dy = (y+h/2 - camy); double dz = (z+d/2 - camz); double total = sqrt(dx*dx + dy*dy + dz*dz); - dx = 170.0*dx/total; - dy = 170.0*dy/total; - dz = 170.0*dz/total; + dx = 17.0*dx/total; + dy = 17.0*dy/total; + dz = 17.0*dz/total; appendProj(x+w/2, y+h/2, z+d/2, 0.1, 0.1, 0.1, -dx, -dy, -dz, 0.0, 0.0, 0.0, 255, 0, 0, 10, 3.0); } } void speen3(double x, double y, double z, double w, double h, double d, double hz_angle, double vt_angle, float dtime, entity* ent, cube_0* ret) { - ret->vt_angle += ((double)dtime)*22.5; + ret->vt_angle += ((double)dtime)*2.5; } // metad{1,2,3} = og pos @@ -105,31 +105,12 @@ void detectHit(float dtime, int* hp, int* dmg, entity* ent, cube_0* ret) { } void translatePlayer(float dtime, int* hp, int* dmg, entity* ent, cube_0* ret) { - double vx = ent->metad4*(cos((double)(ent->metai1*(sim_time+(double)dtime)/ent->metai2 + ent->metai3*3.14159/180.0))-cos((double)(ent->metai1*sim_time/ent->metai2 + ent->metai3*3.14159/180.0))); - double vy = ent->metad5*(cos((double)(ent->metai1*(sim_time+(double)dtime)/ent->metai2 + ent->metai3*3.14159/180.0))-cos((double)(ent->metai1*sim_time/ent->metai2 + ent->metai3*3.14159/180.0))); - double vz = ent->metad6*(cos((double)(ent->metai1*(sim_time+(double)dtime)/ent->metai2 + ent->metai3*3.14159/180.0))-cos((double)(ent->metai1*sim_time/ent->metai2 + ent->metai3*3.14159/180.0))); - //printf("(%lf %lf) (%lf %lf) (%lf %lf)\n", vx, camvx, vy, camvy, vz, camvz); - if(true) { - double oldvx = camvx; - camvx = vx/dtime; - camx -= oldvx*dtime; - camx += camvx*dtime; - noResetSpeed = true; - } - if(true) { - double oldvy = camvy; - camvy += vy/dtime; - camy -= oldvy*dtime; - camy += camvy*dtime; - } - if(true) { - double oldvz = camvz; - camvz = vz/dtime; - camz -= oldvz*dtime; - camz += camvz*dtime; - noResetSpeed = true; - } - noFriction = true; + double dx = ent->metad4*(cos((double)(ent->metai1*(sim_time+(double)dtime)/ent->metai2 + ent->metai3*3.14159/180.0))-cos((double)(ent->metai1*sim_time/ent->metai2 + ent->metai3*3.14159/180.0))); + double dy = ent->metad5*(cos((double)(ent->metai1*(sim_time+(double)dtime)/ent->metai2 + ent->metai3*3.14159/180.0))-cos((double)(ent->metai1*sim_time/ent->metai2 + ent->metai3*3.14159/180.0))); + double dz = ent->metad6*(cos((double)(ent->metai1*(sim_time+(double)dtime)/ent->metai2 + ent->metai3*3.14159/180.0))-cos((double)(ent->metai1*sim_time/ent->metai2 + ent->metai3*3.14159/180.0))); + fx += dx/(dtime*dtime); + fy += dy/(dtime*dtime); + fz += dz/(dtime*dtime); } void go_to_player(double x, double y, double z, double w, double h, double d, double hz_angle, double vt_angle, float dtime, entity* ent, cube_0* ret) { diff --git a/src/move.c b/src/move.c index 56e6747..5779918 100644 --- a/src/move.c +++ b/src/move.c @@ -24,10 +24,13 @@ double vtmult = 1.5; double min_dist = 0.7; double friction = 0.8; double gravity_factor = 9.8; -bool noResetSpeed = false; -bool noFriction = false; // ---------------------------------------------------------------------------------------------------- // +double fx; +double fy; +double fz; +bool updateForces = false; + int player_hp; bool stop_evetything; @@ -48,6 +51,7 @@ int draw_type; int fade_dmg; bool has_changed; +int collisionVal = 0; double room_width; double room_depth; @@ -83,16 +87,94 @@ void set_player_coords(int old_chx, int old_chy) { } } +pt_2d surface[3]; +pt_2d directors[2]; +pt_2d normal; +double p1, p2, p3; +void getSF(cube_0* cb, int sf) { + if(sf == 0 || sf == 1) { + project_to_cube(cb->x + (sf==0)*cb->w, cb->y , cb->z , &p1, &p2, &p3, cb); + surface[0] = (pt_2d){.x = p1, .y = p2, .z = p3}; + project_to_cube(cb->x + (sf==0)*cb->w, cb->y + cb->h, cb->z , &p1, &p2, &p3, cb); + surface[1] = (pt_2d){.x = p1, .y = p2, .z = p3}; + project_to_cube(cb->x + (sf==0)*cb->w, cb->y , cb->z + cb->d, &p1, &p2, &p3, cb); + surface[2] = (pt_2d){.x = p1, .y = p2, .z = p3}; + } else if(sf == 2 || sf == 3) { + project_to_cube(cb->x , cb->y + (sf==2)*cb->h, cb->z , &p1, &p2, &p3, cb); + surface[0] = (pt_2d){.x = p1, .y = p2, .z = p3}; + project_to_cube(cb->x + cb->w, cb->y + (sf==2)*cb->h, cb->z , &p1, &p2, &p3, cb); + surface[1] = (pt_2d){.x = p1, .y = p2, .z = p3}; + project_to_cube(cb->x , cb->y + (sf==2)*cb->h, cb->z + cb->d, &p1, &p2, &p3, cb); + surface[2] = (pt_2d){.x = p1, .y = p2, .z = p3}; + } else { + project_to_cube(cb->x , cb->y , cb->z + cb->d*(sf==4), &p1, &p2, &p3, cb); + surface[0] = (pt_2d){.x = p1, .y = p2, .z = p3}; + project_to_cube(cb->x + cb->w, cb->y , cb->z + cb->d*(sf==4), &p1, &p2, &p3, cb); + surface[1] = (pt_2d){.x = p1, .y = p2, .z = p3}; + project_to_cube(cb->x , cb->y + cb->h, cb->z + cb->d*(sf==4), &p1, &p2, &p3, cb); + surface[2] = (pt_2d){.x = p1, .y = p2, .z = p3}; + } +} + +void getDirectors() { + directors[0] = (pt_2d){.x = surface[1].x - surface[0].x, .y = surface[1].y - surface[0].y, .z = surface[1].z - surface[0].z}; + directors[1] = (pt_2d){.x = surface[2].x - surface[0].x, .y = surface[2].y - surface[0].y, .z = surface[2].z - surface[0].z}; +} + +void getNormal() { + normal.x = directors[0].y*directors[1].z - directors[1].y*directors[0].z; + normal.y = -directors[0].z*directors[1].x + directors[1].z*directors[0].x; + normal.z = directors[0].x*directors[1].y - directors[1].x*directors[0].y; + double norm = sqrt(normal.x*normal.x + normal.y*normal.y + normal.z*normal.z); + normal.x /= norm; + normal.y /= norm; + normal.z /= norm; +} + +void updateF(cube_0* cb, double dtime) { + for(int d = 0; d < 6; d++) { + getSF(cb, d); + getDirectors(); + getNormal(); + if(d%2==1) { + normal.x *= -1.0; + normal.y *= -1.0; + normal.z *= -1.0; + } + pt_2d vt = (pt_2d){.x = camx-camvx*dtime - surface[0].x, .y = camy-camvy*dtime - surface[0].y, .z = camz-camvz*dtime - surface[0].z}; + pt_2d vtdt = (pt_2d){.x = camx - surface[0].x, .y = camy - surface[0].y, .z = camz - surface[0].z}; + if((dot3D(vt, normal) <= -min_dist && dot3D(vtdt, normal) > -min_dist) || (dot3D(vt, normal) >= min_dist && dot3D(vtdt, normal) < min_dist)) { + double normv = sqrt(camvx*camvx + camvy*camvy + camvz*camvz); + + double alpha = acos(dot3D(normal, (pt_2d){.x = camvx, .y = camvy, .z = camvz})/normv); + double beta = 3.1415926535 - 2*alpha; + double nu = sqrt(2)*normv*sqrt(1-cos(beta)); + + pt_2d u = (pt_2d){.x = normal.x*nu, .y = normal.y*nu, .z = normal.z*nu}; + + camvx += u.x; + camvy += u.y; + camvz += u.z; + } + } +} + bool is_colliding(float dtime) { for(int k = 0; k < current_room->map_size; k++) { double dist = distance_pt_cube_0_3d(camx, camy, camz, current_room->map[k]); if(dist <= min_dist) { + if(updateForces) { + updateF(current_room->map[k], (double)dtime); + } return true; } } for(int k = 0; k < current_room->tps_size; k++) { double dist = distance_pt_cube_0_3d(camx, camy, camz, current_room->tps[k]->hitbox); if(dist <= min_dist) { + if(updateForces) { + updateF(current_room->tps[k]->hitbox, (double)dtime); + } int old_chx = player_chx; int old_chy = player_chy; player_chx = current_room->tps[k]->dest_chx; @@ -106,6 +188,9 @@ bool is_colliding(float dtime) { for(int k = 0; k < current_room->ent_len; k++) { double dist = distance_pt_cube_0_3d(camx, camy, camz, current_room->ents[k]->pos); if(dist <= min_dist) { + if(updateForces) { + updateF(current_room->ents[k]->pos, (double)dtime); + } if(current_room->ents[k]->onHit != NULL) { (*current_room->ents[k]->onHit)(dtime, current_room->ents[k]->hitpoints, ¤t_room->ents[k]->damage, current_room->ents[k], &(*(current_room->ents[k]->pos))); if(*(current_room->ents[k]->hitpoints) <= 0) { @@ -122,45 +207,37 @@ bool is_colliding(float dtime) { } void movePlayerG(double dtime) { - camx += camvx*dtime; - noResetSpeed = false; - noFriction = false; - if(is_colliding(dtime)) { - camx -= camvx*dtime; - if(!noResetSpeed) { - camvx = 0.0; - } - } - if(!noFriction) { - camvx = camvx*(1-dtime*friction); - } + updateForces = true; + fx = 0.0; + fy = 0.0; + fz = 0.0; camvy -= gravity_factor*dtime; - camy += camvy*dtime; - noResetSpeed = false; - noFriction = false; - if(is_colliding(dtime)) { - camy -= camvy*dtime; - if(!noResetSpeed) { - camvy = 0.0; - } - } - if(!noFriction) { - camvy = camvy*(1-dtime*friction); - } - camz += camvz*dtime; - noResetSpeed = false; - noFriction = false; + double delx = camvx*dtime; + double dely = camvy*dtime; + double delz = camvz*dtime; + camx += delx; + camy += dely; + camz += delz; if(is_colliding(dtime)) { - camz -= camvz*dtime; - if(!noResetSpeed) { - camvz = 0.0; - } - } - if(!noFriction) { - camvz = camvz*(1-dtime*friction); + //camvx = 0.0; + //camvy = 0.0; + //camvz = 0.0; } + camx -= delx; + camy -= dely; + camz -= delz; + printf("%lf | %lf | %lf\n", fx, fy, fz); + + updateForces = false; + camvx += fx*dtime; + camvy += fy*dtime; + camvz += fz*dtime; + printf("%lf | %lf | %lf\n\n", camvx, camvy, camvz); + camx += camvx*dtime; + camy += camvy*dtime; + camz += camvz*dtime; } void teleport_on_edge() { diff --git a/src/structure.h b/src/structure.h index 4dcec48..e1c25ef 100644 --- a/src/structure.h +++ b/src/structure.h @@ -147,7 +147,10 @@ extern float rectDefault[18]; extern int triCount; -extern bool noResetSpeed; -extern bool noFriction; +extern bool updateForces; + +extern double fx; +extern double fy; +extern double fz; #endif \ No newline at end of file