From e08b1a08603546b0de6a7e9bad572766a2d034c5 Mon Sep 17 00:00:00 2001 From: hgn Date: Mon, 11 Dec 2023 10:09:27 +0000 Subject: [PATCH] better lateflip filtering --- player_skate.c | 10 ++++++++-- player_skate.h | 4 +++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/player_skate.c b/player_skate.c index 7f4bc37..72055cf 100644 --- a/player_skate.c +++ b/player_skate.c @@ -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], diff --git a/player_skate.h b/player_skate.h index 735ffa6..8af645b 100644 --- a/player_skate.h +++ b/player_skate.h @@ -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; -- 2.25.1