X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_audio.h;h=8e5c0d2c83e7affb77a30396380bde604e7e05f1;hb=0124cd309a7db70cdd74b5661f2df8b862ca2f2f;hp=727080cea20c36bc5cf93d996d2aa94436cdeeaa;hpb=23a1be081ab9e378cba49a23b8ed4d4082b580c1;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_audio.h b/player_audio.h index 727080c..8e5c0d2 100644 --- a/player_audio.h +++ b/player_audio.h @@ -53,25 +53,26 @@ VG_STATIC void player_audio(void) v3f ears = { 1.0f,0.0f,0.0f }; v3f delta; - float *cam = camera_pos, + float *cam = main_camera.transform[3], *pos = phys->rb.co; audio_player_set_position( &audio_player0, phys->rb.co ); audio_player_set_position( &audio_player1, phys->rb.co ); audio_player_set_position( &audio_player2, phys->rb.co ); + audio_player_set_position( &audio_player4, phys->rb.co ); audio_player_set_position( &audio_player_gate, world.render_gate_pos ); audio_player_set_vol( &audio_player_gate, 5.0f ); - v3_sub( phys->rb.co, camera_pos, delta ); + v3_sub( phys->rb.co, main_camera.transform[3], delta ); v3_normalize( delta ); - m3x3_mulv( camera_mtx, ears, ears ); + m3x3_mulv( main_camera.transform, ears, ears ); /* TODO, Make function */ v3_copy( ears, vg_audio.listener_ears ); - v3_copy( camera_pos, vg_audio.listener_pos ); + v3_copy( main_camera.transform[3], vg_audio.listener_pos ); /* Tunnel / occlusion */ - audio_sample_occlusion( camera_pos ); + audio_sample_occlusion( main_camera.transform[3] ); int sprite_avail = -1; for( int i=0; i 0.5f ) @@ -159,15 +161,19 @@ VG_STATIC void player_audio(void) float speed = vg_minf(v3_length( phys->rb.v )*0.1f,1.0f), attn = speed, slide = vg_clampf( fabsf(phys->slip), 0.0f, 1.0f ), - vol0 = (1.0f-air)*attn*(1.0f-slide), - vol1 = air *attn, - vol2 = (1.0f-air)*attn*slide; + grind = phys->grind, + vol0 = (1.0f-air)*attn*(1.0f-slide)*(1.0f-grind), + vol1 = air *attn*(1.0f-grind), + vol2 = (1.0f-air)*attn*slide*(1.0f-grind), + vol4 = grind*2.0f; audio_player_set_vol( &audio_player0, vol0*vg.time_rate ); audio_player_set_vol( &audio_player1, vol1*vg.time_rate ); audio_player_set_vol( &audio_player2, vol2*vg.time_rate ); + audio_player_set_vol( &audio_player4, vol4*vg.time_rate ); float reverb_amt = vol0 * audio_occlusion_current * 0.5f; + audio_player_set_pan( &audio_player3, 0.0f ); audio_player_set_vol( &audio_player3, reverb_amt*vg.time_rate ); }