trail rendering basics
[carveJwlIkooP6JGAAIwe30JlM.git] / player_walk.c
index 6b0def6c9133831e174c3dbea412bb7067cc25ab..560d61a69a32fec28bf85268523f01e8825e1323 100644 (file)
@@ -1,5 +1,7 @@
-#ifndef PLAYER_WALK_C
-#define PLAYER_WALK_C
+#pragma once
+
+#include "vg/vg_rigidbody_collision.h"
+#include "scene_rigidbody.h"
 
 #include "player.h"
 #include "input.h"
@@ -450,6 +452,7 @@ static void player_walk_update_generic(void){
          player__networked_sfx( k_player_subsystem_walk, 32, 
                                 k_player_walk_soundeffect_splash,
                                 localplayer.rb.co, 1.0f );
+         vg_info( "player fell of due to walking into walker\n" );
          player__dead_transition( k_player_die_type_generic );
          return;
       }
@@ -489,7 +492,7 @@ static void player_walk_update_generic(void){
    w->surface = k_surface_prop_concrete;
 
    for( int i=0; i<len; i++ ){
-      struct contact *ct = &manifold[i];
+      rb_ct *ct = &manifold[i];
       rb_debug_contact( ct );
 
       if( player_walk_normal_standable( ct->n ) ){
@@ -562,7 +565,7 @@ static void player_walk_update_generic(void){
     */
    for( int j=0; j<5; j++ ){
       for( int i=0; i<len; i++ ){
-         struct contact *ct = &manifold[i];
+         rb_ct *ct = &manifold[i];
          
          /*normal */
          float vn = -v3_dot( localplayer.rb.v, ct->n );
@@ -892,6 +895,13 @@ static void player__walk_animate(void){
    }
    else
       localplayer.cam_velocity_influence = 0.0f;
+
+   if( w->state.activity == k_walk_activity_sit ){
+      localplayer.cam_dist = 3.8f;
+   }
+   else {
+      localplayer.cam_dist = 1.8f;
+   }
 }
 
 static void player_walk_pose_sit( struct player_walk_animator *animator,
@@ -1181,4 +1191,3 @@ static void player__walk_sfx_oneshot( u8 id, v3f pos, f32 volume ){
 
    audio_unlock();
 }
-#endif /* PLAYER_DEVICE_WALK_H */