static void massless_accel( rigidbody *rb, v3f delta, v3f impulse ){
/* linear */
- v3_muladds( rb->v, impulse, k_rb_delta, rb->v );
+ v3_muladds( rb->v, impulse, vg.time_fixed_delta, rb->v );
/* Angular velocity */
v3f wa;
v3_cross( delta, impulse, wa );
- v3_muladds( rb->w, wa, k_rb_delta, rb->w );
+ v3_muladds( rb->w, wa, vg.time_fixed_delta, rb->w );
}
static void calculate_lift( v3f vl, f32 aoa_bias,
v3_add( F, Fdrag, F );
m3x3_mulv( rb->to_world, F, F );
- v3_muladds( rb->v, F, k_rb_delta, rb->v );
+ v3_muladds( rb->v, F, vg.time_fixed_delta, rb->v );
v3_add( Fw, FslipW, Fw );
v3_add( Fw, FliftW, Fw );
m3x3_mulv( rb->to_world, Fw, Fw );
- v3_muladds( rb->w, Fw, k_rb_delta, rb->w );
+ v3_muladds( rb->w, Fw, vg.time_fixed_delta, rb->w );
/*
}
}
- rb_presolve_contacts( rb_contact_buffer, rb_contact_count );
+ rb_presolve_contacts( rb_contact_buffer,
+ vg.time_fixed_delta, rb_contact_count );
for( u32 i=0; i<10; i ++ )
rb_solve_contacts( rb_contact_buffer, rb_contact_count );
return 0;
}
-static void player_glide_bind(void){
-
+static void player_glide_bind(void)
+{
u32 mask = VG_VAR_CHEAT|VG_VAR_PERSISTENT;
VG_VAR_F32( k_glide_steer, flags=mask );
VG_VAR_F32( k_glide_cl, flags=mask );
vg_console_reg_cmd( "spawn_glider", ccmd_player_glider_spawn, NULL );
- f32 mass = 0.0f,
- k_density = 8.0f,
- k_inertia_scale = 1.0f;
+ f32 mass = 0.0f,k_density = 8.0f;
m3x3f I;
m3x3_zero( I );