- Moved CSensaura3d_GetFullHRTFFilterPair to 3911
- Moved DirectSoundUseFullHRTF to 3911
- Moved DirectSoundGetSampleTime to 3911
- Moved XAudioCalculatePitch to 3911
- Moved CDirectSound_CreateSoundBuffer to 3911
- Moved CDirectSound_CreateSoundStream to 3911
- Moved IDirectSound_CreateSoundStream to 3911
- Add CSensaura3d_GetLiteHRTFFilterPair to 3911
- Add DirectSoundUseLightHRTF to 3911
- Add TODO of known DSound OOVPA issue list for record purposes.
- Remove duplicates _SetPitch from 5233 database.
Tested with
- [3925] Cel Damage
- [3936] Simpsons - Road Rage
- Moved IDirectSound_Release to 3911
- Moved IDirectSound_AddRef to 3911
- Moved IDirectSound_SetOrientation to 3911
- Moved CDirectSound_SetOrientation to 3911
- Moved IDirectSound_CommitDeferredSettings to 3911
- Moved CDirectSound_CommitDeferredSettings to 3911
- Moved CMcpxAPU_Commit3dSettings to 3911
Verified with
- [3925] Cel Damage
- [3936] Simpsons - Road Rage
- [4039] Nightcaster
- [4134] Jet Set Radio Future
- [4242] Gauntlet Dark Legacy
- [4361] Burnout
- [4637] Turok Evolution
- [5233] Futurama
- [5558] Dino Crisis 3
- [5849] Lego Star Wars
Source:
Lord of the Rings - The Two Towers (4928)
Super Bubble Pop (5120)
Cyber Attack Team (5233)
Syberia (5344)
Top Spin (5558)
Steel Battalion - Line of Contact (5788)
Souece: Forza Motorsport (5849)
- Renamed CDirectSoundStream_SetMixBinVolumes(2)
- Renamed IDirectSoundBuffer_SetMixBinVolumes(2)
- Moved CMcpxVoiceClient_SetVolume to 3911
- Moved CDirectSoundVoice_SetMixBinVolumes to 3911
- Moved CDirectSoundStream_SetMixBinVolumes_12 to 3911
- Moved IDirectSoundBuffer_SetMixBinVolumes_12 to 3911
- Add XREF entry to CDirectSoundVoice_SetVolume 3911
- Add XREF entry to CDirectSoundVoice_SetMixBinVolumes 4039
Verified with
- [3925] Cel Damage
- [3936] Simpsons - Road Rage
- [4039] 007: Agent Under Fire
- [4134] Jet Set Radio Future
- [4637] Turok Evolution
- [5558] Dino Crisis 3
- [5849] Lego Star Wars
- Moved DirectSoundEnterCriticalSection to 3911
- Moved IDirectSoundBuffer_AddRef to 3911
- Moved IDirectSoundBuffer_Release to 3911
- Moved IDirectSoundBuffer_Unlock to 3911
- Moved IDirectSound_SetCooperativeLevel to 3911
- Moved IDirectSoundBuffer_StopEx to 3911
- Moved IDirectSoundBuffer_PlayEx to 3911
- Add CMcpxBuffer_Stop to 3911
- Add CDirectSoundBuffer_StopEx to 3911
- Add CDirectSoundBuffer_PlayEx to 3911
Generic OOVPA functions are...
- DirectSoundEnterCriticalSection
- IDirectSoundBuffer_AddRef
- IDirectSoundBuffer_Release
- IDirectSoundBuffer_Unlock
- IDirectSound_SetCooperativeLevel
Tested with
- [3925] Cel Damage
- [3936] Simpsons - Road Rage
- [4039] 007: Agent Under Fire
- [4134] Jet Set Radio Future
- [5558] Dino Crisis 3
- Moved CMcpxBuffer_GetCurrentPosition to 3911
- Moved CDirectSoundBuffer_GetCurrentPosition to 3911
- Moved IDirectSoundBuffer_GetCurrentPosition to 3911
- Moved CMcpxBuffer_GetStatus to 3911
- Moved CDirectSoundBuffer_GetStatus to 3911
- Moved IDirectSoundBuffer_GetStatus to 3911
- Add CMcpxBuffer_GetCurrentPosition to 4039
- Add CDirectSoundBuffer_GetCurrentPosition to 4039
- Add CMcpxBuffer_GetStatus to 4039
- Add CDirectSoundBuffer_GetStatus to 4039
- Removed duplicate CMcpxBuffer_GetCurrentPosition OOVPAs.
IDirectSoundBuffer_GetCurrentPosition and IDirectSoundBuffer_GetStatus
are generic functions.
Tested with
- [3925] Cel Damage
- [3936] Simpsons - Road Rage
- [4039] 007: Agent Under Fire
- [4134] Jet Set Radio Future
- [5558] Dino Crisis 3
Now it has multi sections array support up to 2 (can be change by
increasing LINKSCANSEC_MAX
In fact, we can finally support other than DSound in v2 database now!
🎉
- CMcpxBuffer_Stop has not changed as of 4242 and newer.
- CDirectSoundBuffer_Stop has not changed as of 4134 and newer.
- IDirectSoundBuffer_Stop has not changed since 3911.
- IDirectSoundBuffer_SetLoopRegion does match against 3911.
TODO: Need to re-locate versions in correct version file.
Verified with:
- [3936] Simpsons - Road Rage
- [4039] 007: Agent Under Fire
- [4134] Jet Set Radio Future
- [4242] Smashing Drive & Gauntlet Dark Legacy
- [4361] Burnout
- [4627] Turok Evolution
- [5233] Futurama
- [5558] Dino Crisis 3
- [5849] Lego Star Wars
The following functions support 4134 to 5849
- CDirectSoundVoice_SetPitch
- CDirectSoundBuffer_SetPitch
- IDirectSoundBuffer_SetPitch
- CDirectSoundStream_SetPitch
The workaround will fix DSound 4039 build. It will also fix any other
missing DSound library section as well. In HLEDB v2, the scan method
will check for DSOUND header section. If it doesn't have it, then DSound
DB will be skip.
Verified Unlock does exist in xbe file and is in used. Even though xbox
doesn't handle it directly. It will allow fix audio issue especially
Turok Evolution's XADPCM backgrounc music. Yet is not fully fixed...
On side note... Xbox dashboard is calling Unlock function?!?!
Since EmuLocateFunction force to add into XRefDataBase array table. It
will only add inside EmuRegisterSymbol function while
EmuLocateFunctionV2 does not.
This method changed numberous false positive to a lot fewer false
positive depending on OOVPA using rollback sig or not.
Add 2 New OOVPA 3936 for...
- CDirectSoundBuffer_SetConeOrientation
- CDirectSoundBuffer_SetConeOutsideVolume
Moved 2 4134 to 3936 compatible
- IDirectSoundBuffer_SetConeOrientation
- IDirectSoundBuffer_SetConeOutsideVolume
Tested against Blood Wake and Simpson - Road Rage titles. However Halo
Combat Evolved do return false positive for 2 new signatures (I think).