From 307fb8101d3ea4c1ac44fb05f64e85021a3d7200 Mon Sep 17 00:00:00 2001 From: uan Date: Fri, 26 Dec 2025 10:04:23 +0100 Subject: [PATCH] - --- main | Bin 19496 -> 19496 bytes main.c | 16 ++++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/main b/main index 0005d9176766211354373562df19308ba2acb57e..0c5762161c04685fada3efe5eb247a6136bd2e79 100755 GIT binary patch delta 2075 zcmZ`4ZA?>F^xZ;f3x(Ix3PnCF3i2f~R8|Cp7I@(?WkLYODdI=O#Tn=RxS4E@t$sDd zq~WFvD^oDh)c@|ay#B_IOZ-MMX1`LUavd%n*-=e%?8 z>u4bzEyOXPQW-ekQgz;IC0cKqpYx`feS{ZmvQ~ZQzSnKdoNntaU0r)l-fy#;c0W1f zEC|{tBiYa_pVf#~kETbMV;V?KV$Ys`kH{97*3E_m&gMutSYa)Q^0O50sN zb)Zq?4|GeDbCmil%trg7lS?_Skw4(J^+=!pL#fTpGz$XFN4TcJbFQ=PMWp`+_*mE_lQi(dv?k z_TXDai;2l?0ZHrJA_I#t4SZo!!1cz5!QCZ z#iw?c+e(wv6Bb@unxuztWewQ?yOcGn%R;cufC-*;X@b`Z-;4GNBs3LB)DE!Fz6Oc5 zJ0iB@FpMjc$wuH+$*XKemPVbskN-njL!2lEGToiqOc(O6(tsU zg%#+U;E&WIr4iUjVB<8bZ%W$;pE}4&bxS{^m-Hu8h9(&D7Y4Y=0`y}ta6HtQ56@pc zIylMSV5L>?V9g$X%?){hZ{LKU!{HFEH!HVVw$;P^(5%Su=~pKO8>ED|u$ZM|IXDXP zLENwI!1=fRgni$KrgnKh%8-eN&0#4y+62}ct?-aFN*Q3JM*eRsP%C(_z40^gzJXa3 z!19@RaE7Ijcj10mN<=3rndKn!?*NT@k?O49UVaukxk z-h>T}JQM8dgo?2^f9N0Qb(oSyJ{^$W>=Am|%u7MfD825Z%CWq0EkRl96yC#ALfbWD zaQ=Iw?J%WIB>i9r&m$J74!31RqnlKV$w>}$lcv!_vQFZbfRxosj=K0`BX|j=+t_l+ z24NA!WD~p@af(dCP=p{mGYMBUaZtpE#3!Jee-^dEG)_Y==2_u;5nR$3?BaoZ15 zQ9!+B6=?^DCY9Ks3wJk+X>v&n#A;U%4~W`SavR>mJrvGsbIDG)t*s|k$c|h_zJ=Pz z8gd@KicBG^;Frj>gwZHpdyduMbHExi5a8>Om)1j!u8{19I$aWJfRA*Gi5gmTD`I1P zM%%kF%O;lP$-qT-Nw;7`S5CqpOJ;za#$;6fj z&2d>tc*xso1wLsU&M?=E0H}8%exaBB;4?6y=n}$e%=aR`=`ZwU%|X`SptC_}#bOK~ zbV7DUw91H-7hxExGGbLsr^md%hQk@L@-;~1!a1aBkopk1GM30cKq}TboKYXzx74X78H>Is4Cbib8&FBppZOrJ}=lyNHXj! zY#`ar?!prxcuC5IEY(~fg*oRZLYa)T!4snnhRWhpFaPUAG--FF`(y7&$8>RBaF&ZB GLH_|=Q2?g^ delta 2119 zcmZuzYfKbZ6rMZl!Y;7P>;u;7iVLDFkAi5CiaZu^!q}836(brEXj5!VV{EC7_6Mlc z>Sk$6Jf;CP0jobS(L`Mnky>4-22G8@SH-%@nxGvkZ7sXDP_ff@+LofxImkR_!$6-5FU+iuzX^`aGnt9l*x4_ylyzMXmV z>baIoPrhaeOB~RwecHH8Y#Mg-3BwffFp4mYTNoBw#U?K+x+k5t7dsizCHO_R;2+_5 z=j0J?m6sasrFJSrw=Tf(qRw@bbM)7V-1;6VI4;XdgwyVh+mXaDb=>-1SD&=+nJl|{ zUrl76NO6Wo250GOB30hMvJAKMg^dH46SFsXIY$rDxgOw*f-k@|EJuwOd?6-$h{+)5 z7@$mgrEU1dCSjP+6}{Ily0u#i7)G4m%Wd;x;+7WCT{U{~hvlN{J}rV6F2Y0h)gtKC zDoEwn9PbPy}7NnIr-3 z>SiWX+8JhqtL&}gvU)y^4@awkZIGxplRn7NPdEJXk1PkU@Yn&v0jSl_n04|6PyGT~ zV@#2cU)7$U&M*OP4J}F)9Er5f?#9sP97|%5V~K@k%0?VYtqTz&-0GfCYZXvg{r`ca z->8>s=n2((DW>8@3%2)4sNRJyfrN9k8kZ;ySCl>Ho3R&ZXebNaOU-#dPi+ptwyDj5 zp{T5~kx|;lactvwsEx)@F5-)35KFmGP==8 zBL^t{m}>aKct6FptGIT^jd3)N)5WXlJ1A(S3OY!Q*{abQ4mnJ{^HlHAu=hk*p}R}_ z$QI&oI_yR6y!M&uJ=Z5(z>~yCF@MYQ*+fNs2Mh7gh$md?{0oohmqN!GH1K%$Nozrl zNhCKQ(U3>pg4G6BmK|}@ZKN%=Axt9FY<_~T6vQ??CZBt`?SpuVq-%IIrCnf&T}Y~7 zMeLVk4DQDY?A|B4cq`o?Wy-bSl~P~{Ht*kb%cjHehxVTZM=is z9Y7fT%=7Gz0oZSi17b`fNsw&JAWxv&=pa7$%;;dvp~+J?xek2BD$)#jrWvFQ)|e{D z0q~eo$O5=+N=>*IuT*J!g-lNnuf3w$m1s*9kYp|-8==;mY^zZw*5FOy7Pe5@JJnmr zE5*Tna|W@&W%Fy~GDzmd!~%0H3rRU_v?P<$u*Z^%o~xGE$%Er@wS-i_yYaas1NOvc zlV9Ny>b)?@noYLAJZk~D3ZGchNj!9*{sG*zCU~A&wL0*!y5sf+J$%RNVMnSJcX;S| zT*NT;VjK$P0~oL62>qz z5nb>>*qlC9n~z!+w4t^dwR$*}K3%&7HIwH~`ZAUTJ=vLtNRsI(%F(k?L8}wN3^Q(p z%-kvPVQzBNi0T?qT>1$UzRxX+9#<#HWG5VB6FrVMHxMF0+x%*h4rBQK9aiR5<3~>A zEg^buWGK50jQK@)@0aJVWeW&&=NA&6XDoj$!5vszSWO(Bp28gwWE(6Nvh-m}LC;p9 klqIe3r`-&`Qk(wyKL8PPjg@Jk+?8pRKQ7+0SRB;+2kC_i{r~^~ diff --git a/main.c b/main.c index 9dc381d..f26ffe5 100644 --- a/main.c +++ b/main.c @@ -5,6 +5,9 @@ #include #include "objects.h" +#define VEC3FORMAT "%lf, %lf, %lf\n" +#define PRINTVEC3(vec) printf("%f, %lf, %lf\n", vec.x, vec.y, vec.z) + struct global { const int scwidth, scheight; int fps; @@ -14,7 +17,7 @@ struct global { double friction; }; -struct global gl = {1600, 900, 144, {}, 0, 15, 0.001}; +struct global gl = {1600, 900, 144, {}, 0, 30, 0.001}; void addobj(object *obj) { @@ -28,7 +31,6 @@ void drawobjs() object *obj = gl.objs[i]; DrawSphere(obj->pos, obj->r, obj->color); DrawSphereWires(obj->pos, obj->r, 16, 16, ColorBrightness(obj->color, -0.5f)); - DrawLine3D(obj->pos, Vector3Add(obj->pos, obj->vel), PURPLE); } } @@ -38,6 +40,7 @@ void updateobjs() { object *obj = gl.objs[i]; obj->vel.y -= 0 * GetFrameTime(); + obj->vel = Vector3Scale(obj->vel, (1.0f-gl.friction)); //if (obj->vel.y < gl.terminal_yv) if (obj->pos.y < obj->r) { obj->pos.y = obj->r; @@ -63,7 +66,8 @@ void updateobjs() { obj->vel = Vector3Scale(obj->vel, 1.0f/ratio_speed_to_terminal); } - obj->vel = Vector3Scale(obj->vel, (1.0f-gl.friction)); + //PRINTVEC3(obj->vel); + DrawLine3D(obj->pos, Vector3Add(obj->pos, obj->vel), PURPLE); obj->pos = Vector3Add(obj->pos, Vector3Scale(obj->vel, GetFrameTime())); } } @@ -82,9 +86,9 @@ int main(void) { InitWindow(gl.scwidth, gl.scheight, "raylib engine"); SetTargetFPS(gl.fps); - addobj(newobj((Vector3){10, 40, 0}, 2, BLUE, 1, 200000)); - addobj(newobj((Vector3){50, 20, 0}, 5, RAYWHITE, 0., 5000000)); - Camera3D camera = {{0, 20, 10}, {0, 20, 0}, {0, 1, 0}, 50, CAMERA_PERSPECTIVE}; + addobj(newobj((Vector3){-100, 60, 0}, 2, BLUE, 0.8, 2000)); + addobj(newobj((Vector3){100, 50, 0}, 50, RAYWHITE, 0, 50000000)); + Camera3D camera = {{0, 50, 20}, {0, 50, 0}, {0, 1, 0}, 50, CAMERA_PERSPECTIVE}; DisableCursor(); SetWindowMonitor(0);