X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_glide.c;fp=player_glide.c;h=32768f6d1c866e5deecb94adb053e5a5275be603;hb=a109f126d8adab622e38fbcc2d4281e75255246a;hp=96d3eac02f7cccb8b2fe33c519ef57d5fb573605;hpb=f965094faed4f1828c7a6a6b3ca856bd5f1e5248;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_glide.c b/player_glide.c index 96d3eac..32768f6 100644 --- a/player_glide.c +++ b/player_glide.c @@ -44,12 +44,12 @@ static void player_glide_pre_update(void){ 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, @@ -132,12 +132,12 @@ static bool glider_physics( v2f steer ){ 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 ); /* @@ -194,7 +194,8 @@ static bool glider_physics( v2f steer ){ } } - 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 ); @@ -307,8 +308,8 @@ static int ccmd_player_glider_spawn( int argc, const char *argv[] ){ 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 ); @@ -322,9 +323,7 @@ static void player_glide_bind(void){ 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 );