better lateflip filtering
authorhgn <hgodden00@gmail.com>
Mon, 11 Dec 2023 10:09:27 +0000 (10:09 +0000)
committerhgn <hgodden00@gmail.com>
Mon, 11 Dec 2023 10:09:27 +0000 (10:09 +0000)
player_skate.c
player_skate.h

index 7f4bc37f741991deb72b99cca2495cfe0a2731af..72055cf7ffb6a54dd9eb435ca0c581cd2c2236c3 100644 (file)
@@ -957,6 +957,7 @@ static void skate_apply_jump_model(void){
          q_mulv( qtilt, jumpdir, jumpdir );
       }
       state->surface_cooldown = 10;
+      state->trick_input_collect = 0.0f;
       
       float force = k_jump_force*state->jump_charge;
       v3_muladds( localplayer.rb.v, jumpdir, force, localplayer.rb.v );
@@ -1100,9 +1101,14 @@ static void player__skate_pre_update(void){
       return;
    }
 
+   enum trick_type trick = player_skate_trick_input();
+   if( trick )
+      state->trick_input_collect += vg.time_frame_delta;
+   else 
+      state->trick_input_collect = 0.0f;
+
    if( state->activity <= k_skate_activity_air_to_grind ){
-      enum trick_type trick = k_trick_type_none;
-      if( (trick = player_skate_trick_input()) ){
+      if( trick && (state->trick_input_collect < 0.1f) ){
          if( state->trick_time == 0.0f ){
             audio_lock();
             audio_oneshot_3d( &audio_flips[vg_randu32(&vg.rand)%4], 
index 735ffa613e8b59651fa73f4b6c544aae07c2c020..8af645bdf1ac102d6deb07419742fa285e3da972 100644 (file)
@@ -44,11 +44,13 @@ struct player_skate{
          k_trick_type_none,
          k_trick_type_kickflip,
          k_trick_type_shuvit,
-         k_trick_type_treflip
+         k_trick_type_treflip,
       }
       trick_type;
       float gravity_bias;
 
+      f32 trick_input_collect;
+
       v3f up_dir;
       v3f head_position;