unlock rendering
[carveJwlIkooP6JGAAIwe30JlM.git] / world_audio.c
index facbcc46c5373db8ba6c14e2bb288a4f561d23c7..8a167e402b4889c753a2489be87eeead1a58c172 100644 (file)
@@ -13,7 +13,7 @@ VG_STATIC void world_fadeout_audio( world_instance *world )
                       " audio.\n" );
    }
 
-   u8 world_id = (world - world_static.worlds) + 1;
+   u8 world_id = (world - world_static.instances) + 1;
 
    audio_lock();
    for( u32 i=0; i<AUDIO_CHANNELS; i++ ){
@@ -44,7 +44,8 @@ enum audio_sprite_type world_audio_sample_sprite_random(v3f origin, v3f output)
 
    world_instance *world = world_current_instance();
    
-   if( ray_world( world, pos, (v3f){0.0f,-1.0f,0.0f}, &contact ) ){
+   if( ray_world( world, pos, (v3f){0.0f,-1.0f,0.0f}, &contact, 
+            k_material_flag_ghosts ) ){
       struct world_surface *mat = ray_hit_surface( world, &contact );
 
       if( mat->info.surface_prop == k_surface_prop_grass){
@@ -104,7 +105,8 @@ VG_STATIC void world_audio_sample_distances( v3f co, int *index, float *value )
    float dist = 200.0f;
 
    for( int i=0; i<10; i++ ){
-      if( ray_world( world_current_instance(), rc, rd, &ray ) ){
+      if( ray_world( world_current_instance(), rc, rd, &ray, 
+                     k_material_flag_ghosts ) ){
          dist = (float)i*5.0f + ray.dist;
          break;
       }
@@ -115,7 +117,7 @@ VG_STATIC void world_audio_sample_distances( v3f co, int *index, float *value )
 
    distances[si] = dist;
 
-   if( vg_lines.draw ){
+   if( vg_audio.debug_ui && vg_lines.draw ){
       for( int i=0; i<14; i++ ){
          if( distances[i] != 200.0f ){
             u32 colours[] = { VG__RED, VG__BLUE, VG__GREEN,
@@ -127,7 +129,7 @@ VG_STATIC void world_audio_sample_distances( v3f co, int *index, float *value )
             v3f p1;
             v3_muladds( ro, sample_directions[i], distances[i], p1 );
             vg_line( ro, p1, colour );
-            vg_line_pt3( p1, 0.1f, colour );
+            vg_line_point( p1, 0.1f, colour );
          }
       }
    }