more refactors..
[carveJwlIkooP6JGAAIwe30JlM.git] / player_ragdoll.c
index a1733b765289449b93e62b2aa1b78ffcea20ec81..eab788ea7fa7308145d852f3c5ae80883dae87bb 100644 (file)
@@ -269,7 +269,7 @@ VG_STATIC void player_debug_ragdoll(void)
  */
 VG_STATIC void player_ragdoll_iter( struct player_ragdoll *rd )
 {
-   world_instance *world = get_active_world();
+   world_instance *world = world_current_instance();
 
    int run_sim = 0;
    ragdoll_frame ++;
@@ -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 );
+         }
       }
    }
 
@@ -446,7 +447,7 @@ VG_STATIC void player_ragdoll_iter( struct player_ragdoll *rd )
    if( stress ){
       temp_filter = 20;
       audio_lock();
-      audio_oneshot_3d( &audio_hits[rand()%5], stress->co, 20.0f, 1.0f );
+      audio_oneshot_3d( &audio_hits[vg_randu32()%5], stress->co, 20.0f, 1.0f );
       audio_unlock();
    }
 }