add logs for fall off reason
[carveJwlIkooP6JGAAIwe30JlM.git] / player.c
index 7a099f0fc16847c58d5862f22d0a97f0b5d2880f..1d690a088bab23a0e39225d9561d8ed167f597ae 100644 (file)
--- 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();
@@ -377,6 +383,7 @@ static void player__networked_sfx( u8 system, u8 priority, u8 id,
 #include "player_skate.c"
 #include "player_dead.c"
 #include "player_drive.c"
+#include "player_glide.c"
 #include "player_basic_info.c"
 
 #include "player_render.c"