Thanks to jarupxx verifying discovered function with no changes
requirement.
Added a note for CDirectSoundVoice_SetPitch in 4039 needs OOVPA to be
strengthen by implement CMcpxVoiceClient_SetPitch OOVPA.
RalliSport Challenge's [4039] XDemos.xbe now progress a bit further.
However, it is only playing a distortion audio loop for now and still
has no video output.
- Add CMcpxVoiceClient_SetFilter to 4134 (Generic replacement)
- Add CFullHRTFSource_GetCenterVolume to 4134
- Add CDirectSoundStream_SetMixBins to 4134
- Add CMcpxStream_Pause to 4134
- Add CDirectSoundStream_Pause to 4134
- Add CMcpxVoiceClient_SetEG to 4134
- Moved DirectSoundUseFullHRTF from 5558 to 4134
- Removed several same detection OOVPA signatures. The function has been
confirmed not changed over time.
Start working on 4134 database for DSound.
Verified with
- [3925] Cel Damage
- [3936] Silent Hill 2
- [4039] Nightcaster
- [4134] Blood Omen 2
- [4242] Gauntlet Dark Legacy
- [4361] Burnout
- [4637] Turok Evolution
- [5233] Futurama
- [5558] Dino Crisis 3
- [5849] Lego Star Wars
- Add XAudioCreatePcmFormat to 3911
- Add XAudioCreateAdpcmFormat to 3911
- Add IsValidFormat to 3911
- Add CMcpxStream_Flush to 3936
- Add CSensaura3d_GetLiteHRTFFilterPair to 3936
- Improve CMcpxStream_Flush in 3911
All DSound functions are fully detected for 3925 and 3936 titles.
Verified with
- [3925] Cel Damage
- [3936] Silent Hill 2
- Add CMcpxStream_Flush to 4039
- Add CDirectSoundStream_AddRef to 4039
- Add CDirectSoundStream_Flush to 4039
- Add CDirectSoundStream_Process to 4039
- Add CDirectSoundStream_GetInfo to 4039
- Add CMcpxStream_Discontinuity to 4039
- Add CDirectSoundStream_Discontinuity to 4039
- Add CDirectSoundStream_SetMixBins to 4039
- Add IDirectSoundStream_SetMixBins to 4039
- Removed IDirectSoundBuffer_SetNotificationPositions from 4627
ALL DSound OOVPAs for NightCaster are completed, however title does not
have full library compiled necessary to finish 4039 database.
Verified with
- [3925] Cel Damage
- [3936] Silent Hill 2
- [4039] Nightcaster
- [4134] Blood Omen 2
- [4242] Gauntlet Dark Legacy
- [4361] Burnout
- [4637] Turok Evolution
- [5233] Futurama
- [5558] Dino Crisis 3
- [5849] Lego Star Wars
- Add XAudioCalculatePitch to 4039
- Add DS_CRefCount_AddRef to 4039
- Add DS_CRefCount_Release to 4039
- Add CDirectSoundStream_Release to 4039 and 4134
- Add CDirectSound_EnableHeadphones to 4039
- Add DirectSoundUseFullHRTF to 4039
- Add CFullHRTFSource_GetCenterVolume to 4039
- Add CHRTFSource_SetFullHRTF5Channel to 4039
Added some notes as well.
Verified with
- [3925] Cel Damage
- [3936] Silent Hill 2
- [4039] Nightcaster
- [4134] Blood Omen 2
- Add IDirectSoundStream_SetVolume to 4039
- Add CMcpxStream_Pause to 3911 and 4039
- Add CDirectSoundStream_Pause to 4039
- Add CDirectSoundStream_SetPitch to 4039
- Add IDirectSoundStream_SetEG to 4039
- Add IDirectSoundStream_SetLFO to 4039
- Add IDirectSoundStream_SetFilter to 4039
- Add IDirectSoundStream_SetMixBinVolumes_8 to 4039
- Add IDirectSoundStream_SetPitch to 4039
- Fixed CDirectSoundStream_SetMixBinVolumes_8 in 4039
Verified with
- [3925] Cel Damage
- [3936] Silent Hill 2
- [4039] Nightcaster
* XGSwizzleRect, XGUnswizzleRect functions are still UNPATCHED. Those OOVPA are available.
Verified this PR with
Azurik - Rise of Perathia (3911)
NightCaster (4039)
Double-S.T.E.A.L (4134)
Legends of Wrestling (4242)
Nakashima Tetsunari no Othello Seminar (4361)
Sega Soccer Slam (4432)
NHL HITZ 2003 (4531)
Innocent Tears (4627)
Terminator - Dawn of Fate (4721)
Whacked! (4831)
Unreal Championship (4928)
N.U.D.E.@ (5120)
Rayman 3 - Hoodlum Havoc (5233)
Starsky & Hutch (5344)
Dinosaur Hunting (5455)
NHL HITZ Pro 2004 (5558)
LMA Manager 2004 (5659)
All-Star Baseball 2005 (5788)
Nickelodeon Tak 2 - The Staff of Dreams (5849)
- Add CDirectSoundStream_SetMode to 4039
- Add CDirectSoundStream_SetMaxDistance to 4039
- Add CDirectSoundStream_SetMinDistance to 4039
- Add CDirectSoundStream_SetConeOutsideVolume to 4039
- Add CDirectSoundStream_SetConeOrientation to 4039
- Add CDirectSoundStream_SetConeAngles to 4039
- Add CDirectSoundStream_SetAllParameters to 4039
- Add CDirectSoundStream_SetOutputBuffer to 4039
- Add CDirectSoundStream_SetFrequency to 4039
- Add IDirectSoundStream_SetFrequency to 4039
- Fixed CDirectSoundVoice_SetMaxDistance in 4039
- Fixed CDirectSoundVoice_SetMinDistance in 4039
- Improve CDirectSoundStream_SetMode in 4134
- Improve CDirectSoundStream_SetMaxDistance in 4134
- Improve CDirectSoundStream_SetMinDistance in 4134
Verified with
- [4039] Nightcaster
P.S. It's starting to visualize better with RE data. More to come
later...
- Add CDirectSoundVoice_SetAllParameters to 4039
- Add CDirectSoundBuffer_SetAllParameters to 4039
- Add CDirectSoundVoice_SetConeAngles to 4039
- Add CDirectSoundBuffer_SetConeAngles to 4039
- Add CDirectSoundStream_SetVelocity to 4039
- Add CDirectSoundStream_SetPosition to 4039
- Moved IDirectSoundBuffer_SetAllParameters to 4039 (Generic)
- Moved IDirectSoundBuffer_SetConeAngles to 4039 (Generic)
- Improve CDirectSoundBuffer_SetConeAngles in 4134
- Improve CDirectSoundStream_SetVelocity to 4134
- Improve CDirectSoundStream_SetPosition to 4134
Verified with
- [4039] Nightcaster
- Add IDirectSoundStream_SetOutputBuffer to 3911
- Add IDirectSoundStream_SetMixBinVolumes to 3911
- Add IDirectSoundStream_SetAllParameters to 3911
- Add IDirectSoundStream_SetConeAngles to 3911
- Add IDirectSoundStream_SetConeOutsideVolume to 3911
- Add IDirectSoundStream_SetConeOutsideVolume to 3911
Verified with
- [3925] Cel Damage
- [3936] Silent Hill 2
Currently, XDK 4627 (maybe earlier) titles and later does not work
properly. Last known XDK title to work is [4034] Simpsons Road Rage.
Enabling legacy mode indeed do work properly. In fact, there are some
graphic improvement!
- Add CDirectSoundStream_GetStatus to 4039
- Add CDirectSound_DownloadEffectsImage to 4039
- Add CDirectSound_DownloadEffectsImage to 4134
- Fixed CDirectSoundStream_GetStatus 3911 for not detect beginning of
function to avoid 4039 and later revision.
Now most titles should not regress 80% of the time and at least get
video output to verify.
Tested 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
- Add CDirectSoundStream_SetVolume to 3911
- Add IDirectSoundStream_SetVolume to 3911
- Add CDirectSoundStream_SetPitch to 3911
- Add IDirectSoundStream_SetPitch to 3911
- Add CDirectSoundStream_SetLFO to 3911
- Add IDirectSoundStream_SetLFO to 3911
- Add CDirectSoundStream_SetEG to 3911
- Add IDirectSoundStream_SetEG to 3911
- Add CDirectSoundStream_SetFilter to 3911
- Add IDirectSoundStream_SetFilter to 3911
- Add CDirectSoundStream_SetHeadroom to 3911
- Add IDirectSoundStream_SetHeadroom to 3911
- Add CDirectSoundStream_SetFrequency to 3911
- Add IDirectSoundStream_SetFrequency to 3911
- Add CDirectSoundStream_SetMixBins to 3911
- Add IDirectSoundStream_SetMixBins to 3911
TODO: Need to include patch, func export, support for
IDirectSoundStream_Setxxxxx from above.
Tested with
[2925] Cel Damage
[3937] Halo: Combat Evolved
[4039] Nightcaster
- Add XREF to ignore patch not available to
CDirectSoundBuffer_SetConeOutsideVolume for now. (might not need it.)
- Add API DirectSoundUseLightHRTF
- Add API IDirectSound_GetSpeakerConfig
- Add API IDirectSound_CommitDeferredSettings
- Add API IDirectSound_CommitEffectData
- Switch SetConeOrientation, SetMaxDistance, SetMinDistance,
SetPosition, and SetVelocity to be remain unpatch(? Not tested) from
IDirectSoundStream APIs.
Performing this should help other developers to understand the
difference of being patch and not patched. This has been discussed and
decided to proceed with this rename.
NOTE: It is taken effective for v2 database, v1 database is left intact.
- Moved CMcpxAPU_Set3dVelocity to 3911
- Moved CDirectSound_SetVelocity to 3911
- Moved IDirectSound_SetVelocity to 3911
- Moved CMcpxAPU_Set3dRolloffFactor to 3911
- Moved CDirectSound_SetRolloffFactor to 3911
- Moved IDirectSound_SetRolloffFactor to 3911
- Moved CMcpxAPU_SetI3DL2Listener to 3911
- Moved CDirectSound_SetI3DL2Listener to 3911
- Moved IDirectSound_SetI3DL2Listener to 3911
- Add CDirectSound_GetTime to 3911 (100% generic for all revisions)
- Add IDirectSound_GetTime to 3911 (100% generic for all revisions)
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
- Moved CMcpxAPU_SetMixBinHeadroom to 3911
- Moved CDirectSound_SetMixBinHeadroom to 3911
- Moved IDirectSound_SetMixBinHeadroom to 3911
- Moved CMcpxAPU_Set3dParameters to 3911
- Moved CDirectSound_SetAllParameters to 3911
- Moved IDirectSound_SetAllParameters to 3911
- Moved CMcpxAPU_Set3dDistanceFactor to 3911
- Moved CDirectSound_SetDistanceFactor to 3911
- Moved IDirectSound_SetDistanceFactor to 3911
- Moved CDirectSound_SetDopplerFactor to 3911
- Moved IDirectSound_SetDopplerFactor to 3911
- Add CMcpxAPU_Set3dDopplerFactor to 3911
- Removed CMcpxAPU_Set3dDopplerFactor from 3936
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
Moved XInputGetState 4928 to 4831
Moved XInputSetState 4928 to 4831
Moved XID_fCloseDevice 4928 to 4831
Moved timeSetEvent 5849 to 5455
Verified with
NBA Live 2002 (3925)
Tony Hawk's Pro Skater 3 (4039)
ESPN Winter X Games Snowboarding 2002 (4134)
NFL Blitz 2002 (4242)
NCAA Football 03 (4432)
Crazy taxi 3 (4531)
Innocent Tears (4627)
Quantum Redshift (4721)
Galaxy Angel (4831)
Medal Of Honor Frontline (4928)
Shikigami no Shiro Evolution (5028)
MVP Baseball 2003 (5120)
C.A.T. Cyber Attack Team (5233)
Starsky And Hutch (5344)
NCAA Football 2004 (5455)
XIII (5558)
Dance Dance Revolution Ultramix (5659)
Steel Battalion - Line of Contact (5788)
Kingdom Under Fire (5849)
- Moved CDirectSound_GetCaps to 3911
- Moved IDirectSound_GetCaps to 3911
- Moved CDirectSound_EnableHeadphones to 3911
- Add CDirectSound_GetSpeakerConfig to 3911
- Add IDirectSound_GetSpeakerConfig to 3911
- Add CDirectSound_DownloadEffectsImage to 3911
- Add IDirectSound_DownloadEffectsImage to 3911
- Add IDirectSound_GetEffectData to 3911
- Add CDirectSound_GetEffectData to 3911
- Add IDirectSound_SetEffectData to 3911
- Add CDirectSound_SetEffectData to 3911
- Add IDirectSound_CommitEffectData to 3911
- Add CDirectSound_CommitEffectData to 3911
- Add IDirectSound_EnableHeadphones to 3911
- Add IDirectSound_CommitEffectData to 3911
- Add CDirectSound_CommitEffectData to 3911
- Add IDirectSound_EnableHeadphones to 3911
NOTE: Titles will regress for not finding required XREF OOVPA from
generic OOVPAs.
Plus discovered false detections, this commit fix the issue.
Which require to perform research again for 4039 revision titles and
later.
Verified with
- [3925] Cel Damage
- [3936] Simpsons - Road Rage
- [4039] revision and later need to perform rework for add/fix XREF
OOVPAs.
- Moved CMcpxVoiceClient_Set3dVelocity to 3911
- Moved CDirectSoundVoice_SetVelocity to 3911
- Moved CDirectSoundStream_SetVelocity to 3911
- Moved IDirectSoundStream_SetVelocity to 3911
- Moved CDirectSoundBuffer_SetVelocity to 3911
- Moved IDirectSoundBuffer_SetVelocity to 3911
- Moved CMcpxVoiceClient_SetI3DL2Source to 3911
- Moved CDirectSoundVoice_SetI3DL2Source to 3911
- Moved IDirectSoundBuffer_SetI3DL2Source to 3911
- Moved CDirectSoundStream_SetI3DL2Source to 3911
- Moved CDirectSoundBuffer_Lock to 3911
- Moved IDirectSoundBuffer_Lock to 3911
- Moved CMcpxBuffer_SetCurrentPosition to 3911
- Moved CDirectSoundBuffer_SetCurrentPosition to 3911
- Moved IDirectSoundBuffer_SetCurrentPosition to 3911
- Renamed CDirectSoundBuffer_SetPlayRegion to
CDirectSoundBuffer_SetLoopRegion
- Renamed IDirectSoundBuffer_SetPlayRegion to
IDirectSoundBuffer_SetLoopRegion
- Moved CDirectSoundBuffer_SetLoopRegion to 3911
- Moved IDirectSoundBuffer_SetLoopRegion to 3911
- Add CDirectSoundStream_SetOutputBuffer to 3911
- Add DS_CRefCount_AddRef to 3911
- Add CDirectSoundStream_AddRef to 3911
- Add DS_CRefCount_Release to 3911
- Add CDirectSoundStream_Release 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
- Moved CMcpxVoiceClient_Set3dMode to 3911
- Moved CDirectSoundVoice_SetMode to 3911
- Moved IDirectSoundBuffer_SetMode to 3911
- Moved CDirectSoundStream_SetMode to 3911
- Moved CMcpxVoiceClient_Set3dPosition to 3911
- Moved CDirectSoundVoice_SetPosition to 3911
- Moved CDirectSoundStream_SetPosition to 3911
- Moved IDirectSoundStream_SetPosition to 3911
- Moved CDirectSoundBuffer_SetPosition to 3911
- Moved IDirectSoundBuffer_SetPosition to 3911
- Moved CMcpxAPU_Set3dPosition to 3911
- Moved CDirectSound_SetPosition to 3911
- Moved IDirectSound_SetPosition to 3911
- Add IDirectSoundBuffer_SetMode to 4039
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
- Moved CMcpxVoiceClient_Commit3dSettings to 3911
- Moved CMcpxVoiceClient_Set3dParameters to 3911
- Moved CDirectSoundVoice_SetAllParameters to 3911
- Moved CDirectSoundStream_SetAllParameters to 3911
- Moved CDirectSoundVoice_SetConeAngles to 3911
- Moved CDirectSoundStream_SetConeAngles to 3911
- Moved IDirectSoundBuffer_SetConeAngles to 3911
- Moved CMcpxVoiceClient_Set3dConeOrientation to 3911
- Moved CDirectSoundVoice_SetConeOrientation to 3911
- Moved CDirectSoundStream_SetConeOrientation to 3911
- Moved IDirectSoundStream_SetConeOrientation to 3911
- Moved CDirectSoundBuffer_SetConeOrientation to 3911
- Moved IDirectSoundBuffer_SetConeOrientation to 3911
- Add IDirectSoundBuffer_SetAllParameters 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
- Moved CMcpxVoiceClient_Set3dMaxDistance to 3911
- Moved CDirectSoundVoice_SetMaxDistance to 3911
- Moved CDirectSoundBuffer_SetMaxDistance to 3911
- Moved IDirectSoundBuffer_SetMaxDistance to 3911
- Moved CDirectSoundStream_SetMaxDistance to 3911
- Moved IDirectSoundStream_SetMaxDistance to 3911
- Moved CMcpxVoiceClient_Set3dMinDistance to 3911
- Moved CDirectSoundVoice_SetMinDistance to 3911
- Moved CDirectSoundBuffer_SetMinDistance to 3911
- Moved IDirectSoundBuffer_SetMinDistance to 3911
- Moved CDirectSoundStream_SetMinDistance to 3911
- Moved IDirectSoundStream_SetMinDistance to 3911
- Moved CMcpxVoiceClient_Set3dConeOutsideVolume to 3911
- Moved CDirectSoundVoice_SetConeOutsideVolume to 3911
- Moved CDirectSoundStream_SetConeOutsideVolume to 3911
- Moved IDirectSoundBuffer_SetConeOutsideVolume 3936 to 4039
- Add CDirectSoundBuffer_SetConeOutsideVolume to 3911
- Add IDirectSoundBuffer_SetConeOutsideVolume to 3911
- Removed CDirectSoundBuffer_SetConeOutsideVolume from 3936
IDirectSoundBuffer_SetConeOutsideVolume 3936 is still using
CDirectSoundVoice_SetConeOutsideVolume caller
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
The following changes allow us to manage patch or disable within
individual library with group of OOVPA registrations in each function.
If we want to enable specific function, we can do so in two ways.
- HLE cache file, by remove "_DISABLED" at the end of the function's
name, or
- xxxxx.OOVPA.inl file, by change DISABLED declaration to PATCH.
It is only effective for PATCH and DISABLE declaration purposes. XREF
does not need any change.
Source:
Azurik - Rise of Perathia (3911)
NightCaster (4039)
Double-S.T.E.A.L (4134)
Flight Academy (4361)
Turok - Evolution (4627)
Quantum Redshift (4721)
NBA 2K3 (4831)
Shikigami no Shiro Evolution (5028)
Cyber Attack Team (5233)
Starsky And Hutch 5344 (5344)
XIII (5558)
Steel Battalion - Line of Contact (5788)
Forza Motorsport (5849)
- Moved CDirectSoundVoice_SetHeadroom to 3911
- Moved IDirectSoundBuffer_SetHeadroom to 3911
- Moved CDirectSoundStream_Pause to 3911
- Add CDirectSoundStream_GetStatus to 3911
- Add CDirectSoundStream_Process to 3911
- Add CMcpxStream_Flush to 3911
- Add CDirectSoundStream_Flush to 3911
- Add CMcpxStream_Discontinuity to 3911
- Add CDirectSoundStream_Discontinuity to 3911
- Add CDirectSoundStream_GetInfo to 3911
Verified with
- [3925] Cel Damage
- [3936] Simpsons - Road Rage
- Moved DirectSoundCreate to 3911
- Moved CMcpxAPU_ServiceDeferredCommandsLow to 3911
- Moved CDirectSound_DoWork to 3911
- Moved DirectSoundDoWork to 3911
- Moved CDirectSoundVoice_SetFrequency to 3911
- Moved IDirectSoundBuffer_SetFrequency to 3911
- Moved CMcpxVoiceClient_SetMixBins to 3911
- Moved CDirectSoundVoice_SetMixBins to 3911
- Moved IDirectSoundBuffer_SetMixBins to 3911
- Moved CDirectSoundBuffer_SetBufferData to 3911
- Moved IDirectSoundBuffer_SetBufferData to 3911
- Moved CDirectSoundBuffer_SetNotificationPositions to 3911
- Moved IDirectSoundBuffer_SetNotificationPositions to 3911
- Add DirectSoundCreateBuffer to 3911
- Add DirectSoundCreateStream to 3911
- Add CDirectSoundVoice_SetOutputBuffer to 3911
- Add CDirectSoundBuffer_SetOutputBuffer to 3911
Verified with
- [3925] Cel Damage
- [3936] Simpsons - Road Rage (DSound portion)
Instead of looking for XREF flag. Check if there is a saved index then
perform the task. This make the job so much easier to do for knowing
which is XREF, PATCH, or both.
- Moved CMcpxVoiceClient_SetPitch to 3911
- Moved CDirectSoundVoice_SetPitch to 3911
- Moved IDirectSoundBuffer_SetPitch to 3911
- Add IDirectSoundBuffer_SetPitch to 4039, XREF is different
- Make XREF more readable for _SetPitch functions.
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
- 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).
Dashupdate.xbe progresses further with this, now it attempts to format the partitions but fails due to incomplete implementation of DeviceIoControlFile (Specifically IOCTL_DISK_GET_DRIVE_GEOMETRY and IOCTL_DISK_GET_PARTITION_INFO
- Rather than copying the entire Xbe into the xbox address space, we
copy only the header
- Only sections marked as 'preload' are loaded at boot time
- All other sections are loaded/unloaded on demand by the running title,
via calls to XLoadSecton/XUnloadSection
- Fixed an off-by-one error in Xbe section name parsing
- Fix an incorrect assumption that section names are always
8 characters null-terminated. They are 9 characters, null padded
This is implemented a little differently than before, it no longer disabled an entire function but instead initialises the X_DEVICETYPE_GAMEPAD structure a little differently.