+
+ {
+ v3f ra, rb, rx;
+ v3_copy( main_camera.pos, ra );
+ v3_muladds( ra, main_camera.transform[2], -10.0f, rb );
+
+ float t;
+ if( spherecast_world( ra, rb, 0.4f, &t, rx ) != -1 )
+ {
+ m4x3f mtx;
+ m3x3_identity( mtx );
+ v3_lerp( ra, rb, t, mtx[3] );
+
+ debug_sphere( mtx, 0.4f, 0xff00ff00 );
+
+ v3f x1;
+ v3_muladds( mtx[3], rx, 0.4f, x1 );
+ vg_line( mtx[3], x1, 0xffffffff );
+ }
+ }
+
+
+ vg_line_pt3( phys->cog, 0.10f, 0xffffffff );
+ vg_line_pt3( phys->cog, 0.09f, 0xffffffff );
+ vg_line_pt3( phys->cog, 0.08f, 0xffffffff );
+ vg_line( phys->cog, phys->rb.co, 0xff000000 );
+
+ v3f spring_end;
+ v3f throw_end, p0, p1;
+ v3_muladds( phys->rb.co, phys->rb.up, 1.0f, spring_end );
+ v3_muladds( spring_end, phys->throw_v, 1.0f, throw_end );
+ v3_muladds( spring_end, player.debug_mmcollect_lat, 1.0f, p0 );
+ v3_muladds( spring_end, player.debug_mmcollect_vert, 1.0f, p1 );
+ vg_line( spring_end, throw_end, VG__RED );
+ vg_line( spring_end, p0, VG__GREEN );
+ vg_line( spring_end, p1, VG__BLUE );
+