handplants
[carveJwlIkooP6JGAAIwe30JlM.git] / player_walk.c
index 12d070609153c20fbad6d62abc34055457c85ef3..ec863b62abe3e17fa7c0121a12e9cb13f47cc022 100644 (file)
@@ -435,7 +435,7 @@ static void player__walk_update(void){
          player__networked_sfx( k_player_subsystem_walk, 32, 
                                 k_player_walk_soundeffect_splash,
                                 localplayer.rb.co, 1.0f );
-         player__dead_transition();
+         player__dead_transition( k_player_die_type_generic );
          return;
       }
    }
@@ -711,20 +711,21 @@ static void player__walk_post_update(void){
       audio_lock();
       if( w->surface == k_surface_prop_concrete ){
          audio_oneshot_3d( 
-               &audio_footsteps[vg_randu32()%vg_list_size(audio_footsteps)], 
+               &audio_footsteps[vg_randu32(&vg.rand) % 
+                                 vg_list_size(audio_footsteps)], 
                localplayer.rb.co, 40.0f, 1.0f 
          );
       }
       else if( w->surface == k_surface_prop_grass ){
          audio_oneshot_3d( 
-           &audio_footsteps_grass[ vg_randu32()%
+           &audio_footsteps_grass[ vg_randu32(&vg.rand) %
                                     vg_list_size(audio_footsteps_grass)],
             localplayer.rb.co, 40.0f, 1.0f 
          );
       }
       else if( w->surface == k_surface_prop_wood ){
          audio_oneshot_3d( 
-           &audio_footsteps_wood[ vg_randu32()%
+           &audio_footsteps_wood[ vg_randu32(&vg.rand) %
                                     vg_list_size(audio_footsteps_wood)],
             localplayer.rb.co, 40.0f, 1.0f 
          );
@@ -1037,6 +1038,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 ){