-#if 0
-static void rb_build_manifold_rb_static( rigidbody *ra, rigidbody *rb_static )
-{
- v3f verts[8];
-
- v3f a, b;
- v3_copy( ra->bbx[0], a );
- v3_copy( ra->bbx[1], b );
-
- m4x3_mulv( ra->to_world, (v3f){ a[0], a[1], a[2] }, verts[0] );
- m4x3_mulv( ra->to_world, (v3f){ a[0], b[1], a[2] }, verts[1] );
- m4x3_mulv( ra->to_world, (v3f){ b[0], b[1], a[2] }, verts[2] );
- m4x3_mulv( ra->to_world, (v3f){ b[0], a[1], a[2] }, verts[3] );
- m4x3_mulv( ra->to_world, (v3f){ a[0], a[1], b[2] }, verts[4] );
- m4x3_mulv( ra->to_world, (v3f){ a[0], b[1], b[2] }, verts[5] );
- m4x3_mulv( ra->to_world, (v3f){ b[0], b[1], b[2] }, verts[6] );
- m4x3_mulv( ra->to_world, (v3f){ b[0], a[1], b[2] }, verts[7] );
-
- vg_line_boxf_transformed( rb_static->to_world, rb_static->bbx, 0xff0000ff );
-
- int count = 0;
-
- for( int i=0; i<8; i++ )
- {
- if( ra->manifold_count == vg_list_size(ra->manifold) )
- return;
-
- struct contact *ct = &ra->manifold[ ra->manifold_count ];
-
- float p;
- v3f normal;
-
- if( rb_point_in_body( rb_static, verts[i], &p, normal ))
- {
- v3_copy( normal, ct->n );
- v3_muladds( verts[i], ct->n, p*0.5f, ct->co );
- v3_sub( ct->co, ra->co, ct->delta );
-
- vg_line_pt3( ct->co, 0.0125f, 0xffff00ff );
-
- ct->bias = -0.2f * (1.0f/k_rb_delta) * vg_minf( 0.0f, -p+0.04f );
- rb_tangent_basis( ct->n, ct->t[0], ct->t[1] );
-
- ct->norm_impulse = 0.0f;
- ct->tangent_impulse[0] = 0.0f;
- ct->tangent_impulse[1] = 0.0f;
-
- ra->manifold_count ++;
- count ++;
- if( count == 4 )
- return;
- }
- }
-}
-#endif
-
-/*
- * Capsule phyics
- */
-
-RB_DEPR
-static void debug_capsule( m4x3f m, float height, float radius, u32 colour )
-{
- v3f last = { 0.0f, 0.0f, radius };
- m4x3f lower, upper;
- m3x3_copy( m, lower );
- m3x3_copy( m, upper );
- m4x3_mulv( m, (v3f){0.0f,-height*0.5f+radius,0.0f}, lower[3] );
- m4x3_mulv( m, (v3f){0.0f, height*0.5f-radius,0.0f}, upper[3] );
-
- for( int i=0; i<16; i++ )
- {
- float t = ((float)(i+1) * (1.0f/16.0f)) * VG_PIf * 2.0f,
- s = sinf(t),
- c = cosf(t);
-
- v3f p = { s*radius, 0.0f, c*radius };
-
- v3f p0, p1;
- m4x3_mulv( lower, p, p0 );
- m4x3_mulv( lower, last, p1 );
- vg_line( p0, p1, colour );
-
- m4x3_mulv( upper, p, p0 );
- m4x3_mulv( upper, last, p1 );
- vg_line( p0, p1, colour );
-
- v3_copy( p, last );
- }
-
- for( int i=0; i<4; i++ )
- {
- float t = ((float)(i) * (1.0f/4.0f)) * VG_PIf * 2.0f,
- s = sinf(t),
- c = cosf(t);
-
- v3f p = { s*radius, 0.0f, c*radius };
-
- v3f p0, p1;
- m4x3_mulv( lower, p, p0 );
- m4x3_mulv( upper, p, p1 );
- vg_line( p0, p1, colour );
-
- m4x3_mulv( lower, (v3f){0.0f,-radius,0.0f}, p0 );
- m4x3_mulv( upper, (v3f){0.0f, radius,0.0f}, p1 );
- vg_line( p0, p1, colour );
- }
-}
-