Commit 24fa177c authored by Anton Baskanov's avatar Anton Baskanov Committed by Alexandre Julliard

dsound: Enable Doppler shift.

parent 3c349125
...@@ -167,6 +167,7 @@ void DSOUND_Calc3DBuffer(IDirectSoundBufferImpl *dsb) ...@@ -167,6 +167,7 @@ void DSOUND_Calc3DBuffer(IDirectSoundBufferImpl *dsb)
int i, num_main_speakers; int i, num_main_speakers;
float a, ingain; float a, ingain;
/* doppler shift related stuff */ /* doppler shift related stuff */
D3DVALUE flFreq, flBufferVel, flListenerVel;
TRACE("(%p)\n",dsb); TRACE("(%p)\n",dsb);
...@@ -290,10 +291,6 @@ void DSOUND_Calc3DBuffer(IDirectSoundBufferImpl *dsb) ...@@ -290,10 +291,6 @@ void DSOUND_Calc3DBuffer(IDirectSoundBufferImpl *dsb)
dsb->freq = dsb->ds3db_freq; dsb->freq = dsb->ds3db_freq;
/* FIXME: Doppler Effect disabled since i have no idea which frequency to change and how to do it */
if(0)
{
D3DVALUE flFreq, flBufferVel, flListenerVel;
/* doppler shift*/ /* doppler shift*/
if (!VectorMagnitude(&dsb->ds3db_ds3db.vVelocity) && !VectorMagnitude(&dsb->device->ds3dl.vVelocity)) if (!VectorMagnitude(&dsb->ds3db_ds3db.vVelocity) && !VectorMagnitude(&dsb->device->ds3dl.vVelocity))
{ {
...@@ -317,7 +314,6 @@ if(0) ...@@ -317,7 +314,6 @@ if(0)
flBufferVel, flListenerVel, dsb->ds3db_freq, flFreq); flBufferVel, flListenerVel, dsb->ds3db_freq, flFreq);
dsb->freq = flFreq; dsb->freq = flFreq;
} }
}
DSOUND_RecalcFormat(dsb); DSOUND_RecalcFormat(dsb);
......
...@@ -1436,9 +1436,9 @@ static void test_doppler(GUID *guid, BOOL play) ...@@ -1436,9 +1436,9 @@ static void test_doppler(GUID *guid, BOOL play)
check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, 0, 22050, 22050); check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, 0, 22050, 22050);
check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, -90, 1, -90, 22050, 22050); check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, -90, 1, -90, 22050, 22050);
/* Wine TODO: Doppler shift is missing. */ /* Wine TODO: The frequency is slightly off. */
check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, -90, 22050, 29400); check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, -90, 22050, 29400);
/* Wine TODO: Doppler shift is missing. */ /* Wine TODO: The frequency is slightly off. */
check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, 90, 22050, 17640); check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, 90, 22050, 17640);
IDirectSound3DListener_Release(listener); IDirectSound3DListener_Release(listener);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment