fixed recursive build script
[carveJwlIkooP6JGAAIwe30JlM.git] / rigidbody.h
index 026d8676dbd0cbccab6b7174c2a1498626ce2e77..282643a1eb0b01f6672207ea6e894d40f4beae46 100644 (file)
@@ -1,3 +1,7 @@
+/*
+ * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved
+ */
+
 /* 
  * Resources: Box2D - Erin Catto
  *            qu3e  - Randy Gaul
@@ -338,17 +342,12 @@ static void rb_init( rigidbody *rb )
       v3f dims;
       v3_sub( rb->bbx[1], rb->bbx[0], dims );
       volume = dims[0]*dims[1]*dims[2];
-      
-      if( !rb->is_world )
-         vg_info( "Box volume: %f\n", volume );
    }
    else if( rb->type == k_rb_shape_sphere )
    {
       volume = sphere_volume( rb->inf.sphere.radius );
       v3_fill( rb->bbx[0], -rb->inf.sphere.radius );
       v3_fill( rb->bbx[1],  rb->inf.sphere.radius );
-
-      vg_info( "Sphere volume: %f\n", volume );
    }
    else if( rb->type == k_rb_shape_capsule )
    {
@@ -634,7 +633,6 @@ static void closest_on_triangle( v3f p, v3f tri[3], v3f dest )
    v3_muladds( dest, ac, w, dest );
 }
 
-/* TODO */
 static void closest_on_triangle_1( v3f p, v3f tri[3], v3f dest )
 {
    v3f ab, ac, ap;
@@ -1078,7 +1076,6 @@ static int rb_capsule_box( rigidbody *rba, rigidbody *rbb, rb_ct *buf )
    v3_sub( c1, p1, d1 );
    v3_sub( p1, p0, da );
    
-   /* TODO: ? */
    v3_normalize(d0);
    v3_normalize(d1);
    v3_normalize(da);
@@ -1336,7 +1333,6 @@ static int rb_box_scene( rigidbody *rba, rigidbody *rbb, rb_ct *buf )
          axis = 1;
       }
       
-      /* TODO: THIS IS WRONG DIRECTION */
       float cz = -v3_dot( rba->forward, n );
       if( fabsf(cz) > fabsf(best) )
       {
@@ -1482,7 +1478,7 @@ static int rb_collide( rigidbody *rba, rigidbody *rbb )
    }
 
    /*
-    * TODO: Replace this with a more dedicated broad phase pass
+    * FUTURE: Replace this with a more dedicated broad phase pass
     */
    if( box_overlap( rba->bbx_world, rbb->bbx_world ) )
    {
@@ -1743,7 +1739,6 @@ static void rb_limit_cure( rigidbody *ra, rigidbody *rb, v3f axis, float d )
 static void rb_constraint_limits( rigidbody *ra, v3f lca, 
                                   rigidbody *rb, v3f lcb, v3f limits[2] )
 {
-   /* TODO: Code dupe remover */
    v3f ax, ay, az, bx, by, bz;
    m3x3_mulv( ra->to_world, (v3f){1.0f,0.0f,0.0f}, ax );
    m3x3_mulv( ra->to_world, (v3f){0.0f,1.0f,0.0f}, ay );
@@ -1871,10 +1866,10 @@ static void rb_effect_simple_bouyency( rigidbody *ra, v4f plane,
    float depth  = v3_dot( plane, ra->co ) - plane[3],
          lambda = vg_clampf( -depth, 0.0f, 1.0f ) * amt;
 
-   v3_muladds( ra->v, plane, lambda * ktimestep, ra->v );
+   v3_muladds( ra->v, plane, lambda * VG_TIMESTEP_FIXED, ra->v );
 
    if( depth < 0.0f )
-      v3_muls( ra->v, 1.0f-(drag*ktimestep), ra->v );
+      v3_muls( ra->v, 1.0f-(drag*VG_TIMESTEP_FIXED), ra->v );
 }
 
 /*