add player guide
[carveJwlIkooP6JGAAIwe30JlM.git] / player_ragdoll.c
index aabf6f9fe37eefdb1e545b61b93f8777a1654a53..0952eb69777075c2a52e5697602086d3f9696edb 100644 (file)
@@ -46,7 +46,7 @@ VG_STATIC void player_init_ragdoll_bone_collider( struct skeleton_bone *bone,
       
       v3_zero( v1 );
       v1[ major_axis ] = 1.0f;
-      rb_tangent_basis( v1, tx, ty );
+      v3_tangent_basis( v1, tx, ty );
       
       float r = (fabsf(v3_dot(tx,v0)) + fabsf(v3_dot(ty,v0))) * 0.25f,
             l = fabsf(v0[ major_axis ]);
@@ -346,14 +346,15 @@ VG_STATIC void player_ragdoll_iter( struct player_ragdoll *rd )
       }
    }
 
-   for( int j=0; j<rd->part_count; j++ ){
-      struct ragdoll_part *pj = &rd->parts[j];
+   if( world->water.enabled ){
+      for( int j=0; j<rd->part_count; j++ ){
+         struct ragdoll_part *pj = &rd->parts[j];
 
-      if( run_sim ){
-         v4f plane = {0.0f,1.0f,0.0f,0.0f};
-         rb_effect_simple_bouyency( &pj->obj.rb, plane, 
-                                     k_ragdoll_floatyiness,
-                                     k_ragdoll_floatydrag );
+         if( run_sim ){
+            rb_effect_simple_bouyency( &pj->obj.rb, world->water.plane,
+                                        k_ragdoll_floatyiness,
+                                        k_ragdoll_floatydrag );
+         }
       }
    }