X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_audio.c;h=b33d62fd30ee80d678e214583424037d3e6bb57c;hb=72f789aa46c913ec2ffa10907b2124f8d09670e5;hp=ee1aeca7d7587db621b3d829fca5543bcbbb2ce9;hpb=74174e4357c402824302174845f89b975dba5981;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_audio.c b/world_audio.c index ee1aeca..b33d62f 100644 --- a/world_audio.c +++ b/world_audio.c @@ -1,19 +1,16 @@ -#ifndef WORLD_AUDIO_C -#define WORLD_AUDIO_C - #include "audio.h" #include "world_audio.h" /* finds any active playing in world and fades them out, we can only do this * while unloading */ -VG_STATIC void world_fadeout_audio( world_instance *world ) +void world_fadeout_audio( world_instance *world ) { if( world->status != k_world_status_unloading ){ vg_fatal_error( "World status must be set to 'unloading', to fadeout" " audio.\n" ); } - u8 world_id = (world - world_static.worlds) + 1; + u8 world_id = (world - world_static.instances) + 1; audio_lock(); for( u32 i=0; iinfo.surface_prop == k_surface_prop_grass){ @@ -62,13 +59,13 @@ enum audio_sprite_type world_audio_sample_sprite_random(v3f origin, v3f output) float dist = fabsf(output[1] - origin[1]); - if( world->water.enabled && dist<=40.0f ) + if( world->water.enabled && dist<=40.0f && !(world->info.flags&0x2) ) return k_audio_sprite_type_water; else return k_audio_sprite_type_none; } -VG_STATIC void world_audio_sample_distances( v3f co, int *index, float *value ) +void world_audio_sample_distances( v3f co, int *index, float *value ) { float inr3 = 0.57735027, inr2 = 0.70710678118; @@ -104,7 +101,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 +113,7 @@ VG_STATIC void world_audio_sample_distances( v3f co, int *index, float *value ) distances[si] = dist; - if( vg_audio.debug_ui && vg_lines.draw ){ + if( vg_audio.debug_ui && vg_lines.enabled ){ for( int i=0; i<14; i++ ){ if( distances[i] != 200.0f ){ u32 colours[] = { VG__RED, VG__BLUE, VG__GREEN, @@ -127,7 +125,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 ); } } } @@ -139,5 +137,3 @@ VG_STATIC void world_audio_sample_distances( v3f co, int *index, float *value ) if( si >= 14 ) si = 0; } - -#endif /* WORLD_AUDIO_C */