walk reset now corrects rotations
authorhgn <hgodden00@gmail.com>
Sat, 25 Nov 2023 09:08:02 +0000 (09:08 +0000)
committerhgn <hgodden00@gmail.com>
Sat, 25 Nov 2023 09:08:02 +0000 (09:08 +0000)
player_walk.c

index 12d070609153c20fbad6d62abc34055457c85ef3..717411c88476cdd7bd56f74f060e186c22cd005a 100644 (file)
@@ -1037,6 +1037,13 @@ static void player__walk_reset(void){
    w->state.activity = k_walk_activity_air;
    w->state.outro_type = k_walk_outro_none;
    w->state.outro_start_time = 0.0;
+
+   v3f fwd = { 0.0f, 0.0f, 1.0f };
+   q_mulv( localplayer.rb.q, fwd, fwd );
+   q_axis_angle( localplayer.rb.q, (v3f){0.0f,1.0f,0.0f}, 
+                 atan2f(fwd[0], fwd[2]) );
+
+   rb_update_transform( &localplayer.rb );
 }
 
 static void player__walk_animator_exchange( bitpack_ctx *ctx, void *data ){