- v3_muls( delta, 1.0f/dist, delta );
- float pan = v3_dot( vg_audio.listener_ears, delta );
- vol = powf( vol, 5.0f );
-
- framevol_l *= (vol * 0.5f) * (1.0f - pan);
- framevol_r *= (vol * 0.5f) * (1.0f + pan);
-
- v3_muls( delta, 1.0f/dist, delta );
+ if( dist <= 0.01f ){
+
+ }
+ else{
+ v3_muls( delta, 1.0f/dist, delta );
+ float pan = v3_dot( vg_audio.listener_ears, delta );
+ vol = powf( vol, 5.0f );
+
+ framevol_l *= (vol * 0.5f) * (1.0f - pan);
+ framevol_r *= (vol * 0.5f) * (1.0f + pan);
+
+ const float vs = 100.0f;
+ float doppler = (vs+v3_dot(delta,vg_audio.listener_velocity))/vs;
+ doppler = vg_clampf( doppler, 0.6f, 1.4f );
+
+ if( fabsf(doppler-1.0f) > 0.01f )
+ frame_samplerate *= doppler;
+ }