Fixed
* CDirectSound_EnableHeadphones (5233) need evaluate, most likely false detection.
Re-make CMcpxStream_Flush 4134 to 5344, plus 5455 to 5849
Re-make CMcpxStream_GetStatus 4721 to 5233
Re-make CMcpxBuffer_Play2 4039 to 4361
Re-make CMcpxBuffer_Stop2 4134 to 4361
Re-make CDirectSound_EnableHeadphones 4134
Add CDirectSoundVoice_SetDistanceFactor 4361
Add CDirectSoundVoice_SetDopplerFactor 4361
Add CDirectSound_GetSpeakerConfig 4242
Add CFullHrtfSource_GetHrtfFilterPair 4242
Add CHrtfSource_SetAlgorithm_FullHrtf 4242
Add CHrtfSource_SetAlgorithm_LightHrtf 4242
Add CLightHrtfSource_GetHrtfFilterPair 4242
Add CMcpxBuffer_GetStatus 4721
Add CMcpxBuffer_Pause 4721
Add CMcpxStream_GetStatus 4721
Add DirectSoundUseFullHRTF 4242
Add DirectSoundUseLightHRTF 4242
Moved CDirectSoundBuffer_Pause 4928 to 4721
Moved CDirectSoundBuffer_PauseEx 5344 to 4721
Moved CDirectSoundStream_Flush 5344 to 5028
Moved CDirectSoundStream_FlushEx 5233 to 5028
Moved CDirectSoundStream_PauseEx 5344 to 4721
Moved CMcpxBuffer_Pause_Ex 5344 to 4721
Moved CMcpxStream_Discontinuity 5344 to 4531
Moved CMcpxStream_Pause_Ex 5344 to 4721
Moved IDirectSoundBuffer_Pause 4928 to 4721
Moved IDirectSoundBuffer_PauseEx 5344 to 4721
Moved WaveFormat_CreateXboxAdpcmFormat 5344 to 4242
Moved XAudioCreateAdpcmFormat 5344 to 4242
Verified with
- [4039] Azurik PAL
- [4134] Double-S.T.E.A.L
- [4242] NFL Blitz 2002
- [4361] Flight Academy
- [4432] RedCard 2003
- [4531] NHL Hitz 2003
- [4627] MLB SlugFest 2003
- [4721] Terminator - Dawn of Fate
- [4831] Whacked!
- [4928] Drihoo
- [5028] Shikigami no Shiro Evolution
- [5120] N.U.D.E.@
- [5233] Evil Dead
- [5344] Gladius OXM Demo Disc 20
- [5455] Dinosaur Hunting
- [5558] NHL HITZ Pro 2004
- [5659] Midway Arcade Treasures - Paperboy
- [5788] Digimon Battle Chronicle
- [5849] Nickelodeon Tak 2
Add CMcpxVoiceClient_SetLFO 4134
Moved CDirectSoundBuffer_SetLFO 4242 to 4134
Moved CDirectSoundBuffer_SetEG 4242 to 4134
Verified with
- [4134] Double-S.T.E.A.L
- [4242] NFL Blitz 2002
Add CDirectSoundBuffer_PlayEx 4039
Add CDirectSoundBuffer_SetNotificationPositions 4039
Add CDirectSoundStream_SetFormat 4039
Add CDirectSoundStream_SetHeadroom 4039
Add CDirectSoundStream_SetI3DL2Source 4039
Add CDirectSoundVoice_SetFormat 4039
Add CDirectSound_EnableHeadphones 4134
Add CMcpxBuffer_Play 4039
Add CMcpxBuffer_Play2 4134
Add CMcpxBuffer_Stop2 4134
Add IDirectSoundStream_SetHeadroom 4039
Add IDirectSound_CommitEffectData 4039
Add IDirectSound_GetEffectData 4039
Add IDirectSound_SetEffectData 4039
Add IsValidFormat 4039
Moved CDirectSoundBuffer_PlayEx 4361 to 4134
Moved CDirectSoundBuffer_SetNotificationPositions 4134 to 4242
Moved CDirectSoundBuffer_StopEx 4361 to 4134
Moved CDirectSoundStream_FlushEx 4627 to 4134
Moved CDirectSoundStream_SetFormat 4242 to 4134
Moved CDirectSoundVoice_SetFormat 4242 to 4039
Moved CDirectSoundVoice_SetFormat 4242 to 4134
Moved CMcpxBuffer_Play2 4134 to 4039
Moved DirectSoundCreateBuffer 4242 to 4134
Moved IDirectSoundBuffer_SetFormat 4242 to 4039
Moved IDirectSoundStream_FlushEx 4627 to 4134
Moved IDirectSoundStream_SetFormat 4242 to 4039
Moved XAudioDownloadEffectsImage 4361 to 4134
Verified with
- [4039] Azurik PAL
- [4134] Double-S.T.E.A.L
- [4242] NFL Blitz 2002
- Add CDirectSoundVoice_Set3DVoiceData to 5558
- Add CDirectSoundBuffer_Set3DVoiceData to 5558
- Add CDirectSoundStream_Set3DVoiceData to 5558
- Add CDirectSound_MapBufferData to 5344
- Add CDirectSound_UnmapBufferData to 5344
- Add IDirectSoundBuffer_Set3DVoiceData to 5558
- Add IDirectSound_MapBufferData to 5344
- Add IDirectSound_UnmapBufferData to 5344
- Add XAudioSetEffectData to 5344
- Add XFileCreateMediaObject to 5344
- Add XWaveFileCreateMediaObjectEx to 5344
NOTE: Need to make some stub functions.
Verified with
- [5558] Dino Crisis 3
- Add CMcpxVoiceClient_GetVoiceProperties to 5344
- Add CDirectSoundVoice_GetVoiceProperties to 5344
- Add CDirectSoundBuffer_GetVoiceProperties to 5344
- Add IDirectSoundBuffer_GetVoiceProperties to 5344
- Add CDirectSoundStream_GetVoiceProperties to 5344
- Add IDirectSoundStream_GetVoiceProperties to 5344
- Add CDirectSound3DCalculator_GetVoiceData to 5344
- Add IDirectSound3DCalculator_GetVoiceData to 5344
- Add CDirectSound3DCalculator_GetPanData to 5344
- Add IDirectSound3DCalculator_GetPanData to 5344
- Add CDirectSound3DCalculator_GetMixBinVolumes to 5344
- Add IDirectSound3DCalculator_GetMixBinVolumes to 5344
- Add CDirectSound3DCalculator_Calculate3D to 5344
- Add IDirectSound3DCalculator_Calculate3D to 5344
NOTE: There are no stubs for these APIs.
- Rename DS_CMemoryManager_PoolAlloc to DSound_CMemoryManager_PoolAlloc
- Rename DS_CRefCount_AddRef to DSound_CRefCount_AddRef
- Rename DS_CRefCount_Release to DSound_CRefCount_Release
- Moved CMcpxBuffer_SetBufferData 5788 to 5455
- Moved CDirectSoundVoiceSettings_SetMixBins 5558 to 5455
- Moved CDirectSoundVoice_CommitDeferredSettings 5558 to 5455
- DSound_CMemoryManager_PoolAlloc 5788 to 5455
NOTE: Ghost Recon: Island Thunder has issue with intro. If press start
buttton on controller, it will go into main menu.
Verified with
- [5455] Ghost Recon: Island Thunder
Since so many duplicate OOVPAs has been found.
I am starting with clean up process for DSound database.
Thus narrowing down necessary of workload to research and add missing
OOVPAs.
- Add CDirectSound_CommitDeferredSettings to 5455 (Generic OOVPA)
- Add CDirectSoundBuffer_SetBufferData to 4134 (Generic OOVPA, replaced
original 4134)
- Add DS_CRefCount_Release to 5455
- Add CMcpxStream_Flush to 5344 and 5455
- Add CDirectSound_EnableHeadphones to 5455
- Add CMcpxStream_Discontinuity to 5344 and 5455
- Add CMcpxStream_GetStatus to 5344
- Add CMcpxVoiceClient_SetMixBins to 5344
- Add CDirectSound_SetI3DL2Listener to 5455
- Add CHRTFSource_SetFullHRTF5Channel to 5344
- Add CHRTFSource_SetLightHRTF5Channel to 5344
- Add CHRTFSource_SetFullHRTF4Channel to 5344
- Add CHRTFSource_SetLightHRTF4Channel to 5344
- Add DirectSoundUseLightHRTF to 5344
- Add DirectSoundUseFullHRTF4Channel to 5344
- Add DirectSoundUseLightHRTF4Channel to 5344
- Update CDirectSound_SetMixBinHeadroom 4134 (To enable support generic
OOVPA for 5455 and newer)
- Replaced CDirectSoundVoice_SetI3DL2Source in 5344
- Replaced CDirectSound_SetRolloffFactor in 5344
- Replaced CDirectSound_SetDopplerFactor in 5344
- Replaced CDirectSound_SetDistanceFactor in 5344
- Replaced CDirectSound_SetI3DL2Listener in 5344
- Fixed CDirectSound_SetPosition 5344
- Fixd CDirectSound_SetVelocity 5344
- Removed CDirectSoundBuffer_SetBufferData from 5558 (false detection)
and 5788 (alias)
- Removed IDirectSoundBuffer_SetBufferData from 5558 and 5788
(duplicates)
- Removed CDirectSound_CommitDeferredSettings from 5558 and 5788
WaveBank Sample now play audio 100% correctly, can't verify with other
sound samples.
Audio do sound a bit better to me.
Some titles are still not getting all audio outputting for some reason.
However, it did brought more audible outputs now.
NOTE: It is still "somewhat" leaving experimental stage.
This is hard as hell I ever had done. The upside is SetPitch function no
longer fail for DM3DScript sample! 🎆
Tested 12KHz, 48KHz, and 96KHz conversion to ratio and back to hertz
with success.
Any titles using SetPitch in the past should now play audio nicely.