X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.c;fp=player_skate.c;h=d9b9c04626e50907e60884495a70484203f6c19a;hb=f5ab30ae4b7250cc128086261b60f0af47f88f11;hp=c6ed4e073b6b65233ba98e10879c46ccef72e400;hpb=ffc664de040aab29a4fbeec14307996d8e9ae2ec;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.c b/player_skate.c index c6ed4e0..d9b9c04 100644 --- a/player_skate.c +++ b/player_skate.c @@ -11,6 +11,7 @@ #include "ent_tornado.c" #include "vg/vg_rigidbody.h" #include "scene_rigidbody.h" +#include "player_glide.h" static void player__skate_bind(void){ struct skeleton *sk = &localplayer.skeleton; @@ -1222,16 +1223,9 @@ static void player__skate_pre_update(void){ if( button_down(k_srbind_use) && (v3_length2(state->trick_vel) < 0.01f) ){ localplayer.subsystem = k_player_subsystem_walk; - if( state->activity <= k_skate_activity_air_to_grind ){ - localplayer.subsystem = k_player_subsystem_glide; - - v3_copy( localplayer.rb.co, player_glide.rb.co ); - v4_copy( localplayer.rb.q, player_glide.rb.q ); - v3_copy( localplayer.rb.v, player_glide.rb.v ); - v3_copy( localplayer.rb.w, player_glide.rb.w ); - rb_update_matrices( &player_glide.rb ); - - player__begin_holdout( (v3f){0,0,0} ); + if( (state->activity <= k_skate_activity_air_to_grind) && + localplayer.have_glider ){ + player_glide_transition(); return; } @@ -3509,6 +3503,7 @@ static void player__skate_effects( void *_animator, m4x3f *final_mtx, static void player__skate_post_animate(void){ struct player_skate_state *state = &player_skate.state; localplayer.cam_velocity_influence = 1.0f; + localplayer.cam_dist = 1.8f; v3f head = { 0.0f, 1.8f, 0.0f }; m4x3_mulv( localplayer.final_mtx[ localplayer.id_head ],