X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.c;h=1d690a088bab23a0e39225d9561d8ed167f597ae;hb=refs%2Fheads%2Frigidbody;hp=3a5c10069b1c233ea3f490f6d1ee1639b69ae3e3;hpb=4c3dc94e7221f599491e7d111cac3d51d8d83b17;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.c b/player.c index 3a5c100..1d690a0 100644 --- a/player.c +++ b/player.c @@ -112,6 +112,10 @@ static void player__pre_update(void){ static void player__update(void){ if( player_subsystems[ localplayer.subsystem ]->update ) player_subsystems[ localplayer.subsystem ]->update(); + + if( localplayer.glider_orphan && + (skaterift.activity != k_skaterift_replay) ) + glider_physics( (v2f){0,0} ); } static void player__post_update(void) @@ -245,7 +249,7 @@ static void player__im_gui(void) static void player__setpos( v3f pos ){ v3_copy( pos, localplayer.rb.co ); v3_zero( localplayer.rb.v ); - rb_update_transform( &localplayer.rb ); + rb_update_matrices( &localplayer.rb ); } static void player__clean_refs(void){ @@ -277,13 +281,15 @@ static void player__reset(void){ if( (l < 0.9f) || (l > 1.1f) ) q_identity( localplayer.rb.q ); - rb_update_transform( &localplayer.rb ); + rb_update_matrices( &localplayer.rb ); localplayer.subsystem = k_player_subsystem_walk; player__walk_reset(); localplayer.immobile = 0; localplayer.gate_waiting = NULL; + localplayer.have_glider = 0; + localplayer.glider_orphan = 0; v3_copy( localplayer.rb.co, localplayer.cam_control.tpv_lpf ); player__clean_refs();