From 9e18bee93428fc2f07291f8fe8a9a64f7254d2bd Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 10 Aug 2017 15:37:08 -0500 Subject: [PATCH 001/146] DSound HLEDB Cleanup Cleaning cluster aliases, re-naming to correct function names, and found certain signature do match lower XDK version. --- src/CxbxKrnl/EmuDSound.cpp | 24 ----- src/CxbxKrnl/EmuDSound.h | 11 -- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 16 +-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 65 ++---------- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 48 ++------- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 100 +++---------------- 10 files changed, 55 insertions(+), 235 deletions(-) diff --git a/src/CxbxKrnl/EmuDSound.cpp b/src/CxbxKrnl/EmuDSound.cpp index c7ecf080a..0d3f1297f 100644 --- a/src/CxbxKrnl/EmuDSound.cpp +++ b/src/CxbxKrnl/EmuDSound.cpp @@ -894,30 +894,6 @@ HRESULT WINAPI XTL::EMUPATCH(DirectSoundCreateBuffer) return S_OK; } -// ****************************************************************** -// * patch: IDirectSound_CreateBuffer -// ****************************************************************** -HRESULT WINAPI XTL::EMUPATCH(IDirectSound_CreateBuffer) -( - LPDIRECTSOUND8 pThis, - X_DSBUFFERDESC* pdssd, - OUT X_CDirectSoundBuffer** ppBuffer, - PVOID pUnknown) -{ - FUNC_EXPORTS; - - LOG_FUNC_BEGIN - LOG_FUNC_ARG(pThis) - LOG_FUNC_ARG(pdssd) - LOG_FUNC_ARG_OUT(ppBuffer) - LOG_FUNC_ARG(pUnknown) - LOG_FUNC_END; - - EMUPATCH(DirectSoundCreateBuffer)(pdssd, ppBuffer); - - return DS_OK; -} - // ****************************************************************** // * patch: IDirectSound_CreateSoundBuffer // ****************************************************************** diff --git a/src/CxbxKrnl/EmuDSound.h b/src/CxbxKrnl/EmuDSound.h index 67a8a0280..eaa2e5c9a 100644 --- a/src/CxbxKrnl/EmuDSound.h +++ b/src/CxbxKrnl/EmuDSound.h @@ -673,17 +673,6 @@ HRESULT WINAPI EMUPATCH(DirectSoundCreateBuffer) X_CDirectSoundBuffer** ppBuffer ); -// ****************************************************************** -// * patch: IDirectSound_CreateBuffer -// ****************************************************************** -HRESULT WINAPI EMUPATCH(IDirectSound_CreateBuffer) -( - LPDIRECTSOUND8 pThis, - X_DSBUFFERDESC* pdssd, - X_CDirectSoundBuffer** ppBuffer, - PVOID pUnknown -); - // ****************************************************************** // * patch: IDirectSoundBuffer_SetBufferData // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 6eab27040..5296c6483 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -232,7 +232,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSound_CreateBuffer // ****************************************************************** -OOVPA_XREF(IDirectSound_CreateBuffer, 3936, 10, +OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3936, 10, XRefNoSaveIndex, XRefOne) @@ -3943,7 +3943,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSound_CreateSoundStream, 3936, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 3936, XREF), - REGISTER_OOVPA(IDirectSound_CreateBuffer, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPitchB, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitchA, 3936, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 548af463e..775499564 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -179,7 +179,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetAllParameters // ****************************************************************** -OOVPA_XREF(CDirectSound_SetAllParameters, 4928, 8, +OOVPA_XREF(CDirectSound_SetAllParameters, 4831, 8, XREF_DSSETALLPARAMETERSA, XRefZero) @@ -376,7 +376,7 @@ OOVPA_END; // ****************************************************************** // * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) // ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Play, 4928, 10, +OOVPA_XREF(CMcpxBuffer_Play, 4831, 10, XREF_CMcpxBuffer_Play, XRefZero) @@ -519,7 +519,7 @@ OOVPA_END; // ****************************************************************** // * CMcpxStream_Pause // ****************************************************************** -OOVPA_XREF(CMcpxStream_Pause, 4928, 11, +OOVPA_XREF(CMcpxStream_Pause, 4831, 11, XREF_DSSTREAMPAUSE, XRefZero) @@ -715,7 +715,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxBuffer::Pause // ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Pause, 4928, 7, +OOVPA_XREF(CMcpxBuffer_Pause, 4831, 7, XREF_CMcpxBuffer_Pause, XRefZero) @@ -1446,7 +1446,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4721, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4831, XREF), - REGISTER_OOVPA(CDirectSound_SetAllParameters, 4928, XREF), + REGISTER_OOVPA(CDirectSound_SetAllParameters, 4831, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), @@ -1476,7 +1476,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), - REGISTER_OOVPA(CMcpxStream_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), @@ -1495,7 +1495,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_GetSpeakerConfig, 4627, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF), - REGISTER_OOVPA(CMcpxBuffer_Play, 4928, XREF), + REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), @@ -1559,7 +1559,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), // Use that for now. Okay, it's your call pal... - REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 4847e64ed..b3348a0e4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -71,7 +71,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4721, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4831, XREF), - REGISTER_OOVPA(CDirectSound_SetAllParameters, 4928, XREF), + REGISTER_OOVPA(CDirectSound_SetAllParameters, 4831, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), @@ -102,7 +102,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), - REGISTER_OOVPA(CMcpxStream_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), @@ -121,7 +121,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_GetSpeakerConfig, 4627, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF), - REGISTER_OOVPA(CMcpxBuffer_Play, 4928, XREF), + REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), @@ -191,7 +191,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), // Use that for now. Okay, it's your call pal... REGISTER_OOVPA(CDirectSoundStream_SetAllParameters, 4134, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 50c8a7c63..288ef0f9c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -53,7 +53,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSound8_EnableHeadphones // ****************************************************************** -OOVPA_XREF(IDirectSound8_EnableHeadphones, 5233, 8, +OOVPA_XREF(IDirectSound_EnableHeadphones, 5233, 8, XRefNoSaveIndex, XRefOne) @@ -372,7 +372,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), - REGISTER_OOVPA(CMcpxStream_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), @@ -413,14 +413,14 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Play, 4928, XREF), + REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 5233, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5233, XREF), - REGISTER_OOVPA(IDirectSound8_EnableHeadphones, 5233, PATCH), + REGISTER_OOVPA(IDirectSound_EnableHeadphones, 5233, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 1f065ab5f..400a93a7e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -831,10 +831,10 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CMcpxAPU_SynchPlayback, 5233, XREF), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5344, XREF), REGISTER_OOVPA(IDirectSound_SynchPlayback, 5233, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), - REGISTER_OOVPA(CMcpxStream_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), @@ -870,7 +870,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Play, 4928, XREF), + REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 555df68ed..acf80c1f5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -157,7 +157,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSound_SetMixBinHeadroom // ****************************************************************** -OOVPA_XREF(IDirectSound8_SetMixBinHeadroom, 5558, 9, +OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 5558, 9, XRefNoSaveIndex, XRefOne) @@ -1273,26 +1273,6 @@ OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 5558, 8, { 0x5E, 0x00 }, OOVPA_END; -// ****************************************************************** -// * IDirectSound_SetMixBinHeadroom -// ****************************************************************** -OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 5558, 9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - // ****************************************************************** // * DirectSound::CDirectSound::EnableHeadphones // ****************************************************************** @@ -1314,7 +1294,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSound_EnableHeadphones // ****************************************************************** -OOVPA_XREF(IDirectSound8_EnableHeadphones, 5558, 8, +OOVPA_XREF(IDirectSound_EnableHeadphones, 5558, 8, XRefNoSaveIndex, XRefOne) @@ -1547,31 +1527,6 @@ OOVPA_XREF(CMcpxVoiceClient_SetFilter, 5558, 10, { 0x1F, 0x00 }, OOVPA_END; -// ****************************************************************** -// * DirectSound::CMcpxVoiceClient::SetEG -// ****************************************************************** -#define CMcpxVoiceClient_SetEG_5558 CMcpxVoiceClient_SetEG_4627 - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetEG -// ****************************************************************** -#define CDirectSoundVoice_SetEG_5558 CDirectSoundVoice_SetEG_4627 - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetEG -// ****************************************************************** -#define CDirectSoundStream_SetEG_5558 CDirectSoundStream_SetEG_4627 - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetEG -// ****************************************************************** -#define CDirectSoundBuffer_SetEG_5558 CDirectSoundBuffer_SetEG_4627 - -// ****************************************************************** -// * IDirectSoundBuffer_SetEG -// ****************************************************************** -#define IDirectSoundBuffer_SetEG_5558 IDirectSoundBuffer_SetEG_4627 - // ****************************************************************** // * DirectSound::CDirectSoundVoice::Use3DVoiceData // ****************************************************************** @@ -1651,6 +1606,8 @@ OOVPA_XREF(CDirectSoundStream_Use3DVoiceData, 5558, 9, { 0x4E, 0x08 }, OOVPA_END; +#define CDirectSoundVoice_SetRolloffCurve_5558 CDirectSoundVoice_SetRolloffCurve_5233 + // ****************************************************************** // * DSound_5558 // ****************************************************************** @@ -1659,7 +1616,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), - REGISTER_OOVPA(CMcpxStream_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), @@ -1780,7 +1737,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5558, XREF), - REGISTER_OOVPA(IDirectSound8_EnableHeadphones, 5558, PATCH), + REGISTER_OOVPA(IDirectSound_EnableHeadphones, 5558, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 5558, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 5558, PATCH), @@ -1790,11 +1747,11 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 5558, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetEG, 5558, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 5558, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 8cb2489c9..242560f9f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -543,37 +543,6 @@ OOVPA_NO_XREF(XFileCreateMediaObjectAsync, 5788, 8) { 0x5E, 0x0C }, OOVPA_END; -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetPitch -// ****************************************************************** -#define CDirectSoundStream_SetPitch_5788 CDirectSoundStream_SetPitch_4627 - -// ****************************************************************** -// * DirectSound::CDirectSound::SetAllParameters -// ****************************************************************** -#define CDirectSound_SetAllParameters_5788 CDirectSound_SetAllParameters_5558 - -// ****************************************************************** -// * DirectSound::CMcpxVoiceClient::SetFilter -// ****************************************************************** -#define CMcpxVoiceClient_SetFilter_5788 CMcpxVoiceClient_SetFilter_5558 - - -// ****************************************************************** -// DirectSound_CDirectSoundVoice::SetMode -// ****************************************************************** -#define CDirectSoundVoice_SetMode_5788 CDirectSoundVoice_SetMode_5344 - -// ****************************************************************** -// DirectSound_CDirectSoundBuffer::SetMode -// ****************************************************************** -#define CDirectSoundBuffer_SetMode_5788 CDirectSoundBuffer_SetMode_5233 - -// ****************************************************************** -// * IDirectSoundBuffer_SetMode -// ****************************************************************** -#define IDirectSoundBuffer_SetMode_5788 IDirectSoundBuffer_SetMode_5233 - // ****************************************************************** // * DSound_5788 // ****************************************************************** @@ -699,11 +668,10 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 5558, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 5788, PATCH), - REGISTER_OOVPA(DirectSoundCreateStream, 5788, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 5788, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5788, XREF), @@ -711,7 +679,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5558, XREF), - REGISTER_OOVPA(IDirectSound8_EnableHeadphones, 5558, PATCH), + REGISTER_OOVPA(IDirectSound_EnableHeadphones, 5558, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), @@ -722,7 +690,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5558, XREF), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetPitch, 5788, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), @@ -735,16 +703,16 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetAllParameters, 5788, XREF), + REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5788, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5788, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5788, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index a72645e2c..d582a0fd2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -87,76 +87,6 @@ OOVPA_XREF(CDirectSoundStream_SetPitch, 5849, 12, { 0x51, 0x00 }, OOVPA_END; -// ****************************************************************** -// * DirectSound::CDirectSound::SetAllParameters -// ****************************************************************** -#define CDirectSound_SetAllParameters_5849 CDirectSound_SetAllParameters_5558 - -// ****************************************************************** -// * DirectSound::CMcpxVoiceClient::SetFilter -// ****************************************************************** -#define CMcpxVoiceClient_SetFilter_5849 CMcpxVoiceClient_SetFilter_5558 - -// ****************************************************************** -// * DirectSound::CMcpxVoiceClient::SetEG -// ****************************************************************** -#define CMcpxVoiceClient_SetEG_5849 CMcpxVoiceClient_SetEG_4627 - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetEG -// ****************************************************************** -#define CDirectSoundVoice_SetEG_5849 CDirectSoundVoice_SetEG_4627 - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetEG -// ****************************************************************** -#define CDirectSoundStream_SetEG_5849 CDirectSoundStream_SetEG_4627 - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetEG -// ****************************************************************** -#define CDirectSoundBuffer_SetEG_5849 CDirectSoundBuffer_SetEG_4627 - -// ****************************************************************** -// * IDirectSoundBuffer_SetEG -// ****************************************************************** -#define IDirectSoundBuffer_SetEG_5849 IDirectSoundBuffer_SetEG_4627 - -// ****************************************************************** -// CDirectSoundVoice::SetMode -// ****************************************************************** -#define CDirectSoundVoice_SetMode_5849 CDirectSoundVoice_SetMode_5344 - -// ****************************************************************** -// CDirectSoundBuffer::SetMode -// ****************************************************************** -#define CDirectSoundBuffer_SetMode_5849 CDirectSoundBuffer_SetMode_5233 - -// ****************************************************************** -// * IDirectSoundBuffer_SetMode -// ****************************************************************** -#define IDirectSoundBuffer_SetMode_5849 IDirectSoundBuffer_SetMode_5233 - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetI3DL2Source -// ****************************************************************** -#define CDirectSoundVoice_SetI3DL2Source_5849 CDirectSoundVoice_SetI3DL2Source_5558 - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetI3DL2Source -// ****************************************************************** -#define CDirectSoundBuffer_SetI3DL2Source_5849 CDirectSoundBuffer_SetI3DL2Source_5558 - -// ****************************************************************** -// * IDirectSoundBuffer_SetI3DL2Source -// ****************************************************************** -#define IDirectSoundBuffer_SetI3DL2Source_5849 IDirectSoundBuffer_SetI3DL2Source_5558 - -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetAllParameters -// ****************************************************************** -#define CDirectSoundVoice_SetAllParameters_5849 CDirectSoundVoice_SetAllParameters_5558 - // ****************************************************************** // * DSound_5849 // ****************************************************************** @@ -253,7 +183,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 5558, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), @@ -279,25 +209,25 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_SetAllParameters, 5849, XREF), + REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5849, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 5849, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetEG, 5849, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 5849, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 5849, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 5849, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5849, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5849, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5849, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5849, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5849, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 5849, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5849, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5558, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5558, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 5558, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF), From f780398df3978b8bac242bd78a3193912de2842d Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 10 Aug 2017 16:09:09 -0500 Subject: [PATCH 002/146] PatrickvL's HLEDB v2 structure --- src/CxbxKrnl/HLEDataBase.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index eed79666d..ab90165f0 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -121,11 +121,22 @@ extern const struct HLEData } HLEDataBase[]; +extern const struct HLEDataV2 +{ + const char *Library; + + OOVPATable *OovpaTable; + uint32 OovpaTableSize; +} +HLEDataBaseV2[]; + // ****************************************************************** // * HLEDataBaseCount // ****************************************************************** extern const uint32 HLEDataBaseCount; +extern const uint32 HLEDataBaseCountV2; + // ****************************************************************** // * XRefDataBaseOffset // ****************************************************************** From 16a3a99baa15e1319904d5a92f49e5661d26a1bb Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 10 Aug 2017 16:13:43 -0500 Subject: [PATCH 003/146] First Draft of DSound DB Merge Not tested with all titles, some may will regress anyway. Plus removed extra "extern"s since they are not necessary in .cpp file. --- src/CxbxKrnl/HLEDataBase.cpp | 26 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 327 ++++++++++++++++++++++ src/CxbxKrnl/HLEIntercept.cpp | 146 +++++++++- 3 files changed, 469 insertions(+), 30 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 32ffcac7f..ebe611874 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -82,17 +82,7 @@ const char *Lib_XONLINES = "XONLINES"; #include "HLEDataBase/D3D8.1.0.5558.inl" #include "HLEDataBase/D3D8.1.0.5788.inl" #include "HLEDataBase/D3D8.1.0.5849.inl" -#include "HLEDataBase/DSound.1.0.3936.inl" -#include "HLEDataBase/DSound.1.0.4134.inl" -#include "HLEDataBase/DSound.1.0.4361.inl" -#include "HLEDataBase/DSound.1.0.4432.inl" -#include "HLEDataBase/DSound.1.0.4627.inl" -#include "HLEDataBase/DSound.1.0.5028.inl" -#include "HLEDataBase/DSound.1.0.5233.inl" -#include "HLEDataBase/DSound.1.0.5344.inl" -#include "HLEDataBase/DSound.1.0.5558.inl" -#include "HLEDataBase/DSound.1.0.5788.inl" -#include "HLEDataBase/DSound.1.0.5849.inl" +#include "HLEDataBase/DSound.OOVPA.inl" #include "HLEDataBase/XG.1.0.3911.inl" #include "HLEDataBase/XG.1.0.4034.inl" #include "HLEDataBase/XG.1.0.4361.inl" @@ -154,7 +144,7 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_D3D8, D3D8, 5558), HLE_ENTRY(Lib_D3D8, D3D8, 5788), HLE_ENTRY(Lib_D3D8, D3D8, 5849), - +#if ENABLE_LEGACY_DSOUND_DB HLE_ENTRY(Lib_DSOUND, DSound, 3936), HLE_ENTRY(Lib_DSOUND, DSound, 4134), HLE_ENTRY(Lib_DSOUND, DSound, 4361), @@ -166,7 +156,7 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_DSOUND, DSound, 5558), HLE_ENTRY(Lib_DSOUND, DSound, 5788), HLE_ENTRY(Lib_DSOUND, DSound, 5849), - +#endif HLE_ENTRY(Lib_XGRAPHC, XG, 3911), HLE_ENTRY(Lib_XGRAPHC, XG, 4034), HLE_ENTRY(Lib_XGRAPHC, XG, 4361), @@ -197,12 +187,18 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_XACTENG, XactEng, 5849), }; +const HLEDataV2 HLEDataBaseV2[] = { + { Lib_DSOUND, DSound_OOVPAV2, DSound_OOVPA_SIZEV2 } +}; + // ****************************************************************** // * HLEDataBaseCount // ****************************************************************** -extern const uint32 HLEDataBaseCount = sizeof(HLEDataBase) / sizeof(HLEData); +const uint32 HLEDataBaseCount = sizeof(HLEDataBase) / sizeof(HLEData); + +const uint32 HLEDataBaseCountV2 = sizeof(HLEDataBaseV2) / sizeof(HLEDataV2); // ****************************************************************** // * XRefDataBase // ****************************************************************** -extern xbaddr XRefDataBase[XREF_COUNT] = { 0 }; // Reset and populated by EmuHLEIntercept +xbaddr XRefDataBase[XREF_COUNT] = { 0 }; // Reset and populated by EmuHLEIntercept diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl new file mode 100644 index 000000000..fab1bd7db --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -0,0 +1,327 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->HLEDatabase->DSound.OOPVA.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef DSOUND_OOVPA_INL +#define DSOUND_OOVPA_INL + +#include "../OOVPA.h" + +#include "DSound.1.0.3936.inl" +#include "DSound.1.0.4134.inl" +#include "DSound.1.0.4361.inl" +#include "DSound.1.0.4432.inl" +#include "DSound.1.0.4627.inl" +#include "DSound.1.0.5028.inl" +#include "DSound.1.0.5233.inl" +#include "DSound.1.0.5344.inl" +#include "DSound.1.0.5558.inl" +#include "DSound.1.0.5788.inl" +#include "DSound.1.0.5849.inl" + + +// ****************************************************************** +// * DSOUND_OOVPA +// ****************************************************************** +OOVPATable DSound_OOVPAV2[] = { + REGISTER_OOVPAS(CDirectSoundBuffer_GetCurrentPosition, XREF, 3936, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_GetStatus, XREF, 3936, 4134, 4721), + REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928), + REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3936, 4134, 4361, 5558, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3936, 4361, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 4134, 5558, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetDopplerFactor, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetEG, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetFilter, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4361, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetFrequency, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3936, 4134, 5344, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3936, 4134, 5344, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBins, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4134, 4361, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4134, 5233), + REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3936, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) + REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 3936, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffCurve, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffFactor, XREF, 4134, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3936, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetVolume, XREF, 4134, 5233), + REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3936, 4361), + REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), + REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), + REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3936, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetConeAnglesA, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetConeAnglesB, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientationA, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientationB, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientationC, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolumeA, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolumeB, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4627), + REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4627), + REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4627), + REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3936, 5233), + REGISTER_OOVPAS(CDirectSoundStream_SetFrequencyA, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetFrequencyB, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3936, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistanceA, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistanceB, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistanceC, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3936, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundStream_SetMinDistanceA, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetMinDistanceB, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetMinDistanceC, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3936, 4627, 5233, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes, PATCH, 3936), //TODO: What's the difference from this and below? + REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes2, PATCH, 4134, 4627, 5788), //TODO: What's the difference from this and above? + REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 4627), + REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 4627, 5849), + REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetPositionA, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetPositionB, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetPositionC, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetRolloffFactor, PATCH, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetVelocityA, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetVelocityB, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetVelocityC, XREF, 3936), + REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), + REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4134, 4432, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4134, 4361, 4627), + REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4361, 4627, 4721, 5233, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3936, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3936, 4134, 4361, 4627), + REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4134, 5233, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5233, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 5344, 5788), // s+ (from 4134's comment) + REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 4134, 5233), + REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558), + REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, PATCH, 3936, 4134, 5344, 5558, 5788), + REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsA, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsB, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3936, 4134), + REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3936, 4134, 4361, 5558), + REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3936, 4627, 5233, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), + REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 4627), + REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3936, 4831, 5558), + REGISTER_OOVPAS(CDirectSound_SetAllParametersA, XREF, 4627, 4721, 4831), + REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 5344), + REGISTER_OOVPAS(CDirectSound_SetDistanceFactorA, XREF, 3936, 4134, 4627, 5558), + REGISTER_OOVPAS(CDirectSound_SetDistanceFactorB, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3936, 4134, 4627, 5344, 5558, 5788), + REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 5344, 5788), + REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 4627, 5558), + REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroomA, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroomB, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 5558), + REGISTER_OOVPAS(CDirectSound_SetPositionA, XREF, 3936, 4134, 4627, 5344), // TODO: Find a cure for laziness... (from 4134's comment) + REGISTER_OOVPAS(CDirectSound_SetPositionB, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 4134, 5344, 5558, 5788, 5849), + REGISTER_OOVPAS(CDirectSound_SetRolloffFactorA, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_SetRolloffFactorB, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_SetVelocityA, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_SetVelocityB, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344), + REGISTER_OOVPAS(CDirectSound_SynchPlayback, PATCH, 5558), // TODO: Do a patch or just XREF? Will need find IDirectSound_SynchPlayback patch address + REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Set3dParameters, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_SynchPlayback, XREF, 5233), + REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3936, 4134), + REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition2, XREF, 3936), + REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3936, 4134, 4721, 4831, 5558), + REGISTER_OOVPAS(CMcpxBuffer_Pause, XREF, 4831), + REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3925, 4361, 4721, 4831), + REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558, 5788), + REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788), + REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 4134, 5558, 5788), + REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 4361), + REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), + REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 4361, 4831, 5788), + REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMode, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 4627), + REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 4627), + REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3936, 4134), + REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3925, 3936), + REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3936, 4134), + REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4627), + REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 4134, 4361, 5788), + REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(DirectSoundDoWorkA, XREF, 3936), + REGISTER_OOVPAS(DirectSoundDoWorkB, XREF, 3936), + REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3936), + REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3936, 4361, 4432, 4627), + REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3925, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3936, 4134, 4721), + REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_LockA, XREF, 3936, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4928), + REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3936, 4361, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3936), // +s (from 4134's comment) + REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 4134), // Use that for now. Okay, it's your call pal... (from 4134's comment) + REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferDataA, XREF, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetDistanceFactor, PATCH, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetDopplerFactor, PATCH, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3936, 4134, 5558, 5788), + REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPositionA, XREF, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPositionB, XREF, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetEG, PATCH, 4627), + REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4361, 4627, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroomA, XREF, 3936, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 4134, 5344, 5788), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 4134, 5558, 5788), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes, PATCH, 3936), //TODO: What's the difference from this and below? + REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes2, PATCH, 4134, 4627), //TODO: What's the difference from this and above? + REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3936, 4134, 5233), + REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3936, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3936, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPitchA, XREF, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPitchB, XREF, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 3936, 4361), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegionA, XREF, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPosition, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788), + REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeA, XREF, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeB, XREF, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3936, 4134, 4361), + REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 4361, 5233), + REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), + REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3936/*, 4134, 4361*/), + REGISTER_OOVPAS(IDirectSound_CreateSoundStream, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSound_DownloadEffectsImage, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_EnableHeadphones, PATCH, 3936, 4627, 5233, 5558), + REGISTER_OOVPAS(IDirectSound_GetCaps, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558), + REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3936, 4432), + REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSound_SetI3DL2Listener, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3936, 4627, 5558), + REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_SetPosition, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3936, 4134, 5344), // Was (from 5344's comment, was what?) + REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSound_SynchPlayback, PATCH, 5233), + + + REGISTER_OOVPAS(CFullHRTFSource_GetCenterVolume, XREF, 5558), + REGISTER_OOVPAS(CHRTFSource_SetFullHRTF5Channel, XREF, 5558), + + + REGISTER_OOVPAS(WaveFormat_CreateXboxAdpcmFormat, XREF, 5344, 5558), + REGISTER_OOVPAS(XAudioDownloadEffectsImage, PATCH, 4627, 5558), + REGISTER_OOVPAS(XAudioCreateAdpcmFormat, PATCH, 5344, 5558), + REGISTER_OOVPAS(XFileCreateMediaObjectAsync, PATCH, 5788), + REGISTER_OOVPAS(XFileCreateMediaObjectEx, PATCH, 4627, 5028), + REGISTER_OOVPAS(XWaveFileCreateMediaObject, PATCH, 4627), + + + REGISTER_OOVPAS(CMemoryManager_PoolAlloc, XREF, 5788), //TODO: Why is this in here? +}; + +// ****************************************************************** +// * DSOUND_OOVPA_SIZE +// ****************************************************************** +uint32 DSound_OOVPA_SIZEV2 = sizeof(DSound_OOVPAV2); + +#endif diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index c14f79497..0d2439634 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -51,6 +51,7 @@ static xbaddr EmuLocateFunction(OOVPA *Oovpa, xbaddr lower, xbaddr upper); static void EmuInstallPatches(OOVPATable *OovpaTable, uint32 OovpaTableSize, Xbe::Header *pXbeHeader); static inline void EmuInstallPatch(std::string FunctionName, xbaddr FunctionAddr, void *Patch); +void EmuInstallPatchesV2(OOVPATable *OovpaTable, uint32 OovpaTableSize, Xbe::SectionHeader *pSectionHeader, uint16_t buildVersion); #include #include @@ -309,6 +310,10 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) std::string LibraryName(pLibraryVersion[v].szName, pLibraryVersion[v].szName + 8); + Xbe::SectionHeader* pSectionHeaders = reinterpret_cast(pXbeHeader->dwSectionHeadersAddr); + Xbe::SectionHeader* pSectionScan = nullptr; + std::string SectionName; + if (strcmp(LibraryName.c_str(), Lib_D3D8LTCG) == 0) { // If LLE GPU is not enabled, show a warning that the title is not supported @@ -336,16 +341,18 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) if (bLLE_APU) continue; - // Several 3911 titles has different DSound builds. - if(BuildVersion < 4034) - { +#if ENABLE_LEGACY_DSOUND_DB + // Several 3911 titles has different DSound builds. + if (BuildVersion < 4034) { BuildVersion = 3936; } - // Redirect other highly similar DSOUND library versions - if(BuildVersion == 4361 || BuildVersion == 4400 || BuildVersion == 4432 || - BuildVersion == 4531 ) - BuildVersion = 4627; + // Redirect other highly similar DSOUND library versions + if (BuildVersion == 4361 || BuildVersion == 4400 || BuildVersion == 4432 || + BuildVersion == 4531) + BuildVersion = 4627; +#endif + } if (strcmp(LibraryName.c_str(), Lib_XAPILIB) == 0) { @@ -563,20 +570,36 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) printf("HLE: * Searching HLE database for %s version 1.0.%d... ", LibraryName.c_str(), BuildVersion); - const HLEData *FoundHLEData = nullptr; + bool notFoundHLEDB = true; + //HLE Database v1 for(uint32 d = 0; d < HLEDataBaseCount; d++) { if (BuildVersion == HLEDataBase[d].BuildVersion && strcmp(LibraryName.c_str(), HLEDataBase[d].Library) == 0) { - FoundHLEData = &HLEDataBase[d]; + if (g_bPrintfOn) printf("Found\n"); + EmuInstallPatches(HLEDataBase[d].OovpaTable, HLEDataBase[d].OovpaTableSize, pXbeHeader); + notFoundHLEDB = false; break; } } - if (FoundHLEData) { - if (g_bPrintfOn) printf("Found\n"); - EmuInstallPatches(FoundHLEData->OovpaTable, FoundHLEData->OovpaTableSize, pXbeHeader); - } else { - if (g_bPrintfOn) printf("Skipped\n"); - } + //HLE Database v2 + if (notFoundHLEDB) { + for (uint32 v = 0; v < pXbeHeader->dwSections; v++) { + SectionName.assign((char*)pSectionHeaders[v].dwSectionNameAddr, (char*)pSectionHeaders[v].dwSectionNameAddr + 8); + if (strcmp(SectionName.c_str(), Lib_DSOUND) == 0) { + pSectionScan = pSectionHeaders + v; + break; + } + } + for (uint32 d2 = 0; d2 < HLEDataBaseCountV2; d2++) { + if (strcmp(LibraryName.c_str(), HLEDataBaseV2[d2].Library) == 0 && pSectionScan != nullptr) { + EmuInstallPatchesV2(HLEDataBaseV2[d2].OovpaTable, HLEDataBaseV2[d2].OovpaTableSize, pSectionScan, OrigBuildVersion); + notFoundHLEDB = false; + break; + } + } + + } + if (g_bPrintfOn && notFoundHLEDB) printf("Skipped\n"); } bXRefFirstPass = false; @@ -884,6 +907,99 @@ static void EmuInstallPatches(OOVPATable *OovpaTable, uint32 OovpaTableSize, Xbe } } +void EmuRegisterSymbol(OOVPATable *OopvaTable, xbaddr pFunc) +{ + // Ignore registered symbol in current database. + uint32_t hasSymbol = g_SymbolAddresses[OopvaTable->szFuncName]; + if (hasSymbol != 0) + return; + + // Now that we found the address, store it (regardless if we patch it or not) + g_SymbolAddresses[OopvaTable->szFuncName] = (uint32_t)pFunc; + + // Output some details + std::stringstream output; + output << "HLE: 0x" << std::setfill('0') << std::setw(8) << std::hex << pFunc + << " -> " << OopvaTable->szFuncName << " " << std::dec << OopvaTable->Version; + + bool IsXRef = (OopvaTable->Flags & Flag_XRef) > 0; + if (IsXRef) + output << "\t(XREF)"; + + // Retrieve the associated patch, if any is available + void* addr = GetEmuPatchAddr(std::string(OopvaTable->szFuncName)); + bool DontPatch = (OopvaTable->Flags & Flag_DontPatch) > 0; + if (DontPatch) { + // Mention if there's an unused patch + if (addr != nullptr) + output << "\t*PATCH UNUSED!*"; + else + output << "\t*DISABLED*"; + } else { + if (addr != nullptr) { + EmuInstallPatch(OopvaTable->szFuncName, pFunc, addr); + output << "\t*PATCHED*"; + } else { + // Mention there's no patch available, if it was to be applied + if (!IsXRef) // TODO : Remove this restriction once we patch xrefs regularly + output << "\t*NO PATCH AVAILABLE!*"; + } + } + + output << "\n"; + printf(output.str().c_str()); +} + +// install function interception wrappers +static void EmuInstallPatchesV2(OOVPATable *OovpaTable, uint32 OovpaTableSize, Xbe::SectionHeader *pSectionHeader, uint16_t buildVersion) +{ + xbaddr lower = pSectionHeader->dwVirtualAddr; + + // Find the highest address contained within an executable segment + xbaddr upper = pSectionHeader->dwVirtualAddr + pSectionHeader->dwVirtualSize; + + // traverse the full OOVPA table + OOVPATable *pLoopEnd = &OovpaTable[OovpaTableSize / sizeof(OOVPATable)]; + OOVPATable *pLoop = OovpaTable; + OOVPATable *pLastKnownSymbol = nullptr; + xbaddr pLastKnownFunc = 0; + const char *SymbolName = nullptr; + for (; pLoop < pLoopEnd; pLoop++) { + + if (SymbolName == nullptr) { + SymbolName = pLoop->szFuncName; + } else if (strcmp(SymbolName, pLoop->szFuncName) != 0) { + SymbolName = pLoop->szFuncName; + if (pLastKnownSymbol != nullptr) { + // Now that we found the address, store it (regardless if we patch it or not) + EmuRegisterSymbol(pLastKnownSymbol, pLastKnownFunc); + pLastKnownSymbol = nullptr; + pLastKnownFunc = 0; + } + } + + // Never used : skip scans when so configured + bool DontScan = (pLoop->Flags & Flag_DontScan) > 0; + if (DontScan) + continue; + + // Skip higher build version + if (buildVersion < pLoop->Version) + continue; + + // Search for each function's location using the OOVPA + xbaddr pFunc = (xbaddr)EmuLocateFunction(pLoop->Oovpa, lower, upper); + if (pFunc == (xbaddr)nullptr) + continue; + + pLastKnownFunc = pFunc; + pLastKnownSymbol = pLoop; + } + if (pLastKnownSymbol != nullptr) { + EmuRegisterSymbol(pLastKnownSymbol, pLastKnownFunc); + } +} + #ifdef _DEBUG_TRACE struct HLEVerifyContext { From 625ebe9c7833a53d6312a2c7d00d5669b7d43ce0 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 10 Aug 2017 16:20:40 -0500 Subject: [PATCH 004/146] Append to Previous Commit --- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index fab1bd7db..9cc71d4da 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -163,7 +163,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4627), REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 4134, 4627, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5233, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5233, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 5344, 5788), // s+ (from 4134's comment) REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 4134, 5233), From b8e32f2ede8fee1d2e88d3ba1c6fce73cbe85550 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 11 Aug 2017 13:15:05 -0500 Subject: [PATCH 005/146] Whoops Forgot to add this addition to able compile HLEDB v2 build. --- src/CxbxKrnl/OOVPA.h | 66 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 62 insertions(+), 4 deletions(-) diff --git a/src/CxbxKrnl/OOVPA.h b/src/CxbxKrnl/OOVPA.h index ab6657af1..9cd63a182 100644 --- a/src/CxbxKrnl/OOVPA.h +++ b/src/CxbxKrnl/OOVPA.h @@ -154,22 +154,80 @@ const uint16_t Flag_DontPatch = 4;// Indicates an entry that's shouldn't be patc #define REGISTER_OOVPA(Symbol, Version, TYPE, ...) \ REGISTER_OOVPA_##TYPE(Symbol, Version, __VA_ARGS__) -#define PATCH /* most common registration, Symbol indicates both an OOVPA and Patch */ +#define PATCH PATCH/* most common registration, Symbol indicates both an OOVPA and Patch */ #define REGISTER_OOVPA_PATCH(Symbol, Version, ...) \ OOVPA_TABLE_ENTRY_FULL(Symbol, #Symbol ##, Version, 0) -#define XREF /* registration of an XRef-only OOVPA, for which no Patch is present */ +#define XREF XREF/* registration of an XRef-only OOVPA, for which no Patch is present */ #define REGISTER_OOVPA_XREF(Symbol, Version, ...) \ OOVPA_TABLE_ENTRY_FULL(Symbol, #Symbol ##, Version, Flag_XRef) -#define ALIAS /* registration of a Patch using an alternatively named OOVPA */ +#define ALIAS ALIAS/* registration of a Patch using an alternatively named OOVPA */ #define REGISTER_OOVPA_ALIAS(Symbol, Version, AliasOovpa) \ OOVPA_TABLE_ENTRY_FULL(AliasOovpa, #Symbol ##, Version, 0) -#define DISABLED /* registration is (temporarily) disabled by a flag */ +#define DISABLED DISABLED/* registration is (temporarily) disabled by a flag */ #define REGISTER_OOVPA_DISABLED(Symbol, Version, ...) \ OOVPA_TABLE_ENTRY_FULL(Symbol, #Symbol ##, Version, Flag_DontPatch) +//Below this is a revise version 2 to improve OOPVA scan as possible. + +#define REGISTER_OOVPA_V2(Symbol, TYPE, Version) \ + MSVC_EXPAND(REGISTER_OOVPA_##TYPE(Symbol, Version)) +// { &(Symbol ## _ ## Version).Header, #Symbol, Version, Flags } + +// ****************************************************************** +// * OOVPATable +// ****************************************************************** +struct OOVPATableV2 { + char *szSymbolName; + uint16_t Version; + OOVPA *pOovpa; +}; + +// http://stackoverflow.com/questions/5134523/msvc-doesnt-expand-va-args-correctly +// MSVC_EXPAND works around a Visual C++ problem, expanding __VA_ARGS__ incorrectly: +#define MSVC_EXPAND(x) x + +// Based on https://codecraft.co/2014/11/25/variadic-macros-tricks/ +// and https://groups.google.com/d/msg/comp.std.c/d-6Mj5Lko_s/jqonQLK20HcJ +#define REGISTER_OOVPA_0(...) + #define REGISTER_OOVPA_1(Symbol, TYPE, Version) REGISTER_OOVPA_V2(Symbol, TYPE, Version) + #define REGISTER_OOVPA_2(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_1(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_3(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_2(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_4(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_3(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_5(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_4(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_6(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_5(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_7(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_6(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_8(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_7(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_9(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_8(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_10(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_9(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_11(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_10(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_12(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_11(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_13(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_12(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_14(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_13(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_15(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_14(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_16(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_15(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_17(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_16(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_18(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_17(Symbol, TYPE, __VA_ARGS__)) + #define REGISTER_OOVPA_19(Symbol, TYPE, Version, ...) REGISTER_OOVPA_V2(Symbol, TYPE, Version), MSVC_EXPAND(REGISTER_OOVPA_18(Symbol, TYPE, __VA_ARGS__)) + +// Accept any number of args >= N, but expand to just the Nth one. In this case, +// we have settled on 20 as N. We could pick a different number by adjusting +// the count of throwaway args before N. Note that this macro is preceded by +// an underscore--it's an implementation detail, not something we expect people +// to call directly. +#define _GET_NTH_ARG( \ + _19, _18, _17, _16, _15, _14, _13, _12, _11, _10, \ + _9, _8, _7, _6, _5, _4, _3, _2, _1, _0, \ + N, ...) N + +#define REGISTER_OOVPAS(Symbol, TYPE, ...) MSVC_EXPAND(_GET_NTH_ARG("ignored", __VA_ARGS__, \ + REGISTER_OOVPA_19, REGISTER_OOVPA_18, REGISTER_OOVPA_17, REGISTER_OOVPA_16, REGISTER_OOVPA_15, \ + REGISTER_OOVPA_14, REGISTER_OOVPA_13, REGISTER_OOVPA_12, REGISTER_OOVPA_11, REGISTER_OOVPA_10, \ + REGISTER_OOVPA_9, REGISTER_OOVPA_8, REGISTER_OOVPA_7, REGISTER_OOVPA_6, REGISTER_OOVPA_5, \ + REGISTER_OOVPA_4, REGISTER_OOVPA_3, REGISTER_OOVPA_2, REGISTER_OOVPA_1, REGISTER_OOVPA_0)(Symbol, TYPE, __VA_ARGS__)) + #pragma pack() From ee4cc619f840180321e7e17c7491373c5ac06438 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 11 Aug 2017 13:17:14 -0500 Subject: [PATCH 006/146] Improve and Detect Duplicate For on-going verification to verify any signatures are duplicate or not. Works as intended base on several titles outputing duplicate messages. --- src/CxbxKrnl/HLEIntercept.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 0d2439634..944404ed9 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -592,6 +592,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) } for (uint32 d2 = 0; d2 < HLEDataBaseCountV2; d2++) { if (strcmp(LibraryName.c_str(), HLEDataBaseV2[d2].Library) == 0 && pSectionScan != nullptr) { + if (g_bPrintfOn) printf("Found\n"); EmuInstallPatchesV2(HLEDataBaseV2[d2].OovpaTable, HLEDataBaseV2[d2].OovpaTableSize, pSectionScan, OrigBuildVersion); notFoundHLEDB = false; break; @@ -992,6 +993,12 @@ static void EmuInstallPatchesV2(OOVPATable *OovpaTable, uint32 OovpaTableSize, X if (pFunc == (xbaddr)nullptr) continue; + if (pFunc == pLastKnownFunc && pLastKnownSymbol == pLoop-1) { + if (g_SymbolAddresses[pLastKnownSymbol->szFuncName] == 0) { + printf("HLE: Duplicate OOVPA signature found for %s, %d vs %d!\n", pLastKnownSymbol->szFuncName, pLastKnownSymbol->Version, pLoop->Version); + } + } + pLastKnownFunc = pFunc; pLastKnownSymbol = pLoop; } From 05392878f4009fbdf2b83855e85065c3d074019c Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 11 Aug 2017 13:27:17 -0500 Subject: [PATCH 007/146] 2 New DSound OOVPA v3936 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). --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 108 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 56 +--------- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 8 +- 6 files changed, 120 insertions(+), 64 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 5296c6483..0fe763887 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -3931,6 +3931,110 @@ OOVPA_NO_XREF(CDirectSoundStream_Pause, 3936, 6) { 0x11, 0x08 }, OOVPA_END; +//TODO: Need another OOVPA reference since Halo has a match for CDirectSoundStream_SetConeOrientation signature. +// ****************************************************************** +// * CDirectSoundBuffer::SetConeOrientation +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 3936, 10, + XREF_DSBUFFERSETCONEORIENTATION, + XRefZero) + + // CDirectSoundBuffer_SetConeOrientation+0x1A : fstp [esp+8h] + { 0x0C, 0xD9 }, + { 0x0D, 0x5C }, + { 0x0E, 0x24 }, + { 0x0F, 0x08 }, + + // CDirectSoundBuffer_SetConeOrientation+0x1A : fstp [esp] + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, + + // CDirectSoundBuffer_SetConeOrientation+0x26 : ret 14h + { 0x26, 0xC2 }, + { 0x27, 0x14 }, + { 0x28, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetConeOrientation +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetConeOrientation, 3936, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetConeOrientation+0x2C : call [CDirectSoundBuffer::SetConeOrientation] + XREF_ENTRY(0x2D, XREF_DSBUFFERSETCONEORIENTATION), + + // IDirectSoundBuffer_SetConeOrientation+0x06 : fld [ebp+arg_C] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // IDirectSoundBuffer_SetConeOrientation+0x28 : fstp [esp+10h+var_10] + { 0x28, 0xD9 }, + { 0x29, 0x1C }, + { 0x2A, 0x24 }, + + // IDirectSoundBuffer_SetConeOrientation+0x32 : retn 14h + { 0x33, 0x14 }, + { 0x34, 0x00 } +OOVPA_END; + +//TODO: Need another OOVPA reference since Halo has a match for CDirectSoundStream_SetConeOutsideVolume signature. +// ****************************************************************** +// * CDirectSoundBuffer::SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 3936, 11, + + XREF_DSBUFFERSETCONEOUTSIDEVOLUME, + XRefZero) + + // CDirectSoundBuffer_SetConeOutsideVolume+0x09 : mov eax,dword ptr [esp+14h] + { 0x09, 0x8B }, + { 0x0A, 0x44 }, + { 0x0B, 0x24 }, + { 0x0C, 0x14 }, + + // CDirectSoundBuffer_SetConeOutsideVolume+0x17 : push [esp+0Ch+arg_0] + { 0x17, 0xFF }, + { 0x18, 0x74 }, + { 0x19, 0x24 }, + { 0x1A, 0x14 }, + + // CDirectSoundBuffer_SetConeOutsideVolume+0x38 : retn 0Ch + { 0x38, 0xC2 }, + { 0x39, 0x0C }, + { 0x3A, 0x00 } +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 3936, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetConeOutsideVolume+0x18 : call [CDirectSoundBuffer::SetConeOutsideVolume] + XREF_ENTRY(0x19, XREF_DSBUFFERSETCONEOUTSIDEVOLUME), + + // IDirectSoundBuffer_SetConeOutsideVolume+0x0A : push [esp+4+arg_4] + { 0x0A, 0xFF }, + { 0x0B, 0x74 }, + { 0x0C, 0x24 }, + { 0x0D, 0x0C }, + + // IDirectSoundBuffer_SetConeOutsideVolume+0x15 : and ecx, eax + { 0x15, 0x23 }, + { 0x16, 0xC8 }, + + // IDirectSoundBuffer_SetConeOutsideVolume+0x1D : retn 0Ch + { 0x1E, 0x0C }, + { 0x1F, 0x00 } +OOVPA_END; + // ****************************************************************** // * DSound_3936 // ****************************************************************** @@ -4082,6 +4186,10 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 6fa0b284d..562e4c507 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -1615,32 +1615,6 @@ OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 4134, 9, { 0x66, 0x00 } OOVPA_END; -// ****************************************************************** -// * IDirectSoundBuffer_SetConeOrientation -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetConeOrientation, 4134, 9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetConeOrientation+0x2C : call [CDirectSoundBuffer::SetConeOrientation] - XREF_ENTRY( 0x2D, XREF_DSBUFFERSETCONEORIENTATION ), - - // IDirectSoundBuffer_SetConeOrientation+0x06 : fld [ebp+arg_C] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // IDirectSoundBuffer_SetConeOrientation+0x28 : fstp [esp+10h+var_10] - { 0x28, 0xD9 }, - { 0x29, 0x1C }, - { 0x2A, 0x24 }, - - // IDirectSoundBuffer_SetConeOrientation+0x32 : retn 14h - { 0x33, 0x14 }, - { 0x34, 0x00 } -OOVPA_END; - // ****************************************************************** // * CDirectSoundStream_SetConeOrientation // ****************************************************************** @@ -1713,32 +1687,6 @@ OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 4134, 11, { 0x51, 0x00 } OOVPA_END; -// ****************************************************************** -// * IDirectSoundBuffer_SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 4134, 9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetConeOutsideVolume+0x18 : call [CDirectSoundBuffer::SetConeOutsideVolume] - XREF_ENTRY( 0x19, XREF_DSBUFFERSETCONEOUTSIDEVOLUME ), - - // IDirectSoundBuffer_SetConeOutsideVolume+0x0A : push [esp+4+arg_4] - { 0x0A, 0xFF }, - { 0x0B, 0x74 }, - { 0x0C, 0x24 }, - { 0x0D, 0x0C }, - - // IDirectSoundBuffer_SetConeOutsideVolume+0x15 : and ecx, eax - { 0x15, 0x23 }, - { 0x16, 0xC8 }, - - // IDirectSoundBuffer_SetConeOutsideVolume+0x1D : retn 0Ch - { 0x1E, 0x0C }, - { 0x1F, 0x00 } -OOVPA_END; - // ****************************************************************** // * CDirectSoundStream_SetConeOutsideVolume // ****************************************************************** @@ -2747,11 +2695,11 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 775499564..c16200f9d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1527,10 +1527,10 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index b3348a0e4..e2e24ddfc 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -156,11 +156,11 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 400a93a7e..1e743ea7e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -970,7 +970,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), @@ -982,7 +982,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 9cc71d4da..a512257e1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -61,8 +61,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3936, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetDopplerFactor, XREF, 4134, 5558), @@ -245,8 +245,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferDataA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3936, 4134, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 4134), - REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetDistanceFactor, PATCH, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetDopplerFactor, PATCH, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3936, 4134, 5558, 5788), From 4107f52e927bd87cec6dca91b4b1b7b3bac604d7 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 12 Aug 2017 08:32:46 -0500 Subject: [PATCH 008/146] Typo Correction Plus add rollback message header. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 10 +++++----- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 3 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 0fe763887..8f96d59fe 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -230,7 +230,7 @@ OOVPA_XREF(CDirectSound_CreateSoundBuffer, 3936, 16, OOVPA_END; // ****************************************************************** -// * IDirectSound_CreateBuffer +// * IDirectSound_CreateSoundBuffer // ****************************************************************** OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3936, 10, @@ -239,21 +239,21 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3936, 10, // TODO: tidy up the xref names (are probably not accurate) - // IDirectSound_CreateBuffer+0x1D : call [CDirectSound::CreateSoundStream] + // IDirectSound_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDBUFFER ), // (Offset,Value)-Pair #1 - // IDirectSound_CreateBuffer+0x04 : mov eax, [esp+0x08] + // IDirectSound_CreateSoundBuffer+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, // (Offset,Value)-Pair #2 { 0x05, 0x44 }, // (Offset,Value)-Pair #3 { 0x06, 0x24 }, // (Offset,Value)-Pair #4 { 0x07, 0x08 }, // (Offset,Value)-Pair #5 - // IDirectSound_CreateBuffer+0x12 : and eax, 0xFFFFFFF8 + // IDirectSound_CreateSoundBuffer+0x12 : and eax, 0xFFFFFFF8 { 0x12, 0x83 }, // (Offset,Value)-Pair #6 { 0x13, 0xC0 }, // (Offset,Value)-Pair #7 { 0x14, 0xF8 }, // (Offset,Value)-Pair #8 - // IDirectSound_CreateBuffer+0x21 : retn 0x10 + // IDirectSound_CreateSoundBuffer+0x21 : retn 0x10 { 0x21, 0xC2 }, // (Offset,Value)-Pair #9 { 0x22, 0x10 }, // (Offset,Value)-Pair #10 OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index acf80c1f5..6b418487a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1606,6 +1606,9 @@ OOVPA_XREF(CDirectSoundStream_Use3DVoiceData, 5558, 9, { 0x4E, 0x08 }, OOVPA_END; +// ****************************************************************** +// * Rollback support signature(s) +// ****************************************************************** #define CDirectSoundVoice_SetRolloffCurve_5558 CDirectSoundVoice_SetRolloffCurve_5233 // ****************************************************************** From 525b1ea7afea815a12a29cde65a38f77707ac2aa Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 12 Aug 2017 08:34:36 -0500 Subject: [PATCH 009/146] Add Missing OOVPA Patch Also include rollback alias. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 6 ++++++ src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 242560f9f..844f6a97a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -543,6 +543,12 @@ OOVPA_NO_XREF(XFileCreateMediaObjectAsync, 5788, 8) { 0x5E, 0x0C }, OOVPA_END; +// ****************************************************************** +// * Rollback support signature(s) +// ****************************************************************** +#define CDirectSoundBuffer_SetBufferData_5788 CDirectSoundBuffer_SetBufferData_4134 +#define IDirectSoundBuffer_SetBufferData_5788 IDirectSoundBuffer_SetBufferData_4134 + // ****************************************************************** // * DSound_5788 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index a512257e1..19752e8ec 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -59,7 +59,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3936, 4134, 4361, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3936, 4361, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3936, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3936, 4134), @@ -242,7 +242,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3936), // +s (from 4134's comment) REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 4134), // Use that for now. Okay, it's your call pal... (from 4134's comment) - REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferDataA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3936), @@ -253,6 +253,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPositionA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPositionB, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetEG, PATCH, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4361, 4627, 5558), From e921d482999043764451d20b5e4bb1b7a9f171ee Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 12 Aug 2017 08:41:59 -0500 Subject: [PATCH 010/146] Fix False Positive for XRefs 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. --- src/CxbxKrnl/HLEIntercept.cpp | 124 +++++++++++++++++++++++++++++++++- 1 file changed, 121 insertions(+), 3 deletions(-) diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 944404ed9..b81099ecb 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -782,8 +782,9 @@ static xbaddr EmuLocateFunction(OOVPA *Oovpa, xbaddr lower, xbaddr upper) } default: { - if (XRefDataBase[Oovpa->XRefSaveIndex] != cur) + if (XRefDataBase[Oovpa->XRefSaveIndex] != cur) { EmuWarning("Found OOVPA on other address than in XRefDataBase!"); + } break; } } @@ -924,9 +925,43 @@ void EmuRegisterSymbol(OOVPATable *OopvaTable, xbaddr pFunc) << " -> " << OopvaTable->szFuncName << " " << std::dec << OopvaTable->Version; bool IsXRef = (OopvaTable->Flags & Flag_XRef) > 0; - if (IsXRef) + if (IsXRef) { output << "\t(XREF)"; + // do we need to save the found address? + OOVPA* Oovpa = OopvaTable->Oovpa; + if (Oovpa->XRefSaveIndex != XRefNoSaveIndex) { + // is the XRef not saved yet? + switch (XRefDataBase[Oovpa->XRefSaveIndex]) { + case XREF_ADDR_NOT_FOUND: + { + EmuWarning("Found OOVPA after first finding nothing?"); + // fallthrough to XREF_ADDR_UNDETERMINED + } + case XREF_ADDR_UNDETERMINED: + { + // save and count the found address + UnResolvedXRefs--; + XRefDataBase[Oovpa->XRefSaveIndex] = pFunc; + break; + } + case XREF_ADDR_DERIVE: + { + EmuWarning("Cannot derive a save index!"); + break; + } + default: + { + if (XRefDataBase[OopvaTable->Oovpa->XRefSaveIndex] != pFunc) { + EmuWarning("Found OOVPA on other address than in XRefDataBase!"); + EmuWarning("%s: %4d - pFunc: %08X, stored: %08X", OopvaTable->szFuncName, Oovpa->XRefSaveIndex, pFunc, XRefDataBase[Oovpa->XRefSaveIndex]); + } + break; + } + } + } + } + // Retrieve the associated patch, if any is available void* addr = GetEmuPatchAddr(std::string(OopvaTable->szFuncName)); bool DontPatch = (OopvaTable->Flags & Flag_DontPatch) > 0; @@ -951,6 +986,89 @@ void EmuRegisterSymbol(OOVPATable *OopvaTable, xbaddr pFunc) printf(output.str().c_str()); } + +// locate the given function, searching within lower and upper bounds +xbaddr EmuLocateFunctionV2(OOVPA *Oovpa, xbaddr lower, xbaddr upper) +{ + // skip out if this is an unnecessary search + if (!bXRefFirstPass && Oovpa->XRefCount == XRefZero && Oovpa->XRefSaveIndex == XRefNoSaveIndex) + return (xbaddr)nullptr; + + uint32_t derive_indices = 0; + // Check all XRefs are known (if not, don't do a useless scan) : + for (uint32 v = 0; v < Oovpa->XRefCount; v++) { + uint32 XRef; + uint08 Offset; + + // get currently registered (un)known address + GetXRefEntry(Oovpa, v, XRef, Offset); + xbaddr XRefAddr = XRefDataBase[XRef]; + // Undetermined XRef cannot be checked yet + if (XRefAddr == XREF_ADDR_UNDETERMINED) + // Skip this scan over the address range + return (xbaddr)nullptr; + + // Don't verify an xref that has to be (but isn't yet) derived + if (XRefAddr == XREF_ADDR_DERIVE) { + // Mark (up to index 32) which xref needs to be derived + derive_indices |= (1 << v); + continue; + } + } + + // correct upper bound with highest Oovpa offset + uint32 count = Oovpa->Count; + { + uint32 Offset; + uint08 Value; // ignored + + GetOovpaEntry(Oovpa, count - 1, Offset, Value); + upper -= Offset; + } + + // search all of the image memory + for (xbaddr cur = lower; cur < upper; cur++) + if (CompareOOVPAToAddress(Oovpa, cur)) { + + while (derive_indices > 0) { + uint32 XRef; + uint08 Offset; + DWORD derive_index; + + // Extract an index from the indices mask : + _BitScanReverse(&derive_index, derive_indices); // MSVC intrinsic; GCC has __builtin_clz + derive_indices ^= (1 << derive_index); + + // get currently registered (un)known address + GetXRefEntry(Oovpa, derive_index, XRef, Offset); + + // Calculate the address where the XRef resides + xbaddr XRefAddr = cur + Offset; + // Read the address it points to + XRefAddr = *((xbaddr*)XRefAddr); + + /* For now assume it's a direct reference; + // TODO : Check if it's PC-relative reference? + if (XRefAddr + cur + Offset + 4 < XBE_MAX_VA) + XRefAddr = XRefAddr + cur + Offset + 4; + */ + + // Does the address seem valid? + if (XRefAddr < XBE_MAX_VA) { + // save and count the derived address + UnResolvedXRefs--; + XRefDataBase[XRef] = XRefAddr; + printf("Derived OOVPA!\n"); + } + } + + return cur; + } + + // found nothing + return (xbaddr)nullptr; +} + // install function interception wrappers static void EmuInstallPatchesV2(OOVPATable *OovpaTable, uint32 OovpaTableSize, Xbe::SectionHeader *pSectionHeader, uint16_t buildVersion) { @@ -989,7 +1107,7 @@ static void EmuInstallPatchesV2(OOVPATable *OovpaTable, uint32 OovpaTableSize, X continue; // Search for each function's location using the OOVPA - xbaddr pFunc = (xbaddr)EmuLocateFunction(pLoop->Oovpa, lower, upper); + xbaddr pFunc = (xbaddr)EmuLocateFunctionV2(pLoop->Oovpa, lower, upper); if (pFunc == (xbaddr)nullptr) continue; From 16639a0500119ca3e6e88d80013213ec9f5e3b1a Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 13 Aug 2017 16:44:22 +0900 Subject: [PATCH 011/146] Improved similar DSound OOVPA --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 94 ++++++++--- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 168 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 99 +++++++++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 78 +++++++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 72 +++++--- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 22 +-- 11 files changed, 449 insertions(+), 104 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 562e4c507..1e0a72e8d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -920,27 +920,37 @@ OOVPA_END; // ****************************************************************** // * CDirectSound::SetDistanceFactorA // ****************************************************************** -OOVPA_XREF(CDirectSound_SetDistanceFactorA, 4134, 11, +OOVPA_XREF(CDirectSound_SetDistanceFactor, 4134, 17, XREF_SETDISTANCEFACTORA, XRefZero) - // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 + // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 { 0x23, 0x40 }, // (Offset,Value)-Pair #3 { 0x24, 0x00 }, // (Offset,Value)-Pair #4 { 0x25, 0x80 }, // (Offset,Value)-Pair #5 - // CDirectSound_SetDistanceFactorA+0x39 : or dword ptr[eax+0xA4], 0x60 - { 0x39, 0x83 }, // (Offset,Value)-Pair #6 - { 0x3A, 0x88 }, // (Offset,Value)-Pair #7 - { 0x3B, 0xA4 }, // (Offset,Value)-Pair #8 - { 0x3F, 0x60 }, // (Offset,Value)-Pair #9 + // CDirectSound_SetDistanceFactor+0x33 : mov [eax+68h], edx + { 0x33, 0x89 }, // (Offset,Value)-Pair #6 + { 0x34, 0x50 }, // (Offset,Value)-Pair #7 + { 0x35, 0x68 }, // (Offset,Value)-Pair #8 - // CDirectSound_SetDistanceFactorA+0x4F : jz +0x0B - { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 - { 0x50, 0x0B }, // (Offset,Value)-Pair #11 + // CDirectSound_SetDistanceFactor+0x36 : mov eax, [ecx+8] + { 0x36, 0x8B }, // (Offset,Value)-Pair #9 + { 0x37, 0x41 }, // (Offset,Value)-Pair #10 + { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + + // CDirectSound_SetDistanceFactor+0x39 : or dword ptr[eax+0xA4], 0x60 + { 0x39, 0x83 }, // (Offset,Value)-Pair #12 + { 0x3A, 0x88 }, // (Offset,Value)-Pair #13 + { 0x3B, 0xA4 }, // (Offset,Value)-Pair #14 + { 0x3F, 0x60 }, // (Offset,Value)-Pair #15 + + // CDirectSound_SetDistanceFactor+0x4F : jz +0x0B + { 0x4F, 0x74 }, // (Offset,Value)-Pair #16 + { 0x50, 0x0B }, // (Offset,Value)-Pair #17 OOVPA_END; // ****************************************************************** @@ -976,7 +986,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSound::SetRolloffFactor // ****************************************************************** -OOVPA_XREF(CDirectSound_SetRolloffFactor, 4134, 11, +OOVPA_XREF(CDirectSound_SetRolloffFactor, 4134, 17, XREF_SETROLLOFFFACTORA, XRefZero) @@ -988,15 +998,25 @@ OOVPA_XREF(CDirectSound_SetRolloffFactor, 4134, 11, { 0x24, 0x00 }, // (Offset,Value)-Pair #4 { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + // CDirectSound_SetRolloffFactor+0x33 : mov [eax+6Ch], edx + { 0x33, 0x89 }, // (Offset,Value)-Pair #6 + { 0x34, 0x50 }, // (Offset,Value)-Pair #7 + { 0x35, 0x6C }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8] + { 0x36, 0x8B }, // (Offset,Value)-Pair #9 + { 0x37, 0x41 }, // (Offset,Value)-Pair #10 + { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0xA4], 0x04 - { 0x39, 0x83 }, // (Offset,Value)-Pair #6 - { 0x3A, 0x88 }, // (Offset,Value)-Pair #7 - { 0x3B, 0xA4 }, // (Offset,Value)-Pair #8 - { 0x3F, 0x04 }, // (Offset,Value)-Pair #9 + { 0x39, 0x83 }, // (Offset,Value)-Pair #12 + { 0x3A, 0x88 }, // (Offset,Value)-Pair #13 + { 0x3B, 0xA4 }, // (Offset,Value)-Pair #14 + { 0x3F, 0x04 }, // (Offset,Value)-Pair #15 // CDirectSound_SetRolloffFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 - { 0x50, 0x0B }, // (Offset,Value)-Pair #11 + { 0x4F, 0x74 }, // (Offset,Value)-Pair #16 + { 0x50, 0x0B }, // (Offset,Value)-Pair #17 OOVPA_END; // ****************************************************************** @@ -1118,7 +1138,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMaxDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4134, 9, +OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4134, 12, XREF_DSVOICESETMAXDISTANCE, XRefZero) @@ -1134,6 +1154,10 @@ OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4134, 9, { 0x12, 0x50 }, { 0x13, 0x38 }, + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x70 }, + // CDirectSoundVoice_SetMaxDistance+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } @@ -1216,7 +1240,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMinDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4134, 9, +OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4134, 12, XREF_DSVOICESETMINDISTANCE, XRefZero) @@ -1232,6 +1256,10 @@ OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4134, 9, { 0x12, 0x50 }, { 0x13, 0x34 }, + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x70 }, + // CDirectSoundVoice_SetMinDistance+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } @@ -1314,7 +1342,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetRolloffFactor // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 4134, 9, +OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 4134, 12, XREF_DSVOICESETROLLOFFFACTOR, XRefZero) @@ -1330,6 +1358,10 @@ OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 4134, 9, { 0x12, 0x50 }, { 0x13, 0x44 }, + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x70 }, + // CDirectSoundVoice_SetRolloffFactor+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } @@ -1412,7 +1444,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 4134, 9, +OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 4134, 12, XREF_DSVOICESETDISTANCEFACTOR, XRefZero) @@ -1428,9 +1460,13 @@ OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 4134, 9, { 0x12, 0x50 }, { 0x13, 0x40 }, + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x70 }, + // CDirectSoundVoice_SetDistanceFactor+0x30 : retn 0Ch { 0x31, 0x0C }, - { 0x32, 0x00 } + { 0x32, 0x00 }, OOVPA_END; // ****************************************************************** @@ -1638,7 +1674,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetConeOutsideVolume // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4134, 9, +OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4134, 12, XREF_DSVOICESETCONEOUTSIDEVOLUME, XRefZero) @@ -1654,6 +1690,10 @@ OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4134, 9, { 0x12, 0x50 }, { 0x13, 0x30 }, + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x70 }, + // CDirectSoundVoice_SetConeOutsideVolume+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } @@ -1848,7 +1888,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetDopplerFactor // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4134, 9, +OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4134, 12, XREF_CDirectSoundVoice_SetDopplerFactor, XRefZero) @@ -1864,6 +1904,10 @@ OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4134, 9, { 0x12, 0x50 }, { 0x13, 0x48 }, + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x70 }, + // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } @@ -2668,7 +2712,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4134, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 43a4d8c9e..68fe45fce 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -573,6 +573,174 @@ OOVPA_XREF(CMcpxBuffer_Play2, 4361, 8, { 0x36, 0xC2 }, OOVPA_END; +// ****************************************************************** +// * CDirectSoundVoice::SetMaxDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4361, 12, + + XREF_DSVOICESETMAXDISTANCE, + XRefZero) + + // CDirectSoundVoice_SetMaxDistance+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetMaxDistance+0x11 : mov [eax+38h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x38 }, + + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x78 }, + + // CDirectSoundVoice_SetMaxDistance+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetMinDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4361, 12, + + XREF_DSVOICESETMINDISTANCE, + XRefZero) + + // CDirectSoundVoice_SetMinDistance+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetMinDistance+0x11 : mov [eax+34h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x34 }, + + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x78 }, + + // CDirectSoundVoice_SetMinDistance+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetRolloffFactor +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 4361, 12, + + XREF_DSVOICESETROLLOFFFACTOR, + XRefZero) + + // CDirectSoundVoice_SetRolloffFactor+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetRolloffFactor+0x11 : mov [eax+44h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x44 }, + + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x78 }, + + // CDirectSoundVoice_SetRolloffFactor+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetDistanceFactor +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 4361, 12, + + XREF_DSVOICESETDISTANCEFACTOR, + XRefZero) + + // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetDistanceFactor+0x11 : mov [eax+40h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x40 }, + + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x78 }, + + // CDirectSoundVoice_SetDistanceFactor+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4361, 12, + + XREF_DSVOICESETCONEOUTSIDEVOLUME, + XRefZero) + + // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetConeOutsideVolume+0x11 : mov [eax+30h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x30 }, + + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x78 }, + + // CDirectSoundVoice_SetConeOutsideVolume+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetDopplerFactor +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4361, 12, + + XREF_CDirectSoundVoice_SetDopplerFactor, + XRefZero) + + // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetDopplerFactor+0x12 : mov [eax+48h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x48 }, + + { 0x14, 0x8B }, + { 0x1D, 0x83 }, + { 0x1F, 0x78 }, + + // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } +OOVPA_END; + // ****************************************************************** // * DSound_4361 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index fcaf91f88..fdf6248b9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -140,7 +140,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4134, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index c16200f9d..723e8d5f9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -406,27 +406,37 @@ OOVPA_END; // ****************************************************************** // * CDirectSound::SetDistanceFactorA // ****************************************************************** -OOVPA_XREF(CDirectSound_SetDistanceFactorA, 4627, 11, +OOVPA_XREF(CDirectSound_SetDistanceFactor, 4627, 17, XREF_SETDISTANCEFACTORA, XRefZero) - // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 + // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 { 0x23, 0x40 }, // (Offset,Value)-Pair #3 { 0x24, 0x00 }, // (Offset,Value)-Pair #4 { 0x25, 0x80 }, // (Offset,Value)-Pair #5 - // CDirectSound_SetDistanceFactorA+0x39 : or byte ptr[eax+0xA4], 0xE0 - { 0x39, 0x80 }, // (Offset,Value)-Pair #6 - { 0x3A, 0x88 }, // (Offset,Value)-Pair #7 - { 0x3B, 0xA4 }, // (Offset,Value)-Pair #8 - { 0x3F, 0xE0 }, // (Offset,Value)-Pair #9 + // CDirectSound_SetDistanceFactor+0x33 : mov [eax+68h], edx + { 0x33, 0x89 }, // (Offset,Value)-Pair #6 + { 0x34, 0x50 }, // (Offset,Value)-Pair #7 + { 0x35, 0x68 }, // (Offset,Value)-Pair #8 - // CDirectSound_SetDistanceFactorA+0x4F : jz +0x0B - { 0x4F, 0x74 }, // (Offset,Value)-Pair #10 - { 0x50, 0x0B }, // (Offset,Value)-Pair #11 + // CDirectSound_SetDistanceFactor+0x36 : mov eax, [ecx+8] + { 0x36, 0x8B }, // (Offset,Value)-Pair #9 + { 0x37, 0x41 }, // (Offset,Value)-Pair #10 + { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + + // CDirectSound_SetDistanceFactor+0x39 : or byte ptr[eax+0xA4], 0xE0 + { 0x39, 0x80 }, // (Offset,Value)-Pair #12 + { 0x3A, 0x88 }, // (Offset,Value)-Pair #13 + { 0x3B, 0xA4 }, // (Offset,Value)-Pair #14 + { 0x3F, 0xE0 }, // (Offset,Value)-Pair #15 + + // CDirectSound_SetDistanceFactor+0x4F : jz +0x0B + { 0x4F, 0x74 }, // (Offset,Value)-Pair #16 + { 0x50, 0x0B }, // (Offset,Value)-Pair #17 OOVPA_END; // ****************************************************************** @@ -1142,14 +1152,17 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetRolloffCurve // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetRolloffCurve, 4627, 8, +OOVPA_XREF(CDirectSoundVoice_SetRolloffCurve, 4627, 11, XREF_DSVOICESETROLLOFFCURVE, XRefZero) { 0x07, 0x8B }, { 0x10, 0x08 }, + { 0x11, 0x89 }, + { 0x12, 0x51 }, { 0x13, 0x70 }, + { 0x14, 0x8B }, { 0x19, 0xB4 }, { 0x22, 0x51 }, { 0x2B, 0x00 }, @@ -1422,6 +1435,62 @@ OOVPA_XREF(CDirectSoundStream_SetPitch, 4627, 12, { 0x51, 0x00 }, OOVPA_END; +// ****************************************************************** +// * CDirectSoundVoice::SetDistanceFactor +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 4627, 12, + + XREF_DSVOICESETDISTANCEFACTOR, + XRefZero) + + // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetDistanceFactor+0x11 : mov [eax+40h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x40 }, + + { 0x14, 0x8B }, + { 0x1D, 0x80 }, + { 0x1F, 0x78 }, + + // CDirectSoundVoice_SetDistanceFactor+0x30 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetDopplerFactor +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4627, 12, + + XREF_CDirectSoundVoice_SetDopplerFactor, + XRefZero) + + // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] + { 0x0D, 0x8B }, + { 0x0E, 0x54 }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // CDirectSoundVoice_SetDopplerFactor+0x12 : mov [eax+48h], edx + { 0x11, 0x89 }, + { 0x12, 0x50 }, + { 0x13, 0x48 }, + + { 0x14, 0x8B }, + { 0x1D, 0x80 }, + { 0x1F, 0x78 }, + + // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch + { 0x31, 0x0C }, + { 0x32, 0x00 } +OOVPA_END; + // ****************************************************************** // * DSound_4627 // ****************************************************************** @@ -1501,8 +1570,8 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4134, XREF), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4627, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), @@ -1519,7 +1588,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 4134, XREF), // s+ REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 4134, XREF), @@ -1537,7 +1606,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index e2e24ddfc..6d8a243dd 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -127,8 +127,8 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4134, XREF), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4627, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 288ef0f9c..77967ce9c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -339,7 +339,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 5233, 8, { 0x4D, 0x5F }, { 0x50, 0x08 }, OOVPA_END; - +#if 0 // Don't use. Duplicate detection CDirectSoundVoice_SetConeAngles. // ****************************************************************** // * CDirectSoundVoice::SetRolloffCurve // ****************************************************************** @@ -357,7 +357,7 @@ OOVPA_XREF(CDirectSoundVoice_SetRolloffCurve, 5233, 8, { 0x34, 0x10 }, { 0x3E, 0x33 }, OOVPA_END; - +#endif // ****************************************************************** // * DSound_5233 // ****************************************************************** @@ -423,7 +423,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSound_EnableHeadphones, 5233, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 4627, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), @@ -457,7 +457,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5233, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 1e743ea7e..3f9357271 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -116,7 +116,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5344, 7, +OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5344, 9, XREF_DSVOICESETDISTANCEFACTOR, XRefZero) @@ -128,6 +128,8 @@ OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5344, 7, { 0x12, 0x50 }, { 0x13, 0x44 }, { 0x14, 0x8B }, + { 0x1D, 0x80 }, + { 0x1F, 0x02 }, OOVPA_END; // ****************************************************************** @@ -171,7 +173,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetDistanceFactor // ****************************************************************** -OOVPA_XREF(CDirectSound_SetDistanceFactor, 5344, 9, +OOVPA_XREF(CDirectSound_SetDistanceFactor, 5344, 17, XREF_SETDISTANCEFACTORA, XRefZero) @@ -180,8 +182,20 @@ OOVPA_XREF(CDirectSound_SetDistanceFactor, 5344, 9, { 0x16, 0x68 }, { 0x22, 0x05 }, { 0x2E, 0x08 }, + + { 0x33, 0x89 }, + { 0x34, 0x50 }, { 0x35, 0x6C }, + + { 0x36, 0x8B }, + { 0x37, 0x41 }, + { 0x38, 0x08 }, + + { 0x39, 0x83 }, { 0x3A, 0x48 }, + { 0x3B, 0x34 }, + { 0x3C, 0x08 }, + { 0x4A, 0x85 }, { 0x53, 0xFF }, { 0x5E, 0x00 }, @@ -190,7 +204,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetDopplerFactor // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 5344, 9, +OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 5344, 12, XREF_CDirectSoundVoice_SetDopplerFactor, XRefZero) @@ -206,6 +220,10 @@ OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 5344, 9, { 0x12, 0x50 }, { 0x13, 0x4C }, + { 0x14, 0x8B }, + { 0x1D, 0x80 }, + { 0x1F, 0x03 }, + // CDirectSoundVoice_SetDopplerFactor+0x31 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } @@ -234,7 +252,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMaxDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 5344, 7, +OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 5344, 9, XREF_DSVOICESETMAXDISTANCE, XRefZero) @@ -242,7 +260,9 @@ OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 5344, 7, { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x3C }, - { 0x1A, 0x00 }, + { 0x14, 0x8B }, + { 0x1D, 0x80 }, + { 0x1F, 0x02 }, { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, @@ -306,20 +326,36 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSound::SetRolloffFactor // ****************************************************************** -OOVPA_XREF(CDirectSound_SetRolloffFactor, 5344, 9, +OOVPA_XREF(CDirectSound_SetRolloffFactor, 5344, 17, XREF_SETROLLOFFFACTORA, XRefZero) + // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 + { 0x22, 0x05 }, // (Offset,Value)-Pair #2 + { 0x23, 0x40 }, // (Offset,Value)-Pair #3 + { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x25, 0x80 }, // (Offset,Value)-Pair #5 - { 0x0C, 0x00 }, - { 0x16, 0x68 }, - { 0x22, 0x05 }, - { 0x2E, 0x08 }, - { 0x35, 0x70 }, - { 0x3A, 0x48 }, - { 0x4A, 0x85 }, - { 0x53, 0xFF }, - { 0x5E, 0x00 }, + // CDirectSound_SetRolloffFactor+0x33 : mov [eax+70h], edx + { 0x33, 0x89 }, // (Offset,Value)-Pair #6 + { 0x34, 0x50 }, // (Offset,Value)-Pair #7 + { 0x35, 0x70 }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8] + { 0x36, 0x8B }, // (Offset,Value)-Pair #9 + { 0x37, 0x41 }, // (Offset,Value)-Pair #10 + { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + + // CDirectSound_SetRolloffFactor+0x39 : or dword ptr [eax+34h], 10h + { 0x39, 0x83 }, // (Offset,Value)-Pair #12 + { 0x3A, 0x48 }, // (Offset,Value)-Pair #13 + { 0x3B, 0x34 }, // (Offset,Value)-Pair #14 + { 0x3C, 0x10 }, // (Offset,Value)-Pair #15 + + // CDirectSound_SetRolloffFactor+0x4C : jz +0x0B + { 0x4C, 0x74 }, // (Offset,Value)-Pair #16 + { 0x4D, 0x0B }, // (Offset,Value)-Pair #17 OOVPA_END; // ****************************************************************** @@ -641,7 +677,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetConeOutsideVolume // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 5344, 9, +OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 5344, 12, XREF_DSVOICESETCONEOUTSIDEVOLUME, XRefZero) @@ -657,6 +693,10 @@ OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 5344, 9, { 0x12, 0x50 }, { 0x13, 0x34 }, + { 0x14, 0x8B }, + { 0x1D, 0x80 }, + { 0x1F, 0x02 }, + // CDirectSoundVoice_SetConeOutsideVolume+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } @@ -665,7 +705,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetRolloffFactor // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 5344, 9, +OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 5344, 12, XREF_DSVOICESETROLLOFFFACTOR, XRefZero) @@ -681,6 +721,10 @@ OOVPA_XREF(CDirectSoundVoice_SetRolloffFactor, 5344, 9, { 0x12, 0x50 }, { 0x13, 0x48 }, + { 0x14, 0x8B }, + { 0x1D, 0x80 }, + { 0x1F, 0x03 }, + // CDirectSoundVoice_SetRolloffFactor+0x30 : retn 0Ch { 0x31, 0x0C }, { 0x32, 0x00 } diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 6b418487a..1d64018f0 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -74,33 +74,43 @@ OOVPA_END; // ****************************************************************** // * CDirectSound::SetDistanceFactorA // ****************************************************************** -OOVPA_XREF(CDirectSound_SetDistanceFactorA, 5558, 11, +OOVPA_XREF(CDirectSound_SetDistanceFactor, 5558, 17, XREF_SETDISTANCEFACTORA, XRefZero) - // CDirectSound_SetDistanceFactorA+0x21 : mov eax, 0x80004005 + // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 { 0x22, 0x05 }, // (Offset,Value)-Pair #2 { 0x23, 0x40 }, // (Offset,Value)-Pair #3 { 0x24, 0x00 }, // (Offset,Value)-Pair #4 { 0x25, 0x80 }, // (Offset,Value)-Pair #5 - // CDirectSound_SetDistanceFactorA+0x39 : or dword ptr[eax+0x30], 0x08 - { 0x39, 0x83 }, // (Offset,Value)-Pair #6 - { 0x3A, 0x48 }, // (Offset,Value)-Pair #7 - { 0x3B, 0x30 }, // (Offset,Value)-Pair #8 - { 0x3C, 0x08 }, // (Offset,Value)-Pair #9 + // CDirectSound_SetDistanceFactor+0x33 : mov [eax+68h], edx + { 0x33, 0x89 }, // (Offset,Value)-Pair #6 + { 0x34, 0x50 }, // (Offset,Value)-Pair #7 + { 0x35, 0x68 }, // (Offset,Value)-Pair #8 - // CDirectSound_SetDistanceFactorA+0x4C : jz +0x0B - { 0x4C, 0x74 }, // (Offset,Value)-Pair #10 - { 0x4D, 0x0B }, // (Offset,Value)-Pair #11 + // CDirectSound_SetDistanceFactor+0x36 : mov eax, [ecx+8] + { 0x36, 0x8B }, // (Offset,Value)-Pair #9 + { 0x37, 0x41 }, // (Offset,Value)-Pair #10 + { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + + // CDirectSound_SetDistanceFactor+0x39 : or dword ptr[eax+0x30], 0x08 + { 0x39, 0x83 }, // (Offset,Value)-Pair #12 + { 0x3A, 0x48 }, // (Offset,Value)-Pair #13 + { 0x3B, 0x30 }, // (Offset,Value)-Pair #14 + { 0x3C, 0x08 }, // (Offset,Value)-Pair #15 + + // CDirectSound_SetDistanceFactor+0x4C : jz +0x0B + { 0x4C, 0x74 }, // (Offset,Value)-Pair #16 + { 0x4D, 0x0B }, // (Offset,Value)-Pair #17 OOVPA_END; // ****************************************************************** // * CDirectSound::SetRolloffFactor // ****************************************************************** -OOVPA_XREF(CDirectSound_SetRolloffFactor, 5558, 11, +OOVPA_XREF(CDirectSound_SetRolloffFactor, 5558, 17, XREF_SETROLLOFFFACTORA, XRefZero) @@ -112,15 +122,25 @@ OOVPA_XREF(CDirectSound_SetRolloffFactor, 5558, 11, { 0x24, 0x00 }, // (Offset,Value)-Pair #4 { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + // CDirectSound_SetRolloffFactor+0x33 : mov [eax+6Ch], edx + { 0x33, 0x89 }, // (Offset,Value)-Pair #6 + { 0x34, 0x50 }, // (Offset,Value)-Pair #7 + { 0x35, 0x6C }, // (Offset,Value)-Pair #8 + + // CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8] + { 0x36, 0x8B }, // (Offset,Value)-Pair #9 + { 0x37, 0x41 }, // (Offset,Value)-Pair #10 + { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0x30], 0x10 - { 0x39, 0x83 }, // (Offset,Value)-Pair #6 - { 0x3A, 0x48 }, // (Offset,Value)-Pair #7 - { 0x3B, 0x30 }, // (Offset,Value)-Pair #8 - { 0x3C, 0x10 }, // (Offset,Value)-Pair #9 + { 0x39, 0x83 }, // (Offset,Value)-Pair #12 + { 0x3A, 0x48 }, // (Offset,Value)-Pair #13 + { 0x3B, 0x30 }, // (Offset,Value)-Pair #14 + { 0x3C, 0x10 }, // (Offset,Value)-Pair #15 // CDirectSound_SetRolloffFactor+0x4C : jz +0x0B - { 0x4C, 0x74 }, // (Offset,Value)-Pair #10 - { 0x4D, 0x0B }, // (Offset,Value)-Pair #11 + { 0x4C, 0x74 }, // (Offset,Value)-Pair #16 + { 0x4D, 0x0B }, // (Offset,Value)-Pair #17 OOVPA_END; // ****************************************************************** @@ -935,15 +955,20 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5558, 7, +OOVPA_XREF(CDirectSoundVoice_SetDistanceFactor, 5558, 12, XREF_DSVOICESETDISTANCEFACTOR, XRefZero) { 0x05, 0x41 }, { 0x0C, 0x00 }, + { 0x10, 0x08 }, + { 0x11, 0x89 }, + { 0x12, 0x50 }, { 0x13, 0x44 }, - { 0x1A, 0x00 }, + { 0x14, 0x8B }, + { 0x1D, 0x80 }, + { 0x1F, 0x02 }, { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, @@ -1606,11 +1631,6 @@ OOVPA_XREF(CDirectSoundStream_Use3DVoiceData, 5558, 9, { 0x4E, 0x08 }, OOVPA_END; -// ****************************************************************** -// * Rollback support signature(s) -// ****************************************************************** -#define CDirectSoundVoice_SetRolloffCurve_5558 CDirectSoundVoice_SetRolloffCurve_5233 - // ****************************************************************** // * DSound_5558 // ****************************************************************** @@ -1628,7 +1648,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5558, PATCH), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 5558, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? @@ -1706,7 +1726,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5233, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 844f6a97a..70cb68ab9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -576,7 +576,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 5788, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5233, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), @@ -643,7 +643,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 5558, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index d582a0fd2..6c8358943 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -207,7 +207,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 5558, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 19752e8ec..cc89f3ea6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -7,7 +7,7 @@ // * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, // * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, // * -// * Cxbx->Win32->CxbxKrnl->HLEDatabase->DSound.OOPVA.inl +// * Cxbx->Win32->CxbxKrnl->HLEDatabase->DSound.OOVPA.inl // * // * This file is part of the Cxbx project. // * @@ -145,27 +145,27 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 4627), REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4361, 4627, 4721, 5233, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 4627), REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4627, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 4134, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3936, 4134, 4361, 4627), REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4134, 5233, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4627), REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 4134, 4627, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5233, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 5344, 5788), // s+ (from 4134's comment) - REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment) + REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 4134, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 4134, 5233), REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, PATCH, 3936, 4134, 5344, 5558, 5788), @@ -179,8 +179,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 4627), REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3936, 4831, 5558), REGISTER_OOVPAS(CDirectSound_SetAllParametersA, XREF, 4627, 4721, 4831), - REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 5344), - REGISTER_OOVPAS(CDirectSound_SetDistanceFactorA, XREF, 3936, 4134, 4627, 5558), + REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_SetDistanceFactorA, XREF, 3936), REGISTER_OOVPAS(CDirectSound_SetDistanceFactorB, XREF, 3936), REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3936, 4134, 4627, 5344, 5558, 5788), REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 5344, 5788), From 9f33a1f4b7eb86a705ad56b2b56071437f178f67 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 13 Aug 2017 21:33:44 +0900 Subject: [PATCH 012/146] Improved DSound OOVPA Also - Merged alias DSound OOVPA - Renamed IDirectSoundBuffer_StopEx v5233 to IDirectSoundStream_FlushEx --- src/CxbxKrnl/HLEDataBase.h | 2 + src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 121 +++++++++++++++---- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 34 +++--- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 30 ++--- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 87 ++++--------- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 14 +-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 41 ++++--- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 53 ++++---- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 51 +++----- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 36 +++--- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 19 +-- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 59 ++++----- 12 files changed, 287 insertions(+), 260 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index ab90165f0..a4672fe8c 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -219,6 +219,7 @@ enum XRefDataBaseOffset XREF_DSBUFFERSETPLAYREGIONA, XREF_DSBUFFERLOCKA, XREF_DSBUFFERSETHEADROOMA, + XREF_DSBUFFERSETHEADROOMB, XREF_DSBUFFERSETFREQUENCYA, XREF_DSBUFFERSETFREQUENCYB, XREF_DSSTREAMSETMAXDISTANCE1A, @@ -334,6 +335,7 @@ enum XRefDataBaseOffset XREF_CMcpxBuffer_Play2, XREF_CDirectSoundVoice_Use3DVoiceData, XREF_CDirectSoundBuffer_Use3DVoiceData, + XREF_CDirectSound_SetEffectData, // XACT // +s XREF_XACT_CEngine_RegisterWaveBank, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 1e0a72e8d..6cbc9d4c7 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -205,40 +205,67 @@ OOVPA_XREF(IDirectSound_SetI3DL2Listener, 4134, 12, { 0x16, 0xC8 }, // (Offset,Value)-Pair #12 OOVPA_END; + // ****************************************************************** -// * IDirectSoundBuffer_SetHeadroomA +// * CDirectSoundVoice_SetHeadroom // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetHeadroomA, 4134, 7, +OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 4134, 12, + + XREF_DSBUFFERSETHEADROOMB, + XRefZero) + + { 0x00, 0x8B }, + { 0x08, 0x48 }, + { 0x0F, 0x2B }, + { 0x13, 0x1C }, + { 0x14, 0x89 }, + { 0x15, 0x70 }, + { 0x16, 0x20 }, + { 0x17, 0x8B }, + { 0x18, 0x4A }, + { 0x19, 0x0C }, + { 0x1A, 0xE8 }, + { 0x21, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_SetHeadroom +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 4134, 8, XREF_DSBUFFERSETHEADROOMA, - XRefZero) + XRefOne) - { 0x03, 0x04 }, - { 0x08, 0x48 }, - { 0x0D, 0x24 }, - { 0x12, 0x48 }, - { 0x17, 0x8B }, - { 0x1F, 0x5E }, - { 0x21, 0x08 }, + XREF_ENTRY( 0x32, XREF_DSBUFFERSETHEADROOMB ), + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, OOVPA_END; + // ****************************************************************** // * IDirectSoundBuffer_SetHeadroom // ****************************************************************** OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 4134, 8, - XRefNoSaveIndex, - XRefOne) - // IDirectSoundBuffer_SetHeadroom+0x32 : call [IDirectSoundBuffer_SetHeadroomA] - XREF_ENTRY(0x32, XREF_DSBUFFERSETHEADROOMA), + XRefNoSaveIndex, + XRefOne) - { 0x0C, 0x00 }, - { 0x12, 0x85 }, - { 0x1C, 0x15 }, - { 0x26, 0xEB }, - { 0x30, 0x10 }, - { 0x3A, 0x74 }, - { 0x47, 0x8B }, + // IDirectSoundBuffer_SetHeadroom+0x32 : call [CDirectSoundBuffer_SetHeadroom] + XREF_ENTRY(0x32, XREF_DSBUFFERSETHEADROOMA), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2658,6 +2685,53 @@ OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes2, 4134, 12, { 0x51, 0x00 }, OOVPA_END; +// ****************************************************************** +// * CDirectSound_SetEffectData +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetEffectData, 4134, 13, // Also for 5849 + + XREF_CDirectSound_SetEffectData, + XRefZero) + + { 0x00, 0x55 }, + { 0x0F, 0x00 }, + { 0x24, 0xB8 }, + { 0x25, 0x05 }, + { 0x26, 0x40 }, + { 0x27, 0x00 }, + { 0x28, 0x80 }, + { 0x29, 0xEB }, + { 0x2A, 0x32 }, + { 0x2B, 0x8B }, + { 0x2C, 0x45 }, + { 0x44, 0xE8 }, + { 0x60, 0x18 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetEffectData +// ****************************************************************** +OOVPA_XREF(IDirectSound_SetEffectData, 4134, 13, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x22, XREF_CDirectSound_SetEffectData ), + + { 0x04, 0x75 }, + { 0x0F, 0x75 }, + { 0x18, 0xD9 }, + { 0x19, 0xFF }, + { 0x1A, 0x75 }, + { 0x1B, 0x0C }, + { 0x1C, 0x1B }, + { 0x1D, 0xC9 }, + { 0x1E, 0x23 }, + { 0x1F, 0xC8 }, + { 0x26, 0x5D }, + { 0x28, 0x18 }, +OOVPA_END; + // ****************************************************************** // * Direct, 4134 // ****************************************************************** @@ -2673,7 +2747,8 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroomA, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), @@ -2783,6 +2858,8 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(CDirectSound_SetEffectData, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetEffectData, 4134, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 68fe45fce..02ab33887 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -52,6 +52,7 @@ OOVPA_NO_XREF(DirectSoundGetSampleTime, 4361, 8) { 0x0F, 0xC3 }, // (Offset,Value)-Pair #8 OOVPA_END; +#if 0 // Accurately CDirectSound_CreateSoundBuffer used 4134 // ****************************************************************** // * IDirectSound_CreateSoundBuffer // ****************************************************************** @@ -72,16 +73,7 @@ OOVPA_NO_XREF(IDirectSound_CreateSoundBuffer, 4361, 9) { 0x4E, 0xF8 }, // (Offset,Value)-Pair #8 { 0x4F, 0x7F }, // (Offset,Value)-Pair #9 OOVPA_END; - -// ****************************************************************** -// * CDirectSound::CreateSoundStream -// ****************************************************************** -#define CDirectSound_CreateSoundStream_4361 CDirectSound_CreateSoundStream_4134 - -// ****************************************************************** -// * DirectSoundCreateStream -// ****************************************************************** -#define DirectSoundCreateStream_4361 DirectSoundCreateStream_4134 +#endif // ****************************************************************** // * CMcpxStream_Pause @@ -342,6 +334,7 @@ OOVPA_XREF(IDirectSoundBuffer_Stop, 4361, 8, { 0x0E, 0xC8 }, // (Offset,Value)-Pair #8 OOVPA_END; +#if 0 // Used 4134 // ****************************************************************** // * DirectSound::CDirectSoundVoiceSettings::SetMixBinVolumes // ****************************************************************** @@ -358,7 +351,8 @@ OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4361, 7, { 0x1C, 0x3B }, { 0x21, 0x5E }, OOVPA_END; - +#endif +#if 0 // Used 4134 // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMixBinVolumes // ****************************************************************** @@ -377,7 +371,8 @@ OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4361, 8, { 0x19, 0x5E }, { 0x1A, 0xC2 }, OOVPA_END; - +#endif +#if 0 // Used 4134 // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetMixBinVolumes // ****************************************************************** @@ -396,7 +391,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4361, 8, { 0x3A, 0x74 }, { 0x47, 0x8B }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSoundBuffer::PlayEx // ****************************************************************** @@ -749,13 +744,14 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), - REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), + REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), - REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), + REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4361, PATCH), + REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), @@ -777,9 +773,9 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4361, PATCH), - REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4361, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4361, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4361, XREF), + REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index fdf6248b9..1b84e0c11 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -32,16 +32,7 @@ // * // ****************************************************************** -// ****************************************************************** -// * DirectSoundDoWork -// ****************************************************************** -#define DirectSoundDoWork_4432 DirectSoundDoWork_4361 - -// ****************************************************************** -// * DirectSoundGetSampleTime -// ****************************************************************** -#define DirectSoundGetSampleTime_4432 DirectSoundGetSampleTime_4361 - +#if 0 // Used 3936 // ****************************************************************** // * IDirectSound_Release // ****************************************************************** @@ -69,7 +60,8 @@ OOVPA_NO_XREF(IDirectSound_Release, 4432, 12) { 0x11, 0x51 }, // (Offset,Value)-Pair #11 { 0x12, 0x08 }, // (Offset,Value)-Pair #12 OOVPA_END; - +#endif +#if 0 // Used 4134 // ****************************************************************** // ****************************************************************** @@ -98,23 +90,25 @@ OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 4432, 10, { 0xB2, 0xC2 }, // (Offset,Value)-Pair #9 { 0xB3, 0x04 }, // (Offset,Value)-Pair #10 OOVPA_END; +#endif // ****************************************************************** -// * DirectSoundCreate, 4432 +// * DSound_4432 // ****************************************************************** OOVPATable DSound_4432[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), - REGISTER_OOVPA(DirectSoundGetSampleTime, 4432, PATCH), + REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), - REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), + REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), + REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 4432, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4361, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), @@ -135,7 +129,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4432, XREF), + REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 723e8d5f9..d63236b30 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -32,11 +32,6 @@ // * // ****************************************************************** -// ****************************************************************** -// * DirectSoundGetSampleTime -// ****************************************************************** -#define DirectSoundGetSampleTime_4627 DirectSoundGetSampleTime_4361 - // ****************************************************************** // * CDirectSound::SetMixBinHeadroom // ****************************************************************** @@ -194,26 +189,6 @@ OOVPA_XREF(CDirectSound_SetAllParameters, 4831, 8, { 0xE6, 0x0C }, OOVPA_END; -// ****************************************************************** -// * CDirectSoundVoiceSettings::SetMixBinVolumes -// ****************************************************************** -#define CDirectSoundVoiceSettings_SetMixBinVolumes_4627 CDirectSoundVoiceSettings_SetMixBinVolumes_4134 - -// ****************************************************************** -// * CDirectSoundVoice::SetMixBinVolumes -// ****************************************************************** -#define CDirectSoundVoice_SetMixBinVolumes_4627 CDirectSoundVoice_SetMixBinVolumes_4134 - -// ****************************************************************** -// * CDirectSoundBuffer::SetMixBinVolumes -// ****************************************************************** -#define CDirectSoundBuffer_SetMixBinVolumes_4627 CDirectSoundBuffer_SetMixBinVolumes_4134 - -// ****************************************************************** -// * IDirectSoundBuffer_SetMixBinVolumes2 -// ****************************************************************** -#define IDirectSoundBuffer_SetMixBinVolumes2_4627 IDirectSoundBuffer_SetMixBinVolumes2_4134 - // ****************************************************************** // * CDirectSound::SetPositionA // ****************************************************************** @@ -493,11 +468,6 @@ OOVPA_XREF(CDirectSoundVoice_SetPosition, 4627, 8, { 0x53, 0x00 } OOVPA_END; -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetFormat -// ****************************************************************** -#define CDirectSoundVoice_SetFormat_4627 CDirectSoundVoice_SetFormat_4361 - // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetFormat // ****************************************************************** @@ -516,16 +486,6 @@ OOVPA_XREF(CDirectSoundVoice_SetFormat, 4721, 8, { 0x43, 0x00 }, OOVPA_END; -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetFormat -// ****************************************************************** -#define CDirectSoundBuffer_SetFormat_4627 CDirectSoundBuffer_SetFormat_4361 - -// ****************************************************************** -// * IDirectSoundBuffer_SetFormat -// ****************************************************************** -#define IDirectSoundBuffer_SetFormat_4627 IDirectSoundBuffer_SetFormat_4361 - // ****************************************************************** // * CMcpxStream_Pause // ****************************************************************** @@ -554,11 +514,6 @@ OOVPA_XREF(CMcpxStream_Pause, 4831, 11, { 0x8C, 0x04 }, // (Offset,Value)-Pair #11 OOVPA_END; -// ****************************************************************** -// * CDirectSoundStream_SetMixBinVolumes2 -// ****************************************************************** -#define CDirectSoundStream_SetMixBinVolumes2_4627 CDirectSoundStream_SetMixBinVolumes2_4134 - // ****************************************************************** // * DirectSound::CDirectSound::EnableHeadphones (incorrect?) // ****************************************************************** @@ -795,7 +750,7 @@ OOVPA_XREF(CDirectSoundBuffer_GetStatus, 4721, 8, { 0x44, 0xFF }, { 0x4B, 0xC7 }, OOVPA_END; - +#if 0 // Used 4134 // ****************************************************************** // * IDirectSoundBuffer_GetStatus // ****************************************************************** @@ -814,6 +769,7 @@ OOVPA_XREF(IDirectSoundBuffer_GetStatus, 4721, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMixBins @@ -930,15 +886,22 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::FlushEx // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_FlushEx, 4627, 7, +OOVPA_XREF(CDirectSoundStream_FlushEx, 4627, 14, XREF_DSFLUSHEX2, XRefZero) { 0x0F, 0x00 }, { 0x18, 0x0B }, + { 0x24, 0xB8 }, { 0x25, 0x05 }, - { 0x32, 0x8B }, + { 0x26, 0x40 }, + { 0x27, 0x00 }, + { 0x28, 0x80 }, + { 0x29, 0xEB }, + { 0x2A, 0x36 }, + { 0x2B, 0x83 }, + { 0x2C, 0x7D }, { 0x3F, 0x75 }, { 0x4D, 0x85 }, { 0x59, 0x15 }, @@ -968,6 +931,7 @@ OOVPA_END; // * XAudioDownloadEffectsImage // ****************************************************************** OOVPA_NO_XREF(XAudioDownloadEffectsImage, 4627, 8) +#define XAudioDownloadEffectsImage_5788 XAudioDownloadEffectsImage_4627 { 0x1E, 0xB6 }, { 0x41, 0x83 }, @@ -1498,7 +1462,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), - REGISTER_OOVPA(DirectSoundGetSampleTime, 4627, PATCH), + REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), @@ -1508,7 +1472,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroomA, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), @@ -1521,10 +1485,10 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetPositionA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPositionA, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), @@ -1541,9 +1505,9 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), + REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), - REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), + REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), @@ -1553,6 +1517,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), @@ -1614,12 +1579,12 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s - REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4627, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4361, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), @@ -1632,8 +1597,6 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4721, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4721, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4627, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 6d8a243dd..a0f83b2df 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -54,7 +54,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), - REGISTER_OOVPA(DirectSoundGetSampleTime, 4627, PATCH), + REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), @@ -64,7 +64,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroomA, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), @@ -98,9 +98,9 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), + REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), - REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), + REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), @@ -180,8 +180,8 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), @@ -195,7 +195,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4721, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4627, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 77967ce9c..e97a08314 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -77,7 +77,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream_FlushEx // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_FlushEx, 5233, 11, +OOVPA_XREF(CDirectSoundStream_FlushEx, 5233, 15, XREF_DSFLUSHEX2, XRefZero) @@ -88,20 +88,26 @@ OOVPA_XREF(CDirectSoundStream_FlushEx, 5233, 11, { 0x27, 0x00 }, // (Offset,Value)-Pair #4 { 0x28, 0x80 }, // (Offset,Value)-Pair #5 - { 0x36, 0x74 }, // (Offset,Value)-Pair #6 - { 0x37, 0x12 }, // (Offset,Value)-Pair #7 + { 0x29, 0xEB }, // (Offset,Value)-Pair #6 + { 0x2A, 0x3A }, // (Offset,Value)-Pair #7 + { 0x2B, 0x83 }, // (Offset,Value)-Pair #8 + { 0x2C, 0x7D }, // (Offset,Value)-Pair #9 - { 0x3E, 0xFF }, // (Offset,Value)-Pair #8 - { 0x40, 0x0C }, // (Offset,Value)-Pair #9 + { 0x36, 0x74 }, // (Offset,Value)-Pair #10 + { 0x37, 0x12 }, // (Offset,Value)-Pair #11 - { 0x67, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x68, 0x10 }, // (Offset,Value)-Pair #11 + { 0x3E, 0xFF }, // (Offset,Value)-Pair #12 + { 0x40, 0x0C }, // (Offset,Value)-Pair #13 + + { 0x67, 0xC2 }, // (Offset,Value)-Pair #14 + { 0x68, 0x10 }, // (Offset,Value)-Pair #15 OOVPA_END; +#if 0 // Used 4627 // ****************************************************************** -// * IDirectSoundBuffer_StopEx +// * IDirectSoundStream_FlushEx // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_StopEx, 5233, 9, +OOVPA_XREF(IDirectSoundStream_FlushEx, 5233, 9, XRefNoSaveIndex, XRefOne) @@ -120,6 +126,7 @@ OOVPA_XREF(IDirectSoundBuffer_StopEx, 5233, 9, { 0x15, 0xC2 }, // (Offset,Value)-Pair #8 { 0x16, 0x10 }, // (Offset,Value)-Pair #9 OOVPA_END; +#endif // ****************************************************************** // CMcpxAPU::SynchPlayback @@ -189,11 +196,6 @@ OOVPA_XREF(IDirectSound_SynchPlayback, 5233, 8, { 0x16, 0x04 }, // (Offset,Value)-Pair #8 OOVPA_END; -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetFormat -// ****************************************************************** -#define CDirectSoundVoice_SetFormat_5233 CDirectSoundVoice_SetFormat_4721 - // ****************************************************************** // CDirectSoundVoice::SetMode // ****************************************************************** @@ -400,9 +402,9 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), + REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), - REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), + REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), @@ -418,7 +420,6 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 5233, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5233, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 5233, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), @@ -451,9 +452,9 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using) - REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5233, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 3f9357271..936bcecbb 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -35,7 +35,7 @@ // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMinDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 5344, 7, +OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 5344, 9, XREF_DSVOICESETMINDISTANCE, XRefZero) @@ -43,7 +43,9 @@ OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 5344, 7, { 0x05, 0x41 }, { 0x0C, 0x00 }, { 0x13, 0x38 }, - { 0x1A, 0x00 }, + { 0x14, 0x8B }, + { 0x1D, 0x80 }, + { 0x1F, 0x02 }, { 0x21, 0xF6 }, { 0x28, 0x51 }, { 0x2F, 0xC0 }, @@ -358,6 +360,7 @@ OOVPA_XREF(CDirectSound_SetRolloffFactor, 5344, 17, { 0x4D, 0x0B }, // (Offset,Value)-Pair #17 OOVPA_END; +#if 0 // Used 4134 // ****************************************************************** // * IDirectSound_SetRolloffFactor // ****************************************************************** @@ -376,11 +379,12 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 5344, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; +#endif // ****************************************************************** // CDirectSoundVoice::SetMode // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMode, 5344, 8, +OOVPA_XREF(CDirectSoundVoice_SetMode, 5344, 11, XREF_DSBUFFERSETMODEB, XRefZero) @@ -388,11 +392,14 @@ OOVPA_XREF(CDirectSoundVoice_SetMode, 5344, 8, { 0x09, 0xB4 }, // (Offset,Value)-Pair #1 { 0x10, 0x08 }, // (Offset,Value)-Pair #2 { 0x13, 0x40 }, // (Offset,Value)-Pair #3 - { 0x15, 0x41 }, // (Offset,Value)-Pair #4 - { 0x18, 0x80 }, // (Offset,Value)-Pair #5 - { 0x19, 0xB4 }, // (Offset,Value)-Pair #6 - { 0x2E, 0x33 }, // (Offset,Value)-Pair #7 - { 0x31, 0x0C }, // (Offset,Value)-Pair #8 + { 0x14, 0x8B }, // (Offset,Value)-Pair #4 + { 0x15, 0x41 }, // (Offset,Value)-Pair #5 + { 0x18, 0x80 }, // (Offset,Value)-Pair #6 + { 0x19, 0xB4 }, // (Offset,Value)-Pair #7 + { 0x1D, 0x80 }, // (Offset,Value)-Pair #8 + { 0x1F, 0x02 }, // (Offset,Value)-Pair #9 + { 0x2E, 0x33 }, // (Offset,Value)-Pair #10 + { 0x31, 0x0C }, // (Offset,Value)-Pair #11 OOVPA_END; // ****************************************************************** @@ -602,6 +609,7 @@ OOVPA_XREF(CMcpxVoiceClient_SetFilter, 5344, 8, { 0x7E, 0x0B }, OOVPA_END; +#if 0 // Used 4361 // ****************************************************************** // * DirectSound::CDirectSoundBuffer::StopEx // ****************************************************************** @@ -620,6 +628,7 @@ OOVPA_XREF(CDirectSoundBuffer_StopEx, 5344, 9, { 0x41, 0x85 }, { 0x47, 0x68 }, OOVPA_END; +#endif // ****************************************************************** // * IDirectSound_SetEffectData @@ -662,15 +671,15 @@ OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 5344, 10, XREF_CDirectSoundVoice_SetAllParameters, XRefZero) + { 0x00, 0x8B }, { 0x0C, 0x50 }, { 0x10, 0xB4 }, - { 0x14, 0xD9 }, - { 0x1E, 0x92 }, { 0x13, 0x00 }, { 0x14, 0xD9 }, { 0x15, 0x5A }, { 0x16, 0x08 }, { 0x17, 0xD9 }, + { 0x1E, 0x92 }, { 0x21, 0x00 }, OOVPA_END; @@ -870,7 +879,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), - REGISTER_OOVPA(DirectSoundGetSampleTime, 4627, PATCH), + REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CMcpxAPU_SynchPlayback, 5233, XREF), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5344, XREF), @@ -902,8 +911,8 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), - REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), + REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), + REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), @@ -952,9 +961,9 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5233, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), @@ -968,7 +977,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5344, XREF), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 5344, PATCH), // Was 4134 + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // Was 4134 REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), @@ -996,11 +1005,11 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 5344, XREF), + REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 1d64018f0..f6a773766 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -486,18 +486,22 @@ OOVPA_END; // ****************************************************************** // * public: long __thiscall DirectSound::CMcpxBuffer::Play(__int64,unsigned long) // ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Play2, 5558, 8, +OOVPA_XREF(CMcpxBuffer_Play2, 5558, 12, XREF_CMcpxBuffer_Play2, XRefZero) - { 0x06, 0x56 }, - { 0x0E, 0xF1 }, - { 0x16, 0xFF }, + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x18, 0x0C }, + { 0x19, 0xFF }, + { 0x1A, 0x75 }, + { 0x1B, 0x08 }, + { 0x1C, 0x6A }, { 0x1D, 0x03 }, { 0x1E, 0xFF }, - { 0x26, 0x75 }, - { 0x2F, 0x8B }, + { 0x1F, 0x50 }, { 0x36, 0xC2 }, OOVPA_END; @@ -569,16 +573,6 @@ OOVPA_XREF(CMcpxBuffer_GetStatus, 5558, 11, { 0x2C, 0x00 }, // (Offset,Value)-Pair #11 OOVPA_END; -// ****************************************************************** -// * WaveFormat::CreateXboxAdpcmFormat -// ****************************************************************** -#define WaveFormat_CreateXboxAdpcmFormat_5558 WaveFormat_CreateXboxAdpcmFormat_5344 - -// ****************************************************************** -// * XAudioCreateAdpcmFormat -// ****************************************************************** -#define XAudioCreateAdpcmFormat_5558 XAudioCreateAdpcmFormat_5344 - // ****************************************************************** // * CDirectSoundVoice::SetFormat // ****************************************************************** @@ -1255,11 +1249,6 @@ OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition, 5558, 9, { 0x1E, 0x0C }, OOVPA_END; -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetFormat -// ****************************************************************** -#define CDirectSoundStream_SetFormat_5558 CDirectSoundStream_SetFormat_4361 - // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMixBins // ****************************************************************** @@ -1642,10 +1631,10 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), - REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), @@ -1654,15 +1643,15 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 5233, PATCH), + REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), - REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4361, XREF), - REGISTER_OOVPA(DirectSoundCreateStream, 4361, PATCH), + REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), + REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), @@ -1718,8 +1707,8 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), - REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5558, XREF), - REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5558, PATCH), + REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), + REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH), @@ -1755,7 +1744,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFormat, 5558, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 70cb68ab9..c5a053a81 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -57,7 +57,7 @@ OOVPA_XREF(CMcpxBuffer_SetBufferData, 5788, 9, { 0x89, 0xC2 }, // (Offset,Value)-Pair #8 { 0x8A, 0x08 }, // (Offset,Value)-Pair #9 OOVPA_END; - +#if 0 // Used CMcpxBuffer_Play 4831 // ****************************************************************** // * DirectSound::CMcpxBuffer::Play // ****************************************************************** @@ -74,7 +74,7 @@ OOVPA_XREF(CMcpxBuffer_Play2, 5788, 7, { 0xAE, 0x04 }, { 0xAF, 0x00 }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSoundBuffer::Play // ****************************************************************** @@ -279,7 +279,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 5788, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; - +#if 0 // Not 5788 // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetVolume // ****************************************************************** @@ -296,7 +296,8 @@ OOVPA_XREF(CDirectSoundVoice_SetVolume, 5788, 7, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#endif +#if 0 // Used 5233 // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetVolume // ****************************************************************** @@ -315,7 +316,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetVolume, 5788, 8, { 0x3A, 0x74 }, { 0x47, 0x8B }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSoundStream::SetVolume // ****************************************************************** @@ -504,13 +505,6 @@ OOVPA_XREF(CDirectSoundStream_FlushEx, 5788, 7, { 0x62, 0x8B }, OOVPA_END; -// ****************************************************************** -// * IDirectSound_SetEffectData -// ****************************************************************** -// * No XRefs! Woohoo! -// ****************************************************************** -#define IDirectSound_SetEffectData_5788 IDirectSound_SetEffectData_5344 - // ****************************************************************** // * DirectSound::CMemoryManager::PoolAlloc // ****************************************************************** @@ -571,10 +565,10 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 5788, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), @@ -690,17 +684,17 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 5558, PATCH), - REGISTER_OOVPA(IDirectSound_SetEffectData, 5788, PATCH), + REGISTER_OOVPA(IDirectSound_SetEffectData, 5344, PATCH), REGISTER_OOVPA(CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), - REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5558, XREF), - REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFormat, 5558, PATCH), + REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), + REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Play2, 5788, XREF), + REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 6c8358943..de9c249ee 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -107,18 +107,18 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 5788, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5788, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5788, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), @@ -196,13 +196,14 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), - REGISTER_OOVPA(IDirectSound_SetEffectData, 5344, PATCH), + REGISTER_OOVPA(CDirectSound_SetEffectData, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetEffectData, 4134, PATCH), REGISTER_OOVPA(CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFormat, 5558, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 5849, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Play2, 5788, XREF), + REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index cc89f3ea6..12ad8d24a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -67,17 +67,17 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetDopplerFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetEG, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetFilter, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4361, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4361, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetFrequency, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3936, 4134, 5344, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3936, 4134, 5344, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBins, XREF, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4134, 4361, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4134, 5233), REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3936, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 4627), @@ -89,7 +89,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetVolume, XREF, 4134, 5233), REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3936, 4361), - REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3936, 4361, 5558), @@ -107,7 +107,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4627), - REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4361), REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3936, 5233), REGISTER_OOVPAS(CDirectSoundStream_SetFrequencyA, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetFrequencyB, XREF, 3936), @@ -123,7 +123,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetMinDistanceC, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3936, 4627, 5233, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes, PATCH, 3936), //TODO: What's the difference from this and below? - REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes2, PATCH, 4134, 4627, 5788), //TODO: What's the difference from this and above? + REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes2, PATCH, 4134, 5788), //TODO: What's the difference from this and above? REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 4627, 5849), @@ -131,7 +131,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetPositionA, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetPositionB, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetPositionC, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffFactor, PATCH, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetVelocityA, XREF, 3936), @@ -139,8 +139,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetVelocityC, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), - REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4134, 4432, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4134, 4361, 4627), + REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4134), REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3936, 4134, 5344, 5558), @@ -148,22 +148,22 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4361, 4627, 4721, 5233, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4361, 4721, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 4627), REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4134, 4627, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3936, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3936, 4134, 4361, 4627), + REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3936, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4134, 5233, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4627), REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 4134, 4627, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment) REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 4134, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 4134, 5233), @@ -172,7 +172,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsA, XREF, 3936), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsB, XREF, 3936), REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3936, 4134), - REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3936, 4134, 4361, 5558), + REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3936, 4627, 5233, 5344, 5558), REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3936), REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), @@ -183,7 +183,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_SetDistanceFactorA, XREF, 3936), REGISTER_OOVPAS(CDirectSound_SetDistanceFactorB, XREF, 3936), REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3936, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 5344, 5788), + REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 4134), REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroomA, XREF, 3936), @@ -206,8 +206,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition2, XREF, 3936), REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3936, 4134, 4721, 4831, 5558), REGISTER_OOVPAS(CMcpxBuffer_Pause, XREF, 4831), - REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3925, 4361, 4721, 4831), - REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558, 5788), + REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3925, 4361, 4721, 4831), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJK@Z + REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788), REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 4134, 5558, 5788), REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 4361), @@ -225,16 +225,16 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3925, 3936), REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3936, 4134), REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4627), - REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 4134, 4361, 5788), + REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 4134, 5788), REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(DirectSoundDoWorkA, XREF, 3936), REGISTER_OOVPAS(DirectSoundDoWorkB, XREF, 3936), REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3936), - REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3936, 4361, 4432, 4627), + REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3936, 4361), REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3925, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3936, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3936, 4134, 4721), + REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_LockA, XREF, 3936, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4928), @@ -256,17 +256,17 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 4134), - REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4361, 4627, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4361, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroomA, XREF, 3936, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroomA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 4134, 5344, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes, PATCH, 3936), //TODO: What's the difference from this and below? - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes2, PATCH, 4134, 4627), //TODO: What's the difference from this and above? + REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes2, PATCH, 4134), //TODO: What's the difference from this and above? REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3936, 4134, 5233), REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3936, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 4627), @@ -283,7 +283,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeB, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3936, 4134, 4361), - REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 4361, 5233), + REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3936/*, 4134, 4361*/), @@ -292,15 +292,16 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_EnableHeadphones, PATCH, 3936, 4627, 5233, 5558), REGISTER_OOVPAS(IDirectSound_GetCaps, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558), - REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3936, 4432), + REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 4134, 5344), REGISTER_OOVPAS(IDirectSound_SetI3DL2Listener, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3936, 4627, 5558), REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_SetPosition, PATCH, 3936, 5558), - REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3936, 4134, 5344), // Was (from 5344's comment, was what?) + REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3936, 4134/*, 5344*/), REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSound_SynchPlayback, PATCH, 5233), @@ -309,9 +310,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CHRTFSource_SetFullHRTF5Channel, XREF, 5558), - REGISTER_OOVPAS(WaveFormat_CreateXboxAdpcmFormat, XREF, 5344, 5558), - REGISTER_OOVPAS(XAudioDownloadEffectsImage, PATCH, 4627, 5558), - REGISTER_OOVPAS(XAudioCreateAdpcmFormat, PATCH, 5344, 5558), + REGISTER_OOVPAS(WaveFormat_CreateXboxAdpcmFormat, XREF, 5344), + REGISTER_OOVPAS(XAudioDownloadEffectsImage, PATCH, 4627, 5558, 5788), + REGISTER_OOVPAS(XAudioCreateAdpcmFormat, PATCH, 5344), REGISTER_OOVPAS(XFileCreateMediaObjectAsync, PATCH, 5788), REGISTER_OOVPAS(XFileCreateMediaObjectEx, PATCH, 4627, 5028), REGISTER_OOVPAS(XWaveFileCreateMediaObject, PATCH, 4627), From 2a5009d5a239a481d4183b521ccfa77790bd6ea2 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 14 Aug 2017 06:33:02 +0900 Subject: [PATCH 013/146] Fixed XREF name Plus fixed IDirectSoundBuffer_SetHeadroom 4134 OOVPA --- src/CxbxKrnl/HLEDataBase.h | 1 - src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 10 +++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index a4672fe8c..c4ff7ced8 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -219,7 +219,6 @@ enum XRefDataBaseOffset XREF_DSBUFFERSETPLAYREGIONA, XREF_DSBUFFERLOCKA, XREF_DSBUFFERSETHEADROOMA, - XREF_DSBUFFERSETHEADROOMB, XREF_DSBUFFERSETFREQUENCYA, XREF_DSBUFFERSETFREQUENCYB, XREF_DSSTREAMSETMAXDISTANCE1A, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 6cbc9d4c7..fdb0a3552 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -211,7 +211,7 @@ OOVPA_XREF(IDirectSound_SetI3DL2Listener, 4134, 12, // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 4134, 12, - XREF_DSBUFFERSETHEADROOMB, + XREF_CDirectSoundVoice_SetHeadroom, XRefZero) { 0x00, 0x8B }, @@ -233,10 +233,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 4134, 8, - XREF_DSBUFFERSETHEADROOMA, + XREF_CDirectSoundBuffer_SetHeadroom, XRefOne) - XREF_ENTRY( 0x32, XREF_DSBUFFERSETHEADROOMB ), + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetHeadroom ), { 0x0C, 0x00 }, { 0x12, 0x85 }, @@ -256,8 +256,8 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 4134, 8, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetHeadroom+0x32 : call [CDirectSoundBuffer_SetHeadroom] - XREF_ENTRY(0x32, XREF_DSBUFFERSETHEADROOMA), + // IDirectSoundBuffer_SetHeadroom+0x15 : call [CDirectSoundBuffer_SetHeadroom] + XREF_ENTRY(0x15, XREF_CDirectSoundBuffer_SetHeadroom), { 0x02, 0x24 }, { 0x06, 0x24 }, From b68e9bb90b35e4bb56e076cd7c9eccc63827b120 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Tue, 15 Aug 2017 12:16:38 +0900 Subject: [PATCH 014/146] Move a comment in Rollback support signature section --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 1 - src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index d63236b30..8060b5b5b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -931,7 +931,6 @@ OOVPA_END; // * XAudioDownloadEffectsImage // ****************************************************************** OOVPA_NO_XREF(XAudioDownloadEffectsImage, 4627, 8) -#define XAudioDownloadEffectsImage_5788 XAudioDownloadEffectsImage_4627 { 0x1E, 0xB6 }, { 0x41, 0x83 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index c5a053a81..21375605c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -542,6 +542,7 @@ OOVPA_END; // ****************************************************************** #define CDirectSoundBuffer_SetBufferData_5788 CDirectSoundBuffer_SetBufferData_4134 #define IDirectSoundBuffer_SetBufferData_5788 IDirectSoundBuffer_SetBufferData_4134 +#define XAudioDownloadEffectsImage_5788 XAudioDownloadEffectsImage_4627 // ****************************************************************** // * DSound_5788 From 443e0987ed7965716c3041c6fec9862f522a3764 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 17 Aug 2017 04:57:15 -0500 Subject: [PATCH 015/146] Implement IDirectSoundBuffer Unlock OOVPA 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?!?! --- src/CxbxKrnl/EmuDSound.cpp | 39 ++++++++++++++++++++ src/CxbxKrnl/EmuDSound.h | 11 ++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 15 ++++++++ src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 1 + 4 files changed, 66 insertions(+) diff --git a/src/CxbxKrnl/EmuDSound.cpp b/src/CxbxKrnl/EmuDSound.cpp index 0d3f1297f..3ffff3e8d 100644 --- a/src/CxbxKrnl/EmuDSound.cpp +++ b/src/CxbxKrnl/EmuDSound.cpp @@ -1058,6 +1058,45 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_Lock) RETURN_RESULT_CHECK(hRet); } +// ****************************************************************** +// * patch: IDirectSoundBuffer_Unlock +// ****************************************************************** +HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_Unlock) +( + X_CDirectSoundBuffer* pThis, + LPVOID ppvAudioPtr1, + DWORD pdwAudioBytes1, + LPVOID ppvAudioPtr2, + DWORD pdwAudioBytes2 + ) +{ + FUNC_EXPORTS; + + enterCriticalSection; + + LOG_FUNC_BEGIN + LOG_FUNC_ARG(pThis) + LOG_FUNC_ARG(ppvAudioPtr1) + LOG_FUNC_ARG(pdwAudioBytes1) + LOG_FUNC_ARG(ppvAudioPtr2) + LOG_FUNC_ARG(pdwAudioBytes2) + LOG_FUNC_END; + + DSoundGenericUnlock(pThis->EmuFlags, + pThis->EmuDirectSoundBuffer8, + pThis->EmuBufferDesc, + pThis->EmuLockOffset, + pThis->EmuLockPtr1, + pThis->EmuLockBytes1, + pThis->EmuLockPtr2, + pThis->EmuLockBytes2, + pThis->EmuLockFlags); + + leaveCriticalSection; + + return DS_OK; +} + // ****************************************************************** // * patch: IDirectSoundBuffer_SetHeadroom // ****************************************************************** diff --git a/src/CxbxKrnl/EmuDSound.h b/src/CxbxKrnl/EmuDSound.h index eaa2e5c9a..7ff618688 100644 --- a/src/CxbxKrnl/EmuDSound.h +++ b/src/CxbxKrnl/EmuDSound.h @@ -707,6 +707,17 @@ HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_Lock) LPDWORD pdwAudioBytes2, DWORD dwFlags ); +// ****************************************************************** +// * patch: IDirectSoundBuffer_Unlock +// ****************************************************************** +HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_Unlock) +( + X_CDirectSoundBuffer* pThis, + LPVOID ppvAudioPtr1, + DWORD pdwAudioBytes1, + LPVOID ppvAudioPtr2, + DWORD pdwAudioBytes2 + ); // ****************************************************************** // * patch: IDirectSoundBuffer_SetHeadroom diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 8f96d59fe..67e0cbca4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -4035,6 +4035,21 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 3936, 9, { 0x1F, 0x00 } OOVPA_END; +// ****************************************************************** +// * IDirectSoundBuffer_Unlock +// ****************************************************************** +OOVPA_NO_XREF(IDirectSoundBuffer_Unlock, 3936, 5) + + // IDirectSoundBuffer_Unlock+0x00 : xor eax, eax + { 0x00, 0x33 }, + { 0x01, 0xC0 }, + + // IDirectSoundBuffer_Unlock+0x02 : ret 14h + { 0x02, 0xC2 }, + { 0x03, 0x14 }, + { 0x04, 0x00 } +OOVPA_END; + // ****************************************************************** // * DSound_3936 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 12ad8d24a..67db5c060 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -284,6 +284,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeB, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3936, 4134, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 4361), + REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3936/*, 4134, 4361*/), From 022b61b97df16266ddc59c916c26017603442425 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 17 Aug 2017 05:10:10 -0500 Subject: [PATCH 016/146] Adding IDirectSoundBuffer_Unlock in HLEDB v1 Section --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 3 ++- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 3 ++- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 3 ++- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 3 ++- 10 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 67e0cbca4..fe1b8ecd5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -4205,6 +4205,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index fdb0a3552..06f0878ca 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2860,6 +2860,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetEffectData, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetEffectData, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 02ab33887..50d1e27e9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -791,6 +791,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 1b84e0c11..e3462f6c2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -140,6 +140,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 8060b5b5b..7066d7a8f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1644,6 +1644,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index a0f83b2df..17e1d8f98 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -245,6 +245,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index e97a08314..97e337bec 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -525,7 +525,8 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH) + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 936bcecbb..75514e393 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -1038,7 +1038,8 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH) + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 21375605c..4218fc399 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -719,7 +719,8 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH) + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index de9c249ee..347bdd8ca 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -237,7 +237,8 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH) + REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; // ****************************************************************** From 3a18fe1cb1372c08cf6ea60684506e7a07dd6015 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 25 Aug 2017 08:58:23 -0500 Subject: [PATCH 017/146] Removing Duplicate Patch Function --- src/CxbxKrnl/EmuDSound.cpp | 27 ++------------------------- src/CxbxKrnl/EmuDSound.h | 9 --------- 2 files changed, 2 insertions(+), 34 deletions(-) mode change 100644 => 100755 src/CxbxKrnl/EmuDSound.cpp mode change 100644 => 100755 src/CxbxKrnl/EmuDSound.h diff --git a/src/CxbxKrnl/EmuDSound.cpp b/src/CxbxKrnl/EmuDSound.cpp old mode 100644 new mode 100755 index 3ffff3e8d..6d8eed274 --- a/src/CxbxKrnl/EmuDSound.cpp +++ b/src/CxbxKrnl/EmuDSound.cpp @@ -338,30 +338,6 @@ HRESULT WINAPI XTL::EMUPATCH(CDirectSound_GetSpeakerConfig) return S_OK; } -// ****************************************************************** -// * patch: IDirectSound8_EnableHeadphones -// ****************************************************************** -HRESULT WINAPI XTL::EMUPATCH(IDirectSound8_EnableHeadphones) -( - LPDIRECTSOUND8 pThis, - BOOL fEnabled) -{ - FUNC_EXPORTS; - - enterCriticalSection; - - LOG_FUNC_BEGIN - LOG_FUNC_ARG(pThis) - LOG_FUNC_ARG(fEnabled) - LOG_FUNC_END; - - EmuWarning("EmuIDirectSound8_EnableHeadphones ignored"); - - leaveCriticalSection; - - return S_OK; -} - // ****************************************************************** // * patch: IDirectSound_SynchPlayback // ****************************************************************** @@ -2671,7 +2647,8 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSound_EnableHeadphones) LOG_FUNC_ARG(fEnabled) LOG_FUNC_END; - LOG_UNIMPLEMENTED_DSOUND(); + //Windows Vista and later does not set speaker configuration from SetSpeakerConfig function. + EmuWarning("EmuIDirectSound_EnableHeadphones ignored"); leaveCriticalSection; diff --git a/src/CxbxKrnl/EmuDSound.h b/src/CxbxKrnl/EmuDSound.h old mode 100644 new mode 100755 index 7ff618688..7f8af0f40 --- a/src/CxbxKrnl/EmuDSound.h +++ b/src/CxbxKrnl/EmuDSound.h @@ -489,15 +489,6 @@ HRESULT WINAPI EMUPATCH(CDirectSound_GetSpeakerConfig) PDWORD pdwSpeakerConfig ); -// ****************************************************************** -// * patch: IDirectSound8_EnableHeadphones -// ****************************************************************** -HRESULT WINAPI EMUPATCH(IDirectSound8_EnableHeadphones) -( - LPDIRECTSOUND8 pThis, - BOOL fEnabled -); - // ****************************************************************** // * patch: IDirectSound_SynchPlayback // ****************************************************************** From 0891a74ac2ab1e52e80ef8b7542e5b4dffb41e84 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 25 Aug 2017 09:47:52 -0500 Subject: [PATCH 018/146] Couple fixes to comments and a TODO task. - Removing 8 from DirectSound8's comments for DSound.1.0.5233.inl - Added a TODO message for 2 different OOVPA signature for same functionality. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 14 +++++++------- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 1 + 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index fe1b8ecd5..ae9b59ce6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -3077,6 +3077,7 @@ OOVPA_XREF(CDirectSound_SetAllParametersA, 3936, 10, { 0x49, 0x0C }, // (Offset,Value)-Pair #10 OOVPA_END; +//TODO: Which one is accurate for 3936 and older version? IDirectSound8_SetAllParameters or IDirectSound_SetAllParameters? // ****************************************************************** // * IDirectSound8_SetAllParameters // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 97e337bec..a341ce127 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -51,7 +51,7 @@ OOVPA_XREF(CDirectSound_EnableHeadphones, 5233, 8, OOVPA_END; // ****************************************************************** -// * IDirectSound8_EnableHeadphones +// * IDirectSound_EnableHeadphones // ****************************************************************** OOVPA_XREF(IDirectSound_EnableHeadphones, 5233, 8, @@ -60,16 +60,16 @@ OOVPA_XREF(IDirectSound_EnableHeadphones, 5233, 8, XREF_ENTRY( 0x15, XREF_DSENABLEHEADPHONES ), // (Offset,Value)-Pair #1 - // IDirectSound8_EnableHeadphones+0x0A : add eax, 0xFFFFFFF8 + // IDirectSound_EnableHeadphones+0x0A : add eax, 0xFFFFFFF8 { 0x0A, 0x83 }, // (Offset,Value)-Pair #2 { 0x0B, 0xC0 }, // (Offset,Value)-Pair #3 { 0x0C, 0xF8 }, // (Offset,Value)-Pair #4 - // IDirectSound8_EnableHeadphones+0x0F : sbb ecx, ecx + // IDirectSound_EnableHeadphones+0x0F : sbb ecx, ecx { 0x0F, 0x1B }, // (Offset,Value)-Pair #5 { 0x10, 0xC9 }, // (Offset,Value)-Pair #6 - // IDirectSound8_EnableHeadphones+0x19 : retn 0x08 + // IDirectSound_EnableHeadphones+0x19 : retn 0x08 { 0x19, 0xC2 }, // (Offset,Value)-Pair #7 { 0x1A, 0x08 }, // (Offset,Value)-Pair #8 OOVPA_END; @@ -243,16 +243,16 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 5233, 8, XREF_ENTRY( 0x19, XREF_DSBUFFERSETMODEA ), // (Offset,Value)-Pair #1 - // IDirectSound8_EnableHeadphones+0x0E : add eax, 0xFFFFFFE4 + // IDirectSoundBuffer_SetMode+0x0E : add eax, 0xFFFFFFE4 { 0x0E, 0x83 }, // (Offset,Value)-Pair #2 { 0x0F, 0xC0 }, // (Offset,Value)-Pair #3 { 0x10, 0xE4 }, // (Offset,Value)-Pair #4 - // IDirectSound8_EnableHeadphones+0x13 : sbb ecx, ecx + // IDirectSoundBuffer_SetMode+0x13 : sbb ecx, ecx { 0x13, 0x1B }, // (Offset,Value)-Pair #5 { 0x14, 0xC9 }, // (Offset,Value)-Pair #6 - // IDirectSound8_EnableHeadphones+0x19 : retn 0x0C + // IDirectSoundBuffer_SetMode+0x19 : retn 0x0C { 0x1D, 0xC2 }, // (Offset,Value)-Pair #7 { 0x1E, 0x0C }, // (Offset,Value)-Pair #8 OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 67db5c060..0d15bec3a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -295,6 +295,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558), REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound8_SetAllParameters, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 4134, 5344), From fd28748b0f3df2004b199692e9efb9c455ba641c Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 26 Aug 2017 09:45:20 -0500 Subject: [PATCH 019/146] Improve Detection - Add missing CDirectSound_GetCaps detection for 4361 xdk titles and later. - Changed CDirectSound_SynchPlayback patch to xref for 5558. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 21 ++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 2 ++ src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 2 ++ src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 2 ++ src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 11 +++++++--- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 2 ++ src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2 ++ src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 5 ++--- 8 files changed, 41 insertions(+), 6 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index e3462f6c2..4950b78c0 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -32,6 +32,25 @@ // * // ****************************************************************** +//TODO: Need further verification for 4361 titles, 4432 is last known lowest build match. +//Test case for 4361: Burnout (found a match yet is called twice for every time joystick is moved. Is this normal?) +// ****************************************************************** +// * DirectSound::GetCaps +// ****************************************************************** +OOVPA_XREF(CDirectSound_GetCaps, 4361, 7, + + XREF_CDirectSound_GetCaps, + XRefZero) + + { 0x0C, 0x0F }, + { 0x0D, 0xB6 }, + { 0x0E, 0xC8 }, + { 0x46, 0x8B }, + { 0x4C, 0x8B }, + { 0x69, 0xC2 }, + { 0x6A, 0x08 }, +OOVPA_END; + #if 0 // Used 3936 // ****************************************************************** // * IDirectSound_Release @@ -141,6 +160,8 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), + REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 7066d7a8f..854d6669e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1645,6 +1645,8 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), + REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 17e1d8f98..945e11b0e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -246,6 +246,8 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), + REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index a341ce127..f8aff5064 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -527,6 +527,8 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), + REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index f6a773766..ffde82dc4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -35,7 +35,9 @@ // ****************************************************************** // * CDirectSound::SynchPlayback // ****************************************************************** -OOVPA_NO_XREF(CDirectSound_SynchPlayback, 5558, 7) +OOVPA_XREF(CDirectSound_SynchPlayback, 5558, 7, + XREF_DSSYNCHPLAYBACKA, + XRefZero) { 0x0C, 0x00 }, { 0x12, 0x85 }, @@ -1627,7 +1629,8 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), - REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), + REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, XREF), + REGISTER_OOVPA(IDirectSound_SynchPlayback, 5233, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), @@ -1777,7 +1780,9 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH) + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), + REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 4218fc399..cd4e0317f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -721,6 +721,8 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), + REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 347bdd8ca..04fe0c8eb 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -239,6 +239,8 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), + REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 0d15bec3a..587936b28 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -174,7 +174,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3936, 4134), REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3936, 4627, 5233, 5344, 5558), - REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3936, 4361), REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 4627), REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3936, 4831, 5558), @@ -197,8 +197,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetVelocityA, XREF, 3936), REGISTER_OOVPAS(CDirectSound_SetVelocityB, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344), - REGISTER_OOVPAS(CDirectSound_SynchPlayback, PATCH, 5558), // TODO: Do a patch or just XREF? Will need find IDirectSound_SynchPlayback patch address + REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344, 5558), REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_Set3dParameters, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_SynchPlayback, XREF, 5233), From 10c686c65d6a2cfd3bcfe5565e7eea2c815cdb31 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 26 Aug 2017 10:11:21 -0500 Subject: [PATCH 020/146] Append to Previous Commit --- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 75514e393..52e61697b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -1040,6 +1040,8 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), + REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; // ****************************************************************** From 4ed100ec832b4e55cd193a2cbc508d23b9e83032 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 26 Aug 2017 10:13:26 -0500 Subject: [PATCH 021/146] Fixed Smashing Drive title Since v1 is overriding build version, lets lower DirectSoundCreateBuffer OOVPA to last known detected version. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 4 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 854d6669e..72714bc88 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -218,7 +218,7 @@ OOVPA_END; // ****************************************************************** // * DirectSoundCreateBuffer // ****************************************************************** -OOVPA_XREF(DirectSoundCreateBuffer, 4627, 12, +OOVPA_XREF(DirectSoundCreateBuffer, 4242, 12, XRefNoSaveIndex, XRefOne) @@ -1491,7 +1491,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_SetPositionA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPositionA, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), - REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), + REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 945e11b0e..6023eb2f6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -85,7 +85,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_SetPositionA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPositionA, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), - REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), + REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index f8aff5064..c7da9a72d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -389,7 +389,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSound_SetPositionA, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), - REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), + REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 52e61697b..e2cb322a5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -898,7 +898,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5233, PATCH), REGISTER_OOVPA(CDirectSound_SetPositionA, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), - REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), + REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index ffde82dc4..05730ad14 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1733,7 +1733,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using) - REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), + REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 5558, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index cd4e0317f..f8fc37ee2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -624,7 +624,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, PATCH), - REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), + REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5788, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 04fe0c8eb..b609c67f8 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -153,7 +153,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, PATCH), - REGISTER_OOVPA(DirectSoundCreateBuffer, 4627, PATCH), + REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5788, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 587936b28..a2a0ffd1a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -223,7 +223,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3936, 4134), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3925, 3936), REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3936, 4134), - REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4627), + REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4242), REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 4134, 5788), REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(DirectSoundDoWorkA, XREF, 3936), From 569dc590107a220063dab93f9a1774875304361d Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 26 Aug 2017 11:18:57 -0500 Subject: [PATCH 022/146] Fixed Gauntlet Dark Legacy title Moving SetFormat OOVPAs to 4242 version. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 16 ++++++++-------- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 8 ++++---- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 4 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 4 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 4 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 8 ++++---- 9 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 50d1e27e9..43876dbc9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -477,7 +477,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetFormat // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetFormat, 4361, 8, +OOVPA_XREF(CDirectSoundVoice_SetFormat, 4242, 8, XREF_CDirectSoundVoice_SetFormat, XRefZero) @@ -495,7 +495,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetFormat // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetFormat, 4361, 8, +OOVPA_XREF(CDirectSoundBuffer_SetFormat, 4242, 8, XREF_CDirectSoundBuffer_SetFormat, XRefOne) @@ -514,7 +514,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetFormat // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetFormat, 4361, 8, +OOVPA_XREF(IDirectSoundBuffer_SetFormat, 4242, 8, XRefNoSaveIndex, XRefOne) @@ -533,7 +533,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundStream::SetFormat // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFormat, 4361, 9, +OOVPA_XREF(CDirectSoundStream_SetFormat, 4242, 9, XRefNoSaveIndex, XRefOne) @@ -787,10 +787,10 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4361, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4242, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 72714bc88..458db068e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1578,11 +1578,11 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s - REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4361, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 6023eb2f6..80304460e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -180,8 +180,8 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index c7da9a72d..3acf5ce34 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -453,8 +453,8 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using) REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index e2cb322a5..03f304825 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -962,8 +962,8 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 05730ad14..1f3cad98c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1747,7 +1747,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index f8fc37ee2..7bd840600 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -690,7 +690,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index b609c67f8..2a157a427 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -200,7 +200,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSound_SetEffectData, 4134, PATCH), REGISTER_OOVPA(CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 5849, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index a2a0ffd1a..d7e33ca2d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -70,7 +70,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetFilter, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4242, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetFrequency, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 4134, 5558), @@ -107,7 +107,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4627), - REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4361), + REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242), REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3936, 5233), REGISTER_OOVPAS(CDirectSoundStream_SetFrequencyA, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetFrequencyB, XREF, 3936), @@ -148,7 +148,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4361, 4721, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4242, 4721, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 4627), @@ -255,7 +255,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 4134), - REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4361, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroomA, XREF, 3936), From ac8a827d9cb2dd6ff82709574bd90eeeaac2b76e Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 26 Aug 2017 11:41:02 -0500 Subject: [PATCH 023/146] Carry Original Values Over --- src/CxbxKrnl/EmuDSoundInline.hpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/CxbxKrnl/EmuDSoundInline.hpp b/src/CxbxKrnl/EmuDSoundInline.hpp index 5f795abc4..345339034 100644 --- a/src/CxbxKrnl/EmuDSoundInline.hpp +++ b/src/CxbxKrnl/EmuDSoundInline.hpp @@ -378,10 +378,19 @@ inline void ResizeIDirectSoundBuffer( } DbgPrintf("EmuResizeIDirectSoundBuffer8 : Resizing! (0x%.08X->0x%.08X)\n", pDSBufferDesc->dwBufferBytes, dwBytes); - DWORD dwPlayCursor, dwWriteCursor, dwStatus, refCount; - LONG lVolume; + DWORD dwPlayCursor, dwWriteCursor, dwStatus, refCount, dwFrequency; + LONG lVolume, lPan; + WAVEFORMATEX cfxFormatEx; + DS3DBUFFER ds3dBuffer; pDSBuffer->GetVolume(&lVolume); + pDSBuffer->GetFrequency(&dwFrequency); + pDSBuffer->GetPan(&lPan); + pDSBuffer->GetFormat(&cfxFormatEx, sizeof(WAVEFORMATEX), &dwStatus); + + if (pDSBufferDesc->dwFlags & DSBCAPS_CTRL3D) { + pDS3DBuffer->GetAllParameters(&ds3dBuffer); + } HRESULT hRet = pDSBuffer->GetCurrentPosition(&dwPlayCursor, &dwWriteCursor); @@ -427,11 +436,15 @@ inline void ResizeIDirectSoundBuffer( if (FAILED(hRet3D)) { EmuWarning("CreateSound3DBuffer Failed!"); pDS3DBuffer = NULL; + } else { + pDS3DBuffer->SetAllParameters(&ds3dBuffer, DS3D_IMMEDIATE); } } + pDSBuffer->SetFormat(&cfxFormatEx); + pDSBuffer->SetPan(lPan); + pDSBuffer->SetFrequency(dwFrequency); pDSBuffer->SetVolume(lVolume); - pDSBuffer->SetCurrentPosition(dwPlayCursor); if (dwStatus & DSBSTATUS_PLAYING) { From 5f38195dfd73fe410ca0b2e7cd759eaa5718264d Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 27 Aug 2017 11:47:03 -0500 Subject: [PATCH 024/146] Removed SetFormat SetFormat method function can be only used on primary buffer class base on DirectSound's documentation. --- src/CxbxKrnl/EmuDSoundInline.hpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/CxbxKrnl/EmuDSoundInline.hpp b/src/CxbxKrnl/EmuDSoundInline.hpp index 345339034..52ab82c14 100644 --- a/src/CxbxKrnl/EmuDSoundInline.hpp +++ b/src/CxbxKrnl/EmuDSoundInline.hpp @@ -380,13 +380,11 @@ inline void ResizeIDirectSoundBuffer( DWORD dwPlayCursor, dwWriteCursor, dwStatus, refCount, dwFrequency; LONG lVolume, lPan; - WAVEFORMATEX cfxFormatEx; DS3DBUFFER ds3dBuffer; pDSBuffer->GetVolume(&lVolume); pDSBuffer->GetFrequency(&dwFrequency); pDSBuffer->GetPan(&lPan); - pDSBuffer->GetFormat(&cfxFormatEx, sizeof(WAVEFORMATEX), &dwStatus); if (pDSBufferDesc->dwFlags & DSBCAPS_CTRL3D) { pDS3DBuffer->GetAllParameters(&ds3dBuffer); @@ -441,7 +439,6 @@ inline void ResizeIDirectSoundBuffer( } } - pDSBuffer->SetFormat(&cfxFormatEx); pDSBuffer->SetPan(lPan); pDSBuffer->SetFrequency(dwFrequency); pDSBuffer->SetVolume(lVolume); From 22ca5b38d4c60a0614ec1b668252d59ab231edfc Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 2 Sep 2017 09:41:22 -0500 Subject: [PATCH 025/146] Implement Workaround Fix for missing DSound Library 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. --- src/CxbxKrnl/HLEIntercept.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index b81099ecb..edd83bd09 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -288,11 +288,22 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) LastUnResolvedXRefs = UnResolvedXRefs; + bool bDSoundLibSection = false; + uint16 preserveVersion = 0; + for(uint32 v=0;v(pXbeHeader->dwSectionHeadersAddr); Xbe::SectionHeader* pSectionScan = nullptr; @@ -337,6 +346,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) } if (strcmp(LibraryName.c_str(), Lib_DSOUND) == 0) { + bDSoundLibSection = true; // Skip scanning for DSOUND symbols when LLE APU is selected if (bLLE_APU) continue; @@ -601,6 +611,12 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) } if (g_bPrintfOn && notFoundHLEDB) printf("Skipped\n"); + + if (v == dwLibraryVersions - 1 && bDSoundLibSection == false) { + LibraryName = Lib_DSOUND; + OrigBuildVersion = BuildVersion = preserveVersion; + goto reProcessScan; + } } bXRefFirstPass = false; From 206ee8046d6d5811f0a9913ce1aa5e212623b5bc Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 2 Sep 2017 19:47:45 -0500 Subject: [PATCH 026/146] Fix Solution Explorer Filter - Moved DSound 5849 to bottom section. - Added missing DSound.OOVPA.inl file to filter. --- build/win32/Cxbx.vcxproj.filters | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 82aa831c0..88afba97c 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -632,7 +632,7 @@ HLEDatabase\D3D8 - + HLEDatabase\DSound @@ -665,6 +665,9 @@ HLEDatabase\DSound + + HLEDatabase\DSound + HLEDatabase\Xapi From f84327814d17930984eab4f8709b8f3ed0630d58 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 2 Sep 2017 19:58:16 -0500 Subject: [PATCH 027/146] Introduce DSound 4039 HLE Database - Added DirectSoundCreate - Added DirectSoundCreateBuffer - Added CDirectSound_CreateSoundBuffer - Noted CDirectSound_CreateSoundBuffer OOVPA version 3936 has false detection for 4039. --- build/win32/Cxbx.vcxproj.filters | 3 + src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 5 + src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 120 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 7 +- 4 files changed, 132 insertions(+), 3 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 88afba97c..f65f88b12 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -638,6 +638,9 @@ HLEDatabase\DSound + + HLEDatabase\DSound + HLEDatabase\DSound diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index ae9b59ce6..404139b31 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -204,6 +204,11 @@ OOVPA_XREF(CDirectSound_CreateSoundBuffer, 3936, 16, XREF_DSCREATESOUNDBUFFER, XRefZero) + /*TODO: Need verification offset 0x00 is push ebp or different op code. + This is needed to avoid false detection for 4039 and later XDK version. + // CDirectSound_CreateSoundBuffer+0x00 : push ebp + { 0x00, 0x55 }, + */ // CDirectSound_CreateSoundBuffer+0x2D : and esi, 0x7FF8FFF2 { 0x2D, 0x81 }, // (Offset,Value)-Pair #1 { 0x2E, 0xE6 }, // (Offset,Value)-Pair #2 diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl new file mode 100644 index 000000000..6406845df --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -0,0 +1,120 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4039.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 RadWolfie +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * DirectSoundCreate +// ****************************************************************** +OOVPA_NO_XREF(DirectSoundCreate, 4039, 9) + // DirectSoundCreate+0x0B : mov esi, eax + { 0x0B, 0x8B }, + { 0x0C, 0xF0 }, + + // DirectSoundCreate+0x11 : call [addr] + { 0x11, 0xE8 }, + + // DirectSoundCreate+0x1A : jl +0x13 + { 0x1A, 0x7C }, + { 0x1B, 0x13 }, + + // DirectSoundCreate+0x26 : sbb ecx, ecx + { 0x26, 0x1B }, + { 0x27, 0xC9 }, + + // DirectSoundCreate+0x43 : retn 0x0C + { 0x43, 0xC2 }, + { 0x44, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * DirectSoundCreateBuffer +// ****************************************************************** +OOVPA_XREF(DirectSoundCreateBuffer, 4039, 11, + + XRefNoSaveIndex, + XRefOne) + + // DirectSoundCreateBuffer+0x2B : call [CDirectSound::CreateSoundBuffer] + XREF_ENTRY(0x2C, XREF_DSCREATESOUNDBUFFER), + + // DirectSoundCreateBuffer+0x04 : and [ebp-0x04], 0 + { 0x04, 0x83 }, + { 0x05, 0x65 }, + { 0x06, 0xFC }, + + // DirectSoundCreateBuffer+0x08 : push esi; push edi + { 0x08, 0x56 }, + { 0x09, 0x57 }, + + // DirectSoundCreateBuffer+0x32 : lea eax, [ebp-0x04] + { 0x32, 0x8D }, + { 0x33, 0x45 }, + { 0x34, 0xFC }, + + // DirectSoundCreateBuffer+0x4F : retn 0x08 + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::CreateSoundBuffer +// ****************************************************************** +OOVPA_XREF(CDirectSound_CreateSoundBuffer, 4039, 15, + + XREF_DSCREATESOUNDBUFFER, + XRefZero) + // CDirectSound_CreateSoundBuffer+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSound_CreateSoundBuffer+0x25 : mov eax, 0x80004005 + { 0x25, 0xB8 }, + { 0x26, 0x05 }, + { 0x27, 0x40 }, + { 0x29, 0x80 }, + + // CDirectSound_CreateSoundBuffer+0x2E : push 0x24 + { 0x2E, 0x6A }, + { 0x2F, 0x24 }, + + // CDirectSound_CreateSoundBuffer+0x4C : add esi, 0x7FF8FFF2 + { 0x4C, 0x81 }, + { 0x4D, 0xE6 }, + { 0x4E, 0xF2 }, + { 0x4F, 0xFF }, + { 0x50, 0xF8 }, + { 0x51, 0x7F }, + + // CDirectSound_CreateSoundBuffer+0x9C : retn 0x10 + { 0x9C, 0xC2 }, + { 0x9D, 0x10 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index d7e33ca2d..8cf782e02 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -37,6 +37,7 @@ #include "../OOVPA.h" #include "DSound.1.0.3936.inl" +#include "DSound.1.0.4039.inl" #include "DSound.1.0.4134.inl" #include "DSound.1.0.4361.inl" #include "DSound.1.0.4432.inl" @@ -171,7 +172,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, PATCH, 3936, 4134, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsA, XREF, 3936), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsB, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3936, 4134), + REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3936, 4627, 5233, 5344, 5558), REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3936, 4361), @@ -222,8 +223,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3936, 4134), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3925, 3936), - REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3936, 4134), - REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4242), + REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3936, 4039, 4134), + REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4039, 4242), REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 4134, 5788), REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(DirectSoundDoWorkA, XREF, 3936), From 07c96f00042d68eeec7c451b66d902a8202b1b95 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 3 Sep 2017 19:06:07 +0900 Subject: [PATCH 028/146] Added DSound 4039 HLE Database Following PATCH are available - CDirectSoundStream_SetVolume - CDirectSound_CommitDeferredSettings - DirectSoundDoWork - IDirectSoundBuffer_SetBufferData - IDirectSoundBuffer_SetFrequency - IDirectSoundBuffer_SetHeadroom - IDirectSoundBuffer_SetLoopRegion - IDirectSoundBuffer_SetPitch - IDirectSoundBuffer_SetVolume - IDirectSoundBuffer_Stop - IDirectSound_SetDistanceFactor - IDirectSound_SetDopplerFactor - IDirectSound_SetRolloffFactor --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 583 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 24 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 42 +- 12 files changed, 659 insertions(+), 62 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 6406845df..5b6202459 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -118,3 +118,586 @@ OOVPA_XREF(CDirectSound_CreateSoundBuffer, 4039, 15, { 0x9C, 0xC2 }, { 0x9D, 0x10 }, OOVPA_END; + +// ****************************************************************** +// * DirectSoundDoWorkA +// ****************************************************************** +OOVPA_XREF(DirectSoundDoWorkA, 4039, 13, + + XREF_DSDOWORKA, + XRefZero) + + // DirectSoundDoWorkA+0x0D : mov esi, eax + { 0x0D, 0x8B }, + { 0x0E, 0xF0 }, + + // DirectSoundDoWorkA+0x0F : jnz +0x0C + { 0x0F, 0x75 }, + { 0x10, 0x0C }, + + // DirectSoundDoWorkA+0x11 : mov eax, [esp+4+arg_0] + { 0x11, 0x8B }, + { 0x12, 0x44 }, + { 0x13, 0x24 }, + { 0x14, 0x08 }, + + // DirectSoundDoWorkA+0x15 : mov ecx, [eax+0Ch] + { 0x15, 0x8B }, + { 0x16, 0x48 }, + { 0x17, 0x0C }, + + // DirectSoundDoWorkA+0x24 : retn 0x04 + { 0x2D, 0xC2 }, + { 0x2E, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetLoopRegion +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4039, 15, + + XREF_CDirectSoundBuffer_SetLoopRegion, + XRefZero) + + // CDirectSoundBuffer_SetLoopRegion+0x23 : mov eax, 0x80004005 + { 0x23, 0xB8 }, + { 0x24, 0x05 }, + { 0x25, 0x40 }, + { 0x26, 0x00 }, + { 0x27, 0x80 }, + + // CDirectSoundBuffer_SetLoopRegion+0x3C : lea ebx, [esi+ecx] + { 0x3C, 0x8D }, + { 0x3D, 0x1C }, + { 0x3E, 0x0E }, + + // CDirectSoundBuffer_SetLoopRegion+0x3F : cmp ebx, [eax+148h] + { 0x3F, 0x3B }, + { 0x40, 0x98 }, + { 0x41, 0x48 }, + { 0x42, 0x01 }, + { 0x43, 0x00 }, + { 0x44, 0x00 }, + + // CDirectSoundBuffer_SetLoopRegion+0x2D : call CMcpxBuffer_SetLoopRegion + { 0x66, 0xE8 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer8::SetLoopRegion +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 4039, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetLoopRegion ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::SetDistanceFactor +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetDistanceFactor, 4039, 17, + + XREF_SETDISTANCEFACTORA, + XRefZero) + + // CDirectSound_SetDistanceFactor+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSound_SetDistanceFactor+0x32 : mov [eax+48h], edx + { 0x32, 0x89 }, + { 0x33, 0x50 }, + { 0x34, 0x48 }, // Value is CDirectSound_SetDistanceFactor +0x00h + + // CDirectSound_SetDistanceFactor+0x35 : mov eax, [ecx+8] + { 0x35, 0x8B }, + { 0x36, 0x41 }, + { 0x37, 0x08 }, + + // CDirectSound_SetDistanceFactor+0x38 : or dword ptr [eax+84h], 60h + { 0x38, 0x83 }, + { 0x39, 0x88 }, + { 0x3A, 0x84 }, // 4039 0x84 vs 4134 0xA4 + { 0x3E, 0x60 }, + + // CDirectSound_SetDistanceFactor+0x4E : jz +0x0B + { 0x4E, 0x74 }, + { 0x4F, 0x0B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::SetRolloffFactor +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetRolloffFactor, 4039, 17, + + XREF_SETROLLOFFFACTORA, + XRefZero) + + // CDirectSound_SetRolloffFactor+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSound_SetRolloffFactor+0x33 : mov [eax+4Ch], edx + { 0x32, 0x89 }, + { 0x33, 0x50 }, + { 0x34, 0x4C }, // Value is CDirectSound_SetDistanceFactor +0x04h + + // CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8] + { 0x35, 0x8B }, + { 0x36, 0x41 }, + { 0x37, 0x08 }, + + // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0x84], 0x04 + { 0x38, 0x83 }, + { 0x39, 0x88 }, + { 0x3A, 0x84 }, // 4039 0x84 vs 4134 0xA4 + { 0x3E, 0x04 }, + + // CDirectSound_SetRolloffFactor+0x4E : jz +0x0B + { 0x4E, 0x74 }, + { 0x4F, 0x0B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::SetDopplerFactor +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetDopplerFactor, 4039, 14, + + XREF_SETDOPPLERFACTOR, + XRefZero) + + // CDirectSound_SetDopplerFactor+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSound_SetDopplerFactor+0x32 : mov [eax+0x50], edx + { 0x32, 0x89 }, + { 0x33, 0x50 }, + { 0x34, 0x50 }, // Value is CDirectSound_SetDistanceFactor+ 0x08h + + // CDirectSound_SetDopplerFactor+0x38 : or dword ptr[eax+0x84], 0x40 + { 0x38, 0x83 }, + { 0x39, 0x88 }, + { 0x3A, 0x84 }, // 4039 0x84 vs 4134 0xA4 + { 0x3E, 0x40 }, + + // CDirectSound_SetDopplerFactor+0x4E : jz +0x0B + { 0x4E, 0x74 }, + { 0x4F, 0x0B }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient_SetVolume +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetVolume, 4039, 13, + + XREF_DSSTREAMSETVOLUME, + XRefZero) + + // CMcpxVoiceClient_SetVolume+0x15 : test byte ptr [esi+90h], 1 + { 0x15, 0xF6 }, + { 0x16, 0x86 }, + { 0x17, 0x90 }, + { 0x18, 0x00 }, + { 0x19, 0x00 }, + { 0x1A, 0x00 }, + { 0x1B, 0x01 }, + + // CMcpxVoiceClient_SetVolume+0x1C : jz +0x75 + { 0x1C, 0x74 }, + { 0x1D, 0x75 }, + + // CMcpxVoiceClient_SetVolume+0x73 : mov edx, [ebp+eax*4-0x14] + { 0x73, 0x8B }, + { 0x74, 0x54 }, + { 0x75, 0x85 }, + { 0x76, 0xEC }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetVolume, 4039, 13, + + XREF_CDirectSoundVoice_SetVolume, + XRefOne) + + // CDirectSoundVoice_SetVolume+0x15 : call [CMcpxVoiceClient::SetVolume] + XREF_ENTRY( 0x15, XREF_DSSTREAMSETVOLUME ), + + // CDirectSoundVoice_SetVolume+0x04 : mov eax, [ecx+10h] + { 0x04, 0x8B }, + { 0x05, 0x41 }, + { 0x06, 0x10 }, + + // CDirectSoundVoice_SetVolume+0x07 : mov edx, [esp+arg_4] + { 0x07, 0x8B }, + { 0x08, 0x54 }, + { 0x09, 0x24 }, + { 0x0A, 0x08 }, + + // CDirectSoundVoice_SetVolume+0x0B : sub edx, [eax+28h] + { 0x0B, 0x2B }, + { 0x0C, 0x50 }, + { 0x0D, 0x28 }, + + // CDirectSoundVoice_SetVolume+0x19 : retn 8 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4039, 10, + + XREF_CDirectSoundBuffer_SetVolume, + XRefOne) + + // CDirectSoundBuffer_SetVolume+0x31 : call [CMcpxVoiceClient::SetVolume] + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetVolume ), + + // CDirectSoundBuffer_SetVolume+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetVolume+0x25 : jmp +0x22 + { 0x25, 0xEB }, + { 0x26, 0x22 }, + + // CDirectSoundBuffer_SetVolume+0x2C : push [esp+0x10] + { 0x2C, 0xFF }, + { 0x2D, 0x74 }, + { 0x2E, 0x24 }, + { 0x2F, 0x10 }, + + // CDirectSoundBuffer_SetVolume+0x4A : retn 0x08 + { 0x4A, 0xC2 }, + { 0x4B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer::SetVolume +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetVolume, 4039, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetVolume ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetVolume, 4039, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetVolume ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + { 0x29, 0x24 }, + { 0x34, 0xE8 }, + { 0x3F, 0x68 }, + { 0x4A, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetHeadroom +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 4039, 12, + + XREF_CDirectSoundVoice_SetHeadroom, + XRefZero) + + { 0x00, 0x8B }, + { 0x08, 0x48 }, + { 0x0F, 0x2B }, + + { 0x13, 0x24 }, // 4039 0x24 vs 4134 0x1C + { 0x14, 0x89 }, + { 0x15, 0x70 }, + { 0x16, 0x28 }, // 4039 0x28 vs 4134 0x20 + { 0x17, 0x8B }, + { 0x18, 0x4A }, + { 0x19, 0x0C }, + { 0x1A, 0xE8 }, + + { 0x21, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_SetHeadroom +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 4039, 8, + + XREF_DSBUFFERSETHEADROOMA, + XRefOne) + + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetHeadroom ), + + { 0x00, 0x56 }, + { 0x11, 0x85 }, + { 0x1B, 0x15 }, + { 0x25, 0xEB }, + { 0x2F, 0x10 }, + { 0x39, 0x74 }, + { 0x46, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_SetBufferData +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 4039, 16, + + XREF_DSSETBUFFERDATA, + XRefZero) + + // CDirectSoundBuffer_SetBufferData+0x3D : mov eax, 0x80004005 + { 0x3D, 0xB8 }, + { 0x3E, 0x05 }, + { 0x3F, 0x40 }, + { 0x40, 0x00 }, + { 0x41, 0x80 }, + + // CDirectSoundBuffer_SetBufferData+0x48 : mov eax, [esi+1Ch] + { 0x48, 0x8B }, + { 0x49, 0x46 }, + { 0x4A, 0x1C }, + + // CDirectSoundBuffer_SetBufferData+0x4B : cmp ebx, [eax+13Ch] + { 0x4B, 0x3B }, + { 0x4C, 0x98 }, + { 0x4D, 0x3C }, + { 0x4E, 0x01 }, + { 0x4F, 0x00 }, + { 0x50, 0x00 }, + + // CDirectSoundBuffer_SetBufferData+0xA8 : retn 0Ch + { 0xA8, 0xC2 }, + { 0xA9, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetPitch +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetPitch, 4039, 6, + + XREF_DSBUFFERSETPITCHB, + XRefZero) + + { 0x02, 0x24 }, + { 0x06, 0x10 }, + { 0x0A, 0x08 }, + { 0x0E, 0x8B }, + { 0x16, 0xC2 }, + { 0x17, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetPitch +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4039, 13, + + XREF_DSBUFFERSETPITCHA, + XRefOne) + + // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] + XREF_ENTRY( 0x31, XREF_DSBUFFERSETPITCHB ), + + // CDirectSoundBuffer_SetFrequency+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetFrequency+0x28 : push [esp+0x10]; push [esp+0x10] + { 0x28, 0xFF }, + { 0x29, 0x74 }, + { 0x2A, 0x24 }, + { 0x2B, 0x10 }, + { 0x2C, 0xFF }, + { 0x2D, 0x74 }, + { 0x2E, 0x24 }, + { 0x2F, 0x10 }, + + // CDirectSoundBuffer_SetFrequency+0x48 : pop edi + { 0x48, 0x5F }, + + // CDirectSoundBuffer_SetFrequency+0x4A : retn 0x08 + { 0x4A, 0xC2 }, + { 0x4B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetFrequency +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetFrequency, 4039, 11, + + XREF_DSBUFFERSETFREQUENCYB, + XRefZero) + + // CDirectSoundVoice_SetFrequency+0x0D : mov eax, [esi+0x10] + { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 + { 0x0E, 0x46 }, // (Offset,Value)-Pair #2 + { 0x0F, 0x10 }, // (Offset,Value)-Pair #3 + + // CDirectSoundVoice_SetFrequency+0x10 : mov eax, [eax+0x18] + { 0x10, 0x8B }, // (Offset,Value)-Pair #4 + { 0x11, 0x40 }, // (Offset,Value)-Pair #5 + { 0x12, 0x18 }, // (Offset,Value)-Pair #6 // 4039 0x18 vs 4134 0x10 + + // CDirectSoundVoice_SetFrequency+0x14 : call [abs]; push eax; push esi + { 0x14, 0xE8 }, // (Offset,Value)-Pair #7 + { 0x19, 0x50 }, // (Offset,Value)-Pair #8 + { 0x1A, 0x56 }, // (Offset,Value)-Pair #9 + + // CDirectSoundVoice_SetFrequency+0x22 : retn 0x08 + { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 + { 0x22, 0x08 }, // (Offset,Value)-Pair #11 +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetFrequency +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4039, 13, + + XREF_DSBUFFERSETFREQUENCYA, + XRefOne) + + // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] + XREF_ENTRY( 0x31, XREF_DSBUFFERSETFREQUENCYB ), + + // CDirectSoundBuffer_SetFrequency+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetFrequency+0x28 : push [esp+0x10]; push [esp+0x10] + { 0x28, 0xFF }, + { 0x29, 0x74 }, + { 0x2A, 0x24 }, + { 0x2B, 0x10 }, + { 0x2C, 0xFF }, + { 0x2D, 0x74 }, + { 0x2E, 0x24 }, + { 0x2F, 0x10 }, + + // CDirectSoundBuffer_SetFrequency+0x48 : pop edi + { 0x48, 0x5F }, + + // CDirectSoundBuffer_SetFrequency+0x4A : retn 0x08 + { 0x4A, 0xC2 }, + { 0x4B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetFrequency +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4039, 12, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetFrequency+0x15 : call [CDirectSound::SetFrequency] + XREF_ENTRY( 0x15, XREF_DSBUFFERSETFREQUENCYA ), // (Offset,Value)-Pair #1 + + // IDirectSoundBuffer_SetFrequency+0x04 : push [esp+0x08] + { 0x04, 0xFF }, // (Offset,Value)-Pair #2 + { 0x05, 0x74 }, // (Offset,Value)-Pair #3 + { 0x06, 0x24 }, // (Offset,Value)-Pair #4 + { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + + // IDirectSoundBuffer_SetFrequency0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 + { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + + // IDirectSoundBuffer_SetFrequency+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, // (Offset,Value)-Pair #9 + { 0x10, 0xC9 }, // (Offset,Value)-Pair #10 + + // IDirectSoundBuffer_SetFrequency+0x11 : and ecx, eax + { 0x11, 0x23 }, // (Offset,Value)-Pair #11 + { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_Stop +// ****************************************************************** +OOVPA_NO_XREF(IDirectSoundBuffer_Stop, 4039, 11) + + // IDirectSoundBuffer_Stop+0x00 : mov eax, [esp+arg_0] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // IDirectSoundBuffer_Stop+0x04 : mov ecx, eax + { 0x04, 0x8B }, + { 0x05, 0xC8 }, + + // IDirectSoundBuffer_Stop+0x06 : add eax, 0FFFFFFE4h + { 0x06, 0x83 }, + { 0x07, 0xC0 }, + { 0x08, 0xE4 }, + + // IDirectSoundBuffer_Stop+0x15 : retn 4 + { 0x16, 0x04 }, + { 0x17, 0x00 } +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::CommitDeferredSettings +// ****************************************************************** +OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 4039, 14) + + // CDirectSound_CommitDeferredSettings+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSound_CommitDeferredSettings+0x24 : mov eax, 0x80004005 + { 0x24, 0xB8 }, + { 0x25, 0x05 }, + { 0x26, 0x40 }, + { 0x27, 0x00 }, + { 0x28, 0x80 }, + + // CDirectSound_CommitDeferredSettings+0x52 : and dword ptr [eax+84h], 0 + { 0x52, 0x83 }, + { 0x53, 0xA0 }, + { 0x54, 0x84 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x00 }, + { 0x58, 0x00 }, + + // CDirectSound_CommitDeferredSettings+0x78 : leave + { 0x6F, 0xC9 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 06f0878ca..e645f421e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -128,6 +128,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4134, 11, { 0x83, 0x0C }, // (Offset,Value)-Pair #11 OOVPA_END; +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer8::SetLoopRegion // ****************************************************************** @@ -147,6 +148,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 4134, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSound::SetI3DL2Listener @@ -522,6 +524,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4134, 17, { 0x4C, 0x08 }, // (Offset,Value)-Pair #17 OOVPA_END; +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer_SetFrequency // ****************************************************************** @@ -552,6 +555,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4134, 12, { 0x11, 0x23 }, // (Offset,Value)-Pair #11 { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 OOVPA_END; +#endif // ****************************************************************** // * CMcpxVoiceClient_SetVolume @@ -2095,6 +2099,7 @@ OOVPA_XREF(CDirectSoundStream_SetI3DL2Source, 4134, 9, { 0x4F, 0x8B }, OOVPA_END; +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer_Stop // ****************************************************************** @@ -2119,6 +2124,7 @@ OOVPA_NO_XREF(IDirectSoundBuffer_Stop, 4134, 11) { 0x16, 0x04 }, { 0x17, 0x00 } OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetAllParameters @@ -2405,6 +2411,7 @@ OOVPA_XREF(CDirectSound_SetVelocity, 4134, 15, { 0x74, 0x14 }, // (Offset,Value)-Pair #15 OOVPA_END; +#if 0 // Moved to 4039 // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetPitch // ****************************************************************** @@ -2420,6 +2427,7 @@ OOVPA_XREF(CDirectSoundVoice_SetPitch, 4134, 6, { 0x16, 0xC2 }, { 0x17, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundBuffer::SetVolume @@ -2429,6 +2437,10 @@ OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4134, 11, XREF_CDirectSoundBuffer_SetVolume, XRefZero) +/* xref•K—v + // CDirectSoundVoice_SetVolume+0x32 : call [CMcpxVoiceClient::SetVolume] + XREF_ENTRY( 0x32, XREF_DSSTREAMSETVOLUME ),*/ + // CDirectSoundBuffer_SetVolume+0x0D : movzx esi, al { 0x0D, 0x0F }, // (Offset,Value)-Pair #1 { 0x0E, 0xB6 }, // (Offset,Value)-Pair #2 @@ -2449,6 +2461,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4134, 11, { 0x4C, 0x08 }, // (Offset,Value)-Pair #11 OOVPA_END; +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer8::SetVolume // ****************************************************************** @@ -2467,6 +2480,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolume, 4134, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSound::CreateSoundStream @@ -2744,7 +2758,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4134, XREF), @@ -2762,11 +2776,11 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), @@ -2835,7 +2849,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), @@ -2852,7 +2866,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 43876dbc9..a49e0a327 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -755,8 +755,8 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 4950b78c0..33b03af68 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -130,7 +130,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 458db068e..f0d04f897 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1466,7 +1466,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), @@ -1496,11 +1496,11 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), @@ -1576,7 +1576,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), @@ -1621,7 +1621,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 80304460e..eda37c183 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -59,7 +59,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), @@ -90,11 +90,11 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), @@ -177,7 +177,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), @@ -222,7 +222,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 3acf5ce34..0760178e5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -393,12 +393,12 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), @@ -449,7 +449,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using) REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), @@ -463,7 +463,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 03f304825..72a920fb7 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -902,12 +902,12 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), @@ -959,7 +959,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), @@ -979,11 +979,11 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // Was 4134 REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 1f3cad98c..10461d775 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1651,7 +1651,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), @@ -1675,7 +1675,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 5558, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), @@ -1694,7 +1694,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 5558, XREF), @@ -1703,7 +1703,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 7bd840600..d340e573e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -578,7 +578,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), @@ -594,7 +594,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), @@ -637,20 +637,20 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // This is actually the XREF we are using REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 2a157a427..51b01d76c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -115,11 +115,11 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), @@ -135,7 +135,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4134, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), @@ -160,12 +160,12 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5849, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 8cf782e02..d52f74045 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -60,7 +60,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3936, 4134, 4361, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3936, 4361, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 4134, 5558, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3936, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3936, 4134), @@ -68,13 +68,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetDopplerFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetEG, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetFilter, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4242, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetFrequency, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetFrequency, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3936, 4134, 5344, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3936, 4134, 5344, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBins, XREF, 4134, 5558), @@ -82,13 +82,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4134, 5233), REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3936, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 4361, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffCurve, XREF, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffFactor, XREF, 4134, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3936, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetVolume, XREF, 4134, 5233), + REGISTER_OOVPAS(CDirectSoundBuffer_SetVolume, XREF, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3936, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), @@ -138,7 +138,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetVelocityA, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetVelocityB, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetVelocityC, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4134), @@ -153,8 +153,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4134, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4039, 4134, 4627, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 4134, 4361, 5344), @@ -162,14 +162,14 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3936, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4134, 5233, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment) REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 4134, 5233), + REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558), - REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, PATCH, 3936, 4134, 5344, 5558, 5788), + REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, PATCH, 3936, 4039, 4134, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsA, XREF, 3936), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsB, XREF, 3936), REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3936, 4039, 4134), @@ -180,10 +180,10 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 4627), REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3936, 4831, 5558), REGISTER_OOVPAS(CDirectSound_SetAllParametersA, XREF, 4627, 4721, 4831), - REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetDistanceFactorA, XREF, 3936), REGISTER_OOVPAS(CDirectSound_SetDistanceFactorB, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3936, 4134, 4627, 5344, 5558, 5788), + REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3936, 4039, 4134, 4627, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 4134), REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 4627, 5558), @@ -192,7 +192,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 5558), REGISTER_OOVPAS(CDirectSound_SetPositionA, XREF, 3936, 4134, 4627, 5344), // TODO: Find a cure for laziness... (from 4134's comment) REGISTER_OOVPAS(CDirectSound_SetPositionB, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 4134, 5344, 5558, 5788, 5849), + REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 4039, 4134, 5344, 5558, 5788, 5849), REGISTER_OOVPAS(CDirectSound_SetRolloffFactorA, XREF, 3936), REGISTER_OOVPAS(CDirectSound_SetRolloffFactorB, XREF, 3936), REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 4134, 4627, 5344, 5558), @@ -221,13 +221,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 4627), REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3936, 4134), + REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3936, 4039, 4134), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3925, 3936), REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3936, 4039, 4134), REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4039, 4242), REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 4134, 5788), REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3936, 4134, 5558), - REGISTER_OOVPAS(DirectSoundDoWorkA, XREF, 3936), + REGISTER_OOVPAS(DirectSoundDoWorkA, XREF, 3936, 4039), REGISTER_OOVPAS(DirectSoundDoWorkB, XREF, 3936), REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3936), REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3936, 4361), @@ -257,11 +257,11 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3936, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroomA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 4134, 5344, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3936, 4134, 5558), @@ -279,10 +279,10 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3936, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3936, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeB, XREF, 3936), - REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3936, 4134, 4361), + REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3936, 4039, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), From df9a1ab6acb2e83ae5358cd6b290153081d96fe2 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 3 Sep 2017 20:09:12 +0900 Subject: [PATCH 029/146] Oops. CDirectSoundVoice_SetPitch come back --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index e645f421e..2f77c3ce2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2866,7 +2866,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index f0d04f897..6dda1c2e0 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1621,7 +1621,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index eda37c183..5b3b93e7a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -222,7 +222,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 72a920fb7..4934f5ce1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -983,7 +983,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index d340e573e..0bd2b7271 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -644,7 +644,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 51b01d76c..308f48536 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -165,7 +165,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), From cdcf5f2a0632f1c885f4a490288b9bc8867d9d1d Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 3 Sep 2017 20:48:53 +0900 Subject: [PATCH 030/146] Fixed CDirectSoundBuffer_SetVolume 4134 --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 31 ++++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 2f77c3ce2..6c87616ae 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2432,33 +2432,32 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetVolume // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4134, 11, +OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4134, 12, XREF_CDirectSoundBuffer_SetVolume, - XRefZero) + XRefOne) -/* xref•K—v - // CDirectSoundVoice_SetVolume+0x32 : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x32, XREF_DSSTREAMSETVOLUME ),*/ + // CDirectSoundBuffer_SetVolume+0x32 : call [CDirectSoundVoice::SetVolume] + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetVolume ), // (Offset,Value)-Pair #1 // CDirectSoundBuffer_SetVolume+0x0D : movzx esi, al - { 0x0D, 0x0F }, // (Offset,Value)-Pair #1 - { 0x0E, 0xB6 }, // (Offset,Value)-Pair #2 - { 0x0F, 0xF0 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x0F }, // (Offset,Value)-Pair #2 + { 0x0E, 0xB6 }, // (Offset,Value)-Pair #3 + { 0x0F, 0xF0 }, // (Offset,Value)-Pair #4 // CDirectSoundBuffer_SetVolume+0x26 : jmp +0x22 - { 0x26, 0xEB }, // (Offset,Value)-Pair #4 - { 0x27, 0x22 }, // (Offset,Value)-Pair #5 + { 0x26, 0xEB }, // (Offset,Value)-Pair #5 + { 0x27, 0x22 }, // (Offset,Value)-Pair #6 // CDirectSoundBuffer_SetVolume+0x2D : push [esp+0x10] - { 0x2D, 0xFF }, // (Offset,Value)-Pair #6 - { 0x2E, 0x74 }, // (Offset,Value)-Pair #7 - { 0x2F, 0x24 }, // (Offset,Value)-Pair #8 - { 0x30, 0x10 }, // (Offset,Value)-Pair #9 + { 0x2D, 0xFF }, // (Offset,Value)-Pair #7 + { 0x2E, 0x74 }, // (Offset,Value)-Pair #8 + { 0x2F, 0x24 }, // (Offset,Value)-Pair #9 + { 0x30, 0x10 }, // (Offset,Value)-Pair #10 // CDirectSoundBuffer_SetVolume+0x4B : retn 0x08 - { 0x4B, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x4C, 0x08 }, // (Offset,Value)-Pair #11 + { 0x4B, 0xC2 }, // (Offset,Value)-Pair #11 + { 0x4C, 0x08 }, // (Offset,Value)-Pair #12 OOVPA_END; #if 0 // Moved to 4039 From 8bc426be7b6480af69b8c83cdbf75cb79f75afea Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 3 Sep 2017 21:32:59 +0900 Subject: [PATCH 031/146] Added SetPitch (4134-5849) The following functions support 4134 to 5849 - CDirectSoundVoice_SetPitch - CDirectSoundBuffer_SetPitch - IDirectSoundBuffer_SetPitch - CDirectSoundStream_SetPitch --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 45 ++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 4 ++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 4 ++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 13 ++++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 6 +-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 4 ++ src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 5 ++- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 4 ++ src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 6 +-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 6 +-- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 6 +-- 11 files changed, 85 insertions(+), 18 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 6c87616ae..cdc53f98a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2429,6 +2429,48 @@ OOVPA_XREF(CDirectSoundVoice_SetPitch, 4134, 6, OOVPA_END; #endif +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetPitch +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4134, 8, + + XREF_DSBUFFERSETPITCHA, + XRefOne) + + XREF_ENTRY( 0x32, XREF_DSBUFFERSETPITCHB ), + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetPitch +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetPitch, 4134, 12, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x36, XREF_DSBUFFERSETPITCHB ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, + { 0x51, 0x00 }, +OOVPA_END; + // ****************************************************************** // * CDirectSoundBuffer::SetVolume // ****************************************************************** @@ -2866,6 +2908,9 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index a49e0a327..73e6beb44 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -792,6 +792,10 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 33b03af68..64c9598c9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -162,6 +162,10 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 6dda1c2e0..58143cb3c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -961,6 +961,7 @@ OOVPA_XREF(CDirectSoundStream_SetFilter, 4627, 8, { 0x4B, 0x8B }, OOVPA_END; +#if 0 // Moved to 4134 // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetPitch // ****************************************************************** @@ -979,7 +980,8 @@ OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4627, 8, { 0x3A, 0x74 }, { 0x47, 0x8B }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by generic 3936 version // ****************************************************************** // * IDirectSoundBuffer_SetPitch // ****************************************************************** @@ -998,6 +1000,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPitch, 4627, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetHeadroom @@ -1375,6 +1378,7 @@ OOVPA_XREF(CDirectSoundStream_SetLFO, 4627, 10, { 0x50, 0x08 }, OOVPA_END; +#if 0 // Moved to 4134 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetPitch // ****************************************************************** @@ -1397,6 +1401,7 @@ OOVPA_XREF(CDirectSoundStream_SetPitch, 4627, 12, { 0x50, 0x08 }, { 0x51, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor @@ -1622,8 +1627,9 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), @@ -1643,7 +1649,6 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 5b3b93e7a..c59e1bb1d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -223,8 +223,9 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), @@ -244,7 +245,6 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 0760178e5..075c3f886 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -529,6 +529,10 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 4934f5ce1..c6110af04 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -984,8 +984,9 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 10461d775..42ddaf560 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1783,6 +1783,10 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 0bd2b7271..86ada79ec 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -645,8 +645,9 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), @@ -691,7 +692,6 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 308f48536..aed8f7dce 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -166,8 +166,9 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), @@ -201,7 +202,6 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetPitch, 5849, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index d52f74045..067eb62d8 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -82,7 +82,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4134, 5233), REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3936, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 4361, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffCurve, XREF, 4627), @@ -127,7 +127,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes2, PATCH, 4134, 5788), //TODO: What's the difference from this and above? REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 4627), - REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 4627, 5849), + REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetPositionA, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetPositionB, XREF, 3936), @@ -270,7 +270,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3936, 4134, 5233), REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3936, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 4627), - REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3936, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetPitchA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetPitchB, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 3936, 4361), From 777931978471156cacee9e493af35ba03a4f511e Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 3 Sep 2017 22:23:17 +0900 Subject: [PATCH 032/146] Added comments difference from 4134 --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 37 +++++++++++--------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 5b6202459..4885b803f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -160,7 +160,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4039, 15, XRefZero) // CDirectSoundBuffer_SetLoopRegion+0x23 : mov eax, 0x80004005 - { 0x23, 0xB8 }, + { 0x23, 0xB8 }, // Was 4134 Offset -0x01h { 0x24, 0x05 }, { 0x25, 0x40 }, { 0x26, 0x00 }, @@ -172,7 +172,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4039, 15, { 0x3E, 0x0E }, // CDirectSoundBuffer_SetLoopRegion+0x3F : cmp ebx, [eax+148h] - { 0x3F, 0x3B }, + { 0x3F, 0x3B }, // Was 4134 Offset 0x40 cmp ebx, [eax+0C4h] { 0x40, 0x98 }, { 0x41, 0x48 }, { 0x42, 0x01 }, @@ -186,6 +186,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer8::SetLoopRegion // ****************************************************************** +// Same as 4134 OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 4039, 9, XRefNoSaveIndex, @@ -328,7 +329,7 @@ OOVPA_XREF(CMcpxVoiceClient_SetVolume, 4039, 13, { 0x1D, 0x75 }, // CMcpxVoiceClient_SetVolume+0x73 : mov edx, [ebp+eax*4-0x14] - { 0x73, 0x8B }, + { 0x73, 0x8B }, // Was 4134 Offset -0x07h { 0x74, 0x54 }, { 0x75, 0x85 }, { 0x76, 0xEC }, @@ -359,7 +360,7 @@ OOVPA_XREF(CDirectSoundVoice_SetVolume, 4039, 13, // CDirectSoundVoice_SetVolume+0x0B : sub edx, [eax+28h] { 0x0B, 0x2B }, { 0x0C, 0x50 }, - { 0x0D, 0x28 }, + { 0x0D, 0x28 }, // 4039 0x28 vs 4134 0x20 // CDirectSoundVoice_SetVolume+0x19 : retn 8 { 0x19, 0xC2 }, @@ -375,7 +376,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4039, 10, XRefOne) // CDirectSoundBuffer_SetVolume+0x31 : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetVolume ), + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetVolume ), // Was 4134 Offset -0x01h // CDirectSoundBuffer_SetVolume+0x00 : push esi { 0x00, 0x56 }, @@ -398,6 +399,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer::SetVolume // ****************************************************************** +// Same as 4134 OOVPA_XREF(IDirectSoundBuffer_SetVolume, 4039, 8, XRefNoSaveIndex, @@ -422,7 +424,7 @@ OOVPA_XREF(CDirectSoundStream_SetVolume, 4039, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetVolume ), + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetVolume ), // Was 4134 Offset -0x01h { 0x00, 0x56 }, { 0x0C, 0x00 }, @@ -466,7 +468,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 4039, 8, XREF_DSBUFFERSETHEADROOMA, XRefOne) - XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetHeadroom ), + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetHeadroom ), // Was 4134 Offset -0x01h { 0x00, 0x56 }, { 0x11, 0x85 }, @@ -486,7 +488,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 4039, 16, XRefZero) // CDirectSoundBuffer_SetBufferData+0x3D : mov eax, 0x80004005 - { 0x3D, 0xB8 }, + { 0x3D, 0xB8 }, // Was 4134 Offset -0x03h { 0x3E, 0x05 }, { 0x3F, 0x40 }, { 0x40, 0x00 }, @@ -513,6 +515,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetPitch // ****************************************************************** +// Same as 4134 OOVPA_XREF(CDirectSoundVoice_SetPitch, 4039, 6, XREF_DSBUFFERSETPITCHB, @@ -534,13 +537,13 @@ OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4039, 13, XREF_DSBUFFERSETPITCHA, XRefOne) - // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] - XREF_ENTRY( 0x31, XREF_DSBUFFERSETPITCHB ), + // CDirectSoundBuffer_SetPitch+0x31 : call [CDirectSoundVoice::SetFrequency] + XREF_ENTRY( 0x31, XREF_DSBUFFERSETPITCHB ), // Was 4134 Offset -0x01h - // CDirectSoundBuffer_SetFrequency+0x00 : push esi + // CDirectSoundBuffer_SetPitch+0x00 : push esi { 0x00, 0x56 }, - // CDirectSoundBuffer_SetFrequency+0x28 : push [esp+0x10]; push [esp+0x10] + // CDirectSoundBuffer_SetPitch+0x28 : push [esp+0x10]; push [esp+0x10] { 0x28, 0xFF }, { 0x29, 0x74 }, { 0x2A, 0x24 }, @@ -550,7 +553,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4039, 13, { 0x2E, 0x24 }, { 0x2F, 0x10 }, - // CDirectSoundBuffer_SetFrequency+0x48 : pop edi + // CDirectSoundBuffer_SetPitch+0x48 : pop edi { 0x48, 0x5F }, // CDirectSoundBuffer_SetFrequency+0x4A : retn 0x08 @@ -594,8 +597,8 @@ OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4039, 13, XREF_DSBUFFERSETFREQUENCYA, XRefOne) - // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] - XREF_ENTRY( 0x31, XREF_DSBUFFERSETFREQUENCYB ), + // CDirectSoundBuffer_SetFrequency+0x31 : call [CDirectSoundVoice::SetFrequency] + XREF_ENTRY( 0x31, XREF_DSBUFFERSETFREQUENCYB ), // Was 4134 Offset -0x01h // CDirectSoundBuffer_SetFrequency+0x00 : push esi { 0x00, 0x56 }, @@ -621,6 +624,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetFrequency // ****************************************************************** +// Same as 4134 OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4039, 12, XRefNoSaveIndex, @@ -652,6 +656,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_Stop // ****************************************************************** +// Same as 4134 OOVPA_NO_XREF(IDirectSoundBuffer_Stop, 4039, 11) // IDirectSoundBuffer_Stop+0x00 : mov eax, [esp+arg_0] @@ -683,7 +688,7 @@ OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 4039, 14) { 0x00, 0x55 }, // CDirectSound_CommitDeferredSettings+0x24 : mov eax, 0x80004005 - { 0x24, 0xB8 }, + { 0x24, 0xB8 }, // Was 4134 Offset -0x03h { 0x25, 0x05 }, { 0x26, 0x40 }, { 0x27, 0x00 }, From 55b55aa5097023cd073969cf48424ea5fc865f0b Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 4 Sep 2017 18:02:58 +0900 Subject: [PATCH 033/146] Fixed up --- src/CxbxKrnl/HLEDataBase.h | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 21 +++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 63 +++++++++----------- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 10 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 4 +- 14 files changed, 74 insertions(+), 60 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index c4ff7ced8..0dd91f75d 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -220,7 +220,7 @@ enum XRefDataBaseOffset XREF_DSBUFFERLOCKA, XREF_DSBUFFERSETHEADROOMA, XREF_DSBUFFERSETFREQUENCYA, - XREF_DSBUFFERSETFREQUENCYB, + XREF_CDirectSoundVoice_SetFrequency, XREF_DSSTREAMSETMAXDISTANCE1A, XREF_DSSTREAMSETMAXDISTANCE1B, XREF_DSSTREAMSETMAXDISTANCE1C, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 404139b31..eadd33e95 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -4056,6 +4056,26 @@ OOVPA_NO_XREF(IDirectSoundBuffer_Unlock, 3936, 5) { 0x04, 0x00 } OOVPA_END; +// ****************************************************************** +// * IDirectSoundBuffer::SetLoopRegion +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 3936, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetLoopRegion ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + // ****************************************************************** // * DSound_3936 // ****************************************************************** @@ -4212,6 +4232,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), // TODO Added CDirectSoundBuffer_SetLoopRegion }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 4885b803f..4adafc5c2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -154,7 +154,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetLoopRegion // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4039, 15, +OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4039, 16, XREF_CDirectSoundBuffer_SetLoopRegion, XRefZero) @@ -174,36 +174,20 @@ OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4039, 15, // CDirectSoundBuffer_SetLoopRegion+0x3F : cmp ebx, [eax+148h] { 0x3F, 0x3B }, // Was 4134 Offset 0x40 cmp ebx, [eax+0C4h] { 0x40, 0x98 }, - { 0x41, 0x48 }, - { 0x42, 0x01 }, - { 0x43, 0x00 }, - { 0x44, 0x00 }, - // CDirectSoundBuffer_SetLoopRegion+0x2D : call CMcpxBuffer_SetLoopRegion + // CDirectSoundBuffer_SetLoopRegion+0x5D : mov [eax+150h], ecx + { 0x61, 0x00 }, + { 0x62, 0x00 }, + + // CDirectSoundBuffer_SetLoopRegion+0x63 : mov ecx, [edx+20h] + { 0x63, 0x8B }, + { 0x64, 0x4A }, + { 0x65, 0x20 }, + + // CDirectSoundBuffer_SetLoopRegion+0x66 : call CMcpxBuffer_SetLoopRegion { 0x66, 0xE8 }, OOVPA_END; -// ****************************************************************** -// * IDirectSoundBuffer8::SetLoopRegion -// ****************************************************************** -// Same as 4134 -OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 4039, 9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetLoopRegion ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - // ****************************************************************** // * CDirectSound::SetDistanceFactor // ****************************************************************** @@ -310,6 +294,7 @@ OOVPA_END; // ****************************************************************** // * CMcpxVoiceClient_SetVolume // ****************************************************************** +// Verified with Agent Under Fire title. OOVPA_XREF(CMcpxVoiceClient_SetVolume, 4039, 13, XREF_DSSTREAMSETVOLUME, @@ -338,6 +323,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetVolume // ****************************************************************** +// Verified with Agent Under Fire. OOVPA_XREF(CDirectSoundVoice_SetVolume, 4039, 13, XREF_CDirectSoundVoice_SetVolume, @@ -370,6 +356,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetVolume // ****************************************************************** +// Verified with Agent Under Fire. OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4039, 10, XREF_CDirectSoundBuffer_SetVolume, @@ -399,7 +386,8 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer::SetVolume // ****************************************************************** -// Same as 4134 +// Verified with Agent Under Fire. +// Side note: It is compatible down to XDK 3911. Except 3911 is calling to CDirectSoundVoice_SetVolume directly. OOVPA_XREF(IDirectSoundBuffer_SetVolume, 4039, 8, XRefNoSaveIndex, @@ -482,6 +470,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer_SetBufferData // ****************************************************************** +// Verified with Agent Under Fire. OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 4039, 16, XREF_DSSETBUFFERDATA, @@ -515,6 +504,7 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetPitch // ****************************************************************** +// Verified with Agent Under Fire. // Same as 4134 OOVPA_XREF(CDirectSoundVoice_SetPitch, 4039, 6, @@ -556,7 +546,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4039, 13, // CDirectSoundBuffer_SetPitch+0x48 : pop edi { 0x48, 0x5F }, - // CDirectSoundBuffer_SetFrequency+0x4A : retn 0x08 + // CDirectSoundBuffer_SetPitch+0x4A : retn 0x08 { 0x4A, 0xC2 }, { 0x4B, 0x08 }, OOVPA_END; @@ -564,9 +554,10 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetFrequency // ****************************************************************** +// Verified with Agent Under Fire. OOVPA_XREF(CDirectSoundVoice_SetFrequency, 4039, 11, - XREF_DSBUFFERSETFREQUENCYB, + XREF_CDirectSoundVoice_SetFrequency, XRefZero) // CDirectSoundVoice_SetFrequency+0x0D : mov eax, [esi+0x10] @@ -592,13 +583,14 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetFrequency // ****************************************************************** +// Verified with Agent Under Fire. OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4039, 13, XREF_DSBUFFERSETFREQUENCYA, XRefOne) // CDirectSoundBuffer_SetFrequency+0x31 : call [CDirectSoundVoice::SetFrequency] - XREF_ENTRY( 0x31, XREF_DSBUFFERSETFREQUENCYB ), // Was 4134 Offset -0x01h + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetFrequency ), // Was 4134 Offset -0x01h // CDirectSoundBuffer_SetFrequency+0x00 : push esi { 0x00, 0x56 }, @@ -624,14 +616,14 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetFrequency // ****************************************************************** -// Same as 4134 +// Verified with Agent Under Fire. OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4039, 12, XRefNoSaveIndex, XRefOne) // IDirectSoundBuffer_SetFrequency+0x15 : call [CDirectSound::SetFrequency] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETFREQUENCYA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSBUFFERSETFREQUENCYA), // (Offset,Value)-Pair #1 // IDirectSoundBuffer_SetFrequency+0x04 : push [esp+0x08] { 0x04, 0xFF }, // (Offset,Value)-Pair #2 @@ -652,11 +644,10 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4039, 12, { 0x11, 0x23 }, // (Offset,Value)-Pair #11 { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 OOVPA_END; - +#if 0 // No longer used, replaced by generic 3936 version // ****************************************************************** // * IDirectSoundBuffer_Stop // ****************************************************************** -// Same as 4134 OOVPA_NO_XREF(IDirectSoundBuffer_Stop, 4039, 11) // IDirectSoundBuffer_Stop+0x00 : mov eax, [esp+arg_0] @@ -678,10 +669,12 @@ OOVPA_NO_XREF(IDirectSoundBuffer_Stop, 4039, 11) { 0x16, 0x04 }, { 0x17, 0x00 } OOVPA_END; +#endif // ****************************************************************** // * CDirectSound::CommitDeferredSettings // ****************************************************************** +// Verified with Agent Under Fire. OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 4039, 14) // CDirectSound_CommitDeferredSettings+0x00 : push ebp diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index cdc53f98a..8ff6fb12f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -128,7 +128,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4134, 11, { 0x83, 0x0C }, // (Offset,Value)-Pair #11 OOVPA_END; -#if 0 // Moved to 4039 +#if 0 // Moved to 3936 // ****************************************************************** // * IDirectSoundBuffer8::SetLoopRegion // ****************************************************************** @@ -465,7 +465,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetFrequency, 4134, 11, - XREF_DSBUFFERSETFREQUENCYB, + XREF_CDirectSoundVoice_SetFrequency, XRefZero) // CDirectSoundVoice_SetFrequency+0x0D : mov eax, [esi+0x10] @@ -497,7 +497,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4134, 17, XRefOne) // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] - XREF_ENTRY( 0x32, XREF_DSBUFFERSETFREQUENCYB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetFrequency ), // (Offset,Value)-Pair #1 // CDirectSoundBuffer_SetFrequency+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 @@ -2799,7 +2799,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4134, XREF), @@ -2890,7 +2890,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 73e6beb44..e791b49cd 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -755,7 +755,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 64c9598c9..f6ed092b9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -130,7 +130,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 58143cb3c..20942588a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1471,7 +1471,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), @@ -1581,7 +1581,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index c59e1bb1d..aec69264e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -59,7 +59,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), @@ -177,7 +177,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 075c3f886..0ca734536 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -303,7 +303,7 @@ OOVPA_XREF(CDirectSoundStream_SetFrequency, 5233, 11, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, XREF_DSBUFFERSETFREQUENCYB ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFrequency ), { 0x0E, 0xB6 }, // je XXXXXXXX + 0x0B @@ -449,7 +449,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using) REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), @@ -463,7 +463,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index c6110af04..85cc83190 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -959,7 +959,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), @@ -979,7 +979,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // Was 4134 REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 42ddaf560..707f78c5c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1675,7 +1675,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 5558, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), @@ -1703,7 +1703,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 86ada79ec..f034f882a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -594,7 +594,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), @@ -637,7 +637,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5788, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index aed8f7dce..fbc5c4ecc 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -135,7 +135,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4039, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), @@ -160,7 +160,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5849, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 067eb62d8..e5674afe3 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -261,7 +261,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroomA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 4039), + REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 4134, 5344, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3936, 4134, 5558), @@ -282,7 +282,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3936, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeB, XREF, 3936), - REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3936, 4039, 4361), + REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3936, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), From fbb7a74de2c7c617720ba6c6b62f047d5afc7dfe Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 4 Sep 2017 18:47:53 +0900 Subject: [PATCH 034/146] Removes // (Offset,Value)-Pair # text --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 2400 +++++++++--------- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 46 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 1040 ++++---- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 212 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 44 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 388 +-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 180 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 126 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 140 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 18 +- 10 files changed, 2297 insertions(+), 2297 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index eadd33e95..a4d37f0ac 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -38,21 +38,21 @@ OOVPA_NO_XREF(DirectSoundCreate, 3936, 9) // DirectSoundCreate+0x23 : add eax, 8 - { 0x23, 0x83 }, // (Offset,Value)-Pair #1 - { 0x24, 0xC0 }, // (Offset,Value)-Pair #2 - { 0x25, 0x08 }, // (Offset,Value)-Pair #3 + { 0x23, 0x83 }, + { 0x24, 0xC0 }, + { 0x25, 0x08 }, // DirectSoundCreate+0x34 : push 0x1C - { 0x34, 0x6A }, // (Offset,Value)-Pair #4 - { 0x35, 0x1C }, // (Offset,Value)-Pair #5 + { 0x34, 0x6A }, + { 0x35, 0x1C }, // DirectSoundCreate+0x75 : sbb eax, eax - { 0x75, 0x1B }, // (Offset,Value)-Pair #6 - { 0x76, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x75, 0x1B }, + { 0x76, 0xC0 }, // DirectSoundCreate+0x9B : retn 0x0C - { 0x9B, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x9C, 0x0C }, // (Offset,Value)-Pair #9 + { 0x9B, 0xC2 }, + { 0x9C, 0x0C }, OOVPA_END; // ****************************************************************** @@ -64,22 +64,22 @@ OOVPA_XREF(DirectSoundDoWorkB, 3936, 12, XRefZero) // DirectSoundDoWorkB+0x06 : lea edi, [ebx+0x664] - { 0x06, 0x8D }, // (Offset,Value)-Pair #1 - { 0x07, 0xBB }, // (Offset,Value)-Pair #2 - { 0x08, 0x64 }, // (Offset,Value)-Pair #3 - { 0x09, 0x06 }, // (Offset,Value)-Pair #4 - { 0x0A, 0x00 }, // (Offset,Value)-Pair #5 - { 0x0B, 0x00 }, // (Offset,Value)-Pair #6 + { 0x06, 0x8D }, + { 0x07, 0xBB }, + { 0x08, 0x64 }, + { 0x09, 0x06 }, + { 0x0A, 0x00 }, + { 0x0B, 0x00 }, // DirectSoundDoWorkB+0x20 : mov eax, [ecx] - { 0x20, 0x8B }, // (Offset,Value)-Pair #7 - { 0x21, 0x01 }, // (Offset,Value)-Pair #8 + { 0x20, 0x8B }, + { 0x21, 0x01 }, // DirectSoundDoWorkB+0x33 : add edi, 4; dec ebp - { 0x33, 0x83 }, // (Offset,Value)-Pair #9 - { 0x34, 0xC7 }, // (Offset,Value)-Pair #10 - { 0x35, 0x04 }, // (Offset,Value)-Pair #11 - { 0x36, 0x4D }, // (Offset,Value)-Pair #12 + { 0x33, 0x83 }, + { 0x34, 0xC7 }, + { 0x35, 0x04 }, + { 0x36, 0x4D }, OOVPA_END; // ****************************************************************** @@ -91,21 +91,21 @@ OOVPA_XREF(DirectSoundDoWorkA, 3936, 9, XRefOne) // DirectSoundDoWorkA+0x10 : call [DirectSoundDoWorkB] - XREF_ENTRY( 0x10, XREF_DSDOWORKB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x10, XREF_DSDOWORKB ), // DirectSoundDoWorkA+0x08 : mov eax, [esp+0x08] - { 0x08, 0x8B }, // (Offset,Value)-Pair #2 - { 0x09, 0x44 }, // (Offset,Value)-Pair #3 - { 0x0A, 0x24 }, // (Offset,Value)-Pair #4 - { 0x0B, 0x08 }, // (Offset,Value)-Pair #5 + { 0x08, 0x8B }, + { 0x09, 0x44 }, + { 0x0A, 0x24 }, + { 0x0B, 0x08 }, // DirectSoundDoWorkA+0x17 : jz +0x0B - { 0x17, 0x74 }, // (Offset,Value)-Pair #6 - { 0x18, 0x0B }, // (Offset,Value)-Pair #7 + { 0x17, 0x74 }, + { 0x18, 0x0B }, // DirectSoundDoWorkA+0x24 : retn 0x04 - { 0x24, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x25, 0x04 }, // (Offset,Value)-Pair #9 + { 0x24, 0xC2 }, + { 0x25, 0x04 }, OOVPA_END; // ****************************************************************** @@ -117,21 +117,21 @@ OOVPA_XREF(DirectSoundDoWork, 3936, 9, XRefOne) // DirectSoundDoWork+0x13 : call [XREF_DSDOWORKA] - XREF_ENTRY( 0x13, XREF_DSDOWORKA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x13, XREF_DSDOWORKA ), // DirectSoundDoWork+0x0D : test eax, eax;jz +0x06 - { 0x0D, 0x85 }, // (Offset,Value)-Pair #2 - { 0x0E, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x0F, 0x74 }, // (Offset,Value)-Pair #4 - { 0x10, 0x06 }, // (Offset,Value)-Pair #5 + { 0x0D, 0x85 }, + { 0x0E, 0xC0 }, + { 0x0F, 0x74 }, + { 0x10, 0x06 }, // DirectSoundDoWork+0x19 : pop esi; jz +0x0B - { 0x19, 0x5E }, // (Offset,Value)-Pair #6 - { 0x1A, 0x74 }, // (Offset,Value)-Pair #7 - { 0x1B, 0x0B }, // (Offset,Value)-Pair #8 + { 0x19, 0x5E }, + { 0x1A, 0x74 }, + { 0x1B, 0x0B }, // DirectSoundDoWork+0x27 : retn - { 0x27, 0xC3 }, // (Offset,Value)-Pair #9 + { 0x27, 0xC3 }, OOVPA_END; // ****************************************************************** @@ -143,28 +143,28 @@ OOVPA_XREF(CDirectSound_CreateSoundStream, 3936, 16, XRefZero) // CDirectSound_CreateSoundStream+0x2D : and esi, 0x7FF8FFF2 - { 0x2D, 0x81 }, // (Offset,Value)-Pair #1 - { 0x2E, 0xE6 }, // (Offset,Value)-Pair #2 - { 0x2F, 0xF2 }, // (Offset,Value)-Pair #3 - { 0x30, 0xFF }, // (Offset,Value)-Pair #4 - { 0x31, 0xF8 }, // (Offset,Value)-Pair #5 - { 0x32, 0x7F }, // (Offset,Value)-Pair #6 + { 0x2D, 0x81 }, + { 0x2E, 0xE6 }, + { 0x2F, 0xF2 }, + { 0x30, 0xFF }, + { 0x31, 0xF8 }, + { 0x32, 0x7F }, // CDirectSound_CreateSoundStream+0x33 : add esi, 0x8007000E - { 0x33, 0x81 }, // (Offset,Value)-Pair #7 - { 0x34, 0xC6 }, // (Offset,Value)-Pair #8 - { 0x35, 0x0E }, // (Offset,Value)-Pair #9 - { 0x36, 0x00 }, // (Offset,Value)-Pair #10 - { 0x37, 0x07 }, // (Offset,Value)-Pair #11 - { 0x38, 0x80 }, // (Offset,Value)-Pair #12 + { 0x33, 0x81 }, + { 0x34, 0xC6 }, + { 0x35, 0x0E }, + { 0x36, 0x00 }, + { 0x37, 0x07 }, + { 0x38, 0x80 }, // CDirectSound_CreateSoundStream+0x3C : js +0x16 - { 0x3C, 0x78 }, // (Offset,Value)-Pair #13 - { 0x3D, 0x16 }, // (Offset,Value)-Pair #14 + { 0x3C, 0x78 }, + { 0x3D, 0x16 }, // CDirectSound_CreateSoundStream+0x72 : retn 0x10 - { 0x72, 0xC2 }, // (Offset,Value)-Pair #15 - { 0x73, 0x10 }, // (Offset,Value)-Pair #16 + { 0x72, 0xC2 }, + { 0x73, 0x10 }, OOVPA_END; // ****************************************************************** @@ -178,22 +178,22 @@ OOVPA_XREF(IDirectSound_CreateSoundStream, 3936, 10, // TODO: tidy up the xref names (are probably not accurate) // IDirectSound_CreateSoundStream+0x1D : call [CDirectSound::CreateSoundStream] - XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDSTREAM ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDSTREAM ), // IDirectSound_CreateSoundStream+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSound_CreateSoundStream+0x12 : and eax, 0xFFFFFFF8 - { 0x12, 0x83 }, // (Offset,Value)-Pair #6 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x14, 0xF8 }, // (Offset,Value)-Pair #8 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, // IDirectSound_CreateSoundStream+0x21 : retn 0x10 - { 0x21, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x22, 0x10 }, // (Offset,Value)-Pair #10 + { 0x21, 0xC2 }, + { 0x22, 0x10 }, OOVPA_END; // ****************************************************************** @@ -210,28 +210,28 @@ OOVPA_XREF(CDirectSound_CreateSoundBuffer, 3936, 16, { 0x00, 0x55 }, */ // CDirectSound_CreateSoundBuffer+0x2D : and esi, 0x7FF8FFF2 - { 0x2D, 0x81 }, // (Offset,Value)-Pair #1 - { 0x2E, 0xE6 }, // (Offset,Value)-Pair #2 - { 0x2F, 0xF2 }, // (Offset,Value)-Pair #3 - { 0x30, 0xFF }, // (Offset,Value)-Pair #4 - { 0x31, 0xF8 }, // (Offset,Value)-Pair #5 - { 0x32, 0x7F }, // (Offset,Value)-Pair #6 + { 0x2D, 0x81 }, + { 0x2E, 0xE6 }, + { 0x2F, 0xF2 }, + { 0x30, 0xFF }, + { 0x31, 0xF8 }, + { 0x32, 0x7F }, // CDirectSound_CreateSoundBuffer+0x33 : add esi, 0x8007000E - { 0x33, 0x81 }, // (Offset,Value)-Pair #7 - { 0x34, 0xC6 }, // (Offset,Value)-Pair #8 - { 0x35, 0x0E }, // (Offset,Value)-Pair #9 - { 0x36, 0x00 }, // (Offset,Value)-Pair #10 - { 0x37, 0x07 }, // (Offset,Value)-Pair #11 - { 0x38, 0x80 }, // (Offset,Value)-Pair #12 + { 0x33, 0x81 }, + { 0x34, 0xC6 }, + { 0x35, 0x0E }, + { 0x36, 0x00 }, + { 0x37, 0x07 }, + { 0x38, 0x80 }, // CDirectSound_CreateSoundBuffer+0x3C : js +0x21 - { 0x3C, 0x78 }, // (Offset,Value)-Pair #13 - { 0x3D, 0x21 }, // (Offset,Value)-Pair #14 + { 0x3C, 0x78 }, + { 0x3D, 0x21 }, // CDirectSound_CreateSoundBuffer+0x7D : retn 0x10 - { 0x7D, 0xC2 }, // (Offset,Value)-Pair #15 - { 0x7E, 0x10 }, // (Offset,Value)-Pair #16 + { 0x7D, 0xC2 }, + { 0x7E, 0x10 }, OOVPA_END; // ****************************************************************** @@ -245,22 +245,22 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3936, 10, // TODO: tidy up the xref names (are probably not accurate) // IDirectSound_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDBUFFER ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDBUFFER ), // IDirectSound_CreateSoundBuffer+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSound_CreateSoundBuffer+0x12 : and eax, 0xFFFFFFF8 - { 0x12, 0x83 }, // (Offset,Value)-Pair #6 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x14, 0xF8 }, // (Offset,Value)-Pair #8 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, // IDirectSound_CreateSoundBuffer+0x21 : retn 0x10 - { 0x21, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x22, 0x10 }, // (Offset,Value)-Pair #10 + { 0x21, 0xC2 }, + { 0x22, 0x10 }, OOVPA_END; // ****************************************************************** @@ -269,20 +269,20 @@ OOVPA_END; OOVPA_NO_XREF(IDirectSoundBuffer_Release, 3936, 10) // IDirectSoundBuffer_Release+0x04 : lea ecx, [eax-0x1C] - { 0x04, 0x8D }, // (Offset,Value)-Pair #1 - { 0x05, 0x48 }, // (Offset,Value)-Pair #2 - { 0x06, 0xE4 }, // (Offset,Value)-Pair #3 + { 0x04, 0x8D }, + { 0x05, 0x48 }, + { 0x06, 0xE4 }, // IDirectSoundBuffer_Release+0x07 : neg eax; sbb eax, eax - { 0x07, 0xF7 }, // (Offset,Value)-Pair #4 - { 0x08, 0xD8 }, // (Offset,Value)-Pair #5 - { 0x09, 0x1B }, // (Offset,Value)-Pair #6 - { 0x0A, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x07, 0xF7 }, + { 0x08, 0xD8 }, + { 0x09, 0x1B }, + { 0x0A, 0xC0 }, // IDirectSoundBuffer_Release+0x10 : call dword ptr [ecx+0x08] - { 0x10, 0xFF }, // (Offset,Value)-Pair #8 - { 0x11, 0x51 }, // (Offset,Value)-Pair #9 - { 0x12, 0x08 }, // (Offset,Value)-Pair #10 + { 0x10, 0xFF }, + { 0x11, 0x51 }, + { 0x12, 0x08 }, OOVPA_END; // ****************************************************************** @@ -293,21 +293,21 @@ OOVPA_XREF(IDirectSoundBuffer_SetPitchB, 3936, 11, XREF_DSBUFFERSETPITCHB, XRefZero) // IDirectSoundBuffer_SetPitchB+0x21 : lea edi, [esi+0xB4] - { 0x21, 0x8D }, // (Offset,Value)-Pair #1 - { 0x22, 0xBE }, // (Offset,Value)-Pair #2 - { 0x23, 0xB4 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 + { 0x21, 0x8D }, + { 0x22, 0xBE }, + { 0x23, 0xB4 }, + { 0x24, 0x00 }, // IDirectSoundBuffer_SetPitchB+0x58 : movzx eax, word ptr [eax+2] - { 0x58, 0x0F }, // (Offset,Value)-Pair #5 - { 0x59, 0xB7 }, // (Offset,Value)-Pair #6 - { 0x5A, 0x40 }, // (Offset,Value)-Pair #7 - { 0x5B, 0x02 }, // (Offset,Value)-Pair #8 + { 0x58, 0x0F }, + { 0x59, 0xB7 }, + { 0x5A, 0x40 }, + { 0x5B, 0x02 }, // IDirectSoundBuffer_SetPitchB+0x5E : dec eax; sar eax, 1 - { 0x5E, 0x48 }, // (Offset,Value)-Pair #9 - { 0x5F, 0xD1 }, // (Offset,Value)-Pair #10 - { 0x60, 0xF8 }, // (Offset,Value)-Pair #11 + { 0x5E, 0x48 }, + { 0x5F, 0xD1 }, + { 0x60, 0xF8 }, OOVPA_END; // ****************************************************************** @@ -319,26 +319,26 @@ OOVPA_XREF(IDirectSoundBuffer_SetPitchA, 3936, 12, XRefOne) // IDirectSoundBuffer_SetPitchA+0x1B : call [IDirectSoundBuffer_SetPitchB] - XREF_ENTRY( 0x1B, XREF_DSBUFFERSETPITCHB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1B, XREF_DSBUFFERSETPITCHB ), // IDirectSoundBuffer_SetPitchA+0x07 : mov edx, [esp+0x10] - { 0x07, 0x8B }, // (Offset,Value)-Pair #2 - { 0x08, 0x54 }, // (Offset,Value)-Pair #3 - { 0x09, 0x24 }, // (Offset,Value)-Pair #4 - { 0x0A, 0x10 }, // (Offset,Value)-Pair #5 + { 0x07, 0x8B }, + { 0x08, 0x54 }, + { 0x09, 0x24 }, + { 0x0A, 0x10 }, // IDirectSoundBuffer_SetPitchA+0x11 : mov ecx, [eax+0x18] - { 0x11, 0x8B }, // (Offset,Value)-Pair #6 - { 0x12, 0x48 }, // (Offset,Value)-Pair #7 - { 0x13, 0x18 }, // (Offset,Value)-Pair #8 + { 0x11, 0x8B }, + { 0x12, 0x48 }, + { 0x13, 0x18 }, // IDirectSoundBuffer_SetPitchA+0x23 : jz +0x0B - { 0x23, 0x74 }, // (Offset,Value)-Pair #9 - { 0x24, 0x0B }, // (Offset,Value)-Pair #10 + { 0x23, 0x74 }, + { 0x24, 0x0B }, // IDirectSoundBuffer_SetPitchA+0x34 : retn 0x08 - { 0x34, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x35, 0x08 }, // (Offset,Value)-Pair #12 + { 0x34, 0xC2 }, + { 0x35, 0x08 }, OOVPA_END; // ****************************************************************** @@ -350,22 +350,22 @@ OOVPA_XREF(IDirectSoundBuffer_SetPitch, 3936, 10, XRefOne) // IDirectSoundBuffer_SetPitch+0x15 : call [IDirectSoundBuffer_SetPitchA] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETPITCHA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSBUFFERSETPITCHA ), // IDirectSoundBuffer_SetPitch+0x04 : push [esp+0x08] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_SetPitch+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetPitch+0x19 : retn 0x08 - { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, OOVPA_END; // ****************************************************************** @@ -377,27 +377,27 @@ OOVPA_XREF(CMcpxBuffer_GetStatus, 3936, 13, XRefZero) // CMcpxBuffer_GetStatus+0x10 : mov eax, [ebp+0x08] - { 0x10, 0x8B }, // (Offset,Value)-Pair #1 - { 0x11, 0x45 }, // (Offset,Value)-Pair #2 - { 0x12, 0x08 }, // (Offset,Value)-Pair #3 + { 0x10, 0x8B }, + { 0x11, 0x45 }, + { 0x12, 0x08 }, // CMcpxBuffer_GetStatus+0x16 : xor ecx, ecx; inc ecx - { 0x16, 0x33 }, // (Offset,Value)-Pair #4 - { 0x17, 0xC9 }, // (Offset,Value)-Pair #5 - { 0x18, 0x41 }, // (Offset,Value)-Pair #6 + { 0x16, 0x33 }, + { 0x17, 0xC9 }, + { 0x18, 0x41 }, // CMcpxBuffer_GetStatus+0x1C : jz +0x17 - { 0x1C, 0x74 }, // (Offset,Value)-Pair #7 - { 0x1D, 0x17 }, // (Offset,Value)-Pair #8 + { 0x1C, 0x74 }, + { 0x1D, 0x17 }, // CMcpxBuffer_GetStatus+0x2F : mov [eax], 5 - { 0x2F, 0xC7 }, // (Offset,Value)-Pair #9 - { 0x30, 0x00 }, // (Offset,Value)-Pair #10 - { 0x31, 0x05 }, // (Offset,Value)-Pair #11 + { 0x2F, 0xC7 }, + { 0x30, 0x00 }, + { 0x31, 0x05 }, // CMcpxBuffer_GetStatus+0x48 : retn 0x04 - { 0x48, 0xC2 }, // (Offset,Value)-Pair #12 - { 0x49, 0x04 }, // (Offset,Value)-Pair #13 + { 0x48, 0xC2 }, + { 0x49, 0x04 }, OOVPA_END; // ****************************************************************** @@ -409,22 +409,22 @@ OOVPA_XREF(CDirectSoundBuffer_GetStatus, 3936, 10, XRefOne) // CDirectSoundBuffer_GetStatus+0x14 : call [CMcpxBuffer::GetStatus] - XREF_ENTRY( 0x15, XREF_CMcpxBuffer_GetStatus), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_CMcpxBuffer_GetStatus), // CDirectSoundBuffer_GetStatus+0x07 : push [esp+0x10] - { 0x07, 0xFF }, // (Offset,Value)-Pair #2 - { 0x08, 0x74 }, // (Offset,Value)-Pair #3 - { 0x09, 0x24 }, // (Offset,Value)-Pair #4 - { 0x0A, 0x10 }, // (Offset,Value)-Pair #5 + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x09, 0x24 }, + { 0x0A, 0x10 }, // CDirectSoundBuffer_GetStatus+0x11 : mov ecx, [eax+0x20] - { 0x11, 0x8B }, // (Offset,Value)-Pair #6 - { 0x12, 0x48 }, // (Offset,Value)-Pair #7 - { 0x13, 0x20 }, // (Offset,Value)-Pair #8 + { 0x11, 0x8B }, + { 0x12, 0x48 }, + { 0x13, 0x20 }, // CDirectSoundBuffer_GetStatus+0x2E : retn 0x08 - { 0x2E, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x2F, 0x08 }, // (Offset,Value)-Pair #10 + { 0x2E, 0xC2 }, + { 0x2F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -436,22 +436,22 @@ OOVPA_XREF(IDirectSoundBuffer_GetStatus, 3936, 10, XRefOne) // IDirectSoundBuffer_GetStatus+0x15 : call [CDirectSoundBuffer::GetStatus] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_GetStatus ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_GetStatus ), // IDirectSoundBuffer_GetStatus+0x04 : push [esp+0x08] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_GetStatus+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_GetStatus+0x19 : retn 0x08 - { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, OOVPA_END; // ****************************************************************** @@ -463,21 +463,21 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolumeB, 3936, 11, XRefZero) // IDirectSoundBuffer_SetVolumeB+0x26 : mov ecx, [esi+0xE0] - { 0x26, 0x8B }, // (Offset,Value)-Pair #1 - { 0x27, 0x8E }, // (Offset,Value)-Pair #2 - { 0x28, 0xE0 }, // (Offset,Value)-Pair #3 - { 0x29, 0x00 }, // (Offset,Value)-Pair #4 + { 0x26, 0x8B }, + { 0x27, 0x8E }, + { 0x28, 0xE0 }, + { 0x29, 0x00 }, // IDirectSoundBuffer_SetVolumeB+0x2F : movzx ecx, word ptr [ecx+2] - { 0x2F, 0x0F }, // (Offset,Value)-Pair #5 - { 0x30, 0xB7 }, // (Offset,Value)-Pair #6 - { 0x31, 0x49 }, // (Offset,Value)-Pair #7 - { 0x32, 0x02 }, // (Offset,Value)-Pair #8 + { 0x2F, 0x0F }, + { 0x30, 0xB7 }, + { 0x31, 0x49 }, + { 0x32, 0x02 }, // IDirectSoundBuffer_SetVolumeB+0x35 : dec ecx; sar ecx, 1 - { 0x35, 0x49 }, // (Offset,Value)-Pair #9 - { 0x36, 0xD1 }, // (Offset,Value)-Pair #10 - { 0x37, 0xF9 }, // (Offset,Value)-Pair #11 + { 0x35, 0x49 }, + { 0x36, 0xD1 }, + { 0x37, 0xF9 }, OOVPA_END; // ****************************************************************** @@ -489,26 +489,26 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolumeA, 3936, 12, XRefOne) // IDirectSoundBuffer_SetVolumeA+0x1E : call [IDirectSoundBuffer_SetVolumeB] - XREF_ENTRY( 0x1E, XREF_DSBUFFERSETVOLUMEB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1E, XREF_DSBUFFERSETVOLUMEB ), // IDirectSoundBuffer_SetVolumeA+0x07 : mov ecx, [esp+0x0C] - { 0x07, 0x8B }, // (Offset,Value)-Pair #2 - { 0x08, 0x4C }, // (Offset,Value)-Pair #3 - { 0x09, 0x24 }, // (Offset,Value)-Pair #4 - { 0x0A, 0x0C }, // (Offset,Value)-Pair #5 + { 0x07, 0x8B }, + { 0x08, 0x4C }, + { 0x09, 0x24 }, + { 0x0A, 0x0C }, // IDirectSoundBuffer_SetVolumeA+0x11 : mov eax, [ecx+0x18] - { 0x11, 0x8B }, // (Offset,Value)-Pair #6 - { 0x12, 0x41 }, // (Offset,Value)-Pair #7 - { 0x13, 0x18 }, // (Offset,Value)-Pair #8 + { 0x11, 0x8B }, + { 0x12, 0x41 }, + { 0x13, 0x18 }, // IDirectSoundBuffer_SetVolumeA+0x26 : jz +0x0B - { 0x26, 0x74 }, // (Offset,Value)-Pair #9 - { 0x27, 0x0B }, // (Offset,Value)-Pair #10 + { 0x26, 0x74 }, + { 0x27, 0x0B }, // IDirectSoundBuffer_SetVolumeA+0x37 : retn 0x08 - { 0x37, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x38, 0x08 }, // (Offset,Value)-Pair #12 + { 0x37, 0xC2 }, + { 0x38, 0x08 }, OOVPA_END; // ****************************************************************** @@ -520,22 +520,22 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3936, 10, XRefOne) // IDirectSoundBuffer_SetVolume+0x15 : call [IDirectSoundBuffer_SetVolumeA] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETVOLUMEA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSBUFFERSETVOLUMEA ), // IDirectSoundBuffer_SetVolume+0x04 : push [esp+0x08] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_SetVolume+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetVolume+0x19 : retn 0x08 - { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, OOVPA_END; // ****************************************************************** @@ -547,21 +547,21 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPositionB, 3936, 11, XRefZero) // IDirectSoundBuffer_SetCurrentPositionB+0x25 : mov eax, [esi+0x148] - { 0x25, 0x8B }, // (Offset,Value)-Pair #1 - { 0x26, 0x86 }, // (Offset,Value)-Pair #2 - { 0x27, 0x48 }, // (Offset,Value)-Pair #3 - { 0x28, 0x01 }, // (Offset,Value)-Pair #4 + { 0x25, 0x8B }, + { 0x26, 0x86 }, + { 0x27, 0x48 }, + { 0x28, 0x01 }, // IDirectSoundBuffer_SetCurrentPositionB+0x4A : push edi; push 4 - { 0x4A, 0x57 }, // (Offset,Value)-Pair #5 - { 0x4B, 0x6A }, // (Offset,Value)-Pair #6 - { 0x4C, 0x04 }, // (Offset,Value)-Pair #7 + { 0x4A, 0x57 }, + { 0x4B, 0x6A }, + { 0x4C, 0x04 }, // IDirectSoundBuffer_SetCurrentPositionB+0x71 : movzx eax, word ptr [eax+2] - { 0x71, 0x0F }, // (Offset,Value)-Pair #8 - { 0x72, 0xB7 }, // (Offset,Value)-Pair #9 - { 0x73, 0x40 }, // (Offset,Value)-Pair #10 - { 0x74, 0x02 }, // (Offset,Value)-Pair #11 + { 0x71, 0x0F }, + { 0x72, 0xB7 }, + { 0x73, 0x40 }, + { 0x74, 0x02 }, OOVPA_END; // ****************************************************************** @@ -573,26 +573,26 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPositionA, 3936, 12, XRefOne) // IDirectSoundBuffer_SetCurrentPositionA+0x15 : call [IDirectSoundBuffer_SetCurrentPositionB] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETCURRENTPOSITIONB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSBUFFERSETCURRENTPOSITIONB ), // IDirectSoundBuffer_SetCurrentPositionA+0x0D : mov eax, [esp+0x10] - { 0x0D, 0x8B }, // (Offset,Value)-Pair #2 - { 0x0E, 0x44 }, // (Offset,Value)-Pair #3 - { 0x0F, 0x24 }, // (Offset,Value)-Pair #4 - { 0x10, 0x10 }, // (Offset,Value)-Pair #5 + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x10 }, // IDirectSoundBuffer_SetCurrentPositionA+0x11 : mov ecx, [eax+0x20] - { 0x11, 0x8B }, // (Offset,Value)-Pair #6 - { 0x12, 0x48 }, // (Offset,Value)-Pair #7 - { 0x13, 0x20 }, // (Offset,Value)-Pair #8 + { 0x11, 0x8B }, + { 0x12, 0x48 }, + { 0x13, 0x20 }, // IDirectSoundBuffer_SetCurrentPositionA+0x1D : jz +0x0B - { 0x1D, 0x74 }, // (Offset,Value)-Pair #9 - { 0x1E, 0x0B }, // (Offset,Value)-Pair #10 + { 0x1D, 0x74 }, + { 0x1E, 0x0B }, // IDirectSoundBuffer_SetCurrentPositionA+0x2E : retn 0x08 - { 0x2E, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x2F, 0x08 }, // (Offset,Value)-Pair #12 + { 0x2E, 0xC2 }, + { 0x2F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -604,22 +604,22 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 3936, 10, XRefOne) // IDirectSoundBuffer_SetCurrentPosition+0x15 : call [IDirectSoundBuffer_SetCurrentPositionA] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA ), // IDirectSoundBuffer_SetCurrentPosition+0x04 : push [esp+0x08] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_SetCurrentPosition+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetCurrentPosition+0x19 : retn 0x08 - { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, OOVPA_END; // ****************************************************************** @@ -631,22 +631,22 @@ OOVPA_XREF(IDirectSoundBuffer_SetPlayRegionA, 3936, 10, XRefZero) // IDirectSoundBuffer_SetPlayRegionA+0x20 : cmp edx, [ecx+0x54] - { 0x20, 0x3B }, // (Offset,Value)-Pair #1 - { 0x21, 0x51 }, // (Offset,Value)-Pair #2 - { 0x22, 0x54 }, // (Offset,Value)-Pair #3 + { 0x20, 0x3B }, + { 0x21, 0x51 }, + { 0x22, 0x54 }, // IDirectSoundBuffer_SetPlayRegionA+0x2C : mov ecx, [esi+0x20] - { 0x2C, 0x8B }, // (Offset,Value)-Pair #4 - { 0x2D, 0x4E }, // (Offset,Value)-Pair #5 - { 0x2E, 0x20 }, // (Offset,Value)-Pair #6 + { 0x2C, 0x8B }, + { 0x2D, 0x4E }, + { 0x2E, 0x20 }, // IDirectSoundBuffer_SetPlayRegionA+0x38 : jz +0x0B - { 0x38, 0x74 }, // (Offset,Value)-Pair #7 - { 0x39, 0x0B }, // (Offset,Value)-Pair #8 + { 0x38, 0x74 }, + { 0x39, 0x0B }, // IDirectSoundBuffer_SetPlayRegionA+0x4A : retn 0x0C - { 0x4A, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x4B, 0x0C }, // (Offset,Value)-Pair #10 + { 0x4A, 0xC2 }, + { 0x4B, 0x0C }, OOVPA_END; // ****************************************************************** @@ -658,22 +658,22 @@ OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 3936, 10, XRefOne) // IDirectSoundBuffer_SetPlayRegion+0x19 : call [IDirectSoundBuffer_SetPlayRegionA] - XREF_ENTRY( 0x19, XREF_DSBUFFERSETPLAYREGIONA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_DSBUFFERSETPLAYREGIONA ), // IDirectSoundBuffer_SetPlayRegion+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSoundBuffer_SetPlayRegion+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x10, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, // IDirectSoundBuffer_SetPlayRegion+0x1D : retn 0x0C - { 0x1D, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1E, 0x0C }, // (Offset,Value)-Pair #10 + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, OOVPA_END; // ****************************************************************** @@ -685,20 +685,20 @@ OOVPA_XREF(IDirectSoundBuffer_LockA, 3936, 10, XRefZero) // IDirectSoundBuffer_LockA+0x37 : mov eax, [eax+0x4C] - { 0x37, 0x8B }, // (Offset,Value)-Pair #1 - { 0x38, 0x40 }, // (Offset,Value)-Pair #2 - { 0x39, 0x4C }, // (Offset,Value)-Pair #3 + { 0x37, 0x8B }, + { 0x38, 0x40 }, + { 0x39, 0x4C }, // IDirectSoundBuffer_LockA+0x68 : mov [edi], ebx; jz +0x1F - { 0x68, 0x89 }, // (Offset,Value)-Pair #4 - { 0x69, 0x1F }, // (Offset,Value)-Pair #5 - { 0x6A, 0x74 }, // (Offset,Value)-Pair #6 - { 0x6B, 0x1F }, // (Offset,Value)-Pair #7 + { 0x68, 0x89 }, + { 0x69, 0x1F }, + { 0x6A, 0x74 }, + { 0x6B, 0x1F }, // IDirectSoundBuffer_LockA+0x85 : and dword ptr [edx], 0 - { 0x85, 0x83 }, // (Offset,Value)-Pair #8 - { 0x86, 0x22 }, // (Offset,Value)-Pair #9 - { 0x87, 0x00 }, // (Offset,Value)-Pair #10 + { 0x85, 0x83 }, + { 0x86, 0x22 }, + { 0x87, 0x00 }, OOVPA_END; // ****************************************************************** @@ -710,21 +710,21 @@ OOVPA_XREF(IDirectSoundBuffer_Lock, 3936, 9, XRefOne) // IDirectSoundBuffer_Lock+0x28 : call [IDirectSoundBuffer_LockA] - XREF_ENTRY( 0x28, XREF_DSBUFFERLOCKA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x28, XREF_DSBUFFERLOCKA ), // IDirectSoundBuffer_Lock+0x03 : push [esp+0x24] - { 0x03, 0xFF }, // (Offset,Value)-Pair #2 - { 0x04, 0x75 }, // (Offset,Value)-Pair #3 - { 0x05, 0x24 }, // (Offset,Value)-Pair #4 + { 0x03, 0xFF }, + { 0x04, 0x75 }, + { 0x05, 0x24 }, // IDirectSoundBuffer_Lock+0x11 : add eax, 0xFFFFFFE4 - { 0x11, 0x83 }, // (Offset,Value)-Pair #5 - { 0x12, 0xC0 }, // (Offset,Value)-Pair #6 - { 0x13, 0xE4 }, // (Offset,Value)-Pair #7 + { 0x11, 0x83 }, + { 0x12, 0xC0 }, + { 0x13, 0xE4 }, // IDirectSoundBuffer_Lock+0x2D : retn 0x20 - { 0x2D, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x2E, 0x20 }, // (Offset,Value)-Pair #9 + { 0x2D, 0xC2 }, + { 0x2E, 0x20 }, OOVPA_END; // ****************************************************************** @@ -738,26 +738,26 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroomA, 3936, 12, // WARNING: I am unsure if this is SetHeadroom // IDirectSoundBuffer_SetHeadroomA+0x23 : call [IDirectSoundBuffer_SetVolumeB] - XREF_ENTRY( 0x23, XREF_DSBUFFERSETVOLUMEB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x23, XREF_DSBUFFERSETVOLUMEB ), // IDirectSoundBuffer_SetHeadroomA+0x07 : mov edx, [esp+0x0C] - { 0x07, 0x8B }, // (Offset,Value)-Pair #2 - { 0x08, 0x54 }, // (Offset,Value)-Pair #3 - { 0x09, 0x24 }, // (Offset,Value)-Pair #4 - { 0x0A, 0x0C }, // (Offset,Value)-Pair #5 + { 0x07, 0x8B }, + { 0x08, 0x54 }, + { 0x09, 0x24 }, + { 0x0A, 0x0C }, // IDirectSoundBuffer_SetHeadroomA+0x11 : mov eax, [edx+0x18] - { 0x11, 0x8B }, // (Offset,Value)-Pair #6 - { 0x12, 0x42 }, // (Offset,Value)-Pair #7 - { 0x13, 0x18 }, // (Offset,Value)-Pair #8 + { 0x11, 0x8B }, + { 0x12, 0x42 }, + { 0x13, 0x18 }, // IDirectSoundBuffer_SetHeadroomA+0x2B : jz +0x0B - { 0x2B, 0x74 }, // (Offset,Value)-Pair #9 - { 0x2C, 0x0B }, // (Offset,Value)-Pair #10 + { 0x2B, 0x74 }, + { 0x2C, 0x0B }, // IDirectSoundBuffer_SetHeadroomA+0x3C : retn 0x08 - { 0x3C, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x3D, 0x08 }, // (Offset,Value)-Pair #12 + { 0x3C, 0xC2 }, + { 0x3D, 0x08 }, OOVPA_END; // ****************************************************************** @@ -769,22 +769,22 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 3936, 10, XRefOne) // IDirectSoundBuffer_SetHeadroom+0x15 : call [IDirectSoundBuffer_SetHeadroomA] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETHEADROOMA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSBUFFERSETHEADROOMA ), // IDirectSoundBuffer_SetHeadroom+0x04 : push [esp+0x08] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_SetHeadroom+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetHeadroom+0x19 : retn 0x08 - { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1A, 0x08 }, // (Offset,Value)-Pair #10 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, OOVPA_END; // ****************************************************************** @@ -796,19 +796,19 @@ OOVPA_XREF(IDirectSoundBuffer_SetBufferDataA, 3936, 9, XRefZero) // IDirectSoundBuffer_SetBufferDataA+0x22 : cmp ecx, [eax+0x4C] - { 0x22, 0x3B }, // (Offset,Value)-Pair #1 - { 0x23, 0x48 }, // (Offset,Value)-Pair #2 - { 0x24, 0x4C }, // (Offset,Value)-Pair #3 + { 0x22, 0x3B }, + { 0x23, 0x48 }, + { 0x24, 0x4C }, // IDirectSoundBuffer_SetBufferDataA+0x38 : mov ecx, [esi+0x1C] - { 0x38, 0x8B }, // (Offset,Value)-Pair #4 - { 0x39, 0x4E }, // (Offset,Value)-Pair #5 - { 0x3A, 0x1C }, // (Offset,Value)-Pair #6 + { 0x38, 0x8B }, + { 0x39, 0x4E }, + { 0x3A, 0x1C }, // IDirectSoundBuffer_SetBufferDataA+0x71 : leave; retn 0x0C - { 0x71, 0xC9 }, // (Offset,Value)-Pair #7 - { 0x72, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x73, 0x0C }, // (Offset,Value)-Pair #9 + { 0x71, 0xC9 }, + { 0x72, 0xC2 }, + { 0x73, 0x0C }, OOVPA_END; // ****************************************************************** @@ -820,22 +820,22 @@ OOVPA_XREF(IDirectSoundBuffer_SetBufferData, 3936, 10, XRefOne) // IDirectSoundBuffer_SetBufferData+0x18 : call [IDirectSoundBuffer_SetBufferDataA] - XREF_ENTRY( 0x19, XREF_DSSETBUFFERDATA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_DSSETBUFFERDATA ), // IDirectSoundBuffer_SetBufferData+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSoundBuffer_SetBufferData+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x10, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, // IDirectSoundBuffer_SetBufferData+0x1D : retn 0x0C - { 0x1D, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1E, 0x0C }, // (Offset,Value)-Pair #10 + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, OOVPA_END; // ****************************************************************** @@ -847,31 +847,31 @@ OOVPA_XREF(CMcpxVoiceClient_SetMixBins, 3936, 15, XRefZero) // CMcpxVoiceClient_SetMixBins+0x1C : lea eax, [esi+0x84] - { 0x1D, 0x86 }, // (Offset,Value)-Pair #1 - { 0x1E, 0x84 }, // (Offset,Value)-Pair #2 - { 0x21, 0x00 }, // (Offset,Value)-Pair #3 + { 0x1D, 0x86 }, + { 0x1E, 0x84 }, + { 0x21, 0x00 }, // CMcpxVoiceClient_SetMixBins+0x2E : mov eax, [esi+0xE0] - { 0x2E, 0x8B }, // (Offset,Value)-Pair #4 - { 0x30, 0xE0 }, // (Offset,Value)-Pair #5 - { 0x31, 0x00 }, // (Offset,Value)-Pair #6 + { 0x2E, 0x8B }, + { 0x30, 0xE0 }, + { 0x31, 0x00 }, // CMcpxVoiceClient_SetMixBins+0x41 : jz +0x7F - { 0x41, 0x74 }, // (Offset,Value)-Pair #7 - { 0x42, 0x7F }, // (Offset,Value)-Pair #8 + { 0x41, 0x74 }, + { 0x42, 0x7F }, // CMcpxVoiceClient_SetMixBins+0x5A : mov ds:[0xFE8202F8], eax - { 0x5A, 0xA3 }, // (Offset,Value)-Pair #9 - { 0x5B, 0xF8 }, // (Offset,Value)-Pair #10 - { 0x5C, 0x02 }, // (Offset,Value)-Pair #11 - { 0x5D, 0x82 }, // (Offset,Value)-Pair #12 + { 0x5A, 0xA3 }, + { 0x5B, 0xF8 }, + { 0x5C, 0x02 }, + { 0x5D, 0x82 }, // CMcpxVoiceClient_SetMixBins+0xBF : jb +0x8C - { 0xBF, 0x72 }, // (Offset,Value)-Pair #13 - { 0xC0, 0x8C }, // (Offset,Value)-Pair #14 + { 0xBF, 0x72 }, + { 0xC0, 0x8C }, // CMcpxVoiceClient_SetMixBins+0xD6 : retn - { 0xD6, 0xC3 }, // (Offset,Value)-Pair #15 + { 0xD6, 0xC3 }, OOVPA_END; // ****************************************************************** @@ -883,21 +883,21 @@ OOVPA_XREF(CDirectSoundVoice_SetMixBins, 3936, 9, XRefOne) // CDirectSoundVoice_SetMixBins+0x28 : call [CMcpxVoiceClient::SetMixBins] - XREF_ENTRY( 0x29, XREF_DSSETMIXBINSB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x29, XREF_DSSETMIXBINSB ), // CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x18] - { 0x11, 0x8B }, // (Offset,Value)-Pair #2 - { 0x12, 0x4E }, // (Offset,Value)-Pair #3 - { 0x13, 0x18 }, // (Offset,Value)-Pair #4 + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x13, 0x18 }, // CDirectSoundVoice_SetMixBins+0x25 : mov ecx, [esi+0x14] - { 0x25, 0x8B }, // (Offset,Value)-Pair #5 - { 0x26, 0x4E }, // (Offset,Value)-Pair #6 - { 0x27, 0x14 }, // (Offset,Value)-Pair #7 + { 0x25, 0x8B }, + { 0x26, 0x4E }, + { 0x27, 0x14 }, // CDirectSoundVoice_SetMixBins+0x55 : retn 0x08 - { 0x55, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x56, 0x08 }, // (Offset,Value)-Pair #9 + { 0x55, 0xC2 }, + { 0x56, 0x08 }, OOVPA_END; // ****************************************************************** @@ -909,22 +909,22 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 3936, 10, XRefOne) // IDirectSoundStream_SetFrequency+0x0C : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x0D, XREF_DSSETMIXBINSA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x0D, XREF_DSSETMIXBINSA ), // CDirectSoundStream_SetMixBins+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // CDirectSoundStream_SetMixBins+0x08 : add eax, 0x04 - { 0x08, 0x83 }, // (Offset,Value)-Pair #6 - { 0x09, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, // CDirectSoundStream_SetMixBins+0x11 : retn 0x08 - { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x12, 0x08 }, // (Offset,Value)-Pair #10 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, OOVPA_END; // ****************************************************************** @@ -936,20 +936,20 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 3936, 8, XRefOne) // IDirectSoundBuffer_SetMixBins+0x14 : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x15, XREF_DSSETMIXBINSA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSSETMIXBINSA ), // IDirectSoundBuffer_SetMixBins+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #2 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetMixBins+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, // (Offset,Value)-Pair #5 - { 0x10, 0xC9 }, // (Offset,Value)-Pair #6 + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, // IDirectSoundBuffer_SetMixBins+0x11 : and ecx, eax - { 0x11, 0x23 }, // (Offset,Value)-Pair #7 - { 0x12, 0xC8 }, // (Offset,Value)-Pair #8 + { 0x11, 0x23 }, + { 0x12, 0xC8 }, OOVPA_END; // ****************************************************************** @@ -961,23 +961,23 @@ OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 3936, 11, XRefZero) // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+8] - { 0x12, 0x8B }, // (Offset,Value)-Pair #1 - { 0x13, 0x46 }, // (Offset,Value)-Pair #2 - { 0x14, 0x08 }, // (Offset,Value)-Pair #3 + { 0x12, 0x8B }, + { 0x13, 0x46 }, + { 0x14, 0x08 }, // CMcpxBuffer_GetCurrentPosition+0x1A : jnz +0x79 - { 0x1A, 0x75 }, // (Offset,Value)-Pair #4 - { 0x1B, 0x79 }, // (Offset,Value)-Pair #5 + { 0x1A, 0x75 }, + { 0x1B, 0x79 }, // CMcpxBuffer_GetCurrentPosition+0x8E : div dword ptr [ecx+0x4C] - { 0x8E, 0xF7 }, // (Offset,Value)-Pair #6 - { 0x8F, 0x71 }, // (Offset,Value)-Pair #7 - { 0x90, 0x4C }, // (Offset,Value)-Pair #8 + { 0x8E, 0xF7 }, + { 0x8F, 0x71 }, + { 0x90, 0x4C }, // CMcpxBuffer_GetCurrentPosition+0xC8 : retn 0x08 - { 0xC8, 0xC2 }, // (Offset,Value)-Pair #9 - { 0xC9, 0x08 }, // (Offset,Value)-Pair #10 - { 0xCA, 0x00 }, // (Offset,Value)-Pair #11 + { 0xC8, 0xC2 }, + { 0xC9, 0x08 }, + { 0xCA, 0x00 }, OOVPA_END; // ****************************************************************** @@ -989,23 +989,23 @@ OOVPA_XREF(CMcpxBuffer_GetCurrentPosition2, 3936, 11, XRefZero) // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+0x18] - { 0x12, 0x8B }, // (Offset,Value)-Pair #1 - { 0x13, 0x46 }, // (Offset,Value)-Pair #2 - { 0x14, 0x18 }, // (Offset,Value)-Pair #3 + { 0x12, 0x8B }, + { 0x13, 0x46 }, + { 0x14, 0x18 }, // CMcpxBuffer_GetCurrentPosition+0x1A : jnz +0x79 - { 0x1A, 0x75 }, // (Offset,Value)-Pair #4 - { 0x1B, 0x79 }, // (Offset,Value)-Pair #5 + { 0x1A, 0x75 }, + { 0x1B, 0x79 }, // CMcpxBuffer_GetCurrentPosition+0x8E : div dword ptr [ecx+0x4C] - { 0x8E, 0xF7 }, // (Offset,Value)-Pair #6 - { 0x8F, 0x71 }, // (Offset,Value)-Pair #7 - { 0x90, 0x4C }, // (Offset,Value)-Pair #8 + { 0x8E, 0xF7 }, + { 0x8F, 0x71 }, + { 0x90, 0x4C }, // CMcpxBuffer_GetCurrentPosition+0xC8 : retn 0x08 - { 0xC8, 0xC2 }, // (Offset,Value)-Pair #9 - { 0xC9, 0x08 }, // (Offset,Value)-Pair #10 - { 0xCA, 0x00 }, // (Offset,Value)-Pair #11 + { 0xC8, 0xC2 }, + { 0xC9, 0x08 }, + { 0xCA, 0x00 }, OOVPA_END; // ****************************************************************** @@ -1017,21 +1017,21 @@ OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 3936, 9, XRefOne) // CDirectSoundBuffer_GetCurrentPosition+0x19 : call [CMcpxBuffer::GetCurrentPosition] - XREF_ENTRY( 0x19, XREF_CMcpxBuffer_GetCurrentPosition), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_CMcpxBuffer_GetCurrentPosition), // CDirectSoundBuffer_GetCurrentPosition+0x0D : mov eax, [esp+0x10] - { 0x0D, 0x8B }, // (Offset,Value)-Pair #2 - { 0x0E, 0x44 }, // (Offset,Value)-Pair #3 - { 0x0F, 0x24 }, // (Offset,Value)-Pair #4 - { 0x10, 0x10 }, // (Offset,Value)-Pair #5 + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x10 }, // CDirectSoundBuffer_GetCurrentPosition+0x21 : jz +0x0B - { 0x21, 0x74 }, // (Offset,Value)-Pair #6 - { 0x22, 0x0B }, // (Offset,Value)-Pair #7 + { 0x21, 0x74 }, + { 0x22, 0x0B }, // CDirectSoundBuffer_GetCurrentPosition+0x32 : retn 0x0C - { 0x32, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x33, 0x0C }, // (Offset,Value)-Pair #9 + { 0x32, 0xC2 }, + { 0x33, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1043,20 +1043,20 @@ OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition, 3936, 8, XRefOne) // IDirectSoundBuffer_GetCurrentPosition+0x19 : call [CDirectSoundBuffer::GetCurrentPosition] - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_GetCurrentPosition), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_GetCurrentPosition), // IDirectSoundBuffer_GetCurrentPosition+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, // (Offset,Value)-Pair #2 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x10, 0xE4 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, // IDirectSoundBuffer_GetCurrentPosition+0x13 : sbb ecx, ecx - { 0x13, 0x1B }, // (Offset,Value)-Pair #5 - { 0x14, 0xC9 }, // (Offset,Value)-Pair #6 + { 0x13, 0x1B }, + { 0x14, 0xC9 }, // IDirectSoundBuffer_GetCurrentPosition+0x15 : and ecx, eax - { 0x15, 0x23 }, // (Offset,Value)-Pair #7 - { 0x16, 0xC8 }, // (Offset,Value)-Pair #8 + { 0x15, 0x23 }, + { 0x16, 0xC8 }, OOVPA_END; // ****************************************************************** @@ -1088,29 +1088,29 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 3936, 16, XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_Play ), // IDirectSoundBuffer_Play+0x00 : push [esp+0x10] - { 0x00, 0xFF }, // (Offset,Value)-Pair #1 - { 0x01, 0x74 }, // (Offset,Value)-Pair #2 - { 0x02, 0x24 }, // (Offset,Value)-Pair #3 - { 0x03, 0x10 }, // (Offset,Value)-Pair #4 + { 0x00, 0xFF }, + { 0x01, 0x74 }, + { 0x02, 0x24 }, + { 0x03, 0x10 }, // IDirectSoundBuffer_Play+0x04 : mov eax, [esp+4+arg_0] - { 0x04, 0x8B }, // (Offset,Value)-Pair #5 - { 0x05, 0x44 }, // (Offset,Value)-Pair #6 - { 0x06, 0x24 }, // (Offset,Value)-Pair #7 - { 0x07, 0x08 }, // (Offset,Value)-Pair #8 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_Play+0x12 : and eax, [0xFFFFFFE4] - { 0x12, 0x83 }, // (Offset,Value)-Pair #9 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #10 - { 0x14, 0xE4 }, // (Offset,Value)-Pair #11 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, // IDirectSoundBuffer_Play+0x17 : sbb ecx, ecx - { 0x17, 0x1B }, // (Offset,Value)-Pair #12 - { 0x18, 0xC9 }, // (Offset,Value)-Pair #13 + { 0x17, 0x1B }, + { 0x18, 0xC9 }, // IDirectSoundBuffer_Play+0x21 : retn 0x10 - { 0x21, 0xC2 }, // (Offset,Value)-Pair #14 - { 0x22, 0x10 }, // (Offset,Value)-Pair #15 + { 0x21, 0xC2 }, + { 0x22, 0x10 }, OOVPA_END; // ****************************************************************** @@ -1125,23 +1125,23 @@ OOVPA_XREF(IDirectSoundBuffer_Play2, 3936, 12, XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_Play ), // IDirectSoundBuffer_Play+0x00 : push [esp+0x10] - { 0x00, 0xFF }, // (Offset,Value)-Pair #1 - { 0x01, 0x74 }, // (Offset,Value)-Pair #2 - { 0x02, 0x24 }, // (Offset,Value)-Pair #3 - { 0x03, 0x10 }, // (Offset,Value)-Pair #4 + { 0x00, 0xFF }, + { 0x01, 0x74 }, + { 0x02, 0x24 }, + { 0x03, 0x10 }, // IDirectSoundBuffer_Play+0x12 : and eax, [0xFFFFFFE4] - { 0x12, 0x83 }, // (Offset,Value)-Pair #5 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #6 - { 0x14, 0xE4 }, // (Offset,Value)-Pair #7 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, // IDirectSoundBuffer_Play+0x17 : sbb ecx, ecx - { 0x17, 0x1B }, // (Offset,Value)-Pair #8 - { 0x18, 0xC9 }, // (Offset,Value)-Pair #9 + { 0x17, 0x1B }, + { 0x18, 0xC9 }, // IDirectSoundBuffer_Play+0x21 : retn 0x10 - { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x22, 0x10 }, // (Offset,Value)-Pair #11 + { 0x21, 0xC2 }, + { 0x22, 0x10 }, OOVPA_END; // ****************************************************************** @@ -1153,22 +1153,22 @@ OOVPA_XREF(CDirectSoundBuffer_Stop, 3936, 12, XRefZero) // CDirectSoundBuffer_Stop+0x07 : mov eax, 0x80004005 - { 0x07, 0x6A }, // (Offset,Value)-Pair #1 - { 0x08, 0x00 }, // (Offset,Value)-Pair #2 - { 0x09, 0x6A }, // (Offset,Value)-Pair #3 - { 0x0A, 0x00 }, // (Offset,Value)-Pair #4 - { 0x0B, 0x6A }, // (Offset,Value)-Pair #5 - { 0x0C, 0x00 }, // (Offset,Value)-Pair #6 + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x00 }, + { 0x0B, 0x6A }, + { 0x0C, 0x00 }, // CDirectSoundBuffer_Stop+0x1A : mov ebx, eax; jz +0x0B - { 0x1A, 0x8B }, // (Offset,Value)-Pair #7 - { 0x1B, 0xD8 }, // (Offset,Value)-Pair #8 - { 0x1C, 0x74 }, // (Offset,Value)-Pair #9 - { 0x1D, 0x0B }, // (Offset,Value)-Pair #10 + { 0x1A, 0x8B }, + { 0x1B, 0xD8 }, + { 0x1C, 0x74 }, + { 0x1D, 0x0B }, // CDirectSoundBuffer_Stop+0x2D : retn 0x04 - { 0x2D, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x2E, 0x04 }, // (Offset,Value)-Pair #12 + { 0x2D, 0xC2 }, + { 0x2E, 0x04 }, OOVPA_END; // ****************************************************************** @@ -1180,20 +1180,20 @@ OOVPA_XREF(IDirectSoundBuffer_Stop, 3936, 8, XRefOne) // IDirectSoundBuffer_Stop+0x11 : call [CDirectSoundBuffer::Stop] - XREF_ENTRY( 0x11, XREF_CDirectSoundBuffer_Stop ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_CDirectSoundBuffer_Stop ), // IDirectSoundBuffer_Stop+0x06 : and eax, 0xFFFFFFE4 - { 0x06, 0x83 }, // (Offset,Value)-Pair #2 - { 0x07, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x08, 0xE4 }, // (Offset,Value)-Pair #4 + { 0x06, 0x83 }, + { 0x07, 0xC0 }, + { 0x08, 0xE4 }, // IDirectSoundBuffer_Stop+0x0B : sbb ecx, ecx - { 0x0B, 0x1B }, // (Offset,Value)-Pair #5 - { 0x0C, 0xC9 }, // (Offset,Value)-Pair #6 + { 0x0B, 0x1B }, + { 0x0C, 0xC9 }, // IDirectSoundBuffer_Stop+0x0D : and ecx, eax - { 0x0D, 0x23 }, // (Offset,Value)-Pair #7 - { 0x0E, 0xC8 }, // (Offset,Value)-Pair #8 + { 0x0D, 0x23 }, + { 0x0E, 0xC8 }, OOVPA_END; // ****************************************************************** @@ -1207,22 +1207,22 @@ OOVPA_XREF(CMcpxVoiceClient_SetVolume, 3936, 10, // TODO: re-use for IDirectSoundBuffer_SetVolume! // CMcpxVoiceClient_SetVolume+0x14 : sub edx, [eax+0x1C] - { 0x14, 0x2B }, // (Offset,Value)-Pair #1 - { 0x15, 0x50 }, // (Offset,Value)-Pair #2 - { 0x16, 0x1C }, // (Offset,Value)-Pair #3 + { 0x14, 0x2B }, + { 0x15, 0x50 }, + { 0x16, 0x1C }, // CMcpxVoiceClient_SetVolume+0x1A : mov ecx, [ecx+0x14] - { 0x1A, 0x8B }, // (Offset,Value)-Pair #4 - { 0x1B, 0x49 }, // (Offset,Value)-Pair #5 - { 0x1C, 0x14 }, // (Offset,Value)-Pair #6 + { 0x1A, 0x8B }, + { 0x1B, 0x49 }, + { 0x1C, 0x14 }, // CMcpxVoiceClient_SetVolume+0x26 : jz +0x0B - { 0x26, 0x74 }, // (Offset,Value)-Pair #7 - { 0x27, 0x0B }, // (Offset,Value)-Pair #8 + { 0x26, 0x74 }, + { 0x27, 0x0B }, // CMcpxVoiceClient_SetVolume+0x37 : retn 0x08 - { 0x37, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x38, 0x08 }, // (Offset,Value)-Pair #10 + { 0x37, 0xC2 }, + { 0x38, 0x08 }, OOVPA_END; // ****************************************************************** @@ -1234,22 +1234,22 @@ OOVPA_XREF(CDirectSoundStream_SetVolume, 3936, 10, XRefOne) // CDirectSoundStream_SetVolume+0x0D : call [IDirectSoundStream::SetVolume] - XREF_ENTRY( 0x0D, XREF_DSSTREAMSETVOLUME ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x0D, XREF_DSSTREAMSETVOLUME ), // CDirectSoundStream_SetVolume+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // CDirectSoundStream_SetVolume+0x08 : add eax, 0x04 - { 0x08, 0x83 }, // (Offset,Value)-Pair #6 - { 0x09, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, // CDirectSoundStream_SetVolume+0x11 : retn 0x08 - { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x12, 0x08 }, // (Offset,Value)-Pair #10 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, OOVPA_END; // ****************************************************************** @@ -1284,24 +1284,24 @@ OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 3936, 12, // TODO: re-use for CDirectSoundBuffer_SetAllParametersA!? // CDirectSoundVoice_SetAllParameters+0x25 : call [IDirectSoundStream::SetAllParametersB] - XREF_ENTRY( 0x1F, XREF_DSSTREAMSETALLPARAMETERS1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1F, XREF_DSSTREAMSETALLPARAMETERS1B ), // CDirectSoundVoice_SetAllParameters+0x09 : mov eax, [esp+0x14] - { 0x09, 0x8B }, // (Offset,Value)-Pair #2 - { 0x0A, 0x44 }, // (Offset,Value)-Pair #3 - { 0x0B, 0x24 }, // (Offset,Value)-Pair #4 - { 0x0C, 0x14 }, // (Offset,Value)-Pair #5 + { 0x09, 0x8B }, + { 0x0A, 0x44 }, + { 0x0B, 0x24 }, + { 0x0C, 0x14 }, // CDirectSoundVoice_SetAllParameters+0x0D : not eax; and eax, 1 - { 0x0D, 0xF7 }, // (Offset,Value)-Pair #6 - { 0x0E, 0xD0 }, // (Offset,Value)-Pair #7 - { 0x0F, 0x83 }, // (Offset,Value)-Pair #8 - { 0x10, 0xE0 }, // (Offset,Value)-Pair #9 - { 0x11, 0x01 }, // (Offset,Value)-Pair #10 + { 0x0D, 0xF7 }, + { 0x0E, 0xD0 }, + { 0x0F, 0x83 }, + { 0x10, 0xE0 }, + { 0x11, 0x01 }, // CDirectSoundVoice_SetAllParameters+0x38 : retn 0x0C - { 0x38, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x39, 0x0C }, // (Offset,Value)-Pair #12 + { 0x38, 0xC2 }, + { 0x39, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1313,22 +1313,22 @@ OOVPA_XREF(CDirectSoundStream_SetAllParameters, 3936, 10, XRefOne) // CDirectSoundStream_SetAllParameters+0x11 : call [IDirectSoundStream::SetAllParametersA] - XREF_ENTRY( 0x11, XREF_DSSTREAMSETALLPARAMETERS1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_DSSTREAMSETALLPARAMETERS1A ), // CDirectSoundStream_SetAllParameters+0x04 : push eax, [esp+0x08] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // CDirectSoundStream_SetAllParameters+0x0C : add eax, 0x04 - { 0x0C, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0D, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0E, 0x04 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x83 }, + { 0x0D, 0xC0 }, + { 0x0E, 0x04 }, // CDirectSoundStream_SetAllParameters+0x15 : retn 0x0C - { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x16, 0x0C }, // (Offset,Value)-Pair #10 + { 0x15, 0xC2 }, + { 0x16, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1342,22 +1342,22 @@ OOVPA_XREF(CDirectSoundStream_SetConeAnglesB, 3936, 12, // TODO: re-use for CDirectSoundBuffer_SetConeAnglesB!? // CDirectSoundStream_SetConeAnglesB+0x04 : or dword ptr [eax+0x80], 0x10 - { 0x04, 0x83 }, // (Offset,Value)-Pair #1 - { 0x05, 0x89 }, // (Offset,Value)-Pair #2 - { 0x06, 0x80 }, // (Offset,Value)-Pair #3 - { 0x07, 0x00 }, // (Offset,Value)-Pair #4 - { 0x08, 0x00 }, // (Offset,Value)-Pair #5 - { 0x09, 0x00 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x10 }, // (Offset,Value)-Pair #7 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0x80 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x10 }, // CDirectSoundStream_SetConeAnglesB+0x10 : mov [ecx+0x38], eax - { 0x10, 0x89 }, // (Offset,Value)-Pair #8 - { 0x11, 0x41 }, // (Offset,Value)-Pair #9 - { 0x12, 0x38 }, // (Offset,Value)-Pair #10 + { 0x10, 0x89 }, + { 0x11, 0x41 }, + { 0x12, 0x38 }, // CDirectSoundStream_SetConeAnglesB+0x25 : retn 0x0C - { 0x25, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x26, 0x0C }, // (Offset,Value)-Pair #12 + { 0x25, 0xC2 }, + { 0x26, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1371,24 +1371,24 @@ OOVPA_XREF(CDirectSoundStream_SetConeAnglesA, 3936, 12, // TODO: re-use for CDirectSoundBuffer_SetConeAnglesA!? // CDirectSoundStream_SetConeAnglesA+0x23 : call [IDirectSoundStream::SetConeAnglesB] - XREF_ENTRY( 0x23, XREF_DSSTREAMSETCONEANGLES1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x23, XREF_DSSTREAMSETCONEANGLES1B ), // CDirectSoundStream_SetConeAnglesA+0x09 : mov eax, [esp+0x18] - { 0x09, 0x8B }, // (Offset,Value)-Pair #2 - { 0x0A, 0x44 }, // (Offset,Value)-Pair #3 - { 0x0B, 0x24 }, // (Offset,Value)-Pair #4 - { 0x0C, 0x18 }, // (Offset,Value)-Pair #5 + { 0x09, 0x8B }, + { 0x0A, 0x44 }, + { 0x0B, 0x24 }, + { 0x0C, 0x18 }, // CDirectSoundStream_SetConeAnglesA+0x0D : not eax; and eax, 1 - { 0x0D, 0xF7 }, // (Offset,Value)-Pair #6 - { 0x0E, 0xD0 }, // (Offset,Value)-Pair #7 - { 0x0F, 0x83 }, // (Offset,Value)-Pair #8 - { 0x10, 0xE0 }, // (Offset,Value)-Pair #9 - { 0x11, 0x01 }, // (Offset,Value)-Pair #10 + { 0x0D, 0xF7 }, + { 0x0E, 0xD0 }, + { 0x0F, 0x83 }, + { 0x10, 0xE0 }, + { 0x11, 0x01 }, // CDirectSoundStream_SetConeAnglesA+0x3C : retn 0x10 - { 0x3C, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x3D, 0x10 }, // (Offset,Value)-Pair #12 + { 0x3C, 0xC2 }, + { 0x3D, 0x10 }, OOVPA_END; // ****************************************************************** @@ -1400,22 +1400,22 @@ OOVPA_XREF(CDirectSoundStream_SetConeAngles, 3936, 10, XRefOne) // CDirectSoundStream_SetConeAngles+0x15 : call [IDirectSoundStream::SetConeAnglesA] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETCONEANGLES1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSSTREAMSETCONEANGLES1A ), // CDirectSoundStream_SetConeAngles+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // CDirectSoundStream_SetConeAngles+0x0C : add eax, 0x04 - { 0x0C, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0D, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0E, 0x04 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x83 }, + { 0x0D, 0xC0 }, + { 0x0E, 0x04 }, // CDirectSoundStream_SetConeAngles+0x19 : retn 0x10 - { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1A, 0x10 }, // (Offset,Value)-Pair #10 + { 0x19, 0xC2 }, + { 0x1A, 0x10 }, OOVPA_END; // ****************************************************************** @@ -1429,22 +1429,22 @@ OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolumeB, 3936, 12, // TODO: re-use for CDirectSoundBuffer_SetConeOutsideVolumeB!? // CDirectSoundStream_SetConeOutsideVolumeB+0x04 : or dword ptr [eax+0x80], 0x10 - { 0x04, 0x83 }, // (Offset,Value)-Pair #1 - { 0x05, 0x89 }, // (Offset,Value)-Pair #2 - { 0x06, 0x80 }, // (Offset,Value)-Pair #3 - { 0x07, 0x00 }, // (Offset,Value)-Pair #4 - { 0x08, 0x00 }, // (Offset,Value)-Pair #5 - { 0x09, 0x00 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x10 }, // (Offset,Value)-Pair #7 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0x80 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x10 }, // CDirectSoundStream_SetConeOutsideVolumeB+0x10 : mov [ecx+0x4C], eax - { 0x10, 0x89 }, // (Offset,Value)-Pair #8 - { 0x11, 0x41 }, // (Offset,Value)-Pair #9 - { 0x12, 0x4C }, // (Offset,Value)-Pair #10 + { 0x10, 0x89 }, + { 0x11, 0x41 }, + { 0x12, 0x4C }, // CDirectSoundStream_SetConeOutsideVolumeB+0x1E : retn 0x08 - { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 + { 0x1E, 0xC2 }, + { 0x1F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -1458,24 +1458,24 @@ OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolumeA, 3936, 12, // TODO: re-use for CDirectSoundBuffer_SetConeOutsideVolumeA!? // CDirectSoundStream_SetConeOutsideVolumeA+0x1F : call [IDirectSoundStream::SetConeOutsideVolumeB] - XREF_ENTRY( 0x1F, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1F, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B ), // CDirectSoundStream_SetConeOutsideVolumeA+0x09 : mov eax, [esp+0x14] - { 0x09, 0x8B }, // (Offset,Value)-Pair #2 - { 0x0A, 0x44 }, // (Offset,Value)-Pair #3 - { 0x0B, 0x24 }, // (Offset,Value)-Pair #4 - { 0x0C, 0x14 }, // (Offset,Value)-Pair #5 + { 0x09, 0x8B }, + { 0x0A, 0x44 }, + { 0x0B, 0x24 }, + { 0x0C, 0x14 }, // CDirectSoundStream_SetConeOutsideVolumeA+0x0D : not eax; and eax, 1 - { 0x0D, 0xF7 }, // (Offset,Value)-Pair #6 - { 0x0E, 0xD0 }, // (Offset,Value)-Pair #7 - { 0x0F, 0x83 }, // (Offset,Value)-Pair #8 - { 0x10, 0xE0 }, // (Offset,Value)-Pair #9 - { 0x11, 0x01 }, // (Offset,Value)-Pair #10 + { 0x0D, 0xF7 }, + { 0x0E, 0xD0 }, + { 0x0F, 0x83 }, + { 0x10, 0xE0 }, + { 0x11, 0x01 }, // CDirectSoundStream_SetConeOutsideVolumeA+0x38 : retn 0x0C - { 0x38, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x39, 0x0C }, // (Offset,Value)-Pair #12 + { 0x38, 0xC2 }, + { 0x39, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1487,22 +1487,22 @@ OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 3936, 10, XRefOne) // CDirectSoundStream_SetConeOutsideVolume+0x11 : call [IDirectSoundStream::SetConeOutsideVolumeA] - XREF_ENTRY( 0x11, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A ), // CDirectSoundStream_SetConeOutsideVolume+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // CDirectSoundStream_SetConeOutsideVolume+0x0C : add eax, 0x04 - { 0x0C, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0D, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0E, 0x04 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x83 }, + { 0x0D, 0xC0 }, + { 0x0E, 0x04 }, // CDirectSoundStream_SetConeOutsideVolume+0x15 : retn 0x0C - { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x16, 0x0C }, // (Offset,Value)-Pair #10 + { 0x15, 0xC2 }, + { 0x16, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1516,22 +1516,22 @@ OOVPA_XREF(CDirectSoundStream_SetMaxDistanceC, 3936, 12, // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceC!? // CDirectSoundStream_SetMaxDistanceC+0x04 : or byte ptr [ecx+0x80], 0x04 - { 0x04, 0x83 }, // (Offset,Value)-Pair #1 - { 0x05, 0x89 }, // (Offset,Value)-Pair #2 - { 0x06, 0x80 }, // (Offset,Value)-Pair #3 - { 0x07, 0x00 }, // (Offset,Value)-Pair #4 - { 0x08, 0x00 }, // (Offset,Value)-Pair #5 - { 0x09, 0x00 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x04 }, // (Offset,Value)-Pair #7 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0x80 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x04 }, // CDirectSoundStream_SetMaxDistanceC+0x10 : mov [ecx+0x54], eax - { 0x10, 0x89 }, // (Offset,Value)-Pair #8 - { 0x11, 0x41 }, // (Offset,Value)-Pair #9 - { 0x12, 0x54 }, // (Offset,Value)-Pair #10 + { 0x10, 0x89 }, + { 0x11, 0x41 }, + { 0x12, 0x54 }, // CDirectSoundStream_SetMaxDistanceC+0x1E : retn 0x08 - { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 + { 0x1E, 0xC2 }, + { 0x1F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -1545,31 +1545,31 @@ OOVPA_XREF(CDirectSoundStream_SetMaxDistanceB, 3936, 15, // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceB!? // CDirectSoundStream_SetMaxDistanceB+0x23 : call [IDirectSoundStream::SetMaxDistanceC] - XREF_ENTRY( 0x23, XREF_DSSTREAMSETMAXDISTANCE1C ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x23, XREF_DSSTREAMSETMAXDISTANCE1C ), // CDirectSoundStream_SetMaxDistanceB+0x0D : mov eax, [esp+0x14] - { 0x0D, 0x8B }, // (Offset,Value)-Pair #2 - { 0x0E, 0x44 }, // (Offset,Value)-Pair #3 - { 0x0F, 0x24 }, // (Offset,Value)-Pair #4 - { 0x10, 0x14 }, // (Offset,Value)-Pair #5 + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x14 }, // CDirectSoundStream_SetMaxDistanceB+0x11 : not eax - { 0x11, 0xF7 }, // (Offset,Value)-Pair #6 - { 0x12, 0xD0 }, // (Offset,Value)-Pair #7 + { 0x11, 0xF7 }, + { 0x12, 0xD0 }, // CDirectSoundStream_SetMaxDistanceB+0x13 : and eax, 1 - { 0x13, 0x83 }, // (Offset,Value)-Pair #8 - { 0x14, 0xE0 }, // (Offset,Value)-Pair #9 - { 0x15, 0x01 }, // (Offset,Value)-Pair #10 + { 0x13, 0x83 }, + { 0x14, 0xE0 }, + { 0x15, 0x01 }, // CDirectSoundStream_SetMaxDistanceB+0x1C : mov ecx, [eax+0x14] - { 0x1C, 0x8B }, // (Offset,Value)-Pair #11 - { 0x1D, 0x48 }, // (Offset,Value)-Pair #12 - { 0x1E, 0x14 }, // (Offset,Value)-Pair #13 + { 0x1C, 0x8B }, + { 0x1D, 0x48 }, + { 0x1E, 0x14 }, // CDirectSoundStream_SetMaxDistanceB+0x3C : retn 0x0C - { 0x3C, 0xC2 }, // (Offset,Value)-Pair #14 - { 0x3D, 0x0C }, // (Offset,Value)-Pair #15 + { 0x3C, 0xC2 }, + { 0x3D, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1583,22 +1583,22 @@ OOVPA_XREF(CDirectSoundStream_SetMaxDistanceA, 3936, 10, // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceA!? // CDirectSoundStream_SetMaxDistanceA+0x15 : call [IDirectSoundStream::SetMaxDistanceB] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETMAXDISTANCE1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSSTREAMSETMAXDISTANCE1B ), // CDirectSoundStream_SetMaxDistanceA+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // CDirectSoundStream_SetMaxDistanceA+0x0D : add eax, 0x04 - { 0x0D, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0E, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + { 0x0D, 0x83 }, + { 0x0E, 0xC0 }, + { 0x0F, 0x04 }, // CDirectSoundStream_SetMaxDistanceA+0x19 : retn 0x0C - { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1A, 0x0C }, // (Offset,Value)-Pair #10 + { 0x19, 0xC2 }, + { 0x1A, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1610,23 +1610,23 @@ OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 3936, 11, XRefOne) // CDirectSoundStream_SetMaxDistance+0x11 : call [IDirectSoundStream::SetMaxDistanceA] - XREF_ENTRY( 0x11, XREF_DSSTREAMSETMAXDISTANCE1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_DSSTREAMSETMAXDISTANCE1A ), // CDirectSoundStream_SetMaxDistance+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // CDirectSoundStream_SetMaxDistance+0x0C : push [esp+0x0C] - { 0x0C, 0xFF }, // (Offset,Value)-Pair #6 - { 0x0D, 0x74 }, // (Offset,Value)-Pair #7 - { 0x0E, 0x24 }, // (Offset,Value)-Pair #8 - { 0x0F, 0x0C }, // (Offset,Value)-Pair #9 + { 0x0C, 0xFF }, + { 0x0D, 0x74 }, + { 0x0E, 0x24 }, + { 0x0F, 0x0C }, // CDirectSoundStream_SetMaxDistance+0x15 : retn 0x0C - { 0x15, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x16, 0x0C }, // (Offset,Value)-Pair #11 + { 0x15, 0xC2 }, + { 0x16, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1640,22 +1640,22 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistanceC, 3936, 12, // TODO: re-use for CDirectSoundBuffer_SetMinDistanceC!? // CDirectSoundStream_SetMinDistanceC+0x04 : or byte ptr [ecx+0x80], 0x04 - { 0x04, 0x83 }, // (Offset,Value)-Pair #1 - { 0x05, 0x89 }, // (Offset,Value)-Pair #2 - { 0x06, 0x80 }, // (Offset,Value)-Pair #3 - { 0x07, 0x00 }, // (Offset,Value)-Pair #4 - { 0x08, 0x00 }, // (Offset,Value)-Pair #5 - { 0x09, 0x00 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x04 }, // (Offset,Value)-Pair #7 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0x80 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x04 }, // CDirectSoundStream_SetMinDistanceC+0x10 : mov [ecx+0x50], eax - { 0x10, 0x89 }, // (Offset,Value)-Pair #8 - { 0x11, 0x41 }, // (Offset,Value)-Pair #9 - { 0x12, 0x50 }, // (Offset,Value)-Pair #10 + { 0x10, 0x89 }, + { 0x11, 0x41 }, + { 0x12, 0x50 }, // CDirectSoundStream_SetMinDistanceC+0x1E : retn 0x08 - { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 + { 0x1E, 0xC2 }, + { 0x1F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -1669,31 +1669,31 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistanceB, 3936, 15, // TODO: re-use for CDirectSoundBuffer_SetMinDistanceB!? // CDirectSoundStream_SetMinDistanceB+0x23 : call [IDirectSoundStream::SetMinDistanceC] - XREF_ENTRY( 0x23, XREF_DSSTREAMSETMINDISTANCE1C ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x23, XREF_DSSTREAMSETMINDISTANCE1C ), // CDirectSoundStream_SetMinDistanceB+0x0D : mov eax, [esp+0x14] - { 0x0D, 0x8B }, // (Offset,Value)-Pair #2 - { 0x0E, 0x44 }, // (Offset,Value)-Pair #3 - { 0x0F, 0x24 }, // (Offset,Value)-Pair #4 - { 0x10, 0x14 }, // (Offset,Value)-Pair #5 + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x14 }, // CDirectSoundStream_SetMinDistanceB+0x11 : not eax - { 0x11, 0xF7 }, // (Offset,Value)-Pair #6 - { 0x12, 0xD0 }, // (Offset,Value)-Pair #7 + { 0x11, 0xF7 }, + { 0x12, 0xD0 }, // CDirectSoundStream_SetMinDistanceB+0x13 : and eax, 1 - { 0x13, 0x83 }, // (Offset,Value)-Pair #8 - { 0x14, 0xE0 }, // (Offset,Value)-Pair #9 - { 0x15, 0x01 }, // (Offset,Value)-Pair #10 + { 0x13, 0x83 }, + { 0x14, 0xE0 }, + { 0x15, 0x01 }, // CDirectSoundStream_SetMinDistanceB+0x1C : mov ecx, [eax+0x14] - { 0x1C, 0x8B }, // (Offset,Value)-Pair #11 - { 0x1D, 0x48 }, // (Offset,Value)-Pair #12 - { 0x1E, 0x14 }, // (Offset,Value)-Pair #13 + { 0x1C, 0x8B }, + { 0x1D, 0x48 }, + { 0x1E, 0x14 }, // CDirectSoundStream_SetMinDistanceB+0x3C : retn 0x0C - { 0x3C, 0xC2 }, // (Offset,Value)-Pair #14 - { 0x3D, 0x0C }, // (Offset,Value)-Pair #15 + { 0x3C, 0xC2 }, + { 0x3D, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1707,22 +1707,22 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistanceA, 3936, 10, // TODO: re-use for CDirectSoundBuffer_SetMinDistanceA!? // CDirectSoundStream_SetMinDistanceA+0x15 : call [IDirectSoundStream::SetMinDistanceB] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETMINDISTANCE1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSSTREAMSETMINDISTANCE1B ), // CDirectSoundStream_SetMinDistanceA+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // CDirectSoundStream_SetMinDistanceA+0x0D : add eax, 0x04 - { 0x0D, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0E, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0F, 0x04 }, // (Offset,Value)-Pair #8 + { 0x0D, 0x83 }, + { 0x0E, 0xC0 }, + { 0x0F, 0x04 }, // CDirectSoundStream_SetMinDistanceA+0x19 : retn 0x0C - { 0x19, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1A, 0x0C }, // (Offset,Value)-Pair #10 + { 0x19, 0xC2 }, + { 0x1A, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1734,23 +1734,23 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistance, 3936, 11, XRefOne) // CDirectSoundStream_SetMinDistance+0x11 : call [IDirectSoundStream::SetMinDistanceA] - XREF_ENTRY( 0x11, XREF_DSSTREAMSETMINDISTANCE1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_DSSTREAMSETMINDISTANCE1A ), // CDirectSoundStream_SetMinDistance+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // CDirectSoundStream_SetMinDistance+0x0C : push [esp+0x0C] - { 0x0C, 0xFF }, // (Offset,Value)-Pair #6 - { 0x0D, 0x74 }, // (Offset,Value)-Pair #7 - { 0x0E, 0x24 }, // (Offset,Value)-Pair #8 - { 0x0F, 0x0C }, // (Offset,Value)-Pair #9 + { 0x0C, 0xFF }, + { 0x0D, 0x74 }, + { 0x0E, 0x24 }, + { 0x0F, 0x0C }, // CDirectSoundStream_SetMinDistance+0x15 : retn 0x0C - { 0x15, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x16, 0x0C }, // (Offset,Value)-Pair #11 + { 0x15, 0xC2 }, + { 0x16, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1762,22 +1762,22 @@ OOVPA_XREF(CDirectSoundStream_SetVelocityC, 3936, 12, XRefZero) // CDirectSoundStream_SetVelocityC+0x09 : movsd; movsd; movsd - { 0x09, 0xA5 }, // (Offset,Value)-Pair #8 - { 0x0A, 0xA5 }, // (Offset,Value)-Pair #9 - { 0x0B, 0xA5 }, // (Offset,Value)-Pair #10 + { 0x09, 0xA5 }, + { 0x0A, 0xA5 }, + { 0x0B, 0xA5 }, // CDirectSoundStream_SetVelocityC+0x0C : or byte ptr [ecx+0x80], 0x40 - { 0x0C, 0x83 }, // (Offset,Value)-Pair #1 - { 0x0D, 0x89 }, // (Offset,Value)-Pair #2 - { 0x0E, 0x80 }, // (Offset,Value)-Pair #3 - { 0x0F, 0x00 }, // (Offset,Value)-Pair #4 - { 0x10, 0x00 }, // (Offset,Value)-Pair #5 - { 0x11, 0x00 }, // (Offset,Value)-Pair #6 - { 0x12, 0x40 }, // (Offset,Value)-Pair #7 + { 0x0C, 0x83 }, + { 0x0D, 0x89 }, + { 0x0E, 0x80 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x40 }, // CDirectSoundStream_SetVelocityC+0x25 : retn 0x08 - { 0x25, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x26, 0x08 }, // (Offset,Value)-Pair #12 + { 0x25, 0xC2 }, + { 0x26, 0x08 }, OOVPA_END; // ****************************************************************** @@ -1789,30 +1789,30 @@ OOVPA_XREF(CDirectSoundStream_SetVelocityB, 3936, 14, XRefOne) // CDirectSoundStream_SetVelocityB+0x35 : call [IDirectSoundStream::SetVelocityC] - XREF_ENTRY( 0x35, XREF_DSSTREAMSETVELOCITY1C ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x35, XREF_DSSTREAMSETVELOCITY1C ), // CDirectSoundStream_SetVelocityB+0x21 : mov eax, [ebp+0x18] - { 0x21, 0x8B }, // (Offset,Value)-Pair #2 - { 0x22, 0x45 }, // (Offset,Value)-Pair #3 - { 0x23, 0x18 }, // (Offset,Value)-Pair #4 + { 0x21, 0x8B }, + { 0x22, 0x45 }, + { 0x23, 0x18 }, // CDirectSoundStream_SetVelocityB+0x24 : not eax - { 0x24, 0xF7 }, // (Offset,Value)-Pair #5 - { 0x25, 0xD0 }, // (Offset,Value)-Pair #6 + { 0x24, 0xF7 }, + { 0x25, 0xD0 }, // CDirectSoundStream_SetVelocityB+0x26 : and eax, 1 - { 0x26, 0x83 }, // (Offset,Value)-Pair #7 - { 0x27, 0xE0 }, // (Offset,Value)-Pair #8 - { 0x28, 0x01 }, // (Offset,Value)-Pair #9 + { 0x26, 0x83 }, + { 0x27, 0xE0 }, + { 0x28, 0x01 }, // CDirectSoundStream_SetVelocityB+0x31 : mov ecx, [eax+0x14] - { 0x31, 0x8B }, // (Offset,Value)-Pair #10 - { 0x32, 0x48 }, // (Offset,Value)-Pair #11 - { 0x33, 0x14 }, // (Offset,Value)-Pair #12 + { 0x31, 0x8B }, + { 0x32, 0x48 }, + { 0x33, 0x14 }, // CDirectSoundStream_SetVelocityB+0x4F : retn 0x14 - { 0x4F, 0xC2 }, // (Offset,Value)-Pair #13 - { 0x50, 0x14 }, // (Offset,Value)-Pair #14 + { 0x4F, 0xC2 }, + { 0x50, 0x14 }, OOVPA_END; // ****************************************************************** @@ -1824,21 +1824,21 @@ OOVPA_XREF(CDirectSoundStream_SetVelocityA, 3936, 9, XRefOne) // CDirectSoundStream_SetVelocityA+0x25 : call [IDirectSoundStream::SetVelocityB] - XREF_ENTRY( 0x25, XREF_DSSTREAMSETVELOCITY1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x25, XREF_DSSTREAMSETVELOCITY1B ), // CDirectSoundStream_SetVelocityA+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x07, 0x45 }, // (Offset,Value)-Pair #3 - { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, // CDirectSoundStream_SetVelocityA+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, // (Offset,Value)-Pair #5 - { 0x0D, 0xEC }, // (Offset,Value)-Pair #6 - { 0x0E, 0x0C }, // (Offset,Value)-Pair #7 + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, // CDirectSoundStream_SetVelocityA+0x2A : retn 0x14 - { 0x2A, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x2B, 0x14 }, // (Offset,Value)-Pair #9 + { 0x2A, 0xC2 }, + { 0x2B, 0x14 }, OOVPA_END; // ****************************************************************** @@ -1850,21 +1850,21 @@ OOVPA_XREF(CDirectSoundStream_SetVelocity, 3936, 9, XRefOne) // CDirectSoundStream_SetVelocity+0x21 : call [IDirectSoundStream::SetVelocityA] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETVELOCITY1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x21, XREF_DSSTREAMSETVELOCITY1A ), // CDirectSoundStream_SetVelocity+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x07, 0x45 }, // (Offset,Value)-Pair #3 - { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, // CDirectSoundStream_SetVelocity+0x1A : fstp [esp] - { 0x1A, 0xD9 }, // (Offset,Value)-Pair #5 - { 0x1B, 0x1C }, // (Offset,Value)-Pair #6 - { 0x1C, 0x24 }, // (Offset,Value)-Pair #7 + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, // CDirectSoundStream_SetVelocity+0x26 : retn 0x14 - { 0x26, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x27, 0x14 }, // (Offset,Value)-Pair #9 + { 0x26, 0xC2 }, + { 0x27, 0x14 }, OOVPA_END; // ****************************************************************** @@ -1876,21 +1876,21 @@ OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 3936, 9, XRefOne) // CDirectSoundBuffer_SetVelocity+0x20 : call [CDirectSoundStream::SetVelocityB] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETVELOCITY1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x21, XREF_DSSTREAMSETVELOCITY1B ), // CDirectSoundBuffer_SetVelocity+0x06 : fld [ebp+arg_C] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x07, 0x45 }, // (Offset,Value)-Pair #3 - { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, // CDirectSoundBuffer_SetVelocity+0x1A : fstp [esp+0x10+var_10] - { 0x1A, 0xD9 }, // (Offset,Value)-Pair #5 - { 0x1B, 0x1C }, // (Offset,Value)-Pair #6 - { 0x1C, 0x24 }, // (Offset,Value)-Pair #7 + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, // CDirectSoundBuffer_SetVelocity+0x26 : retn 0x14 - { 0x27, 0x14 }, // (Offset,Value)-Pair #8 - { 0x28, 0x00 }, // (Offset,Value)-Pair #9 + { 0x27, 0x14 }, + { 0x28, 0x00 }, OOVPA_END; // ****************************************************************** @@ -1902,21 +1902,21 @@ OOVPA_XREF(IDirectSoundBuffer_SetVelocity, 3936, 9, XRefOne) // IDirectSoundBuffer_SetVelocity+0x2C : call [CDirectSoundBuffer::SetVelocity] - XREF_ENTRY( 0x2D, XREF_DSBUFFERSETVELOCITY ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x2D, XREF_DSBUFFERSETVELOCITY ), // IDirectSoundBuffer_SetVelocity+0x09 : mov eax, [ebp+arg_0] - { 0x09, 0x8B }, // (Offset,Value)-Pair #2 - { 0x0A, 0x45 }, // (Offset,Value)-Pair #3 - { 0x0B, 0x08 }, // (Offset,Value)-Pair #4 + { 0x09, 0x8B }, + { 0x0A, 0x45 }, + { 0x0B, 0x08 }, // IDirectSoundBuffer_SetVelocity+0x28 : fstp [esp+0x10+var_10] - { 0x28, 0xD9 }, // (Offset,Value)-Pair #5 - { 0x29, 0x1C }, // (Offset,Value)-Pair #6 - { 0x2A, 0x24 }, // (Offset,Value)-Pair #7 + { 0x28, 0xD9 }, + { 0x29, 0x1C }, + { 0x2A, 0x24 }, // IDirectSoundBuffer_SetVelocity+0x32 : retn 0x14 - { 0x33, 0x14 }, // (Offset,Value)-Pair #8 - { 0x34, 0x00 }, // (Offset,Value)-Pair #9 + { 0x33, 0x14 }, + { 0x34, 0x00 }, OOVPA_END; // ****************************************************************** @@ -1930,21 +1930,21 @@ OOVPA_XREF(CDirectSoundStream_SetConeOrientationC, 3936, 11, // TODO: re-use for CDirectSoundBuffer_SetConeOrientationC!? // CDirectSoundStream_SetConeOrientationC+0x0C : or byte ptr [ecx+0x80], 0x18 - { 0x0C, 0x83 }, // (Offset,Value)-Pair #1 - { 0x0D, 0x89 }, // (Offset,Value)-Pair #2 - { 0x0E, 0x80 }, // (Offset,Value)-Pair #3 - { 0x0F, 0x00 }, // (Offset,Value)-Pair #4 - { 0x10, 0x00 }, // (Offset,Value)-Pair #5 - { 0x11, 0x00 }, // (Offset,Value)-Pair #6 - { 0x12, 0x18 }, // (Offset,Value)-Pair #7 + { 0x0C, 0x83 }, + { 0x0D, 0x89 }, + { 0x0E, 0x80 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x18 }, // CDirectSoundStream_SetConeOrientationC+0x1A : jz +0x07 - { 0x1A, 0x74 }, // (Offset,Value)-Pair #8 - { 0x1B, 0x07 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x74 }, + { 0x1B, 0x07 }, // CDirectSoundStream_SetConeOrientationC+0x25 : retn 0x08 - { 0x25, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x26, 0x08 }, // (Offset,Value)-Pair #11 + { 0x25, 0xC2 }, + { 0x26, 0x08 }, OOVPA_END; // ****************************************************************** @@ -1958,30 +1958,30 @@ OOVPA_XREF(CDirectSoundStream_SetConeOrientationB, 3936, 14, // TODO: re-use for CDirectSoundBuffer_SetConeOrientationB!? // CDirectSoundStream_SetConeOrientationB+0x35 : call [IDirectSoundStream::SetConeOrientationC] - XREF_ENTRY( 0x35, XREF_DSSTREAMSETCONEORIENTATION1C ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x35, XREF_DSSTREAMSETCONEORIENTATION1C ), // CDirectSoundStream_SetConeOrientationB+0x21 : mov eax, [ebp+0x18] - { 0x21, 0x8B }, // (Offset,Value)-Pair #2 - { 0x22, 0x45 }, // (Offset,Value)-Pair #3 - { 0x23, 0x18 }, // (Offset,Value)-Pair #4 + { 0x21, 0x8B }, + { 0x22, 0x45 }, + { 0x23, 0x18 }, // CDirectSoundStream_SetConeOrientationB+0x24 : not eax - { 0x24, 0xF7 }, // (Offset,Value)-Pair #5 - { 0x25, 0xD0 }, // (Offset,Value)-Pair #6 + { 0x24, 0xF7 }, + { 0x25, 0xD0 }, // CDirectSoundStream_SetConeOrientationB+0x26 : and eax, 1 - { 0x26, 0x83 }, // (Offset,Value)-Pair #7 - { 0x27, 0xE0 }, // (Offset,Value)-Pair #8 - { 0x28, 0x01 }, // (Offset,Value)-Pair #9 + { 0x26, 0x83 }, + { 0x27, 0xE0 }, + { 0x28, 0x01 }, // CDirectSoundStream_SetConeOrientationB+0x31 : mov ecx, [eax+0x14] - { 0x31, 0x8B }, // (Offset,Value)-Pair #10 - { 0x32, 0x48 }, // (Offset,Value)-Pair #11 - { 0x33, 0x14 }, // (Offset,Value)-Pair #12 + { 0x31, 0x8B }, + { 0x32, 0x48 }, + { 0x33, 0x14 }, // CDirectSoundStream_SetConeOrientationB+0x4F : retn 0x14 - { 0x4F, 0xC2 }, // (Offset,Value)-Pair #13 - { 0x50, 0x14 }, // (Offset,Value)-Pair #14 + { 0x4F, 0xC2 }, + { 0x50, 0x14 }, OOVPA_END; // ****************************************************************** @@ -1995,21 +1995,21 @@ OOVPA_XREF(CDirectSoundStream_SetConeOrientationA, 3936, 9, // TODO: re-use for CDirectSoundBuffer_SetConeOrientationA!? // CDirectSoundStream_SetConeOrientationA+0x25 : call [IDirectSoundStream::SetConeOrientationB] - XREF_ENTRY( 0x25, XREF_DSSTREAMSETCONEORIENTATION1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x25, XREF_DSSTREAMSETCONEORIENTATION1B ), // CDirectSoundStream_SetConeOrientationA+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x07, 0x45 }, // (Offset,Value)-Pair #3 - { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, // CDirectSoundStream_SetConeOrientationA+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, // (Offset,Value)-Pair #5 - { 0x0D, 0xEC }, // (Offset,Value)-Pair #6 - { 0x0E, 0x0C }, // (Offset,Value)-Pair #7 + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, // CDirectSoundStream_SetConeOrientationA+0x2A : retn 0x14 - { 0x2A, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x2B, 0x14 }, // (Offset,Value)-Pair #9 + { 0x2A, 0xC2 }, + { 0x2B, 0x14 }, OOVPA_END; // ****************************************************************** @@ -2021,21 +2021,21 @@ OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 3936, 9, XRefOne) // CDirectSoundStream_SetConeOrientation+0x21 : call [IDirectSoundStream::SetConeOrientationA] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETCONEORIENTATION1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x21, XREF_DSSTREAMSETCONEORIENTATION1A ), // CDirectSoundStream_SetConeOrientation+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x07, 0x45 }, // (Offset,Value)-Pair #3 - { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, // CDirectSoundStream_SetConeOrientation+0x1A : fstp [esp] - { 0x1A, 0xD9 }, // (Offset,Value)-Pair #5 - { 0x1B, 0x1C }, // (Offset,Value)-Pair #6 - { 0x1C, 0x24 }, // (Offset,Value)-Pair #7 + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, // CDirectSoundStream_SetConeOrientation+0x26 : retn 0x14 - { 0x26, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x27, 0x14 }, // (Offset,Value)-Pair #9 + { 0x26, 0xC2 }, + { 0x27, 0x14 }, OOVPA_END; // ****************************************************************** @@ -2047,21 +2047,21 @@ OOVPA_XREF(CDirectSoundStream_SetPositionC, 3936, 11, XRefZero) // CDirectSoundStream_SetPositionC+0x0C : or byte ptr [ecx+0x80], 0xFF - { 0x0C, 0x80 }, // (Offset,Value)-Pair #1 - { 0x0D, 0x89 }, // (Offset,Value)-Pair #2 - { 0x0E, 0x80 }, // (Offset,Value)-Pair #3 - { 0x0F, 0x00 }, // (Offset,Value)-Pair #4 - { 0x10, 0x00 }, // (Offset,Value)-Pair #5 - { 0x11, 0x00 }, // (Offset,Value)-Pair #6 - { 0x12, 0xFF }, // (Offset,Value)-Pair #7 + { 0x0C, 0x80 }, + { 0x0D, 0x89 }, + { 0x0E, 0x80 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0xFF }, // CDirectSoundStream_SetPositionC+0x1A : jz +0x07 - { 0x1A, 0x74 }, // (Offset,Value)-Pair #8 - { 0x1B, 0x07 }, // (Offset,Value)-Pair #9 + { 0x1A, 0x74 }, + { 0x1B, 0x07 }, // CDirectSoundStream_SetPositionC+0x25 : retn 0x08 - { 0x25, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x26, 0x08 }, // (Offset,Value)-Pair #11 + { 0x25, 0xC2 }, + { 0x26, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2073,30 +2073,30 @@ OOVPA_XREF(CDirectSoundStream_SetPositionB, 3936, 14, XRefOne) // CDirectSoundStream_SetPositionB+0x35 : call [IDirectSoundStream::SetPositionC] - XREF_ENTRY( 0x35, XREF_DSSTREAMSETPOSITION1C ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x35, XREF_DSSTREAMSETPOSITION1C ), // CDirectSoundStream_SetPositionB+0x21 : mov eax, [ebp+0x18] - { 0x21, 0x8B }, // (Offset,Value)-Pair #2 - { 0x22, 0x45 }, // (Offset,Value)-Pair #3 - { 0x23, 0x18 }, // (Offset,Value)-Pair #4 + { 0x21, 0x8B }, + { 0x22, 0x45 }, + { 0x23, 0x18 }, // CDirectSoundStream_SetPositionB+0x24 : not eax - { 0x24, 0xF7 }, // (Offset,Value)-Pair #5 - { 0x25, 0xD0 }, // (Offset,Value)-Pair #6 + { 0x24, 0xF7 }, + { 0x25, 0xD0 }, // CDirectSoundStream_SetPositionB+0x26 : and eax, 1 - { 0x26, 0x83 }, // (Offset,Value)-Pair #7 - { 0x27, 0xE0 }, // (Offset,Value)-Pair #8 - { 0x28, 0x01 }, // (Offset,Value)-Pair #9 + { 0x26, 0x83 }, + { 0x27, 0xE0 }, + { 0x28, 0x01 }, // CDirectSoundStream_SetPositionB+0x31 : mov ecx, [eax+0x14] - { 0x31, 0x8B }, // (Offset,Value)-Pair #10 - { 0x32, 0x48 }, // (Offset,Value)-Pair #11 - { 0x33, 0x14 }, // (Offset,Value)-Pair #12 + { 0x31, 0x8B }, + { 0x32, 0x48 }, + { 0x33, 0x14 }, // CDirectSoundStream_SetPositionB+0x4F : retn 0x14 - { 0x4F, 0xC2 }, // (Offset,Value)-Pair #13 - { 0x50, 0x14 }, // (Offset,Value)-Pair #14 + { 0x4F, 0xC2 }, + { 0x50, 0x14 }, OOVPA_END; // ****************************************************************** @@ -2108,21 +2108,21 @@ OOVPA_XREF(CDirectSoundStream_SetPositionA, 3936, 9, XRefOne) // CDirectSoundStream_SetPositionA+0x25 : call [IDirectSoundStream::SetPositionB] - XREF_ENTRY( 0x25, XREF_DSSTREAMSETPOSITION1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x25, XREF_DSSTREAMSETPOSITION1B ), // CDirectSoundStream_SetPositionA+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x07, 0x45 }, // (Offset,Value)-Pair #3 - { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, // CDirectSoundStream_SetPositionA+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, // (Offset,Value)-Pair #5 - { 0x0D, 0xEC }, // (Offset,Value)-Pair #6 - { 0x0E, 0x0C }, // (Offset,Value)-Pair #7 + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, // CDirectSoundStream_SetPositionA+0x2A : retn 0x14 - { 0x2A, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x2B, 0x14 }, // (Offset,Value)-Pair #9 + { 0x2A, 0xC2 }, + { 0x2B, 0x14 }, OOVPA_END; // ****************************************************************** @@ -2134,21 +2134,21 @@ OOVPA_XREF(CDirectSoundStream_SetPosition, 3936, 9, XRefOne) // CDirectSoundStream_SetPosition+0x21 : call [IDirectSoundStream::SetPositionA] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETPOSITION1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x21, XREF_DSSTREAMSETPOSITION1A ), // CDirectSoundStream_SetPosition+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x07, 0x45 }, // (Offset,Value)-Pair #3 - { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, // CDirectSoundStream_SetPosition+0x1A : fstp [esp] - { 0x1A, 0xD9 }, // (Offset,Value)-Pair #5 - { 0x1B, 0x1C }, // (Offset,Value)-Pair #6 - { 0x1C, 0x24 }, // (Offset,Value)-Pair #7 + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, // CDirectSoundStream_SetPosition+0x26 : retn 0x14 - { 0x26, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x27, 0x14 }, // (Offset,Value)-Pair #9 + { 0x26, 0xC2 }, + { 0x27, 0x14 }, OOVPA_END; // ****************************************************************** @@ -2160,21 +2160,21 @@ OOVPA_XREF(CDirectSoundBuffer_SetPosition, 3936, 9, XRefOne) // CDirectSoundBuffer_SetPosition+0x20 : call [CDirectSoundStream::PositionB] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETPOSITION1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x21, XREF_DSSTREAMSETPOSITION1B ), // CDirectSoundBuffer_SetPosition+0x06 : fld [ebp+arg_C] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x07, 0x45 }, // (Offset,Value)-Pair #3 - { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, // CDirectSoundBuffer_SetPosition+0x1A : fstp [esp+0x10+var_10] - { 0x1A, 0xD9 }, // (Offset,Value)-Pair #5 - { 0x1B, 0x1C }, // (Offset,Value)-Pair #6 - { 0x1C, 0x24 }, // (Offset,Value)-Pair #7 + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, // CDirectSoundBuffer_SetPosition+0x26 : retn 0x14 - { 0x27, 0x14 }, // (Offset,Value)-Pair #8 - { 0x28, 0x00 }, // (Offset,Value)-Pair #9 + { 0x27, 0x14 }, + { 0x28, 0x00 }, OOVPA_END; // ****************************************************************** @@ -2186,21 +2186,21 @@ OOVPA_XREF(IDirectSoundBuffer_SetPosition, 3936, 9, XRefOne) // IDirectSoundBuffer_SetPosition+0x2C : call [CDirectSoundBuffer::SetPosition] - XREF_ENTRY( 0x2D, XREF_DSBUFFERSETPOSITION ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x2D, XREF_DSBUFFERSETPOSITION ), // IDirectSoundBuffer_SetPosition+0x09 : mov eax, [ebp+arg_0] - { 0x09, 0x8B }, // (Offset,Value)-Pair #2 - { 0x0A, 0x45 }, // (Offset,Value)-Pair #3 - { 0x0B, 0x08 }, // (Offset,Value)-Pair #4 + { 0x09, 0x8B }, + { 0x0A, 0x45 }, + { 0x0B, 0x08 }, // IDirectSoundBuffer_SetPosition+0x28 : fstp [esp+0x10+var_10] - { 0x28, 0xD9 }, // (Offset,Value)-Pair #5 - { 0x29, 0x1C }, // (Offset,Value)-Pair #6 - { 0x2A, 0x24 }, // (Offset,Value)-Pair #7 + { 0x28, 0xD9 }, + { 0x29, 0x1C }, + { 0x2A, 0x24 }, // IDirectSoundBuffer_SetPosition+0x32 : retn 0x14 - { 0x33, 0x14 }, // (Offset,Value)-Pair #8 - { 0x34, 0x00 }, // (Offset,Value)-Pair #9 + { 0x33, 0x14 }, + { 0x34, 0x00 }, OOVPA_END; // ****************************************************************** @@ -2212,23 +2212,23 @@ OOVPA_XREF(CDirectSoundStream_SetFrequencyB, 3936, 11, XRefZero) // CDirectSoundStream_SetFrequencyB+0x08 : cmp esi, 0xBB80 - { 0x08, 0x81 }, // (Offset,Value)-Pair #1 - { 0x09, 0xFE }, // (Offset,Value)-Pair #2 - { 0x0A, 0x80 }, // (Offset,Value)-Pair #3 - { 0x0B, 0xBB }, // (Offset,Value)-Pair #4 + { 0x08, 0x81 }, + { 0x09, 0xFE }, + { 0x0A, 0x80 }, + { 0x0B, 0xBB }, // CDirectSoundStream_SetFrequencyB+0x1D : jmp +0x2B - { 0x1D, 0xEB }, // (Offset,Value)-Pair #5 - { 0x1E, 0x2B }, // (Offset,Value)-Pair #6 + { 0x1D, 0xEB }, + { 0x1E, 0x2B }, // CDirectSoundStream_SetFrequencyB+0x1F : lea ecx, [ebp+0x08] - { 0x1F, 0x8D }, // (Offset,Value)-Pair #7 - { 0x20, 0x4D }, // (Offset,Value)-Pair #8 - { 0x21, 0x08 }, // (Offset,Value)-Pair #9 + { 0x1F, 0x8D }, + { 0x20, 0x4D }, + { 0x21, 0x08 }, // CDirectSoundStream_SetFrequencyB+0x4E : retn 0x08 - { 0x4E, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x4F, 0x04 }, // (Offset,Value)-Pair #11 + { 0x4E, 0xC2 }, + { 0x4F, 0x04 }, OOVPA_END; // ****************************************************************** @@ -2240,21 +2240,21 @@ OOVPA_XREF(CDirectSoundStream_SetFrequencyA, 3936, 9, XRefOne) // CDirectSoundStream_SetFrequencyA+0x1F : call [CDirectSoundStream::SetFrequencyB] - XREF_ENTRY( 0x20, XREF_DSSTREAMSETFREQUENCY1B ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x20, XREF_DSSTREAMSETFREQUENCY1B ), // CDirectSoundStream_SetFrequencyA+0x15 : mov eax, [esi+0x18] - { 0x15, 0x8B }, // (Offset,Value)-Pair #2 - { 0x16, 0x46 }, // (Offset,Value)-Pair #3 - { 0x17, 0x18 }, // (Offset,Value)-Pair #4 + { 0x15, 0x8B }, + { 0x16, 0x46 }, + { 0x17, 0x18 }, // CDirectSoundStream_SetFrequencyA+0x18 : mov eax, [eax+0x10] - { 0x18, 0x8B }, // (Offset,Value)-Pair #5 - { 0x19, 0x40 }, // (Offset,Value)-Pair #6 - { 0x1A, 0x10 }, // (Offset,Value)-Pair #7 + { 0x18, 0x8B }, + { 0x19, 0x40 }, + { 0x1A, 0x10 }, // CDirectSoundStream_SetFrequencyA+0x40 : retn 0x08 - { 0x40, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x41, 0x08 }, // (Offset,Value)-Pair #9 + { 0x40, 0xC2 }, + { 0x41, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2266,22 +2266,22 @@ OOVPA_XREF(CDirectSoundStream_SetFrequency, 3936, 10, XRefOne) // CDirectSoundStream_SetFrequency+0x0D : call [IDirectSoundStream::SetFrequency] - XREF_ENTRY( 0x0D, XREF_DSSTREAMSETFREQUENCY1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x0D, XREF_DSSTREAMSETFREQUENCY1A ), // CDirectSoundStream_SetFrequency+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // CDirectSoundStream_SetFrequency+0x08 : add eax, 0x04 - { 0x08, 0x83 }, // (Offset,Value)-Pair #6 - { 0x09, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, // CDirectSoundStream_SetFrequency+0x11 : retn 0x08 - { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x12, 0x08 }, // (Offset,Value)-Pair #10 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2293,20 +2293,20 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 3936, 8, XRefOne) // IDirectSoundBuffer_SetFrequency+0x15 : call [IDirectSoundStream::SetFrequency] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETFREQUENCY1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSSTREAMSETFREQUENCY1A ), // IDirectSoundBuffer_SetFrequency+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #2 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetFrequency+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, // (Offset,Value)-Pair #5 - { 0x10, 0xC9 }, // (Offset,Value)-Pair #6 + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, // IDirectSoundBuffer_SetFrequency+0x11 : and ecx, eax - { 0x11, 0x23 }, // (Offset,Value)-Pair #7 - { 0x12, 0xC8 }, // (Offset,Value)-Pair #8 + { 0x11, 0x23 }, + { 0x12, 0xC8 }, OOVPA_END; // ****************************************************************** @@ -2318,22 +2318,22 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dMode, 3936, 12, XRefZero) // CMcpxVoiceClient_Set3dMode+0x04 : or byte ptr [ecx+0x80], 0xFF - { 0x04, 0x80 }, // (Offset,Value)-Pair #1 - { 0x05, 0x89 }, // (Offset,Value)-Pair #2 - { 0x06, 0x80 }, // (Offset,Value)-Pair #3 - { 0x07, 0x00 }, // (Offset,Value)-Pair #4 - { 0x08, 0x00 }, // (Offset,Value)-Pair #5 - { 0x09, 0x00 }, // (Offset,Value)-Pair #6 - { 0x0A, 0xFF }, // (Offset,Value)-Pair #7 + { 0x04, 0x80 }, + { 0x05, 0x89 }, + { 0x06, 0x80 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0xFF }, // CMcpxVoiceClient_Set3dMode+0x10 : cmp [ecx+0x58], eax - { 0x10, 0x89 }, // (Offset,Value)-Pair #8 - { 0x11, 0x41 }, // (Offset,Value)-Pair #9 - { 0x12, 0x58 }, // (Offset,Value)-Pair #10 + { 0x10, 0x89 }, + { 0x11, 0x41 }, + { 0x12, 0x58 }, // CMcpxVoiceClient_Set3dMode+0x1E : retn 0x08 - { 0x1E, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x1F, 0x08 }, // (Offset,Value)-Pair #12 + { 0x1E, 0xC2 }, + { 0x1F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2345,22 +2345,22 @@ OOVPA_XREF(CDirectSoundVoice_SetMode, 3936, 10, XRefOne) // CDirectSoundVoice_SetMode+0x1E : call [CMcpxVoiceClient::Set3dMode] - XREF_ENTRY( 0x1F, XREF_DSBUFFERSETMODEB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1F, XREF_DSBUFFERSETMODEB ), // CDirectSoundVoice_SetMode+0x17 : push [esp+0x14] - { 0x17, 0xFF }, // (Offset,Value)-Pair #2 - { 0x18, 0x74 }, // (Offset,Value)-Pair #3 - { 0x19, 0x24 }, // (Offset,Value)-Pair #4 - { 0x1A, 0x14 }, // (Offset,Value)-Pair #5 + { 0x17, 0xFF }, + { 0x18, 0x74 }, + { 0x19, 0x24 }, + { 0x1A, 0x14 }, // CDirectSoundVoice_SetMode+0x1B : mov ecx, [eax+0x14] - { 0x1B, 0x8B }, // (Offset,Value)-Pair #6 - { 0x1C, 0x48 }, // (Offset,Value)-Pair #7 - { 0x1D, 0x14 }, // (Offset,Value)-Pair #8 + { 0x1B, 0x8B }, + { 0x1C, 0x48 }, + { 0x1D, 0x14 }, // CDirectSoundVoice_SetMode+0x38 : retn 0x0C - { 0x38, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x39, 0x0C }, // (Offset,Value)-Pair #10 + { 0x38, 0xC2 }, + { 0x39, 0x0C }, OOVPA_END; // ****************************************************************** @@ -2372,22 +2372,22 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 3936, 10, XRefOne) // IDirectSoundBuffer_SetMode+0x18 : call [CDirectSoundVoice::SetMode] - XREF_ENTRY( 0x19, XREF_DSBUFFERSETMODEA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_DSBUFFERSETMODEA ), // IDirectSoundBuffer_SetMode+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSoundBuffer_SetMode+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x10, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, // IDirectSoundBuffer_SetMode+0x1D : retn 0x0C - { 0x1D, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x1E, 0x0C }, // (Offset,Value)-Pair #10 + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, OOVPA_END; // ****************************************************************** @@ -2399,22 +2399,22 @@ OOVPA_XREF(CDirectSoundStream_SetRolloffFactor, 3936, 10, XRefOne) // CDirectSoundStream_SetRolloffFactor+0x11 : call [IDirectSoundStream::SetRolloffFactor] - XREF_ENTRY( 0x11, XREF_DSSTREAMSETROLLOFFFACTOR1A ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_DSSTREAMSETROLLOFFFACTOR1A ), // CDirectSoundStream_SetRolloffFactor+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // CDirectSoundStream_SetRolloffFactor+0x0C : add eax, 0x04 - { 0x0C, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0D, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0E, 0x04 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x83 }, + { 0x0D, 0xC0 }, + { 0x0E, 0x04 }, // CDirectSoundStream_SetRolloffFactor+0x15 : retn 0x0C - { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x16, 0x0C }, // (Offset,Value)-Pair #10 + { 0x15, 0xC2 }, + { 0x16, 0x0C }, OOVPA_END; // ****************************************************************** @@ -2446,22 +2446,22 @@ OOVPA_XREF(CDirectSoundStream_SetHeadroom, 3936, 10, XRefOne) // CDirectSoundStream_SetHeadroom+0x0D : call [DirectSound_CDirectSoundVoice_SetHeadroom] - XREF_ENTRY( 0x0D, XREF_DSSETHEADROOMA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x0D, XREF_DSSETHEADROOMA ), // CDirectSoundStream_SetHeadroom+0x04 : mov eax, [esp+0x08] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // CDirectSoundStream_SetHeadroom+0x08 : add eax, 0x04 - { 0x08, 0x83 }, // (Offset,Value)-Pair #6 - { 0x09, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0A, 0x04 }, // (Offset,Value)-Pair #8 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, // CDirectSoundStream_SetHeadroom+0x11 : retn 0x08 - { 0x11, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x12, 0x08 }, // (Offset,Value)-Pair #10 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2470,27 +2470,27 @@ OOVPA_END; OOVPA_NO_XREF(IDirectSound_SetOrientation, 3936, 13) // IDirectSound_SetOrientation+0x06 : fld [ebp+0x20] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #1 - { 0x07, 0x45 }, // (Offset,Value)-Pair #2 - { 0x08, 0x20 }, // (Offset,Value)-Pair #3 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x20 }, // IDirectSound_SetOrientation+0x0C : sub esp, 0x18 - { 0x0C, 0x83 }, // (Offset,Value)-Pair #4 - { 0x0D, 0xEC }, // (Offset,Value)-Pair #5 - { 0x0E, 0x18 }, // (Offset,Value)-Pair #6 + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x18 }, // IDirectSound_SetOrientation+0x18 : add eax, 0xFFFFFFF8 - { 0x18, 0x83 }, // (Offset,Value)-Pair #7 - { 0x19, 0xC0 }, // (Offset,Value)-Pair #8 - { 0x1A, 0xF8 }, // (Offset,Value)-Pair #9 + { 0x18, 0x83 }, + { 0x19, 0xC0 }, + { 0x1A, 0xF8 }, // IDirectSound_SetOrientation+0x1F : neg ecx - { 0x1F, 0xF7 }, // (Offset,Value)-Pair #10 - { 0x20, 0xD9 }, // (Offset,Value)-Pair #11 + { 0x1F, 0xF7 }, + { 0x20, 0xD9 }, // IDirectSound_SetOrientation+0x47 : retn 0x20 - { 0x47, 0xC2 }, // (Offset,Value)-Pair #12 - { 0x48, 0x20 }, // (Offset,Value)-Pair #13 + { 0x47, 0xC2 }, + { 0x48, 0x20 }, OOVPA_END; // ****************************************************************** @@ -2502,21 +2502,21 @@ OOVPA_XREF(CDirectSound_CommitDeferredSettingsB, 3936, 11, XRefZero) // CDirectSound_CommitDeferredSettingsB+0x56 : fld dword ptr [eax+0x174] - { 0x56, 0xD9 }, // (Offset,Value)-Pair #1 - { 0x57, 0x80 }, // (Offset,Value)-Pair #2 - { 0x58, 0x74 }, // (Offset,Value)-Pair #3 - { 0x59, 0x01 }, // (Offset,Value)-Pair #4 - { 0x5A, 0x00 }, // (Offset,Value)-Pair #5 - { 0x5B, 0x00 }, // (Offset,Value)-Pair #6 + { 0x56, 0xD9 }, + { 0x57, 0x80 }, + { 0x58, 0x74 }, + { 0x59, 0x01 }, + { 0x5A, 0x00 }, + { 0x5B, 0x00 }, // CDirectSound_CommitDeferredSettingsB+0xA8 : fsubp st(1), st - { 0xA8, 0xDE }, // (Offset,Value)-Pair #7 - { 0xA9, 0xE9 }, // (Offset,Value)-Pair #8 + { 0xA8, 0xDE }, + { 0xA9, 0xE9 }, // CDirectSound_CommitDeferredSettingsB+0xD4 : mov esi, 0x118 - { 0xD4, 0xBE }, // (Offset,Value)-Pair #9 - { 0xD5, 0x18 }, // (Offset,Value)-Pair #10 - { 0xD6, 0x01 }, // (Offset,Value)-Pair #11 + { 0xD4, 0xBE }, + { 0xD5, 0x18 }, + { 0xD6, 0x01 }, OOVPA_END; // ****************************************************************** @@ -2528,24 +2528,24 @@ OOVPA_XREF(CDirectSound_CommitDeferredSettingsA, 3936, 10, XRefOne) // CDirectSound_CommitDeferredSettingsA+0x12 : call [CDirectSound::CommitDeferredSettingsB] - XREF_ENTRY( 0x12, XREF_COMMITDEFERREDSETTINGSB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x12, XREF_COMMITDEFERREDSETTINGSB ), // CDirectSound_CommitDeferredSettingsA+0x0C : mov ecx, [eax+0x0C] - { 0x0C, 0x8B }, // (Offset,Value)-Pair #2 - { 0x0D, 0x48 }, // (Offset,Value)-Pair #3 - { 0x0E, 0x0C }, // (Offset,Value)-Pair #4 + { 0x0C, 0x8B }, + { 0x0D, 0x48 }, + { 0x0E, 0x0C }, // CDirectSound_CommitDeferredSettingsA+0x0F : push 0 - { 0x0F, 0x6A }, // (Offset,Value)-Pair #5 - { 0x10, 0x00 }, // (Offset,Value)-Pair #6 + { 0x0F, 0x6A }, + { 0x10, 0x00 }, // CDirectSound_CommitDeferredSettingsA+0x19 : jz +0x0B - { 0x19, 0x74 }, // (Offset,Value)-Pair #7 - { 0x1A, 0x0B }, // (Offset,Value)-Pair #8 + { 0x19, 0x74 }, + { 0x1A, 0x0B }, // CDirectSound_CommitDeferredSettingsA+0x28 : retn 0x04 - { 0x28, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x29, 0x04 }, // (Offset,Value)-Pair #10 + { 0x28, 0xC2 }, + { 0x29, 0x04 }, OOVPA_END; // ****************************************************************** @@ -2557,20 +2557,20 @@ OOVPA_XREF(CDirectSound_CommitDeferredSettings, 3936, 8, XRefOne) // CDirectSound_CommitDeferredSettings+0x11 : call [CDirectSound::CommitDeferredSettingsA] - XREF_ENTRY( 0x11, XREF_COMMITDEFERREDSETTINGSA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_COMMITDEFERREDSETTINGSA ), // CDirectSound_CommitDeferredSettings+0x06 : and eax, 0xFFFFFFF8 - { 0x06, 0x83 }, // (Offset,Value)-Pair #2 - { 0x07, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x08, 0xF8 }, // (Offset,Value)-Pair #4 + { 0x06, 0x83 }, + { 0x07, 0xC0 }, + { 0x08, 0xF8 }, // CDirectSound_CommitDeferredSettings+0x09 : neg ecx - { 0x09, 0xF7 }, // (Offset,Value)-Pair #5 - { 0x0A, 0xD9 }, // (Offset,Value)-Pair #6 + { 0x09, 0xF7 }, + { 0x0A, 0xD9 }, // CDirectSound_CommitDeferredSettings+0x15 : retn 0x04 - { 0x15, 0xC2 }, // (Offset,Value)-Pair #7 - { 0x16, 0x04 }, // (Offset,Value)-Pair #8 + { 0x15, 0xC2 }, + { 0x16, 0x04 }, OOVPA_END; // ****************************************************************** @@ -2579,22 +2579,22 @@ OOVPA_END; OOVPA_NO_XREF(IDirectSound_Release, 3936, 10) // IDirectSound_Release+0x04 : lea ecx, [eax-8] - { 0x04, 0x8D }, // (Offset,Value)-Pair #1 - { 0x05, 0x48 }, // (Offset,Value)-Pair #2 - { 0x06, 0xF8 }, // (Offset,Value)-Pair #3 + { 0x04, 0x8D }, + { 0x05, 0x48 }, + { 0x06, 0xF8 }, // IDirectSound_Release+0x07 : neg eax - { 0x07, 0xF7 }, // (Offset,Value)-Pair #4 - { 0x08, 0xD8 }, // (Offset,Value)-Pair #5 + { 0x07, 0xF7 }, + { 0x08, 0xD8 }, // IDirectSound_Release+0x10 : call dword ptr [ecx+8] - { 0x10, 0xFF }, // (Offset,Value)-Pair #6 - { 0x11, 0x51 }, // (Offset,Value)-Pair #7 - { 0x12, 0x08 }, // (Offset,Value)-Pair #8 + { 0x10, 0xFF }, + { 0x11, 0x51 }, + { 0x12, 0x08 }, // IDirectSound_Release+0x13 : retn 0x04 - { 0x13, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x14, 0x04 }, // (Offset,Value)-Pair #10 + { 0x13, 0xC2 }, + { 0x14, 0x04 }, OOVPA_END; // ****************************************************************** @@ -2606,23 +2606,23 @@ OOVPA_XREF(CDirectSound_SetDistanceFactorB, 3936, 13, XRefZero) // CDirectSound_SetDistanceFactorB+0x04 : or dword ptr [ecx+0x01B4], 0x60 - { 0x04, 0x83 }, // (Offset,Value)-Pair #1 - { 0x05, 0x89 }, // (Offset,Value)-Pair #2 - { 0x06, 0xB4 }, // (Offset,Value)-Pair #3 - { 0x07, 0x01 }, // (Offset,Value)-Pair #4 - { 0x08, 0x00 }, // (Offset,Value)-Pair #5 - { 0x09, 0x00 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x60 }, // (Offset,Value)-Pair #7 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0xB4 }, + { 0x07, 0x01 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x60 }, // CDirectSound_SetDistanceFactorB+0x0B : cmp [esp+0x08], 0 - { 0x0B, 0x83 }, // (Offset,Value)-Pair #8 - { 0x0C, 0x7C }, // (Offset,Value)-Pair #9 - { 0x0D, 0x24 }, // (Offset,Value)-Pair #10 - { 0x0E, 0x08 }, // (Offset,Value)-Pair #11 + { 0x0B, 0x83 }, + { 0x0C, 0x7C }, + { 0x0D, 0x24 }, + { 0x0E, 0x08 }, // CDirectSound_SetDistanceFactorB+0x12 : mov [ecx+0x0178], eax - { 0x12, 0x78 }, // (Offset,Value)-Pair #12 - { 0x13, 0x01 }, // (Offset,Value)-Pair #13 + { 0x12, 0x78 }, + { 0x13, 0x01 }, OOVPA_END; // ****************************************************************** @@ -2634,24 +2634,24 @@ OOVPA_XREF(CDirectSound_SetDistanceFactorA, 3936, 12, XRefOne) // CDirectSound_SetDistanceFactorA+0x23 : call [CDirectSound::SetDistanceFactorB] - XREF_ENTRY( 0x23, XREF_SETDISTANCEFACTORB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x23, XREF_SETDISTANCEFACTORB ), // CDirectSound_SetDistanceFactorA+0x00 : push esi; push edi - { 0x00, 0x56 }, // (Offset,Value)-Pair #2 - { 0x01, 0x57 }, // (Offset,Value)-Pair #3 + { 0x00, 0x56 }, + { 0x01, 0x57 }, // CDirectSound_SetDistanceFactorA+0x07 : fld [esp+0x10] - { 0x07, 0xD9 }, // (Offset,Value)-Pair #4 - { 0x08, 0x44 }, // (Offset,Value)-Pair #5 - { 0x09, 0x24 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x10 }, // (Offset,Value)-Pair #7 + { 0x07, 0xD9 }, + { 0x08, 0x44 }, + { 0x09, 0x24 }, + { 0x0A, 0x10 }, // CDirectSound_SetDistanceFactorA+0x11 : not eax; and eax, 1 - { 0x11, 0xF7 }, // (Offset,Value)-Pair #8 - { 0x12, 0xD0 }, // (Offset,Value)-Pair #9 - { 0x13, 0x83 }, // (Offset,Value)-Pair #10 - { 0x14, 0xE0 }, // (Offset,Value)-Pair #11 - { 0x15, 0x01 }, // (Offset,Value)-Pair #12 + { 0x11, 0xF7 }, + { 0x12, 0xD0 }, + { 0x13, 0x83 }, + { 0x14, 0xE0 }, + { 0x15, 0x01 }, OOVPA_END; // ****************************************************************** @@ -2665,25 +2665,25 @@ OOVPA_XREF(IDirectSound_SetDistanceFactor, 3936, 11, // TODO: Tentative (may not be SetDistanceFactor) // IDirectSound_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactorA] - XREF_ENTRY( 0x1D, XREF_SETDISTANCEFACTORA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1D, XREF_SETDISTANCEFACTORA ), // IDirectSound_SetDistanceFactor+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSound_SetDistanceFactor+0x0C : push ecx - { 0x0C, 0x51 }, // (Offset,Value)-Pair #6 + { 0x0C, 0x51 }, // IDirectSound_SetDistanceFactor+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, // (Offset,Value)-Pair #7 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #8 - { 0x14, 0xF8 }, // (Offset,Value)-Pair #9 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, // IDirectSound_SetDistanceFactor+0x21 : retn 0x0C - { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x22, 0x0C }, // (Offset,Value)-Pair #11 + { 0x21, 0xC2 }, + { 0x22, 0x0C }, OOVPA_END; // ****************************************************************** @@ -2695,23 +2695,23 @@ OOVPA_XREF(CDirectSound_SetRolloffFactorB, 3936, 13, XRefZero) // CDirectSound_SetRolloffFactorB+0x04 : or dword ptr [ecx+0x01B4], 0x60 - { 0x04, 0x83 }, // (Offset,Value)-Pair #1 - { 0x05, 0x89 }, // (Offset,Value)-Pair #2 - { 0x06, 0xB4 }, // (Offset,Value)-Pair #3 - { 0x07, 0x01 }, // (Offset,Value)-Pair #4 - { 0x08, 0x00 }, // (Offset,Value)-Pair #5 - { 0x09, 0x00 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x04 }, // (Offset,Value)-Pair #7 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0xB4 }, + { 0x07, 0x01 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x04 }, // CDirectSound_SetRolloffFactorB+0x0B : cmp [esp+0x08], 0 - { 0x0B, 0x83 }, // (Offset,Value)-Pair #8 - { 0x0C, 0x7C }, // (Offset,Value)-Pair #9 - { 0x0D, 0x24 }, // (Offset,Value)-Pair #10 - { 0x0E, 0x08 }, // (Offset,Value)-Pair #11 + { 0x0B, 0x83 }, + { 0x0C, 0x7C }, + { 0x0D, 0x24 }, + { 0x0E, 0x08 }, // CDirectSound_SetRolloffFactorB+0x12 : mov [ecx+0x017C], eax - { 0x12, 0x7C }, // (Offset,Value)-Pair #12 - { 0x13, 0x01 }, // (Offset,Value)-Pair #13 + { 0x12, 0x7C }, + { 0x13, 0x01 }, OOVPA_END; // ****************************************************************** @@ -2723,24 +2723,24 @@ OOVPA_XREF(CDirectSound_SetRolloffFactorA, 3936, 12, XRefOne) // CDirectSound_SetRolloffFactorA+0x23 : call [CDirectSound::SetRolloffFactorB] - XREF_ENTRY( 0x23, XREF_SETROLLOFFFACTORB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x23, XREF_SETROLLOFFFACTORB ), // CDirectSound_SetRolloffFactorA+0x00 : push esi; push edi - { 0x00, 0x56 }, // (Offset,Value)-Pair #2 - { 0x01, 0x57 }, // (Offset,Value)-Pair #3 + { 0x00, 0x56 }, + { 0x01, 0x57 }, // CDirectSound_SetRolloffFactorA+0x07 : fld [esp+0x10] - { 0x07, 0xD9 }, // (Offset,Value)-Pair #4 - { 0x08, 0x44 }, // (Offset,Value)-Pair #5 - { 0x09, 0x24 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x10 }, // (Offset,Value)-Pair #7 + { 0x07, 0xD9 }, + { 0x08, 0x44 }, + { 0x09, 0x24 }, + { 0x0A, 0x10 }, // CDirectSound_SetRolloffFactorA+0x11 : not eax; and eax, 1 - { 0x11, 0xF7 }, // (Offset,Value)-Pair #8 - { 0x12, 0xD0 }, // (Offset,Value)-Pair #9 - { 0x13, 0x83 }, // (Offset,Value)-Pair #10 - { 0x14, 0xE0 }, // (Offset,Value)-Pair #11 - { 0x15, 0x01 }, // (Offset,Value)-Pair #12 + { 0x11, 0xF7 }, + { 0x12, 0xD0 }, + { 0x13, 0x83 }, + { 0x14, 0xE0 }, + { 0x15, 0x01 }, OOVPA_END; // ****************************************************************** @@ -2754,25 +2754,25 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 3936, 11, // TODO: Tentative (may not be SetRolloffFactor) // IDirectSound_SetRolloffFactor+0x1D : call [CDirectSound::SetRolloffFactorA] - XREF_ENTRY( 0x1D, XREF_SETROLLOFFFACTORA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1D, XREF_SETROLLOFFFACTORA ), // IDirectSound_SetRolloffFactor+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSound_SetRolloffFactor+0x0C : push ecx - { 0x0C, 0x51 }, // (Offset,Value)-Pair #6 + { 0x0C, 0x51 }, // IDirectSound_SetRolloffFactor+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, // (Offset,Value)-Pair #7 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #8 - { 0x14, 0xF8 }, // (Offset,Value)-Pair #9 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, // IDirectSound_SetRolloffFactor+0x21 : retn 0x0C - { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x22, 0x0C }, // (Offset,Value)-Pair #11 + { 0x21, 0xC2 }, + { 0x22, 0x0C }, OOVPA_END; // ****************************************************************** @@ -2784,22 +2784,22 @@ OOVPA_XREF(CDirectSound_SetMixBinHeadroomB, 3936, 12, XRefZero) // CDirectSound_SetMixBinHeadroomB+0x04 : cmp dword ptr ds:[0xFE820010], 4 - { 0x12, 0x83 }, // (Offset,Value)-Pair #1 - { 0x13, 0x3D }, // (Offset,Value)-Pair #2 - { 0x14, 0x10 }, // (Offset,Value)-Pair #3 - { 0x15, 0x00 }, // (Offset,Value)-Pair #4 - { 0x16, 0x82 }, // (Offset,Value)-Pair #5 - { 0x17, 0xFE }, // (Offset,Value)-Pair #6 - { 0x18, 0x04 }, // (Offset,Value)-Pair #7 + { 0x12, 0x83 }, + { 0x13, 0x3D }, + { 0x14, 0x10 }, + { 0x15, 0x00 }, + { 0x16, 0x82 }, + { 0x17, 0xFE }, + { 0x18, 0x04 }, // CDirectSound_SetMixBinHeadroomB+0x1F : and edx, 7 - { 0x1F, 0x83 }, // (Offset,Value)-Pair #8 - { 0x20, 0xE2 }, // (Offset,Value)-Pair #9 - { 0x21, 0x07 }, // (Offset,Value)-Pair #10 + { 0x1F, 0x83 }, + { 0x20, 0xE2 }, + { 0x21, 0x07 }, // CDirectSound_SetMixBinHeadroomB+0x2D : jl +0xD8 - { 0x2D, 0x7C }, // (Offset,Value)-Pair #11 - { 0x2E, 0xD8 }, // (Offset,Value)-Pair #12 + { 0x2D, 0x7C }, + { 0x2E, 0xD8 }, OOVPA_END; // ****************************************************************** @@ -2811,21 +2811,21 @@ OOVPA_XREF(CDirectSound_SetMixBinHeadroomA, 3936, 9, XRefOne) // CDirectSound_SetMixBinHeadroomA+0x19 : call [CDirectSound::SetMixBinHeadroomB] - XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMB ), // CDirectSound_SetMixBinHeadroomA+0x00 : push esi; push edi - { 0x00, 0x56 }, // (Offset,Value)-Pair #2 - { 0x01, 0x57 }, // (Offset,Value)-Pair #3 + { 0x00, 0x56 }, + { 0x01, 0x57 }, // CDirectSound_SetMixBinHeadroomA+0x07 : push [esp+0x14] - { 0x07, 0xFF }, // (Offset,Value)-Pair #4 - { 0x08, 0x74 }, // (Offset,Value)-Pair #5 - { 0x09, 0x24 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x14 }, // (Offset,Value)-Pair #7 + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x09, 0x24 }, + { 0x0A, 0x14 }, // CDirectSound_SetMixBinHeadroomA+0x21 : jz +0x0B - { 0x21, 0x74 }, // (Offset,Value)-Pair #8 - { 0x22, 0x0B }, // (Offset,Value)-Pair #9 + { 0x21, 0x74 }, + { 0x22, 0x0B }, OOVPA_END; // ****************************************************************** @@ -2837,26 +2837,26 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 3936, 12, XRefOne) // IDirectSound_SetMixBinHeadroom+0x19 : call [CDirectSound::SetMixBinHeadroomA] - XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ), // IDirectSound_SetMixBinHeadroom+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSound_SetMixBinHeadroom+0x08 : mov ecx, eax - { 0x08, 0x8B }, // (Offset,Value)-Pair #6 - { 0x09, 0xC8 }, // (Offset,Value)-Pair #7 + { 0x08, 0x8B }, + { 0x09, 0xC8 }, // IDirectSound_SetMixBinHeadroom+0x0E : add eax, 0xFFFFFFF8 - { 0x0E, 0x83 }, // (Offset,Value)-Pair #8 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #9 - { 0x10, 0xF8 }, // (Offset,Value)-Pair #10 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xF8 }, // IDirectSound_SetMixBinHeadroom+0x1D : retn 0x0C - { 0x1D, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x1E, 0x0C }, // (Offset,Value)-Pair #12 + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, OOVPA_END; // ****************************************************************** @@ -2868,22 +2868,22 @@ OOVPA_XREF(CDirectSound_SetPositionB, 3936, 12, XRefZero) // CDirectSound_SetPositionB+0x0C : movsd; movsd; movsd - { 0x0C, 0xA5 }, // (Offset,Value)-Pair #1 - { 0x0D, 0xA5 }, // (Offset,Value)-Pair #2 - { 0x0E, 0xA5 }, // (Offset,Value)-Pair #3 + { 0x0C, 0xA5 }, + { 0x0D, 0xA5 }, + { 0x0E, 0xA5 }, // CDirectSound_SetPositionB+0x0F : or byte ptr [ecx+0x01B4], 0xFF - { 0x0F, 0x80 }, // (Offset,Value)-Pair #4 - { 0x10, 0x89 }, // (Offset,Value)-Pair #5 - { 0x11, 0xB4 }, // (Offset,Value)-Pair #6 - { 0x12, 0x01 }, // (Offset,Value)-Pair #7 - { 0x13, 0x00 }, // (Offset,Value)-Pair #8 - { 0x14, 0x00 }, // (Offset,Value)-Pair #9 - { 0x15, 0xFF }, // (Offset,Value)-Pair #10 + { 0x0F, 0x80 }, + { 0x10, 0x89 }, + { 0x11, 0xB4 }, + { 0x12, 0x01 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0xFF }, // CDirectSound_SetPositionB+0x28 : retn 0x08 - { 0x28, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x29, 0x08 }, // (Offset,Value)-Pair #12 + { 0x28, 0xC2 }, + { 0x29, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2895,22 +2895,22 @@ OOVPA_XREF(CDirectSound_SetPositionA, 3936, 10, XRefOne) // CDirectSound_SetPositionA+0x35 : call [CDirectSound::SetPositionB] - XREF_ENTRY( 0x35, XREF_DSSETPOSITIONB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x35, XREF_DSSETPOSITIONB ), // CDirectSound_SetPositionA+0x06 : push esi; push edi - { 0x06, 0x56 }, // (Offset,Value)-Pair #2 - { 0x07, 0x57 }, // (Offset,Value)-Pair #3 + { 0x06, 0x56 }, + { 0x07, 0x57 }, // CDirectSound_SetPositionA+0x24 : not eax; and eax, 1 - { 0x24, 0xF7 }, // (Offset,Value)-Pair #4 - { 0x25, 0xD0 }, // (Offset,Value)-Pair #5 - { 0x26, 0x83 }, // (Offset,Value)-Pair #6 - { 0x27, 0xE0 }, // (Offset,Value)-Pair #7 - { 0x28, 0x01 }, // (Offset,Value)-Pair #8 + { 0x24, 0xF7 }, + { 0x25, 0xD0 }, + { 0x26, 0x83 }, + { 0x27, 0xE0 }, + { 0x28, 0x01 }, // CDirectSound_SetPositionA+0x4F : retn 0x14 - { 0x4F, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x50, 0x14 }, // (Offset,Value)-Pair #10 + { 0x4F, 0xC2 }, + { 0x50, 0x14 }, OOVPA_END; // ****************************************************************** @@ -2922,25 +2922,25 @@ OOVPA_XREF(IDirectSound_SetPosition, 3936, 11, XRefOne) // IDirectSound_SetPosition+0x2D : call [CDirectSound::SetPositionA] - XREF_ENTRY( 0x2D, XREF_DSSETPOSITIONA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x2D, XREF_DSSETPOSITIONA ), // IDirectSound_SetPosition+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x07, 0x45 }, // (Offset,Value)-Pair #3 - { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, // IDirectSound_SetPosition+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, // (Offset,Value)-Pair #5 - { 0x0D, 0xEC }, // (Offset,Value)-Pair #6 - { 0x0E, 0x0C }, // (Offset,Value)-Pair #7 + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, // IDirectSound_SetPosition+0x1B : neg ecx - { 0x1B, 0xF7 }, // (Offset,Value)-Pair #8 - { 0x1C, 0xD9 }, // (Offset,Value)-Pair #9 + { 0x1B, 0xF7 }, + { 0x1C, 0xD9 }, // IDirectSound_SetPosition+0x32 : retn 0x14 - { 0x32, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x33, 0x14 }, // (Offset,Value)-Pair #11 + { 0x32, 0xC2 }, + { 0x33, 0x14 }, OOVPA_END; // ****************************************************************** @@ -2952,22 +2952,22 @@ OOVPA_XREF(CDirectSound_SetVelocityB, 3936, 12, XRefZero) // CDirectSound_SetVelocityB+0x0C : movsd; movsd; movsd - { 0x0C, 0xA5 }, // (Offset,Value)-Pair #1 - { 0x0D, 0xA5 }, // (Offset,Value)-Pair #2 - { 0x0E, 0xA5 }, // (Offset,Value)-Pair #3 + { 0x0C, 0xA5 }, + { 0x0D, 0xA5 }, + { 0x0E, 0xA5 }, // CDirectSound_SetVelocityB+0x0F : or dword ptr [ecx+0x01B4], 0x40 - { 0x0F, 0x83 }, // (Offset,Value)-Pair #4 - { 0x10, 0x89 }, // (Offset,Value)-Pair #5 - { 0x11, 0xB4 }, // (Offset,Value)-Pair #6 - { 0x12, 0x01 }, // (Offset,Value)-Pair #7 - { 0x13, 0x00 }, // (Offset,Value)-Pair #8 - { 0x14, 0x00 }, // (Offset,Value)-Pair #9 - { 0x15, 0x40 }, // (Offset,Value)-Pair #10 + { 0x0F, 0x83 }, + { 0x10, 0x89 }, + { 0x11, 0xB4 }, + { 0x12, 0x01 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x40 }, // CDirectSound_SetVelocityB+0x28 : retn 0x08 - { 0x28, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x29, 0x08 }, // (Offset,Value)-Pair #12 + { 0x28, 0xC2 }, + { 0x29, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2979,22 +2979,22 @@ OOVPA_XREF(CDirectSound_SetVelocityA, 3936, 10, XRefOne) // CDirectSound_SetVelocityA+0x35 : call [CDirectSound::SetVelocityB] - XREF_ENTRY( 0x35, XREF_DSSETVELOCITYB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x35, XREF_DSSETVELOCITYB ), // CDirectSound_SetVelocityA+0x06 : push esi; push edi - { 0x06, 0x56 }, // (Offset,Value)-Pair #2 - { 0x07, 0x57 }, // (Offset,Value)-Pair #3 + { 0x06, 0x56 }, + { 0x07, 0x57 }, // CDirectSound_SetVelocityA+0x24 : not eax; and eax, 1 - { 0x24, 0xF7 }, // (Offset,Value)-Pair #4 - { 0x25, 0xD0 }, // (Offset,Value)-Pair #5 - { 0x26, 0x83 }, // (Offset,Value)-Pair #6 - { 0x27, 0xE0 }, // (Offset,Value)-Pair #7 - { 0x28, 0x01 }, // (Offset,Value)-Pair #8 + { 0x24, 0xF7 }, + { 0x25, 0xD0 }, + { 0x26, 0x83 }, + { 0x27, 0xE0 }, + { 0x28, 0x01 }, // CDirectSound_SetVelocityA+0x4F : retn 0x14 - { 0x4F, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x50, 0x14 }, // (Offset,Value)-Pair #10 + { 0x4F, 0xC2 }, + { 0x50, 0x14 }, OOVPA_END; // ****************************************************************** @@ -3006,25 +3006,25 @@ OOVPA_XREF(IDirectSound_SetVelocity, 3936, 11, XRefOne) // IDirectSound_SetVelocity+0x2D : call [CDirectSound::SetVelocityA] - XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ), // IDirectSound_SetVelocity+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x07, 0x45 }, // (Offset,Value)-Pair #3 - { 0x08, 0x14 }, // (Offset,Value)-Pair #4 + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, // IDirectSound_SetVelocity+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, // (Offset,Value)-Pair #5 - { 0x0D, 0xEC }, // (Offset,Value)-Pair #6 - { 0x0E, 0x0C }, // (Offset,Value)-Pair #7 + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, // IDirectSound_SetVelocity+0x1B : neg ecx - { 0x1B, 0xF7 }, // (Offset,Value)-Pair #8 - { 0x1C, 0xD9 }, // (Offset,Value)-Pair #9 + { 0x1B, 0xF7 }, + { 0x1C, 0xD9 }, // IDirectSound_SetVelocity+0x32 : retn 0x14 - { 0x32, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x33, 0x14 }, // (Offset,Value)-Pair #11 + { 0x32, 0xC2 }, + { 0x33, 0x14 }, OOVPA_END; // ****************************************************************** @@ -3036,23 +3036,23 @@ OOVPA_XREF(CDirectSound_SetAllParametersB, 3936, 13, XRefZero) // CDirectSound_SetAllParametersB+0x08 : push 0x0C; pop ecx - { 0x08, 0x6A }, // (Offset,Value)-Pair #1 - { 0x09, 0x0C }, // (Offset,Value)-Pair #2 - { 0x0A, 0x59 }, // (Offset,Value)-Pair #3 + { 0x08, 0x6A }, + { 0x09, 0x0C }, + { 0x0A, 0x59 }, // CDirectSound_SetAllParametersB+0x13 : or word ptr [ecx+0x01B4], 0x0180 - { 0x13, 0x66 }, // (Offset,Value)-Pair #4 - { 0x14, 0x81 }, // (Offset,Value)-Pair #5 - { 0x15, 0x88 }, // (Offset,Value)-Pair #6 - { 0x16, 0xB4 }, // (Offset,Value)-Pair #7 - { 0x17, 0x01 }, // (Offset,Value)-Pair #8 - { 0x18, 0x00 }, // (Offset,Value)-Pair #9 - { 0x1A, 0x80 }, // (Offset,Value)-Pair #10 - { 0x1B, 0x01 }, // (Offset,Value)-Pair #11 + { 0x13, 0x66 }, + { 0x14, 0x81 }, + { 0x15, 0x88 }, + { 0x16, 0xB4 }, + { 0x17, 0x01 }, + { 0x18, 0x00 }, + { 0x1A, 0x80 }, + { 0x1B, 0x01 }, // CDirectSound_SetAllParametersB+0x30 : retn 0x08 - { 0x30, 0xC2 }, // (Offset,Value)-Pair #12 - { 0x31, 0x08 }, // (Offset,Value)-Pair #13 + { 0x30, 0xC2 }, + { 0x31, 0x08 }, OOVPA_END; // ****************************************************************** @@ -3064,22 +3064,22 @@ OOVPA_XREF(CDirectSound_SetAllParametersA, 3936, 10, XRefOne) // CDirectSound_SetAllParametersA+0x2F : call [CDirectSound::SetAllParametersB] - XREF_ENTRY( 0x2F, XREF_DSSETALLPARAMETERSB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x2F, XREF_DSSETALLPARAMETERSB ), // CDirectSound_SetAllParametersA+0x00 : push esi; push edi - { 0x00, 0x56 }, // (Offset,Value)-Pair #2 - { 0x01, 0x57 }, // (Offset,Value)-Pair #3 + { 0x00, 0x56 }, + { 0x01, 0x57 }, // CDirectSound_SetAllParametersA+0x21 : not ecx; and ecx, 1 - { 0x21, 0xF7 }, // (Offset,Value)-Pair #4 - { 0x22, 0xD1 }, // (Offset,Value)-Pair #5 - { 0x23, 0x83 }, // (Offset,Value)-Pair #6 - { 0x24, 0xE1 }, // (Offset,Value)-Pair #7 - { 0x25, 0x01 }, // (Offset,Value)-Pair #8 + { 0x21, 0xF7 }, + { 0x22, 0xD1 }, + { 0x23, 0x83 }, + { 0x24, 0xE1 }, + { 0x25, 0x01 }, // CDirectSound_SetAllParametersA+0x48 : retn 0x0C - { 0x48, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x49, 0x0C }, // (Offset,Value)-Pair #10 + { 0x48, 0xC2 }, + { 0x49, 0x0C }, OOVPA_END; //TODO: Which one is accurate for 3936 and older version? IDirectSound8_SetAllParameters or IDirectSound_SetAllParameters? @@ -3092,26 +3092,26 @@ OOVPA_XREF(IDirectSound8_SetAllParameters, 3936, 12, XRefOne) // IDirectSound8_SetAllParameters+0x19 : call [CDirectSound::SetAllParametersA] - XREF_ENTRY( 0x19, XREF_DSSETALLPARAMETERSA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_DSSETALLPARAMETERSA ), // IDirectSound8_SetAllParameters+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSound8_SetAllParameters+0x0E : add eax, 0xFFFFFFF8 - { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x10, 0xF8 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xF8 }, // IDirectSound8_SetAllParameters+0x13 : sbb ecx, ecx - { 0x13, 0x1B }, // (Offset,Value)-Pair #9 - { 0x14, 0xC9 }, // (Offset,Value)-Pair #10 + { 0x13, 0x1B }, + { 0x14, 0xC9 }, // IDirectSound8_SetAllParameters+0x1D : retn 0x0C - { 0x1D, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x1E, 0x0C }, // (Offset,Value)-Pair #12 + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, OOVPA_END; // ****************************************************************** @@ -3120,23 +3120,23 @@ OOVPA_END; OOVPA_NO_XREF(IDirectSound_DownloadEffectsImage, 3936, 11) // IDirectSound_DownloadEffectsImage+0x03 : push [ebp+0x18] - { 0x03, 0xFF }, // (Offset,Value)-Pair #1 - { 0x04, 0x75 }, // (Offset,Value)-Pair #2 - { 0x05, 0x18 }, // (Offset,Value)-Pair #3 + { 0x03, 0xFF }, + { 0x04, 0x75 }, + { 0x05, 0x18 }, // IDirectSound_DownloadEffectsImage+0x06 : mov eax, [ebp+0x08] - { 0x06, 0x8B }, // (Offset,Value)-Pair #4 - { 0x07, 0x45 }, // (Offset,Value)-Pair #5 - { 0x08, 0x08 }, // (Offset,Value)-Pair #6 + { 0x06, 0x8B }, + { 0x07, 0x45 }, + { 0x08, 0x08 }, // IDirectSound_DownloadEffectsImage+0x11 : add eax, 0xFFFFFFF8 - { 0x11, 0x83 }, // (Offset,Value)-Pair #7 - { 0x12, 0xC0 }, // (Offset,Value)-Pair #8 - { 0x13, 0xF8 }, // (Offset,Value)-Pair #9 + { 0x11, 0x83 }, + { 0x12, 0xC0 }, + { 0x13, 0xF8 }, // IDirectSound_DownloadEffectsImage+0x24 : retn 0x14 - { 0x24, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x25, 0x14 }, // (Offset,Value)-Pair #11 + { 0x24, 0xC2 }, + { 0x25, 0x14 }, OOVPA_END; // ****************************************************************** @@ -3148,19 +3148,19 @@ OOVPA_XREF(CDirectSoundStream_SetMode, 3936, 7, XRefOne) // CDirectSoundStream_SetMode+0x10 : call [CDirectSoundVoice::SetMode] - XREF_ENTRY( 0x11, XREF_DSBUFFERSETMODEA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_DSBUFFERSETMODEA ), // CDirectSoundStream_SetMode+0x0C : add eax, 4 - { 0x0C, 0x83 }, // (Offset,Value)-Pair #2 - { 0x0D, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x0E, 0x04 }, // (Offset,Value)-Pair #4 + { 0x0C, 0x83 }, + { 0x0D, 0xC0 }, + { 0x0E, 0x04 }, // CDirectSoundStream_SetMode+0x0F : push eax - { 0x0F, 0x50 }, // (Offset,Value)-Pair #6 + { 0x0F, 0x50 }, // CDirectSoundBuffer8_SetMode+0x15 : retn 0x0C - { 0x15, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x16, 0x0C }, // (Offset,Value)-Pair #10 + { 0x15, 0xC2 }, + { 0x16, 0x0C }, OOVPA_END; // ****************************************************************** @@ -3466,26 +3466,26 @@ OOVPA_END; OOVPA_NO_XREF(IDirectSound_AddRef, 3936, 12) // IDirectSound_AddRef+0x04 : lea ecx, [eax-8] - { 0x04, 0x8D }, // (Offset,Value)-Pair #1 - { 0x05, 0x48 }, // (Offset,Value)-Pair #2 - { 0x06, 0xF8 }, // (Offset,Value)-Pair #3 + { 0x04, 0x8D }, + { 0x05, 0x48 }, + { 0x06, 0xF8 }, // IDirectSound_AddRef+0x07 : neg eax - { 0x07, 0xF7 }, // (Offset,Value)-Pair #4 - { 0x08, 0xD8 }, // (Offset,Value)-Pair #5 + { 0x07, 0xF7 }, + { 0x08, 0xD8 }, // IDirectSound_AddRef+0x09 : sbb eax, eax - { 0x09, 0x1B }, // (Offset,Value)-Pair #6 - { 0x0A, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x09, 0x1B }, + { 0x0A, 0xC0 }, // IDirectSound_AddRef+0x0D : mov ecx, [eax] - { 0x0D, 0x8B }, // (Offset,Value)-Pair #8 - { 0x0E, 0x08 }, // (Offset,Value)-Pair #9 + { 0x0D, 0x8B }, + { 0x0E, 0x08 }, // IDirectSound_AddRef+0x10 : call dword ptr [ecx+4] - { 0x10, 0xFF }, // (Offset,Value)-Pair #10 - { 0x11, 0x51 }, // (Offset,Value)-Pair #11 - { 0x12, 0x04 }, // (Offset,Value)-Pair #12 + { 0x10, 0xFF }, + { 0x11, 0x51 }, + { 0x12, 0x04 }, OOVPA_END; // ****************************************************************** @@ -3507,20 +3507,20 @@ OOVPA_END; OOVPA_NO_XREF(IDirectSoundBuffer_AddRef, 3936, 10) // IDirectSoundBuffer_AddRef+0x04 : lea ecx, [eax-0x1C] - { 0x04, 0x8D }, // (Offset,Value)-Pair #1 - { 0x05, 0x48 }, // (Offset,Value)-Pair #2 - { 0x06, 0xE4 }, // (Offset,Value)-Pair #3 + { 0x04, 0x8D }, + { 0x05, 0x48 }, + { 0x06, 0xE4 }, // IDirectSoundBuffer_AddRef+0x07 : neg eax; sbb eax, eax - { 0x07, 0xF7 }, // (Offset,Value)-Pair #4 - { 0x08, 0xD8 }, // (Offset,Value)-Pair #5 - { 0x09, 0x1B }, // (Offset,Value)-Pair #6 - { 0x0A, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x07, 0xF7 }, + { 0x08, 0xD8 }, + { 0x09, 0x1B }, + { 0x0A, 0xC0 }, // IDirectSoundBuffer_AddRef+0x10 : call dword ptr [ecx+0x04] - { 0x10, 0xFF }, // (Offset,Value)-Pair #8 - { 0x11, 0x51 }, // (Offset,Value)-Pair #9 - { 0x12, 0x04 }, // (Offset,Value)-Pair #10 + { 0x10, 0xFF }, + { 0x11, 0x51 }, + { 0x12, 0x04 }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 4adafc5c2..467811389 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -561,23 +561,23 @@ OOVPA_XREF(CDirectSoundVoice_SetFrequency, 4039, 11, XRefZero) // CDirectSoundVoice_SetFrequency+0x0D : mov eax, [esi+0x10] - { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 - { 0x0E, 0x46 }, // (Offset,Value)-Pair #2 - { 0x0F, 0x10 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x8B }, + { 0x0E, 0x46 }, + { 0x0F, 0x10 }, // CDirectSoundVoice_SetFrequency+0x10 : mov eax, [eax+0x18] - { 0x10, 0x8B }, // (Offset,Value)-Pair #4 - { 0x11, 0x40 }, // (Offset,Value)-Pair #5 - { 0x12, 0x18 }, // (Offset,Value)-Pair #6 // 4039 0x18 vs 4134 0x10 + { 0x10, 0x8B }, + { 0x11, 0x40 }, + { 0x12, 0x18 }, // 4039 0x18 vs 4134 0x10 // CDirectSoundVoice_SetFrequency+0x14 : call [abs]; push eax; push esi - { 0x14, 0xE8 }, // (Offset,Value)-Pair #7 - { 0x19, 0x50 }, // (Offset,Value)-Pair #8 - { 0x1A, 0x56 }, // (Offset,Value)-Pair #9 + { 0x14, 0xE8 }, + { 0x19, 0x50 }, + { 0x1A, 0x56 }, // CDirectSoundVoice_SetFrequency+0x22 : retn 0x08 - { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x22, 0x08 }, // (Offset,Value)-Pair #11 + { 0x21, 0xC2 }, + { 0x22, 0x08 }, OOVPA_END; // ****************************************************************** @@ -623,26 +623,26 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4039, 12, XRefOne) // IDirectSoundBuffer_SetFrequency+0x15 : call [CDirectSound::SetFrequency] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETFREQUENCYA), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSBUFFERSETFREQUENCYA), // IDirectSoundBuffer_SetFrequency+0x04 : push [esp+0x08] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_SetFrequency0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetFrequency+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, // (Offset,Value)-Pair #9 - { 0x10, 0xC9 }, // (Offset,Value)-Pair #10 + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, // IDirectSoundBuffer_SetFrequency+0x11 : and ecx, eax - { 0x11, 0x23 }, // (Offset,Value)-Pair #11 - { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 + { 0x11, 0x23 }, + { 0x12, 0xC8 }, OOVPA_END; #if 0 // No longer used, replaced by generic 3936 version // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 8ff6fb12f..b6f691af6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -37,23 +37,23 @@ // ****************************************************************** OOVPA_NO_XREF(DirectSoundCreate, 4134, 9) // DirectSoundCreate+0x0B : movzx esi, al - { 0x0B, 0x0F }, // (Offset,Value)-Pair #1 - { 0x0C, 0xB6 }, // (Offset,Value)-Pair #2 - { 0x0D, 0xF0 }, // (Offset,Value)-Pair #3 + { 0x0B, 0x0F }, + { 0x0C, 0xB6 }, + { 0x0D, 0xF0 }, // DirectSoundCreate+0x12 : call [addr] - { 0x12, 0xE8 }, // (Offset,Value)-Pair #4 + { 0x12, 0xE8 }, // DirectSoundCreate+0x1B : jl +0x13 - { 0x1B, 0x7C }, // (Offset,Value)-Pair #5 - { 0x1C, 0x13 }, // (Offset,Value)-Pair #6 + { 0x1B, 0x7C }, + { 0x1C, 0x13 }, // DirectSoundCreate+0x27 : sbb ecx, ecx - { 0x27, 0x1B }, // (Offset,Value)-Pair #7 - { 0x28, 0xC9 }, // (Offset,Value)-Pair #8 + { 0x27, 0x1B }, + { 0x28, 0xC9 }, // DirectSoundCreate+0x43 : leave - { 0x43, 0xC9 }, // (Offset,Value)-Pair #9 + { 0x43, 0xC9 }, OOVPA_END; // ****************************************************************** @@ -78,26 +78,26 @@ OOVPA_XREF(CDirectSound_CreateSoundBuffer, 4134, 14, XRefZero) // CDirectSound_CreateSoundBuffer+0x23 : mov eax, 0x80004005 - { 0x23, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x24, 0x05 }, // (Offset,Value)-Pair #2 - { 0x25, 0x40 }, // (Offset,Value)-Pair #3 - { 0x27, 0x80 }, // (Offset,Value)-Pair #4 + { 0x23, 0xB8 }, + { 0x24, 0x05 }, + { 0x25, 0x40 }, + { 0x27, 0x80 }, // CDirectSound_CreateSoundBuffer+0x2A : push 0x24 - { 0x2A, 0x6A }, // (Offset,Value)-Pair #5 - { 0x2B, 0x24 }, // (Offset,Value)-Pair #6 + { 0x2A, 0x6A }, + { 0x2B, 0x24 }, // CDirectSound_CreateSoundBuffer+0x4A : add esi, 0x7FF8FFF2 - { 0x4A, 0x81 }, // (Offset,Value)-Pair #7 - { 0x4B, 0xE6 }, // (Offset,Value)-Pair #8 - { 0x4C, 0xF2 }, // (Offset,Value)-Pair #9 - { 0x4D, 0xFF }, // (Offset,Value)-Pair #10 - { 0x4E, 0xF8 }, // (Offset,Value)-Pair #11 - { 0x4F, 0x7F }, // (Offset,Value)-Pair #12 + { 0x4A, 0x81 }, + { 0x4B, 0xE6 }, + { 0x4C, 0xF2 }, + { 0x4D, 0xFF }, + { 0x4E, 0xF8 }, + { 0x4F, 0x7F }, // CDirectSound_CreateSoundBuffer+0x99 : retn 0x10 - { 0x99, 0xC2 }, // (Offset,Value)-Pair #13 - { 0x9A, 0x10 }, // (Offset,Value)-Pair #14 + { 0x99, 0xC2 }, + { 0x9A, 0x10 }, OOVPA_END; // ****************************************************************** @@ -109,23 +109,23 @@ OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 4134, 11, XRefZero) // CDirectSoundBuffer_SetLoopRegion+0x24 : mov eax, 0x80004005 - { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x25, 0x05 }, // (Offset,Value)-Pair #2 - { 0x26, 0x40 }, // (Offset,Value)-Pair #3 - { 0x27, 0x00 }, // (Offset,Value)-Pair #4 - { 0x28, 0x80 }, // (Offset,Value)-Pair #5 + { 0x24, 0xB8 }, + { 0x25, 0x05 }, + { 0x26, 0x40 }, + { 0x27, 0x00 }, + { 0x28, 0x80 }, // CDirectSoundBuffer_SetLoopRegion+0x29 : jmp +0x55 - { 0x29, 0xEB }, // (Offset,Value)-Pair #6 - { 0x2A, 0x55 }, // (Offset,Value)-Pair #7 + { 0x29, 0xEB }, + { 0x2A, 0x55 }, // CDirectSoundBuffer_SetLoopRegion+0x56 : sub ecx, esi - { 0x56, 0x2B }, // (Offset,Value)-Pair #8 - { 0x57, 0xCE }, // (Offset,Value)-Pair #9 + { 0x56, 0x2B }, + { 0x57, 0xCE }, // CDirectSoundBuffer_SetLoopRegion+0x82 : retn 0x0C - { 0x82, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x83, 0x0C }, // (Offset,Value)-Pair #11 + { 0x82, 0xC2 }, + { 0x83, 0x0C }, OOVPA_END; #if 0 // Moved to 3936 @@ -159,21 +159,21 @@ OOVPA_XREF(CDirectSound_SetI3DL2Listener, 4134, 11, XRefZero) // CDirectSound_SetI3DL2Listener+0x3A : mov edi, 0x88780032 - { 0x3A, 0xBF }, // (Offset,Value)-Pair #1 - { 0x3B, 0x32 }, // (Offset,Value)-Pair #2 - { 0x3C, 0x00 }, // (Offset,Value)-Pair #3 - { 0x3D, 0x78 }, // (Offset,Value)-Pair #4 - { 0x3E, 0x88 }, // (Offset,Value)-Pair #5 + { 0x3A, 0xBF }, + { 0x3B, 0x32 }, + { 0x3C, 0x00 }, + { 0x3D, 0x78 }, + { 0x3E, 0x88 }, // CDirectSound_SetI3DL2Listener+0xA2 : fstp dword ptr[edx+0x94] - { 0xA2, 0xD9 }, // (Offset,Value)-Pair #6 - { 0xA3, 0x9A }, // (Offset,Value)-Pair #7 - { 0xA4, 0x94 }, // (Offset,Value)-Pair #8 + { 0xA2, 0xD9 }, + { 0xA3, 0x9A }, + { 0xA4, 0x94 }, // CDirectSound_SetI3DL2Listener+0xA8 : fld dword ptr[ecx+0x24] - { 0xA8, 0xD9 }, // (Offset,Value)-Pair #9 - { 0xA9, 0x41 }, // (Offset,Value)-Pair #10 - { 0xAA, 0x24 }, // (Offset,Value)-Pair #11 + { 0xA8, 0xD9 }, + { 0xA9, 0x41 }, + { 0xAA, 0x24 }, OOVPA_END; // ****************************************************************** @@ -185,26 +185,26 @@ OOVPA_XREF(IDirectSound_SetI3DL2Listener, 4134, 12, XRefOne) // IDirectSound_SetI3DL2Listener+0x19 : call [CDirectSound::SetI3DL2Listener] - XREF_ENTRY(0x19, XREF_DSSETI3DL2LISTENER), // (Offset,Value)-Pair #1 + XREF_ENTRY(0x19, XREF_DSSETI3DL2LISTENER), // IDirectSound_SetI3DL2Listener+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSound_SetI3DL2Listener+0x0E : add eax, 0xFFFFFFF8 - { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x10, 0xF8 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xF8 }, // IDirectSound_SetI3DL2Listener+0x13 : sbb ecx, ecx - { 0x13, 0x1B }, // (Offset,Value)-Pair #9 - { 0x14, 0xC9 }, // (Offset,Value)-Pair #10 + { 0x13, 0x1B }, + { 0x14, 0xC9 }, // IDirectSound_SetI3DL2Listener+0x15 : and ecx, eax - { 0x15, 0x23 }, // (Offset,Value)-Pair #11 - { 0x16, 0xC8 }, // (Offset,Value)-Pair #12 + { 0x15, 0x23 }, + { 0x16, 0xC8 }, OOVPA_END; @@ -279,23 +279,23 @@ OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 4134, 11, XRefZero) // CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x1A - { 0x06, 0x75 }, // (Offset,Value)-Pair #1 - { 0x07, 0x1A }, // (Offset,Value)-Pair #2 + { 0x06, 0x75 }, + { 0x07, 0x1A }, // CDirectSoundVoiceSettings_SetMixBins+0x08 : test byte ptr [ecx+8], 0x10 - { 0x08, 0xF6 }, // (Offset,Value)-Pair #3 - { 0x09, 0x41 }, // (Offset,Value)-Pair #4 - { 0x0A, 0x08 }, // (Offset,Value)-Pair #5 - { 0x0B, 0x10 }, // (Offset,Value)-Pair #6 + { 0x08, 0xF6 }, + { 0x09, 0x41 }, + { 0x0A, 0x08 }, + { 0x0B, 0x10 }, // CDirectSoundVoiceSettings_SetMixBins+0x19 : shr eax, 1 - { 0x19, 0xD1 }, // (Offset,Value)-Pair #7 - { 0x1A, 0xE8 }, // (Offset,Value)-Pair #8 + { 0x19, 0xD1 }, + { 0x1A, 0xE8 }, // CDirectSoundVoiceSettings_SetMixBins+0x53 : cmp [ecx+24h], edx - { 0x53, 0x39 }, // (Offset,Value)-Pair #9 - { 0x54, 0x51 }, // (Offset,Value)-Pair #10 - { 0x55, 0x24 }, // (Offset,Value)-Pair #11 + { 0x53, 0x39 }, + { 0x54, 0x51 }, + { 0x55, 0x24 }, OOVPA_END; // ****************************************************************** @@ -307,33 +307,33 @@ OOVPA_XREF(CDirectSoundVoice_SetMixBins, 4134, 17, XRefOne) // CDirectSoundVoice_SetMixBins+0x0D : call [CDirectSoundVoiceSettings::SetMixBins] - XREF_ENTRY( 0x0D, XREF_DSSETMIXBINSC ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x0D, XREF_DSSETMIXBINSC ), // CDirectSoundVoice_SetMixBins+0x01 : mov esi, [esp+8] - { 0x01, 0x8B }, // (Offset,Value)-Pair #2 - { 0x02, 0x74 }, // (Offset,Value)-Pair #3 - { 0x03, 0x24 }, // (Offset,Value)-Pair #4 - { 0x04, 0x08 }, // (Offset,Value)-Pair #5 + { 0x01, 0x8B }, + { 0x02, 0x74 }, + { 0x03, 0x24 }, + { 0x04, 0x08 }, // CDirectSoundVoice_SetMixBins+0x05 : push [esp+0x0C] - { 0x05, 0xFF }, // (Offset,Value)-Pair #6 - { 0x06, 0x74 }, // (Offset,Value)-Pair #7 - { 0x07, 0x24 }, // (Offset,Value)-Pair #8 - { 0x08, 0x0C }, // (Offset,Value)-Pair #9 + { 0x05, 0xFF }, + { 0x06, 0x74 }, + { 0x07, 0x24 }, + { 0x08, 0x0C }, // CDirectSoundVoice_SetMixBins+0x09 : mov ecx, [esi+0x10] - { 0x09, 0x8B }, // (Offset,Value)-Pair #10 - { 0x0A, 0x4E }, // (Offset,Value)-Pair #11 - { 0x0B, 0x10 }, // (Offset,Value)-Pair #12 + { 0x09, 0x8B }, + { 0x0A, 0x4E }, + { 0x0B, 0x10 }, // CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x0C] - { 0x11, 0x8B }, // (Offset,Value)-Pair #13 - { 0x12, 0x4E }, // (Offset,Value)-Pair #14 - { 0x13, 0x0C }, // (Offset,Value)-Pair #15 + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x13, 0x0C }, // CDirectSoundVoice_SetMixBins+0x1A : retn 0x08 - { 0x1A, 0xC2 }, // (Offset,Value)-Pair #16 - { 0x1B, 0x08 }, // (Offset,Value)-Pair #17 + { 0x1A, 0xC2 }, + { 0x1B, 0x08 }, OOVPA_END; // ****************************************************************** @@ -345,31 +345,31 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 4134, 17, XRefOne) // CDirectSoundBuffer_SetMixBins+0x32 : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x32, XREF_DSSETMIXBINSB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x32, XREF_DSSETMIXBINSB ), // CDirectSoundBuffer_SetMixBins+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 - { 0x22, 0x05 }, // (Offset,Value)-Pair #3 - { 0x23, 0x40 }, // (Offset,Value)-Pair #4 - { 0x24, 0x00 }, // (Offset,Value)-Pair #5 - { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSoundBuffer_SetMixBins+0x29 : push [esp+0x10]; push [esp+0x10] - { 0x29, 0xFF }, // (Offset,Value)-Pair #7 - { 0x2A, 0x74 }, // (Offset,Value)-Pair #8 - { 0x2B, 0x24 }, // (Offset,Value)-Pair #9 - { 0x2C, 0x10 }, // (Offset,Value)-Pair #10 - { 0x2D, 0xFF }, // (Offset,Value)-Pair #11 - { 0x2E, 0x74 }, // (Offset,Value)-Pair #12 - { 0x2F, 0x24 }, // (Offset,Value)-Pair #13 - { 0x30, 0x10 }, // (Offset,Value)-Pair #14 + { 0x29, 0xFF }, + { 0x2A, 0x74 }, + { 0x2B, 0x24 }, + { 0x2C, 0x10 }, + { 0x2D, 0xFF }, + { 0x2E, 0x74 }, + { 0x2F, 0x24 }, + { 0x30, 0x10 }, // CDirectSoundBuffer_SetMixBins+0x49 : pop edi - { 0x49, 0x5F }, // (Offset,Value)-Pair #15 + { 0x49, 0x5F }, // CDirectSoundBuffer_SetMixBins+0x4B : retn 0x08 - { 0x4B, 0xC2 }, // (Offset,Value)-Pair #16 - { 0x4C, 0x08 }, // (Offset,Value)-Pair #17 + { 0x4B, 0xC2 }, + { 0x4C, 0x08 }, OOVPA_END; // ****************************************************************** @@ -381,26 +381,26 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 4134, 12, XRefOne) // IDirectSoundBuffer_SetMixBins+0x15 : call [CDirectSoundBuffer::SetMixBins] - XREF_ENTRY( 0x15, XREF_DSSETMIXBINSA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSSETMIXBINSA ), // IDirectSoundBuffer_SetMixBins+0x04 : push [esp+0x08] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_SetMixBins+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetMixBins+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, // (Offset,Value)-Pair #9 - { 0x10, 0xC9 }, // (Offset,Value)-Pair #10 + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, // IDirectSoundBuffer_SetMixBins+0x11 : and ecx, eax - { 0x11, 0x23 }, // (Offset,Value)-Pair #11 - { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 + { 0x11, 0x23 }, + { 0x12, 0xC8 }, OOVPA_END; // ****************************************************************** @@ -412,21 +412,21 @@ OOVPA_XREF(CDirectSound_SetPositionA, 4134, 11, XRefZero) // CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] - { 0x2B, 0x8B }, // (Offset,Value)-Pair #1 - { 0x2C, 0x4D }, // (Offset,Value)-Pair #2 - { 0x2D, 0x08 }, // (Offset,Value)-Pair #3 + { 0x2B, 0x8B }, + { 0x2C, 0x4D }, + { 0x2D, 0x08 }, // CDirectSound_SetPositionA+0x3F : mov [edx+0x3C], edi - { 0x3F, 0x89 }, // (Offset,Value)-Pair #4 - { 0x40, 0x7A }, // (Offset,Value)-Pair #5 - { 0x41, 0x3C }, // (Offset,Value)-Pair #6 + { 0x3F, 0x89 }, + { 0x40, 0x7A }, + { 0x41, 0x3C }, // CDirectSound_SetPositionA+0x4C : or word ptr [eax+0xA4], 0x01FF - { 0x4C, 0x80 }, // (Offset,Value)-Pair #7 - { 0x4D, 0x88 }, // (Offset,Value)-Pair #8 - { 0x4E, 0xA4 }, // (Offset,Value)-Pair #9 - { 0x4F, 0x00 }, // (Offset,Value)-Pair #10 - { 0x52, 0xFF }, // (Offset,Value)-Pair #11 + { 0x4C, 0x80 }, + { 0x4D, 0x88 }, + { 0x4E, 0xA4 }, + { 0x4F, 0x00 }, + { 0x52, 0xFF }, OOVPA_END; // ****************************************************************** @@ -438,26 +438,26 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 4134, 12, XRefOne) // IDirectSound_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDBUFFER ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDBUFFER ), // IDirectSound_CreateSoundBuffer+0x04 : mov eax, [esp+8] - { 0x04, 0x8B }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSound_CreateSoundBuffer+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, // (Offset,Value)-Pair #6 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x14, 0xF8 }, // (Offset,Value)-Pair #8 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, // IDirectSound_CreateSoundBuffer+0x17 : sbb ecx, ecx - { 0x17, 0x1B }, // (Offset,Value)-Pair #9 - { 0x18, 0xC9 }, // (Offset,Value)-Pair #10 + { 0x17, 0x1B }, + { 0x18, 0xC9 }, // IDirectSound_CreateSoundBuffer+0x21 : retn 0x10 - { 0x21, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x22, 0x10 }, // (Offset,Value)-Pair #12 + { 0x21, 0xC2 }, + { 0x22, 0x10 }, OOVPA_END; // ****************************************************************** @@ -469,23 +469,23 @@ OOVPA_XREF(CDirectSoundVoice_SetFrequency, 4134, 11, XRefZero) // CDirectSoundVoice_SetFrequency+0x0D : mov eax, [esi+0x10] - { 0x0D, 0x8B }, // (Offset,Value)-Pair #1 - { 0x0E, 0x46 }, // (Offset,Value)-Pair #2 - { 0x0F, 0x10 }, // (Offset,Value)-Pair #3 + { 0x0D, 0x8B }, + { 0x0E, 0x46 }, + { 0x0F, 0x10 }, // CDirectSoundVoice_SetFrequency+0x10 : mov eax, [eax+0x10] - { 0x10, 0x8B }, // (Offset,Value)-Pair #4 - { 0x11, 0x40 }, // (Offset,Value)-Pair #5 - { 0x12, 0x10 }, // (Offset,Value)-Pair #6 + { 0x10, 0x8B }, + { 0x11, 0x40 }, + { 0x12, 0x10 }, // CDirectSoundVoice_SetFrequency+0x14 : call [abs]; push eax; push esi - { 0x14, 0xE8 }, // (Offset,Value)-Pair #7 - { 0x19, 0x50 }, // (Offset,Value)-Pair #8 - { 0x1A, 0x56 }, // (Offset,Value)-Pair #9 + { 0x14, 0xE8 }, + { 0x19, 0x50 }, + { 0x1A, 0x56 }, // CDirectSoundVoice_SetFrequency+0x22 : retn 0x08 - { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x22, 0x08 }, // (Offset,Value)-Pair #11 + { 0x21, 0xC2 }, + { 0x22, 0x08 }, OOVPA_END; // ****************************************************************** @@ -497,31 +497,31 @@ OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4134, 17, XRefOne) // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetFrequency ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetFrequency ), // CDirectSoundBuffer_SetFrequency+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 - { 0x22, 0x05 }, // (Offset,Value)-Pair #3 - { 0x23, 0x40 }, // (Offset,Value)-Pair #4 - { 0x24, 0x00 }, // (Offset,Value)-Pair #5 - { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSoundBuffer_SetFrequency+0x29 : push [esp+0x10]; push [esp+0x10] - { 0x29, 0xFF }, // (Offset,Value)-Pair #7 - { 0x2A, 0x74 }, // (Offset,Value)-Pair #8 - { 0x2B, 0x24 }, // (Offset,Value)-Pair #9 - { 0x2C, 0x10 }, // (Offset,Value)-Pair #10 - { 0x2D, 0xFF }, // (Offset,Value)-Pair #11 - { 0x2E, 0x74 }, // (Offset,Value)-Pair #12 - { 0x2F, 0x24 }, // (Offset,Value)-Pair #13 - { 0x30, 0x10 }, // (Offset,Value)-Pair #14 + { 0x29, 0xFF }, + { 0x2A, 0x74 }, + { 0x2B, 0x24 }, + { 0x2C, 0x10 }, + { 0x2D, 0xFF }, + { 0x2E, 0x74 }, + { 0x2F, 0x24 }, + { 0x30, 0x10 }, // CDirectSoundBuffer_SetFrequency+0x49 : pop edi - { 0x49, 0x5F }, // (Offset,Value)-Pair #15 + { 0x49, 0x5F }, // CDirectSoundBuffer_SetFrequency+0x4B : retn 0x08 - { 0x4B, 0xC2 }, // (Offset,Value)-Pair #16 - { 0x4C, 0x08 }, // (Offset,Value)-Pair #17 + { 0x4B, 0xC2 }, + { 0x4C, 0x08 }, OOVPA_END; #if 0 // Moved to 4039 @@ -534,26 +534,26 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4134, 12, XRefOne) // IDirectSoundBuffer_SetFrequency+0x15 : call [CDirectSound::SetFrequency] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETFREQUENCYA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSBUFFERSETFREQUENCYA ), // IDirectSoundBuffer_SetFrequency+0x04 : push [esp+0x08] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_SetFrequency0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetFrequency+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, // (Offset,Value)-Pair #9 - { 0x10, 0xC9 }, // (Offset,Value)-Pair #10 + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, // IDirectSoundBuffer_SetFrequency+0x11 : and ecx, eax - { 0x11, 0x23 }, // (Offset,Value)-Pair #11 - { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 + { 0x11, 0x23 }, + { 0x12, 0xC8 }, OOVPA_END; #endif @@ -566,25 +566,25 @@ OOVPA_XREF(CMcpxVoiceClient_SetVolume, 4134, 13, XRefZero) // CMcpxVoiceClient_SetVolume+0x2A : lea eax, [ecx+ecx*2] - { 0x2A, 0x8D }, // (Offset,Value)-Pair #1 - { 0x2B, 0x04 }, // (Offset,Value)-Pair #2 - { 0x2C, 0x49 }, // (Offset,Value)-Pair #3 + { 0x2A, 0x8D }, + { 0x2B, 0x04 }, + { 0x2C, 0x49 }, // CMcpxVoiceClient_SetVolume+0x45 : movzx edx, word ptr [ecx] - { 0x45, 0x0F }, // (Offset,Value)-Pair #4 - { 0x46, 0xB7 }, // (Offset,Value)-Pair #5 - { 0x47, 0x11 }, // (Offset,Value)-Pair #6 + { 0x45, 0x0F }, + { 0x46, 0xB7 }, + { 0x47, 0x11 }, // CMcpxVoiceClient_SetVolume+0x6C : mov edx, [ebp+eax*4-0x14] - { 0x6C, 0x8B }, // (Offset,Value)-Pair #7 - { 0x6D, 0x54 }, // (Offset,Value)-Pair #8 - { 0x6E, 0x85 }, // (Offset,Value)-Pair #9 - { 0x6F, 0xEC }, // (Offset,Value)-Pair #10 + { 0x6C, 0x8B }, + { 0x6D, 0x54 }, + { 0x6E, 0x85 }, + { 0x6F, 0xEC }, // CMcpxVoiceClient_SetVolume+0x84 : inc eax; inc ecx, inc ecx - { 0x84, 0x40 }, // (Offset,Value)-Pair #11 - { 0x85, 0x41 }, // (Offset,Value)-Pair #12 - { 0x86, 0x41 }, // (Offset,Value)-Pair #13 + { 0x84, 0x40 }, + { 0x85, 0x41 }, + { 0x86, 0x41 }, OOVPA_END; // ****************************************************************** @@ -596,23 +596,23 @@ OOVPA_XREF(CDirectSoundVoice_SetVolume, 4134, 11, XRefOne) // CDirectSoundVoice_SetVolume+0x15 : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETVOLUME ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSSTREAMSETVOLUME ), // CDirectSoundVoice_SetVolume+0x00 : mov ecx, [esp+0x04] - { 0x00, 0x8B }, // (Offset,Value)-Pair #2 - { 0x01, 0x4C }, // (Offset,Value)-Pair #3 - { 0x02, 0x24 }, // (Offset,Value)-Pair #4 - { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + { 0x00, 0x8B }, + { 0x01, 0x4C }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, // CDirectSoundVoice_SetVolume+0x0B : sub edx, [eax+0x20] - { 0x0B, 0x2B }, // (Offset,Value)-Pair #6 - { 0x0C, 0x50 }, // (Offset,Value)-Pair #7 - { 0x0D, 0x20 }, // (Offset,Value)-Pair #8 + { 0x0B, 0x2B }, + { 0x0C, 0x50 }, + { 0x0D, 0x20 }, // CDirectSoundVoice_SetVolume+0x11 : mov ecx, [ecx+0x0C] - { 0x11, 0x8B }, // (Offset,Value)-Pair #9 - { 0x12, 0x49 }, // (Offset,Value)-Pair #10 - { 0x13, 0x0C }, // (Offset,Value)-Pair #11 + { 0x11, 0x8B }, + { 0x12, 0x49 }, + { 0x13, 0x0C }, OOVPA_END; // ****************************************************************** @@ -644,23 +644,23 @@ OOVPA_XREF(IDirectSoundBuffer_LockA, 4134, 13, XRefZero) // IDirectSoundBuffer_LockA+0x37 : test [ebp+0x24], 1 - { 0x37, 0xF6 }, // (Offset,Value)-Pair #1 - { 0x38, 0x45 }, // (Offset,Value)-Pair #2 - { 0x39, 0x24 }, // (Offset,Value)-Pair #3 - { 0x3A, 0x01 }, // (Offset,Value)-Pair #4 + { 0x37, 0xF6 }, + { 0x38, 0x45 }, + { 0x39, 0x24 }, + { 0x3A, 0x01 }, // IDirectSoundBuffer_LockA+0x5C : mov eax, [eax+0xBC] - { 0x5C, 0x8B }, // (Offset,Value)-Pair #5 - { 0x5D, 0x80 }, // (Offset,Value)-Pair #6 - { 0x5E, 0xBC }, // (Offset,Value)-Pair #7 - { 0x5F, 0x00 }, // (Offset,Value)-Pair #8 + { 0x5C, 0x8B }, + { 0x5D, 0x80 }, + { 0x5E, 0xBC }, + { 0x5F, 0x00 }, // IDirectSoundBuffer_LockA+0xA4 : jnb +0x11; mov esi, [esi+0x1C] - { 0xA2, 0x73 }, // (Offset,Value)-Pair #9 - { 0xA3, 0x11 }, // (Offset,Value)-Pair #10 - { 0xA4, 0x8B }, // (Offset,Value)-Pair #11 - { 0xA5, 0x76 }, // (Offset,Value)-Pair #12 - { 0xA6, 0x1C }, // (Offset,Value)-Pair #13 + { 0xA2, 0x73 }, + { 0xA3, 0x11 }, + { 0xA4, 0x8B }, + { 0xA5, 0x76 }, + { 0xA6, 0x1C }, OOVPA_END; // ****************************************************************** @@ -672,21 +672,21 @@ OOVPA_XREF(CMcpxBuffer_SetBufferData, 4134, 9, XRefZero) // CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx - { 0x1E, 0x3B }, // (Offset,Value)-Pair #1 - { 0x1F, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x1E, 0x3B }, + { 0x1F, 0xC3 }, // CMcpxBuffer_SetBufferData+0x20 : jz +0x0C - { 0x20, 0x74 }, // (Offset,Value)-Pair #3 - { 0x21, 0x0C }, // (Offset,Value)-Pair #4 + { 0x20, 0x74 }, + { 0x21, 0x0C }, // CMcpxBuffer_SetBufferData+0x45 : mov [esi+0xB8], ecx - { 0x45, 0x89 }, // (Offset,Value)-Pair #5 - { 0x46, 0x8E }, // (Offset,Value)-Pair #6 - { 0x47, 0xB8 }, // (Offset,Value)-Pair #7 + { 0x45, 0x89 }, + { 0x46, 0x8E }, + { 0x47, 0xB8 }, // CMcpxBuffer_SetBufferData+0x89 : retn 0x08 - { 0x89, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x8A, 0x08 }, // (Offset,Value)-Pair #9 + { 0x89, 0xC2 }, + { 0x8A, 0x08 }, OOVPA_END; // ****************************************************************** @@ -698,22 +698,22 @@ OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 4134, 10, XRefOne) // CDirectSoundBuffer_SetBufferData+0x7A : call [CMcpxBuffer::SetBufferData] - XREF_ENTRY( 0x7A, XREF_CMcpxBuffer_SetBufferData), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x7A, XREF_CMcpxBuffer_SetBufferData), // CDirectSoundBuffer_SetBufferData+0x40 : mov eax, 0x80004005 - { 0x40, 0xB8 }, // (Offset,Value)-Pair #2 - { 0x41, 0x05 }, // (Offset,Value)-Pair #3 - { 0x42, 0x40 }, // (Offset,Value)-Pair #4 - { 0x43, 0x00 }, // (Offset,Value)-Pair #5 - { 0x44, 0x80 }, // (Offset,Value)-Pair #6 + { 0x40, 0xB8 }, + { 0x41, 0x05 }, + { 0x42, 0x40 }, + { 0x43, 0x00 }, + { 0x44, 0x80 }, // CDirectSoundBuffer_SetBufferData+0x5F : jz +0x33 - { 0x5F, 0x74 }, // (Offset,Value)-Pair #7 - { 0x60, 0x33 }, // (Offset,Value)-Pair #8 + { 0x5F, 0x74 }, + { 0x60, 0x33 }, // CDirectSoundBuffer_SetBufferData+0xAB : retn 0x0C - { 0xAB, 0xC2 }, // (Offset,Value)-Pair #9 - { 0xAC, 0x0C }, // (Offset,Value)-Pair #10 + { 0xAB, 0xC2 }, + { 0xAC, 0x0C }, OOVPA_END; // ****************************************************************** @@ -725,20 +725,20 @@ OOVPA_XREF(IDirectSoundBuffer_SetBufferData, 4134, 8, XRefOne) // IDirectSoundBuffer_SetBufferData+0x19 : call [CDirectSoundBuffer::SetBufferData] - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetBufferData), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetBufferData), // IDirectSoundBuffer_SetBufferData+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, // (Offset,Value)-Pair #2 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x10, 0xE4 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, // IDirectSoundBuffer_SetBufferData+0x13 : sbb ecx, ecx - { 0x13, 0x1B }, // (Offset,Value)-Pair #5 - { 0x14, 0xC9 }, // (Offset,Value)-Pair #6 + { 0x13, 0x1B }, + { 0x14, 0xC9 }, // IDirectSoundBuffer_SetBufferData+0x15 : and ecx, eax - { 0x15, 0x23 }, // (Offset,Value)-Pair #7 - { 0x16, 0xC8 }, // (Offset,Value)-Pair #8 + { 0x15, 0x23 }, + { 0x16, 0xC8 }, OOVPA_END; // ****************************************************************** @@ -750,23 +750,23 @@ OOVPA_XREF(CMcpxBuffer_GetStatus, 4134, 11, XRefZero) // CMcpxBuffer_GetStatus+0x0A : mov esi, ecx - { 0x0A, 0x8B }, // (Offset,Value)-Pair #1 - { 0x0B, 0xF1 }, // (Offset,Value)-Pair #2 + { 0x0A, 0x8B }, + { 0x0B, 0xF1 }, // CMcpxBuffer_GetStatus+0x20 : jz +0x18 - { 0x20, 0x74 }, // (Offset,Value)-Pair #3 - { 0x21, 0x18 }, // (Offset,Value)-Pair #4 + { 0x20, 0x74 }, + { 0x21, 0x18 }, // CMcpxBuffer_GetStatus+0x22 : test word ptr [esi+0x12], 0x8002 - { 0x22, 0x66 }, // (Offset,Value)-Pair #5 - { 0x23, 0xF7 }, // (Offset,Value)-Pair #6 - { 0x24, 0x46 }, // (Offset,Value)-Pair #7 - { 0x25, 0x12 }, // (Offset,Value)-Pair #8 + { 0x22, 0x66 }, + { 0x23, 0xF7 }, + { 0x24, 0x46 }, + { 0x25, 0x12 }, // CMcpxBuffer_GetStatus+0x2C : test word ptr [esi+0x12], 0x200 - { 0x2C, 0x66 }, // (Offset,Value)-Pair #9 - { 0x2D, 0xF7 }, // (Offset,Value)-Pair #10 - { 0x2E, 0x46 }, // (Offset,Value)-Pair #11 + { 0x2C, 0x66 }, + { 0x2D, 0xF7 }, + { 0x2E, 0x46 }, OOVPA_END; // ****************************************************************** @@ -778,22 +778,22 @@ OOVPA_XREF(CDirectSoundBuffer_GetStatus, 4134, 10, XRefOne) // CDirectSoundBuffer_GetStatus+0x35 : call [CMcpxBuffer::GetStatus] - XREF_ENTRY(0x35, XREF_CMcpxBuffer_GetStatus), // (Offset,Value)-Pair #1 + XREF_ENTRY(0x35, XREF_CMcpxBuffer_GetStatus), // CDirectSoundBuffer_GetStatus+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 - { 0x22, 0x05 }, // (Offset,Value)-Pair #3 - { 0x23, 0x40 }, // (Offset,Value)-Pair #4 - { 0x24, 0x00 }, // (Offset,Value)-Pair #5 - { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSoundBuffer_GetStatus+0x3D : jz +0x0B - { 0x3D, 0x74 }, // (Offset,Value)-Pair #7 - { 0x3E, 0x0B }, // (Offset,Value)-Pair #8 + { 0x3D, 0x74 }, + { 0x3E, 0x0B }, // CDirectSoundBuffer_GetStatus+0x4E : retn 0x08 - { 0x4E, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x4F, 0x08 }, // (Offset,Value)-Pair #10 + { 0x4E, 0xC2 }, + { 0x4F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -805,19 +805,19 @@ OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 4134, 9, XRefZero) // CMcpxBuffer_SetCurrentPosition+0x11 : mov al, [esi+12] - { 0x11, 0x8A }, // (Offset,Value)-Pair #1 - { 0x12, 0x46 }, // (Offset,Value)-Pair #2 - { 0x13, 0x12 }, // (Offset,Value)-Pair #3 + { 0x11, 0x8A }, + { 0x12, 0x46 }, + { 0x13, 0x12 }, // CMcpxBuffer_SetCurrentPosition+0x5F : jb +0x10 - { 0x5F, 0x72 }, // (Offset,Value)-Pair #4 - { 0x60, 0x10 }, // (Offset,Value)-Pair #5 + { 0x5F, 0x72 }, + { 0x60, 0x10 }, // CMcpxBuffer_SetCurrentPosition+0x86 : movzx eax, byte ptr [esi+0x64] - { 0x86, 0x0F }, // (Offset,Value)-Pair #6 - { 0x87, 0xB6 }, // (Offset,Value)-Pair #7 - { 0x88, 0x46 }, // (Offset,Value)-Pair #8 - { 0x89, 0x64 }, // (Offset,Value)-Pair #9 + { 0x86, 0x0F }, + { 0x87, 0xB6 }, + { 0x88, 0x46 }, + { 0x89, 0x64 }, OOVPA_END; // ****************************************************************** @@ -829,22 +829,22 @@ OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 4134, 10, XRefOne) // CDirectSoundBuffer_SetCurrentPosition+0x35 : call [CMcpxBuffer::SetCurrentPosition] - XREF_ENTRY( 0x35, XREF_CMcpxBuffer_SetCurrentPosition), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x35, XREF_CMcpxBuffer_SetCurrentPosition), // CDirectSoundBuffer_SetCurrentPosition+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 - { 0x22, 0x05 }, // (Offset,Value)-Pair #3 - { 0x23, 0x40 }, // (Offset,Value)-Pair #4 - { 0x24, 0x00 }, // (Offset,Value)-Pair #5 - { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSoundBuffer_SetCurrentPosition+0x3D : jz +0x0B - { 0x3D, 0x74 }, // (Offset,Value)-Pair #7 - { 0x3E, 0x0B }, // (Offset,Value)-Pair #8 + { 0x3D, 0x74 }, + { 0x3E, 0x0B }, // CDirectSoundBuffer_SetCurrentPosition+0x3D : retn 0x08 - { 0x4E, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x4F, 0x08 }, // (Offset,Value)-Pair #10 + { 0x4E, 0xC2 }, + { 0x4F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -856,20 +856,20 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 4134, 8, XRefOne) // IDirectSoundBuffer_SetCurrentPosition+0x15 : call [CDirectSoundBuffer::SetCurrentPosition] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetCurrentPosition), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetCurrentPosition), // IDirectSoundBuffer_SetCurrentPosition+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #2 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetCurrentPosition+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, // (Offset,Value)-Pair #5 - { 0x10, 0xC9 }, // (Offset,Value)-Pair #6 + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, // IDirectSoundBuffer_SetCurrentPosition+0x11 : and ecx, eax - { 0x11, 0x23 }, // (Offset,Value)-Pair #7 - { 0x12, 0xC8 }, // (Offset,Value)-Pair #8 + { 0x11, 0x23 }, + { 0x12, 0xC8 }, OOVPA_END; // ****************************************************************** @@ -881,23 +881,23 @@ OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 4134, 11, XRefZero) // CMcpxBuffer_GetCurrentPosition+0x0E : lea ecx, [ebp-0x08] - { 0x0E, 0x8D }, // (Offset,Value)-Pair #1 - { 0x0F, 0x4D }, // (Offset,Value)-Pair #2 - { 0x10, 0xF8 }, // (Offset,Value)-Pair #3 + { 0x0E, 0x8D }, + { 0x0F, 0x4D }, + { 0x10, 0xF8 }, // CMcpxBuffer_GetCurrentPosition+0x31 : jz +0x02 - { 0x31, 0x74 }, // (Offset,Value)-Pair #4 - { 0x32, 0x02 }, // (Offset,Value)-Pair #5 + { 0x31, 0x74 }, + { 0x32, 0x02 }, // CMcpxBuffer_GetCurrentPosition+0xA0 : div dword ptr [ecx+0xBC] - { 0xA0, 0xF7 }, // (Offset,Value)-Pair #6 - { 0xA1, 0xB1 }, // (Offset,Value)-Pair #7 - { 0xA2, 0xBC }, // (Offset,Value)-Pair #8 + { 0xA0, 0xF7 }, + { 0xA1, 0xB1 }, + { 0xA2, 0xBC }, // CMcpxBuffer_GetCurrentPosition+0xD6 : retn 0x08 - { 0xD6, 0xC2 }, // (Offset,Value)-Pair #9 - { 0xD7, 0x08 }, // (Offset,Value)-Pair #10 - { 0xD8, 0x00 }, // (Offset,Value)-Pair #11 + { 0xD6, 0xC2 }, + { 0xD7, 0x08 }, + { 0xD8, 0x00 }, OOVPA_END; // ****************************************************************** @@ -909,22 +909,22 @@ OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 4134, 10, XRefOne) // CDirectSoundBuffer_GetCurrentPosition+0x39 : call [CMcpxBuffer::GetCurrentPosition] - XREF_ENTRY( 0x39, XREF_CMcpxBuffer_GetCurrentPosition), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x39, XREF_CMcpxBuffer_GetCurrentPosition), // CDirectSoundBuffer_GetCurrentPosition+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 - { 0x22, 0x05 }, // (Offset,Value)-Pair #3 - { 0x23, 0x40 }, // (Offset,Value)-Pair #4 - { 0x24, 0x00 }, // (Offset,Value)-Pair #5 - { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSoundBuffer_GetCurrentPosition+0x41 : jz +0x0B - { 0x41, 0x74 }, // (Offset,Value)-Pair #7 - { 0x42, 0x0B }, // (Offset,Value)-Pair #8 + { 0x41, 0x74 }, + { 0x42, 0x0B }, // CDirectSoundBuffer_GetCurrentPosition+0x3D : retn 0x08 - { 0x52, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x53, 0x0C }, // (Offset,Value)-Pair #10 + { 0x52, 0xC2 }, + { 0x53, 0x0C }, OOVPA_END; // ****************************************************************** @@ -957,31 +957,31 @@ OOVPA_XREF(CDirectSound_SetDistanceFactor, 4134, 17, XRefZero) // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x22, 0x05 }, // (Offset,Value)-Pair #2 - { 0x23, 0x40 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 - { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSound_SetDistanceFactor+0x33 : mov [eax+68h], edx - { 0x33, 0x89 }, // (Offset,Value)-Pair #6 - { 0x34, 0x50 }, // (Offset,Value)-Pair #7 - { 0x35, 0x68 }, // (Offset,Value)-Pair #8 + { 0x33, 0x89 }, + { 0x34, 0x50 }, + { 0x35, 0x68 }, // CDirectSound_SetDistanceFactor+0x36 : mov eax, [ecx+8] - { 0x36, 0x8B }, // (Offset,Value)-Pair #9 - { 0x37, 0x41 }, // (Offset,Value)-Pair #10 - { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + { 0x36, 0x8B }, + { 0x37, 0x41 }, + { 0x38, 0x08 }, // CDirectSound_SetDistanceFactor+0x39 : or dword ptr[eax+0xA4], 0x60 - { 0x39, 0x83 }, // (Offset,Value)-Pair #12 - { 0x3A, 0x88 }, // (Offset,Value)-Pair #13 - { 0x3B, 0xA4 }, // (Offset,Value)-Pair #14 - { 0x3F, 0x60 }, // (Offset,Value)-Pair #15 + { 0x39, 0x83 }, + { 0x3A, 0x88 }, + { 0x3B, 0xA4 }, + { 0x3F, 0x60 }, // CDirectSound_SetDistanceFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, // (Offset,Value)-Pair #16 - { 0x50, 0x0B }, // (Offset,Value)-Pair #17 + { 0x4F, 0x74 }, + { 0x50, 0x0B }, OOVPA_END; // ****************************************************************** @@ -993,25 +993,25 @@ OOVPA_XREF(IDirectSound_SetDistanceFactor, 4134, 11, XRefOne) // IDirectSound_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactor] - XREF_ENTRY( 0x1D, XREF_SETDISTANCEFACTORA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1D, XREF_SETDISTANCEFACTORA ), // IDirectSound_SetDistanceFactor+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSound_SetDistanceFactor+0x0C : push ecx - { 0x0C, 0x51 }, // (Offset,Value)-Pair #6 + { 0x0C, 0x51 }, // IDirectSound_SetDistanceFactor+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, // (Offset,Value)-Pair #7 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #8 - { 0x14, 0xF8 }, // (Offset,Value)-Pair #9 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, // IDirectSound_SetDistanceFactor+0x21 : retn 0x0C - { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x22, 0x0C }, // (Offset,Value)-Pair #11 + { 0x21, 0xC2 }, + { 0x22, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1023,31 +1023,31 @@ OOVPA_XREF(CDirectSound_SetRolloffFactor, 4134, 17, XRefZero) // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x22, 0x05 }, // (Offset,Value)-Pair #2 - { 0x23, 0x40 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 - { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSound_SetRolloffFactor+0x33 : mov [eax+6Ch], edx - { 0x33, 0x89 }, // (Offset,Value)-Pair #6 - { 0x34, 0x50 }, // (Offset,Value)-Pair #7 - { 0x35, 0x6C }, // (Offset,Value)-Pair #8 + { 0x33, 0x89 }, + { 0x34, 0x50 }, + { 0x35, 0x6C }, // CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8] - { 0x36, 0x8B }, // (Offset,Value)-Pair #9 - { 0x37, 0x41 }, // (Offset,Value)-Pair #10 - { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + { 0x36, 0x8B }, + { 0x37, 0x41 }, + { 0x38, 0x08 }, // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0xA4], 0x04 - { 0x39, 0x83 }, // (Offset,Value)-Pair #12 - { 0x3A, 0x88 }, // (Offset,Value)-Pair #13 - { 0x3B, 0xA4 }, // (Offset,Value)-Pair #14 - { 0x3F, 0x04 }, // (Offset,Value)-Pair #15 + { 0x39, 0x83 }, + { 0x3A, 0x88 }, + { 0x3B, 0xA4 }, + { 0x3F, 0x04 }, // CDirectSound_SetRolloffFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, // (Offset,Value)-Pair #16 - { 0x50, 0x0B }, // (Offset,Value)-Pair #17 + { 0x4F, 0x74 }, + { 0x50, 0x0B }, OOVPA_END; // ****************************************************************** @@ -1059,25 +1059,25 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 4134, 11, XRefOne) // IDirectSound_SetRolloffFactor+0x1D : call [CDirectSound::SetRolloffFactor] - XREF_ENTRY( 0x1D, XREF_SETROLLOFFFACTORA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1D, XREF_SETROLLOFFFACTORA ), // IDirectSound_SetRolloffFactor+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSound_SetRolloffFactor+0x0C : push ecx - { 0x0C, 0x51 }, // (Offset,Value)-Pair #6 + { 0x0C, 0x51 }, // IDirectSound_SetRolloffFactor+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, // (Offset,Value)-Pair #7 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #8 - { 0x14, 0xF8 }, // (Offset,Value)-Pair #9 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, // IDirectSound_SetRolloffFactor+0x21 : retn 0x0C - { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x22, 0x0C }, // (Offset,Value)-Pair #11 + { 0x21, 0xC2 }, + { 0x22, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1089,26 +1089,26 @@ OOVPA_XREF(CDirectSound_SetDopplerFactor, 4134, 14, XRefZero) // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x22, 0x05 }, // (Offset,Value)-Pair #2 - { 0x23, 0x40 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 - { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x70], edx - { 0x33, 0x89 }, // (Offset,Value)-Pair #6 - { 0x34, 0x50 }, // (Offset,Value)-Pair #7 - { 0x35, 0x70 }, // (Offset,Value)-Pair #8 + { 0x33, 0x89 }, + { 0x34, 0x50 }, + { 0x35, 0x70 }, // CDirectSound_SetDopplerFactor+0x39 : or dword ptr[eax+0xA4], 0x40 - { 0x39, 0x83 }, // (Offset,Value)-Pair #9 - { 0x3A, 0x88 }, // (Offset,Value)-Pair #10 - { 0x3B, 0xA4 }, // (Offset,Value)-Pair #11 - { 0x3F, 0x40 }, // (Offset,Value)-Pair #12 + { 0x39, 0x83 }, + { 0x3A, 0x88 }, + { 0x3B, 0xA4 }, + { 0x3F, 0x40 }, // CDirectSound_SetDopplerFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, // (Offset,Value)-Pair #13 - { 0x50, 0x0B }, // (Offset,Value)-Pair #14 + { 0x4F, 0x74 }, + { 0x50, 0x0B }, OOVPA_END; // ****************************************************************** @@ -1120,25 +1120,25 @@ OOVPA_XREF(IDirectSound_SetDopplerFactor, 4134, 11, XRefOne) // IDirectSound_SetDopplerFactor+0x1D : call [CDirectSound::SetDopplerFactor] - XREF_ENTRY( 0x1D, XREF_SETDOPPLERFACTOR), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1D, XREF_SETDOPPLERFACTOR), // IDirectSound_SetDopplerFactor+0x04 : fld [esp+0x0C] - { 0x04, 0xD9 }, // (Offset,Value)-Pair #2 - { 0x05, 0x44 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSound_SetDopplerFactor+0x0C : push ecx - { 0x0C, 0x51 }, // (Offset,Value)-Pair #6 + { 0x0C, 0x51 }, // IDirectSound_SetDopplerFactor+0x12 : add eax, 0xFFFFFFF8 - { 0x12, 0x83 }, // (Offset,Value)-Pair #7 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #8 - { 0x14, 0xF8 }, // (Offset,Value)-Pair #9 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, // IDirectSound_SetDopplerFactor+0x21 : retn 0x0C - { 0x21, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x22, 0x0C }, // (Offset,Value)-Pair #11 + { 0x21, 0xC2 }, + { 0x22, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1147,23 +1147,23 @@ OOVPA_END; OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 4134, 11) // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al - { 0x10, 0x0F }, // (Offset,Value)-Pair #1 - { 0x11, 0xB6 }, // (Offset,Value)-Pair #2 - { 0x12, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x10, 0x0F }, + { 0x11, 0xB6 }, + { 0x12, 0xC0 }, // CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005 - { 0x27, 0xB8 }, // (Offset,Value)-Pair #4 - { 0x28, 0x05 }, // (Offset,Value)-Pair #5 - { 0x29, 0x40 }, // (Offset,Value)-Pair #6 - { 0x2B, 0x80 }, // (Offset,Value)-Pair #7 + { 0x27, 0xB8 }, + { 0x28, 0x05 }, + { 0x29, 0x40 }, + { 0x2B, 0x80 }, // CDirectSound_CommitDeferredSettings+0x5C : and [eax+0xA4], esi - { 0x5C, 0x21 }, // (Offset,Value)-Pair #8 - { 0x5D, 0xB0 }, // (Offset,Value)-Pair #9 - { 0x5E, 0xA4 }, // (Offset,Value)-Pair #10 + { 0x5C, 0x21 }, + { 0x5D, 0xB0 }, + { 0x5E, 0xA4 }, // CDirectSound_CommitDeferredSettings+0x78 : leave - { 0x78, 0xC9 }, // (Offset,Value)-Pair #11 + { 0x78, 0xC9 }, OOVPA_END; // ****************************************************************** @@ -2212,21 +2212,21 @@ OOVPA_XREF(IDirectSoundBuffer_GetStatus, 4134, 9, XRefOne) // IDirectSoundBuffer_GetStatus+0x15 : call [CDirectSoundBuffer::GetStatus] - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_GetStatus), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_GetStatus), // IDirectSoundBuffer_GetStatus+0x04 : push [esp+0x08] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_GetStatus+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, // (Offset,Value)-Pair #6 - { 0x10, 0xC9 }, // (Offset,Value)-Pair #7 + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, // IDirectSoundBuffer_GetStatus+0x11 : and ecx, eax - { 0x11, 0x23 }, // (Offset,Value)-Pair #8 - { 0x12, 0xC8 }, // (Offset,Value)-Pair #9 + { 0x11, 0x23 }, + { 0x12, 0xC8 }, OOVPA_END; // ****************************************************************** @@ -2388,27 +2388,27 @@ OOVPA_XREF(CDirectSound_SetVelocity, 4134, 15, XRefZero) // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 - { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x25, 0x05 }, // (Offset,Value)-Pair #2 - { 0x26, 0x40 }, // (Offset,Value)-Pair #3 - { 0x27, 0x00 }, // (Offset,Value)-Pair #4 - { 0x28, 0x80 }, // (Offset,Value)-Pair #5 + { 0x24, 0xB8 }, + { 0x25, 0x05 }, + { 0x26, 0x40 }, + { 0x27, 0x00 }, + { 0x28, 0x80 }, // CDirectSound_SetVelocity+0x37 : mov [edx+0x44], edi - { 0x37, 0x89 }, // (Offset,Value)-Pair #6 - { 0x38, 0x7A }, // (Offset,Value)-Pair #7 - { 0x39, 0x44 }, // (Offset,Value)-Pair #8 + { 0x37, 0x89 }, + { 0x38, 0x7A }, + { 0x39, 0x44 }, // CDirectSound_SetVelocity+0x4C : or dword ptr [eax+0x0A4], 0x40 - { 0x4C, 0x83 }, // (Offset,Value)-Pair #9 - { 0x4D, 0x88 }, // (Offset,Value)-Pair #10 - { 0x4E, 0xA4 }, // (Offset,Value)-Pair #11 - { 0x4F, 0x00 }, // (Offset,Value)-Pair #12 - { 0x52, 0x40 }, // (Offset,Value)-Pair #13 + { 0x4C, 0x83 }, + { 0x4D, 0x88 }, + { 0x4E, 0xA4 }, + { 0x4F, 0x00 }, + { 0x52, 0x40 }, // CDirectSound_SetVelocity+0x73 : retn 0x14 - { 0x73, 0xC2 }, // (Offset,Value)-Pair #14 - { 0x74, 0x14 }, // (Offset,Value)-Pair #15 + { 0x73, 0xC2 }, + { 0x74, 0x14 }, OOVPA_END; #if 0 // Moved to 4039 @@ -2480,26 +2480,26 @@ OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4134, 12, XRefOne) // CDirectSoundBuffer_SetVolume+0x32 : call [CDirectSoundVoice::SetVolume] - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetVolume ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetVolume ), // CDirectSoundBuffer_SetVolume+0x0D : movzx esi, al - { 0x0D, 0x0F }, // (Offset,Value)-Pair #2 - { 0x0E, 0xB6 }, // (Offset,Value)-Pair #3 - { 0x0F, 0xF0 }, // (Offset,Value)-Pair #4 + { 0x0D, 0x0F }, + { 0x0E, 0xB6 }, + { 0x0F, 0xF0 }, // CDirectSoundBuffer_SetVolume+0x26 : jmp +0x22 - { 0x26, 0xEB }, // (Offset,Value)-Pair #5 - { 0x27, 0x22 }, // (Offset,Value)-Pair #6 + { 0x26, 0xEB }, + { 0x27, 0x22 }, // CDirectSoundBuffer_SetVolume+0x2D : push [esp+0x10] - { 0x2D, 0xFF }, // (Offset,Value)-Pair #7 - { 0x2E, 0x74 }, // (Offset,Value)-Pair #8 - { 0x2F, 0x24 }, // (Offset,Value)-Pair #9 - { 0x30, 0x10 }, // (Offset,Value)-Pair #10 + { 0x2D, 0xFF }, + { 0x2E, 0x74 }, + { 0x2F, 0x24 }, + { 0x30, 0x10 }, // CDirectSoundBuffer_SetVolume+0x4B : retn 0x08 - { 0x4B, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x4C, 0x08 }, // (Offset,Value)-Pair #12 + { 0x4B, 0xC2 }, + { 0x4C, 0x08 }, OOVPA_END; #if 0 // Moved to 4039 @@ -2532,26 +2532,26 @@ OOVPA_XREF(CDirectSound_CreateSoundStream, 4134, 14, XRefZero) // CDirectSound_CreateSoundStream+0x23 : mov eax, 0x80004005 - { 0x23, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x24, 0x05 }, // (Offset,Value)-Pair #2 - { 0x25, 0x40 }, // (Offset,Value)-Pair #3 - { 0x27, 0x80 }, // (Offset,Value)-Pair #4 + { 0x23, 0xB8 }, + { 0x24, 0x05 }, + { 0x25, 0x40 }, + { 0x27, 0x80 }, // CDirectSound_CreateSoundStream+0x2A : push 0x28 - { 0x2A, 0x6A }, // (Offset,Value)-Pair #5 - { 0x2B, 0x28 }, // (Offset,Value)-Pair #6 + { 0x2A, 0x6A }, + { 0x2B, 0x28 }, // CDirectSound_CreateSoundStream+0x4A : add esi, 0x7FF8FFF2 - { 0x4A, 0x81 }, // (Offset,Value)-Pair #7 - { 0x4B, 0xE6 }, // (Offset,Value)-Pair #8 - { 0x4C, 0xF2 }, // (Offset,Value)-Pair #9 - { 0x4D, 0xFF }, // (Offset,Value)-Pair #10 - { 0x4E, 0xF8 }, // (Offset,Value)-Pair #11 - { 0x4F, 0x7F }, // (Offset,Value)-Pair #12 + { 0x4A, 0x81 }, + { 0x4B, 0xE6 }, + { 0x4C, 0xF2 }, + { 0x4D, 0xFF }, + { 0x4E, 0xF8 }, + { 0x4F, 0x7F }, // CDirectSound_CreateSoundStream+0x8E : retn 0x10 - { 0x8E, 0xC2 }, // (Offset,Value)-Pair #13 - { 0x8F, 0x10 }, // (Offset,Value)-Pair #14 + { 0x8E, 0xC2 }, + { 0x8F, 0x10 }, OOVPA_END; // ****************************************************************** @@ -2563,26 +2563,26 @@ OOVPA_XREF(DirectSoundCreateStream, 4134, 12, XRefOne) // DirectSoundCreateStream+0x2F : call [CDirectSound::CreateSoundStream] - XREF_ENTRY( 0x2F, XREF_DSCREATESOUNDSTREAM ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x2F, XREF_DSCREATESOUNDSTREAM ), // DirectSoundCreateStream+0x04 : and [ebp-0x04], 0 - { 0x04, 0x83 }, // (Offset,Value)-Pair #2 - { 0x05, 0x65 }, // (Offset,Value)-Pair #3 - { 0x06, 0xFC }, // (Offset,Value)-Pair #4 + { 0x04, 0x83 }, + { 0x05, 0x65 }, + { 0x06, 0xFC }, // DirectSoundCreateStream+0x08 : push ebx; push esi; push edi - { 0x08, 0x53 }, // (Offset,Value)-Pair #5 - { 0x09, 0x56 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x57 }, // (Offset,Value)-Pair #7 + { 0x08, 0x53 }, + { 0x09, 0x56 }, + { 0x0A, 0x57 }, // DirectSoundCreateStream+0x3C : call dword ptr [eax+8] - { 0x3C, 0xFF }, // (Offset,Value)-Pair #8 - { 0x3D, 0x50 }, // (Offset,Value)-Pair #9 - { 0x3E, 0x08 }, // (Offset,Value)-Pair #10 + { 0x3C, 0xFF }, + { 0x3D, 0x50 }, + { 0x3E, 0x08 }, // DirectSoundCreateStream+0x54 : retn 0x08 - { 0x54, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x55, 0x08 }, // (Offset,Value)-Pair #12 + { 0x54, 0xC2 }, + { 0x55, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2594,22 +2594,22 @@ OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, 10, XRefZero) // CDirectSoundVoiceSettings_SetMixBinVolumes+0x09 : jbe +0x16 - { 0x09, 0x76 }, // (Offset,Value)-Pair #1 - { 0x0A, 0x16 }, // (Offset,Value)-Pair #2 + { 0x09, 0x76 }, + { 0x0A, 0x16 }, // CDirectSoundVoiceSettings_SetMixBinVolumes+0x18 : mov [ecx+edi*4+0x30], eax - { 0x18, 0x89 }, // (Offset,Value)-Pair #3 - { 0x19, 0x44 }, // (Offset,Value)-Pair #4 - { 0x1A, 0xB9 }, // (Offset,Value)-Pair #5 - { 0x1B, 0x30 }, // (Offset,Value)-Pair #6 + { 0x18, 0x89 }, + { 0x19, 0x44 }, + { 0x1A, 0xB9 }, + { 0x1B, 0x30 }, // CDirectSoundVoiceSettings_SetMixBinVolumes+0x1E : jb +0xEC - { 0x1E, 0x72 }, // (Offset,Value)-Pair #7 - { 0x1F, 0xEC }, // (Offset,Value)-Pair #8 + { 0x1E, 0x72 }, + { 0x1F, 0xEC }, // CDirectSoundVoiceSettings_SetMixBinVolumes+0x22 : retn 0x04 - { 0x22, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x23, 0x04 }, // (Offset,Value)-Pair #10 + { 0x22, 0xC2 }, + { 0x23, 0x04 }, OOVPA_END; // ****************************************************************** @@ -2621,33 +2621,33 @@ OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4134, 17, XRefOne) // CDirectSoundVoice_SetMixBinVolumes+0x0D : call [CDirectSoundVoiceSettings::SetMixBinVolumes] - XREF_ENTRY( 0x0D, XREF_DSSETMIXBINVOLUMESC ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x0D, XREF_DSSETMIXBINVOLUMESC ), // CDirectSoundVoice_SetMixBinVolumes+0x01 : mov esi, [esp+8] - { 0x01, 0x8B }, // (Offset,Value)-Pair #2 - { 0x02, 0x74 }, // (Offset,Value)-Pair #3 - { 0x03, 0x24 }, // (Offset,Value)-Pair #4 - { 0x04, 0x08 }, // (Offset,Value)-Pair #5 + { 0x01, 0x8B }, + { 0x02, 0x74 }, + { 0x03, 0x24 }, + { 0x04, 0x08 }, // CDirectSoundVoice_SetMixBinVolumes+0x05 : push [esp+0x0C] - { 0x05, 0xFF }, // (Offset,Value)-Pair #6 - { 0x06, 0x74 }, // (Offset,Value)-Pair #7 - { 0x07, 0x24 }, // (Offset,Value)-Pair #8 - { 0x08, 0x0C }, // (Offset,Value)-Pair #9 + { 0x05, 0xFF }, + { 0x06, 0x74 }, + { 0x07, 0x24 }, + { 0x08, 0x0C }, // CDirectSoundVoice_SetMixBinVolumes+0x09 : mov ecx, [esi+0x10] - { 0x09, 0x8B }, // (Offset,Value)-Pair #10 - { 0x0A, 0x4E }, // (Offset,Value)-Pair #11 - { 0x0B, 0x10 }, // (Offset,Value)-Pair #12 + { 0x09, 0x8B }, + { 0x0A, 0x4E }, + { 0x0B, 0x10 }, // CDirectSoundVoice_SetMixBinVolumes+0x11 : mov ecx, [esi+0x0C] - { 0x11, 0x8B }, // (Offset,Value)-Pair #13 - { 0x12, 0x4E }, // (Offset,Value)-Pair #14 - { 0x13, 0x0C }, // (Offset,Value)-Pair #15 + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x13, 0x0C }, // CDirectSoundVoice_SetMixBinVolumes+0x1A : retn 0x08 - { 0x1A, 0xC2 }, // (Offset,Value)-Pair #16 - { 0x1B, 0x08 }, // (Offset,Value)-Pair #17 + { 0x1A, 0xC2 }, + { 0x1B, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2659,31 +2659,31 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4134, 17, XRefOne) // CDirectSoundBuffer_SetMixBinVolumes+0x32 : call [CDirectSoundVoice::SetMixBinVolumes] - XREF_ENTRY( 0x32, XREF_DSSETMIXBINVOLUMESB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x32, XREF_DSSETMIXBINVOLUMESB ), // CDirectSoundBuffer_SetMixBinVolumes+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 - { 0x22, 0x05 }, // (Offset,Value)-Pair #3 - { 0x23, 0x40 }, // (Offset,Value)-Pair #4 - { 0x24, 0x00 }, // (Offset,Value)-Pair #5 - { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSoundBuffer_SetMixBinVolumes+0x29 : push [esp+0x10]; push [esp+0x10] - { 0x29, 0xFF }, // (Offset,Value)-Pair #7 - { 0x2A, 0x74 }, // (Offset,Value)-Pair #8 - { 0x2B, 0x24 }, // (Offset,Value)-Pair #9 - { 0x2C, 0x10 }, // (Offset,Value)-Pair #10 - { 0x2D, 0xFF }, // (Offset,Value)-Pair #11 - { 0x2E, 0x74 }, // (Offset,Value)-Pair #12 - { 0x2F, 0x24 }, // (Offset,Value)-Pair #13 - { 0x30, 0x10 }, // (Offset,Value)-Pair #14 + { 0x29, 0xFF }, + { 0x2A, 0x74 }, + { 0x2B, 0x24 }, + { 0x2C, 0x10 }, + { 0x2D, 0xFF }, + { 0x2E, 0x74 }, + { 0x2F, 0x24 }, + { 0x30, 0x10 }, // CDirectSoundBuffer_SetMixBinVolumes+0x49 : pop edi - { 0x49, 0x5F }, // (Offset,Value)-Pair #15 + { 0x49, 0x5F }, // CDirectSoundBuffer_SetMixBinVolumes+0x4B : retn 0x08 - { 0x4B, 0xC2 }, // (Offset,Value)-Pair #16 - { 0x4C, 0x08 }, // (Offset,Value)-Pair #17 + { 0x4B, 0xC2 }, + { 0x4C, 0x08 }, OOVPA_END; // ****************************************************************** @@ -2695,26 +2695,26 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes2, 4134, 12, XRefOne) // IDirectSoundBuffer_SetMixBinVolumes2+0x15 : call [CDirectSoundBuffer::SetMixBinVolumes] - XREF_ENTRY( 0x15, XREF_DSSETMIXBINVOLUMESA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSSETMIXBINVOLUMESA ), // IDirectSoundBuffer_SetMixBinVolumes2+0x04 : push [esp+0x08] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x08 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, // IDirectSoundBuffer_SetMixBinVolumes2+0x0A : add eax, 0xFFFFFFE4 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x0C, 0xE4 }, // (Offset,Value)-Pair #8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, // IDirectSoundBuffer_SetMixBinVolumes2+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, // (Offset,Value)-Pair #9 - { 0x10, 0xC9 }, // (Offset,Value)-Pair #10 + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, // IDirectSoundBuffer_SetMixBinVolumes2+0x11 : and ecx, eax - { 0x11, 0x23 }, // (Offset,Value)-Pair #11 - { 0x12, 0xC8 }, // (Offset,Value)-Pair #12 + { 0x11, 0x23 }, + { 0x12, 0xC8 }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index e791b49cd..d83e902e5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -38,18 +38,18 @@ OOVPA_NO_XREF(DirectSoundGetSampleTime, 4361, 8) // DirectSoundGetSampleTime+0x00 : xor eax, eax - { 0x00, 0x33 }, // (Offset,Value)-Pair #1 - { 0x01, 0xC0 }, // (Offset,Value)-Pair #2 + { 0x00, 0x33 }, + { 0x01, 0xC0 }, // DirectSoundGetSampleTime+0x0A : mov eax, ds:0FE80200Ch - { 0x0A, 0xA1 }, // (Offset,Value)-Pair #3 - { 0x0B, 0x0C }, // (Offset,Value)-Pair #4 - { 0x0C, 0x20 }, // (Offset,Value)-Pair #5 - { 0x0D, 0x80 }, // (Offset,Value)-Pair #6 - { 0x0E, 0xFE }, // (Offset,Value)-Pair #7 + { 0x0A, 0xA1 }, + { 0x0B, 0x0C }, + { 0x0C, 0x20 }, + { 0x0D, 0x80 }, + { 0x0E, 0xFE }, // DirectSoundGetSampleTime+0x0F : retn - { 0x0F, 0xC3 }, // (Offset,Value)-Pair #8 + { 0x0F, 0xC3 }, OOVPA_END; #if 0 // Accurately CDirectSound_CreateSoundBuffer used 4134 @@ -59,19 +59,19 @@ OOVPA_END; OOVPA_NO_XREF(IDirectSound_CreateSoundBuffer, 4361, 9) // IDirectSound_CreateSoundBuffer+0x2A : push 0x24 - { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 - { 0x2B, 0x24 }, // (Offset,Value)-Pair #2 + { 0x2A, 0x6A }, + { 0x2B, 0x24 }, // IDirectSound_CreateSoundBuffer+0x3C : call [addr] - { 0x3C, 0xE8 }, // (Offset,Value)-Pair #3 + { 0x3C, 0xE8 }, // IDirectSound_CreateSoundBuffer+0x4A : and esi, 0x7FF8FFF2 - { 0x4A, 0x81 }, // (Offset,Value)-Pair #4 - { 0x4B, 0xE6 }, // (Offset,Value)-Pair #5 - { 0x4C, 0xF2 }, // (Offset,Value)-Pair #6 - { 0x4D, 0xFF }, // (Offset,Value)-Pair #7 - { 0x4E, 0xF8 }, // (Offset,Value)-Pair #8 - { 0x4F, 0x7F }, // (Offset,Value)-Pair #9 + { 0x4A, 0x81 }, + { 0x4B, 0xE6 }, + { 0x4C, 0xF2 }, + { 0x4D, 0xFF }, + { 0x4E, 0xF8 }, + { 0x4F, 0x7F }, OOVPA_END; #endif @@ -84,23 +84,23 @@ OOVPA_XREF(CMcpxStream_Pause, 4361, 11, XRefZero) // CMcpxStream_Pause+0x1E : or eax, 4 - { 0x1E, 0x83 }, // (Offset,Value)-Pair #1 - { 0x1F, 0xC8 }, // (Offset,Value)-Pair #2 - { 0x20, 0x04 }, // (Offset,Value)-Pair #3 + { 0x1E, 0x83 }, + { 0x1F, 0xC8 }, + { 0x20, 0x04 }, // CMcpxStream_Pause+0x21 : jmp +0x0D - { 0x21, 0xEB }, // (Offset,Value)-Pair #4 - { 0x22, 0x0D }, // (Offset,Value)-Pair #5 + { 0x21, 0xEB }, + { 0x22, 0x0D }, // CMcpxStream_Pause+0x29 : movzx eax, word ptr [esi+0x12] - { 0x29, 0x0F }, // (Offset,Value)-Pair #6 - { 0x2A, 0xB7 }, // (Offset,Value)-Pair #7 - { 0x2B, 0x46 }, // (Offset,Value)-Pair #8 - { 0x2C, 0x12 }, // (Offset,Value)-Pair #9 + { 0x29, 0x0F }, + { 0x2A, 0xB7 }, + { 0x2B, 0x46 }, + { 0x2C, 0x12 }, // CMcpxStream_Pause+0x44 : retn 0x04 - { 0x44, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x45, 0x04 }, // (Offset,Value)-Pair #11 + { 0x44, 0xC2 }, + { 0x45, 0x04 }, OOVPA_END; // ****************************************************************** @@ -112,23 +112,23 @@ OOVPA_XREF(CDirectSoundStream_Pause, 4361, 11, XRefOne) // CDirectSoundStream_Pause+0x35 : call [CMcpxStream::Pause] - XREF_ENTRY( 0x35, XREF_DSSTREAMPAUSE ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x35, XREF_DSSTREAMPAUSE ), // CDirectSoundStream_Pause+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 - { 0x22, 0x05 }, // (Offset,Value)-Pair #3 - { 0x23, 0x40 }, // (Offset,Value)-Pair #4 - { 0x24, 0x00 }, // (Offset,Value)-Pair #5 - { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSoundStream_Pause+0x2C : mov ecx, [eax+0x24] - { 0x2C, 0x8B }, // (Offset,Value)-Pair #7 - { 0x2D, 0x48 }, // (Offset,Value)-Pair #8 - { 0x2E, 0x24 }, // (Offset,Value)-Pair #9 + { 0x2C, 0x8B }, + { 0x2D, 0x48 }, + { 0x2E, 0x24 }, // CDirectSoundStream_Pause+0x4E : retn 0x08 - { 0x4E, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x4F, 0x08 }, // (Offset,Value)-Pair #11 + { 0x4E, 0xC2 }, + { 0x4F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -140,20 +140,20 @@ OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4361, 10, XRefZero) // CDirectSoundBuffer_SetPlayRegion+0x10 : movzx edi, al - { 0x10, 0x0F }, // (Offset,Value)-Pair #1 - { 0x11, 0xB6 }, // (Offset,Value)-Pair #2 - { 0x12, 0xF8 }, // (Offset,Value)-Pair #3 + { 0x10, 0x0F }, + { 0x11, 0xB6 }, + { 0x12, 0xF8 }, // CDirectSoundBuffer_SetPlayRegion+0x17 : jz +0x0B - { 0x17, 0x74 }, // (Offset,Value)-Pair #4 - { 0x18, 0x0B }, // (Offset,Value)-Pair #5 + { 0x17, 0x74 }, + { 0x18, 0x0B }, // CDirectSoundBuffer_SetPlayRegion+0x46 : mov esi, 0x88780032 - { 0x46, 0xBE }, // (Offset,Value)-Pair #6 - { 0x47, 0x32 }, // (Offset,Value)-Pair #7 - { 0x48, 0x00 }, // (Offset,Value)-Pair #8 - { 0x49, 0x78 }, // (Offset,Value)-Pair #9 - { 0x4A, 0x88 }, // (Offset,Value)-Pair #10 + { 0x46, 0xBE }, + { 0x47, 0x32 }, + { 0x48, 0x00 }, + { 0x49, 0x78 }, + { 0x4A, 0x88 }, OOVPA_END; // ****************************************************************** @@ -186,23 +186,23 @@ OOVPA_XREF(CMcpxBuffer_Play, 4361, 11, // CMcpxBuffer_Play+0x0E : cmp ebx, edi - { 0x0E, 0x3B }, // (Offset,Value)-Pair #1 - { 0x0F, 0xDF }, // (Offset,Value)-Pair #2 + { 0x0E, 0x3B }, + { 0x0F, 0xDF }, // CMcpxBuffer_Play+0x1C : jz +0x09 - { 0x1C, 0x74 }, // (Offset,Value)-Pair #3 - { 0x1D, 0x09 }, // (Offset,Value)-Pair #4 + { 0x1C, 0x74 }, + { 0x1D, 0x09 }, // CMcpxBuffer_Play+0x30 : test byte ptr [esi+0x12], 2 - { 0x30, 0xF6 }, // (Offset,Value)-Pair #5 - { 0x31, 0x46 }, // (Offset,Value)-Pair #6 - { 0x32, 0x12 }, // (Offset,Value)-Pair #7 - { 0x33, 0x02 }, // (Offset,Value)-Pair #8 + { 0x30, 0xF6 }, + { 0x31, 0x46 }, + { 0x32, 0x12 }, + { 0x33, 0x02 }, // CMcpxBuffer_Play+0x71 : call dword ptr [eax+0x18] - { 0x71, 0xFF }, // (Offset,Value)-Pair #9 - { 0x72, 0x50 }, // (Offset,Value)-Pair #10 - { 0x73, 0x18 }, // (Offset,Value)-Pair #11 + { 0x71, 0xFF }, + { 0x72, 0x50 }, + { 0x73, 0x18 }, OOVPA_END; // ****************************************************************** @@ -214,22 +214,22 @@ OOVPA_XREF(CDirectSoundBuffer_Play, 4361, 10, XRefOne) // CDirectSoundBuffer_Play+0x35 : call [CMcpxBuffer::Play] - XREF_ENTRY( 0x35, XREF_CMcpxBuffer_Play ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x35, XREF_CMcpxBuffer_Play ), // CDirectSoundBuffer_Play+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 - { 0x22, 0x05 }, // (Offset,Value)-Pair #3 - { 0x23, 0x40 }, // (Offset,Value)-Pair #4 - { 0x24, 0x00 }, // (Offset,Value)-Pair #5 - { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSoundBuffer_Play+0x3D : jz +0x0B - { 0x3D, 0x74 }, // (Offset,Value)-Pair #7 - { 0x3E, 0x0B }, // (Offset,Value)-Pair #8 + { 0x3D, 0x74 }, + { 0x3E, 0x0B }, // CDirectSoundBuffer_Play+0x4E : retn 0x10 - { 0x4E, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x4F, 0x10 }, // (Offset,Value)-Pair #10 + { 0x4E, 0xC2 }, + { 0x4F, 0x10 }, OOVPA_END; // ****************************************************************** @@ -241,21 +241,21 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 4361, 9, XRefOne) // IDirectSoundBuffer_Play+0x1D : call [CDirectSoundBuffer::Play] - XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_Play ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_Play ), // IDirectSoundBuffer_Play+0x0E : push [esp+0x10] - { 0x0E, 0xFF }, // (Offset,Value)-Pair #2 - { 0x0F, 0x74 }, // (Offset,Value)-Pair #3 - { 0x10, 0x24 }, // (Offset,Value)-Pair #4 - { 0x11, 0x10 }, // (Offset,Value)-Pair #5 + { 0x0E, 0xFF }, + { 0x0F, 0x74 }, + { 0x10, 0x24 }, + { 0x11, 0x10 }, // IDirectSoundBuffer_Play+0x17 : sbb ecx, ecx - { 0x17, 0x1B }, // (Offset,Value)-Pair #6 - { 0x18, 0xC9 }, // (Offset,Value)-Pair #7 + { 0x17, 0x1B }, + { 0x18, 0xC9 }, // IDirectSoundBuffer_Play+0x19 : and ecx, eax - { 0x19, 0x23 }, // (Offset,Value)-Pair #8 - { 0x1A, 0xC8 }, // (Offset,Value)-Pair #9 + { 0x19, 0x23 }, + { 0x1A, 0xC8 }, OOVPA_END; // ****************************************************************** @@ -267,19 +267,19 @@ OOVPA_XREF(CMcpxBuffer_Stop, 4361, 9, XRefZero) // CMcpxBuffer_Stop+0x0E : cmp al, 3 - { 0x0E, 0x3C }, // (Offset,Value)-Pair #1 - { 0x0F, 0x03 }, // (Offset,Value)-Pair #2 + { 0x0E, 0x3C }, + { 0x0F, 0x03 }, // CMcpxBuffer_Stop+0x17 : jz +0x2A - { 0x17, 0x74 }, // (Offset,Value)-Pair #3 - { 0x18, 0x2A }, // (Offset,Value)-Pair #4 + { 0x17, 0x74 }, + { 0x18, 0x2A }, // CMcpxBuffer_Stop+0x19 : test [esp+0Ch+arg_0], 2 - { 0x19, 0xF6 }, // (Offset,Value)-Pair #5 - { 0x1A, 0x44 }, // (Offset,Value)-Pair #6 - { 0x1B, 0x24 }, // (Offset,Value)-Pair #7 - { 0x1C, 0x10 }, // (Offset,Value)-Pair #8 - { 0x1D, 0x02 }, // (Offset,Value)-Pair #9 + { 0x19, 0xF6 }, + { 0x1A, 0x44 }, + { 0x1B, 0x24 }, + { 0x1C, 0x10 }, + { 0x1D, 0x02 }, OOVPA_END; // ****************************************************************** @@ -291,22 +291,22 @@ OOVPA_XREF(CDirectSoundBuffer_Stop, 4361, 10, XRefOne) // CDirectSoundBuffer_Stop+0x33 : call [CMcpxBuffer::Stop] - XREF_ENTRY( 0x33, XREF_CMcpxBuffer_Stop), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x33, XREF_CMcpxBuffer_Stop), // CDirectSoundBuffer_Stop+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #2 - { 0x22, 0x05 }, // (Offset,Value)-Pair #3 - { 0x23, 0x40 }, // (Offset,Value)-Pair #4 - { 0x24, 0x00 }, // (Offset,Value)-Pair #5 - { 0x25, 0x80 }, // (Offset,Value)-Pair #6 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSoundBuffer_Stop+0x3B : jz +0x0B - { 0x3B, 0x74 }, // (Offset,Value)-Pair #7 - { 0x3C, 0x0B }, // (Offset,Value)-Pair #8 + { 0x3B, 0x74 }, + { 0x3C, 0x0B }, // CDirectSoundBuffer_Stop+0x4C : retn 0x04 - { 0x4C, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x4D, 0x04 }, // (Offset,Value)-Pair #10 + { 0x4C, 0xC2 }, + { 0x4D, 0x04 }, OOVPA_END; // ****************************************************************** @@ -318,20 +318,20 @@ OOVPA_XREF(IDirectSoundBuffer_Stop, 4361, 8, XRefOne) // IDirectSoundBuffer_Stop+0x11 : call [CDirectSoundBuffer::Stop] - XREF_ENTRY( 0x11, XREF_CDirectSoundBuffer_Stop), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_CDirectSoundBuffer_Stop), // IDirectSoundBuffer_Stop+0x06 : and eax, 0xFFFFFFE4 - { 0x06, 0x83 }, // (Offset,Value)-Pair #2 - { 0x07, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x08, 0xE4 }, // (Offset,Value)-Pair #4 + { 0x06, 0x83 }, + { 0x07, 0xC0 }, + { 0x08, 0xE4 }, // IDirectSoundBuffer_Stop+0x0B : sbb ecx, ecx - { 0x0B, 0x1B }, // (Offset,Value)-Pair #5 - { 0x0C, 0xC9 }, // (Offset,Value)-Pair #6 + { 0x0B, 0x1B }, + { 0x0C, 0xC9 }, // IDirectSoundBuffer_Stop+0x0D : and ecx, eax - { 0x0D, 0x23 }, // (Offset,Value)-Pair #7 - { 0x0E, 0xC8 }, // (Offset,Value)-Pair #8 + { 0x0D, 0x23 }, + { 0x0E, 0xC8 }, OOVPA_END; #if 0 // Used 4134 diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index f6ed092b9..022a4e084 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -58,26 +58,26 @@ OOVPA_END; OOVPA_NO_XREF(IDirectSound_Release, 4432, 12) // IDirectSound_Release+0x04 : lea ecx, [eax-8] - { 0x04, 0x8D }, // (Offset,Value)-Pair #1 - { 0x05, 0x48 }, // (Offset,Value)-Pair #2 - { 0x06, 0xF8 }, // (Offset,Value)-Pair #3 + { 0x04, 0x8D }, + { 0x05, 0x48 }, + { 0x06, 0xF8 }, // IDirectSound_Release+0x07 : neg eax - { 0x07, 0xF7 }, // (Offset,Value)-Pair #4 - { 0x08, 0xD8 }, // (Offset,Value)-Pair #5 + { 0x07, 0xF7 }, + { 0x08, 0xD8 }, // IDirectSound_Release+0x09 : sbb eax, eax - { 0x09, 0x1B }, // (Offset,Value)-Pair #6 - { 0x0A, 0xC0 }, // (Offset,Value)-Pair #7 + { 0x09, 0x1B }, + { 0x0A, 0xC0 }, // IDirectSound_Release+0x0D : mov ecx, [eax] - { 0x0D, 0x8B }, // (Offset,Value)-Pair #8 - { 0x0E, 0x08 }, // (Offset,Value)-Pair #9 + { 0x0D, 0x8B }, + { 0x0E, 0x08 }, // IDirectSound_Release+0x10 : call dword ptr [ecx+8] - { 0x10, 0xFF }, // (Offset,Value)-Pair #10 - { 0x11, 0x51 }, // (Offset,Value)-Pair #11 - { 0x12, 0x08 }, // (Offset,Value)-Pair #12 + { 0x10, 0xFF }, + { 0x11, 0x51 }, + { 0x12, 0x08 }, OOVPA_END; #endif #if 0 // Used 4134 @@ -92,22 +92,22 @@ OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 4432, 10, XRefZero) // CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x1A - { 0x06, 0x75 }, // (Offset,Value)-Pair #1 - { 0x07, 0x1A }, // (Offset,Value)-Pair #2 + { 0x06, 0x75 }, + { 0x07, 0x1A }, // CDirectSoundVoiceSettings_SetMixBins+0x08 : test byte ptr [ecx+8], 0x10 - { 0x08, 0xF6 }, // (Offset,Value)-Pair #3 - { 0x09, 0x41 }, // (Offset,Value)-Pair #4 - { 0x0A, 0x08 }, // (Offset,Value)-Pair #5 - { 0x0B, 0x10 }, // (Offset,Value)-Pair #6 + { 0x08, 0xF6 }, + { 0x09, 0x41 }, + { 0x0A, 0x08 }, + { 0x0B, 0x10 }, // CDirectSoundVoiceSettings_SetMixBins+0x2B : jbe +0x2B - { 0x2B, 0x76 }, // (Offset,Value)-Pair #7 - { 0x2C, 0x2B }, // (Offset,Value)-Pair #8 + { 0x2B, 0x76 }, + { 0x2C, 0x2B }, // CDirectSoundVoiceSettings_SetMixBins+0xB2 : retn 0x04 - { 0xB2, 0xC2 }, // (Offset,Value)-Pair #9 - { 0xB3, 0x04 }, // (Offset,Value)-Pair #10 + { 0xB2, 0xC2 }, + { 0xB3, 0x04 }, OOVPA_END; #endif diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 20942588a..1c530c37e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -41,27 +41,27 @@ OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 4627, 15, XRefZero) // CDirectSound_SetMixBinHeadroom+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x22, 0x05 }, // (Offset,Value)-Pair #2 - { 0x23, 0x40 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 - { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSound_SetMixBinHeadroom+0x34 : mov bl, [esp+0x14] - { 0x34, 0x8A }, // (Offset,Value)-Pair #6 - { 0x35, 0x5C }, // (Offset,Value)-Pair #7 - { 0x36, 0x24 }, // (Offset,Value)-Pair #8 - { 0x37, 0x14 }, // (Offset,Value)-Pair #9 + { 0x34, 0x8A }, + { 0x35, 0x5C }, + { 0x36, 0x24 }, + { 0x37, 0x14 }, // CDirectSound_SetMixBinHeadroom+0x39 : mov [edx+ecx+0x14], bl - { 0x39, 0x88 }, // (Offset,Value)-Pair #10 - { 0x3A, 0x5C }, // (Offset,Value)-Pair #11 - { 0x3B, 0x0A }, // (Offset,Value)-Pair #12 - { 0x3C, 0x14 }, // (Offset,Value)-Pair #13 + { 0x39, 0x88 }, + { 0x3A, 0x5C }, + { 0x3B, 0x0A }, + { 0x3C, 0x14 }, // CDirectSound_SetMixBinHeadroom+0x5C : retn 0x0C - { 0x5C, 0xC2 }, // (Offset,Value)-Pair #14 - { 0x5D, 0x0C }, // (Offset,Value)-Pair #15 + { 0x5C, 0xC2 }, + { 0x5D, 0x0C }, OOVPA_END; // ****************************************************************** @@ -73,26 +73,26 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 4627, 12, XRefOne) // IDirectSound_SetMixBinHeadroom+0x19 : call [CDirectSound::SetMixBinHeadroom] - XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ), // IDirectSound_SetMixBinHeadroom+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, // (Offset,Value)-Pair #2 - { 0x05, 0x74 }, // (Offset,Value)-Pair #3 - { 0x06, 0x24 }, // (Offset,Value)-Pair #4 - { 0x07, 0x0C }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, // IDirectSound_SetMixBinHeadroom+0x0E : add eax, 0xFFFFFFF8 - { 0x0E, 0x83 }, // (Offset,Value)-Pair #6 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #7 - { 0x10, 0xF8 }, // (Offset,Value)-Pair #8 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xF8 }, // IDirectSound_SetMixBinHeadroom+0x13 : sbb ecx, ecx - { 0x13, 0x1B }, // (Offset,Value)-Pair #9 - { 0x14, 0xC9 }, // (Offset,Value)-Pair #10 + { 0x13, 0x1B }, + { 0x14, 0xC9 }, // IDirectSound_SetMixBinHeadroom+0x15 : and ecx, eax - { 0x15, 0x23 }, // (Offset,Value)-Pair #11 - { 0x16, 0xC8 }, // (Offset,Value)-Pair #12 + { 0x15, 0x23 }, + { 0x16, 0xC8 }, OOVPA_END; // ****************************************************************** @@ -104,27 +104,27 @@ OOVPA_XREF(CDirectSound_SetVelocity, 4627, 15, XRefZero) // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 - { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x25, 0x05 }, // (Offset,Value)-Pair #2 - { 0x26, 0x40 }, // (Offset,Value)-Pair #3 - { 0x27, 0x00 }, // (Offset,Value)-Pair #4 - { 0x28, 0x80 }, // (Offset,Value)-Pair #5 + { 0x24, 0xB8 }, + { 0x25, 0x05 }, + { 0x26, 0x40 }, + { 0x27, 0x00 }, + { 0x28, 0x80 }, // CDirectSound_SetVelocity+0x37 : mov [edx+0x44], edi - { 0x37, 0x89 }, // (Offset,Value)-Pair #6 - { 0x38, 0x7A }, // (Offset,Value)-Pair #7 - { 0x39, 0x44 }, // (Offset,Value)-Pair #8 + { 0x37, 0x89 }, + { 0x38, 0x7A }, + { 0x39, 0x44 }, // CDirectSound_SetVelocity+0x4C : or byte ptr [eax+0x0x00A4], 0x80 - { 0x4C, 0x80 }, // (Offset,Value)-Pair #9 - { 0x4D, 0x88 }, // (Offset,Value)-Pair #10 - { 0x4E, 0xA4 }, // (Offset,Value)-Pair #11 - { 0x4F, 0x00 }, // (Offset,Value)-Pair #12 - { 0x52, 0x80 }, // (Offset,Value)-Pair #13 + { 0x4C, 0x80 }, + { 0x4D, 0x88 }, + { 0x4E, 0xA4 }, + { 0x4F, 0x00 }, + { 0x52, 0x80 }, // CDirectSound_SetVelocity+0x73 : retn 0x14 - { 0x73, 0xC2 }, // (Offset,Value)-Pair #14 - { 0x74, 0x14 }, // (Offset,Value)-Pair #15 + { 0x73, 0xC2 }, + { 0x74, 0x14 }, OOVPA_END; // ****************************************************************** @@ -135,18 +135,18 @@ OOVPA_XREF(CDirectSound_SetAllParametersA, 4627, 10, XREF_DSSETALLPARAMETERSA, XRefZero) - { 0x16, 0x68 }, // (Offset,Value)-Pair #1 - { 0x17, 0xE8 }, // (Offset,Value)-Pair #2 - { 0x18, 0xF7 }, // (Offset,Value)-Pair #3 - { 0x19, 0x2D }, // (Offset,Value)-Pair #4 + { 0x16, 0x68 }, + { 0x17, 0xE8 }, + { 0x18, 0xF7 }, + { 0x19, 0x2D }, - { 0x2F, 0xD9 }, // (Offset,Value)-Pair #5 - { 0x30, 0x41 }, // (Offset,Value)-Pair #6 - { 0x31, 0x04 }, // (Offset,Value)-Pair #7 + { 0x2F, 0xD9 }, + { 0x30, 0x41 }, + { 0x31, 0x04 }, - { 0x87, 0x8B }, // (Offset,Value)-Pair #8 - { 0x88, 0x50 }, // (Offset,Value)-Pair #9 - { 0x89, 0x08 }, // (Offset,Value)-Pair #10 + { 0x87, 0x8B }, + { 0x88, 0x50 }, + { 0x89, 0x08 }, OOVPA_END; // ****************************************************************** @@ -157,18 +157,18 @@ OOVPA_XREF(CDirectSound_SetAllParametersA, 4721, 10, XREF_DSSETALLPARAMETERSA, XRefZero) - { 0x16, 0x68 }, // (Offset,Value)-Pair #1 - { 0x17, 0xD8 }, // (Offset,Value)-Pair #2 - { 0x18, 0x81 }, // (Offset,Value)-Pair #3 - { 0x19, 0x15 }, // (Offset,Value)-Pair #4 + { 0x16, 0x68 }, + { 0x17, 0xD8 }, + { 0x18, 0x81 }, + { 0x19, 0x15 }, - { 0x2F, 0xD9 }, // (Offset,Value)-Pair #5 - { 0x30, 0x41 }, // (Offset,Value)-Pair #6 - { 0x31, 0x04 }, // (Offset,Value)-Pair #7 + { 0x2F, 0xD9 }, + { 0x30, 0x41 }, + { 0x31, 0x04 }, - { 0x87, 0x8B }, // (Offset,Value)-Pair #8 - { 0x88, 0x50 }, // (Offset,Value)-Pair #9 - { 0x89, 0x08 }, // (Offset,Value)-Pair #10 + { 0x87, 0x8B }, + { 0x88, 0x50 }, + { 0x89, 0x08 }, OOVPA_END; // ****************************************************************** @@ -198,21 +198,21 @@ OOVPA_XREF(CDirectSound_SetPositionA, 4627, 11, XRefZero) // CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] - { 0x2B, 0x8B }, // (Offset,Value)-Pair #1 - { 0x2C, 0x4D }, // (Offset,Value)-Pair #2 - { 0x2D, 0x08 }, // (Offset,Value)-Pair #3 + { 0x2B, 0x8B }, + { 0x2C, 0x4D }, + { 0x2D, 0x08 }, // CDirectSound_SetPositionA+0x3F : mov [edx+0x3C], edi - { 0x3F, 0x89 }, // (Offset,Value)-Pair #4 - { 0x40, 0x7A }, // (Offset,Value)-Pair #5 - { 0x41, 0x3C }, // (Offset,Value)-Pair #6 + { 0x3F, 0x89 }, + { 0x40, 0x7A }, + { 0x41, 0x3C }, // CDirectSound_SetPositionA+0x4C : or word ptr [eax+0xA4], 0x01FF - { 0x4C, 0x66 }, // (Offset,Value)-Pair #7 - { 0x4D, 0x81 }, // (Offset,Value)-Pair #8 - { 0x4E, 0x88 }, // (Offset,Value)-Pair #9 - { 0x4F, 0xA4 }, // (Offset,Value)-Pair #10 - { 0x53, 0xFF }, // (Offset,Value)-Pair #11 + { 0x4C, 0x66 }, + { 0x4D, 0x81 }, + { 0x4E, 0x88 }, + { 0x4F, 0xA4 }, + { 0x53, 0xFF }, OOVPA_END; // ****************************************************************** @@ -224,26 +224,26 @@ OOVPA_XREF(DirectSoundCreateBuffer, 4242, 12, XRefOne) // DirectSoundCreateBuffer+0x2F : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY( 0x2F, XREF_DSCREATESOUNDBUFFER ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x2F, XREF_DSCREATESOUNDBUFFER ), // DirectSoundCreateBuffer+0x04 : and [ebp-0x04], 0 - { 0x04, 0x83 }, // (Offset,Value)-Pair #2 - { 0x05, 0x65 }, // (Offset,Value)-Pair #3 - { 0x06, 0xFC }, // (Offset,Value)-Pair #4 + { 0x04, 0x83 }, + { 0x05, 0x65 }, + { 0x06, 0xFC }, // DirectSoundCreateBuffer+0x08 : push ebx; push esi; push edi - { 0x08, 0x53 }, // (Offset,Value)-Pair #5 - { 0x09, 0x56 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x57 }, // (Offset,Value)-Pair #7 + { 0x08, 0x53 }, + { 0x09, 0x56 }, + { 0x0A, 0x57 }, // DirectSoundCreateBuffer+0x3C : call dword ptr [eax+8] - { 0x3C, 0xFF }, // (Offset,Value)-Pair #8 - { 0x3D, 0x50 }, // (Offset,Value)-Pair #9 - { 0x3E, 0x08 }, // (Offset,Value)-Pair #10 + { 0x3C, 0xFF }, + { 0x3D, 0x50 }, + { 0x3E, 0x08 }, // DirectSoundCreateBuffer+0x54 : retn 0x08 - { 0x54, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x55, 0x08 }, // (Offset,Value)-Pair #12 + { 0x54, 0xC2 }, + { 0x55, 0x08 }, OOVPA_END; // ****************************************************************** @@ -255,10 +255,10 @@ OOVPA_XREF(CMcpxBuffer_GetStatus, 4721, 17, XRefZero) // CMcpxBuffer_GetStatus+0x00 : movzx eax, word ptr [esi+0x12] - { 0x00, 0x0F }, // (Offset,Value)-Pair #5 - { 0x01, 0xB7 }, // (Offset,Value)-Pair #6 - { 0x02, 0x41 }, // (Offset,Value)-Pair #7 - { 0x03, 0x12 }, // (Offset,Value)-Pair #8 + { 0x00, 0x0F }, + { 0x01, 0xB7 }, + { 0x02, 0x41 }, + { 0x03, 0x12 }, { 0x07, 0xE1 }, { 0x10, 0x24 }, @@ -266,18 +266,18 @@ OOVPA_XREF(CMcpxBuffer_GetStatus, 4721, 17, { 0x22, 0x74 }, // CMcpxBuffer_GetStatus+0x27 : mov ecx, 0x8001 - { 0x27, 0xB9 }, // (Offset,Value)-Pair #3 - { 0x28, 0x01 }, // (Offset,Value)-Pair #4 - { 0x29, 0x80 }, // (Offset,Value)-Pair #4 - { 0x2A, 0x00 }, // (Offset,Value)-Pair #4 + { 0x27, 0xB9 }, + { 0x28, 0x01 }, + { 0x29, 0x80 }, + { 0x2A, 0x00 }, { 0x2B, 0x80 }, { 0x34, 0x24 }, // CMcpxBuffer_GetStatus+0x39 : mov [ecx], eax - { 0x39, 0x89 }, // (Offset,Value)-Pair #5 - { 0x3A, 0x01 }, // (Offset,Value)-Pair #6 + { 0x39, 0x89 }, + { 0x3A, 0x01 }, { 0x3D, 0x33 }, OOVPA_END; @@ -290,23 +290,23 @@ OOVPA_XREF(CMcpxBuffer_GetStatus, 4831, 13, XREF_CMcpxBuffer_GetStatus, XRefZero) - { 0x00, 0x0F }, // (Offset,Value)-Pair #1 + { 0x00, 0x0F }, - { 0x16, 0x6A }, // (Offset,Value)-Pair #2 - { 0x17, 0x00 }, // (Offset,Value)-Pair #3 - { 0x18, 0x5A }, // (Offset,Value)-Pair #4 + { 0x16, 0x6A }, + { 0x17, 0x00 }, + { 0x18, 0x5A }, - { 0x1C, 0x42 }, // (Offset,Value)-Pair #5 - { 0x1D, 0xF6 }, // (Offset,Value)-Pair #6 - { 0x1E, 0xC4 }, // (Offset,Value)-Pair #7 - { 0x1F, 0x02 }, // (Offset,Value)-Pair #8 + { 0x1C, 0x42 }, + { 0x1D, 0xF6 }, + { 0x1E, 0xC4 }, + { 0x1F, 0x02 }, - { 0x29, 0xB9 }, // (Offset,Value)-Pair #9 - { 0x2A, 0x01 }, // (Offset,Value)-Pair #10 - { 0x2B, 0x80 }, // (Offset,Value)-Pair #11 + { 0x29, 0xB9 }, + { 0x2A, 0x01 }, + { 0x2B, 0x80 }, - { 0x3F, 0xC2 }, // (Offset,Value)-Pair #12 - { 0x40, 0x04 }, // (Offset,Value)-Pair #13 + { 0x3F, 0xC2 }, + { 0x40, 0x04 }, OOVPA_END; // ****************************************************************** @@ -332,20 +332,20 @@ OOVPA_XREF(CMcpxBuffer_Play, 4721, 10, XRefZero) // CMcpxBuffer_Play+0x2E : test byte ptr [eax+9], 20h - { 0x2E, 0xF6 }, // (Offset,Value)-Pair #5 - { 0x2F, 0x40 }, // (Offset,Value)-Pair #6 - { 0x30, 0x09 }, // (Offset,Value)-Pair #7 - { 0x31, 0x20 }, // (Offset,Value)-Pair #8 + { 0x2E, 0xF6 }, + { 0x2F, 0x40 }, + { 0x30, 0x09 }, + { 0x31, 0x20 }, // CMcpxBuffer_Play+0x44 : test byte ptr [esi+12h], 2h - { 0x44, 0xF6 }, // (Offset,Value)-Pair #1 - { 0x45, 0x46 }, // (Offset,Value)-Pair #2 - { 0x46, 0x12 }, // (Offset,Value)-Pair #3 - { 0x47, 0x02 }, // (Offset,Value)-Pair #4 + { 0x44, 0xF6 }, + { 0x45, 0x46 }, + { 0x46, 0x12 }, + { 0x47, 0x02 }, // CMcpxBuffer_Play+0x52 : xor eax, eax - { 0x52, 0x33 }, // (Offset,Value)-Pair #9 - { 0x53, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x52, 0x33 }, + { 0x53, 0xC0 }, OOVPA_END; // ****************************************************************** @@ -357,20 +357,20 @@ OOVPA_XREF(CMcpxBuffer_Play, 4831, 10, XRefZero) // CMcpxBuffer_Play+0x32 : test byte ptr [esi+12h], 42h - { 0x32, 0xF6 }, // (Offset,Value)-Pair #1 - { 0x33, 0x46 }, // (Offset,Value)-Pair #2 - { 0x34, 0x12 }, // (Offset,Value)-Pair #3 - { 0x35, 0x42 }, // (Offset,Value)-Pair #4 + { 0x32, 0xF6 }, + { 0x33, 0x46 }, + { 0x34, 0x12 }, + { 0x35, 0x42 }, // CMcpxBuffer_Play+0x4D : test byte ptr [eax+9], 20h - { 0x4D, 0xF6 }, // (Offset,Value)-Pair #5 - { 0x4E, 0x40 }, // (Offset,Value)-Pair #6 - { 0x4F, 0x09 }, // (Offset,Value)-Pair #7 - { 0x50, 0x20 }, // (Offset,Value)-Pair #8 + { 0x4D, 0xF6 }, + { 0x4E, 0x40 }, + { 0x4F, 0x09 }, + { 0x50, 0x20 }, // CMcpxBuffer_Play+0x71 : xor eax, eax - { 0x71, 0x33 }, // (Offset,Value)-Pair #9 - { 0x72, 0xC0 }, // (Offset,Value)-Pair #10 + { 0x71, 0x33 }, + { 0x72, 0xC0 }, OOVPA_END; // ****************************************************************** @@ -387,31 +387,31 @@ OOVPA_XREF(CDirectSound_SetDistanceFactor, 4627, 17, XRefZero) // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x22, 0x05 }, // (Offset,Value)-Pair #2 - { 0x23, 0x40 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 - { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSound_SetDistanceFactor+0x33 : mov [eax+68h], edx - { 0x33, 0x89 }, // (Offset,Value)-Pair #6 - { 0x34, 0x50 }, // (Offset,Value)-Pair #7 - { 0x35, 0x68 }, // (Offset,Value)-Pair #8 + { 0x33, 0x89 }, + { 0x34, 0x50 }, + { 0x35, 0x68 }, // CDirectSound_SetDistanceFactor+0x36 : mov eax, [ecx+8] - { 0x36, 0x8B }, // (Offset,Value)-Pair #9 - { 0x37, 0x41 }, // (Offset,Value)-Pair #10 - { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + { 0x36, 0x8B }, + { 0x37, 0x41 }, + { 0x38, 0x08 }, // CDirectSound_SetDistanceFactor+0x39 : or byte ptr[eax+0xA4], 0xE0 - { 0x39, 0x80 }, // (Offset,Value)-Pair #12 - { 0x3A, 0x88 }, // (Offset,Value)-Pair #13 - { 0x3B, 0xA4 }, // (Offset,Value)-Pair #14 - { 0x3F, 0xE0 }, // (Offset,Value)-Pair #15 + { 0x39, 0x80 }, + { 0x3A, 0x88 }, + { 0x3B, 0xA4 }, + { 0x3F, 0xE0 }, // CDirectSound_SetDistanceFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, // (Offset,Value)-Pair #16 - { 0x50, 0x0B }, // (Offset,Value)-Pair #17 + { 0x4F, 0x74 }, + { 0x50, 0x0B }, OOVPA_END; // ****************************************************************** @@ -423,26 +423,26 @@ OOVPA_XREF(CDirectSound_SetDopplerFactor, 4627, 14, XRefZero) // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x22, 0x05 }, // (Offset,Value)-Pair #2 - { 0x23, 0x40 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 - { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x70], edx - { 0x33, 0x89 }, // (Offset,Value)-Pair #6 - { 0x34, 0x50 }, // (Offset,Value)-Pair #7 - { 0x35, 0x70 }, // (Offset,Value)-Pair #8 + { 0x33, 0x89 }, + { 0x34, 0x50 }, + { 0x35, 0x70 }, // CDirectSound_SetDopplerFactor+0x39 : or byte ptr[eax+0xA4], 0x80 - { 0x39, 0x80 }, // (Offset,Value)-Pair #9 - { 0x3A, 0x88 }, // (Offset,Value)-Pair #10 - { 0x3B, 0xA4 }, // (Offset,Value)-Pair #11 - { 0x3F, 0x80 }, // (Offset,Value)-Pair #12 + { 0x39, 0x80 }, + { 0x3A, 0x88 }, + { 0x3B, 0xA4 }, + { 0x3F, 0x80 }, // CDirectSound_SetDopplerFactor+0x4F : jz +0x0B - { 0x4F, 0x74 }, // (Offset,Value)-Pair #13 - { 0x50, 0x0B }, // (Offset,Value)-Pair #14 + { 0x4F, 0x74 }, + { 0x50, 0x0B }, OOVPA_END; // ****************************************************************** @@ -495,23 +495,23 @@ OOVPA_XREF(CMcpxStream_Pause, 4831, 11, XRefZero) // CMcpxStream_Pause+0x17 : and ax, 0xFFDF - { 0x17, 0x66 }, // (Offset,Value)-Pair #1 - { 0x18, 0x25 }, // (Offset,Value)-Pair #2 - { 0x19, 0xDF }, // (Offset,Value)-Pair #3 + { 0x17, 0x66 }, + { 0x18, 0x25 }, + { 0x19, 0xDF }, // CMcpxStream_Pause+0x32 : jmp +0x56 - { 0x32, 0xEB }, // (Offset,Value)-Pair #4 - { 0x33, 0x56 }, // (Offset,Value)-Pair #5 + { 0x32, 0xEB }, + { 0x33, 0x56 }, // CMcpxStream_Pause+0x39 : movzx eax, word ptr [esi+0x12] - { 0x39, 0x0F }, // (Offset,Value)-Pair #6 - { 0x3A, 0xB7 }, // (Offset,Value)-Pair #7 - { 0x3B, 0x46 }, // (Offset,Value)-Pair #8 - { 0x3C, 0x12 }, // (Offset,Value)-Pair #9 + { 0x39, 0x0F }, + { 0x3A, 0xB7 }, + { 0x3B, 0x46 }, + { 0x3C, 0x12 }, // CMcpxStream_Pause+0x8B : retn 0x04 - { 0x8B, 0xC2 }, // (Offset,Value)-Pair #10 - { 0x8C, 0x04 }, // (Offset,Value)-Pair #11 + { 0x8B, 0xC2 }, + { 0x8C, 0x04 }, OOVPA_END; // ****************************************************************** @@ -523,26 +523,26 @@ OOVPA_XREF(CDirectSound_EnableHeadphones, 4627, 15, XRefZero) // CDirectSound_EnableHeadphones+0x12 : movzx eax, al - { 0x12, 0x0F }, // (Offset,Value)-Pair #1 - { 0x13, 0xB6 }, // (Offset,Value)-Pair #2 - { 0x14, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x12, 0x0F }, + { 0x13, 0xB6 }, + { 0x14, 0xC0 }, // CDirectSound_EnableHeadphones+0x29 : mov eax, 0x80004005 - { 0x29, 0xB8 }, // (Offset,Value)-Pair #4 - { 0x2A, 0x05 }, // (Offset,Value)-Pair #5 - { 0x2B, 0x40 }, // (Offset,Value)-Pair #6 - { 0x2C, 0x00 }, // (Offset,Value)-Pair #7 - { 0x2D, 0x80 }, // (Offset,Value)-Pair #8 + { 0x29, 0xB8 }, + { 0x2A, 0x05 }, + { 0x2B, 0x40 }, + { 0x2C, 0x00 }, + { 0x2D, 0x80 }, // CDirectSound_EnableHeadphones+0x59 : and eax, 0x7FFFFFFF - { 0x59, 0x25 }, // (Offset,Value)-Pair #9 - { 0x5A, 0xFF }, // (Offset,Value)-Pair #10 - { 0x5B, 0xFF }, // (Offset,Value)-Pair #11 - { 0x5C, 0xFF }, // (Offset,Value)-Pair #12 - { 0x5D, 0x7F }, // (Offset,Value)-Pair #13 + { 0x59, 0x25 }, + { 0x5A, 0xFF }, + { 0x5B, 0xFF }, + { 0x5C, 0xFF }, + { 0x5D, 0x7F }, // CDirectSound_EnableHeadphones+0x97 : leave - //{ 0x97, 0xC9 }, // (Offset,Value)-Pair #14 + //{ 0x97, 0xC9 }, { 0x98, 0xC2 }, { 0x99, 0x08 }, OOVPA_END; @@ -626,18 +626,18 @@ OOVPA_XREF(CDirectSound_SetAllParametersA, 4831, 10, XREF_DSSETALLPARAMETERSA, XRefZero) - { 0x16, 0x68 }, // (Offset,Value)-Pair #1 - { 0x17, 0x08 }, // (Offset,Value)-Pair #2 - { 0x18, 0x6E }, // (Offset,Value)-Pair #3 - { 0x19, 0x18 }, // (Offset,Value)-Pair #4 + { 0x16, 0x68 }, + { 0x17, 0x08 }, + { 0x18, 0x6E }, + { 0x19, 0x18 }, - { 0x2F, 0xD9 }, // (Offset,Value)-Pair #5 - { 0x30, 0x41 }, // (Offset,Value)-Pair #6 - { 0x31, 0x04 }, // (Offset,Value)-Pair #7 + { 0x2F, 0xD9 }, + { 0x30, 0x41 }, + { 0x31, 0x04 }, - { 0x87, 0x8B }, // (Offset,Value)-Pair #8 - { 0x88, 0x50 }, // (Offset,Value)-Pair #9 - { 0x89, 0x08 }, // (Offset,Value)-Pair #10 + { 0x87, 0x8B }, + { 0x88, 0x50 }, + { 0x89, 0x08 }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 0ca734536..d329e9d32 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -40,14 +40,14 @@ OOVPA_XREF(CDirectSound_EnableHeadphones, 5233, 8, XREF_DSENABLEHEADPHONES, XRefZero) - { 0x16, 0x45 }, // (Offset,Value)-Pair #1 - { 0x1D, 0x0B }, // (Offset,Value)-Pair #2 - { 0x2A, 0x05 }, // (Offset,Value)-Pair #3 - { 0x46, 0x95 }, // (Offset,Value)-Pair #4 - { 0x56, 0x80 }, // (Offset,Value)-Pair #5 - { 0x5D, 0x7F }, // (Offset,Value)-Pair #6 - { 0x74, 0xA4 }, // (Offset,Value)-Pair #7 - { 0x99, 0x08 }, // (Offset,Value)-Pair #8 + { 0x16, 0x45 }, + { 0x1D, 0x0B }, + { 0x2A, 0x05 }, + { 0x46, 0x95 }, + { 0x56, 0x80 }, + { 0x5D, 0x7F }, + { 0x74, 0xA4 }, + { 0x99, 0x08 }, OOVPA_END; // ****************************************************************** @@ -58,20 +58,20 @@ OOVPA_XREF(IDirectSound_EnableHeadphones, 5233, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x15, XREF_DSENABLEHEADPHONES ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x15, XREF_DSENABLEHEADPHONES ), // IDirectSound_EnableHeadphones+0x0A : add eax, 0xFFFFFFF8 - { 0x0A, 0x83 }, // (Offset,Value)-Pair #2 - { 0x0B, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x0C, 0xF8 }, // (Offset,Value)-Pair #4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xF8 }, // IDirectSound_EnableHeadphones+0x0F : sbb ecx, ecx - { 0x0F, 0x1B }, // (Offset,Value)-Pair #5 - { 0x10, 0xC9 }, // (Offset,Value)-Pair #6 + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, // IDirectSound_EnableHeadphones+0x19 : retn 0x08 - { 0x19, 0xC2 }, // (Offset,Value)-Pair #7 - { 0x1A, 0x08 }, // (Offset,Value)-Pair #8 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, OOVPA_END; // ****************************************************************** @@ -82,25 +82,25 @@ OOVPA_XREF(CDirectSoundStream_FlushEx, 5233, 15, XREF_DSFLUSHEX2, XRefZero) - { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x25, 0x05 }, // (Offset,Value)-Pair #2 - { 0x26, 0x40 }, // (Offset,Value)-Pair #3 - { 0x27, 0x00 }, // (Offset,Value)-Pair #4 - { 0x28, 0x80 }, // (Offset,Value)-Pair #5 + { 0x24, 0xB8 }, + { 0x25, 0x05 }, + { 0x26, 0x40 }, + { 0x27, 0x00 }, + { 0x28, 0x80 }, - { 0x29, 0xEB }, // (Offset,Value)-Pair #6 - { 0x2A, 0x3A }, // (Offset,Value)-Pair #7 - { 0x2B, 0x83 }, // (Offset,Value)-Pair #8 - { 0x2C, 0x7D }, // (Offset,Value)-Pair #9 + { 0x29, 0xEB }, + { 0x2A, 0x3A }, + { 0x2B, 0x83 }, + { 0x2C, 0x7D }, - { 0x36, 0x74 }, // (Offset,Value)-Pair #10 - { 0x37, 0x12 }, // (Offset,Value)-Pair #11 + { 0x36, 0x74 }, + { 0x37, 0x12 }, - { 0x3E, 0xFF }, // (Offset,Value)-Pair #12 - { 0x40, 0x0C }, // (Offset,Value)-Pair #13 + { 0x3E, 0xFF }, + { 0x40, 0x0C }, - { 0x67, 0xC2 }, // (Offset,Value)-Pair #14 - { 0x68, 0x10 }, // (Offset,Value)-Pair #15 + { 0x67, 0xC2 }, + { 0x68, 0x10 }, OOVPA_END; #if 0 // Used 4627 @@ -112,19 +112,19 @@ OOVPA_XREF(IDirectSoundStream_FlushEx, 5233, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x11, XREF_DSFLUSHEX2 ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_DSFLUSHEX2 ), - { 0x00, 0xFF }, // (Offset,Value)-Pair #2 - { 0x03, 0x10 }, // (Offset,Value)-Pair #3 + { 0x00, 0xFF }, + { 0x03, 0x10 }, - { 0x04, 0xFF }, // (Offset,Value)-Pair #4 - { 0x07, 0x10 }, // (Offset,Value)-Pair #5 + { 0x04, 0xFF }, + { 0x07, 0x10 }, - { 0x08, 0xFF }, // (Offset,Value)-Pair #6 - { 0x0B, 0x10 }, // (Offset,Value)-Pair #7 + { 0x08, 0xFF }, + { 0x0B, 0x10 }, - { 0x15, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x16, 0x10 }, // (Offset,Value)-Pair #9 + { 0x15, 0xC2 }, + { 0x16, 0x10 }, OOVPA_END; #endif @@ -136,14 +136,14 @@ OOVPA_XREF(CMcpxAPU_SynchPlayback, 5233, 8, XREF_DSSYNCHPLAYBACKB, XRefZero) - { 0x0C, 0x74 }, // (Offset,Value)-Pair #1 - { 0x1A, 0x1A }, // (Offset,Value)-Pair #2 - { 0x25, 0x53 }, // (Offset,Value)-Pair #3 - { 0x37, 0xF2 }, // (Offset,Value)-Pair #4 - { 0x58, 0xBC }, // (Offset,Value)-Pair #5 - { 0x84, 0x43 }, // (Offset,Value)-Pair #6 - { 0x9E, 0x64 }, // (Offset,Value)-Pair #7 - { 0xFF, 0x00 }, // (Offset,Value)-Pair #8 + { 0x0C, 0x74 }, + { 0x1A, 0x1A }, + { 0x25, 0x53 }, + { 0x37, 0xF2 }, + { 0x58, 0xBC }, + { 0x84, 0x43 }, + { 0x9E, 0x64 }, + { 0xFF, 0x00 }, OOVPA_END; // ****************************************************************** @@ -154,22 +154,22 @@ OOVPA_XREF(CDirectSound_SynchPlayback, 5233, 10, XREF_DSSYNCHPLAYBACKA, XRefOne) - XREF_ENTRY( 0x08, XREF_DSSYNCHPLAYBACKB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x08, XREF_DSSYNCHPLAYBACKB ), // CDirectSound_SynchPlayback+0x00 : mov eax, [esp+0x04] - { 0x00, 0x8B }, // (Offset,Value)-Pair #2 - { 0x01, 0x44 }, // (Offset,Value)-Pair #3 - { 0x02, 0x24 }, // (Offset,Value)-Pair #4 - { 0x03, 0x04 }, // (Offset,Value)-Pair #5 + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, // CDirectSound_SynchPlayback+0x04 : mov ecx, [eax+0x0C] - { 0x04, 0x8B }, // (Offset,Value)-Pair #6 - { 0x05, 0x48 }, // (Offset,Value)-Pair #7 - { 0x06, 0x0C }, // (Offset,Value)-Pair #8 + { 0x04, 0x8B }, + { 0x05, 0x48 }, + { 0x06, 0x0C }, // CDirectSound_SynchPlayback+0x0C : retn 0x04 - { 0x0C, 0xC2 }, // (Offset,Value)-Pair #9 - { 0x0D, 0x04 }, // (Offset,Value)-Pair #10 + { 0x0C, 0xC2 }, + { 0x0D, 0x04 }, OOVPA_END; // ****************************************************************** @@ -180,20 +180,20 @@ OOVPA_XREF(IDirectSound_SynchPlayback, 5233, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x11, XREF_DSSYNCHPLAYBACKA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x11, XREF_DSSYNCHPLAYBACKA ), // IDirectSound_SynchPlayback+0x06 : add eax, 0xFFFFFFF8 - { 0x06, 0x83 }, // (Offset,Value)-Pair #2 - { 0x07, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x08, 0xF8 }, // (Offset,Value)-Pair #4 + { 0x06, 0x83 }, + { 0x07, 0xC0 }, + { 0x08, 0xF8 }, // IDirectSound_SynchPlayback+0x0B : sbb ecx, ecx - { 0x0B, 0x1B }, // (Offset,Value)-Pair #5 - { 0x0C, 0xC9 }, // (Offset,Value)-Pair #6 + { 0x0B, 0x1B }, + { 0x0C, 0xC9 }, // IDirectSound_SynchPlayback+0x15 : retn 0x04 - { 0x15, 0xC2 }, // (Offset,Value)-Pair #7 - { 0x16, 0x04 }, // (Offset,Value)-Pair #8 + { 0x15, 0xC2 }, + { 0x16, 0x04 }, OOVPA_END; // ****************************************************************** @@ -204,14 +204,14 @@ OOVPA_XREF(CDirectSoundVoice_SetMode, 5233, 8, XREF_DSBUFFERSETMODEB, XRefZero) - { 0x00, 0xF6 }, // (Offset,Value)-Pair #1 - { 0x07, 0x24 }, // (Offset,Value)-Pair #2 - { 0x0B, 0x10 }, // (Offset,Value)-Pair #3 - { 0x0E, 0xB4 }, // (Offset,Value)-Pair #4 - { 0x18, 0x3C }, // (Offset,Value)-Pair #5 - { 0x1A, 0x06 }, // (Offset,Value)-Pair #6 - { 0x21, 0x33 }, // (Offset,Value)-Pair #7 - { 0x24, 0x0C }, // (Offset,Value)-Pair #8 + { 0x00, 0xF6 }, + { 0x07, 0x24 }, + { 0x0B, 0x10 }, + { 0x0E, 0xB4 }, + { 0x18, 0x3C }, + { 0x1A, 0x06 }, + { 0x21, 0x33 }, + { 0x24, 0x0C }, OOVPA_END; // ****************************************************************** @@ -222,15 +222,15 @@ OOVPA_XREF(CDirectSoundBuffer_SetMode, 5233, 8, XREF_DSBUFFERSETMODEA, XRefOne) - XREF_ENTRY( 0x36, XREF_DSBUFFERSETMODEB ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x36, XREF_DSBUFFERSETMODEB ), - { 0x01, 0xE8 }, // (Offset,Value)-Pair #2 - { 0x15, 0x0B }, // (Offset,Value)-Pair #3 - { 0x22, 0x05 }, // (Offset,Value)-Pair #4 - { 0x27, 0x26 }, // (Offset,Value)-Pair #5 - { 0x34, 0x14 }, // (Offset,Value)-Pair #6 - { 0x3F, 0x0B }, // (Offset,Value)-Pair #7 - { 0x50, 0x0C }, // (Offset,Value)-Pair #8 + { 0x01, 0xE8 }, + { 0x15, 0x0B }, + { 0x22, 0x05 }, + { 0x27, 0x26 }, + { 0x34, 0x14 }, + { 0x3F, 0x0B }, + { 0x50, 0x0C }, OOVPA_END; // ****************************************************************** @@ -241,20 +241,20 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 5233, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x19, XREF_DSBUFFERSETMODEA ), // (Offset,Value)-Pair #1 + XREF_ENTRY( 0x19, XREF_DSBUFFERSETMODEA ), // IDirectSoundBuffer_SetMode+0x0E : add eax, 0xFFFFFFE4 - { 0x0E, 0x83 }, // (Offset,Value)-Pair #2 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #3 - { 0x10, 0xE4 }, // (Offset,Value)-Pair #4 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, // IDirectSoundBuffer_SetMode+0x13 : sbb ecx, ecx - { 0x13, 0x1B }, // (Offset,Value)-Pair #5 - { 0x14, 0xC9 }, // (Offset,Value)-Pair #6 + { 0x13, 0x1B }, + { 0x14, 0xC9 }, // IDirectSoundBuffer_SetMode+0x19 : retn 0x0C - { 0x1D, 0xC2 }, // (Offset,Value)-Pair #7 - { 0x1E, 0x0C }, // (Offset,Value)-Pair #8 + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 85cc83190..00f912522 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -333,31 +333,31 @@ OOVPA_XREF(CDirectSound_SetRolloffFactor, 5344, 17, XREF_SETROLLOFFFACTORA, XRefZero) // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x22, 0x05 }, // (Offset,Value)-Pair #2 - { 0x23, 0x40 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 - { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSound_SetRolloffFactor+0x33 : mov [eax+70h], edx - { 0x33, 0x89 }, // (Offset,Value)-Pair #6 - { 0x34, 0x50 }, // (Offset,Value)-Pair #7 - { 0x35, 0x70 }, // (Offset,Value)-Pair #8 + { 0x33, 0x89 }, + { 0x34, 0x50 }, + { 0x35, 0x70 }, // CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8] - { 0x36, 0x8B }, // (Offset,Value)-Pair #9 - { 0x37, 0x41 }, // (Offset,Value)-Pair #10 - { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + { 0x36, 0x8B }, + { 0x37, 0x41 }, + { 0x38, 0x08 }, // CDirectSound_SetRolloffFactor+0x39 : or dword ptr [eax+34h], 10h - { 0x39, 0x83 }, // (Offset,Value)-Pair #12 - { 0x3A, 0x48 }, // (Offset,Value)-Pair #13 - { 0x3B, 0x34 }, // (Offset,Value)-Pair #14 - { 0x3C, 0x10 }, // (Offset,Value)-Pair #15 + { 0x39, 0x83 }, + { 0x3A, 0x48 }, + { 0x3B, 0x34 }, + { 0x3C, 0x10 }, // CDirectSound_SetRolloffFactor+0x4C : jz +0x0B - { 0x4C, 0x74 }, // (Offset,Value)-Pair #16 - { 0x4D, 0x0B }, // (Offset,Value)-Pair #17 + { 0x4C, 0x74 }, + { 0x4D, 0x0B }, OOVPA_END; #if 0 // Used 4134 @@ -389,17 +389,17 @@ OOVPA_XREF(CDirectSoundVoice_SetMode, 5344, 11, XREF_DSBUFFERSETMODEB, XRefZero) - { 0x09, 0xB4 }, // (Offset,Value)-Pair #1 - { 0x10, 0x08 }, // (Offset,Value)-Pair #2 - { 0x13, 0x40 }, // (Offset,Value)-Pair #3 - { 0x14, 0x8B }, // (Offset,Value)-Pair #4 - { 0x15, 0x41 }, // (Offset,Value)-Pair #5 - { 0x18, 0x80 }, // (Offset,Value)-Pair #6 - { 0x19, 0xB4 }, // (Offset,Value)-Pair #7 - { 0x1D, 0x80 }, // (Offset,Value)-Pair #8 - { 0x1F, 0x02 }, // (Offset,Value)-Pair #9 - { 0x2E, 0x33 }, // (Offset,Value)-Pair #10 - { 0x31, 0x0C }, // (Offset,Value)-Pair #11 + { 0x09, 0xB4 }, + { 0x10, 0x08 }, + { 0x13, 0x40 }, + { 0x14, 0x8B }, + { 0x15, 0x41 }, + { 0x18, 0x80 }, + { 0x19, 0xB4 }, + { 0x1D, 0x80 }, + { 0x1F, 0x02 }, + { 0x2E, 0x33 }, + { 0x31, 0x0C }, OOVPA_END; // ****************************************************************** @@ -411,20 +411,20 @@ OOVPA_XREF(CDirectSound_SetPositionA, 5344, 10, XRefZero) // CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] - { 0x2B, 0x8B }, // (Offset,Value)-Pair #1 - { 0x2C, 0x4D }, // (Offset,Value)-Pair #2 - { 0x2D, 0x08 }, // (Offset,Value)-Pair #3 + { 0x2B, 0x8B }, + { 0x2C, 0x4D }, + { 0x2D, 0x08 }, // CDirectSound_SetPositionA+0x37 : mov [edx+0x3C], edi - { 0x37, 0x89 }, // (Offset,Value)-Pair #4 - { 0x38, 0x7A }, // (Offset,Value)-Pair #5 - { 0x39, 0x3C }, // (Offset,Value)-Pair #6 + { 0x37, 0x89 }, + { 0x38, 0x7A }, + { 0x39, 0x3C }, // CDirectSound_SetPositionA+0x4C : or dword ptr [eax+34h], 1 - { 0x4C, 0x83 }, // (Offset,Value)-Pair #7 - { 0x4D, 0x48 }, // (Offset,Value)-Pair #8 - { 0x4E, 0x34 }, // (Offset,Value)-Pair #9 - { 0x4F, 0x01 }, // (Offset,Value)-Pair #10 + { 0x4C, 0x83 }, + { 0x4D, 0x48 }, + { 0x4E, 0x34 }, + { 0x4F, 0x01 }, OOVPA_END; // ****************************************************************** @@ -436,26 +436,26 @@ OOVPA_XREF(CDirectSound_SetVelocity, 5344, 14, XRefZero) // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 - { 0x24, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x25, 0x05 }, // (Offset,Value)-Pair #2 - { 0x26, 0x40 }, // (Offset,Value)-Pair #3 - { 0x27, 0x00 }, // (Offset,Value)-Pair #4 - { 0x28, 0x80 }, // (Offset,Value)-Pair #5 + { 0x24, 0xB8 }, + { 0x25, 0x05 }, + { 0x26, 0x40 }, + { 0x27, 0x00 }, + { 0x28, 0x80 }, // CDirectSound_SetVelocity+0x37 : mov [edx+0x48], edi - { 0x37, 0x89 }, // (Offset,Value)-Pair #6 - { 0x38, 0x7A }, // (Offset,Value)-Pair #7 - { 0x39, 0x48 }, // (Offset,Value)-Pair #8 + { 0x37, 0x89 }, + { 0x38, 0x7A }, + { 0x39, 0x48 }, // CDirectSound_SetVelocity+0x4C : or dword ptr [eax+34h], 2 - { 0x4C, 0x83 }, // (Offset,Value)-Pair #9 - { 0x4D, 0x48 }, // (Offset,Value)-Pair #10 - { 0x4E, 0x34 }, // (Offset,Value)-Pair #11 - { 0x4F, 0x02 }, // (Offset,Value)-Pair #12 + { 0x4C, 0x83 }, + { 0x4D, 0x48 }, + { 0x4E, 0x34 }, + { 0x4F, 0x02 }, // CDirectSound_SetVelocity+0x70 : retn 0x14 - { 0x70, 0xC2 }, // (Offset,Value)-Pair #13 - { 0x71, 0x14 }, // (Offset,Value)-Pair #14 + { 0x70, 0xC2 }, + { 0x71, 0x14 }, OOVPA_END; // ****************************************************************** @@ -572,23 +572,23 @@ OOVPA_END; OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 5344, 11) // CDirectSound_CommitDeferredSettings+0x11 : movzx eax, al - { 0x11, 0x0F }, // (Offset,Value)-Pair #1 - { 0x12, 0xB6 }, // (Offset,Value)-Pair #2 - { 0x13, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x11, 0x0F }, + { 0x12, 0xB6 }, + { 0x13, 0xC0 }, // CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005 - { 0x28, 0xB8 }, // (Offset,Value)-Pair #4 - { 0x29, 0x05 }, // (Offset,Value)-Pair #5 - { 0x2A, 0x40 }, // (Offset,Value)-Pair #6 - { 0x2C, 0x80 }, // (Offset,Value)-Pair #7 + { 0x28, 0xB8 }, + { 0x29, 0x05 }, + { 0x2A, 0x40 }, + { 0x2C, 0x80 }, // CDirectSound_CommitDeferredSettings+0x6D : mov [eax+0x34], edi - { 0x6E, 0x89 }, // (Offset,Value)-Pair #8 - { 0x6F, 0x78 }, // (Offset,Value)-Pair #9 - { 0x70, 0x34 }, // (Offset,Value)-Pair #10 + { 0x6E, 0x89 }, + { 0x6F, 0x78 }, + { 0x70, 0x34 }, // CDirectSound_CommitDeferredSettings+0x97 : leave - { 0x97, 0xC9 }, // (Offset,Value)-Pair #11 + { 0x97, 0xC9 }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 707f78c5c..e3e472149 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -54,23 +54,23 @@ OOVPA_END; OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 5558, 11) // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al - { 0x10, 0x0F }, // (Offset,Value)-Pair #1 - { 0x11, 0xB6 }, // (Offset,Value)-Pair #2 - { 0x12, 0xC0 }, // (Offset,Value)-Pair #3 + { 0x10, 0x0F }, + { 0x11, 0xB6 }, + { 0x12, 0xC0 }, // CDirectSound_CommitDeferredSettings+0x27 : mov eax, 0x80004005 - { 0x27, 0xB8 }, // (Offset,Value)-Pair #4 - { 0x28, 0x05 }, // (Offset,Value)-Pair #5 - { 0x29, 0x40 }, // (Offset,Value)-Pair #6 - { 0x2B, 0x80 }, // (Offset,Value)-Pair #7 + { 0x27, 0xB8 }, + { 0x28, 0x05 }, + { 0x29, 0x40 }, + { 0x2B, 0x80 }, // CDirectSound_CommitDeferredSettings+0x6D : mov [eax+0x30], edi - { 0x6D, 0x89 }, // (Offset,Value)-Pair #8 - { 0x6E, 0x78 }, // (Offset,Value)-Pair #9 - { 0x6F, 0x30 }, // (Offset,Value)-Pair #10 + { 0x6D, 0x89 }, + { 0x6E, 0x78 }, + { 0x6F, 0x30 }, // CDirectSound_CommitDeferredSettings+0x96 : leave - { 0x96, 0xC9 }, // (Offset,Value)-Pair #11 + { 0x96, 0xC9 }, OOVPA_END; // ****************************************************************** @@ -82,31 +82,31 @@ OOVPA_XREF(CDirectSound_SetDistanceFactor, 5558, 17, XRefZero) // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x22, 0x05 }, // (Offset,Value)-Pair #2 - { 0x23, 0x40 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 - { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSound_SetDistanceFactor+0x33 : mov [eax+68h], edx - { 0x33, 0x89 }, // (Offset,Value)-Pair #6 - { 0x34, 0x50 }, // (Offset,Value)-Pair #7 - { 0x35, 0x68 }, // (Offset,Value)-Pair #8 + { 0x33, 0x89 }, + { 0x34, 0x50 }, + { 0x35, 0x68 }, // CDirectSound_SetDistanceFactor+0x36 : mov eax, [ecx+8] - { 0x36, 0x8B }, // (Offset,Value)-Pair #9 - { 0x37, 0x41 }, // (Offset,Value)-Pair #10 - { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + { 0x36, 0x8B }, + { 0x37, 0x41 }, + { 0x38, 0x08 }, // CDirectSound_SetDistanceFactor+0x39 : or dword ptr[eax+0x30], 0x08 - { 0x39, 0x83 }, // (Offset,Value)-Pair #12 - { 0x3A, 0x48 }, // (Offset,Value)-Pair #13 - { 0x3B, 0x30 }, // (Offset,Value)-Pair #14 - { 0x3C, 0x08 }, // (Offset,Value)-Pair #15 + { 0x39, 0x83 }, + { 0x3A, 0x48 }, + { 0x3B, 0x30 }, + { 0x3C, 0x08 }, // CDirectSound_SetDistanceFactor+0x4C : jz +0x0B - { 0x4C, 0x74 }, // (Offset,Value)-Pair #16 - { 0x4D, 0x0B }, // (Offset,Value)-Pair #17 + { 0x4C, 0x74 }, + { 0x4D, 0x0B }, OOVPA_END; // ****************************************************************** @@ -118,31 +118,31 @@ OOVPA_XREF(CDirectSound_SetRolloffFactor, 5558, 17, XRefZero) // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x22, 0x05 }, // (Offset,Value)-Pair #2 - { 0x23, 0x40 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 - { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSound_SetRolloffFactor+0x33 : mov [eax+6Ch], edx - { 0x33, 0x89 }, // (Offset,Value)-Pair #6 - { 0x34, 0x50 }, // (Offset,Value)-Pair #7 - { 0x35, 0x6C }, // (Offset,Value)-Pair #8 + { 0x33, 0x89 }, + { 0x34, 0x50 }, + { 0x35, 0x6C }, // CDirectSound_SetRolloffFactor+0x36 : mov eax, [ecx+8] - { 0x36, 0x8B }, // (Offset,Value)-Pair #9 - { 0x37, 0x41 }, // (Offset,Value)-Pair #10 - { 0x38, 0x08 }, // (Offset,Value)-Pair #11 + { 0x36, 0x8B }, + { 0x37, 0x41 }, + { 0x38, 0x08 }, // CDirectSound_SetRolloffFactor+0x39 : or dword ptr[eax+0x30], 0x10 - { 0x39, 0x83 }, // (Offset,Value)-Pair #12 - { 0x3A, 0x48 }, // (Offset,Value)-Pair #13 - { 0x3B, 0x30 }, // (Offset,Value)-Pair #14 - { 0x3C, 0x10 }, // (Offset,Value)-Pair #15 + { 0x39, 0x83 }, + { 0x3A, 0x48 }, + { 0x3B, 0x30 }, + { 0x3C, 0x10 }, // CDirectSound_SetRolloffFactor+0x4C : jz +0x0B - { 0x4C, 0x74 }, // (Offset,Value)-Pair #16 - { 0x4D, 0x0B }, // (Offset,Value)-Pair #17 + { 0x4C, 0x74 }, + { 0x4D, 0x0B }, OOVPA_END; // ****************************************************************** @@ -154,26 +154,26 @@ OOVPA_XREF(CDirectSound_SetDopplerFactor, 5558, 14, XRefZero) // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, // (Offset,Value)-Pair #1 - { 0x22, 0x05 }, // (Offset,Value)-Pair #2 - { 0x23, 0x40 }, // (Offset,Value)-Pair #3 - { 0x24, 0x00 }, // (Offset,Value)-Pair #4 - { 0x25, 0x80 }, // (Offset,Value)-Pair #5 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, // CDirectSound_SetDopplerFactor+0x33 : mov [eax+0x70], edx - { 0x33, 0x89 }, // (Offset,Value)-Pair #6 - { 0x34, 0x50 }, // (Offset,Value)-Pair #7 - { 0x35, 0x70 }, // (Offset,Value)-Pair #8 + { 0x33, 0x89 }, + { 0x34, 0x50 }, + { 0x35, 0x70 }, // CDirectSound_SetDopplerFactor+0x39 : or dword ptr[eax+0x30], 0x20 - { 0x39, 0x83 }, // (Offset,Value)-Pair #9 - { 0x3A, 0x48 }, // (Offset,Value)-Pair #10 - { 0x3B, 0x30 }, // (Offset,Value)-Pair #11 - { 0x3C, 0x20 }, // (Offset,Value)-Pair #12 + { 0x39, 0x83 }, + { 0x3A, 0x48 }, + { 0x3B, 0x30 }, + { 0x3C, 0x20 }, // CDirectSound_SetDopplerFactor+0x4C : jz +0x0B - { 0x4C, 0x74 }, // (Offset,Value)-Pair #13 - { 0x4D, 0x0B }, // (Offset,Value)-Pair #14 + { 0x4C, 0x74 }, + { 0x4D, 0x0B }, OOVPA_END; // ****************************************************************** @@ -556,23 +556,23 @@ OOVPA_XREF(CMcpxBuffer_GetStatus, 5558, 11, XRefZero) // CMcpxBuffer_GetStatus+0x04 : mov ecx, eax - { 0x04, 0x8B }, // (Offset,Value)-Pair #1 - { 0x05, 0xC8 }, // (Offset,Value)-Pair #2 + { 0x04, 0x8B }, + { 0x05, 0xC8 }, // CMcpxBuffer_GetStatus+0x0C : jnz +0x1B - { 0x0C, 0x75 }, // (Offset,Value)-Pair #3 - { 0x0D, 0x1B }, // (Offset,Value)-Pair #4 + { 0x0C, 0x75 }, + { 0x0D, 0x1B }, // CMcpxBuffer_GetStatus+0x12 : test ax, 0x444 - { 0x12, 0x66 }, // (Offset,Value)-Pair #5 - { 0x13, 0xA9 }, // (Offset,Value)-Pair #6 - { 0x14, 0x44 }, // (Offset,Value)-Pair #7 + { 0x12, 0x66 }, + { 0x13, 0xA9 }, + { 0x14, 0x44 }, // CMcpxBuffer_GetStatus+0x29 : mov ecx, 0x8001 - { 0x29, 0xB9 }, // (Offset,Value)-Pair #8 - { 0x2A, 0x01 }, // (Offset,Value)-Pair #9 - { 0x2B, 0x80 }, // (Offset,Value)-Pair #10 - { 0x2C, 0x00 }, // (Offset,Value)-Pair #11 + { 0x29, 0xB9 }, + { 0x2A, 0x01 }, + { 0x2B, 0x80 }, + { 0x2C, 0x00 }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index f034f882a..7e42cc0ba 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -41,21 +41,21 @@ OOVPA_XREF(CMcpxBuffer_SetBufferData, 5788, 9, XRefZero) // CMcpxBuffer_SetBufferData+0x1E : cmp eax, ebx - { 0x1E, 0x3B }, // (Offset,Value)-Pair #1 - { 0x1F, 0xC3 }, // (Offset,Value)-Pair #2 + { 0x1E, 0x3B }, + { 0x1F, 0xC3 }, // CMcpxBuffer_SetBufferData+0x20 : jz +0x0C - { 0x20, 0x74 }, // (Offset,Value)-Pair #3 - { 0x21, 0x0C }, // (Offset,Value)-Pair #4 + { 0x20, 0x74 }, + { 0x21, 0x0C }, // CMcpxBuffer_SetBufferData+0x45 : mov [esi+0xBC], ecx - { 0x45, 0x89 }, // (Offset,Value)-Pair #5 - { 0x46, 0x8E }, // (Offset,Value)-Pair #6 - { 0x47, 0xBC }, // (Offset,Value)-Pair #7 + { 0x45, 0x89 }, + { 0x46, 0x8E }, + { 0x47, 0xBC }, // CMcpxBuffer_SetBufferData+0x89 : retn 0x08 - { 0x89, 0xC2 }, // (Offset,Value)-Pair #8 - { 0x8A, 0x08 }, // (Offset,Value)-Pair #9 + { 0x89, 0xC2 }, + { 0x8A, 0x08 }, OOVPA_END; #if 0 // Used CMcpxBuffer_Play 4831 // ****************************************************************** From e7e418f598f8a7dd425e2407cf183c9278402c46 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 4 Sep 2017 14:05:02 -0500 Subject: [PATCH 035/146] Generic DirectSoundBuffer_Stop OOVPAs - 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 --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 38 +++++---- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 34 +++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 88 +++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 19 +++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 7 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 7 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 7 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 7 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 8 +- 13 files changed, 190 insertions(+), 51 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index a4d37f0ac..93a7ca3b3 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -514,6 +514,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetVolume // ****************************************************************** +//TODO: IDirectSoundBuffer_SetVolume is compatible down to 3911, except XREF is CDirectSoundVoice_SetVolume. OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3936, 10, XRefNoSaveIndex, @@ -1147,7 +1148,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer_Stop // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Stop, 3936, 12, +OOVPA_XREF(CDirectSoundBuffer_Stop, 3911, 12, XREF_CDirectSoundBuffer_Stop, XRefZero) @@ -1174,7 +1175,8 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_Stop // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_Stop, 3936, 8, +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_Stop, 3911, 12, XRefNoSaveIndex, XRefOne) @@ -1182,18 +1184,24 @@ OOVPA_XREF(IDirectSoundBuffer_Stop, 3936, 8, // IDirectSoundBuffer_Stop+0x11 : call [CDirectSoundBuffer::Stop] XREF_ENTRY( 0x11, XREF_CDirectSoundBuffer_Stop ), - // IDirectSoundBuffer_Stop+0x06 : and eax, 0xFFFFFFE4 + // IDirectSoundBuffer_Stop+0x00 : mov eax, [esp+arg_0] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // IDirectSoundBuffer_Stop+0x04 : mov ecx, eax + { 0x04, 0x8B }, + { 0x05, 0xC8 }, + + // IDirectSoundBuffer_Stop+0x06 : add eax, 0x0FFFFFFE4 { 0x06, 0x83 }, { 0x07, 0xC0 }, { 0x08, 0xE4 }, - // IDirectSoundBuffer_Stop+0x0B : sbb ecx, ecx - { 0x0B, 0x1B }, - { 0x0C, 0xC9 }, - - // IDirectSoundBuffer_Stop+0x0D : and ecx, eax - { 0x0D, 0x23 }, - { 0x0E, 0xC8 }, + // IDirectSoundBuffer_Stop+0x15 : retn 4 + { 0x16, 0x04 }, + { 0x17, 0x00 }, OOVPA_END; // ****************************************************************** @@ -4059,7 +4067,9 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer::SetLoopRegion // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 3936, 9, +//Generic OOVPA as of 3911 and newer. +//TODO: Need to make CDirectSoundBuffer_SetLoopRegion OOVPA for 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 3911, 9, XRefNoSaveIndex, XRefOne) @@ -4121,8 +4131,8 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxBuffer_Play, 3925, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_Stop, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeAnglesB, 3936, XREF), @@ -4232,7 +4242,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), // TODO Added CDirectSoundBuffer_SetLoopRegion + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), // TODO: Add CDirectSoundBuffer_SetLoopRegion before 3935-ish }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 467811389..ae1f4e796 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -644,7 +644,39 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4039, 12, { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; -#if 0 // No longer used, replaced by generic 3936 version + +// ****************************************************************** +// * CDirectSoundBuffer_Stop +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_Stop, 4039, 12, + + XREF_CDirectSoundBuffer_Stop, + XRefZero) + + // CDirectSoundBuffer_Stop+0x33 : call [CMcpxBuffer::Stop] + //XREF_ENTRY( 0x30, XREF_CMcpxBuffer_Stop), //TODO: is this CMcpxBuffer::Stop or something else? + + // CDirectSoundBuffer_Stop+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_Stop+0x2B : mov ecx,[eax+20] + { 0x2B, 0x8B }, + { 0x2C, 0x48 }, + { 0x2D, 0x20 }, + + // CDirectSoundBuffer_Stop+0x38 : jz +0x0B + { 0x38, 0x74 }, + { 0x39, 0x0B }, + + // CDirectSoundBuffer_Stop+0x49 : retn 0x04 + { 0x49, 0xC2 }, + { 0x4A, 0x04 }, +OOVPA_END; +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * IDirectSoundBuffer_Stop // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index b6f691af6..007cff46b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2787,6 +2787,88 @@ OOVPA_XREF(IDirectSound_SetEffectData, 4134, 13, { 0x28, 0x18 }, OOVPA_END; +// ****************************************************************** +// * CMcpxBuffer_Stop +// ****************************************************************** +OOVPA_XREF(CMcpxBuffer_Stop, 4134, 9, + + XREF_CMcpxBuffer_Stop, + XRefZero) + + // CMcpxBuffer_Stop+0x0B : cmp al, 3 + { 0x0B, 0x3C }, + { 0x0C, 0x03 }, + + // CMcpxBuffer_Stop+0x1A : jne +0x59 + { 0x1A, 0x75 }, + { 0x1B, 0x59 }, + + // CMcpxBuffer_Stop+0x1C : test [esp+0Ch], 2 + { 0x1C, 0xF6 }, + { 0x1D, 0x44 }, + { 0x1E, 0x24 }, + { 0x1F, 0x0C }, + { 0x20, 0x02 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxBuffer_Stop +// ****************************************************************** +//Generic OOVPA as of 4242 and newer. +OOVPA_XREF(CMcpxBuffer_Stop, 4242, 9, + + XREF_CMcpxBuffer_Stop, + XRefZero) + + // CMcpxBuffer_Stop+0x0E : cmp al, 3 + { 0x0E, 0x3C }, + { 0x0F, 0x03 }, + + // CMcpxBuffer_Stop+0x17 : jne +0x2A + { 0x17, 0x74 }, + { 0x18, 0x2A }, + + // CMcpxBuffer_Stop+0x19 : test [esp+10h], 2 + { 0x19, 0xF6 }, + { 0x1A, 0x44 }, + { 0x1B, 0x24 }, + { 0x1C, 0x10 }, + { 0x1D, 0x02 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_Stop +// ****************************************************************** +//Generic OOVPA as of 4134 and newer. +OOVPA_XREF(CDirectSoundBuffer_Stop, 4134, 13, + + XREF_CDirectSoundBuffer_Stop, + XRefOne) + + // CDirectSoundBuffer_Stop+0x33 : call [CMcpxBuffer::Stop] + XREF_ENTRY( 0x33, XREF_CMcpxBuffer_Stop), + + // CDirectSoundBuffer_Stop+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_Stop+0x2C : mov ecx,[eax+20] + { 0x2C, 0x8B }, + { 0x2D, 0x48 }, + { 0x2E, 0x20 }, + + // CDirectSoundBuffer_Stop+0x3B : jz +0x0B + { 0x3B, 0x74 }, + { 0x3C, 0x0B }, + + // CDirectSoundBuffer_Stop+0x4C : retn 0x04 + { 0x4C, 0xC2 }, + { 0x4D, 0x04 }, +OOVPA_END; + // ****************************************************************** // * Direct, 4134 // ****************************************************************** @@ -2799,7 +2881,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4134, XREF), @@ -2890,7 +2972,9 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), + REGISTER_OOVPA(CMcpxBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index d83e902e5..699f82c69 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -257,10 +257,11 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 4361, 9, { 0x19, 0x23 }, { 0x1A, 0xC8 }, OOVPA_END; - +#if 0 //Moved to 4242 // ****************************************************************** // * CMcpxBuffer_Stop // ****************************************************************** + OOVPA_XREF(CMcpxBuffer_Stop, 4361, 9, XREF_CMcpxBuffer_Stop, @@ -281,7 +282,8 @@ OOVPA_XREF(CMcpxBuffer_Stop, 4361, 9, { 0x1C, 0x10 }, { 0x1D, 0x02 }, OOVPA_END; - +#endif +#if 0 //Moved to 4134 // ****************************************************************** // * CDirectSoundBuffer_Stop // ****************************************************************** @@ -308,7 +310,8 @@ OOVPA_XREF(CDirectSoundBuffer_Stop, 4361, 10, { 0x4C, 0xC2 }, { 0x4D, 0x04 }, OOVPA_END; - +#endif +#if 0 //Using generic 3911 // ****************************************************************** // * IDirectSoundBuffer_Stop // ****************************************************************** @@ -333,7 +336,7 @@ OOVPA_XREF(IDirectSoundBuffer_Stop, 4361, 8, { 0x0D, 0x23 }, { 0x0E, 0xC8 }, OOVPA_END; - +#endif #if 0 // Used 4134 // ****************************************************************** // * DirectSound::CDirectSoundVoiceSettings::SetMixBinVolumes @@ -755,7 +758,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), @@ -769,10 +772,10 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF), + REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 022a4e084..850a1626c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -130,16 +130,16 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 4361, PATCH), + REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 1c530c37e..44cd35946 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1471,7 +1471,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), @@ -1581,7 +1581,9 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), + REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), @@ -1621,7 +1623,6 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index aec69264e..a72c8957e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -59,7 +59,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), @@ -177,7 +177,9 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), + REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), @@ -217,7 +219,6 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index d329e9d32..a660e65fd 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -449,7 +449,9 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), + REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using) REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), @@ -463,7 +465,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 00f912522..f98cfac62 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -959,7 +959,9 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), + REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), @@ -979,7 +981,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // Was 4134 REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index e3e472149..2cce12df2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1675,7 +1675,9 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 5558, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), + REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), @@ -1703,7 +1705,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 7e42cc0ba..0ce75010b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -590,11 +590,12 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 5788, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), - REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) + REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), @@ -637,7 +638,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5788, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index fbc5c4ecc..06c2a6d74 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -131,11 +131,12 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 5788, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), - REGISTER_OOVPA(CMcpxBuffer_Stop, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3936, PATCH), // (Possibly weak, but quite OK for 4627 DSOUND) + REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), @@ -160,7 +161,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5849, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index e5674afe3..6b1a9eba5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -89,7 +89,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffFactor, XREF, 4134, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetVolume, XREF, 4039, 4134, 5233), - REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3936, 4361), + REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), @@ -210,7 +210,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788), REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 4134, 5558, 5788), - REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 4361), + REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 4134, 4242), REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 4361, 4831, 5788), REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3936), @@ -261,7 +261,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroomA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 4134, 5344, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3936, 4134, 5558), @@ -282,7 +282,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3936, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeB, XREF, 3936), - REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3936, 4361), + REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), From d145edd1be14a189282750de389a912fa860c834 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 4 Sep 2017 23:23:48 -0500 Subject: [PATCH 036/146] Introduce DSound 3911 database. --- build/win32/Cxbx.vcxproj.filters | 3 + src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 278 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 99 +------ src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 32 +++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 13 +- 15 files changed, 342 insertions(+), 109 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index f65f88b12..c5e7898aa 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -635,6 +635,9 @@ HLEDatabase\DSound + + HLEDatabase\DSound + HLEDatabase\DSound diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl new file mode 100644 index 000000000..1e9fc34f0 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -0,0 +1,278 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.3911.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 RadWolfie +// * +// * All rights reserved +// * +// ****************************************************************** + + +// ****************************************************************** +// * IDirectSound_CreateSoundBuffer +// ****************************************************************** +//TODO: Need to make CDirectSound_CreateSoundBuffer OOVPA for 3911 and newer. +OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3911, 12, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSound_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] + XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDBUFFER ), + + // IDirectSound_CreateSoundBuffer+0x04 : mov eax, [esp+8] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSound_CreateSoundBuffer+0x12 : add eax, 0xFFFFFFF8 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, + + // IDirectSound_CreateSoundBuffer+0x17 : sbb ecx, ecx + { 0x17, 0x1B }, + { 0x18, 0xC9 }, + + // IDirectSound_CreateSoundBuffer+0x21 : retn 0x10 + { 0x21, 0xC2 }, + { 0x22, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetVolume, 3911, 10, + + XREF_CDirectSoundVoice_SetVolume, + XRefZero) + //CDirectSoundVoice_SetVolume+0x00 : push esi + { 0x00, 0x56 }, + + //CDirectSoundVoice_SetVolume+0x11 : mov eax, dword ptr [ecx+18h] + { 0x11, 0x8B }, + { 0x12, 0x41 }, + { 0x13, 0x18 }, + + //CDirectSoundVoice_SetVolume+0x1A : mov ecx, dword ptr [ecx+14h] + { 0x1A, 0x8B }, + { 0x1B, 0x49 }, + { 0x1C, 0x14 }, + + //CDirectSoundVoice_SetVolume+0x1D : call CMcpxVoiceClient_SetVolume + { 0x1D, 0xE8 }, + + //CDirectSoundVoice_SetVolume+0x37 : ret 8 + { 0x37, 0xC2 }, + { 0x38, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetVolume +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetVolume+0x15 : call [CDirectSoundVoice_SetVolume] + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetVolume), + + // IDirectSoundBuffer_SetVolume+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetVolume+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetVolume+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_Stop +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_Stop, 3911, 12, + + XREF_CDirectSoundBuffer_Stop, + XRefZero) + + // CDirectSoundBuffer_Stop+0x07 : mov eax, 0x80004005 + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x00 }, + { 0x0B, 0x6A }, + { 0x0C, 0x00 }, + + // CDirectSoundBuffer_Stop+0x1A : mov ebx, eax; jz +0x0B + { 0x1A, 0x8B }, + { 0x1B, 0xD8 }, + { 0x1C, 0x74 }, + { 0x1D, 0x0B }, + + // CDirectSoundBuffer_Stop+0x2D : retn 0x04 + { 0x2D, 0xC2 }, + { 0x2E, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_Stop +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_Stop, 3911, 12, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_Stop+0x11 : call [CDirectSoundBuffer::Stop] + XREF_ENTRY( 0x11, XREF_CDirectSoundBuffer_Stop ), + + // IDirectSoundBuffer_Stop+0x00 : mov eax, [esp+arg_0] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // IDirectSoundBuffer_Stop+0x04 : mov ecx, eax + { 0x04, 0x8B }, + { 0x05, 0xC8 }, + + // IDirectSoundBuffer_Stop+0x06 : add eax, 0x0FFFFFFE4 + { 0x06, 0x83 }, + { 0x07, 0xC0 }, + { 0x08, 0xE4 }, + + // IDirectSoundBuffer_Stop+0x15 : retn 4 + { 0x16, 0x04 }, + { 0x17, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetLoopRegion +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +//TODO: Need to make CDirectSoundBuffer_SetLoopRegion OOVPA for 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetLoopRegion ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxBuffer_Play +// ****************************************************************** +OOVPA_XREF(CMcpxBuffer_Play, 3911, 9, + + XREF_CMcpxBuffer_Play, + XRefZero) + + { 0x06, 0x56 }, + { 0x0E, 0xF1 }, + { 0x18, 0x75 }, + { 0x19, 0x08 }, + { 0x1A, 0x6A }, + { 0x1B, 0x02 }, + { 0x26, 0x75 }, + { 0x2F, 0x8B }, + { 0x36, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_Play +// ****************************************************************** +//TODO: This OOVPA seem to be weak. +OOVPA_XREF(CDirectSoundBuffer_Play, 3911, 7, + + XREF_CDirectSoundBuffer_Play, + XRefZero) + + //Offset 0x16, XREF caller is CDirectSoundBuffer_PlayEx + + { 0x07, 0xFF }, + { 0x0C, 0xF0 }, + { 0x13, 0x24 }, + { 0x1A, 0x85 }, + { 0x25, 0xFF }, + { 0x2B, 0x8B }, + { 0x2F, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_Play +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_Play, 3911, 16, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_Play+0x1D : call CDirectSoundBuffer::Play + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_Play ), + + // IDirectSoundBuffer_Play+0x00 : push [esp+0x10] + { 0x00, 0xFF }, + { 0x01, 0x74 }, + { 0x02, 0x24 }, + { 0x03, 0x10 }, + + // IDirectSoundBuffer_Play+0x04 : mov eax, [esp+4+arg_0] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_Play+0x12 : and eax, [0xFFFFFFE4] + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_Play+0x17 : sbb ecx, ecx + { 0x17, 0x1B }, + { 0x18, 0xC9 }, + + // IDirectSoundBuffer_Play+0x21 : retn 0x10 + { 0x21, 0xC2 }, + { 0x22, 0x10 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 93a7ca3b3..538fe9316 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -514,7 +514,6 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetVolume // ****************************************************************** -//TODO: IDirectSoundBuffer_SetVolume is compatible down to 3911, except XREF is CDirectSoundVoice_SetVolume. OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3936, 10, XRefNoSaveIndex, @@ -1059,7 +1058,7 @@ OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition, 3936, 8, { 0x15, 0x23 }, { 0x16, 0xC8 }, OOVPA_END; - +#if 0 //Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::Play // ****************************************************************** @@ -1076,7 +1075,8 @@ OOVPA_XREF(CDirectSoundBuffer_Play, 3936, 7, { 0x2B, 0x8B }, { 0x2F, 0xC2 }, OOVPA_END; - +#endif +#if 0 //Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_Play // ****************************************************************** @@ -1113,7 +1113,7 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 3936, 16, { 0x21, 0xC2 }, { 0x22, 0x10 }, OOVPA_END; - +#endif // ****************************************************************** // * IDirectSoundBuffer_Play2 // ****************************************************************** @@ -1145,65 +1145,6 @@ OOVPA_XREF(IDirectSoundBuffer_Play2, 3936, 12, { 0x22, 0x10 }, OOVPA_END; -// ****************************************************************** -// * CDirectSoundBuffer_Stop -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Stop, 3911, 12, - - XREF_CDirectSoundBuffer_Stop, - XRefZero) - - // CDirectSoundBuffer_Stop+0x07 : mov eax, 0x80004005 - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x00 }, - { 0x0B, 0x6A }, - { 0x0C, 0x00 }, - - // CDirectSoundBuffer_Stop+0x1A : mov ebx, eax; jz +0x0B - { 0x1A, 0x8B }, - { 0x1B, 0xD8 }, - { 0x1C, 0x74 }, - { 0x1D, 0x0B }, - - // CDirectSoundBuffer_Stop+0x2D : retn 0x04 - { 0x2D, 0xC2 }, - { 0x2E, 0x04 }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_Stop -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_Stop, 3911, 12, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_Stop+0x11 : call [CDirectSoundBuffer::Stop] - XREF_ENTRY( 0x11, XREF_CDirectSoundBuffer_Stop ), - - // IDirectSoundBuffer_Stop+0x00 : mov eax, [esp+arg_0] - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - - // IDirectSoundBuffer_Stop+0x04 : mov ecx, eax - { 0x04, 0x8B }, - { 0x05, 0xC8 }, - - // IDirectSoundBuffer_Stop+0x06 : add eax, 0x0FFFFFFE4 - { 0x06, 0x83 }, - { 0x07, 0xC0 }, - { 0x08, 0xE4 }, - - // IDirectSoundBuffer_Stop+0x15 : retn 4 - { 0x16, 0x04 }, - { 0x17, 0x00 }, -OOVPA_END; - // ****************************************************************** // * CMcpxVoiceClient_SetVolume // ****************************************************************** @@ -3170,7 +3111,7 @@ OOVPA_XREF(CDirectSoundStream_SetMode, 3936, 7, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; - +#if 0 //Moved to 3911 // ****************************************************************** // * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) // ****************************************************************** @@ -3189,7 +3130,7 @@ OOVPA_XREF(CMcpxBuffer_Play, 3925, 9, { 0x2F, 0x8B }, { 0x36, 0xC2 }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxAPU::Set3dDopplerFactor // ****************************************************************** @@ -4064,28 +4005,6 @@ OOVPA_NO_XREF(IDirectSoundBuffer_Unlock, 3936, 5) { 0x04, 0x00 } OOVPA_END; -// ****************************************************************** -// * IDirectSoundBuffer::SetLoopRegion -// ****************************************************************** -//Generic OOVPA as of 3911 and newer. -//TODO: Need to make CDirectSoundBuffer_SetLoopRegion OOVPA for 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 3911, 9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetLoopRegion ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0xFF }, - { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; - // ****************************************************************** // * DSound_3936 // ****************************************************************** @@ -4128,9 +4047,9 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition2, 3936, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Play, 3925, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_Play, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Play, 3936, PATCH), + REGISTER_OOVPA(CMcpxBuffer_Play, 3911, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Play, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 3936, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index ae1f4e796..f3b26d994 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -731,3 +731,35 @@ OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 4039, 14) // CDirectSound_CommitDeferredSettings+0x78 : leave { 0x6F, 0xC9 }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::Play +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_Play, 4039, 13, + + XREF_CDirectSoundBuffer_Play, + XRefZero) + + //CDirectSoundBuffer_Play+0x00 : push esi + { 0x00, 0x56 }, + + //CDirectSoundBuffer_Play+0x20 : mov eax, 80004005h + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + //CDirectSoundBuffer_Play+0x2F : mov ecx, dword ptr [esp+18h] + { 0x2F , 0xFF }, + { 0x30 , 0x74 }, + { 0x31 , 0x24 }, + { 0x32 , 0x18 }, + + //CDirectSoundBuffer_Play+0x4D : ret 10h + { 0x4D , 0xC2 }, + { 0x4E , 0x10 }, + { 0x4F , 0x00 }, +OOVPA_END; + + diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 007cff46b..b668120ca 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -428,7 +428,7 @@ OOVPA_XREF(CDirectSound_SetPositionA, 4134, 11, { 0x4F, 0x00 }, { 0x52, 0xFF }, OOVPA_END; - +#if 0 //Moved to 3911 // ****************************************************************** // * IDirectSound_CreateSoundBuffer // ****************************************************************** @@ -459,7 +459,7 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 4134, 12, { 0x21, 0xC2 }, { 0x22, 0x10 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundVoice::SetFrequency // ****************************************************************** @@ -2895,7 +2895,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetPositionA, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), @@ -2920,7 +2920,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Play, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 699f82c69..7db268cca 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -754,7 +754,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 850a1626c..a77a37622 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -127,7 +127,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 44cd35946..6f2833da4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1497,7 +1497,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_SetPositionA, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index a72c8957e..fd3556df1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -86,7 +86,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_SetPositionA, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index a660e65fd..93c59a757 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -390,7 +390,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSound_SetPositionA, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index f98cfac62..d427bf564 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -899,7 +899,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSound_SetPositionA, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 2cce12df2..7aa74da3e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1638,7 +1638,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 0ce75010b..b403628d7 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -575,7 +575,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 06c2a6d74..16418faa6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -112,7 +112,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 5788, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 6b1a9eba5..70e8f31d5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -36,6 +36,7 @@ #include "../OOVPA.h" +#include "DSound.1.0.3911.inl" #include "DSound.1.0.3936.inl" #include "DSound.1.0.4039.inl" #include "DSound.1.0.4134.inl" @@ -57,7 +58,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_GetCurrentPosition, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_GetStatus, XREF, 3936, 4134, 4721), REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928), - REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3936, 4134, 4361, 5558, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134, 4361, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3936, 4361, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 4039, 4134, 5558, 5788), @@ -167,7 +168,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment) REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 4039, 4134, 5233), + REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 3911, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, PATCH, 3936, 4039, 4134, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsA, XREF, 3936), @@ -206,7 +207,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition2, XREF, 3936), REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3936, 4134, 4721, 4831, 5558), REGISTER_OOVPAS(CMcpxBuffer_Pause, XREF, 4831), - REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3925, 4361, 4721, 4831), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJK@Z + REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3911, 4361, 4721, 4831), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788), REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 4134, 5558, 5788), @@ -238,7 +239,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_LockA, XREF, 3936, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4928), - REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3936, 4361, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911, 4361, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3936), // +s (from 4134's comment) REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 4134), // Use that for now. Okay, it's your call pal... (from 4134's comment) @@ -279,7 +280,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3936, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3936, 4039), + REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3911, 3936, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeB, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3911), @@ -287,7 +288,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3936), - REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3936/*, 4134, 4361*/), + REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3911 /*3936, 4134, 4361*/), REGISTER_OOVPAS(IDirectSound_CreateSoundStream, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSound_DownloadEffectsImage, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_EnableHeadphones, PATCH, 3936, 4627, 5233, 5558), From c34a5e9d60e514466a95416b92803753e74e11ca Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Tue, 5 Sep 2017 08:40:23 -0500 Subject: [PATCH 037/146] Improve Scan Support 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! :tada: --- src/CxbxKrnl/HLEDataBase.cpp | 61 ++++++++++++++++++++++++++++++++++- src/CxbxKrnl/HLEDataBase.h | 13 ++++++-- src/CxbxKrnl/HLEIntercept.cpp | 33 ++++++++++++------- 3 files changed, 93 insertions(+), 14 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index ebe611874..6897df9b7 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -40,19 +40,44 @@ #include #include "CxbxKrnl.h" // For xbaddr +#include "HLEDataBase.h" // For PairScanLibSec extern "C" const char *szHLELastCompileTime = __TIMESTAMP__; const char *Lib_D3D8 = "D3D8"; +const char *Sec_D3D = "D3D"; const char *Lib_D3D8LTCG = "D3D8LTCG"; const char *Lib_D3DX8 = "D3DX8"; +const char *Sec_D3DX = "D3DX"; const char *Lib_DSOUND = "DSOUND"; +const char *Sec_DSOUND = Lib_DSOUND; const char *Lib_XACTENG = "XACTENG"; const char *Lib_XAPILIB = "XAPILIB"; +const char *Sec_XPP = "XPP"; const char *Lib_XGRAPHC = "XGRAPHC"; +const char *Sec_XGRPH = "XGRPH"; const char *Lib_XNETS = "XNETS"; const char *Lib_XONLINE = "XONLINE"; // TODO : Typo for XONLINES? +const char *Sec_XONLINE = Lib_XONLINE; const char *Lib_XONLINES = "XONLINES"; +const char *Sec_XNET = "XNET"; + +const PairScanLibSec PairScanLibSection[] = { + { Lib_D3D8, { Sec_D3D } }, + { Lib_D3D8LTCG, { Sec_D3D } }, + { Lib_D3DX8, { Sec_D3DX } }, + { Lib_DSOUND, { Sec_DSOUND } }, + //{ Lib_DSOUNDH, Sec_DSOUND }, + //Lib_XACTENG = Sec_???? + //{ Lib_XACTENLT, Sec_XACTENG }, + { Lib_XAPILIB, { Sec_XPP } }, + { Lib_XGRAPHC, { Sec_XGRPH } }, + { Lib_XONLINE, { Sec_XONLINE } }, + { Lib_XONLINES, { Sec_XONLINE, Sec_XNET } }, //and Sec_XNET too. + { Lib_XNETS, { Sec_XNET } }, +}; + +const uint32 StrScanLibSectionCount = sizeof(PairScanLibSection) / sizeof(PairScanLibSec); #include "Emu.h" #include "EmuXTL.h" @@ -188,7 +213,41 @@ const HLEData HLEDataBase[] = }; const HLEDataV2 HLEDataBaseV2[] = { - { Lib_DSOUND, DSound_OOVPAV2, DSound_OOVPA_SIZEV2 } + // + //{ Lib_D3D8,{ Sec_D3D }, D3D8_OOVPAV2, D3D8_OOVPA_SIZEV2 }, + + // Cannot support LTCG in HLE + //{ Lib_D3D8LTCG,{ Sec_D3D }, _OOVPAV2, _OOVPA_SIZEV2 }, + + // Jarupxx mention this is not a requirement? + //{ Lib_D3DX8,{ Sec_D3DX }, _OOVPAV2, _OOVPA_SIZEV2 }, + + // + { Lib_DSOUND,{ Sec_DSOUND }, DSound_OOVPAV2, DSound_OOVPA_SIZEV2 }, + + // DSOUNDH is just meant to define hot fix, there is no seperate section + //{ Lib_DSOUNDH,{ Sec_DSOUND }, DSound_OOVPAV2, DSound_OOVPA_SIZEV2 }, + + // I have not seen which header section it supposed to go with... + //{ Lib_XACTENG, { Sec_???? }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, + + // + //{ Lib_XACTENLT,{ Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, + + // + //{ Lib_XAPILIB,{ Sec_XPP }, XAPILIB_OOVPAV2, XAPILIB_OOVPA_SIZEV2 }, + + // + //{ Lib_XGRAPHC,{ Sec_XGRPH }, XGRAPHC_OOVPAV2, XGRAPHC_OOVPA_SIZEV2 }, + + // + //{ Lib_XONLINE,{ Sec_XONLINE }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, + + // Fun fact, XONLINES are split into 2 header sections. + //{ Lib_XONLINES,{ Sec_XONLINE, Sec_XNET }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, + + // XNETS only has XNET, might be true. + //{ Lib_XNETS,{ Sec_XNET }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 0dd91f75d..d429fb43a 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -97,6 +97,7 @@ // ****************************************************************** extern "C" const char *szHLELastCompileTime; +//TODO: Need to remove these externs as v2 is no longer require it. extern const char *Lib_D3D8; extern const char *Lib_D3D8LTCG; extern const char *Lib_D3DX8; @@ -105,7 +106,7 @@ extern const char *Lib_XACTENG; extern const char *Lib_XAPILIB; extern const char *Lib_XGRAPHC; extern const char *Lib_XNETS; -extern const char *Lib_XONLINE; // TODO : Typo for XONLINES? +extern const char *Lib_XONLINE; //Is not a typo issue extern const char *Lib_XONLINES; // ****************************************************************** @@ -121,9 +122,17 @@ extern const struct HLEData } HLEDataBase[]; +#define PAIRSCANSEC_MAX 2 + +extern const struct PairScanLibSec { + const char *library; + const char *section[PAIRSCANSEC_MAX]; +} +PairScanLibSection[]; + extern const struct HLEDataV2 { - const char *Library; + const PairScanLibSec LibSec; OOVPATable *OovpaTable; uint32 OovpaTableSize; diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index edd83bd09..8fdc0a4c6 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -593,18 +593,29 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) //HLE Database v2 if (notFoundHLEDB) { - for (uint32 v = 0; v < pXbeHeader->dwSections; v++) { - SectionName.assign((char*)pSectionHeaders[v].dwSectionNameAddr, (char*)pSectionHeaders[v].dwSectionNameAddr + 8); - if (strcmp(SectionName.c_str(), Lib_DSOUND) == 0) { - pSectionScan = pSectionHeaders + v; - break; - } - } + //Initialize library scan against HLE database we want to search for address of patches and xreferences. for (uint32 d2 = 0; d2 < HLEDataBaseCountV2; d2++) { - if (strcmp(LibraryName.c_str(), HLEDataBaseV2[d2].Library) == 0 && pSectionScan != nullptr) { - if (g_bPrintfOn) printf("Found\n"); - EmuInstallPatchesV2(HLEDataBaseV2[d2].OovpaTable, HLEDataBaseV2[d2].OovpaTableSize, pSectionScan, OrigBuildVersion); - notFoundHLEDB = false; + if (strcmp(LibraryName.c_str(), HLEDataBaseV2[d2].LibSec.library) == 0) { + bool bPrintOn = g_bPrintfOn; + for (uint32 v = 0; v < pXbeHeader->dwSections; v++) { + SectionName.assign((char*)pSectionHeaders[v].dwSectionNameAddr, (char*)pSectionHeaders[v].dwSectionNameAddr + 8); + + //Initialize a matching specific section is currently pair with library in order to scan specific section only. + //By doing this method will reduce false detection dramatically. If it had happened before. + for (uint32 d3 = 0; d3 < PAIRSCANSEC_MAX; d3++) { + if (HLEDataBaseV2[d2].LibSec.section[d3] != NULL && strcmp(SectionName.c_str(), HLEDataBaseV2[d2].LibSec.section[d3]) == 0) { + pSectionScan = pSectionHeaders + v; + + if (g_bPrintfOn) printf("Found\n"); + g_bPrintfOn = false; + + EmuInstallPatchesV2(HLEDataBaseV2[d2].OovpaTable, HLEDataBaseV2[d2].OovpaTableSize, pSectionScan, OrigBuildVersion); + notFoundHLEDB = false; + break; + } + } + } + g_bPrintfOn = bPrintOn; break; } } From 8abc01c3be1716a2cf7dc02204d68149eef11fcc Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Tue, 5 Sep 2017 09:12:52 -0500 Subject: [PATCH 038/146] Fix Versions in DSound 5233 Database Since there was changes in master branch, it would not compile due to lowering versions support in HLE database v2. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 24 ++++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 93c59a757..c7314ab47 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -366,12 +366,12 @@ OOVPA_END; OOVPATable DSound_5233[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), - REGISTER_OOVPA(DirectSoundGetSampleTime, 4627, PATCH), + REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CMcpxAPU_SynchPlayback, 5233, XREF), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5233, XREF), REGISTER_OOVPA(IDirectSound_SynchPlayback, 5233, PATCH), - REGISTER_OOVPA(CMcpxBuffer_Pause, 4928, XREF), + REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), @@ -478,13 +478,13 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4134, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), @@ -501,10 +501,10 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), @@ -515,7 +515,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), @@ -524,7 +524,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), From eb7554070aa72c995a4ea6bb97fbce99936af9ae Mon Sep 17 00:00:00 2001 From: jarupxx Date: Tue, 5 Sep 2017 21:43:04 +0900 Subject: [PATCH 039/146] Renamed to friendly OOVPA name + Sorting + Removes IDirectSound8_SetAllParameters. IDirectSound8_ prefix is obsolete. Also IDirectSound_SetAllParameters is available. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 899 +++++++++---------- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 14 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 28 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 16 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 14 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 219 ++--- 8 files changed, 577 insertions(+), 623 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 538fe9316..46026cbbb 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -56,14 +56,14 @@ OOVPA_NO_XREF(DirectSoundCreate, 3936, 9) OOVPA_END; // ****************************************************************** -// * DirectSoundDoWorkB +// * CMcpxAPU_ServiceDeferredCommandsLow // ****************************************************************** -OOVPA_XREF(DirectSoundDoWorkB, 3936, 12, +OOVPA_XREF(CMcpxAPU_ServiceDeferredCommandsLow, 3936, 12, XREF_DSDOWORKB, XRefZero) - // DirectSoundDoWorkB+0x06 : lea edi, [ebx+0x664] + // CMcpxAPU_ServiceDeferredCommandsLow+0x06 : lea edi, [ebx+0x664] { 0x06, 0x8D }, { 0x07, 0xBB }, { 0x08, 0x64 }, @@ -71,11 +71,11 @@ OOVPA_XREF(DirectSoundDoWorkB, 3936, 12, { 0x0A, 0x00 }, { 0x0B, 0x00 }, - // DirectSoundDoWorkB+0x20 : mov eax, [ecx] + // CMcpxAPU_ServiceDeferredCommandsLow+0x20 : mov eax, [ecx] { 0x20, 0x8B }, { 0x21, 0x01 }, - // DirectSoundDoWorkB+0x33 : add edi, 4; dec ebp + // CMcpxAPU_ServiceDeferredCommandsLow+0x33 : add edi, 4; dec ebp { 0x33, 0x83 }, { 0x34, 0xC7 }, { 0x35, 0x04 }, @@ -83,27 +83,27 @@ OOVPA_XREF(DirectSoundDoWorkB, 3936, 12, OOVPA_END; // ****************************************************************** -// * DirectSoundDoWorkA +// * CDirectSound_DoWork // ****************************************************************** -OOVPA_XREF(DirectSoundDoWorkA, 3936, 9, +OOVPA_XREF(CDirectSound_DoWork, 3936, 9, XREF_DSDOWORKA, XRefOne) - // DirectSoundDoWorkA+0x10 : call [DirectSoundDoWorkB] + // CDirectSound_DoWork+0x10 : call [CMcpxAPU_ServiceDeferredCommandsLow] XREF_ENTRY( 0x10, XREF_DSDOWORKB ), - // DirectSoundDoWorkA+0x08 : mov eax, [esp+0x08] + // CDirectSound_DoWork+0x08 : mov eax, [esp+0x08] { 0x08, 0x8B }, { 0x09, 0x44 }, { 0x0A, 0x24 }, { 0x0B, 0x08 }, - // DirectSoundDoWorkA+0x17 : jz +0x0B + // CDirectSound_DoWork+0x17 : jz +0x0B { 0x17, 0x74 }, { 0x18, 0x0B }, - // DirectSoundDoWorkA+0x24 : retn 0x04 + // CDirectSound_DoWork+0x24 : retn 0x04 { 0x24, 0xC2 }, { 0x25, 0x04 }, OOVPA_END; @@ -286,57 +286,57 @@ OOVPA_NO_XREF(IDirectSoundBuffer_Release, 3936, 10) OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_SetPitchB +// * CMcpxVoiceClient_SetPitch // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetPitchB, 3936, 11, +OOVPA_XREF(CMcpxVoiceClient_SetPitch, 3936, 11, XREF_DSBUFFERSETPITCHB, XRefZero) - // IDirectSoundBuffer_SetPitchB+0x21 : lea edi, [esi+0xB4] + // CMcpxVoiceClient_SetPitch+0x21 : lea edi, [esi+0xB4] { 0x21, 0x8D }, { 0x22, 0xBE }, { 0x23, 0xB4 }, { 0x24, 0x00 }, - // IDirectSoundBuffer_SetPitchB+0x58 : movzx eax, word ptr [eax+2] + // CMcpxVoiceClient_SetPitch+0x58 : movzx eax, word ptr [eax+2] { 0x58, 0x0F }, { 0x59, 0xB7 }, { 0x5A, 0x40 }, { 0x5B, 0x02 }, - // IDirectSoundBuffer_SetPitchB+0x5E : dec eax; sar eax, 1 + // CMcpxVoiceClient_SetPitch+0x5E : dec eax; sar eax, 1 { 0x5E, 0x48 }, { 0x5F, 0xD1 }, { 0x60, 0xF8 }, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_SetPitchA +// * CDirectSoundVoice_SetPitch // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetPitchA, 3936, 12, +OOVPA_XREF(CDirectSoundVoice_SetPitch, 3936, 12, XREF_DSBUFFERSETPITCHA, XRefOne) - // IDirectSoundBuffer_SetPitchA+0x1B : call [IDirectSoundBuffer_SetPitchB] + // CDirectSoundVoice_SetPitch+0x1B : call [CMcpxVoiceClient_SetPitch] XREF_ENTRY( 0x1B, XREF_DSBUFFERSETPITCHB ), - // IDirectSoundBuffer_SetPitchA+0x07 : mov edx, [esp+0x10] + // CDirectSoundVoice_SetPitch+0x07 : mov edx, [esp+0x10] { 0x07, 0x8B }, { 0x08, 0x54 }, { 0x09, 0x24 }, { 0x0A, 0x10 }, - // IDirectSoundBuffer_SetPitchA+0x11 : mov ecx, [eax+0x18] + // CDirectSoundVoice_SetPitch+0x11 : mov ecx, [eax+0x18] { 0x11, 0x8B }, { 0x12, 0x48 }, { 0x13, 0x18 }, - // IDirectSoundBuffer_SetPitchA+0x23 : jz +0x0B + // CDirectSoundVoice_SetPitch+0x23 : jz +0x0B { 0x23, 0x74 }, { 0x24, 0x0B }, - // IDirectSoundBuffer_SetPitchA+0x34 : retn 0x08 + // CDirectSoundVoice_SetPitch+0x34 : retn 0x08 { 0x34, 0xC2 }, { 0x35, 0x08 }, OOVPA_END; @@ -349,7 +349,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPitch, 3936, 10, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetPitch+0x15 : call [IDirectSoundBuffer_SetPitchA] + // IDirectSoundBuffer_SetPitch+0x15 : call [CDirectSoundVoice_SetPitch] XREF_ENTRY( 0x15, XREF_DSBUFFERSETPITCHA ), // IDirectSoundBuffer_SetPitch+0x04 : push [esp+0x08] @@ -455,40 +455,40 @@ OOVPA_XREF(IDirectSoundBuffer_GetStatus, 3936, 10, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_SetVolumeB +// * CMcpxVoiceClient_SetVolume // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetVolumeB, 3936, 11, +OOVPA_XREF(CMcpxVoiceClient_SetVolume, 3936, 11, XREF_DSBUFFERSETVOLUMEB, XRefZero) - // IDirectSoundBuffer_SetVolumeB+0x26 : mov ecx, [esi+0xE0] + // CMcpxVoiceClient_SetVolume+0x26 : mov ecx, [esi+0xE0] { 0x26, 0x8B }, { 0x27, 0x8E }, { 0x28, 0xE0 }, { 0x29, 0x00 }, - // IDirectSoundBuffer_SetVolumeB+0x2F : movzx ecx, word ptr [ecx+2] + // CMcpxVoiceClient_SetVolume+0x2F : movzx ecx, word ptr [ecx+2] { 0x2F, 0x0F }, { 0x30, 0xB7 }, { 0x31, 0x49 }, { 0x32, 0x02 }, - // IDirectSoundBuffer_SetVolumeB+0x35 : dec ecx; sar ecx, 1 + // CMcpxVoiceClient_SetVolume+0x35 : dec ecx; sar ecx, 1 { 0x35, 0x49 }, { 0x36, 0xD1 }, { 0x37, 0xF9 }, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_SetVolumeA +// * CDirectSoundVoice_SetVolume // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetVolumeA, 3936, 12, +OOVPA_XREF(CDirectSoundVoice_SetVolume, 3936, 12, XREF_DSBUFFERSETVOLUMEA, XRefOne) - // IDirectSoundBuffer_SetVolumeA+0x1E : call [IDirectSoundBuffer_SetVolumeB] + // CDirectSoundVoice_SetVolume+0x1E : call [CMcpxVoiceClient_SetVolume] XREF_ENTRY( 0x1E, XREF_DSBUFFERSETVOLUMEB ), // IDirectSoundBuffer_SetVolumeA+0x07 : mov ecx, [esp+0x0C] @@ -497,16 +497,16 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolumeA, 3936, 12, { 0x09, 0x24 }, { 0x0A, 0x0C }, - // IDirectSoundBuffer_SetVolumeA+0x11 : mov eax, [ecx+0x18] + // CDirectSoundVoice_SetVolume+0x11 : mov eax, [ecx+0x18] { 0x11, 0x8B }, { 0x12, 0x41 }, { 0x13, 0x18 }, - // IDirectSoundBuffer_SetVolumeA+0x26 : jz +0x0B + // CDirectSoundVoice_SetVolume+0x26 : jz +0x0B { 0x26, 0x74 }, { 0x27, 0x0B }, - // IDirectSoundBuffer_SetVolumeA+0x37 : retn 0x08 + // CDirectSoundVoice_SetVolume+0x37 : retn 0x08 { 0x37, 0xC2 }, { 0x38, 0x08 }, OOVPA_END; @@ -519,7 +519,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3936, 10, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetVolume+0x15 : call [IDirectSoundBuffer_SetVolumeA] + // IDirectSoundBuffer_SetVolume+0x15 : call [CDirectSoundVoice_SetVolume] XREF_ENTRY( 0x15, XREF_DSBUFFERSETVOLUMEA ), // IDirectSoundBuffer_SetVolume+0x04 : push [esp+0x08] @@ -539,25 +539,25 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3936, 10, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_SetCurrentPositionB +// * CMcpxBuffer_SetCurrentPosition // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetCurrentPositionB, 3936, 11, +OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 3936, 11, XREF_DSBUFFERSETCURRENTPOSITIONB, XRefZero) - // IDirectSoundBuffer_SetCurrentPositionB+0x25 : mov eax, [esi+0x148] + // CMcpxBuffer_SetCurrentPosition+0x25 : mov eax, [esi+0x148] { 0x25, 0x8B }, { 0x26, 0x86 }, { 0x27, 0x48 }, { 0x28, 0x01 }, - // IDirectSoundBuffer_SetCurrentPositionB+0x4A : push edi; push 4 + // CMcpxBuffer_SetCurrentPosition+0x4A : push edi; push 4 { 0x4A, 0x57 }, { 0x4B, 0x6A }, { 0x4C, 0x04 }, - // IDirectSoundBuffer_SetCurrentPositionB+0x71 : movzx eax, word ptr [eax+2] + // CMcpxBuffer_SetCurrentPosition+0x71 : movzx eax, word ptr [eax+2] { 0x71, 0x0F }, { 0x72, 0xB7 }, { 0x73, 0x40 }, @@ -565,32 +565,32 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPositionB, 3936, 11, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_SetCurrentPositionA +// * CDirectSoundBuffer_SetCurrentPosition // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetCurrentPositionA, 3936, 12, +OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 3936, 12, XREF_DSBUFFERSETCURRENTPOSITIONA, XRefOne) - // IDirectSoundBuffer_SetCurrentPositionA+0x15 : call [IDirectSoundBuffer_SetCurrentPositionB] + // CDirectSoundBuffer_SetCurrentPosition+0x15 : call [CMcpxBuffer_SetCurrentPosition] XREF_ENTRY( 0x15, XREF_DSBUFFERSETCURRENTPOSITIONB ), - // IDirectSoundBuffer_SetCurrentPositionA+0x0D : mov eax, [esp+0x10] + // CDirectSoundBuffer_SetCurrentPosition+0x0D : mov eax, [esp+0x10] { 0x0D, 0x8B }, { 0x0E, 0x44 }, { 0x0F, 0x24 }, { 0x10, 0x10 }, - // IDirectSoundBuffer_SetCurrentPositionA+0x11 : mov ecx, [eax+0x20] + // CDirectSoundBuffer_SetCurrentPosition+0x11 : mov ecx, [eax+0x20] { 0x11, 0x8B }, { 0x12, 0x48 }, { 0x13, 0x20 }, - // IDirectSoundBuffer_SetCurrentPositionA+0x1D : jz +0x0B + // CDirectSoundBuffer_SetCurrentPosition+0x1D : jz +0x0B { 0x1D, 0x74 }, { 0x1E, 0x0B }, - // IDirectSoundBuffer_SetCurrentPositionA+0x2E : retn 0x08 + // CDirectSoundBuffer_SetCurrentPosition+0x2E : retn 0x08 { 0x2E, 0xC2 }, { 0x2F, 0x08 }, OOVPA_END; @@ -603,7 +603,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 3936, 10, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetCurrentPosition+0x15 : call [IDirectSoundBuffer_SetCurrentPositionA] + // IDirectSoundBuffer_SetCurrentPosition+0x15 : call [CDirectSoundBuffer_SetCurrentPosition] XREF_ENTRY( 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA ), // IDirectSoundBuffer_SetCurrentPosition+0x04 : push [esp+0x08] @@ -623,28 +623,28 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 3936, 10, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_SetPlayRegionA +// * CDirectSoundBuffer_SetPlayRegion // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetPlayRegionA, 3936, 10, +OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 3936, 10, XREF_DSBUFFERSETPLAYREGIONA, XRefZero) - // IDirectSoundBuffer_SetPlayRegionA+0x20 : cmp edx, [ecx+0x54] + // CDirectSoundBuffer_SetPlayRegion+0x20 : cmp edx, [ecx+0x54] { 0x20, 0x3B }, { 0x21, 0x51 }, { 0x22, 0x54 }, - // IDirectSoundBuffer_SetPlayRegionA+0x2C : mov ecx, [esi+0x20] + // CDirectSoundBuffer_SetPlayRegion+0x2C : mov ecx, [esi+0x20] { 0x2C, 0x8B }, { 0x2D, 0x4E }, { 0x2E, 0x20 }, - // IDirectSoundBuffer_SetPlayRegionA+0x38 : jz +0x0B + // CDirectSoundBuffer_SetPlayRegion+0x38 : jz +0x0B { 0x38, 0x74 }, { 0x39, 0x0B }, - // IDirectSoundBuffer_SetPlayRegionA+0x4A : retn 0x0C + // CDirectSoundBuffer_SetPlayRegion+0x4A : retn 0x0C { 0x4A, 0xC2 }, { 0x4B, 0x0C }, OOVPA_END; @@ -657,7 +657,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 3936, 10, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetPlayRegion+0x19 : call [IDirectSoundBuffer_SetPlayRegionA] + // IDirectSoundBuffer_SetPlayRegion+0x19 : call [CDirectSoundBuffer_SetPlayRegion] XREF_ENTRY( 0x19, XREF_DSBUFFERSETPLAYREGIONA ), // IDirectSoundBuffer_SetPlayRegion+0x04 : push [esp+0x0C] @@ -677,25 +677,25 @@ OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 3936, 10, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_LockA +// * CDirectSoundBuffer_Lock // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_LockA, 3936, 10, +OOVPA_XREF(CDirectSoundBuffer_Lock, 3936, 10, XREF_DSBUFFERLOCKA, XRefZero) - // IDirectSoundBuffer_LockA+0x37 : mov eax, [eax+0x4C] + // CDirectSoundBuffer_Lock+0x37 : mov eax, [eax+0x4C] { 0x37, 0x8B }, { 0x38, 0x40 }, { 0x39, 0x4C }, - // IDirectSoundBuffer_LockA+0x68 : mov [edi], ebx; jz +0x1F + // CDirectSoundBuffer_Lock+0x68 : mov [edi], ebx; jz +0x1F { 0x68, 0x89 }, { 0x69, 0x1F }, { 0x6A, 0x74 }, { 0x6B, 0x1F }, - // IDirectSoundBuffer_LockA+0x85 : and dword ptr [edx], 0 + // CDirectSoundBuffer_Lock+0x85 : and dword ptr [edx], 0 { 0x85, 0x83 }, { 0x86, 0x22 }, { 0x87, 0x00 }, @@ -709,7 +709,7 @@ OOVPA_XREF(IDirectSoundBuffer_Lock, 3936, 9, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_Lock+0x28 : call [IDirectSoundBuffer_LockA] + // IDirectSoundBuffer_Lock+0x28 : call [CDirectSoundBuffer_Lock] XREF_ENTRY( 0x28, XREF_DSBUFFERLOCKA ), // IDirectSoundBuffer_Lock+0x03 : push [esp+0x24] @@ -728,34 +728,34 @@ OOVPA_XREF(IDirectSoundBuffer_Lock, 3936, 9, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_SetHeadroomA +// * CDirectSoundVoice_SetHeadroom // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetHeadroomA, 3936, 12, +OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 3936, 12, XREF_DSBUFFERSETHEADROOMA, XRefOne) // WARNING: I am unsure if this is SetHeadroom - // IDirectSoundBuffer_SetHeadroomA+0x23 : call [IDirectSoundBuffer_SetVolumeB] + // CDirectSoundVoice_SetHeadroom+0x23 : call [CMcpxVoiceClient_SetVolume] XREF_ENTRY( 0x23, XREF_DSBUFFERSETVOLUMEB ), - // IDirectSoundBuffer_SetHeadroomA+0x07 : mov edx, [esp+0x0C] + // CDirectSoundVoice_SetHeadroom+0x07 : mov edx, [esp+0x0C] { 0x07, 0x8B }, { 0x08, 0x54 }, { 0x09, 0x24 }, { 0x0A, 0x0C }, - // IDirectSoundBuffer_SetHeadroomA+0x11 : mov eax, [edx+0x18] + // CDirectSoundVoice_SetHeadroom+0x11 : mov eax, [edx+0x18] { 0x11, 0x8B }, { 0x12, 0x42 }, { 0x13, 0x18 }, - // IDirectSoundBuffer_SetHeadroomA+0x2B : jz +0x0B + // CDirectSoundVoice_SetHeadroom+0x2B : jz +0x0B { 0x2B, 0x74 }, { 0x2C, 0x0B }, - // IDirectSoundBuffer_SetHeadroomA+0x3C : retn 0x08 + // CDirectSoundVoice_SetHeadroom+0x3C : retn 0x08 { 0x3C, 0xC2 }, { 0x3D, 0x08 }, OOVPA_END; @@ -768,7 +768,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 3936, 10, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetHeadroom+0x15 : call [IDirectSoundBuffer_SetHeadroomA] + // IDirectSoundBuffer_SetHeadroom+0x15 : call [CDirectSoundVoice_SetHeadroom] XREF_ENTRY( 0x15, XREF_DSBUFFERSETHEADROOMA ), // IDirectSoundBuffer_SetHeadroom+0x04 : push [esp+0x08] @@ -788,24 +788,24 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 3936, 10, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_SetBufferDataA +// * CDirectSoundBuffer_SetBufferData // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetBufferDataA, 3936, 9, +OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 3936, 9, XREF_DSSETBUFFERDATA, XRefZero) - // IDirectSoundBuffer_SetBufferDataA+0x22 : cmp ecx, [eax+0x4C] + // CDirectSoundBuffer_SetBufferData+0x22 : cmp ecx, [eax+0x4C] { 0x22, 0x3B }, { 0x23, 0x48 }, { 0x24, 0x4C }, - // IDirectSoundBuffer_SetBufferDataA+0x38 : mov ecx, [esi+0x1C] + // CDirectSoundBuffer_SetBufferData+0x38 : mov ecx, [esi+0x1C] { 0x38, 0x8B }, { 0x39, 0x4E }, { 0x3A, 0x1C }, - // IDirectSoundBuffer_SetBufferDataA+0x71 : leave; retn 0x0C + // CDirectSoundBuffer_SetBufferData+0x71 : leave; retn 0x0C { 0x71, 0xC9 }, { 0x72, 0xC2 }, { 0x73, 0x0C }, @@ -819,7 +819,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetBufferData, 3936, 10, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetBufferData+0x18 : call [IDirectSoundBuffer_SetBufferDataA] + // IDirectSoundBuffer_SetBufferData+0x18 : call [CDirectSoundBuffer_SetBufferData] XREF_ENTRY( 0x19, XREF_DSSETBUFFERDATA ), // IDirectSoundBuffer_SetBufferData+0x04 : push [esp+0x0C] @@ -1076,7 +1076,7 @@ OOVPA_XREF(CDirectSoundBuffer_Play, 3936, 7, { 0x2F, 0xC2 }, OOVPA_END; #endif -#if 0 //Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_Play // ****************************************************************** @@ -1114,10 +1114,11 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 3936, 16, { 0x22, 0x10 }, OOVPA_END; #endif +#if 0 // No longer used, replaced by another 3936 version // ****************************************************************** -// * IDirectSoundBuffer_Play2 +// * IDirectSoundBuffer_Play // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_Play2, 3936, 12, +OOVPA_XREF(IDirectSoundBuffer_Play, 3936, 12, XRefNoSaveIndex, XRefOne) @@ -1144,7 +1145,8 @@ OOVPA_XREF(IDirectSoundBuffer_Play2, 3936, 12, { 0x21, 0xC2 }, { 0x22, 0x10 }, OOVPA_END; - +#endif +#if 0 // Was ?SetVolume@CDirectSoundVoice@@QAGJJ@Z, replaced by CDirectSoundVoice_SetVolume 3936 version // ****************************************************************** // * CMcpxVoiceClient_SetVolume // ****************************************************************** @@ -1173,6 +1175,7 @@ OOVPA_XREF(CMcpxVoiceClient_SetVolume, 3936, 10, { 0x37, 0xC2 }, { 0x38, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundStream_SetVolume @@ -1182,7 +1185,7 @@ OOVPA_XREF(CDirectSoundStream_SetVolume, 3936, 10, XRefNoSaveIndex, XRefOne) - // CDirectSoundStream_SetVolume+0x0D : call [IDirectSoundStream::SetVolume] + // CDirectSoundStream_SetVolume+0x0D : call [CMcpxVoiceClient_SetVolume] XREF_ENTRY( 0x0D, XREF_DSSTREAMSETVOLUME ), // CDirectSoundStream_SetVolume+0x04 : mov eax, [esp+0x08] @@ -1232,7 +1235,7 @@ OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 3936, 12, // TODO: re-use for CDirectSoundBuffer_SetAllParametersA!? - // CDirectSoundVoice_SetAllParameters+0x25 : call [IDirectSoundStream::SetAllParametersB] + // CDirectSoundVoice_SetAllParameters+0x25 : call [CMcpxVoiceClient_Set3dParameters] XREF_ENTRY( 0x1F, XREF_DSSTREAMSETALLPARAMETERS1B ), // CDirectSoundVoice_SetAllParameters+0x09 : mov eax, [esp+0x14] @@ -1261,7 +1264,7 @@ OOVPA_XREF(CDirectSoundStream_SetAllParameters, 3936, 10, XRefNoSaveIndex, XRefOne) - // CDirectSoundStream_SetAllParameters+0x11 : call [IDirectSoundStream::SetAllParametersA] + // CDirectSoundStream_SetAllParameters+0x11 : call [CDirectSoundVoice_SetAllParameters] XREF_ENTRY( 0x11, XREF_DSSTREAMSETALLPARAMETERS1A ), // CDirectSoundStream_SetAllParameters+0x04 : push eax, [esp+0x08] @@ -1279,18 +1282,18 @@ OOVPA_XREF(CDirectSoundStream_SetAllParameters, 3936, 10, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; - +#if 0 // No longer used // ****************************************************************** -// * CDirectSoundStream_SetConeAnglesB +// * CMcpxVoiceClient_Set3dConeAngles // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeAnglesB, 3936, 12, +OOVPA_XREF(CMcpxVoiceClient_Set3dConeAngles, 3936, 12, XREF_DSSTREAMSETCONEANGLES1B, XRefZero) // TODO: re-use for CDirectSoundBuffer_SetConeAnglesB!? - // CDirectSoundStream_SetConeAnglesB+0x04 : or dword ptr [eax+0x80], 0x10 + // CMcpxVoiceClient_Set3dConeAngles+0x04 : or dword ptr [eax+0x80], 0x10 { 0x04, 0x83 }, { 0x05, 0x89 }, { 0x06, 0x80 }, @@ -1299,46 +1302,48 @@ OOVPA_XREF(CDirectSoundStream_SetConeAnglesB, 3936, 12, { 0x09, 0x00 }, { 0x0A, 0x10 }, - // CDirectSoundStream_SetConeAnglesB+0x10 : mov [ecx+0x38], eax + // CMcpxVoiceClient_Set3dConeAngles+0x10 : mov [ecx+0x38], eax { 0x10, 0x89 }, { 0x11, 0x41 }, { 0x12, 0x38 }, - // CDirectSoundStream_SetConeAnglesB+0x25 : retn 0x0C + // CMcpxVoiceClient_Set3dConeAngles+0x25 : retn 0x0C { 0x25, 0xC2 }, { 0x26, 0x0C }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by CDirectSoundVoice_SetConeAngles 3936 // ****************************************************************** -// * CDirectSoundStream_SetConeAnglesA +// * CDirectSoundVoice_SetConeAngles // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeAnglesA, 3936, 12, +OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 3936, 12, XREF_DSSTREAMSETCONEANGLES1A, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetConeAnglesA!? - // CDirectSoundStream_SetConeAnglesA+0x23 : call [IDirectSoundStream::SetConeAnglesB] + // CDirectSoundVoice_SetConeAngles+0x23 : call [CMcpxVoiceClient_Set3dConeAngles] XREF_ENTRY( 0x23, XREF_DSSTREAMSETCONEANGLES1B ), - // CDirectSoundStream_SetConeAnglesA+0x09 : mov eax, [esp+0x18] + // CDirectSoundVoice_SetConeAngles+0x09 : mov eax, [esp+0x18] { 0x09, 0x8B }, { 0x0A, 0x44 }, { 0x0B, 0x24 }, { 0x0C, 0x18 }, - // CDirectSoundStream_SetConeAnglesA+0x0D : not eax; and eax, 1 + // CDirectSoundVoice_SetConeAngles+0x0D : not eax; and eax, 1 { 0x0D, 0xF7 }, { 0x0E, 0xD0 }, { 0x0F, 0x83 }, { 0x10, 0xE0 }, { 0x11, 0x01 }, - // CDirectSoundStream_SetConeAnglesA+0x3C : retn 0x10 + // CDirectSoundVoice_SetConeAngles+0x3C : retn 0x10 { 0x3C, 0xC2 }, { 0x3D, 0x10 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundStream_SetConeAngles @@ -1348,8 +1353,8 @@ OOVPA_XREF(CDirectSoundStream_SetConeAngles, 3936, 10, XRefNoSaveIndex, XRefOne) - // CDirectSoundStream_SetConeAngles+0x15 : call [IDirectSoundStream::SetConeAnglesA] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETCONEANGLES1A ), + // CDirectSoundStream_SetConeAngles+0x15 : call [CDirectSoundVoice_SetConeAngles] + XREF_ENTRY( 0x15, XREF_DSVOICESETCONEANGLES ), // CDirectSoundStream_SetConeAngles+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, @@ -1368,16 +1373,16 @@ OOVPA_XREF(CDirectSoundStream_SetConeAngles, 3936, 10, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetConeOutsideVolumeB +// * CMcpxVoiceClient_Set3dConeOutsideVolume // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolumeB, 3936, 12, +OOVPA_XREF(CMcpxVoiceClient_Set3dConeOutsideVolume, 3936, 12, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B, XRefZero) // TODO: re-use for CDirectSoundBuffer_SetConeOutsideVolumeB!? - // CDirectSoundStream_SetConeOutsideVolumeB+0x04 : or dword ptr [eax+0x80], 0x10 + // CMcpxVoiceClient_Set3dConeOutsideVolume+0x04 : or dword ptr [eax+0x80], 0x10 { 0x04, 0x83 }, { 0x05, 0x89 }, { 0x06, 0x80 }, @@ -1386,43 +1391,43 @@ OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolumeB, 3936, 12, { 0x09, 0x00 }, { 0x0A, 0x10 }, - // CDirectSoundStream_SetConeOutsideVolumeB+0x10 : mov [ecx+0x4C], eax + // CMcpxVoiceClient_Set3dConeOutsideVolume+0x10 : mov [ecx+0x4C], eax { 0x10, 0x89 }, { 0x11, 0x41 }, { 0x12, 0x4C }, - // CDirectSoundStream_SetConeOutsideVolumeB+0x1E : retn 0x08 + // CMcpxVoiceClient_Set3dConeOutsideVolume+0x1E : retn 0x08 { 0x1E, 0xC2 }, { 0x1F, 0x08 }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetConeOutsideVolumeA +// * CDirectSoundVoice_SetConeOutsideVolume // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolumeA, 3936, 12, +OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 3936, 12, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetConeOutsideVolumeA!? - // CDirectSoundStream_SetConeOutsideVolumeA+0x1F : call [IDirectSoundStream::SetConeOutsideVolumeB] + // CDirectSoundVoice_SetConeOutsideVolume+0x1F : call [CMcpxVoiceClient_Set3dConeOutsideVolume] XREF_ENTRY( 0x1F, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B ), - // CDirectSoundStream_SetConeOutsideVolumeA+0x09 : mov eax, [esp+0x14] + // CDirectSoundVoice_SetConeOutsideVolume+0x09 : mov eax, [esp+0x14] { 0x09, 0x8B }, { 0x0A, 0x44 }, { 0x0B, 0x24 }, { 0x0C, 0x14 }, - // CDirectSoundStream_SetConeOutsideVolumeA+0x0D : not eax; and eax, 1 + // CDirectSoundVoice_SetConeOutsideVolume+0x0D : not eax; and eax, 1 { 0x0D, 0xF7 }, { 0x0E, 0xD0 }, { 0x0F, 0x83 }, { 0x10, 0xE0 }, { 0x11, 0x01 }, - // CDirectSoundStream_SetConeOutsideVolumeA+0x38 : retn 0x0C + // CDirectSoundVoice_SetConeOutsideVolume+0x38 : retn 0x0C { 0x38, 0xC2 }, { 0x39, 0x0C }, OOVPA_END; @@ -1435,7 +1440,7 @@ OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 3936, 10, XRefNoSaveIndex, XRefOne) - // CDirectSoundStream_SetConeOutsideVolume+0x11 : call [IDirectSoundStream::SetConeOutsideVolumeA] + // CDirectSoundStream_SetConeOutsideVolume+0x11 : call [CDirectSoundVoice_SetConeOutsideVolume] XREF_ENTRY( 0x11, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A ), // CDirectSoundStream_SetConeOutsideVolume+0x04 : mov eax, [esp+0x08] @@ -1455,16 +1460,16 @@ OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 3936, 10, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetMaxDistanceC +// * CMcpxVoiceClient_Set3dMaxDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMaxDistanceC, 3936, 12, +OOVPA_XREF(CMcpxVoiceClient_Set3dMaxDistance, 3936, 12, XREF_DSSTREAMSETMAXDISTANCE1C, XRefZero) // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceC!? - // CDirectSoundStream_SetMaxDistanceC+0x04 : or byte ptr [ecx+0x80], 0x04 + // CMcpxVoiceClient_Set3dMaxDistance+0x04 : or byte ptr [ecx+0x80], 0x04 { 0x04, 0x83 }, { 0x05, 0x89 }, { 0x06, 0x80 }, @@ -1473,92 +1478,92 @@ OOVPA_XREF(CDirectSoundStream_SetMaxDistanceC, 3936, 12, { 0x09, 0x00 }, { 0x0A, 0x04 }, - // CDirectSoundStream_SetMaxDistanceC+0x10 : mov [ecx+0x54], eax + // CMcpxVoiceClient_Set3dMaxDistance+0x10 : mov [ecx+0x54], eax { 0x10, 0x89 }, { 0x11, 0x41 }, { 0x12, 0x54 }, - // CDirectSoundStream_SetMaxDistanceC+0x1E : retn 0x08 + // CMcpxVoiceClient_Set3dMaxDistance+0x1E : retn 0x08 { 0x1E, 0xC2 }, { 0x1F, 0x08 }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetMaxDistanceB +// * CDirectSoundVoice_SetMaxDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMaxDistanceB, 3936, 15, +OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 3936, 15, XREF_DSSTREAMSETMAXDISTANCE1B, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceB!? - // CDirectSoundStream_SetMaxDistanceB+0x23 : call [IDirectSoundStream::SetMaxDistanceC] + // CDirectSoundVoice_SetMaxDistance+0x23 : call [CMcpxVoiceClient_Set3dMaxDistance] XREF_ENTRY( 0x23, XREF_DSSTREAMSETMAXDISTANCE1C ), - // CDirectSoundStream_SetMaxDistanceB+0x0D : mov eax, [esp+0x14] + // CDirectSoundVoice_SetMaxDistance+0x0D : mov eax, [esp+0x14] { 0x0D, 0x8B }, { 0x0E, 0x44 }, { 0x0F, 0x24 }, { 0x10, 0x14 }, - // CDirectSoundStream_SetMaxDistanceB+0x11 : not eax + // CDirectSoundVoice_SetMaxDistance+0x11 : not eax { 0x11, 0xF7 }, { 0x12, 0xD0 }, - // CDirectSoundStream_SetMaxDistanceB+0x13 : and eax, 1 + // CDirectSoundVoice_SetMaxDistance+0x13 : and eax, 1 { 0x13, 0x83 }, { 0x14, 0xE0 }, { 0x15, 0x01 }, - // CDirectSoundStream_SetMaxDistanceB+0x1C : mov ecx, [eax+0x14] + // CDirectSoundVoice_SetMaxDistance+0x1C : mov ecx, [eax+0x14] { 0x1C, 0x8B }, { 0x1D, 0x48 }, { 0x1E, 0x14 }, - // CDirectSoundStream_SetMaxDistanceB+0x3C : retn 0x0C + // CDirectSoundVoice_SetMaxDistance+0x3C : retn 0x0C { 0x3C, 0xC2 }, { 0x3D, 0x0C }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetMaxDistanceA +// * CDirectSoundStream_SetMaxDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMaxDistanceA, 3936, 10, +OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 3936, 10, XREF_DSSTREAMSETMAXDISTANCE1A, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceA!? - // CDirectSoundStream_SetMaxDistanceA+0x15 : call [IDirectSoundStream::SetMaxDistanceB] + // CDirectSoundStream_SetMaxDistance+0x15 : call [CDirectSoundVoice_SetMaxDistance] XREF_ENTRY( 0x15, XREF_DSSTREAMSETMAXDISTANCE1B ), - // CDirectSoundStream_SetMaxDistanceA+0x04 : fld [esp+0x0C] + // CDirectSoundStream_SetMaxDistance+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, { 0x05, 0x44 }, { 0x06, 0x24 }, { 0x07, 0x0C }, - // CDirectSoundStream_SetMaxDistanceA+0x0D : add eax, 0x04 + // CDirectSoundStream_SetMaxDistance+0x0D : add eax, 0x04 { 0x0D, 0x83 }, { 0x0E, 0xC0 }, { 0x0F, 0x04 }, - // CDirectSoundStream_SetMaxDistanceA+0x19 : retn 0x0C + // CDirectSoundStream_SetMaxDistance+0x19 : retn 0x0C { 0x19, 0xC2 }, { 0x1A, 0x0C }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetMaxDistance +// * IDirectSoundStream_SetMaxDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 3936, 11, +OOVPA_XREF(IDirectSoundStream_SetMaxDistance, 3936, 11, XRefNoSaveIndex, XRefOne) - // CDirectSoundStream_SetMaxDistance+0x11 : call [IDirectSoundStream::SetMaxDistanceA] + // CDirectSoundStream_SetMaxDistance+0x11 : call [CDirectSoundStream_SetMaxDistance] XREF_ENTRY( 0x11, XREF_DSSTREAMSETMAXDISTANCE1A ), // CDirectSoundStream_SetMaxDistance+0x04 : fld [esp+0x0C] @@ -1579,16 +1584,16 @@ OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 3936, 11, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetMinDistanceC +// * CMcpxVoiceClient_Set3dMinDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMinDistanceC, 3936, 12, +OOVPA_XREF(CMcpxVoiceClient_Set3dMinDistance, 3936, 12, XREF_DSSTREAMSETMINDISTANCE1C, XRefZero) // TODO: re-use for CDirectSoundBuffer_SetMinDistanceC!? - // CDirectSoundStream_SetMinDistanceC+0x04 : or byte ptr [ecx+0x80], 0x04 + // CMcpxVoiceClient_Set3dMinDistance+0x04 : or byte ptr [ecx+0x80], 0x04 { 0x04, 0x83 }, { 0x05, 0x89 }, { 0x06, 0x80 }, @@ -1597,79 +1602,79 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistanceC, 3936, 12, { 0x09, 0x00 }, { 0x0A, 0x04 }, - // CDirectSoundStream_SetMinDistanceC+0x10 : mov [ecx+0x50], eax + // CMcpxVoiceClient_Set3dMinDistance+0x10 : mov [ecx+0x50], eax { 0x10, 0x89 }, { 0x11, 0x41 }, { 0x12, 0x50 }, - // CDirectSoundStream_SetMinDistanceC+0x1E : retn 0x08 + // CMcpxVoiceClient_Set3dMinDistance+0x1E : retn 0x08 { 0x1E, 0xC2 }, { 0x1F, 0x08 }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetMinDistanceB +// * CDirectSoundVoice_SetMinDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMinDistanceB, 3936, 15, +OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 3936, 15, XREF_DSSTREAMSETMINDISTANCE1B, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMinDistanceB!? - // CDirectSoundStream_SetMinDistanceB+0x23 : call [IDirectSoundStream::SetMinDistanceC] + // CDirectSoundVoice_SetMinDistance+0x23 : call [CMcpxVoiceClient_Set3dMinDistance] XREF_ENTRY( 0x23, XREF_DSSTREAMSETMINDISTANCE1C ), - // CDirectSoundStream_SetMinDistanceB+0x0D : mov eax, [esp+0x14] + // CDirectSoundVoice_SetMinDistance+0x0D : mov eax, [esp+0x14] { 0x0D, 0x8B }, { 0x0E, 0x44 }, { 0x0F, 0x24 }, { 0x10, 0x14 }, - // CDirectSoundStream_SetMinDistanceB+0x11 : not eax + // CDirectSoundVoice_SetMinDistance+0x11 : not eax { 0x11, 0xF7 }, { 0x12, 0xD0 }, - // CDirectSoundStream_SetMinDistanceB+0x13 : and eax, 1 + // CDirectSoundVoice_SetMinDistance+0x13 : and eax, 1 { 0x13, 0x83 }, { 0x14, 0xE0 }, { 0x15, 0x01 }, - // CDirectSoundStream_SetMinDistanceB+0x1C : mov ecx, [eax+0x14] + // CDirectSoundVoice_SetMinDistance+0x1C : mov ecx, [eax+0x14] { 0x1C, 0x8B }, { 0x1D, 0x48 }, { 0x1E, 0x14 }, - // CDirectSoundStream_SetMinDistanceB+0x3C : retn 0x0C + // CDirectSoundVoice_SetMinDistance+0x3C : retn 0x0C { 0x3C, 0xC2 }, { 0x3D, 0x0C }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetMinDistanceA +// * CDirectSoundStream_SetMinDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMinDistanceA, 3936, 10, +OOVPA_XREF(CDirectSoundStream_SetMinDistance, 3936, 10, XREF_DSSTREAMSETMINDISTANCE1A, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMinDistanceA!? - // CDirectSoundStream_SetMinDistanceA+0x15 : call [IDirectSoundStream::SetMinDistanceB] + // CDirectSoundStream_SetMinDistance+0x15 : call [CDirectSoundVoice_SetMinDistance] XREF_ENTRY( 0x15, XREF_DSSTREAMSETMINDISTANCE1B ), - // CDirectSoundStream_SetMinDistanceA+0x04 : fld [esp+0x0C] + // CDirectSoundStream_SetMinDistance+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, { 0x05, 0x44 }, { 0x06, 0x24 }, { 0x07, 0x0C }, - // CDirectSoundStream_SetMinDistanceA+0x0D : add eax, 0x04 + // CDirectSoundStream_SetMinDistance+0x0D : add eax, 0x04 { 0x0D, 0x83 }, { 0x0E, 0xC0 }, { 0x0F, 0x04 }, - // CDirectSoundStream_SetMinDistanceA+0x19 : retn 0x0C + // CDirectSoundStream_SetMinDistance+0x19 : retn 0x0C { 0x19, 0xC2 }, { 0x1A, 0x0C }, OOVPA_END; @@ -1677,12 +1682,12 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMinDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMinDistance, 3936, 11, +OOVPA_XREF(IDirectSoundStream_SetMinDistance, 3936, 11, XRefNoSaveIndex, XRefOne) - // CDirectSoundStream_SetMinDistance+0x11 : call [IDirectSoundStream::SetMinDistanceA] + // CDirectSoundStream_SetMinDistance+0x11 : call [CDirectSoundStream_SetMinDistance] XREF_ENTRY( 0x11, XREF_DSSTREAMSETMINDISTANCE1A ), // CDirectSoundStream_SetMinDistance+0x04 : fld [esp+0x0C] @@ -1703,19 +1708,19 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistance, 3936, 11, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetVelocityC +// * CMcpxVoiceClient_Set3dVelocity // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetVelocityC, 3936, 12, +OOVPA_XREF(CMcpxVoiceClient_Set3dVelocity, 3936, 12, XREF_DSSTREAMSETVELOCITY1C, XRefZero) - // CDirectSoundStream_SetVelocityC+0x09 : movsd; movsd; movsd + // CMcpxVoiceClient_Set3dVelocity+0x09 : movsd; movsd; movsd { 0x09, 0xA5 }, { 0x0A, 0xA5 }, { 0x0B, 0xA5 }, - // CDirectSoundStream_SetVelocityC+0x0C : or byte ptr [ecx+0x80], 0x40 + // CMcpxVoiceClient_Set3dVelocity+0x0C : or byte ptr [ecx+0x80], 0x40 { 0x0C, 0x83 }, { 0x0D, 0x89 }, { 0x0E, 0x80 }, @@ -1724,81 +1729,81 @@ OOVPA_XREF(CDirectSoundStream_SetVelocityC, 3936, 12, { 0x11, 0x00 }, { 0x12, 0x40 }, - // CDirectSoundStream_SetVelocityC+0x25 : retn 0x08 + // CMcpxVoiceClient_Set3dVelocity+0x25 : retn 0x08 { 0x25, 0xC2 }, { 0x26, 0x08 }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetVelocityB +// * CDirectSoundVoice_SetVelocity // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetVelocityB, 3936, 14, +OOVPA_XREF(CDirectSoundVoice_SetVelocity, 3936, 14, XREF_DSSTREAMSETVELOCITY1B, XRefOne) - // CDirectSoundStream_SetVelocityB+0x35 : call [IDirectSoundStream::SetVelocityC] + // CDirectSoundVoice_SetVelocity+0x35 : call [CMcpxVoiceClient_Set3dVelocity] XREF_ENTRY( 0x35, XREF_DSSTREAMSETVELOCITY1C ), - // CDirectSoundStream_SetVelocityB+0x21 : mov eax, [ebp+0x18] + // CDirectSoundVoice_SetVelocity+0x21 : mov eax, [ebp+0x18] { 0x21, 0x8B }, { 0x22, 0x45 }, { 0x23, 0x18 }, - // CDirectSoundStream_SetVelocityB+0x24 : not eax + // CDirectSoundVoice_SetVelocity+0x24 : not eax { 0x24, 0xF7 }, { 0x25, 0xD0 }, - // CDirectSoundStream_SetVelocityB+0x26 : and eax, 1 + // CDirectSoundVoice_SetVelocity+0x26 : and eax, 1 { 0x26, 0x83 }, { 0x27, 0xE0 }, { 0x28, 0x01 }, - // CDirectSoundStream_SetVelocityB+0x31 : mov ecx, [eax+0x14] + // CDirectSoundVoice_SetVelocity+0x31 : mov ecx, [eax+0x14] { 0x31, 0x8B }, { 0x32, 0x48 }, { 0x33, 0x14 }, - // CDirectSoundStream_SetVelocityB+0x4F : retn 0x14 + // CDirectSoundVoice_SetVelocity+0x4F : retn 0x14 { 0x4F, 0xC2 }, { 0x50, 0x14 }, OOVPA_END; -// ****************************************************************** -// * CDirectSoundStream_SetVelocityA -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetVelocityA, 3936, 9, - - XREF_DSSTREAMSETVELOCITY1A, - XRefOne) - - // CDirectSoundStream_SetVelocityA+0x25 : call [IDirectSoundStream::SetVelocityB] - XREF_ENTRY( 0x25, XREF_DSSTREAMSETVELOCITY1B ), - - // CDirectSoundStream_SetVelocityA+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // CDirectSoundStream_SetVelocityA+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, - { 0x0D, 0xEC }, - { 0x0E, 0x0C }, - - // CDirectSoundStream_SetVelocityA+0x2A : retn 0x14 - { 0x2A, 0xC2 }, - { 0x2B, 0x14 }, -OOVPA_END; - // ****************************************************************** // * CDirectSoundStream_SetVelocity // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetVelocity, 3936, 9, + XREF_DSSTREAMSETVELOCITY1A, + XRefOne) + + // CDirectSoundStream_SetVelocity+0x25 : call [CDirectSoundVoice_SetVelocity] + XREF_ENTRY( 0x25, XREF_DSSTREAMSETVELOCITY1B ), + + // CDirectSoundStream_SetVelocity+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // CDirectSoundStream_SetVelocity+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, + + // CDirectSoundStream_SetVelocity+0x2A : retn 0x14 + { 0x2A, 0xC2 }, + { 0x2B, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetVelocity +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetVelocity, 3936, 9, + XRefNoSaveIndex, XRefOne) - // CDirectSoundStream_SetVelocity+0x21 : call [IDirectSoundStream::SetVelocityA] + // CDirectSoundStream_SetVelocity+0x21 : call [CDirectSoundStream_SetVelocity] XREF_ENTRY( 0x21, XREF_DSSTREAMSETVELOCITY1A ), // CDirectSoundStream_SetVelocity+0x06 : fld [ebp+0x14] @@ -1869,16 +1874,16 @@ OOVPA_XREF(IDirectSoundBuffer_SetVelocity, 3936, 9, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetConeOrientationC +// * CMcpxVoiceClient_Set3dConeOrientation // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOrientationC, 3936, 11, +OOVPA_XREF(CMcpxVoiceClient_Set3dConeOrientation, 3936, 11, XREF_DSSTREAMSETCONEORIENTATION1C, XRefZero) // TODO: re-use for CDirectSoundBuffer_SetConeOrientationC!? - // CDirectSoundStream_SetConeOrientationC+0x0C : or byte ptr [ecx+0x80], 0x18 + // CMcpxVoiceClient_Set3dConeOrientation+0x0C : or byte ptr [ecx+0x80], 0x18 { 0x0C, 0x83 }, { 0x0D, 0x89 }, { 0x0E, 0x80 }, @@ -1887,115 +1892,115 @@ OOVPA_XREF(CDirectSoundStream_SetConeOrientationC, 3936, 11, { 0x11, 0x00 }, { 0x12, 0x18 }, - // CDirectSoundStream_SetConeOrientationC+0x1A : jz +0x07 + // CMcpxVoiceClient_Set3dConeOrientation+0x1A : jz +0x07 { 0x1A, 0x74 }, { 0x1B, 0x07 }, - // CDirectSoundStream_SetConeOrientationC+0x25 : retn 0x08 + // CMcpxVoiceClient_Set3dConeOrientation+0x25 : retn 0x08 { 0x25, 0xC2 }, { 0x26, 0x08 }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetConeOrientationB +// * CDirectSoundVoice_SetConeOrientation // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOrientationB, 3936, 14, +OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 3936, 14, XREF_DSSTREAMSETCONEORIENTATION1B, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetConeOrientationB!? - // CDirectSoundStream_SetConeOrientationB+0x35 : call [IDirectSoundStream::SetConeOrientationC] + // CDirectSoundVoice_SetConeOrientation+0x35 : call [CMcpxVoiceClient_Set3dConeOrientation] XREF_ENTRY( 0x35, XREF_DSSTREAMSETCONEORIENTATION1C ), - // CDirectSoundStream_SetConeOrientationB+0x21 : mov eax, [ebp+0x18] + // CDirectSoundVoice_SetConeOrientation+0x21 : mov eax, [ebp+0x18] { 0x21, 0x8B }, { 0x22, 0x45 }, { 0x23, 0x18 }, - // CDirectSoundStream_SetConeOrientationB+0x24 : not eax + // CDirectSoundVoice_SetConeOrientation+0x24 : not eax { 0x24, 0xF7 }, { 0x25, 0xD0 }, - // CDirectSoundStream_SetConeOrientationB+0x26 : and eax, 1 + // CDirectSoundVoice_SetConeOrientation+0x26 : and eax, 1 { 0x26, 0x83 }, { 0x27, 0xE0 }, { 0x28, 0x01 }, - // CDirectSoundStream_SetConeOrientationB+0x31 : mov ecx, [eax+0x14] + // CDirectSoundVoice_SetConeOrientation+0x31 : mov ecx, [eax+0x14] { 0x31, 0x8B }, { 0x32, 0x48 }, { 0x33, 0x14 }, - // CDirectSoundStream_SetConeOrientationB+0x4F : retn 0x14 + // CDirectSoundVoice_SetConeOrientation+0x4F : retn 0x14 { 0x4F, 0xC2 }, { 0x50, 0x14 }, OOVPA_END; -// ****************************************************************** -// * CDirectSoundStream_SetConeOrientationA -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetConeOrientationA, 3936, 9, - - XREF_DSSTREAMSETCONEORIENTATION1A, - XRefOne) - - // TODO: re-use for CDirectSoundBuffer_SetConeOrientationA!? - - // CDirectSoundStream_SetConeOrientationA+0x25 : call [IDirectSoundStream::SetConeOrientationB] - XREF_ENTRY( 0x25, XREF_DSSTREAMSETCONEORIENTATION1B ), - - // CDirectSoundStream_SetConeOrientationA+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // CDirectSoundStream_SetConeOrientationA+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, - { 0x0D, 0xEC }, - { 0x0E, 0x0C }, - - // CDirectSoundStream_SetConeOrientationA+0x2A : retn 0x14 - { 0x2A, 0xC2 }, - { 0x2B, 0x14 }, -OOVPA_END; - // ****************************************************************** // * CDirectSoundStream_SetConeOrientation // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 3936, 9, - XRefNoSaveIndex, + XREF_DSSTREAMSETCONEORIENTATION1A, XRefOne) - // CDirectSoundStream_SetConeOrientation+0x21 : call [IDirectSoundStream::SetConeOrientationA] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETCONEORIENTATION1A ), + // TODO: re-use for CDirectSoundBuffer_SetConeOrientationA!? + + // CDirectSoundStream_SetConeOrientation+0x25 : call [CDirectSoundVoice_SetConeOrientation] + XREF_ENTRY( 0x25, XREF_DSSTREAMSETCONEORIENTATION1B ), // CDirectSoundStream_SetConeOrientation+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, { 0x07, 0x45 }, { 0x08, 0x14 }, - // CDirectSoundStream_SetConeOrientation+0x1A : fstp [esp] + // CDirectSoundStream_SetConeOrientation+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, + + // CDirectSoundStream_SetConeOrientation+0x2A : retn 0x14 + { 0x2A, 0xC2 }, + { 0x2B, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetConeOrientation +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetConeOrientation, 3936, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetConeOrientation+0x21 : call [CDirectSoundStream_SetConeOrientation] + XREF_ENTRY( 0x21, XREF_DSSTREAMSETCONEORIENTATION1A ), + + // IDirectSoundStream_SetConeOrientation+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // IDirectSoundStream_SetConeOrientation+0x1A : fstp [esp] { 0x1A, 0xD9 }, { 0x1B, 0x1C }, { 0x1C, 0x24 }, - // CDirectSoundStream_SetConeOrientation+0x26 : retn 0x14 + // IDirectSoundStream_SetConeOrientation+0x26 : retn 0x14 { 0x26, 0xC2 }, { 0x27, 0x14 }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetPositionC +// * CMcpxVoiceClient_Set3dPosition // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetPositionC, 3936, 11, +OOVPA_XREF(CMcpxVoiceClient_Set3dPosition, 3936, 11, XREF_DSSTREAMSETPOSITION1C, XRefZero) - // CDirectSoundStream_SetPositionC+0x0C : or byte ptr [ecx+0x80], 0xFF + // CMcpxVoiceClient_Set3dPosition+0x0C : or byte ptr [ecx+0x80], 0xFF { 0x0C, 0x80 }, { 0x0D, 0x89 }, { 0x0E, 0x80 }, @@ -2004,98 +2009,98 @@ OOVPA_XREF(CDirectSoundStream_SetPositionC, 3936, 11, { 0x11, 0x00 }, { 0x12, 0xFF }, - // CDirectSoundStream_SetPositionC+0x1A : jz +0x07 + // CMcpxVoiceClient_Set3dPosition+0x1A : jz +0x07 { 0x1A, 0x74 }, { 0x1B, 0x07 }, - // CDirectSoundStream_SetPositionC+0x25 : retn 0x08 + // CMcpxVoiceClient_Set3dPosition+0x25 : retn 0x08 { 0x25, 0xC2 }, { 0x26, 0x08 }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetPositionB +// * CDirectSoundVoice_SetPosition // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetPositionB, 3936, 14, +OOVPA_XREF(CDirectSoundVoice_SetPosition, 3936, 14, XREF_DSSTREAMSETPOSITION1B, XRefOne) - // CDirectSoundStream_SetPositionB+0x35 : call [IDirectSoundStream::SetPositionC] + // CDirectSoundVoice_SetPosition+0x35 : call [CMcpxVoiceClient_Set3dPosition] XREF_ENTRY( 0x35, XREF_DSSTREAMSETPOSITION1C ), - // CDirectSoundStream_SetPositionB+0x21 : mov eax, [ebp+0x18] + // CDirectSoundVoice_SetPosition+0x21 : mov eax, [ebp+0x18] { 0x21, 0x8B }, { 0x22, 0x45 }, { 0x23, 0x18 }, - // CDirectSoundStream_SetPositionB+0x24 : not eax + // CDirectSoundVoice_SetPosition+0x24 : not eax { 0x24, 0xF7 }, { 0x25, 0xD0 }, - // CDirectSoundStream_SetPositionB+0x26 : and eax, 1 + // CDirectSoundVoice_SetPosition+0x26 : and eax, 1 { 0x26, 0x83 }, { 0x27, 0xE0 }, { 0x28, 0x01 }, - // CDirectSoundStream_SetPositionB+0x31 : mov ecx, [eax+0x14] + // CDirectSoundVoice_SetPosition+0x31 : mov ecx, [eax+0x14] { 0x31, 0x8B }, { 0x32, 0x48 }, { 0x33, 0x14 }, - // CDirectSoundStream_SetPositionB+0x4F : retn 0x14 + // CDirectSoundVoice_SetPosition+0x4F : retn 0x14 { 0x4F, 0xC2 }, { 0x50, 0x14 }, OOVPA_END; -// ****************************************************************** -// * CDirectSoundStream_SetPositionA -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetPositionA, 3936, 9, - - XREF_DSSTREAMSETPOSITION1A, - XRefOne) - - // CDirectSoundStream_SetPositionA+0x25 : call [IDirectSoundStream::SetPositionB] - XREF_ENTRY( 0x25, XREF_DSSTREAMSETPOSITION1B ), - - // CDirectSoundStream_SetPositionA+0x06 : fld [ebp+0x14] - { 0x06, 0xD9 }, - { 0x07, 0x45 }, - { 0x08, 0x14 }, - - // CDirectSoundStream_SetPositionA+0x0C : sub esp, 0x0C - { 0x0C, 0x83 }, - { 0x0D, 0xEC }, - { 0x0E, 0x0C }, - - // CDirectSoundStream_SetPositionA+0x2A : retn 0x14 - { 0x2A, 0xC2 }, - { 0x2B, 0x14 }, -OOVPA_END; - // ****************************************************************** // * CDirectSoundStream_SetPosition // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetPosition, 3936, 9, - XRefNoSaveIndex, + XREF_DSSTREAMSETPOSITION1A, XRefOne) - // CDirectSoundStream_SetPosition+0x21 : call [IDirectSoundStream::SetPositionA] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETPOSITION1A ), + // CDirectSoundStream_SetPosition+0x25 : call [CDirectSoundVoice_SetPosition] + XREF_ENTRY( 0x25, XREF_DSSTREAMSETPOSITION1B ), // CDirectSoundStream_SetPosition+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, { 0x07, 0x45 }, { 0x08, 0x14 }, - // CDirectSoundStream_SetPosition+0x1A : fstp [esp] + // CDirectSoundStream_SetPosition+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, + + // CDirectSoundStream_SetPosition+0x2A : retn 0x14 + { 0x2A, 0xC2 }, + { 0x2B, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetPosition +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetPosition, 3936, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetPosition+0x21 : call [CDirectSoundStream_SetPosition] + XREF_ENTRY( 0x21, XREF_DSSTREAMSETPOSITION1A ), + + // IDirectSoundStream_SetPosition+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // IDirectSoundStream_SetPosition+0x1A : fstp [esp] { 0x1A, 0xD9 }, { 0x1B, 0x1C }, { 0x1C, 0x24 }, - // CDirectSoundStream_SetPosition+0x26 : retn 0x14 + // IDirectSoundStream_SetPosition+0x26 : retn 0x14 { 0x26, 0xC2 }, { 0x27, 0x14 }, OOVPA_END; @@ -2108,7 +2113,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetPosition, 3936, 9, XREF_DSBUFFERSETPOSITION, XRefOne) - // CDirectSoundBuffer_SetPosition+0x20 : call [CDirectSoundStream::PositionB] + // CDirectSoundBuffer_SetPosition+0x20 : call [CDirectSoundVoice_SetPosition] XREF_ENTRY( 0x21, XREF_DSSTREAMSETPOSITION1B ), // CDirectSoundBuffer_SetPosition+0x06 : fld [ebp+arg_C] @@ -2153,55 +2158,55 @@ OOVPA_XREF(IDirectSoundBuffer_SetPosition, 3936, 9, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetFrequencyB +// * XAudioCalculatePitch // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFrequencyB, 3936, 11, +OOVPA_XREF(XAudioCalculatePitch, 3936, 11, XREF_DSSTREAMSETFREQUENCY1B, XRefZero) - // CDirectSoundStream_SetFrequencyB+0x08 : cmp esi, 0xBB80 + // XAudioCalculatePitch+0x08 : cmp esi, 0xBB80 { 0x08, 0x81 }, { 0x09, 0xFE }, { 0x0A, 0x80 }, { 0x0B, 0xBB }, - // CDirectSoundStream_SetFrequencyB+0x1D : jmp +0x2B + // XAudioCalculatePitch+0x1D : jmp +0x2B { 0x1D, 0xEB }, { 0x1E, 0x2B }, - // CDirectSoundStream_SetFrequencyB+0x1F : lea ecx, [ebp+0x08] + // XAudioCalculatePitch+0x1F : lea ecx, [ebp+0x08] { 0x1F, 0x8D }, { 0x20, 0x4D }, { 0x21, 0x08 }, - // CDirectSoundStream_SetFrequencyB+0x4E : retn 0x08 + // XAudioCalculatePitch+0x4E : retn 0x08 { 0x4E, 0xC2 }, { 0x4F, 0x04 }, OOVPA_END; // ****************************************************************** -// * CDirectSoundStream_SetFrequencyA +// * CDirectSoundVoice_SetFrequency // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFrequencyA, 3936, 9, +OOVPA_XREF(CDirectSoundVoice_SetFrequency, 3936, 9, XREF_DSSTREAMSETFREQUENCY1A, XRefOne) - // CDirectSoundStream_SetFrequencyA+0x1F : call [CDirectSoundStream::SetFrequencyB] + // CDirectSoundVoice_SetFrequency+0x1F : call [XAudioCalculatePitch] XREF_ENTRY( 0x20, XREF_DSSTREAMSETFREQUENCY1B ), - // CDirectSoundStream_SetFrequencyA+0x15 : mov eax, [esi+0x18] + // CDirectSoundVoice_SetFrequency+0x15 : mov eax, [esi+0x18] { 0x15, 0x8B }, { 0x16, 0x46 }, { 0x17, 0x18 }, - // CDirectSoundStream_SetFrequencyA+0x18 : mov eax, [eax+0x10] + // CDirectSoundVoice_SetFrequency+0x18 : mov eax, [eax+0x10] { 0x18, 0x8B }, { 0x19, 0x40 }, { 0x1A, 0x10 }, - // CDirectSoundStream_SetFrequencyA+0x40 : retn 0x08 + // CDirectSoundVoice_SetFrequency+0x40 : retn 0x08 { 0x40, 0xC2 }, { 0x41, 0x08 }, OOVPA_END; @@ -2214,7 +2219,7 @@ OOVPA_XREF(CDirectSoundStream_SetFrequency, 3936, 10, XRefNoSaveIndex, XRefOne) - // CDirectSoundStream_SetFrequency+0x0D : call [IDirectSoundStream::SetFrequency] + // CDirectSoundStream_SetFrequency+0x0D : call [CDirectSoundVoice_SetFrequency] XREF_ENTRY( 0x0D, XREF_DSSTREAMSETFREQUENCY1A ), // CDirectSoundStream_SetFrequency+0x04 : mov eax, [esp+0x08] @@ -2241,7 +2246,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 3936, 8, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetFrequency+0x15 : call [IDirectSoundStream::SetFrequency] + // IDirectSoundBuffer_SetFrequency+0x15 : call [CDirectSoundVoice_SetFrequency] XREF_ENTRY( 0x15, XREF_DSSTREAMSETFREQUENCY1A ), // IDirectSoundBuffer_SetFrequency+0x0A : add eax, 0xFFFFFFE4 @@ -2338,7 +2343,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 3936, 10, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#if 0 // No longer used, not available by 3936 // ****************************************************************** // * CDirectSoundStream_SetRolloffFactor // ****************************************************************** @@ -2365,7 +2370,8 @@ OOVPA_XREF(CDirectSoundStream_SetRolloffFactor, 3936, 10, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by CDirectSoundVoice_SetHeadroom 3936 version // ****************************************************************** // * CDirectSoundVoice_SetHeadroom // ****************************************************************** @@ -2385,6 +2391,7 @@ OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 3936, 10, { 0x3C, 0xC2 }, { 0x3D, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundStream_SetHeadroom @@ -2395,7 +2402,7 @@ OOVPA_XREF(CDirectSoundStream_SetHeadroom, 3936, 10, XRefOne) // CDirectSoundStream_SetHeadroom+0x0D : call [DirectSound_CDirectSoundVoice_SetHeadroom] - XREF_ENTRY( 0x0D, XREF_DSSETHEADROOMA ), + XREF_ENTRY( 0x0D, XREF_DSBUFFERSETHEADROOMA ), // CDirectSoundStream_SetHeadroom+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, @@ -2443,14 +2450,14 @@ OOVPA_NO_XREF(IDirectSound_SetOrientation, 3936, 13) OOVPA_END; // ****************************************************************** -// * CDirectSound::CommitDeferredSettingsB +// * CMcpxAPU_Commit3dSettings // ****************************************************************** -OOVPA_XREF(CDirectSound_CommitDeferredSettingsB, 3936, 11, +OOVPA_XREF(CMcpxAPU_Commit3dSettings, 3936, 11, XREF_COMMITDEFERREDSETTINGSB, XRefZero) - // CDirectSound_CommitDeferredSettingsB+0x56 : fld dword ptr [eax+0x174] + // CMcpxAPU_Commit3dSettings+0x56 : fld dword ptr [eax+0x174] { 0x56, 0xD9 }, { 0x57, 0x80 }, { 0x58, 0x74 }, @@ -2458,66 +2465,66 @@ OOVPA_XREF(CDirectSound_CommitDeferredSettingsB, 3936, 11, { 0x5A, 0x00 }, { 0x5B, 0x00 }, - // CDirectSound_CommitDeferredSettingsB+0xA8 : fsubp st(1), st + // CMcpxAPU_Commit3dSettings+0xA8 : fsubp st(1), st { 0xA8, 0xDE }, { 0xA9, 0xE9 }, - // CDirectSound_CommitDeferredSettingsB+0xD4 : mov esi, 0x118 + // CMcpxAPU_Commit3dSettings+0xD4 : mov esi, 0x118 { 0xD4, 0xBE }, { 0xD5, 0x18 }, { 0xD6, 0x01 }, OOVPA_END; // ****************************************************************** -// * CDirectSound::CommitDeferredSettingsA +// * CDirectSound_CommitDeferredSettings // ****************************************************************** -OOVPA_XREF(CDirectSound_CommitDeferredSettingsA, 3936, 10, +OOVPA_XREF(CDirectSound_CommitDeferredSettings, 3936, 10, XREF_COMMITDEFERREDSETTINGSA, XRefOne) - // CDirectSound_CommitDeferredSettingsA+0x12 : call [CDirectSound::CommitDeferredSettingsB] + // CDirectSound_CommitDeferredSettings+0x12 : call [CMcpxAPU_Commit3dSettings] XREF_ENTRY( 0x12, XREF_COMMITDEFERREDSETTINGSB ), - // CDirectSound_CommitDeferredSettingsA+0x0C : mov ecx, [eax+0x0C] + // CDirectSound_CommitDeferredSettings+0x0C : mov ecx, [eax+0x0C] { 0x0C, 0x8B }, { 0x0D, 0x48 }, { 0x0E, 0x0C }, - // CDirectSound_CommitDeferredSettingsA+0x0F : push 0 + // CDirectSound_CommitDeferredSettings+0x0F : push 0 { 0x0F, 0x6A }, { 0x10, 0x00 }, - // CDirectSound_CommitDeferredSettingsA+0x19 : jz +0x0B + // CDirectSound_CommitDeferredSettings+0x19 : jz +0x0B { 0x19, 0x74 }, { 0x1A, 0x0B }, - // CDirectSound_CommitDeferredSettingsA+0x28 : retn 0x04 + // CDirectSound_CommitDeferredSettings+0x28 : retn 0x04 { 0x28, 0xC2 }, { 0x29, 0x04 }, OOVPA_END; // ****************************************************************** -// * CDirectSound_CommitDeferredSettings +// * IDirectSound_CommitDeferredSettings // ****************************************************************** -OOVPA_XREF(CDirectSound_CommitDeferredSettings, 3936, 8, +OOVPA_XREF(IDirectSound_CommitDeferredSettings, 3936, 8, XRefNoSaveIndex, XRefOne) - // CDirectSound_CommitDeferredSettings+0x11 : call [CDirectSound::CommitDeferredSettingsA] + // IDirectSound_CommitDeferredSettings+0x11 : call [CDirectSound_CommitDeferredSettings] XREF_ENTRY( 0x11, XREF_COMMITDEFERREDSETTINGSA ), - // CDirectSound_CommitDeferredSettings+0x06 : and eax, 0xFFFFFFF8 + // IDirectSound_CommitDeferredSettings+0x06 : and eax, 0xFFFFFFF8 { 0x06, 0x83 }, { 0x07, 0xC0 }, { 0x08, 0xF8 }, - // CDirectSound_CommitDeferredSettings+0x09 : neg ecx + // IDirectSound_CommitDeferredSettings+0x09 : neg ecx { 0x09, 0xF7 }, { 0x0A, 0xD9 }, - // CDirectSound_CommitDeferredSettings+0x15 : retn 0x04 + // IDirectSound_CommitDeferredSettings+0x15 : retn 0x04 { 0x15, 0xC2 }, { 0x16, 0x04 }, OOVPA_END; @@ -2547,14 +2554,14 @@ OOVPA_NO_XREF(IDirectSound_Release, 3936, 10) OOVPA_END; // ****************************************************************** -// * CDirectSound::SetDistanceFactorB +// * CMcpxAPU_Set3dDistanceFactor // ****************************************************************** -OOVPA_XREF(CDirectSound_SetDistanceFactorB, 3936, 13, +OOVPA_XREF(CMcpxAPU_Set3dDistanceFactor, 3936, 13, XREF_SETDISTANCEFACTORB, XRefZero) - // CDirectSound_SetDistanceFactorB+0x04 : or dword ptr [ecx+0x01B4], 0x60 + // CMcpxAPU_Set3dDistanceFactor+0x04 : or dword ptr [ecx+0x01B4], 0x60 { 0x04, 0x83 }, { 0x05, 0x89 }, { 0x06, 0xB4 }, @@ -2563,39 +2570,39 @@ OOVPA_XREF(CDirectSound_SetDistanceFactorB, 3936, 13, { 0x09, 0x00 }, { 0x0A, 0x60 }, - // CDirectSound_SetDistanceFactorB+0x0B : cmp [esp+0x08], 0 + // CMcpxAPU_Set3dDistanceFactor+0x0B : cmp [esp+0x08], 0 { 0x0B, 0x83 }, { 0x0C, 0x7C }, { 0x0D, 0x24 }, { 0x0E, 0x08 }, - // CDirectSound_SetDistanceFactorB+0x12 : mov [ecx+0x0178], eax + // CMcpxAPU_Set3dDistanceFactor+0x12 : mov [ecx+0x0178], eax { 0x12, 0x78 }, { 0x13, 0x01 }, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetDistanceFactorA +// * CDirectSound_SetDistanceFactor // ****************************************************************** -OOVPA_XREF(CDirectSound_SetDistanceFactorA, 3936, 12, +OOVPA_XREF(CDirectSound_SetDistanceFactor, 3936, 12, XREF_SETDISTANCEFACTORA, XRefOne) - // CDirectSound_SetDistanceFactorA+0x23 : call [CDirectSound::SetDistanceFactorB] + // CDirectSound_SetDistanceFactor+0x23 : call [CMcpxAPU_Set3dDistanceFactor] XREF_ENTRY( 0x23, XREF_SETDISTANCEFACTORB ), - // CDirectSound_SetDistanceFactorA+0x00 : push esi; push edi + // CDirectSound_SetDistanceFactor+0x00 : push esi; push edi { 0x00, 0x56 }, { 0x01, 0x57 }, - // CDirectSound_SetDistanceFactorA+0x07 : fld [esp+0x10] + // CDirectSound_SetDistanceFactor+0x07 : fld [esp+0x10] { 0x07, 0xD9 }, { 0x08, 0x44 }, { 0x09, 0x24 }, { 0x0A, 0x10 }, - // CDirectSound_SetDistanceFactorA+0x11 : not eax; and eax, 1 + // CDirectSound_SetDistanceFactor+0x11 : not eax; and eax, 1 { 0x11, 0xF7 }, { 0x12, 0xD0 }, { 0x13, 0x83 }, @@ -2613,7 +2620,7 @@ OOVPA_XREF(IDirectSound_SetDistanceFactor, 3936, 11, // TODO: Tentative (may not be SetDistanceFactor) - // IDirectSound_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactorA] + // IDirectSound_SetDistanceFactor+0x1D : call [CDirectSound_SetDistanceFactor] XREF_ENTRY( 0x1D, XREF_SETDISTANCEFACTORA ), // IDirectSound_SetDistanceFactor+0x04 : fld [esp+0x0C] @@ -2636,14 +2643,14 @@ OOVPA_XREF(IDirectSound_SetDistanceFactor, 3936, 11, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetRolloffFactorB +// * CMcpxAPU_Set3dRolloffFactor // ****************************************************************** -OOVPA_XREF(CDirectSound_SetRolloffFactorB, 3936, 13, +OOVPA_XREF(CMcpxAPU_Set3dRolloffFactor, 3936, 13, XREF_SETROLLOFFFACTORB, XRefZero) - // CDirectSound_SetRolloffFactorB+0x04 : or dword ptr [ecx+0x01B4], 0x60 + // CMcpxAPU_Set3dRolloffFactor+0x04 : or dword ptr [ecx+0x01B4], 0x60 { 0x04, 0x83 }, { 0x05, 0x89 }, { 0x06, 0xB4 }, @@ -2652,39 +2659,39 @@ OOVPA_XREF(CDirectSound_SetRolloffFactorB, 3936, 13, { 0x09, 0x00 }, { 0x0A, 0x04 }, - // CDirectSound_SetRolloffFactorB+0x0B : cmp [esp+0x08], 0 + // CMcpxAPU_Set3dRolloffFactor+0x0B : cmp [esp+0x08], 0 { 0x0B, 0x83 }, { 0x0C, 0x7C }, { 0x0D, 0x24 }, { 0x0E, 0x08 }, - // CDirectSound_SetRolloffFactorB+0x12 : mov [ecx+0x017C], eax + // CMcpxAPU_Set3dRolloffFactor+0x12 : mov [ecx+0x017C], eax { 0x12, 0x7C }, { 0x13, 0x01 }, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetRolloffFactorA +// * CDirectSound_SetRolloffFactor // ****************************************************************** -OOVPA_XREF(CDirectSound_SetRolloffFactorA, 3936, 12, +OOVPA_XREF(CDirectSound_SetRolloffFactor, 3936, 12, XREF_SETROLLOFFFACTORA, XRefOne) - // CDirectSound_SetRolloffFactorA+0x23 : call [CDirectSound::SetRolloffFactorB] + // CDirectSound_SetRolloffFactor+0x23 : call [CMcpxAPU_Set3dRolloffFactor] XREF_ENTRY( 0x23, XREF_SETROLLOFFFACTORB ), - // CDirectSound_SetRolloffFactorA+0x00 : push esi; push edi + // CDirectSound_SetRolloffFactor+0x00 : push esi; push edi { 0x00, 0x56 }, { 0x01, 0x57 }, - // CDirectSound_SetRolloffFactorA+0x07 : fld [esp+0x10] + // CDirectSound_SetRolloffFactor+0x07 : fld [esp+0x10] { 0x07, 0xD9 }, { 0x08, 0x44 }, { 0x09, 0x24 }, { 0x0A, 0x10 }, - // CDirectSound_SetRolloffFactorA+0x11 : not eax; and eax, 1 + // CDirectSound_SetRolloffFactor+0x11 : not eax; and eax, 1 { 0x11, 0xF7 }, { 0x12, 0xD0 }, { 0x13, 0x83 }, @@ -2702,7 +2709,7 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 3936, 11, // TODO: Tentative (may not be SetRolloffFactor) - // IDirectSound_SetRolloffFactor+0x1D : call [CDirectSound::SetRolloffFactorA] + // IDirectSound_SetRolloffFactor+0x1D : call [CDirectSound_SetRolloffFactor] XREF_ENTRY( 0x1D, XREF_SETROLLOFFFACTORA ), // IDirectSound_SetRolloffFactor+0x04 : fld [esp+0x0C] @@ -2725,14 +2732,14 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 3936, 11, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetMixBinHeadroomB +// * CMcpxAPU_SetMixBinHeadroom // ****************************************************************** -OOVPA_XREF(CDirectSound_SetMixBinHeadroomB, 3936, 12, +OOVPA_XREF(CMcpxAPU_SetMixBinHeadroom, 3936, 12, XREF_DSSETMIXBINHEADROOMB, XRefZero) - // CDirectSound_SetMixBinHeadroomB+0x04 : cmp dword ptr ds:[0xFE820010], 4 + // CMcpxAPU_SetMixBinHeadroom+0x04 : cmp dword ptr ds:[0xFE820010], 4 { 0x12, 0x83 }, { 0x13, 0x3D }, { 0x14, 0x10 }, @@ -2741,38 +2748,38 @@ OOVPA_XREF(CDirectSound_SetMixBinHeadroomB, 3936, 12, { 0x17, 0xFE }, { 0x18, 0x04 }, - // CDirectSound_SetMixBinHeadroomB+0x1F : and edx, 7 + // CMcpxAPU_SetMixBinHeadroom+0x1F : and edx, 7 { 0x1F, 0x83 }, { 0x20, 0xE2 }, { 0x21, 0x07 }, - // CDirectSound_SetMixBinHeadroomB+0x2D : jl +0xD8 + // CMcpxAPU_SetMixBinHeadroom+0x2D : jl +0xD8 { 0x2D, 0x7C }, { 0x2E, 0xD8 }, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetMixBinHeadroomA +// * CDirectSound_SetMixBinHeadroom // ****************************************************************** -OOVPA_XREF(CDirectSound_SetMixBinHeadroomA, 3936, 9, +OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 3936, 9, XREF_DSSETMIXBINHEADROOMA, XRefOne) - // CDirectSound_SetMixBinHeadroomA+0x19 : call [CDirectSound::SetMixBinHeadroomB] + // CDirectSound_SetMixBinHeadroom+0x19 : call [CMcpxAPU_SetMixBinHeadroom] XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMB ), - // CDirectSound_SetMixBinHeadroomA+0x00 : push esi; push edi + // CDirectSound_SetMixBinHeadroom+0x00 : push esi; push edi { 0x00, 0x56 }, { 0x01, 0x57 }, - // CDirectSound_SetMixBinHeadroomA+0x07 : push [esp+0x14] + // CDirectSound_SetMixBinHeadroom+0x07 : push [esp+0x14] { 0x07, 0xFF }, { 0x08, 0x74 }, { 0x09, 0x24 }, { 0x0A, 0x14 }, - // CDirectSound_SetMixBinHeadroomA+0x21 : jz +0x0B + // CDirectSound_SetMixBinHeadroom+0x21 : jz +0x0B { 0x21, 0x74 }, { 0x22, 0x0B }, OOVPA_END; @@ -2785,7 +2792,7 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 3936, 12, XRefNoSaveIndex, XRefOne) - // IDirectSound_SetMixBinHeadroom+0x19 : call [CDirectSound::SetMixBinHeadroomA] + // IDirectSound_SetMixBinHeadroom+0x19 : call [CDirectSound_SetMixBinHeadroom] XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ), // IDirectSound_SetMixBinHeadroom+0x04 : push [esp+0x0C] @@ -2809,19 +2816,19 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 3936, 12, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetPositionB +// * CMcpxAPU_Set3dPosition // ****************************************************************** -OOVPA_XREF(CDirectSound_SetPositionB, 3936, 12, +OOVPA_XREF(CMcpxAPU_Set3dPosition, 3936, 12, XREF_DSSETPOSITIONB, XRefZero) - // CDirectSound_SetPositionB+0x0C : movsd; movsd; movsd + // CMcpxAPU_Set3dPosition+0x0C : movsd; movsd; movsd { 0x0C, 0xA5 }, { 0x0D, 0xA5 }, { 0x0E, 0xA5 }, - // CDirectSound_SetPositionB+0x0F : or byte ptr [ecx+0x01B4], 0xFF + // CMcpxAPU_Set3dPosition+0x0F : or byte ptr [ecx+0x01B4], 0xFF { 0x0F, 0x80 }, { 0x10, 0x89 }, { 0x11, 0xB4 }, @@ -2830,34 +2837,34 @@ OOVPA_XREF(CDirectSound_SetPositionB, 3936, 12, { 0x14, 0x00 }, { 0x15, 0xFF }, - // CDirectSound_SetPositionB+0x28 : retn 0x08 + // CMcpxAPU_Set3dPosition+0x28 : retn 0x08 { 0x28, 0xC2 }, { 0x29, 0x08 }, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetPositionA +// * CDirectSound_SetPosition // ****************************************************************** -OOVPA_XREF(CDirectSound_SetPositionA, 3936, 10, +OOVPA_XREF(CDirectSound_SetPosition, 3936, 10, XREF_DSSETPOSITIONA, XRefOne) - // CDirectSound_SetPositionA+0x35 : call [CDirectSound::SetPositionB] + // CDirectSound_SetPosition+0x35 : call [CMcpxAPU_Set3dPosition] XREF_ENTRY( 0x35, XREF_DSSETPOSITIONB ), - // CDirectSound_SetPositionA+0x06 : push esi; push edi + // CDirectSound_SetPosition+0x06 : push esi; push edi { 0x06, 0x56 }, { 0x07, 0x57 }, - // CDirectSound_SetPositionA+0x24 : not eax; and eax, 1 + // CDirectSound_SetPosition+0x24 : not eax; and eax, 1 { 0x24, 0xF7 }, { 0x25, 0xD0 }, { 0x26, 0x83 }, { 0x27, 0xE0 }, { 0x28, 0x01 }, - // CDirectSound_SetPositionA+0x4F : retn 0x14 + // CDirectSound_SetPosition+0x4F : retn 0x14 { 0x4F, 0xC2 }, { 0x50, 0x14 }, OOVPA_END; @@ -2870,7 +2877,7 @@ OOVPA_XREF(IDirectSound_SetPosition, 3936, 11, XRefNoSaveIndex, XRefOne) - // IDirectSound_SetPosition+0x2D : call [CDirectSound::SetPositionA] + // IDirectSound_SetPosition+0x2D : call [CDirectSound_SetPosition] XREF_ENTRY( 0x2D, XREF_DSSETPOSITIONA ), // IDirectSound_SetPosition+0x06 : fld [ebp+0x14] @@ -2893,19 +2900,19 @@ OOVPA_XREF(IDirectSound_SetPosition, 3936, 11, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetVelocityB +// * CMcpxAPU_Set3dVelocity // ****************************************************************** -OOVPA_XREF(CDirectSound_SetVelocityB, 3936, 12, +OOVPA_XREF(CMcpxAPU_Set3dVelocity, 3936, 12, XREF_DSSETVELOCITYB, XRefZero) - // CDirectSound_SetVelocityB+0x0C : movsd; movsd; movsd + // CMcpxAPU_Set3dVelocity+0x0C : movsd; movsd; movsd { 0x0C, 0xA5 }, { 0x0D, 0xA5 }, { 0x0E, 0xA5 }, - // CDirectSound_SetVelocityB+0x0F : or dword ptr [ecx+0x01B4], 0x40 + // CMcpxAPU_Set3dVelocity+0x0F : or dword ptr [ecx+0x01B4], 0x40 { 0x0F, 0x83 }, { 0x10, 0x89 }, { 0x11, 0xB4 }, @@ -2914,34 +2921,34 @@ OOVPA_XREF(CDirectSound_SetVelocityB, 3936, 12, { 0x14, 0x00 }, { 0x15, 0x40 }, - // CDirectSound_SetVelocityB+0x28 : retn 0x08 + // CMcpxAPU_Set3dVelocity+0x28 : retn 0x08 { 0x28, 0xC2 }, { 0x29, 0x08 }, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetVelocityA +// * CDirectSound_SetVelocity // ****************************************************************** -OOVPA_XREF(CDirectSound_SetVelocityA, 3936, 10, +OOVPA_XREF(CDirectSound_SetVelocity, 3936, 10, XREF_DSSETVELOCITYA, XRefOne) - // CDirectSound_SetVelocityA+0x35 : call [CDirectSound::SetVelocityB] + // CDirectSound_SetVelocity+0x35 : call [CMcpxAPU_Set3dVelocity] XREF_ENTRY( 0x35, XREF_DSSETVELOCITYB ), - // CDirectSound_SetVelocityA+0x06 : push esi; push edi + // CDirectSound_SetVelocity+0x06 : push esi; push edi { 0x06, 0x56 }, { 0x07, 0x57 }, - // CDirectSound_SetVelocityA+0x24 : not eax; and eax, 1 + // CDirectSound_SetVelocity+0x24 : not eax; and eax, 1 { 0x24, 0xF7 }, { 0x25, 0xD0 }, { 0x26, 0x83 }, { 0x27, 0xE0 }, { 0x28, 0x01 }, - // CDirectSound_SetVelocityA+0x4F : retn 0x14 + // CDirectSound_SetVelocity+0x4F : retn 0x14 { 0x4F, 0xC2 }, { 0x50, 0x14 }, OOVPA_END; @@ -2954,7 +2961,7 @@ OOVPA_XREF(IDirectSound_SetVelocity, 3936, 11, XRefNoSaveIndex, XRefOne) - // IDirectSound_SetVelocity+0x2D : call [CDirectSound::SetVelocityA] + // IDirectSound_SetVelocity+0x2D : call [CDirectSound_SetVelocity] XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ), // IDirectSound_SetVelocity+0x06 : fld [ebp+0x14] @@ -2976,6 +2983,7 @@ OOVPA_XREF(IDirectSound_SetVelocity, 3936, 11, { 0x33, 0x14 }, OOVPA_END; +#if 0 // Was ?SetI3DL2Listener@CMcpxAPU@@QAEJABU_DSI3DL2LISTENER@@H@Z. // ****************************************************************** // * CDirectSound::SetAllParametersB // ****************************************************************** @@ -3003,7 +3011,8 @@ OOVPA_XREF(CDirectSound_SetAllParametersB, 3936, 13, { 0x30, 0xC2 }, { 0x31, 0x08 }, OOVPA_END; - +#endif +#if 0 // Was ?SetI3DL2Listener@CDirectSound@@QAGJPBU_DSI3DL2LISTENER@@K@Z. replaced by CDirectSound_SetI3DL2Listener. // ****************************************************************** // * CDirectSound::SetAllParametersA // ****************************************************************** @@ -3030,38 +3039,7 @@ OOVPA_XREF(CDirectSound_SetAllParametersA, 3936, 10, { 0x48, 0xC2 }, { 0x49, 0x0C }, OOVPA_END; - -//TODO: Which one is accurate for 3936 and older version? IDirectSound8_SetAllParameters or IDirectSound_SetAllParameters? -// ****************************************************************** -// * IDirectSound8_SetAllParameters -// ****************************************************************** -OOVPA_XREF(IDirectSound8_SetAllParameters, 3936, 12, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSound8_SetAllParameters+0x19 : call [CDirectSound::SetAllParametersA] - XREF_ENTRY( 0x19, XREF_DSSETALLPARAMETERSA ), - - // IDirectSound8_SetAllParameters+0x04 : push [esp+0x0C] - { 0x04, 0xFF }, - { 0x05, 0x74 }, - { 0x06, 0x24 }, - { 0x07, 0x0C }, - - // IDirectSound8_SetAllParameters+0x0E : add eax, 0xFFFFFFF8 - { 0x0E, 0x83 }, - { 0x0F, 0xC0 }, - { 0x10, 0xF8 }, - - // IDirectSound8_SetAllParameters+0x13 : sbb ecx, ecx - { 0x13, 0x1B }, - { 0x14, 0xC9 }, - - // IDirectSound8_SetAllParameters+0x1D : retn 0x0C - { 0x1D, 0xC2 }, - { 0x1E, 0x0C }, -OOVPA_END; +#endif // ****************************************************************** // * IDirectSound_DownloadEffectsImage @@ -3278,7 +3256,7 @@ OOVPA_XREF(IDirectSound_GetCaps, 3936, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#if 0 // No longer used, replaced by CDirectSoundVoice_SetPitch 3936 version // ****************************************************************** // * CDirectSoundVoice::SetPitch // ****************************************************************** @@ -3296,7 +3274,8 @@ OOVPA_XREF(CDirectSoundVoice_SetPitch, 3936, 8, { 0x30, 0x8B }, { 0x36, 0x00 }, OOVPA_END; -/* +#endif +#if 0 // No longer used, replaced by another 3936 version // ****************************************************************** // * IDirectSoundBuffer_SetPitch // ****************************************************************** @@ -3315,7 +3294,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPitch, 3936, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; -*/ +#endif // ****************************************************************** // * CDirectSoundVoice::SetConeAngles // ****************************************************************** @@ -4011,33 +3990,33 @@ OOVPA_END; OOVPATable DSound_3936[] = { REGISTER_OOVPA(DirectSoundCreate, 3936, PATCH), - REGISTER_OOVPA(DirectSoundDoWorkB, 3936, XREF), - REGISTER_OOVPA(DirectSoundDoWorkA, 3936, XREF), + REGISTER_OOVPA(CMcpxAPU_ServiceDeferredCommandsLow, 3936, XREF), + REGISTER_OOVPA(CDirectSound_DoWork, 3936, XREF), REGISTER_OOVPA(DirectSoundDoWork, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 3936, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 3936, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitchB, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitchA, 3936, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetPitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 3936, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolumeB, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolumeA, 3936, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPositionB, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPositionA, 3936, XREF), + REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 3936, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegionA, 3936, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_LockA, 3936, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Lock, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroomA, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetBufferDataA, 3936, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 3936, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetMixBins, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 3936, XREF), @@ -4052,69 +4031,65 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetConeAnglesB, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetConeAnglesA, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetConeAngles, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolumeB, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolumeA, 3936, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dConeOutsideVolume, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 3936, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dParameters, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetAllParameters, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMaxDistanceC, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetMaxDistanceB, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetMaxDistanceA, 3936, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dMaxDistance, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetMaxDistance, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMinDistanceC, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetMinDistanceB, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetMinDistanceA, 3936, XREF), + REGISTER_OOVPA(IDirectSoundStream_SetMaxDistance, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dMinDistance, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetVelocityC, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetVelocityB, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetVelocityA, 3936, XREF), + REGISTER_OOVPA(IDirectSoundStream_SetMinDistance, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dVelocity, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundStream_SetVelocity, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetConeOrientationC, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetConeOrientationB, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetConeOrientationA, 3936, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dConeOrientation, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetPositionC, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetPositionB, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetPositionA, 3936, XREF), + REGISTER_OOVPA(IDirectSoundStream_SetConeOrientation, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dPosition, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundStream_SetPosition, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFrequencyB, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFrequencyA, 3936, XREF), + REGISTER_OOVPA(XAudioCalculatePitch, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 3936, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dMode, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettingsB, 3936, XREF), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettingsA, 3936, XREF), + REGISTER_OOVPA(CMcpxAPU_Commit3dSettings, 3936, XREF), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3936, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorB, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 3936, XREF), + REGISTER_OOVPA(CMcpxAPU_Set3dDistanceFactor, 3936, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetRolloffFactorB, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetRolloffFactorA, 3936, XREF), + REGISTER_OOVPA(CMcpxAPU_Set3dRolloffFactor, 3936, XREF), + REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetMixBinHeadroomB, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetMixBinHeadroomA, 3936, XREF), + REGISTER_OOVPA(CMcpxAPU_SetMixBinHeadroom, 3936, XREF), + REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetPositionB, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetPositionA, 3936, XREF), + REGISTER_OOVPA(CMcpxAPU_Set3dPosition, 3936, XREF), + REGISTER_OOVPA(CDirectSound_SetPosition, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_SetVelocityB, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetVelocityA, 3936, XREF), + REGISTER_OOVPA(CMcpxAPU_Set3dVelocity, 3936, XREF), + REGISTER_OOVPA(CDirectSound_SetVelocity, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), REGISTER_OOVPA(CMcpxAPU_Set3dParameters, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetAllParameters, 3936, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index f3b26d994..f754afc0e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -120,33 +120,33 @@ OOVPA_XREF(CDirectSound_CreateSoundBuffer, 4039, 15, OOVPA_END; // ****************************************************************** -// * DirectSoundDoWorkA +// * CDirectSound_DoWork // ****************************************************************** -OOVPA_XREF(DirectSoundDoWorkA, 4039, 13, +OOVPA_XREF(CDirectSound_DoWork, 4039, 13, XREF_DSDOWORKA, XRefZero) - // DirectSoundDoWorkA+0x0D : mov esi, eax + // CDirectSound_DoWork+0x0D : mov esi, eax { 0x0D, 0x8B }, { 0x0E, 0xF0 }, - // DirectSoundDoWorkA+0x0F : jnz +0x0C + // CDirectSound_DoWork+0x0F : jnz +0x0C { 0x0F, 0x75 }, { 0x10, 0x0C }, - // DirectSoundDoWorkA+0x11 : mov eax, [esp+4+arg_0] + // CDirectSound_DoWork+0x11 : mov eax, [esp+4+arg_0] { 0x11, 0x8B }, { 0x12, 0x44 }, { 0x13, 0x24 }, { 0x14, 0x08 }, - // DirectSoundDoWorkA+0x15 : mov ecx, [eax+0Ch] + // CDirectSound_DoWork+0x15 : mov ecx, [eax+0Ch] { 0x15, 0x8B }, { 0x16, 0x48 }, { 0x17, 0x0C }, - // DirectSoundDoWorkA+0x24 : retn 0x04 + // CDirectSound_DoWork+0x24 : retn 0x04 { 0x2D, 0xC2 }, { 0x2E, 0x04 }, OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index b668120ca..718698780 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -404,31 +404,31 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 4134, 12, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetPositionA +// * CDirectSound_SetPosition // ****************************************************************** -OOVPA_XREF(CDirectSound_SetPositionA, 4134, 11, +OOVPA_XREF(CDirectSound_SetPosition, 4134, 11, XREF_DSSETPOSITIONA, XRefZero) - // CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] + // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08] { 0x2B, 0x8B }, { 0x2C, 0x4D }, { 0x2D, 0x08 }, - // CDirectSound_SetPositionA+0x3F : mov [edx+0x3C], edi + // CDirectSound_SetPosition+0x3F : mov [edx+0x3C], edi { 0x3F, 0x89 }, { 0x40, 0x7A }, { 0x41, 0x3C }, - // CDirectSound_SetPositionA+0x4C : or word ptr [eax+0xA4], 0x01FF + // CDirectSound_SetPosition+0x4C : or word ptr [eax+0xA4], 0x01FF { 0x4C, 0x80 }, { 0x4D, 0x88 }, { 0x4E, 0xA4 }, { 0x4F, 0x00 }, { 0x52, 0xFF }, OOVPA_END; -#if 0 //Moved to 3911 + // ****************************************************************** // * IDirectSound_CreateSoundBuffer // ****************************************************************** @@ -459,7 +459,7 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 4134, 12, { 0x21, 0xC2 }, { 0x22, 0x10 }, OOVPA_END; -#endif + // ****************************************************************** // * CDirectSoundVoice::SetFrequency // ****************************************************************** @@ -636,26 +636,26 @@ OOVPA_XREF(CDirectSoundStream_SetVolume, 4134, 9, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_LockA +// * CDirectSoundBuffer_Lock // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_LockA, 4134, 13, +OOVPA_XREF(CDirectSoundBuffer_Lock, 4134, 13, XREF_DSBUFFERLOCKA, XRefZero) - // IDirectSoundBuffer_LockA+0x37 : test [ebp+0x24], 1 + // CDirectSoundBuffer_Lock+0x37 : test [ebp+0x24], 1 { 0x37, 0xF6 }, { 0x38, 0x45 }, { 0x39, 0x24 }, { 0x3A, 0x01 }, - // IDirectSoundBuffer_LockA+0x5C : mov eax, [eax+0xBC] + // CDirectSoundBuffer_Lock+0x5C : mov eax, [eax+0xBC] { 0x5C, 0x8B }, { 0x5D, 0x80 }, { 0x5E, 0xBC }, { 0x5F, 0x00 }, - // IDirectSoundBuffer_LockA+0xA4 : jnb +0x11; mov esi, [esi+0x1C] + // CDirectSoundBuffer_Lock+0xA4 : jnb +0x11; mov esi, [esi+0x1C] { 0xA2, 0x73 }, { 0xA3, 0x11 }, { 0xA4, 0x8B }, @@ -2893,7 +2893,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_SetPositionA, 4134, XREF), // TODO: Find a cure for laziness... + REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), @@ -2905,7 +2905,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 6f2833da4..5cc7f8921 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -190,24 +190,24 @@ OOVPA_XREF(CDirectSound_SetAllParameters, 4831, 8, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetPositionA +// * CDirectSound_SetPosition // ****************************************************************** -OOVPA_XREF(CDirectSound_SetPositionA, 4627, 11, +OOVPA_XREF(CDirectSound_SetPosition, 4627, 11, XREF_DSSETPOSITIONA, XRefZero) - // CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] + // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08] { 0x2B, 0x8B }, { 0x2C, 0x4D }, { 0x2D, 0x08 }, - // CDirectSound_SetPositionA+0x3F : mov [edx+0x3C], edi + // CDirectSound_SetPosition+0x3F : mov [edx+0x3C], edi { 0x3F, 0x89 }, { 0x40, 0x7A }, { 0x41, 0x3C }, - // CDirectSound_SetPositionA+0x4C : or word ptr [eax+0xA4], 0x01FF + // CDirectSound_SetPosition+0x4C : or word ptr [eax+0xA4], 0x01FF { 0x4C, 0x66 }, { 0x4D, 0x81 }, { 0x4E, 0x88 }, @@ -1493,8 +1493,8 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_SetPositionA, 4627, XREF), - REGISTER_OOVPA(CDirectSound_SetPositionA, 4134, XREF), // TODO: Find a cure for laziness... + REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), + REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), @@ -1507,7 +1507,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index fd3556df1..50d9e63ba 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -82,8 +82,8 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_SetPositionA, 4627, XREF), - REGISTER_OOVPA(CDirectSound_SetPositionA, 4134, XREF), // TODO: Find a cure for laziness... + REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), + REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), @@ -96,7 +96,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index c7314ab47..3dc0a48a9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -387,7 +387,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5233, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), - REGISTER_OOVPA(CDirectSound_SetPositionA, 4627, XREF), + REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), @@ -400,7 +400,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index d427bf564..818d5b6ca 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -403,24 +403,24 @@ OOVPA_XREF(CDirectSoundVoice_SetMode, 5344, 11, OOVPA_END; // ****************************************************************** -// * CDirectSound::SetPositionA +// * CDirectSound_SetPosition // ****************************************************************** -OOVPA_XREF(CDirectSound_SetPositionA, 5344, 10, +OOVPA_XREF(CDirectSound_SetPosition, 5344, 10, XREF_DSSETPOSITIONA, XRefZero) - // CDirectSound_SetPositionA+0x2B : mov ecx, [ebp+0x08] + // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08] { 0x2B, 0x8B }, { 0x2C, 0x4D }, { 0x2D, 0x08 }, - // CDirectSound_SetPositionA+0x37 : mov [edx+0x3C], edi + // CDirectSound_SetPosition+0x37 : mov [edx+0x3C], edi { 0x37, 0x89 }, { 0x38, 0x7A }, { 0x39, 0x3C }, - // CDirectSound_SetPositionA+0x4C : or dword ptr [eax+34h], 1 + // CDirectSound_SetPosition+0x4C : or dword ptr [eax+34h], 1 { 0x4C, 0x83 }, { 0x4D, 0x48 }, { 0x4E, 0x34 }, @@ -896,7 +896,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5233, PATCH), - REGISTER_OOVPA(CDirectSound_SetPositionA, 5344, XREF), + REGISTER_OOVPA(CDirectSound_SetPosition, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), @@ -909,7 +909,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_LockA, 4134, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 70e8f31d5..c8532a898 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -55,26 +55,97 @@ // * DSOUND_OOVPA // ****************************************************************** OOVPATable DSound_OOVPAV2[] = { + + REGISTER_OOVPAS(XAudioCalculatePitch, XREF, 3936), + REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Commit3dSettings, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_ServiceDeferredCommandsLow, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Set3dDistanceFactor, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Set3dParameters, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Set3dPosition, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Set3dRolloffFactor, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Set3dVelocity, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_SetMixBinHeadroom, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_SynchPlayback, XREF, 5233), + REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3936, 4134), + REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition2, XREF, 3936), + REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3936, 4134, 4721, 4831, 5558), + REGISTER_OOVPAS(CMcpxBuffer_Pause, XREF, 4831), + REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3911, 4361, 4721, 4831), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJK@Z + REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z + REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788), + REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3936, 4134, 5558, 5788), + REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 4134, 4242), + REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), + REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 4361, 4831, 5788), + REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3925, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOrientation, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOutsideVolume, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMaxDistance, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMinDistance, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMode, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dPosition, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dVelocity, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 4627), + REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 4627), + REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_SetPitch, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3936, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 3936, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 3936, 4134, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4242, 4721, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 3936, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4039, 4134, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3936, 4134, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3936, 4134, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3936, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4134, 5233, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 3936, 4039), + REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 3936, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment) + REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 3936, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 3911, 4039, 4134, 5233), + REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_GetCurrentPosition, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_GetStatus, XREF, 3936, 4134, 4721), + REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3936, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928), REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134, 4361, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3936, 4361, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 4039, 4134, 5558, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3936, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3936, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 4134, 5558, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetDopplerFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetEG, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetFilter, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4242, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetFrequency, XREF, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3936, 4134, 5344, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3936, 4134, 5344, 5788), @@ -84,7 +155,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3936, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 3936, 4361, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffCurve, XREF, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffFactor, XREF, 4134, 5788), @@ -97,32 +168,17 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3936, 4361, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetConeAnglesA, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetConeAnglesB, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientationA, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientationB, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientationC, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolumeA, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolumeB, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4627), - REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242), REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3936, 5233), - REGISTER_OOVPAS(CDirectSoundStream_SetFrequencyA, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetFrequencyB, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3936, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistanceA, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistanceB, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistanceC, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3936, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundStream_SetMinDistanceA, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetMinDistanceB, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetMinDistanceC, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3936, 4627, 5233, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes, PATCH, 3936), //TODO: What's the difference from this and below? REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes2, PATCH, 4134, 5788), //TODO: What's the difference from this and above? @@ -130,138 +186,53 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetPositionA, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetPositionB, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetPositionC, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffFactor, PATCH, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetVelocityA, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetVelocityB, XREF, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetVelocityC, XREF, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), - REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 4134, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4242, 4721, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4039, 4134, 4627, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 4134, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 4134, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3936, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4134, 5233, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 4134, 4627, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment) - REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 3911, 4039, 4134, 5233), - REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, PATCH, 3936, 4039, 4134, 5344, 5558, 5788), - REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsA, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_CommitDeferredSettingsB, XREF, 3936), REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3936, 4134, 5558), + REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3936, 4039), REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3936, 4627, 5233, 5344, 5558), REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3936, 4361), REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 4627), REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3936, 4831, 5558), REGISTER_OOVPAS(CDirectSound_SetAllParametersA, XREF, 4627, 4721, 4831), - REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 4039, 4134, 4627, 5344, 5558), - REGISTER_OOVPAS(CDirectSound_SetDistanceFactorA, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_SetDistanceFactorB, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 3936, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3936, 4039, 4134, 4627, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 4134), REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 4627, 5558), - REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroomA, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroomB, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 5558), - REGISTER_OOVPAS(CDirectSound_SetPositionA, XREF, 3936, 4134, 4627, 5344), // TODO: Find a cure for laziness... (from 4134's comment) - REGISTER_OOVPAS(CDirectSound_SetPositionB, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 4039, 4134, 5344, 5558, 5788, 5849), - REGISTER_OOVPAS(CDirectSound_SetRolloffFactorA, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_SetRolloffFactorB, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 4134, 4627, 5344, 5558), - REGISTER_OOVPAS(CDirectSound_SetVelocityA, XREF, 3936), - REGISTER_OOVPAS(CDirectSound_SetVelocityB, XREF, 3936), + REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3936, 4627, 5558), + REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3936, 4134, 4627, 5344, 5558), // TODO: Find a cure for laziness... (from 4134's comment) + REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3936, 4039, 4134, 5344, 5558, 5788, 5849), + REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3936, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344, 5558), - REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3936), - REGISTER_OOVPAS(CMcpxAPU_Set3dParameters, XREF, 3936), - REGISTER_OOVPAS(CMcpxAPU_SynchPlayback, XREF, 5233), - REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3936, 4134), - REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition2, XREF, 3936), - REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3936, 4134, 4721, 4831, 5558), - REGISTER_OOVPAS(CMcpxBuffer_Pause, XREF, 4831), - REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3911, 4361, 4721, 4831), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJK@Z - REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z - REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788), - REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 4134, 5558, 5788), - REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 4134, 4242), - REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), - REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 4361, 4831, 5788), - REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMode, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 4627), - REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 4134, 5344, 5558), - REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 4627), - REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3936, 4039, 4134), - REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3925, 3936), - REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3936, 4039, 4134), - REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4039, 4242), - REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 4134, 5788), - REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3936, 4134, 5558), - REGISTER_OOVPAS(DirectSoundDoWorkA, XREF, 3936, 4039), - REGISTER_OOVPAS(DirectSoundDoWorkB, XREF, 3936), - REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3936), - REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3936, 4361), - REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3925, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3936, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_LockA, XREF, 3936, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4928), REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911, 4361, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3936), // +s (from 4134's comment) REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 4134), // Use that for now. Okay, it's your call pal... (from 4134's comment) REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3936, 4134, 5558, 5788), - REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferDataA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetDistanceFactor, PATCH, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetDopplerFactor, PATCH, 4134, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3936, 4134, 5558, 5788), - REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPositionA, XREF, 3936), - REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPositionB, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetEG, PATCH, 4627), - REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 4627), - REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 4134), REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3936, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroomA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 4134, 5344, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 4134, 5558, 5788), @@ -272,22 +243,24 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3936, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3936), - REGISTER_OOVPAS(IDirectSoundBuffer_SetPitchA, XREF, 3936), - REGISTER_OOVPAS(IDirectSoundBuffer_SetPitchB, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 3936, 4361), - REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegionA, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetPosition, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3911, 3936, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeA, XREF, 3936), - REGISTER_OOVPAS(IDirectSoundBuffer_SetVolumeB, XREF, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), + REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), + REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundStream_SetPosition, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3911 /*3936, 4134, 4361*/), REGISTER_OOVPAS(IDirectSound_CreateSoundStream, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSound_DownloadEffectsImage, PATCH, 3936), @@ -296,7 +269,6 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558), REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3936), - REGISTER_OOVPAS(IDirectSound8_SetAllParameters, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 4134, 5344), @@ -307,6 +279,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3936, 4134/*, 5344*/), REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSound_SynchPlayback, PATCH, 5233), + REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3936, 4039, 4134), + REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4039, 4242), + REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 4134, 5788), + REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3936, 4361), + REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3925, 5558), + REGISTER_OOVPAS(CFullHRTFSource_GetCenterVolume, XREF, 5558), From 93c8a40ae21b33c2f50c290559a3143fe994a1e7 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Tue, 5 Sep 2017 14:13:52 -0500 Subject: [PATCH 040/146] Oops, removing bad code. Um, keep moving. Nothing to see here. --- src/CxbxKrnl/HLEDataBase.cpp | 17 ----------------- src/CxbxKrnl/HLEDataBase.h | 5 ++--- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 6897df9b7..60a75ce35 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -62,23 +62,6 @@ const char *Sec_XONLINE = Lib_XONLINE; const char *Lib_XONLINES = "XONLINES"; const char *Sec_XNET = "XNET"; -const PairScanLibSec PairScanLibSection[] = { - { Lib_D3D8, { Sec_D3D } }, - { Lib_D3D8LTCG, { Sec_D3D } }, - { Lib_D3DX8, { Sec_D3DX } }, - { Lib_DSOUND, { Sec_DSOUND } }, - //{ Lib_DSOUNDH, Sec_DSOUND }, - //Lib_XACTENG = Sec_???? - //{ Lib_XACTENLT, Sec_XACTENG }, - { Lib_XAPILIB, { Sec_XPP } }, - { Lib_XGRAPHC, { Sec_XGRPH } }, - { Lib_XONLINE, { Sec_XONLINE } }, - { Lib_XONLINES, { Sec_XONLINE, Sec_XNET } }, //and Sec_XNET too. - { Lib_XNETS, { Sec_XNET } }, -}; - -const uint32 StrScanLibSectionCount = sizeof(PairScanLibSection) / sizeof(PairScanLibSec); - #include "Emu.h" #include "EmuXTL.h" #include "HLEDataBase.h" diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index d429fb43a..afeff2b23 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -124,11 +124,10 @@ HLEDataBase[]; #define PAIRSCANSEC_MAX 2 -extern const struct PairScanLibSec { +const struct PairScanLibSec { const char *library; const char *section[PAIRSCANSEC_MAX]; -} -PairScanLibSection[]; +}; extern const struct HLEDataV2 { From 78af3c42db543e8b038a4286cdadd687808ad0d3 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Wed, 6 Sep 2017 18:47:58 +0900 Subject: [PATCH 041/146] Fixed CDirectSoundBuffer_SetConeOrientation 3936 OOVPA --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 46026cbbb..569c6c604 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -3865,13 +3865,15 @@ OOVPA_NO_XREF(CDirectSoundStream_Pause, 3936, 6) { 0x11, 0x08 }, OOVPA_END; -//TODO: Need another OOVPA reference since Halo has a match for CDirectSoundStream_SetConeOrientation signature. // ****************************************************************** // * CDirectSoundBuffer::SetConeOrientation // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 3936, 10, +OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 3936, 11, + XREF_DSBUFFERSETCONEORIENTATION, - XRefZero) + XRefOne) + + XREF_ENTRY( 0x21, XREF_DSSTREAMSETCONEORIENTATION1B ), // CDirectSoundBuffer_SetConeOrientation+0x1A : fstp [esp+8h] { 0x0C, 0xD9 }, From 468a118796f169cce2a84689fb092734a60f9e07 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 6 Sep 2017 13:20:49 -0500 Subject: [PATCH 042/146] DSBuffer_GetStatus and DSBuffer_GetCurrentPosition - 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 --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 167 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 60 ++----- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 124 ++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 13 +- 13 files changed, 338 insertions(+), 72 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 1e9fc34f0..4afe364c2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -276,3 +276,170 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 3911, 16, { 0x21, 0xC2 }, { 0x22, 0x10 }, OOVPA_END; + +// ****************************************************************** +// * CMcpxBuffer_GetCurrentPosition +// ****************************************************************** +OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 3911, 11, + + XREF_CMcpxBuffer_GetCurrentPosition, + XRefZero) + + // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+0x18] + { 0x12, 0x8B }, + { 0x13, 0x46 }, + { 0x14, 0x18 }, + + // CMcpxBuffer_GetCurrentPosition+0x1A : jnz +0x79 + { 0x1A, 0x75 }, + { 0x1B, 0x79 }, + + // CMcpxBuffer_GetCurrentPosition+0x8E : div dword ptr [ecx+0x4C] + { 0x8E, 0xF7 }, + { 0x8F, 0x71 }, + { 0x90, 0x4C }, + + // CMcpxBuffer_GetCurrentPosition+0xC8 : retn 0x08 + { 0xC8, 0xC2 }, + { 0xC9, 0x08 }, + { 0xCA, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_GetCurrentPosition +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 3911, 9, + + XREF_CDirectSoundBuffer_GetCurrentPosition, + XRefOne) + + // CDirectSoundBuffer_GetCurrentPosition+0x19 : call [CMcpxBuffer::GetCurrentPosition] + XREF_ENTRY( 0x19, XREF_CMcpxBuffer_GetCurrentPosition), + + // CDirectSoundBuffer_GetCurrentPosition+0x0D : mov eax, [esp+0x10] + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x10 }, + + // CDirectSoundBuffer_GetCurrentPosition+0x21 : jz +0x0B + { 0x21, 0x74 }, + { 0x22, 0x0B }, + + // CDirectSoundBuffer_GetCurrentPosition+0x32 : retn 0x0C + { 0x32, 0xC2 }, + { 0x33, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_GetCurrentPosition +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_GetCurrentPosition+0x19 : call [CDirectSoundBuffer::GetCurrentPosition] + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_GetCurrentPosition), + + // IDirectSoundBuffer_GetCurrentPosition+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, + + // IDirectSoundBuffer_GetCurrentPosition+0x13 : sbb ecx, ecx + { 0x13, 0x1B }, + { 0x14, 0xC9 }, + + // IDirectSoundBuffer_GetCurrentPosition+0x15 : and ecx, eax + { 0x15, 0x23 }, + { 0x16, 0xC8 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxBuffer_GetStatus +// ****************************************************************** +OOVPA_XREF(CMcpxBuffer_GetStatus, 3911, 13, + + XREF_CMcpxBuffer_GetStatus, + XRefZero) + + // CMcpxBuffer_GetStatus+0x10 : mov eax, [ebp+0x08] + { 0x10, 0x8B }, + { 0x11, 0x45 }, + { 0x12, 0x08 }, + + // CMcpxBuffer_GetStatus+0x16 : xor ecx, ecx; inc ecx + { 0x16, 0x33 }, + { 0x17, 0xC9 }, + { 0x18, 0x41 }, + + // CMcpxBuffer_GetStatus+0x1C : jz +0x17 + { 0x1C, 0x74 }, + { 0x1D, 0x17 }, + + // CMcpxBuffer_GetStatus+0x2F : mov [eax], 5 + { 0x2F, 0xC7 }, + { 0x30, 0x00 }, + { 0x31, 0x05 }, + + // CMcpxBuffer_GetStatus+0x48 : retn 0x04 + { 0x48, 0xC2 }, + { 0x49, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_GetStatus +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_GetStatus, 3911, 10, + + XREF_CDirectSoundBuffer_GetStatus, + XRefOne) + + // CDirectSoundBuffer_GetStatus+0x14 : call [CMcpxBuffer::GetStatus] + XREF_ENTRY( 0x15, XREF_CMcpxBuffer_GetStatus), + + // CDirectSoundBuffer_GetStatus+0x07 : push [esp+0x10] + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x09, 0x24 }, + { 0x0A, 0x10 }, + + // CDirectSoundBuffer_GetStatus+0x11 : mov ecx, [eax+0x20] + { 0x11, 0x8B }, + { 0x12, 0x48 }, + { 0x13, 0x20 }, + + // CDirectSoundBuffer_GetStatus+0x2E : retn 0x08 + { 0x2E, 0xC2 }, + { 0x2F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_GetStatus +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_GetStatus, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_GetStatus+0x15 : call [CDirectSoundBuffer::GetStatus] + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_GetStatus ), + + // IDirectSoundBuffer_GetStatus+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_GetStatus+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_GetStatus+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 569c6c604..80541d9ee 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -367,7 +367,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPitch, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#if 0 //Moved to 3911 // ****************************************************************** // * CMcpxBuffer::GetStatus // ****************************************************************** @@ -399,7 +399,8 @@ OOVPA_XREF(CMcpxBuffer_GetStatus, 3936, 13, { 0x48, 0xC2 }, { 0x49, 0x04 }, OOVPA_END; - +#endif +#if 0 //Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::GetStatus // ****************************************************************** @@ -426,7 +427,8 @@ OOVPA_XREF(CDirectSoundBuffer_GetStatus, 3936, 10, { 0x2E, 0xC2 }, { 0x2F, 0x08 }, OOVPA_END; - +#endif +#if 0 //Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_GetStatus // ****************************************************************** @@ -453,7 +455,7 @@ OOVPA_XREF(IDirectSoundBuffer_GetStatus, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxVoiceClient_SetVolume // ****************************************************************** @@ -951,7 +953,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 3936, 8, { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; - +#if 0 //Moved to 3911 // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition // ****************************************************************** @@ -979,35 +981,8 @@ OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 3936, 11, { 0xC9, 0x08 }, { 0xCA, 0x00 }, OOVPA_END; - -// ****************************************************************** -// * CMcpxBuffer_GetCurrentPosition -// ****************************************************************** -OOVPA_XREF(CMcpxBuffer_GetCurrentPosition2, 3936, 11, - - XREF_CMcpxBuffer_GetCurrentPosition, - XRefZero) - - // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+0x18] - { 0x12, 0x8B }, - { 0x13, 0x46 }, - { 0x14, 0x18 }, - - // CMcpxBuffer_GetCurrentPosition+0x1A : jnz +0x79 - { 0x1A, 0x75 }, - { 0x1B, 0x79 }, - - // CMcpxBuffer_GetCurrentPosition+0x8E : div dword ptr [ecx+0x4C] - { 0x8E, 0xF7 }, - { 0x8F, 0x71 }, - { 0x90, 0x4C }, - - // CMcpxBuffer_GetCurrentPosition+0xC8 : retn 0x08 - { 0xC8, 0xC2 }, - { 0xC9, 0x08 }, - { 0xCA, 0x00 }, -OOVPA_END; - +#endif +#if 0 //Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer_GetCurrentPosition // ****************************************************************** @@ -1033,7 +1008,8 @@ OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 3936, 9, { 0x32, 0xC2 }, { 0x33, 0x0C }, OOVPA_END; - +#endif +#if 0 //Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_GetCurrentPosition // ****************************************************************** @@ -1058,6 +1034,7 @@ OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition, 3936, 8, { 0x15, 0x23 }, { 0x16, 0xC8 }, OOVPA_END; +#endif #if 0 //Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::Play @@ -4003,9 +3980,9 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxVoiceClient_SetPitch, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, PATCH), - REGISTER_OOVPA(CMcpxBuffer_GetStatus, 3936, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3936, PATCH), + REGISTER_OOVPA(CMcpxBuffer_GetStatus, 3911, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 3936, PATCH), @@ -4024,10 +4001,9 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 3936, PATCH), - REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 3936, XREF), - REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition2, 3936, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), + REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 3911, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 3911, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index f754afc0e..0810c833b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -762,4 +762,128 @@ OOVPA_XREF(CDirectSoundBuffer_Play, 4039, 13, { 0x4F , 0x00 }, OOVPA_END; +// ****************************************************************** +// * CMcpxBuffer_GetCurrentPosition +// ****************************************************************** +OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 4039, 17, + XREF_CMcpxBuffer_GetCurrentPosition, + XRefZero) + + // CMcpxBuffer_GetCurrentPosition+0x16 : mov eax, [esi+0x00000090] + { 0x16, 0x8B }, + { 0x17, 0x86 }, + { 0x18, 0x90 }, + { 0x19, 0x00 }, + //{ 0x1A, 0x00 }, + //{ 0x1B, 0x00 }, + + // CMcpxBuffer_GetCurrentPosition+0x21 : jnz +0x00000088 + { 0x21, 0x0F }, + { 0x22, 0x85 }, + { 0x23, 0x88 }, + { 0x24, 0x00 }, + //{ 0x25, 0x00 }, + //{ 0x26, 0x00 }, + + // CMcpxBuffer_GetCurrentPosition+0x8E : div dword ptr [ecx+0x00000140] + { 0xA5, 0xF7 }, + { 0xA6, 0xB1 }, + { 0xA7, 0x40 }, + { 0xA8, 0x01 }, + { 0xA9, 0x00 }, + { 0xAA, 0x00 }, + + // CMcpxBuffer_GetCurrentPosition+0xC8 : retn 0x08 + { 0xDB, 0xC2 }, + { 0xDC, 0x08 }, + { 0xDD, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_GetCurrentPosition +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 4039, 10, + + XREF_CDirectSoundBuffer_GetCurrentPosition, + XRefOne) + + // CDirectSoundBuffer_GetCurrentPosition+0x38 : call [CMcpxBuffer::GetCurrentPosition] + XREF_ENTRY( 0x38, XREF_CMcpxBuffer_GetCurrentPosition), + + // CDirectSoundBuffer_GetCurrentPosition+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_GetCurrentPosition+0x40 : jz +0x0B + { 0x40, 0x74 }, + { 0x41, 0x0B }, + + // CDirectSoundBuffer_GetCurrentPosition+0x51 : retn 0x08 + { 0x51, 0xC2 }, + { 0x52, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxBuffer_GetStatus +// ****************************************************************** +OOVPA_XREF(CMcpxBuffer_GetStatus, 4039, 13, + + XREF_CMcpxBuffer_GetStatus, + XRefZero) + + // CMcpxBuffer_GetStatus+0x14 : mov ecx, [ebp+0x08] + { 0x14, 0x8B }, + { 0x15, 0x4D }, + { 0x16, 0x08 }, + + // CMcpxBuffer_GetStatus+0x1A : xor edx, edx + { 0x1A, 0x33 }, + { 0x1B, 0xD2 }, + + // CMcpxBuffer_GetStatus+0x22 : inc edx + { 0x22, 0x42 }, + + // CMcpxBuffer_GetStatus+0x1C : jz +0x17 + { 0x26, 0x74 }, + { 0x27, 0x15 }, + + // CMcpxBuffer_GetStatus+0x2F : mov [ecx], 5 + { 0x37, 0xC7 }, + { 0x38, 0x01 }, + { 0x39, 0x05 }, + + // CMcpxBuffer_GetStatus+0x48 : retn 0x04 + { 0x48, 0xC2 }, + { 0x49, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_GetStatus +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_GetStatus, 4039, 10, + + XREF_CDirectSoundBuffer_GetStatus, + XRefOne) + + // CDirectSoundBuffer_GetStatus+0x14 : call [CMcpxBuffer::GetStatus] + XREF_ENTRY( 0x34, XREF_CMcpxBuffer_GetStatus), + + // CDirectSoundBuffer_GetStatus+0x2B : mov ecx, [eax+0x20] + { 0x2B, 0x8B }, + { 0x2C, 0x48 }, + { 0x2D, 0x20 }, + + // CDirectSoundBuffer_GetStatus+0x2F : push [esp+0x10] + { 0x2F, 0xFF }, + { 0x30, 0x74 }, + { 0x31, 0x24 }, + { 0x32, 0x10 }, + + // CDirectSoundBuffer_GetStatus+0x4D : retn 0x08 + { 0x4D, 0xC2 }, + { 0x4E, 0x08 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 718698780..bd494995e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -922,7 +922,7 @@ OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 4134, 10, { 0x41, 0x74 }, { 0x42, 0x0B }, - // CDirectSoundBuffer_GetCurrentPosition+0x3D : retn 0x08 + // CDirectSoundBuffer_GetCurrentPosition+0x52 : retn 0x08 { 0x52, 0xC2 }, { 0x53, 0x0C }, OOVPA_END; @@ -2202,7 +2202,7 @@ OOVPA_XREF(CDirectSoundStream_SetAllParameters, 4134, 9, { 0x44, 0x68 }, { 0x4F, 0x8B }, OOVPA_END; - +#if 0 //Replaced by generic 3911 // ****************************************************************** // * IDirectSoundBuffer_GetStatus // ****************************************************************** @@ -2228,7 +2228,7 @@ OOVPA_XREF(IDirectSoundBuffer_GetStatus, 4134, 9, { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetMode // ****************************************************************** @@ -2918,7 +2918,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), @@ -2981,7 +2981,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), // Use that for now. Okay, it's your call pal... REGISTER_OOVPA(CDirectSoundStream_SetAllParameters, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 7db268cca..649f47017 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -768,7 +768,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 5cc7f8921..e12f30d09 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1523,13 +1523,13 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetSpeakerConfig, 4627, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 50d9e63ba..7a11de19a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -111,13 +111,13 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetSpeakerConfig, 4627, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF), @@ -197,7 +197,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4627, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 3dc0a48a9..44c7da00b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -411,10 +411,10 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 818d5b6ca..859ce0dc3 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -919,10 +919,10 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 7aa74da3e..827951755 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1230,7 +1230,7 @@ OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 5558, 7, { 0x40, 0xF8 }, { 0x4E, 0x8B }, OOVPA_END; - +#if 0 //Replaced with generic 3911 // ****************************************************************** // * IDirectSoundBuffer_GetCurrentPosition@12 // ****************************************************************** @@ -1250,7 +1250,7 @@ OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition, 5558, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMixBins // ****************************************************************** @@ -1711,7 +1711,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF), @@ -1748,7 +1748,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index b403628d7..b548bd9cb 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -557,7 +557,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF), @@ -634,7 +634,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 16418faa6..bfcb03047 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -101,7 +101,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF), @@ -159,7 +159,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5788, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5849, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index c8532a898..fab9d301f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -68,9 +68,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxAPU_Set3dVelocity, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_SetMixBinHeadroom, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_SynchPlayback, XREF, 5233), - REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3936, 4134), - REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition2, XREF, 3936), - REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3936, 4134, 4721, 4831, 5558), + REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134), + REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721, 4831, 5558), REGISTER_OOVPAS(CMcpxBuffer_Pause, XREF, 4831), REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3911, 4361, 4721, 4831), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z @@ -125,8 +124,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 3936, 4134, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 3911, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_GetCurrentPosition, XREF, 3936, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_GetStatus, XREF, 3936, 4134, 4721), + REGISTER_OOVPAS(CDirectSoundBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721), REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3936, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928), REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134, 4361, 5558, 5788), @@ -211,8 +210,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3936, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3936), - REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3936, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4928), REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911, 4361, 5558), From 016290fb75b0284d146f2e828a962335944536af Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 6 Sep 2017 19:33:54 -0500 Subject: [PATCH 043/146] More Moving and Additions - 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 --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 240 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 57 ++--- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 17 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 7 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 7 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 9 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 19 +- 13 files changed, 310 insertions(+), 92 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 4afe364c2..7299134a6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -33,6 +33,24 @@ // ****************************************************************** +// ****************************************************************** +// * DirectSoundEnterCriticalSection +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(DirectSoundEnterCriticalSection, 3911, 7, + + XREF_DirectSoundEnterCriticalSection, + XRefZero) + + { 0x02, 0xB6 }, + { 0x06, 0x00 }, + { 0x0A, 0x74 }, + { 0x0E, 0xC3 }, + { 0x14, 0xFF }, + { 0x1A, 0x33 }, + { 0x1B, 0xC0 }, +OOVPA_END; + // ****************************************************************** // * IDirectSound_CreateSoundBuffer // ****************************************************************** @@ -65,6 +83,90 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3911, 12, { 0x22, 0x10 }, OOVPA_END; +// ****************************************************************** +// * IDirectSoundBuffer_AddRef +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(IDirectSoundBuffer_AddRef, 3911, 11) + + // IDirectSoundBuffer_AddRef+0x04 : lea ecx, [eax-0x1C] + { 0x04, 0x8D }, + { 0x05, 0x48 }, + { 0x06, 0xE4 }, + + // IDirectSoundBuffer_AddRef+0x07 : neg eax; sbb eax, eax + { 0x07, 0xF7 }, + { 0x08, 0xD8 }, + { 0x09, 0x1B }, + { 0x0A, 0xC0 }, + + // IDirectSoundBuffer_AddRef+0x10 : call dword ptr [ecx+0x04] + { 0x10, 0xFF }, + { 0x11, 0x51 }, + { 0x12, 0x04 }, + + // IDirectSoundBuffer_AddRef+0x13 : ret 4 + { 0x13, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_Release +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(IDirectSoundBuffer_Release, 3911, 11) + + // IDirectSoundBuffer_Release+0x04 : lea ecx, [eax-0x1C] + { 0x04, 0x8D }, + { 0x05, 0x48 }, + { 0x06, 0xE4 }, + + // IDirectSoundBuffer_Release+0x07 : neg eax; sbb eax, eax + { 0x07, 0xF7 }, + { 0x08, 0xD8 }, + { 0x09, 0x1B }, + { 0x0A, 0xC0 }, + + // IDirectSoundBuffer_Release+0x10 : call dword ptr [ecx+0x08] + { 0x10, 0xFF }, + { 0x11, 0x51 }, + { 0x12, 0x08 }, + + // IDirectSoundBuffer_Release+0x13 : ret 4 + { 0x13, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_Unlock +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(IDirectSoundBuffer_Unlock, 3911, 5) + + // IDirectSoundBuffer_Unlock+0x00 : xor eax, eax + { 0x00, 0x33 }, + { 0x01, 0xC0 }, + + // IDirectSoundBuffer_Unlock+0x02 : ret 14h + { 0x02, 0xC2 }, + { 0x03, 0x14 }, + { 0x04, 0x00 } +OOVPA_END; +#if 0 // Cannot be used since this OOVPA does produce false detection. Use it only for as a model understanding. +// ****************************************************************** +// * IDirectSound_SetCooperativeLevel +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(IDirectSound_SetCooperativeLevel, 3911, 5) + + // IDirectSound_SetCooperativeLevel+0x00 : xor eax, eax + { 0x00, 0x33 }, + { 0x01, 0xC0 }, + + // IDirectSound_SetCooperativeLevel+0x02 : ret 0Ch + { 0x02, 0xC2 }, + { 0x03, 0x0C }, + { 0x04, 0x00 } +OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundVoice_SetVolume // ****************************************************************** @@ -120,13 +222,94 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3911, 10, { 0x1A, 0x08 }, OOVPA_END; +// ****************************************************************** +// * CMcpxBuffer_Stop +// ****************************************************************** +OOVPA_XREF(CMcpxBuffer_Stop, 3911, 10, + + XREF_CMcpxBuffer_Stop, + XRefZero) + + // CMcpxBuffer_Stop+0x08 : or eax, dword ptr [esp+10h] + { 0x08, 0x0B }, + { 0x09, 0x44 }, + { 0x0A, 0x24 }, + { 0x0B, 0x10 }, + + // CMcpxBuffer_Stop+0x19 : push 3 + { 0x19, 0x6A }, + { 0x1A, 0x03 }, + + // CMcpxBuffer_Stop+0x24 : test [esp+10h], 2 + { 0x24, 0x8B }, + { 0x25, 0xCE }, + + // CMcpxBuffer_Stop+0x31 : retn 0x08 + { 0x31, 0xC2 }, + { 0x32, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_StopEx +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_StopEx, 3911, 11, + + XREF_CDirectSoundBuffer_StopEx, + XRefOne) + + XREF_ENTRY( 0x39, XREF_CMcpxBuffer_Stop ), + + // CDirectSoundBuffer_StopEx+0x0F : test al, 3 + { 0x0F, 0xA8 }, + { 0x10, 0x03 }, + + + // CDirectSoundBuffer_StopEx+0x15 : and eax, 1 + { 0x15, 0x83 }, + { 0x16, 0xE0 }, + { 0x17, 0x01 }, + + // CDirectSoundBuffer_StopEx+0x32 : push dword ptr [ebp+0Ch] + { 0x32, 0xFF }, + { 0x33, 0x75 }, + { 0x34, 0x0C }, + + // CDirectSoundBuffer_StopEx+0x53 : retn 0x10 + { 0x53, 0xC2 }, + { 0x54, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_StopEx +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_StopEx, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_StopEx+0x1D : call [CDirectSoundBuffer::StopEx] + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_StopEx ), + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, + { 0x22, 0x10 }, +OOVPA_END; + // ****************************************************************** // * CDirectSoundBuffer_Stop // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Stop, 3911, 12, +OOVPA_XREF(CDirectSoundBuffer_Stop, 3911, 13, XREF_CDirectSoundBuffer_Stop, - XRefZero) + XRefOne) + + XREF_ENTRY( 0x14, XREF_CDirectSoundBuffer_StopEx ), // CDirectSoundBuffer_Stop+0x07 : mov eax, 0x80004005 { 0x07, 0x6A }, @@ -220,16 +403,39 @@ OOVPA_XREF(CMcpxBuffer_Play, 3911, 9, { 0x36, 0xC2 }, OOVPA_END; +// ****************************************************************** +// * CDirectSoundBuffer_PlayEx +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_PlayEx, 3911, 9, + + XREF_CDirectSoundBuffer_PlayEx, + XRefOne) + + XREF_ENTRY( 0x21, XREF_CMcpxBuffer_Play ), + + { 0x08, 0xF0 }, + + { 0x13, 0x24 }, + { 0x17, 0x24 }, + { 0x1B, 0x24 }, + + { 0x25, 0x85 }, + { 0x27, 0x8B }, + + + { 0x3A, 0xC2 }, + { 0x3B, 0x10 }, +OOVPA_END; + // ****************************************************************** // * CDirectSoundBuffer_Play // ****************************************************************** -//TODO: This OOVPA seem to be weak. -OOVPA_XREF(CDirectSoundBuffer_Play, 3911, 7, +OOVPA_XREF(CDirectSoundBuffer_Play, 3911, 8, XREF_CDirectSoundBuffer_Play, - XRefZero) + XRefOne) - //Offset 0x16, XREF caller is CDirectSoundBuffer_PlayEx + XREF_ENTRY( 0x16, XREF_CDirectSoundBuffer_PlayEx ), { 0x07, 0xFF }, { 0x0C, 0xF0 }, @@ -277,6 +483,26 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 3911, 16, { 0x22, 0x10 }, OOVPA_END; +// ****************************************************************** +// * IDirectSoundBuffer_PlayEx +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_PlayEx, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_PlayEx ), + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, +OOVPA_END; + // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition // ****************************************************************** @@ -397,7 +623,7 @@ OOVPA_XREF(CDirectSoundBuffer_GetStatus, 3911, 10, XREF_CDirectSoundBuffer_GetStatus, XRefOne) - // CDirectSoundBuffer_GetStatus+0x14 : call [CMcpxBuffer::GetStatus] + // CDirectSoundBuffer_GetStatus+0x15 : call [CMcpxBuffer::GetStatus] XREF_ENTRY( 0x15, XREF_CMcpxBuffer_GetStatus), // CDirectSoundBuffer_GetStatus+0x07 : push [esp+0x10] diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 80541d9ee..1769050ef 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -262,7 +262,7 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3936, 10, { 0x21, 0xC2 }, { 0x22, 0x10 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_Release // ****************************************************************** @@ -284,7 +284,7 @@ OOVPA_NO_XREF(IDirectSoundBuffer_Release, 3936, 10) { 0x11, 0x51 }, { 0x12, 0x08 }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxVoiceClient_SetPitch // ****************************************************************** @@ -367,7 +367,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPitch, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; -#if 0 //Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxBuffer::GetStatus // ****************************************************************** @@ -400,7 +400,7 @@ OOVPA_XREF(CMcpxBuffer_GetStatus, 3936, 13, { 0x49, 0x04 }, OOVPA_END; #endif -#if 0 //Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::GetStatus // ****************************************************************** @@ -428,7 +428,7 @@ OOVPA_XREF(CDirectSoundBuffer_GetStatus, 3936, 10, { 0x2F, 0x08 }, OOVPA_END; #endif -#if 0 //Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_GetStatus // ****************************************************************** @@ -953,7 +953,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 3936, 8, { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; -#if 0 //Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition // ****************************************************************** @@ -982,7 +982,7 @@ OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 3936, 11, { 0xCA, 0x00 }, OOVPA_END; #endif -#if 0 //Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer_GetCurrentPosition // ****************************************************************** @@ -1009,7 +1009,7 @@ OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 3936, 9, { 0x33, 0x0C }, OOVPA_END; #endif -#if 0 //Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_GetCurrentPosition // ****************************************************************** @@ -1035,7 +1035,7 @@ OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition, 3936, 8, { 0x16, 0xC8 }, OOVPA_END; #endif -#if 0 //Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::Play // ****************************************************************** @@ -3066,7 +3066,7 @@ OOVPA_XREF(CDirectSoundStream_SetMode, 3936, 7, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; -#if 0 //Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) // ****************************************************************** @@ -3308,7 +3308,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeAngles, 3936, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * DirectSoundEnterCriticalSection // ****************************************************************** @@ -3325,7 +3325,7 @@ OOVPA_XREF(DirectSoundEnterCriticalSection, 3936, 7, { 0x1A, 0x33 }, { 0x1B, 0xC0 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundBuffer::PlayEx // ****************************************************************** @@ -3345,7 +3345,7 @@ OOVPA_XREF(CDirectSoundBuffer_PlayEx, 3936, 9, { 0x30, 0xFF }, { 0x36, 0x8B }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_PlayEx // ****************************************************************** @@ -3364,7 +3364,7 @@ OOVPA_XREF(IDirectSoundBuffer_PlayEx, 3936, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; - +#endif // ****************************************************************** // * IDirectSound_AddRef // ****************************************************************** @@ -3405,7 +3405,7 @@ OOVPA_NO_XREF(DirectSoundGetSampleTime, 3936, 6) { 0x04, 0xFE }, { 0x05, 0xC3 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_AddRef // ****************************************************************** @@ -3427,7 +3427,7 @@ OOVPA_NO_XREF(IDirectSoundBuffer_AddRef, 3936, 10) { 0x11, 0x51 }, { 0x12, 0x04 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundBuffer::SetMinDistance // ****************************************************************** @@ -3948,21 +3948,6 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 3936, 9, { 0x1F, 0x00 } OOVPA_END; -// ****************************************************************** -// * IDirectSoundBuffer_Unlock -// ****************************************************************** -OOVPA_NO_XREF(IDirectSoundBuffer_Unlock, 3936, 5) - - // IDirectSoundBuffer_Unlock+0x00 : xor eax, eax - { 0x00, 0x33 }, - { 0x01, 0xC0 }, - - // IDirectSoundBuffer_Unlock+0x02 : ret 14h - { 0x02, 0xC2 }, - { 0x03, 0x14 }, - { 0x04, 0x00 } -OOVPA_END; - // ****************************************************************** // * DSound_3936 // ****************************************************************** @@ -3976,7 +3961,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 3936, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetPitch, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, PATCH), @@ -4084,12 +4069,12 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 3936, PATCH), - REGISTER_OOVPA(DirectSoundEnterCriticalSection, 3936, XREF), + REGISTER_OOVPA(DirectSoundEnterCriticalSection, 3911, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 3936, XREF), @@ -4113,7 +4098,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), // TODO: Add CDirectSoundBuffer_SetLoopRegion before 3935-ish }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index bd494995e..3ad9b42a5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2975,8 +2975,8 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CMcpxBuffer_Stop, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s - REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), // Use that for now. Okay, it's your call pal... @@ -3002,7 +3002,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetEffectData, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetEffectData, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 649f47017..b33fbffa0 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -257,7 +257,7 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 4361, 9, { 0x19, 0x23 }, { 0x1A, 0xC8 }, OOVPA_END; -#if 0 //Moved to 4242 +#if 0 // Moved to 4242 // ****************************************************************** // * CMcpxBuffer_Stop // ****************************************************************** @@ -283,7 +283,7 @@ OOVPA_XREF(CMcpxBuffer_Stop, 4361, 9, { 0x1D, 0x02 }, OOVPA_END; #endif -#if 0 //Moved to 4134 +#if 0 // Moved to 4134 // ****************************************************************** // * CDirectSoundBuffer_Stop // ****************************************************************** @@ -457,7 +457,7 @@ OOVPA_XREF(CDirectSoundBuffer_StopEx, 4361, 8, { 0x46, 0x0B }, { 0x52, 0x8B }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_StopEx // ****************************************************************** @@ -476,7 +476,7 @@ OOVPA_XREF(IDirectSoundBuffer_StopEx, 4361, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetFormat // ****************************************************************** @@ -781,10 +781,10 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), @@ -794,11 +794,12 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index a77a37622..588292eba 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -128,7 +128,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), @@ -156,10 +156,10 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index e12f30d09..725e3770f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1584,7 +1584,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), @@ -1593,7 +1593,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), @@ -1622,10 +1622,10 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), @@ -1650,7 +1650,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 7a11de19a..c61512b63 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -180,13 +180,13 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), // +s + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), @@ -218,10 +218,10 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), @@ -246,7 +246,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 44c7da00b..aaf2f936d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -452,7 +452,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // (This is actually the XREF we are using) REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), @@ -505,7 +505,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), @@ -528,13 +528,14 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 859ce0dc3..256d405a8 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -962,7 +962,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4721, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), @@ -1013,7 +1013,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetEffectData, 5344, PATCH), @@ -1042,9 +1042,10 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 827951755..2c8495c38 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1680,7 +1680,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), REGISTER_OOVPA(DirectSoundUseFullHRTF, 5558, PATCH), @@ -1789,6 +1789,8 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index b548bd9cb..2bedafde9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -592,11 +592,11 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), REGISTER_OOVPA(DirectSoundUseFullHRTF, 5558, PATCH), @@ -655,7 +655,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), // This is actually the XREF we are using REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 5788, PATCH), @@ -721,9 +721,10 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index bfcb03047..35e77d403 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -133,11 +133,11 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH), @@ -172,7 +172,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 5788, PATCH), @@ -208,7 +208,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), @@ -239,7 +239,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index fab9d301f..a9a3b2c25 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -57,7 +57,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(XAudioCalculatePitch, XREF, 3936), - REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3936), + REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Commit3dSettings, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_ServiceDeferredCommandsLow, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_Set3dDistanceFactor, XREF, 3936), @@ -75,7 +75,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788), REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3936, 4134, 5558, 5788), - REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 4134, 4242), + REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 4361, 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3925, 3936), @@ -129,7 +129,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3936, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928), REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134, 4361, 5558, 5788), - REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3936, 4361, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3911, 3936, 4361, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3936, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), @@ -161,7 +161,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetVolume, XREF, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 4361), + REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 3911, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3936, 4361, 5558), @@ -209,14 +209,14 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3936, 4039, 4134, 5344, 5558, 5788, 5849), REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3936, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4928), REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911, 4361, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3936), - REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3936), // +s (from 4134's comment) + REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 4134), // Use that for now. Okay, it's your call pal... (from 4134's comment) REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3936, 4134, 5558), @@ -249,8 +249,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3911, 3936, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 4361), - REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, PATCH, 3936), @@ -268,6 +268,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558), REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3936), + //REGISTER_OOVPAS(IDirectSound_SetAllParameters, XREF, 3911), //Cannot be used since this OOVPA does produce false detection. REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 4134, 5344), From e8ab6bc383a478855cfaf39e8ec445703d673588 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Fri, 8 Sep 2017 10:06:57 +0900 Subject: [PATCH 044/146] Added DSound 4039 HLE Database (#720) * Added DSound 4039 HLE Database Following PATCH are available - IDirectSoundBuffer_GetCurrentPosition - IDirectSoundBuffer_Lock - IDirectSoundBuffer_SetPlayRegion - IDirectSoundBuffer_SetCurrentPosition - IDirectSoundBuffer_SetFilter - IDirectSoundBuffer_SetMixBins - IDirectSoundBuffer_SetMixBinVolumes2 - IDirectSoundBuffer_StopEx - IDirectSoundBuffer_SetLFO - IDirectSoundBuffer_SetEG - IDirectSoundBuffer_SetOutputBuffer - IDirectSoundBuffer_SetConeOutsideVolume - IDirectSoundBuffer_SetMaxDistance - IDirectSoundBuffer_SetMinDistance - IDirectSoundBuffer_SetMode - IDirectSoundBuffer_SetPosition - IDirectSoundBuffer_SetVelocity - IDirectSoundBuffer_SetConeOrientation --- src/CxbxKrnl/HLEDataBase.h | 12 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 220 ++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 36 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 1215 ++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 43 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 91 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 16 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 80 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 40 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 38 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 40 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 32 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 30 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 20 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 98 +- 15 files changed, 1781 insertions(+), 230 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index afeff2b23..e350639c0 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -229,12 +229,12 @@ enum XRefDataBaseOffset XREF_DSBUFFERSETHEADROOMA, XREF_DSBUFFERSETFREQUENCYA, XREF_CDirectSoundVoice_SetFrequency, - XREF_DSSTREAMSETMAXDISTANCE1A, - XREF_DSSTREAMSETMAXDISTANCE1B, - XREF_DSSTREAMSETMAXDISTANCE1C, - XREF_DSSTREAMSETMINDISTANCE1A, - XREF_DSSTREAMSETMINDISTANCE1B, - XREF_DSSTREAMSETMINDISTANCE1C, + XREF_CMcpxVoiceClient_Set3dMaxDistance, + XREF_CDirectSoundVoice_SetMaxDistance, + XREF_CDirectSoundStream_SetMaxDistance, + XREF_CDirectSoundStream_SetMinDistance, + XREF_CDirectSoundVoice_SetMinDistance, + XREF_CMcpxVoiceClient_Set3dMinDistance, XREF_DSSTREAMSETCONEANGLES1A, XREF_DSSTREAMSETCONEANGLES1B, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 7299134a6..b80441bb1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -669,3 +669,223 @@ OOVPA_XREF(IDirectSoundBuffer_GetStatus, 3911, 10, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetFilter +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetFilter, 3911, 12, + + XREF_CMcpxVoiceClient_SetFilter, + XRefZero) + + { 0x0E, 0xE8 }, + { 0x1F, 0x6A }, + + { 0x73, 0x00 }, + { 0x74, 0xF6 }, + { 0x75, 0x47 }, + { 0x76, 0x0C }, + { 0x77, 0x10 }, + { 0x78, 0x8B }, + { 0x79, 0x7D }, + { 0x7A, 0xE0 }, + + { 0xA6, 0x8B }, + { 0xA7, 0xE0 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetFilter +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetFilter, 3911, 10, + + XREF_CDirectSoundVoice_SetFilter, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetFilter ), + + { 0x01, 0x57 }, + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x10 }, + { 0x11, 0x8B }, + { 0x12, 0x48 }, + { 0x2E, 0xC2 }, + { 0x2F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetFilter +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetFilter, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetFilter+0x15 : call [CDirectSoundVoice_SetFilter] + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetFilter), + + // IDirectSoundBuffer_SetFilter+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetFilter+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetFilter+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetLFO +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetLFO, 3911, 12, + + XREF_CMcpxVoiceClient_SetLFO, + XRefZero) + + { 0x10, 0x8B }, + { 0x21, 0xEB }, + + { 0x7D, 0x75 }, + { 0x7E, 0x28 }, + { 0x7F, 0x39 }, + { 0x80, 0x05 }, + { 0x81, 0x10 }, + { 0x82, 0x00 }, + { 0x83, 0x82 }, + { 0x84, 0xFE }, + + { 0xA1, 0x89 }, + { 0xB7, 0x6C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetLFO +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetLFO, 3911, 10, + + XREF_CDirectSoundVoice_SetLFO, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetLFO ), + + { 0x01, 0x57 }, + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x10 }, + { 0x11, 0x8B }, + { 0x12, 0x48 }, + { 0x2E, 0xC2 }, + { 0x2F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetLFO +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetLFO, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetLFO ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetEG +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetEG, 3911, 12, + + XREF_CMcpxVoiceClient_SetEG, + XRefZero) + + { 0x10, 0x8B }, + { 0x21, 0xEB }, + + { 0x6B, 0x82 }, + { 0x6C, 0xFE }, + + { 0x95, 0x8B }, + { 0x96, 0x96 }, + { 0x97, 0x8C }, + { 0x98, 0x00 }, + { 0x99, 0x00 }, + { 0x9A, 0x00 }, + { 0x9B, 0x89 }, + { 0x9C, 0x15 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetEG +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetEG, 3911, 10, + + XREF_CDirectSoundVoice_SetEG, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetEG ), + + { 0x01, 0x57 }, + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x10 }, + { 0x11, 0x8B }, + { 0x12, 0x48 }, + { 0x2E, 0xC2 }, + { 0x2F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetEG +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetEG, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetEG ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetOutputBuffer +// ****************************************************************** +//Generic OOVPA as of 3911 and newer +OOVPA_XREF(IDirectSoundBuffer_SetOutputBuffer, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetOutputBuffer ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 1769050ef..9dd05b5fe 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -545,7 +545,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 3936, 11, - XREF_DSBUFFERSETCURRENTPOSITIONB, + XREF_CMcpxBuffer_SetCurrentPosition, XRefZero) // CMcpxBuffer_SetCurrentPosition+0x25 : mov eax, [esi+0x148] @@ -571,11 +571,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 3936, 12, - XREF_DSBUFFERSETCURRENTPOSITIONA, + XREF_CDirectSoundBuffer_SetCurrentPosition, XRefOne) // CDirectSoundBuffer_SetCurrentPosition+0x15 : call [CMcpxBuffer_SetCurrentPosition] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETCURRENTPOSITIONB ), + XREF_ENTRY( 0x15, XREF_CMcpxBuffer_SetCurrentPosition ), // CDirectSoundBuffer_SetCurrentPosition+0x0D : mov eax, [esp+0x10] { 0x0D, 0x8B }, @@ -606,7 +606,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 3936, 10, XRefOne) // IDirectSoundBuffer_SetCurrentPosition+0x15 : call [CDirectSoundBuffer_SetCurrentPosition] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA ), + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetCurrentPosition ), // IDirectSoundBuffer_SetCurrentPosition+0x04 : push [esp+0x08] { 0x04, 0xFF }, @@ -1441,7 +1441,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_Set3dMaxDistance, 3936, 12, - XREF_DSSTREAMSETMAXDISTANCE1C, + XREF_CMcpxVoiceClient_Set3dMaxDistance, XRefZero) // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceC!? @@ -1470,13 +1470,13 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 3936, 15, - XREF_DSSTREAMSETMAXDISTANCE1B, + XREF_CDirectSoundVoice_SetMaxDistance, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceB!? // CDirectSoundVoice_SetMaxDistance+0x23 : call [CMcpxVoiceClient_Set3dMaxDistance] - XREF_ENTRY( 0x23, XREF_DSSTREAMSETMAXDISTANCE1C ), + XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_Set3dMaxDistance ), // CDirectSoundVoice_SetMaxDistance+0x0D : mov eax, [esp+0x14] { 0x0D, 0x8B }, @@ -1508,13 +1508,13 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 3936, 10, - XREF_DSSTREAMSETMAXDISTANCE1A, + XREF_CDirectSoundStream_SetMaxDistance, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceA!? // CDirectSoundStream_SetMaxDistance+0x15 : call [CDirectSoundVoice_SetMaxDistance] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETMAXDISTANCE1B ), + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMaxDistance ), // CDirectSoundStream_SetMaxDistance+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, @@ -1541,7 +1541,7 @@ OOVPA_XREF(IDirectSoundStream_SetMaxDistance, 3936, 11, XRefOne) // CDirectSoundStream_SetMaxDistance+0x11 : call [CDirectSoundStream_SetMaxDistance] - XREF_ENTRY( 0x11, XREF_DSSTREAMSETMAXDISTANCE1A ), + XREF_ENTRY( 0x11, XREF_CDirectSoundStream_SetMaxDistance ), // CDirectSoundStream_SetMaxDistance+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, @@ -1565,7 +1565,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_Set3dMinDistance, 3936, 12, - XREF_DSSTREAMSETMINDISTANCE1C, + XREF_CMcpxVoiceClient_Set3dMinDistance, XRefZero) // TODO: re-use for CDirectSoundBuffer_SetMinDistanceC!? @@ -1594,13 +1594,13 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 3936, 15, - XREF_DSSTREAMSETMINDISTANCE1B, + XREF_CDirectSoundVoice_SetMinDistance, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMinDistanceB!? // CDirectSoundVoice_SetMinDistance+0x23 : call [CMcpxVoiceClient_Set3dMinDistance] - XREF_ENTRY( 0x23, XREF_DSSTREAMSETMINDISTANCE1C ), + XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_Set3dMinDistance ), // CDirectSoundVoice_SetMinDistance+0x0D : mov eax, [esp+0x14] { 0x0D, 0x8B }, @@ -1632,13 +1632,13 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetMinDistance, 3936, 10, - XREF_DSSTREAMSETMINDISTANCE1A, + XREF_CDirectSoundStream_SetMinDistance, XRefOne) // TODO: re-use for CDirectSoundBuffer_SetMinDistanceA!? // CDirectSoundStream_SetMinDistance+0x15 : call [CDirectSoundVoice_SetMinDistance] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETMINDISTANCE1B ), + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMinDistance ), // CDirectSoundStream_SetMinDistance+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, @@ -1665,7 +1665,7 @@ OOVPA_XREF(IDirectSoundStream_SetMinDistance, 3936, 11, XRefOne) // CDirectSoundStream_SetMinDistance+0x11 : call [CDirectSoundStream_SetMinDistance] - XREF_ENTRY( 0x11, XREF_DSSTREAMSETMINDISTANCE1A ), + XREF_ENTRY( 0x11, XREF_CDirectSoundStream_SetMinDistance ), // CDirectSoundStream_SetMinDistance+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, @@ -3436,7 +3436,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 3936, 9, XREF_CDirectSoundBuffer_SetMinDistance, XRefOne) - XREF_ENTRY( 0x11, XREF_DSSTREAMSETMINDISTANCE1B ), + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMinDistance ), { 0x01, 0x74 }, { 0x04, 0xD9 }, @@ -3475,7 +3475,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 3936, 9, XREF_CDirectSoundBuffer_SetMaxDistance, XRefOne) - XREF_ENTRY( 0x11, XREF_DSSTREAMSETMAXDISTANCE1B ), + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMaxDistance ), { 0x01, 0x74 }, { 0x04, 0xD9 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 0810c833b..da2f16e5b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -887,3 +887,1218 @@ OOVPA_XREF(CDirectSoundBuffer_GetStatus, 4039, 10, { 0x4D, 0xC2 }, { 0x4E, 0x08 }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_Lock +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_Lock, 4039, 13, + + XREF_DSBUFFERLOCKA, + XRefZero) + + // CDirectSoundBuffer_Lock+0x34 : test [ebp+0x24], 1 + { 0x34, 0xF6 }, + { 0x35, 0x45 }, + { 0x36, 0x24 }, + { 0x37, 0x01 }, + + // CDirectSoundBuffer_Lock+0x59 : mov eax, [eax+0x140] + { 0x59, 0x8B }, + { 0x5A, 0x80 }, + { 0x5B, 0x40 }, + { 0x5C, 0x01 }, + + // CDirectSoundBuffer_Lock+0x9F : jnb +0x11; mov esi, [esi+0x1C] + { 0x9F, 0x73 }, + { 0xA0, 0x11 }, + { 0xA1, 0x8B }, + { 0xA2, 0x76 }, + { 0xA3, 0x1C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetPlayRegion +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4039, 13, + + XREF_DSBUFFERSETPLAYREGIONA, + XRefZero) + + { 0x00, 0x55 }, + { 0x18, 0x68 }, + { 0x23, 0xB8 }, + + { 0x37, 0x14 }, + { 0x38, 0x8B }, + { 0x39, 0x75 }, + { 0x3A, 0x0C }, + { 0x3B, 0x03 }, + { 0x3C, 0xF0 }, + { 0x3D, 0x3B }, + { 0x3E, 0xB1 }, + + { 0x7C, 0xC2 }, + { 0x7D, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxBuffer_SetCurrentPosition +// ****************************************************************** +OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 4039, 9, + + XREF_CMcpxBuffer_SetCurrentPosition, + XRefZero) + + // CMcpxBuffer_SetCurrentPosition+0x11 : lea eax, [esi+90h] + { 0x11, 0x8D }, + { 0x12, 0x86 }, + { 0x13, 0x90 }, + + // CMcpxBuffer_SetCurrentPosition+0x43 : jb +0x10 + { 0x43, 0x72 }, + { 0x44, 0x10 }, + + // CMcpxBuffer_SetCurrentPosition+0x86 : mov eax, [esi+0E4h] + { 0x6A, 0x8B }, + { 0x6B, 0x86 }, + { 0x6C, 0xE4 }, + { 0x6D, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_SetCurrentPosition +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 4039, 11, + + XREF_CDirectSoundBuffer_SetCurrentPosition, + XRefOne) + + // CDirectSoundBuffer_SetCurrentPosition+0x34 : call [CMcpxBuffer::SetCurrentPosition] + XREF_ENTRY( 0x34, XREF_CMcpxBuffer_SetCurrentPosition), + + // CDirectSoundBuffer_SetCurrentPosition+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetCurrentPosition+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetCurrentPosition+0x3C : jz +0x0B + { 0x3C, 0x74 }, + { 0x3D, 0x0B }, + + // CDirectSoundBuffer_SetCurrentPosition+0x4D : retn 0x08 + { 0x4D, 0xC2 }, + { 0x4E, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CMcpxVoiceClient::SetFilter +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetFilter, 4039, 12, + + XREF_CMcpxVoiceClient_SetFilter, + XRefZero) + + { 0x08, 0xF8 }, + { 0x12, 0xE8 }, + + { 0x20, 0x00 }, + { 0x21, 0x74 }, + { 0x22, 0x13 }, + { 0x23, 0x6A }, + { 0x24, 0x06 }, + { 0x25, 0x59 }, + { 0x26, 0x8D }, + { 0x27, 0x7D }, + + { 0x47, 0x83 }, + { 0x4D, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetFilter +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetFilter, 4039, 7, + + XREF_CDirectSoundVoice_SetFilter, + XRefOne) + + XREF_ENTRY( 0x0C, XREF_CMcpxVoiceClient_SetFilter ), + + { 0x01, 0x44 }, + { 0x04, 0xFF }, + { 0x07, 0x08 }, + { 0x0A, 0x0C }, + { 0x10, 0xC2 }, + { 0x11, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetFilter +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetFilter, 4039, 8, + + XREF_CDirectSoundBuffer_SetFilter, + XRefOne) + + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetFilter ), + + { 0x00, 0x56 }, + { 0x11, 0x85 }, + { 0x1B, 0x15 }, + { 0x25, 0xEB }, + { 0x2F, 0x10 }, + { 0x39, 0x74 }, + { 0x46, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetFilter +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetFilter, 4039, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetFilter+0x15 : call [CDirectSoundBuffer_SetFilter] + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetFilter), + + // IDirectSoundBuffer_SetFilter+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetFilter+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetFilter+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::SetFilter +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetFilter, 4039, 8, + + XREF_CDirectSoundStream_SetFilter, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFilter ), + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoiceSettings::SetMixBins +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 4039, 13, + + XREF_DSSETMIXBINSC, + XRefZero) + + // CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x19 + { 0x06, 0x75 }, + { 0x07, 0x19 }, + + // CDirectSoundVoiceSettings_SetMixBins+0x08 : test byte ptr [ecx+8], 0x10 + { 0x08, 0xF6 }, + { 0x09, 0x41 }, + { 0x0A, 0x08 }, + { 0x0B, 0x10 }, + + // CDirectSoundVoiceSettings_SetMixBins+0x18 : shr eax, 1 + { 0x18, 0xD1 }, + { 0x19, 0xE8 }, + + // CDirectSoundVoiceSettings_SetMixBins+0x4E : mov edx, [ecx+2Ch] + { 0x4E, 0x8B }, + { 0x4F, 0x51 }, + { 0x50, 0x2C }, + + // CDirectSoundVoiceSettings_SetMixBins+0x51 : cmp edx, [eax] + { 0x51, 0x3B }, + { 0x52, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetMixBins +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMixBins, 4039, 17, + + XREF_DSSETMIXBINSB, + XRefOne) + + // CDirectSoundVoice_SetMixBins+0x0D : call [CDirectSoundVoiceSettings::SetMixBins] + XREF_ENTRY( 0x0D, XREF_DSSETMIXBINSC ), + + // CDirectSoundVoice_SetMixBins+0x01 : mov esi, [esp+8] + { 0x01, 0x8B }, + { 0x02, 0x74 }, + { 0x03, 0x24 }, + { 0x04, 0x08 }, + + // CDirectSoundVoice_SetMixBins+0x05 : push [esp+0x0C] + { 0x05, 0xFF }, + { 0x06, 0x74 }, + { 0x07, 0x24 }, + { 0x08, 0x0C }, + + // CDirectSoundVoice_SetMixBins+0x09 : mov ecx, [esi+0x10] + { 0x09, 0x8B }, + { 0x0A, 0x4E }, + { 0x0B, 0x10 }, + + // CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x0C] + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x13, 0x0C }, + + // CDirectSoundVoice_SetMixBins+0x1A : retn 0x08 + { 0x1A, 0xC2 }, + { 0x1B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMixBins +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 4039, 18, + + XREF_DSSETMIXBINSA, + XRefOne) + + // CDirectSoundBuffer_SetMixBins+0x31 : call [CDirectSoundVoice::SetMixBins] + XREF_ENTRY( 0x31, XREF_DSSETMIXBINSB ), + + // CDirectSoundBuffer_SetMixBins+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetMixBins+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetMixBins+0x29 : push [esp+0x10]; push [esp+0x10] + { 0x28, 0xFF }, + { 0x29, 0x74 }, + { 0x2A, 0x24 }, + { 0x2B, 0x10 }, + { 0x2C, 0xFF }, + { 0x2D, 0x74 }, + { 0x2E, 0x24 }, + { 0x2F, 0x10 }, + + // CDirectSoundBuffer_SetMixBins+0x48 : pop edi + { 0x48, 0x5F }, + + // CDirectSoundBuffer_SetMixBins+0x4A : retn 0x08 + { 0x4A, 0xC2 }, + { 0x4B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoiceSettings::SetMixBinVolumes +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4039, 10, + + XREF_DSSETMIXBINVOLUMESC, + XRefZero) + + // CDirectSoundVoiceSettings_SetMixBinVolumes+0x09 : jbe +0x16 + { 0x09, 0x76 }, + { 0x0A, 0x16 }, + + // CDirectSoundVoiceSettings_SetMixBinVolumes+0x18 : mov [ecx+edi*4+0x50], eax + { 0x18, 0x89 }, + { 0x19, 0x44 }, + { 0x1A, 0xB9 }, + { 0x1B, 0x50 }, // 4039 0x50 vs 4134 0x30 + + // CDirectSoundVoiceSettings_SetMixBinVolumes+0x1E : jb +0xEC + { 0x1E, 0x72 }, + { 0x1F, 0xEC }, + + // CDirectSoundVoiceSettings_SetMixBinVolumes+0x22 : retn 0x04 + { 0x22, 0xC2 }, + { 0x23, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetMixBinVolumes +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4039, 17, + + XREF_DSSETMIXBINVOLUMESB, + XRefOne) + + // CDirectSoundVoice_SetMixBinVolumes+0x0D : call [CDirectSoundVoiceSettings::SetMixBinVolumes] + XREF_ENTRY( 0x0D, XREF_DSSETMIXBINVOLUMESC ), + + // CDirectSoundVoice_SetMixBinVolumes+0x01 : mov esi, [esp+8] + { 0x01, 0x8B }, + { 0x02, 0x74 }, + { 0x03, 0x24 }, + { 0x04, 0x08 }, + + // CDirectSoundVoice_SetMixBinVolumes+0x05 : push [esp+0x0C] + { 0x05, 0xFF }, + { 0x06, 0x74 }, + { 0x07, 0x24 }, + { 0x08, 0x0C }, + + // CDirectSoundVoice_SetMixBinVolumes+0x09 : mov ecx, [esi+0x10] + { 0x09, 0x8B }, + { 0x0A, 0x4E }, + { 0x0B, 0x10 }, + + // CDirectSoundVoice_SetMixBinVolumes+0x11 : mov ecx, [esi+0x0C] + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x13, 0x0C }, + + // CDirectSoundVoice_SetMixBinVolumes+0x1A : retn 0x08 + { 0x1A, 0xC2 }, + { 0x1B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMixBinVolumes +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4039, 18, + + XREF_DSSETMIXBINVOLUMESA, + XRefOne) + + // CDirectSoundBuffer_SetMixBinVolumes+0x31 : call [CDirectSoundVoice::SetMixBinVolumes] + XREF_ENTRY( 0x31, XREF_DSSETMIXBINVOLUMESB ), + + // CDirectSoundBuffer_SetMixBinVolumes+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetMixBinVolumes+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetMixBinVolumes+0x28 : push [esp+0x10]; push [esp+0x10] + { 0x28, 0xFF }, + { 0x29, 0x74 }, + { 0x2A, 0x24 }, + { 0x2B, 0x10 }, + { 0x2C, 0xFF }, + { 0x2D, 0x74 }, + { 0x2E, 0x24 }, + { 0x2F, 0x10 }, + + // CDirectSoundBuffer_SetMixBinVolumes+0x48 : pop edi + { 0x48, 0x5F }, + + // CDirectSoundBuffer_SetMixBinVolumes+0x4A : retn 0x08 + { 0x4A, 0xC2 }, + { 0x4B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMixBinVolumes2 +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes2, 4039, 12, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetMixBinVolumes2+0x15 : call [CDirectSoundBuffer::SetMixBinVolumes] + XREF_ENTRY( 0x15, XREF_DSSETMIXBINVOLUMESA ), + + // IDirectSoundBuffer_SetMixBinVolumes2+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetMixBinVolumes2+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetMixBinVolumes2+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, + + // IDirectSoundBuffer_SetMixBinVolumes2+0x11 : and ecx, eax + { 0x11, 0x23 }, + { 0x12, 0xC8 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::CreateSoundStream +// ****************************************************************** +OOVPA_XREF(CDirectSound_CreateSoundStream, 4039, 15, + + XREF_DSCREATESOUNDSTREAM, + XRefZero) + + // CDirectSound_CreateSoundStream+0x25 : mov eax, 0x80004005 + { 0x25, 0xB8 }, + + // CDirectSound_CreateSoundStream+0x2A : jmp 0x62 + { 0x2A, 0xEB }, + { 0x2B, 0x62 }, + + // CDirectSound_CreateSoundStream+0x2C : push 0x1 + { 0x2C, 0x6A }, + { 0x2D, 0x01 }, + + // CDirectSound_CreateSoundStream+0x2E : push 0x28 + { 0x2E, 0x6A }, + { 0x2F, 0x28 }, + + // CDirectSound_CreateSoundStream+0x4A : add esi, 0x7FF8FFF2 + { 0x4C, 0x81 }, + { 0x4D, 0xE6 }, + { 0x4E, 0xF2 }, + { 0x4F, 0xFF }, + { 0x50, 0xF8 }, + { 0x51, 0x7F }, + + // CDirectSound_CreateSoundStream+0x91 : retn 0x10 + { 0x91, 0xC2 }, + { 0x92, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_StopEx +// ****************************************************************** +// Similar pattern of version 3911 +OOVPA_XREF(CDirectSoundBuffer_StopEx, 4039, 12, + + XREF_CDirectSoundBuffer_StopEx, + XRefZero) + + { 0x00, 0x55 }, + { 0x23, 0xB8 }, + + { 0x49, 0xEB }, + { 0x4A, 0x11 }, + { 0x4B, 0xFF }, + { 0x4C, 0x75 }, + { 0x4D, 0x10 }, + { 0x4E, 0x8B }, + { 0x4F, 0x45 }, + { 0x50, 0x08 }, + + { 0x72, 0xC2 }, + { 0x73, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetLFO +// ****************************************************************** +// Similar pattern of version 3911 +OOVPA_XREF(CMcpxVoiceClient_SetLFO, 4039, 13, + + XREF_CMcpxVoiceClient_SetLFO, + XRefZero) + + { 0x00, 0x55 }, + { 0x25, 0xEB }, + + { 0x57, 0x72 }, + { 0x58, 0xF3 }, + { 0x59, 0x33 }, + { 0x5A, 0xC0 }, + { 0x5B, 0x85 }, + { 0x5C, 0xC9 }, + { 0x5D, 0x76 }, + { 0x5E, 0x62 }, + { 0x5F, 0x8B }, + + { 0xCD, 0xC2 }, + { 0xCE, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetLFO +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetLFO, 4039, 7, + + XREF_CDirectSoundVoice_SetLFO, + XRefOne) + + XREF_ENTRY( 0x0C, XREF_CMcpxVoiceClient_SetLFO ), + + { 0x01, 0x44 }, + { 0x04, 0xFF }, + { 0x07, 0x08 }, + { 0x0A, 0x0C }, + { 0x10, 0xC2 }, + { 0x11, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetLFO +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetLFO, 4039, 18, + + XREF_CDirectSoundBuffer_SetLFO, + XRefOne) + + // CDirectSoundBuffer_SetLFO+0x31 : call [CDirectSoundVoice_SetLFO] + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetLFO), + + // CDirectSoundBuffer_SetLFO+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetLFO+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetLFO+0x28 : push [esp+0x10]; push [esp+0x10] + { 0x28, 0xFF }, + { 0x29, 0x74 }, + { 0x2A, 0x24 }, + { 0x2B, 0x10 }, + { 0x2C, 0xFF }, + { 0x2D, 0x74 }, + { 0x2E, 0x24 }, + { 0x2F, 0x10 }, + + // CDirectSoundBuffer_SetLFO+0x48 : pop edi + { 0x48, 0x5F }, + + // CDirectSoundBuffer_SetLFO+0x4A : retn 0x08 + { 0x4A, 0xC2 }, + { 0x4B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetLFO +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetLFO, 4039, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetLFO ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::SetLFO +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetLFO, 4039, 10, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetLFO ), + + { 0x0C, 0x00 }, + { 0x0F, 0xF0 }, + { 0x12, 0x85 }, + { 0x15, 0x0B }, + { 0x3A, 0x85 }, + { 0x3D, 0xF8 }, + { 0x40, 0x68 }, + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetEG +// ****************************************************************** +// Similar pattern of version 3911 +OOVPA_XREF(CMcpxVoiceClient_SetEG, 4039, 12, + + XREF_CMcpxVoiceClient_SetEG, + XRefZero) + + { 0x00, 0x55 }, + { 0x25, 0xEB }, + + { 0x3C, 0x84 }, + { 0x3D, 0x86 }, + { 0x3E, 0x00 }, + { 0x3F, 0x00 }, + { 0x40, 0x00 }, + { 0x41, 0x8B }, + { 0x42, 0x86 }, + { 0x43, 0xE4 }, + + { 0xD3, 0xC2 }, + { 0xD4, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetEG +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetEG, 4039, 7, + + XREF_CDirectSoundVoice_SetEG, + XRefOne) + + XREF_ENTRY( 0x0C, XREF_CMcpxVoiceClient_SetEG ), + + { 0x01, 0x44 }, + { 0x04, 0xFF }, + { 0x07, 0x08 }, + { 0x0A, 0x0C }, + { 0x10, 0xC2 }, + { 0x11, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetEG +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetEG, 4039, 18, + + XREF_CDirectSoundBuffer_SetEG, + XRefOne) + + // CDirectSoundBuffer_SetEG+0x31 : call [CDirectSoundVoice_SetEG] + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetEG), + + // CDirectSoundBuffer_SetEG+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetEG+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetEG+0x28 : push [esp+0x10]; push [esp+0x10] + { 0x28, 0xFF }, + { 0x29, 0x74 }, + { 0x2A, 0x24 }, + { 0x2B, 0x10 }, + { 0x2C, 0xFF }, + { 0x2D, 0x74 }, + { 0x2E, 0x24 }, + { 0x2F, 0x10 }, + + // CDirectSoundBuffer_SetEG+0x48 : pop edi + { 0x48, 0x5F }, + + // CDirectSoundBuffer_SetEG+0x4A : retn 0x08 + { 0x4A, 0xC2 }, + { 0x4B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetEG +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetEG, 4039, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetEG ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::SetEG +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetEG, 4039, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetEG ), + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetOutputBuffer +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetOutputBuffer, 4039, 7, + + XREF_CDirectSoundVoice_SetOutputBuffer, + XRefZero) + + { 0x09, 0xF7 }, + { 0x14, 0x8B }, + { 0x1F, 0x3B }, + { 0x2A, 0xE8 }, + { 0x35, 0x8B }, + { 0x40, 0x74 }, + { 0x4B, 0xD8 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_SetOutputBuffer +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4039, 18, + + XREF_CDirectSoundBuffer_SetOutputBuffer, + XRefOne) + + // CDirectSoundBuffer_SetOutputBuffer+0x31 : call [XREF_CDirectSoundVoice_SetOutputBuffer] + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetOutputBuffer), + + // CDirectSoundBuffer_SetOutputBuffer+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetOutputBuffer+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetOutputBuffer+0x28 : push [esp+0x10]; push [esp+0x10] + { 0x28, 0xFF }, + { 0x29, 0x74 }, + { 0x2A, 0x24 }, + { 0x2B, 0x10 }, + { 0x2C, 0xFF }, + { 0x2D, 0x74 }, + { 0x2E, 0x24 }, + { 0x2F, 0x10 }, + + // CDirectSoundBuffer_SetOutputBuffer+0x48 : pop edi + { 0x48, 0x5F }, + + // CDirectSoundBuffer_SetOutputBuffer+0x4A : retn 0x08 + { 0x4A, 0xC2 }, + { 0x4B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4039, 15, + + XREF_DSVOICESETCONEOUTSIDEVOLUME, + XRefZero) + + // CDirectSoundVoice_SetConeOutsideVolume+0x07 : mov edx, [esp+arg_4] + { 0x07, 0x8B }, + { 0x08, 0x54 }, + { 0x09, 0x24 }, + { 0x0A, 0x08 }, + + // CDirectSoundVoice_SetConeOutsideVolume+0x11 : mov [eax+104h], edx + { 0x0B, 0x89 }, + { 0x0C, 0x90 }, + { 0x0D, 0x04 }, + { 0x0E, 0x01 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + + { 0x11, 0x8B }, + { 0x14, 0x83 }, + { 0x1A, 0x10 }, + + // CDirectSoundVoice_SetConeOutsideVolume+0x2A : retn 0Ch + { 0x2A, 0xC2 }, + { 0x2B, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 4039, 12, + + XREF_DSBUFFERSETCONEOUTSIDEVOLUME, + XRefOne) + + // CDirectSoundBuffer_SetConeOutsideVolume+0x35 : call [CDirectSoundVoice::SetConeOutsideVolume] + XREF_ENTRY( 0x35, XREF_DSVOICESETCONEOUTSIDEVOLUME ), + + // CDirectSoundBuffer_SetConeOutsideVolume+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetConeOutsideVolume+0x21 : mov eax, 80004005h + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetConeOutsideVolume+0x30 : push [esp+0Ch+arg_0] + { 0x30, 0xFF }, + { 0x31, 0x74 }, + { 0x32, 0x24 }, + { 0x33, 0x14 }, + + // CDirectSoundBuffer_SetConeOutsideVolume+0x4E : retn 0Ch + { 0x4E, 0xC2 }, + { 0x4F, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetMaxDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4039, 14, + + XREF_CDirectSoundVoice_SetMaxDistance, + XRefZero) + + // CDirectSoundVoice_SetMaxDistance+0x07 : mov edx, [esp+arg_4] + { 0x07, 0x8B }, + { 0x08, 0x54 }, + { 0x09, 0x24 }, + { 0x0A, 0x08 }, + + // CDirectSoundVoice_SetMaxDistance+0x0B : mov [eax+10h], edx + { 0x0B, 0x89 }, + { 0x0C, 0x90 }, + { 0x0D, 0x08 }, // SetMaxDistance 0x0C VS SetMinDistance 0x08 + + // CDirectSoundVoice_SetMaxDistance+0x14 : or dword ptr [eax+138h], 4 + { 0x14, 0x83 }, + { 0x15, 0x88 }, + { 0x18, 0x00 }, + { 0x19, 0x00 }, + { 0x1A, 0x04 }, + + // CDirectSoundVoice_SetMaxDistance+0x2A : retn 0Ch + { 0x2A, 0xC2 }, + { 0x2B, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMaxDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 4039, 11, + + XREF_CDirectSoundBuffer_SetMaxDistance, + XRefOne) + + // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice_SetMaxDistance] + XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetMaxDistance ), + + // CDirectSoundBuffer_SetMaxDistance+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetMaxDistance+0x21 : mov eax, 80004005h + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetMaxDistance+0x31 : fstp [esp+0Ch+var_C] + { 0x31, 0xD9 }, + { 0x32, 0x1C }, + { 0x33, 0x24 }, + + // CDirectSoundBuffer_SetMaxDistance+0x52 : retn 0Ch + { 0x53, 0x0C }, + { 0x54, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetMinDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4039, 14, + + XREF_CDirectSoundVoice_SetMinDistance, + XRefZero) + + // CDirectSoundVoice_SetMinDistance+0x07 : mov edx, [esp+arg_4] + { 0x07, 0x8B }, + { 0x08, 0x54 }, + { 0x09, 0x24 }, + { 0x0A, 0x08 }, + + // CDirectSoundVoice_SetMinDistance+0x0B : mov [eax+10h], edx + { 0x0B, 0x89 }, + { 0x0C, 0x90 }, + { 0x0D, 0x0C }, // SetMaxDistance 0x0C VS SetMinDistance 0x08 + + // CDirectSoundVoice_SetMinDistance+0x14 : or dword ptr [eax+138h], 4 + { 0x14, 0x83 }, + { 0x15, 0x88 }, + { 0x18, 0x00 }, + { 0x19, 0x00 }, + { 0x1A, 0x04 }, + + // CDirectSoundVoice_SetMinDistance+0x2A : retn 0Ch + { 0x2A, 0xC2 }, + { 0x2B, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMinDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 4039, 11, + + XREF_CDirectSoundBuffer_SetMinDistance, + XRefOne) + + // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice_SetMinDistance] + XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetMinDistance ), + + // CDirectSoundBuffer_SetMinDistance+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetMinDistance+0x21 : mov eax, 80004005h + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetMinDistance+0x31 : fstp [esp+0Ch+var_C] + { 0x31, 0xD9 }, + { 0x32, 0x1C }, + { 0x33, 0x24 }, + + // CDirectSoundBuffer_SetMinDistance+0x52 : retn 0Ch + { 0x53, 0x0C }, + { 0x54, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetMode +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMode, 4039, 12, + + XREF_DSBUFFERSETMODEB, + XRefZero) + + { 0x00, 0xF6 }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x0C }, + { 0x04, 0x01 }, + { 0x05, 0x8B }, + { 0x06, 0x44 }, + { 0x07, 0x24 }, + + { 0x16, 0x75 }, + { 0x19, 0xE8 }, + { 0x20, 0xC2 }, + { 0x21, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMode +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetMode, 4039, 12, + + XREF_DSBUFFERSETMODEA, + XRefOne) + + // CDirectSoundBuffer_SetMode+0x35 : call [CDirectSoundVoice::SetMode] + XREF_ENTRY( 0x35, XREF_DSBUFFERSETMODEB ), + + // CDirectSoundBuffer_SetMode+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetMode+0x21 : mov eax, 80004005h + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetMode+0x30 : push [esp+0Ch+arg_0] + { 0x30, 0xFF }, + { 0x31, 0x74 }, + { 0x32, 0x24 }, + { 0x33, 0x14 }, + + // CDirectSoundBuffer_SetMode+0x4E : retn 0Ch + { 0x4E, 0xC2 }, + { 0x4F, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetPosition +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetPosition, 4039, 12, + + XREF_DSVOICESETPOSITION, + XRefZero) + + { 0x05, 0x08 }, + { 0x1C, 0xDC }, + + { 0x31, 0x00 }, + { 0x32, 0x00 }, + { 0x33, 0xFF }, // SetPosition 0xFF vs SetConeOrientation 0x40 + { 0x34, 0xF6 }, + { 0x35, 0x45 }, + { 0x36, 0x18 }, + { 0x37, 0x01 }, + { 0x38, 0x5E }, + + { 0x44, 0xC2 }, + { 0x45, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetPosition +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetPosition, 4039, 10, + + XREF_DSBUFFERSETPOSITION, + XRefOne) + + // CDirectSoundBuffer_SetPosition+0x49 : call [CDirectSoundVoice::SetPosition] + XREF_ENTRY( 0x49, XREF_DSVOICESETPOSITION ), + + // CDirectSoundBuffer_SetPosition+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSoundBuffer_SetPosition+0x2A : fld [ebp+arg_C] + { 0x2A, 0xD9 }, + { 0x2B, 0x45 }, + { 0x2C, 0x14 }, + + // CDirectSoundBuffer_SetPosition+0x42 : fstp [esp+18h+var_18] + { 0x42, 0xD9 }, + { 0x43, 0x1C }, + { 0x44, 0x24 }, + + // CDirectSoundBuffer_SetPosition+0x63 : retn 14h + { 0x63, 0xC2 }, + { 0x64, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetVelocity +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetVelocity, 4039, 12, + + XREF_DSVOICESETVELOCITY, + XRefZero) + + { 0x05, 0x08 }, + { 0x1C, 0xE8 }, + + { 0x31, 0x00 }, + { 0x32, 0x00 }, + { 0x33, 0x40 }, // SetPosition 0xFF vs SetVelocity 0x40 + { 0x34, 0xF6 }, + { 0x35, 0x45 }, + { 0x36, 0x18 }, + { 0x37, 0x01 }, + { 0x38, 0x5E }, + + { 0x44, 0xC2 }, + { 0x45, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetVelocity +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 4039, 10, + + XREF_DSBUFFERSETVELOCITY, + XRefOne) + + // CDirectSoundBuffer_SetVelocity+0x49 : call [CDirectSoundVoice::SetVelocity] + XREF_ENTRY( 0x49, XREF_DSVOICESETVELOCITY ), + + // CDirectSoundBuffer_SetVelocity+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSoundBuffer_SetVelocity+0x2A : fld [ebp+arg_C] + { 0x2A, 0xD9 }, + { 0x2B, 0x45 }, + { 0x2C, 0x14 }, + + // CDirectSoundBuffer_SetVelocity+0x42 : fstp [esp+18h+var_18] + { 0x42, 0xD9 }, + { 0x43, 0x1C }, + { 0x44, 0x24 }, + + // CDirectSoundBuffer_SetVelocity+0x63 : retn 14h + { 0x63, 0xC2 }, + { 0x64, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetConeOrientation +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 4039, 12, + + XREF_DSVOICESETCONEORIENTATION, + XRefZero) + + { 0x05, 0x08 }, + { 0x1C, 0xFC }, + + { 0x31, 0x00 }, + { 0x32, 0x00 }, + { 0x33, 0x18 }, // SetPosition 0xFF vs SetConeOrientation 0x40 + { 0x34, 0xF6 }, + { 0x35, 0x45 }, + { 0x36, 0x18 }, + { 0x37, 0x01 }, + { 0x38, 0x5E }, + + { 0x44, 0xC2 }, + { 0x45, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetConeOrientation +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 4039, 10, + + XREF_DSBUFFERSETCONEORIENTATION, + XRefOne) + + // CDirectSoundBuffer_SetConeOrientation+0x49 : call [CDirectSoundVoice::SetConeOrientation] + XREF_ENTRY( 0x49, XREF_DSVOICESETCONEORIENTATION ), + + // CDirectSoundBuffer_SetConeOrientation+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSoundBuffer_SetConeOrientation+0x2A : fld [ebp+arg_C] + { 0x2A, 0xD9 }, + { 0x2B, 0x45 }, + { 0x2C, 0x14 }, + + // CDirectSoundBuffer_SetConeOrientation+0x42 : fstp [esp+18h+var_18] + { 0x42, 0xD9 }, + { 0x43, 0x1C }, + { 0x44, 0x24 }, + + // CDirectSoundBuffer_SetConeOrientation+0x63 : retn 14h + { 0x63, 0xC2 }, + { 0x64, 0x14 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 3ad9b42a5..2237b3f8f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -297,7 +297,7 @@ OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 4134, 11, { 0x54, 0x51 }, { 0x55, 0x24 }, OOVPA_END; - +#if 0 // Moved to 4039 // ****************************************************************** // * CDirectSoundVoice::SetMixBins // ****************************************************************** @@ -335,7 +335,7 @@ OOVPA_XREF(CDirectSoundVoice_SetMixBins, 4134, 17, { 0x1A, 0xC2 }, { 0x1B, 0x08 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundBuffer::SetMixBins // ****************************************************************** @@ -1171,7 +1171,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4134, 12, - XREF_DSVOICESETMAXDISTANCE, + XREF_CDirectSoundVoice_SetMaxDistance, XRefZero) // CDirectSoundVoice_SetMaxDistance+0x0D : mov edx, [esp+arg_4] @@ -1203,7 +1203,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 4134, 10, XRefOne) // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] - XREF_ENTRY( 0x3A, XREF_DSVOICESETMAXDISTANCE ), + XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMaxDistance ), // CDirectSoundBuffer_SetMaxDistance+0x21 : mov eax, 80004005h { 0x22, 0x05 }, @@ -1221,6 +1221,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 4134, 10, { 0x55, 0x00 } OOVPA_END; +#if 0 // No longer used, replaced by generic 3936 version // ****************************************************************** // * IDirectSoundBuffer_SetMaxDistance // ****************************************************************** @@ -1247,7 +1248,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 4134, 10, { 0x22, 0x0C }, { 0x23, 0x00 } OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundStream_SetMaxDistance // ****************************************************************** @@ -1256,7 +1257,7 @@ OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 4134, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x3E, XREF_DSVOICESETMAXDISTANCE ), + XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetMaxDistance ), { 0x00, 0x56 }, { 0x0C, 0x00 }, @@ -1322,7 +1323,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 4134, 10, { 0x54, 0x0C }, { 0x55, 0x00 } OOVPA_END; - +#if 0 // No longer used, replaced by generic 3936 version // ****************************************************************** // * IDirectSoundBuffer_SetMinDistance // ****************************************************************** @@ -1349,6 +1350,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 4134, 10, { 0x22, 0x0C }, { 0x23, 0x00 } OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundStream_SetMinDistance @@ -2323,6 +2325,7 @@ OOVPA_XREF(CMcpxVoiceClient_SetFilter, 4134, 8, { 0xFE, 0xB7 }, OOVPA_END; +#if 0 // Moved to 4039 // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetFilter // ****************************************************************** @@ -2340,6 +2343,7 @@ OOVPA_XREF(CDirectSoundVoice_SetFilter, 4134, 7, { 0x10, 0xC2 }, { 0x11, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetFilter @@ -2360,6 +2364,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetFilter, 4134, 8, { 0x47, 0x8B }, OOVPA_END; +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer_SetFilter // ****************************************************************** @@ -2378,6 +2383,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetFilter, 4134, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSound::SetVelocity @@ -2612,6 +2618,7 @@ OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, 10, { 0x23, 0x04 }, OOVPA_END; +#if 0 // Moved to 4039 // ****************************************************************** // * CDirectSoundVoice::SetMixBinVolumes // ****************************************************************** @@ -2649,6 +2656,7 @@ OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4134, 17, { 0x1A, 0xC2 }, { 0x1B, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundBuffer::SetMixBinVolumes @@ -2685,7 +2693,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4134, 17, { 0x4B, 0xC2 }, { 0x4C, 0x08 }, OOVPA_END; - +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer_SetMixBinVolumes2 // ****************************************************************** @@ -2716,7 +2724,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes2, 4134, 12, { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundStream_SetMixBinVolumes2 // ****************************************************************** @@ -2870,7 +2878,7 @@ OOVPA_XREF(CDirectSoundBuffer_Stop, 4134, 13, OOVPA_END; // ****************************************************************** -// * Direct, 4134 +// * DSound_4134 // ****************************************************************** OOVPATable DSound_4134[] = { @@ -2890,7 +2898,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... @@ -2933,11 +2941,11 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMaxDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 4134, XREF), // s+ REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), @@ -2987,18 +2995,19 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMode, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetEffectData, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetEffectData, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index b33fbffa0..be3f776aa 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -457,6 +457,7 @@ OOVPA_XREF(CDirectSoundBuffer_StopEx, 4361, 8, { 0x46, 0x0B }, { 0x52, 0x8B }, OOVPA_END; + #if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_StopEx @@ -576,7 +577,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4361, 12, - XREF_DSVOICESETMAXDISTANCE, + XREF_CDirectSoundVoice_SetMaxDistance, XRefZero) // CDirectSoundVoice_SetMaxDistance+0x0D : mov edx, [esp+arg_4] @@ -739,6 +740,80 @@ OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4361, 12, { 0x32, 0x00 } OOVPA_END; +// ****************************************************************** +// * CMcpxVoiceClient::SetLFO +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetLFO, 4242, 8, + + XREF_CMcpxVoiceClient_SetLFO, + XRefZero) + + { 0x1E, 0x48 }, + { 0x3E, 0x31 }, + { 0x5E, 0x35 }, + { 0x7E, 0xE1 }, + { 0x9E, 0x8B }, + { 0xBE, 0x8B }, + { 0xDE, 0x05 }, + { 0xFE, 0x6C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetLFO +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetLFO, 4242, 8, + + XREF_CDirectSoundBuffer_SetLFO, + XRefOne) + + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetLFO ), + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetEG +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetEG, 4242, 8, + + XREF_CMcpxVoiceClient_SetEG, + XRefZero) + + { 0x1E, 0x75 }, + { 0x3E, 0x0F }, + { 0x5E, 0xE3 }, + { 0x7E, 0x4E }, + { 0x9E, 0x40 }, + { 0xBE, 0x50 }, + { 0xDE, 0x1C }, + { 0xFE, 0x1C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetEG +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetEG, 4242, 8, + + XREF_CDirectSoundBuffer_SetEG, + XRefOne) + + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetEG ), + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, +OOVPA_END; + // ****************************************************************** // * DSound_4361 // ****************************************************************** @@ -777,7 +852,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), @@ -787,7 +862,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4242, XREF), @@ -800,6 +875,16 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 588292eba..a5c89f649 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -142,14 +142,14 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), @@ -166,6 +166,16 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 725e3770f..bf882773e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -790,6 +790,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 4627, 8, { 0x4B, 0x8B }, OOVPA_END; +#if 0 // Moved to 4242 // ****************************************************************** // * DirectSound::CMcpxVoiceClient::SetEG // ****************************************************************** @@ -807,7 +808,8 @@ OOVPA_XREF(CMcpxVoiceClient_SetEG, 4627, 8, { 0xDE, 0x1C }, { 0xFE, 0x1C }, OOVPA_END; - +#endif +#if 0 // Moved to 4039 // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetEG // ****************************************************************** @@ -825,7 +827,8 @@ OOVPA_XREF(CDirectSoundVoice_SetEG, 4627, 7, { 0x10, 0xC2 }, { 0x11, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 4039 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetEG // ****************************************************************** @@ -844,7 +847,8 @@ OOVPA_XREF(CDirectSoundStream_SetEG, 4627, 8, { 0x40, 0x68 }, { 0x4B, 0x8B }, OOVPA_END; - +#endif +#if 0 // Moved to 4242 // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetEG // ****************************************************************** @@ -863,7 +867,8 @@ OOVPA_XREF(CDirectSoundBuffer_SetEG, 4627, 8, { 0x3A, 0x74 }, { 0x47, 0x8B }, OOVPA_END; - +#endif +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer_SetEG // ****************************************************************** @@ -882,6 +887,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetEG, 4627, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSoundStream::FlushEx @@ -941,7 +947,7 @@ OOVPA_NO_XREF(XAudioDownloadEffectsImage, 4627, 8) { 0xDE, 0x07 }, { 0xFE, 0xF7 }, OOVPA_END; - +#if 0 // Moved to 4039 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetFilter // ****************************************************************** @@ -960,7 +966,7 @@ OOVPA_XREF(CDirectSoundStream_SetFilter, 4627, 8, { 0x40, 0x68 }, { 0x4B, 0x8B }, OOVPA_END; - +#endif #if 0 // Moved to 4134 // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetPitch @@ -1040,7 +1046,7 @@ OOVPA_XREF(CDirectSoundStream_SetHeadroom, 4627, 8, { 0x40, 0x68 }, { 0x4B, 0x8B }, OOVPA_END; - +#if 0 // Moved to 4039 // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetOutputBuffer // ****************************************************************** @@ -1057,7 +1063,7 @@ OOVPA_XREF(CDirectSoundVoice_SetOutputBuffer, 4627, 7, { 0x40, 0x74 }, { 0x4B, 0xD8 }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetOutputBuffer // ****************************************************************** @@ -1096,6 +1102,7 @@ OOVPA_XREF(CDirectSoundStream_SetOutputBuffer, 4627, 8, { 0x4B, 0x8B }, OOVPA_END; +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetOutputBuffer // ****************************************************************** @@ -1114,6 +1121,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetOutputBuffer, 4627, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetRolloffCurve @@ -1282,7 +1290,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetNotificationPositions, 4627, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#if 0 // Moved to 4242 // ****************************************************************** // * CMcpxVoiceClient::SetLFO // ****************************************************************** @@ -1300,7 +1308,8 @@ OOVPA_XREF(CMcpxVoiceClient_SetLFO, 4627, 8, { 0xDE, 0x05 }, { 0xFE, 0x6C }, OOVPA_END; - +#endif +#if 0 // Moved to 4039 // ****************************************************************** // * CDirectSoundVoice::SetLFO // ****************************************************************** @@ -1318,7 +1327,8 @@ OOVPA_XREF(CDirectSoundVoice_SetLFO, 4627, 7, { 0x10, 0xC2 }, { 0x11, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 4242 // ****************************************************************** // * CDirectSoundBuffer::SetLFO // ****************************************************************** @@ -1337,7 +1347,8 @@ OOVPA_XREF(CDirectSoundBuffer_SetLFO, 4627, 8, { 0x3A, 0x74 }, { 0x47, 0x8B }, OOVPA_END; - +#endif +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer_SetLFO // ****************************************************************** @@ -1356,7 +1367,8 @@ OOVPA_XREF(IDirectSoundBuffer_SetLFO, 4627, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 4039 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetLFO // ****************************************************************** @@ -1377,7 +1389,7 @@ OOVPA_XREF(CDirectSoundStream_SetLFO, 4627, 10, { 0x4F, 0xC2 }, { 0x50, 0x08 }, OOVPA_END; - +#endif #if 0 // Moved to 4134 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetPitch @@ -1486,13 +1498,13 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_SetAllParameters, 4831, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), @@ -1550,10 +1562,10 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 4134, XREF), // s+ REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), @@ -1604,11 +1616,11 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4627, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 4627, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), @@ -1616,10 +1628,10 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), @@ -1633,9 +1645,9 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), @@ -1645,11 +1657,11 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(XWaveFileCreateMediaObject, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), // Uncommenting these fixes dashboard 4920 REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index c61512b63..727d3410d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -74,13 +74,13 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_SetAllParameters, 4831, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... @@ -138,11 +138,11 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMaxDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 4134, XREF), // s+ REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), @@ -199,11 +199,11 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4627, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 4627, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), @@ -212,10 +212,10 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMode, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), @@ -229,9 +229,9 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), @@ -241,11 +241,11 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(XWaveFileCreateMediaObject, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4627, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index aaf2f936d..72cf97de2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -381,7 +381,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5233, PATCH), @@ -436,10 +436,10 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), @@ -488,29 +488,29 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), - REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 256d405a8..243e95861 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -256,7 +256,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 5344, 9, - XREF_DSVOICESETMAXDISTANCE, + XREF_CDirectSoundVoice_SetMaxDistance, XRefZero) { 0x05, 0x41 }, @@ -278,7 +278,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 5344, 11, XRefOne) // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] - XREF_ENTRY( 0x3A, XREF_DSVOICESETMAXDISTANCE ), + XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMaxDistance ), { 0x00, 0x56 }, // CDirectSoundBuffer_SetMaxDistance+0x21 : mov eax, 80004005h @@ -892,7 +892,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSound_SetVelocity, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5344, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5233, PATCH), @@ -949,7 +949,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 5344, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), @@ -994,32 +994,32 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5344, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5344, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5344, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetEffectData, 5344, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 2c8495c38..e8a79b12f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1635,9 +1635,9 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), @@ -1658,9 +1658,9 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4627, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF), @@ -1690,10 +1690,10 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5558, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), @@ -1764,19 +1764,19 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 2bedafde9..f697b0396 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -212,7 +212,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 5788, 8, XREF_DSBUFFERSETMAXDISTANCE, XRefOne) - XREF_ENTRY( 0x3A, XREF_DSVOICESETMAXDISTANCE ), + XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMaxDistance ), { 0x0C, 0x00 }, { 0x14, 0x74 }, @@ -567,9 +567,9 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 5558, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 5788, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), @@ -629,10 +629,10 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5788, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4627, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4627, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), @@ -699,19 +699,19 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 35e77d403..b931be829 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -108,9 +108,9 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 5788, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), @@ -214,15 +214,15 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4134, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4134, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4627, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index a9a3b2c25..4fbdd45f6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -74,9 +74,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3911, 4361, 4721, 4831), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788), - REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3936, 4134, 5558, 5788), - REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), - REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), + REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3936, 4039, 4134, 5558, 5788), + REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z + REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 4361, 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3925, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3936), @@ -88,80 +88,80 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dPosition, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dVelocity, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 4627), - REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 4134, 5344, 5558), + REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 3911, 4039, 4242), + REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 3911, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 4627), + REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 3911, 4039, 4242), REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_SetPitch, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3936, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4039, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 3936, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 3936, 4134, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 3936, 4039, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 3936, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 3911, 4039), + REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4242, 4721, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4039, 4134, 4627, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3936, 4134, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3936, 4134, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3936, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4134, 5233, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 3911, 4039), + REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3936, 4039, 4134, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3936, 4039, 4134, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3936, 4039, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3936, 4039), + REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4039, 4134, 5233, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 3936, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 3936, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 3936, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment) - REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 3936, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 3936, 4039, 4134, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 3911, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721), - REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928), REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134, 4361, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3911, 3936, 4361, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3936, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 3936, 4134, 5558, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3936, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3936, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 3936, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetDopplerFactor, XREF, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetEG, XREF, 4627), - REGISTER_OOVPAS(CDirectSoundBuffer_SetFilter, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetEG, XREF, 4039, 4242), + REGISTER_OOVPAS(CDirectSoundBuffer_SetFilter, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4242, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetFrequency, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4039, 4242), REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 4039, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3936, 4134, 5344, 5788), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3936, 4134, 5344, 5788), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBins, XREF, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4134, 5233), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3936, 4039, 4134, 5344, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3936, 4039, 4134, 5344, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBins, XREF, 4039, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3936, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) - REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 4039, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 3936, 4361, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 3936, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 3936, 4039, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 4039, 3936, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffCurve, XREF, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffFactor, XREF, 4134, 5788), - REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3936, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3936, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetVolume, XREF, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 3911, 4361), + REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 3911, 4039, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3936, 4361, 5558), @@ -169,13 +169,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4627), - REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4627), + REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4039), + REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4039), REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242), REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3936, 5233), REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3936, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4627), + REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4039), REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3936, 4134, 5344), REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3936, 4627, 5233, 5558), @@ -192,7 +192,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, PATCH, 3936, 4039, 4134, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3936, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3936, 4134, 5558), + REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3936, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3936, 4039), REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3936, 4627, 5233, 5344, 5558), REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3936, 4361), @@ -225,22 +225,22 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetDistanceFactor, PATCH, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetDopplerFactor, PATCH, 4134, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetEG, PATCH, 4627), - REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 4134), + REGISTER_OOVPAS(IDirectSoundBuffer_SetEG, PATCH, 3911, 4039), + REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3936, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 4134, 5344, 5788), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 4134, 5558, 5788), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 5344, 5788), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes, PATCH, 3936), //TODO: What's the difference from this and below? - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes2, PATCH, 4134), //TODO: What's the difference from this and above? + REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes2, PATCH, 4039), //TODO: What's the difference from this and above? REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3936, 4134, 5233), REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3936, 4627), - REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 3936, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_SetPosition, PATCH, 3936, 5558), From f1b339012ea9758efea8eb753d6683c4e3240aa9 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 8 Sep 2017 07:18:16 -0500 Subject: [PATCH 045/146] Renaming IDSB and CDSS SetMixBinVolumes(2) - 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 --- src/CxbxKrnl/EmuDSound.cpp | 20 +++-- src/CxbxKrnl/EmuDSound.h | 16 ++-- src/CxbxKrnl/HLEDataBase.h | 10 +-- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 92 +++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 38 ++++---- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 70 ++++++++++----- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 47 +++++----- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 10 +-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 12 +-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 12 +-- 16 files changed, 237 insertions(+), 114 deletions(-) diff --git a/src/CxbxKrnl/EmuDSound.cpp b/src/CxbxKrnl/EmuDSound.cpp index 6d8eed274..891dd38d0 100755 --- a/src/CxbxKrnl/EmuDSound.cpp +++ b/src/CxbxKrnl/EmuDSound.cpp @@ -615,9 +615,10 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBins) } // ****************************************************************** -// * patch: IDirectSoundBuffer_SetMixBinVolumes +// * patch: IDirectSoundBuffer_SetMixBinVolumes_12 // ****************************************************************** -HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes) +// This revision API was used in XDK 3911 until API had changed in XDK 4039. +HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_12) ( LPDIRECTSOUND8 pThis, DWORD dwMixBinMask, @@ -644,9 +645,10 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes) } // ****************************************************************** -// * patch: IDirectSoundBuffer_SetMixBinVolumes +// * patch: IDirectSoundBuffer_SetMixBinVolumes_8 // ****************************************************************** -HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes2) +// This revision is only used in XDK 4039 and higher. +HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_8) ( LPDIRECTSOUND8 pThis, PVOID pMixBins) @@ -3070,9 +3072,10 @@ DWORD WINAPI XTL::EMUPATCH(DirectSoundGetSampleTime)() } // ****************************************************************** -// * patch: CDirectSoundStream_SetMixBinVolumes +// * patch: CDirectSoundStream_SetMixBinVolumes_12 // ****************************************************************** -HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_SetMixBinVolumes) +// This revision API is only used in XDK 4039 and higher. +HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_SetMixBinVolumes_12) ( X_CDirectSoundStream* pThis, DWORD dwMixBinMask, @@ -3099,9 +3102,10 @@ HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_SetMixBinVolumes) } // ****************************************************************** -// * patch: CDirectSoundStream_SetMixBinVolumes2 +// * patch: CDirectSoundStream_SetMixBinVolumes_8 // ****************************************************************** -HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_SetMixBinVolumes2) +// This revision API was used in XDK 3911 until API had changed in XDK 4039. +HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_SetMixBinVolumes_8) ( X_CDirectSoundStream* pThis, LPVOID pMixBins) diff --git a/src/CxbxKrnl/EmuDSound.h b/src/CxbxKrnl/EmuDSound.h index 7f8af0f40..1558a6f1a 100755 --- a/src/CxbxKrnl/EmuDSound.h +++ b/src/CxbxKrnl/EmuDSound.h @@ -584,9 +584,9 @@ HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBins) ); // ****************************************************************** -// * patch: IDirectSoundBuffer_SetMixBinVolumes +// * patch: IDirectSoundBuffer_SetMixBinVolumes_12 // ****************************************************************** -HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes) +HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_12) ( LPDIRECTSOUND8 pThis, DWORD dwMixBinMask, @@ -594,9 +594,9 @@ HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes) ); // ****************************************************************** -// * patch: IDirectSoundBuffer_SetMixBinVolumes +// * patch: IDirectSoundBuffer_SetMixBinVolumes_12 // ****************************************************************** -HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes2) +HRESULT WINAPI EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_8) ( LPDIRECTSOUND8 pThis, PVOID pMixBins // TODO: fill this out @@ -1407,9 +1407,9 @@ HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetPitch) DWORD WINAPI EMUPATCH(DirectSoundGetSampleTime)(); // ****************************************************************** -// * patch: CDirectSoundStream_SetMixBinVolumes +// * patch: CDirectSoundStream_SetMixBinVolumes_12 // ****************************************************************** -HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetMixBinVolumes) +HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetMixBinVolumes_12) ( X_CDirectSoundStream* pThis, DWORD dwMixBinMask, @@ -1417,9 +1417,9 @@ HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetMixBinVolumes) ); // ****************************************************************** -// * patch: CDirectSoundStream_SetMixBinVolumes2 +// * patch: CDirectSoundStream_SetMixBinVolumes_8 // ****************************************************************** -HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetMixBinVolumes2) +HRESULT WINAPI EMUPATCH(CDirectSoundStream_SetMixBinVolumes_8) ( X_CDirectSoundStream* pThis, LPVOID pMixBins diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index e350639c0..c3d9756c7 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -193,16 +193,15 @@ enum XRefDataBaseOffset XREF_DSCREATESOUNDBUFFER, XREF_DSCREATESOUNDSTREAM, XREF_DSSTREAMPAUSE, - XREF_DSSTREAMSETVOLUME, XREF_DSSETI3DL2LISTENER, XREF_DSSETMIXBINHEADROOMA, XREF_DSSETMIXBINHEADROOMB, XREF_DSSETMIXBINSA, XREF_DSSETMIXBINSB, XREF_DSSETMIXBINSC, - XREF_DSSETMIXBINVOLUMESA, - XREF_DSSETMIXBINVOLUMESB, - XREF_DSSETMIXBINVOLUMESC, + XREF_CDirectSoundBuffer_SetMixBinVolumes, + XREF_CDirectSoundVoice_SetMixBinVolumes, + XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, XREF_DSSETPOSITIONA, XREF_DSSETPOSITIONB, XREF_DSSETVELOCITYA, @@ -220,7 +219,7 @@ enum XRefDataBaseOffset XREF_DSBUFFERSETPITCHA, XREF_DSBUFFERSETPITCHB, XREF_DSBUFFERSETVOLUMEA, - XREF_DSBUFFERSETVOLUMEB, + XREF_CMcpxVoiceClient_SetVolume, XREF_DSBUFFERSETCURRENTPOSITIONA, XREF_DSBUFFERSETCURRENTPOSITIONB, XREF_DSBUFFERSETLOOPREGIONA, @@ -331,7 +330,6 @@ enum XRefDataBaseOffset XREF_CMcpxVoiceClient_Commit3dSettings, XREF_CMcpxVoiceClient_SetI3DL2Source, XREF_CDirectSoundVoice_SetI3DL2Source, - XREF_CDirectSoundVoice_SetMixBinVolumes, XREF_CDirectSoundStream_SetMixBinVolumes, XREF_CDirectSoundStream_SetHeadroom, XREF_CDirectSoundVoice_SetOutputBuffer, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index b80441bb1..2365b1bdf 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -167,13 +167,42 @@ OOVPA_NO_XREF(IDirectSound_SetCooperativeLevel, 3911, 5) { 0x04, 0x00 } OOVPA_END; #endif +// ****************************************************************** +// * CMcpxVoiceClient_SetVolume +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetVolume, 3911, 11, + + XREF_CMcpxVoiceClient_SetVolume, + XRefZero) + + // CMcpxVoiceClient_SetVolume+0x26 : mov ecx, [esi+0xE0] + { 0x26, 0x8B }, + { 0x27, 0x8E }, + { 0x28, 0xE0 }, + { 0x29, 0x00 }, + + // CMcpxVoiceClient_SetVolume+0x2F : movzx ecx, word ptr [ecx+2] + { 0x2F, 0x0F }, + { 0x30, 0xB7 }, + { 0x31, 0x49 }, + { 0x32, 0x02 }, + + // CMcpxVoiceClient_SetVolume+0x35 : dec ecx; sar ecx, 1 + { 0x35, 0x49 }, + { 0x36, 0xD1 }, + { 0x37, 0xF9 }, +OOVPA_END; + // ****************************************************************** // * CDirectSoundVoice_SetVolume // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetVolume, 3911, 10, +OOVPA_XREF(CDirectSoundVoice_SetVolume, 3911, 11, XREF_CDirectSoundVoice_SetVolume, - XRefZero) + XRefOne) + + XREF_ENTRY( 0x1E, XREF_CMcpxVoiceClient_SetVolume ), + //CDirectSoundVoice_SetVolume+0x00 : push esi { 0x00, 0x56 }, @@ -889,3 +918,62 @@ OOVPA_XREF(IDirectSoundBuffer_SetOutputBuffer, 3911, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetMixBinVolumes +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 3911, 8, + + XREF_CDirectSoundVoice_SetMixBinVolumes, + XRefOne) + + XREF_ENTRY( 0x54, XREF_CMcpxVoiceClient_SetVolume ), + + { 0x0D, 0x65 }, + { 0x1C, 0x53 }, + { 0x2B, 0xC0 }, + { 0x3A, 0xC7 }, + { 0x49, 0xFC }, + { 0x58, 0x83 }, + { 0x67, 0x15 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMixBinVolumes_12 +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes_12, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x19, XREF_CDirectSoundVoice_SetMixBinVolumes ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::SetMixBinVolumes +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_12, 3911, 9, + + XREF_CDirectSoundStream_SetMixBinVolumes, + XRefOne) + + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMixBinVolumes ), + + { 0x01, 0x74 }, + { 0x04, 0x8B }, + { 0x07, 0x08 }, + { 0x0A, 0x24 }, + { 0x0D, 0xC0 }, + { 0x10, 0xE8 }, + { 0x15, 0xC2 }, + { 0x16, 0x0C }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 9dd05b5fe..7d8595600 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -456,12 +456,13 @@ OOVPA_XREF(IDirectSoundBuffer_GetStatus, 3936, 10, { 0x1A, 0x08 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_SetVolume // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_SetVolume, 3936, 11, - XREF_DSBUFFERSETVOLUMEB, + XREF_CMcpxVoiceClient_SetVolume, XRefZero) // CMcpxVoiceClient_SetVolume+0x26 : mov ecx, [esi+0xE0] @@ -481,7 +482,7 @@ OOVPA_XREF(CMcpxVoiceClient_SetVolume, 3936, 11, { 0x36, 0xD1 }, { 0x37, 0xF9 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundVoice_SetVolume // ****************************************************************** @@ -491,7 +492,7 @@ OOVPA_XREF(CDirectSoundVoice_SetVolume, 3936, 12, XRefOne) // CDirectSoundVoice_SetVolume+0x1E : call [CMcpxVoiceClient_SetVolume] - XREF_ENTRY( 0x1E, XREF_DSBUFFERSETVOLUMEB ), + XREF_ENTRY( 0x1E, XREF_CMcpxVoiceClient_SetVolume ), // IDirectSoundBuffer_SetVolumeA+0x07 : mov ecx, [esp+0x0C] { 0x07, 0x8B }, @@ -740,7 +741,7 @@ OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 3936, 12, // WARNING: I am unsure if this is SetHeadroom // CDirectSoundVoice_SetHeadroom+0x23 : call [CMcpxVoiceClient_SetVolume] - XREF_ENTRY( 0x23, XREF_DSBUFFERSETVOLUMEB ), + XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_SetVolume ), // CDirectSoundVoice_SetHeadroom+0x07 : mov edx, [esp+0x0C] { 0x07, 0x8B }, @@ -1129,7 +1130,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_SetVolume, 3936, 10, - XREF_DSSTREAMSETVOLUME, + XREF_CMcpxVoiceClient_SetVolume, XRefZero) // TODO: re-use for IDirectSoundBuffer_SetVolume! @@ -1163,7 +1164,7 @@ OOVPA_XREF(CDirectSoundStream_SetVolume, 3936, 10, XRefOne) // CDirectSoundStream_SetVolume+0x0D : call [CMcpxVoiceClient_SetVolume] - XREF_ENTRY( 0x0D, XREF_DSSTREAMSETVOLUME ), + XREF_ENTRY( 0x0D, XREF_CMcpxVoiceClient_SetVolume ), // CDirectSoundStream_SetVolume+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, @@ -3585,7 +3586,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 3936, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice::SetMixBinVolumes // ****************************************************************** @@ -3602,11 +3603,12 @@ OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 3936, 7, { 0x58, 0x83 }, { 0x67, 0x15 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** -// * IDirectSoundBuffer_SetMixBinVolumes +// * IDirectSoundBuffer_SetMixBinVolumes_12 // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes, 3936, 9, +OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes_12, 3911, 9, XRefNoSaveIndex, XRefOne) @@ -3622,7 +3624,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes, 3936, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxAPU::Set3dParameters // ****************************************************************** @@ -3751,11 +3753,11 @@ OOVPA_XREF(IDirectSound_EnableHeadphones, 3936, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream::SetMixBinVolumes // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes, 3936, 9, +OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_12, 3936, 9, XREF_CDirectSoundStream_SetMixBinVolumes, XRefOne) @@ -3771,7 +3773,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes, 3936, 9, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundStream::SetI3DL2Source // ****************************************************************** @@ -3968,7 +3970,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxBuffer_GetStatus, 3911, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 3936, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 3936, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 3936, XREF), @@ -4084,13 +4086,13 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_12, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 3936, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_12, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index da2f16e5b..2d6ae4d4c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -297,7 +297,7 @@ OOVPA_END; // Verified with Agent Under Fire title. OOVPA_XREF(CMcpxVoiceClient_SetVolume, 4039, 13, - XREF_DSSTREAMSETVOLUME, + XREF_CMcpxVoiceClient_SetVolume, XRefZero) // CMcpxVoiceClient_SetVolume+0x15 : test byte ptr [esi+90h], 1 @@ -330,7 +330,7 @@ OOVPA_XREF(CDirectSoundVoice_SetVolume, 4039, 13, XRefOne) // CDirectSoundVoice_SetVolume+0x15 : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETVOLUME ), + XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetVolume ), // CDirectSoundVoice_SetVolume+0x04 : mov eax, [ecx+10h] { 0x04, 0x8B }, @@ -1216,7 +1216,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4039, 10, - XREF_DSSETMIXBINVOLUMESC, + XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, XRefZero) // CDirectSoundVoiceSettings_SetMixBinVolumes+0x09 : jbe +0x16 @@ -1241,19 +1241,20 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice::SetMixBinVolumes // ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4039, 17, +// Generic OOVPA as of 4039 and newer. +OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4039, 15, - XREF_DSSETMIXBINVOLUMESB, - XRefOne) + XREF_CDirectSoundVoice_SetMixBinVolumes, + XRefTwo) // CDirectSoundVoice_SetMixBinVolumes+0x0D : call [CDirectSoundVoiceSettings::SetMixBinVolumes] - XREF_ENTRY( 0x0D, XREF_DSSETMIXBINVOLUMESC ), + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoiceSettings_SetMixBinVolumes ), - // CDirectSoundVoice_SetMixBinVolumes+0x01 : mov esi, [esp+8] - { 0x01, 0x8B }, - { 0x02, 0x74 }, - { 0x03, 0x24 }, - { 0x04, 0x08 }, + // CDirectSoundVoice_SetMixBinVolumes+0x14 : call [CMcpxVoiceClient::SetVolume] + XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetVolume ), + + // CDirectSoundVoice_SetMixBinVolumes+0x00 : push esi + { 0x00, 0x56 }, // CDirectSoundVoice_SetMixBinVolumes+0x05 : push [esp+0x0C] { 0x05, 0xFF }, @@ -1279,13 +1280,14 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMixBinVolumes // ****************************************************************** +//Generic OOVPA as of 4039 and newer OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4039, 18, - XREF_DSSETMIXBINVOLUMESA, + XREF_CDirectSoundBuffer_SetMixBinVolumes, XRefOne) // CDirectSoundBuffer_SetMixBinVolumes+0x31 : call [CDirectSoundVoice::SetMixBinVolumes] - XREF_ENTRY( 0x31, XREF_DSSETMIXBINVOLUMESB ), + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetMixBinVolumes ), // CDirectSoundBuffer_SetMixBinVolumes+0x00 : push esi { 0x00, 0x56 }, @@ -1316,36 +1318,60 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4039, 18, OOVPA_END; // ****************************************************************** -// * IDirectSoundBuffer_SetMixBinVolumes2 +// * IDirectSoundBuffer_SetMixBinVolumes_8 // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes2, 4039, 12, +//Generic OOVPA as of 4039 and newer +OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, 12, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetMixBinVolumes2+0x15 : call [CDirectSoundBuffer::SetMixBinVolumes] - XREF_ENTRY( 0x15, XREF_DSSETMIXBINVOLUMESA ), + // IDirectSoundBuffer_SetMixBinVolumes_8+0x15 : call [CDirectSoundBuffer::SetMixBinVolumes] + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetMixBinVolumes ), - // IDirectSoundBuffer_SetMixBinVolumes2+0x04 : push [esp+0x08] + // IDirectSoundBuffer_SetMixBinVolumes_8+0x04 : push [esp+0x08] { 0x04, 0xFF }, { 0x05, 0x74 }, { 0x06, 0x24 }, { 0x07, 0x08 }, - // IDirectSoundBuffer_SetMixBinVolumes2+0x0A : add eax, 0xFFFFFFE4 + // IDirectSoundBuffer_SetMixBinVolumes_8+0x0A : add eax, 0xFFFFFFE4 { 0x0A, 0x83 }, { 0x0B, 0xC0 }, { 0x0C, 0xE4 }, - // IDirectSoundBuffer_SetMixBinVolumes2+0x0F : sbb ecx, ecx + // IDirectSoundBuffer_SetMixBinVolumes_8+0x0F : sbb ecx, ecx { 0x0F, 0x1B }, { 0x10, 0xC9 }, - // IDirectSoundBuffer_SetMixBinVolumes2+0x11 : and ecx, eax + // IDirectSoundBuffer_SetMixBinVolumes_8+0x11 : and ecx, eax { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; +// ****************************************************************** +// * CDirectSoundStream_SetMixBinVolumes_8 +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_8, 4039, 12, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBinVolumes ), + + { 0x0D, 0x0F }, + { 0x0E, 0xB6 }, + { 0x0F, 0xF0 }, + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, + { 0x51, 0x00 }, +OOVPA_END; + // ****************************************************************** // * CDirectSound::CreateSoundStream // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 2237b3f8f..c913dff0d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -560,9 +560,10 @@ OOVPA_END; // ****************************************************************** // * CMcpxVoiceClient_SetVolume // ****************************************************************** +// Generic OOVPA as of 4134 and newer. OOVPA_XREF(CMcpxVoiceClient_SetVolume, 4134, 13, - XREF_DSSTREAMSETVOLUME, + XREF_CMcpxVoiceClient_SetVolume, XRefZero) // CMcpxVoiceClient_SetVolume+0x2A : lea eax, [ecx+ecx*2] @@ -590,13 +591,14 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoice_SetVolume // ****************************************************************** +// Generic OOVPA as of 4134 and newer. OOVPA_XREF(CDirectSoundVoice_SetVolume, 4134, 11, XREF_CDirectSoundVoice_SetVolume, XRefOne) // CDirectSoundVoice_SetVolume+0x15 : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETVOLUME ), + XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetVolume ), // CDirectSoundVoice_SetVolume+0x00 : mov ecx, [esp+0x04] { 0x00, 0x8B }, @@ -2594,9 +2596,10 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundVoiceSettings::SetMixBinVolumes // ****************************************************************** +// Generic OOVPA as of 4134 and newer. OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, 10, - XREF_DSSETMIXBINVOLUMESC, + XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, XRefZero) // CDirectSoundVoiceSettings_SetMixBinVolumes+0x09 : jbe +0x16 @@ -2624,11 +2627,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4134, 17, - XREF_DSSETMIXBINVOLUMESB, + XREF_CDirectSoundVoice_SetMixBinVolumes, XRefOne) // CDirectSoundVoice_SetMixBinVolumes+0x0D : call [CDirectSoundVoiceSettings::SetMixBinVolumes] - XREF_ENTRY( 0x0D, XREF_DSSETMIXBINVOLUMESC ), + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoiceSettings_SetMixBinVolumes ), // CDirectSoundVoice_SetMixBinVolumes+0x01 : mov esi, [esp+8] { 0x01, 0x8B }, @@ -2661,13 +2664,14 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetMixBinVolumes // ****************************************************************** +//Generic OOVPA as of 4134 and newer OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4134, 17, - XREF_DSSETMIXBINVOLUMESA, + XREF_CDirectSoundBuffer_SetMixBinVolumes, XRefOne) // CDirectSoundBuffer_SetMixBinVolumes+0x32 : call [CDirectSoundVoice::SetMixBinVolumes] - XREF_ENTRY( 0x32, XREF_DSSETMIXBINVOLUMESB ), + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetMixBinVolumes ), // CDirectSoundBuffer_SetMixBinVolumes+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, @@ -2695,45 +2699,46 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4134, 17, OOVPA_END; #if 0 // Moved to 4039 // ****************************************************************** -// * IDirectSoundBuffer_SetMixBinVolumes2 +// * IDirectSoundBuffer_SetMixBinVolumes_8 // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes2, 4134, 12, +OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes_8, 4134, 12, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetMixBinVolumes2+0x15 : call [CDirectSoundBuffer::SetMixBinVolumes] - XREF_ENTRY( 0x15, XREF_DSSETMIXBINVOLUMESA ), + // IDirectSoundBuffer_SetMixBinVolumes_8+0x15 : call [CDirectSoundBuffer::SetMixBinVolumes] + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetMixBinVolumes ), - // IDirectSoundBuffer_SetMixBinVolumes2+0x04 : push [esp+0x08] + // IDirectSoundBuffer_SetMixBinVolumes_8+0x04 : push [esp+0x08] { 0x04, 0xFF }, { 0x05, 0x74 }, { 0x06, 0x24 }, { 0x07, 0x08 }, - // IDirectSoundBuffer_SetMixBinVolumes2+0x0A : add eax, 0xFFFFFFE4 + // IDirectSoundBuffer_SetMixBinVolumes_8+0x0A : add eax, 0xFFFFFFE4 { 0x0A, 0x83 }, { 0x0B, 0xC0 }, { 0x0C, 0xE4 }, - // IDirectSoundBuffer_SetMixBinVolumes2+0x0F : sbb ecx, ecx + // IDirectSoundBuffer_SetMixBinVolumes_8+0x0F : sbb ecx, ecx { 0x0F, 0x1B }, { 0x10, 0xC9 }, - // IDirectSoundBuffer_SetMixBinVolumes2+0x11 : and ecx, eax + // IDirectSoundBuffer_SetMixBinVolumes_8+0x11 : and ecx, eax { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; #endif +#if 0 // Moved to 4039 // ****************************************************************** -// * CDirectSoundStream_SetMixBinVolumes2 +// * CDirectSoundStream_SetMixBinVolumes_8 // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes2, 4134, 12, +OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_8, 4134, 12, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, XREF_DSSETMIXBINVOLUMESB ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBinVolumes ), { 0x0D, 0x0F }, { 0x0E, 0xB6 }, @@ -2747,7 +2752,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes2, 4134, 12, { 0x50, 0x08 }, { 0x51, 0x00 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSound_SetEffectData // ****************************************************************** @@ -3007,8 +3012,8 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetEffectData, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetEffectData, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index be3f776aa..e448dcfd2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -343,7 +343,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, 4361, 7, - XREF_DSSETMIXBINVOLUMESC, + XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, XRefZero) { 0x03, 0x24 }, @@ -361,10 +361,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMixBinVolumes, 4361, 8, - XREF_DSSETMIXBINVOLUMESB, + XREF_CDirectSoundVoice_SetMixBinVolumes, XRefOne) - XREF_ENTRY( 0x0D, XREF_DSSETMIXBINVOLUMESC ), + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoiceSettings_SetMixBinVolumes ), { 0x02, 0x74 }, { 0x06, 0x74 }, @@ -381,10 +381,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4361, 8, - XREF_DSSETMIXBINVOLUMESA, + XREF_CDirectSoundBuffer_SetMixBinVolumes, XRefOne) - XREF_ENTRY( 0x32, XREF_DSSETMIXBINVOLUMESB ), + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetMixBinVolumes ), { 0x0C, 0x00 }, { 0x12, 0x85 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index bf882773e..38219a0f8 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -582,7 +582,7 @@ OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 4627, 9, XREF_CDirectSoundVoice_SetHeadroom, XRefOne) // Note : This was -1, which is used nowhere else and probably an error. - XREF_ENTRY( 0x1B, XREF_DSSTREAMSETVOLUME ), + XREF_ENTRY( 0x1B, XREF_CMcpxVoiceClient_SetVolume ), { 0x0A, 0x56 }, { 0x0F, 0x2B }, @@ -1017,7 +1017,7 @@ OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 4627, 8, XRefOne) // CDirectSoundVoice_SetHeadroom+0x1B : call [CMcpxVoiceClient::SetVolume] - XREF_ENTRY( 0x1B, XREF_DSSTREAMSETVOLUME ), + XREF_ENTRY( 0x1B, XREF_CMcpxVoiceClient_SetVolume ), { 0x03, 0x04 }, { 0x08, 0x48 }, @@ -1504,7 +1504,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), @@ -1602,7 +1602,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 727d3410d..f4e853def 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -80,8 +80,8 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 72cf97de2..34b28bc4e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -265,7 +265,7 @@ OOVPA_XREF(CDirectSoundVoice_SetVolume, 5233, 8, XREF_CDirectSoundVoice_SetVolume, XRefOne) - XREF_ENTRY( 0x15, XREF_DSSTREAMSETVOLUME ), + XREF_ENTRY( 0x15, XREF_CMcpxVoiceClient_SetVolume ), { 0x02, 0x24 }, { 0x06, 0x10 }, @@ -504,7 +504,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 243e95861..23facbf33 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -1011,7 +1011,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index e8a79b12f..2fe91ba4c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1637,7 +1637,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index f697b0396..83e030fd0 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -450,16 +450,16 @@ OOVPA_XREF(DirectSoundCreateStream, 5788, 9, { 0x4E, 0x5F }, { 0x56, 0x00 }, OOVPA_END; - +#if 0 // Replaced by generic 4039 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMixBinVolumes // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes2, 5788, 9, +OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_8, 5788, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, XREF_DSSETMIXBINVOLUMESB ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBinVolumes ), { 0x00, 0x56 }, { 0x0C, 0x00 }, @@ -470,7 +470,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes2, 5788, 9, { 0x40, 0x68 }, { 0x4B, 0x8B }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CMcpxStream::Pause // ****************************************************************** @@ -569,8 +569,8 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 5788, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index b931be829..a3f30dec3 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -110,8 +110,8 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes2, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes2, 5788, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 4fbdd45f6..410d93c3c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -94,7 +94,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 3911, 4039, 4242), REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_SetPitch, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3936, 4039, 4134), + REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558), @@ -114,7 +114,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3936, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3936, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3936, 4039, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3936, 4039), + REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4039, 4134, 5233, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 3936, 4039), @@ -179,8 +179,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3936, 4134, 5344), REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3936, 4627, 5233, 5558), - REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes, PATCH, 3936), //TODO: What's the difference from this and below? - REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes2, PATCH, 4134, 5788), //TODO: What's the difference from this and above? + REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. + REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 4134), @@ -236,8 +236,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 5344, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3936, 4134, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes, PATCH, 3936), //TODO: What's the difference from this and below? - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes2, PATCH, 4039), //TODO: What's the difference from this and above? + REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. + REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3936, 4134, 5233), REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3936, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 3911), From 763267a8bac4e8174d83b739cdda7f18dc4f2724 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 9 Sep 2017 08:22:46 -0500 Subject: [PATCH 046/146] Verified which Lib_XACTENG is linked to. --- src/CxbxKrnl/HLEDataBase.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 60a75ce35..23d7b0485 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -211,8 +211,8 @@ const HLEDataV2 HLEDataBaseV2[] = { // DSOUNDH is just meant to define hot fix, there is no seperate section //{ Lib_DSOUNDH,{ Sec_DSOUND }, DSound_OOVPAV2, DSound_OOVPA_SIZEV2 }, - // I have not seen which header section it supposed to go with... - //{ Lib_XACTENG, { Sec_???? }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, + // + //{ Lib_XACTENG, { Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, // //{ Lib_XACTENLT,{ Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, From 8a21a6742c4696c57929164930434e88f9bbb8c9 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 10 Sep 2017 16:11:24 -0500 Subject: [PATCH 047/146] Hot Fix Patch - Fixed CDirectSoundStream_SetEG - Fixed CDirectSoundStream_SetFilter - Fixed CDirectSoundStream_SetLFO This fixed #720 pull request for missing harden OOVPA of 4039 and 4134 reivisions signature. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 64 ++++++++++--------- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 67 +++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 12 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 6 +- 12 files changed, 127 insertions(+), 56 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 2d6ae4d4c..b9a167170 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -1086,20 +1086,22 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream::SetFilter // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFilter, 4039, 8, +OOVPA_XREF(CDirectSoundStream_SetFilter, 4039, 9, XREF_CDirectSoundStream_SetFilter, XRefOne) - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFilter ), + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetFilter ), - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, + { 0x00, 0x56 }, //Prevent incorrect offset difference from 4134 and later revision. + + { 0x0B, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + { 0x29, 0x24 }, + { 0x34, 0xE8 }, + { 0x3F, 0x68 }, + { 0x4A, 0x8B }, OOVPA_END; // ****************************************************************** @@ -1538,22 +1540,24 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream::SetLFO // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetLFO, 4039, 10, +OOVPA_XREF(CDirectSoundStream_SetLFO, 4039, 11, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetLFO ), + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetLFO ), - { 0x0C, 0x00 }, - { 0x0F, 0xF0 }, - { 0x12, 0x85 }, - { 0x15, 0x0B }, - { 0x3A, 0x85 }, - { 0x3D, 0xF8 }, - { 0x40, 0x68 }, - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, + { 0x00, 0x56 }, //Prevent incorrect offset difference from 4134 and later revision. + + { 0x0B, 0x00 }, + { 0x0E, 0xF0 }, + { 0x11, 0x85 }, + { 0x14, 0x0B }, + { 0x39, 0x85 }, + { 0x3C, 0xF8 }, + { 0x3F, 0x68 }, + { 0x4E, 0xC2 }, + { 0x4F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -1660,20 +1664,22 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream::SetEG // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetEG, 4039, 8, +OOVPA_XREF(CDirectSoundStream_SetEG, 4039, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetEG ), + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetEG ), - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, + { 0x00, 0x56 }, //Prevent incorrect offset difference from 4134 and later revision. + + { 0x0B, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + { 0x29, 0x24 }, + { 0x34, 0xE8 }, + { 0x3F, 0x68 }, + { 0x4A, 0x8B }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index c913dff0d..4d50dfc03 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2882,6 +2882,71 @@ OOVPA_XREF(CDirectSoundBuffer_Stop, 4134, 13, { 0x4D, 0x04 }, OOVPA_END; +// ****************************************************************** +// * CDirectSoundStream::SetEG +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetEG, 4134, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetEG ), + + { 0x00, 0x56 }, //Prevent incorrect offset difference from 4039 revision. + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::SetFilter +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetFilter, 4134, 9, + + XREF_CDirectSoundStream_SetFilter, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFilter ), + + { 0x00, 0x56 }, //Prevent incorrect offset difference from 4039 revision. + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::SetLFO +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetLFO, 4134, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetLFO ), + + { 0x00, 0x56 }, //Prevent incorrect offset difference from 4039 revision. + + { 0x0C, 0x00 }, + { 0x0F, 0xF0 }, + { 0x12, 0x85 }, + { 0x15, 0x0B }, + { 0x3A, 0x85 }, + { 0x3D, 0xF8 }, + { 0x40, 0x68 }, + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, +OOVPA_END; + // ****************************************************************** // * DSound_4134 // ****************************************************************** @@ -3002,7 +3067,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index e448dcfd2..22151024e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -879,12 +879,12 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index a5c89f649..d2ef6aa2e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -170,12 +170,12 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 38219a0f8..0f3b036b5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -828,7 +828,7 @@ OOVPA_XREF(CDirectSoundVoice_SetEG, 4627, 7, { 0x11, 0x08 }, OOVPA_END; #endif -#if 0 // Moved to 4039 +#if 0 // Moved to 4134 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetEG // ****************************************************************** @@ -947,7 +947,7 @@ OOVPA_NO_XREF(XAudioDownloadEffectsImage, 4627, 8) { 0xDE, 0x07 }, { 0xFE, 0xF7 }, OOVPA_END; -#if 0 // Moved to 4039 +#if 0 // Moved to 4134 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetFilter // ****************************************************************** @@ -1368,7 +1368,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetLFO, 4627, 8, { 0x1A, 0x08 }, OOVPA_END; #endif -#if 0 // Moved to 4039 +#if 0 // Moved to 4134 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetLFO // ****************************************************************** @@ -1618,7 +1618,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4627, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 4627, XREF), @@ -1630,7 +1630,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), @@ -1661,7 +1661,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index f4e853def..249214e74 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -201,7 +201,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4627, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 4627, XREF), @@ -214,7 +214,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 4361, XREF), @@ -245,7 +245,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 34b28bc4e..46e088ae8 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -494,12 +494,12 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 23facbf33..b995d38af 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -1000,13 +1000,13 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetLFO, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 2fe91ba4c..323be346d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1766,7 +1766,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), @@ -1775,7 +1775,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 83e030fd0..1e56835af 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -701,7 +701,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), @@ -710,7 +710,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index a3f30dec3..c7c8ee74a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -216,11 +216,11 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetEG, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 410d93c3c..e964e5b45 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -169,13 +169,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4039), - REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4039), + REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242), REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3936, 5233), REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3936, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4039), + REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3936, 4134, 5344), REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3936, 4627, 5233, 5558), From 1a74094ef79ff79a0518e2a56f9a59a017f47cb3 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 9 Sep 2017 19:47:34 +0900 Subject: [PATCH 048/146] Introduce XactEng database v2 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) --- build/win32/Cxbx.vcxproj | 13 + build/win32/Cxbx.vcxproj.filters | 54 ++- src/CxbxKrnl/HLEDataBase.cpp | 18 +- src/CxbxKrnl/HLEDataBase.h | 6 + src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl | 176 -------- src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.h | 42 ++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl | 415 ++++++++++++++++++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.h | 42 ++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl | 218 +++++++++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.h | 42 ++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl | 168 +++++++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.h | 42 ++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl | 98 +++++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.h | 42 ++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.inl | 74 ++++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl | 28 ++ src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl | 83 ++++ src/CxbxKrnl/HLEIntercept.cpp | 12 + 18 files changed, 1385 insertions(+), 188 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.h create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.h create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.h create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.h create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.h create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.inl create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index bdcc0e412..ca0814b14 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -255,6 +255,12 @@ $(SOLUTIONDIR)Export.bat + + + + + + @@ -342,6 +348,13 @@ $(SOLUTIONDIR)Export.bat + + + + + + + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index c5e7898aa..bfcde9784 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -246,9 +246,6 @@ HLEDatabase - - HLEDatabase - HLEDatabase @@ -477,6 +474,27 @@ HLEDatabase\DSound + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + HLEDatabase\Xapi @@ -578,9 +596,6 @@ GUI - - HLEDatabase - HLEDatabase @@ -674,6 +689,30 @@ HLEDatabase\DSound + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + + + HLEDatabase\XactEng + HLEDatabase\Xapi @@ -787,6 +826,9 @@ {a942f43a-b405-4c5d-85cd-ffc84b66ad3f} + + {d63c05a9-f8e1-4ad1-88fb-3f5b97a21063} + {736110f8-9b79-47db-86f5-250d1d4d8b9a} diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 23d7b0485..83ab42508 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -52,6 +52,7 @@ const char *Sec_D3DX = "D3DX"; const char *Lib_DSOUND = "DSOUND"; const char *Sec_DSOUND = Lib_DSOUND; const char *Lib_XACTENG = "XACTENG"; +const char *Sec_XACTENG = Lib_XACTENG; const char *Lib_XAPILIB = "XAPILIB"; const char *Sec_XPP = "XPP"; const char *Lib_XGRAPHC = "XGRAPHC"; @@ -112,8 +113,7 @@ const char *Sec_XNET = "XNET"; #include "HLEDataBase/XOnline.1.0.5558.inl" #include "HLEDataBase/XOnline.1.0.5788.inl" #include "HLEDataBase/XOnline.1.0.5849.inl" -#include "HLEDataBase/XactEng.1.0.4627.inl" -#include "HLEDataBase/XactEng.1.0.5849.inl" +#include "HLEDataBase/XactEng.OOVPA.inl" // ****************************************************************** @@ -164,6 +164,15 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_DSOUND, DSound, 5558), HLE_ENTRY(Lib_DSOUND, DSound, 5788), HLE_ENTRY(Lib_DSOUND, DSound, 5849), +#endif +#if ENABLE_LEGACY_XACTENG_DB + HLE_ENTRY(Lib_XACTENG, XactEng, 4627), + HLE_ENTRY(Lib_XACTENG, XactEng, 4928), + HLE_ENTRY(Lib_XACTENG, XactEng, 5233), + HLE_ENTRY(Lib_XACTENG, XactEng, 5344), + HLE_ENTRY(Lib_XACTENG, XactEng, 5558), + HLE_ENTRY(Lib_XACTENG, XactEng, 5788), + HLE_ENTRY(Lib_XACTENG, XactEng, 5849), #endif HLE_ENTRY(Lib_XGRAPHC, XG, 3911), HLE_ENTRY(Lib_XGRAPHC, XG, 4034), @@ -190,9 +199,6 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_XONLINES, XOnline, 5558), HLE_ENTRY(Lib_XONLINES, XOnline, 5788), HLE_ENTRY(Lib_XONLINES, XOnline, 5849), - - HLE_ENTRY(Lib_XACTENG, XactEng, 4627), - HLE_ENTRY(Lib_XACTENG, XactEng, 5849), }; const HLEDataV2 HLEDataBaseV2[] = { @@ -214,7 +220,7 @@ const HLEDataV2 HLEDataBaseV2[] = { // //{ Lib_XACTENG, { Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, - // + // test case: Power Drome (Unluckily, use LTCG.) //{ Lib_XACTENLT,{ Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, // diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index c3d9756c7..80791db2d 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -90,6 +90,11 @@ #include "HLEDataBase/XOnline.1.0.5788.h" #include "HLEDataBase/XOnline.1.0.5849.h" #include "HLEDataBase/XactEng.1.0.4627.h" +#include "HLEDataBase/XactEng.1.0.4928.h" +#include "HLEDataBase/XactEng.1.0.5233.h" +#include "HLEDataBase/XactEng.1.0.5344.h" +#include "HLEDataBase/XactEng.1.0.5558.h" +#include "HLEDataBase/XactEng.1.0.5788.h" #include "HLEDataBase/XactEng.1.0.5849.h" // ****************************************************************** @@ -349,6 +354,7 @@ enum XRefDataBaseOffset XREF_XACT_CEngine_DownloadEffectsImage, XREF_XACT_CEngine_CreateSoundSource, XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, + XREF_XACT_CSoundBank_Play, XREF_XACT_CEngine_RegisterNotification, XREF_XACT_CEngine_GetNotification, XREF_XACT_CEngine_UnRegisterWaveBank, diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl index 66cc9e291..ad858123e 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4627.inl @@ -57,31 +57,6 @@ OOVPA_NO_XREF(XACTEngineCreate, 4627, 11) { 0x9B, 0x08 }, OOVPA_END; -// ****************************************************************** -// * XACTEngineCreate -// ****************************************************************** -OOVPA_NO_XREF(XACTEngineCreate, 4928, 11) - - // XACTEngineCreate+0x09 : movzx ebx, al - { 0x09, 0x0F }, - { 0x0A, 0xB6 }, - { 0x0B, 0xD8 }, - - // XACTEngineCreate+0x2B : push edi - { 0x2B, 0x57 }, - - // XACTEngineCreate+0x2C : push 0x120 - { 0x2C, 0x68 }, - { 0x2D, 0x20 }, - { 0x2E, 0x01 }, - { 0x2F, 0x00 }, - { 0x30, 0x00 }, - - // XACTEngineCreate+0x9E : retn 0x8 - { 0x9E, 0xC2 }, - { 0x9F, 0x08 }, -OOVPA_END; - // ****************************************************************** // * XACT::CEngine::RegisterWaveBank // ****************************************************************** @@ -150,33 +125,6 @@ OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 4627, 8, { 0x8E, 0x0C }, OOVPA_END; -// ****************************************************************** -// * XACT::CEngine::RegisterStreamedWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 4928, 13, - - XREF_XACT_CEngine_RegisterStreamedWaveBank, - XRefZero) - - // XACT_CEngine_RegisterStreamedWaveBank+0x07 : push 0x7C - { 0x07, 0x6A }, - { 0x08, 0x7C }, - // XACT_CEngine_RegisterStreamedWaveBank+0x30 : add esi, 0x8007000E - { 0x30, 0x81 }, - { 0x31, 0xC7 }, - { 0x32, 0x0E }, - { 0x33, 0x00 }, - { 0x34, 0x07 }, - { 0x35, 0x80 }, - // XACT_CEngine_RegisterStreamedWaveBank+0x50 : add ecx, 0x44 - { 0x50, 0x83 }, - { 0x51, 0xC1 }, - { 0x52, 0x44 }, - // XACT_CEngine_RegisterStreamedWaveBank+0x71 : retn 0x0C - { 0x71, 0xC2 }, - { 0x72, 0x0C }, -OOVPA_END; - // ****************************************************************** // * IXACTEngine_RegisterStreamedWaveBank // ****************************************************************** @@ -197,31 +145,6 @@ OOVPA_XREF(IXACTEngine_RegisterStreamedWaveBank, 4627, 9, { 0x1E, 0x0C }, OOVPA_END; -// ****************************************************************** -// * IXACTEngine_RegisterStreamedWaveBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_RegisterStreamedWaveBank, 4928, 10, - - XRefNoSaveIndex, - XRefOne) - - // IXACTEngine_RegisterStreamedWaveBank+0x22 : call XACT::CEngine::RegisterStreamedWaveBank - XREF_ENTRY( 0x23, XREF_XACT_CEngine_RegisterStreamedWaveBank ), - - // IXACTEngine_RegisterStreamedWaveBank+0x0B : movzx esi, al - { 0x0B, 0x0F }, - { 0x0C, 0xB6 }, - { 0x0D, 0xF0 }, - // IXACTEngine_RegisterStreamedWaveBank+0x0E : mov eax, [esp+0x0C+4] - { 0x0E, 0x8B }, - { 0x0F, 0x44 }, - { 0x10, 0x24 }, - { 0x11, 0x10 }, - // IXACTEngine_RegisterStreamedWaveBank+0x3C : retn 0x0C - { 0x3C, 0xC2 }, - { 0x3D, 0x0C }, -OOVPA_END; - // ****************************************************************** // * XACT::CEngine::CreateSoundBank // ****************************************************************** @@ -240,32 +163,6 @@ OOVPA_XREF(XACT_CEngine_CreateSoundBank, 4627, 8, { 0x7E, 0x10 }, OOVPA_END; -// ****************************************************************** -// * XACT::CEngine::CreateSoundBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_CreateSoundBank, 4928, 13, - - XREF_XACT_CEngine_CreateSoundBank, - XRefZero) - // XACT::CEngine::CreateSoundBank+0x02 : push 0x34 - { 0x02, 0x6A }, - { 0x03, 0x34 }, - // XACT::CEngine::CreateSoundBank+0x2B : add edi, 0x8007000E - { 0x2B, 0x81 }, - { 0x2C, 0xC7 }, - { 0x2D, 0x0E }, - { 0x2E, 0x00 }, - { 0x2F, 0x07 }, - { 0x30, 0x80 }, - // XACT::CEngine::CreateSoundBank+0x4F : add ecx, 0x4C - { 0x4F, 0x83 }, - { 0x50, 0xC1 }, - { 0x51, 0x4C }, - // XACT::CEngine::CreateSoundBank+0x73 : retn 0x10 - { 0x73, 0xC2 }, - { 0x74, 0x10 }, -OOVPA_END; - // ****************************************************************** // * IXACTEngine_CreateSoundBank // ****************************************************************** @@ -285,30 +182,6 @@ OOVPA_XREF(IXACTEngine_CreateSoundBank, 4627, 8, { 0x21, 0xC2 }, OOVPA_END; -// ****************************************************************** -// * IXACTEngine_CreateSoundBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_CreateSoundBank, 4928, 10, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x27, XREF_XACT_CEngine_CreateSoundBank ), - - // IXACTEngine_CreateSoundBank+0x07 : push [ebp+8+0x10] - { 0x07, 0xFF }, - { 0x08, 0x74 }, - { 0x09, 0x24 }, - { 0x0A, 0x18 }, - // IXACTEngine_CreateSoundBank+0x0B : movzx esi, al - { 0x0B, 0x0F }, - { 0x0C, 0xB6 }, - { 0x0D, 0xF0 }, - // IXACTEngine_CreateSoundBank+0x40 : retn 0x10 - { 0x40, 0xC2 }, - { 0x41, 0x10 }, -OOVPA_END; - // ****************************************************************** // * XACT::CEngine::DownloadEffectsImage // ****************************************************************** @@ -524,28 +397,6 @@ OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank, 4627, 8, { 0x46, 0x08 }, OOVPA_END; -// ****************************************************************** -// * XACT::CEngine::UnRegisterWaveBank -// ****************************************************************** -OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank, 4928, 8, - - XREF_XACT_CEngine_UnRegisterWaveBank, - XRefZero) - - // XACT_CEngine_UnRegisterWaveBank+0x06 : lea eax, [ecx+0x58] - { 0x06, 0x8D }, - { 0x07, 0x41 }, - { 0x08, 0x58 }, - // XACT_CEngine_UnRegisterWaveBank+0x28 : lea edi, [ebx+0x4C] - { 0x28, 0x8D }, - { 0x29, 0x7B }, - { 0x2A, 0x4C }, - // XACT_CEngine_UnRegisterWaveBank+0xBF : retn 0x8 - { 0xBF, 0xC2 }, - { 0xC0, 0x08 }, -OOVPA_END; - - // ****************************************************************** // * IXACTEngine_UnRegisterWaveBank // ****************************************************************** @@ -565,44 +416,19 @@ OOVPA_XREF(IXACTEngine_UnRegisterWaveBank, 4627, 8, { 0x1A, 0x08 }, OOVPA_END; -// ****************************************************************** -// * IXACTEngine_UnRegisterWaveBank -// ****************************************************************** -OOVPA_XREF(IXACTEngine_UnRegisterWaveBank, 4928, 8, - - XRefNoSaveIndex, - XRefOne) - - // IXACTEngine_UnRegisterWaveBank+0x1E : call XACT::CEngine::UnRegisterWaveBank - XREF_ENTRY( 0x1F, XREF_XACT_CEngine_UnRegisterWaveBank ), - - { 0x07, 0xFF }, - { 0x0E, 0x8B }, - { 0x16, 0xF8 }, - { 0x1E, 0xE8 }, - { 0x26, 0xF8 }, - { 0x2E, 0xFF }, - { 0x36, 0x5F }, -OOVPA_END; - // ****************************************************************** // * XactEng_4627 // ****************************************************************** OOVPATable XactEng_4627[] = { REGISTER_OOVPA(XACTEngineCreate, 4627, PATCH), - REGISTER_OOVPA(XACTEngineCreate, 4928, PATCH), REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH), REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 4627, XREF), REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 4627, PATCH), REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 4627, XREF), - REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 4928, XREF), REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4627, PATCH), - REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH), REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4627, XREF), - REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF), REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4627, PATCH), - REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH), REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 4627, XREF), REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4627, XREF), @@ -615,9 +441,7 @@ OOVPATable XactEng_4627[] = { REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF), REGISTER_OOVPA(IXACTEngine_GetNotification, 4627, PATCH), REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 4627, XREF), - REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 4928, XREF), REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4627, PATCH), - REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.h b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.h new file mode 100644 index 000000000..53ccca85f --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.4928.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XACTENG_4928_H +#define XACTENG_4928_H + +#include "OOVPA.h" + +extern OOVPATable XactEng_4928[]; +extern uint32 XactEng_4928_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl new file mode 100644 index 000000000..5e71cac16 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl @@ -0,0 +1,415 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.4928.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XACTEngineCreate +// ****************************************************************** +OOVPA_NO_XREF(XACTEngineCreate, 4928, 11) + + // XACTEngineCreate+0x09 : movzx ebx, al + { 0x09, 0x0F }, + { 0x0A, 0xB6 }, + { 0x0B, 0xD8 }, + + // XACTEngineCreate+0x2B : push edi + { 0x2B, 0x57 }, + + // XACTEngineCreate+0x2C : push 0x120 + { 0x2C, 0x68 }, + { 0x2D, 0x20 }, + { 0x2E, 0x01 }, + { 0x2F, 0x00 }, + { 0x30, 0x00 }, + + // XACTEngineCreate+0x9E : retn 0x8 + { 0x9E, 0xC2 }, + { 0x9F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CEngine::RegisterStreamedWaveBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 4928, 11, + + XREF_XACT_CEngine_RegisterStreamedWaveBank, + XRefZero) + + { 0x04, 0x10 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 + { 0x22, 0x8B }, + + { 0x37, 0x2E }, //RegisterStreamedWaveBank 0x2E vs RegisterWaveBank 0x32 + { 0x38, 0xFF }, + { 0x39, 0x74 }, + { 0x3A, 0x24 }, + { 0x3B, 0x14 }, + { 0x3C, 0x8B }, + { 0x3D, 0xCE }, + { 0x3E, 0xE8 }, + + { 0x64, 0xEB }, +OOVPA_END; + +#if 0 // No longer used, replaced by another 4928 version +// ****************************************************************** +// * XACT::CEngine::RegisterStreamedWaveBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 4928, 13, + + XREF_XACT_CEngine_RegisterStreamedWaveBank, + XRefZero) + + // XACT_CEngine_RegisterStreamedWaveBank+0x07 : push 0x7C + { 0x07, 0x6A }, + { 0x08, 0x7C }, + // XACT_CEngine_RegisterStreamedWaveBank+0x30 : add esi, 0x8007000E + { 0x30, 0x81 }, + { 0x31, 0xC7 }, + { 0x32, 0x0E }, + { 0x33, 0x00 }, + { 0x34, 0x07 }, + { 0x35, 0x80 }, + // XACT_CEngine_RegisterStreamedWaveBank+0x50 : add ecx, 0x44 + { 0x50, 0x83 }, + { 0x51, 0xC1 }, + { 0x52, 0x44 }, + // XACT_CEngine_RegisterStreamedWaveBank+0x71 : retn 0x0C + { 0x71, 0xC2 }, + { 0x72, 0x0C }, +OOVPA_END; +#endif + +// ****************************************************************** +// * IXACTEngine_RegisterStreamedWaveBank +// ****************************************************************** +OOVPA_XREF(IXACTEngine_RegisterStreamedWaveBank, 4928, 10, + + XRefNoSaveIndex, + XRefOne) + + // IXACTEngine_RegisterStreamedWaveBank+0x22 : call XACT::CEngine::RegisterStreamedWaveBank + XREF_ENTRY( 0x23, XREF_XACT_CEngine_RegisterStreamedWaveBank ), + + // IXACTEngine_RegisterStreamedWaveBank+0x0B : movzx esi, al + { 0x0B, 0x0F }, + { 0x0C, 0xB6 }, + { 0x0D, 0xF0 }, + // IXACTEngine_RegisterStreamedWaveBank+0x0E : mov eax, [esp+0x0C+4] + { 0x0E, 0x8B }, + { 0x0F, 0x44 }, + { 0x10, 0x24 }, + { 0x11, 0x10 }, + // IXACTEngine_RegisterStreamedWaveBank+0x3C : retn 0x0C + { 0x3C, 0xC2 }, + { 0x3D, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CEngine::CreateSoundBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_CreateSoundBank, 4928, 11, + + XREF_XACT_CEngine_CreateSoundBank, + XRefZero) + + { 0x0E, 0x85 }, + { 0x1F, 0x8B }, + { 0x42, 0x8B }, + + { 0x50, 0xC1 }, + { 0x51, 0x4C }, + { 0x52, 0x89 }, + { 0x53, 0x08 }, + { 0x54, 0x8B }, + { 0x55, 0x49 }, + { 0x56, 0x04 }, + { 0x57, 0x89 }, +OOVPA_END; + +#if 0 // No longer used, replaced by another 4928 version +// ****************************************************************** +// * XACT::CEngine::CreateSoundBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_CreateSoundBank, 4928, 13, + + XREF_XACT_CEngine_CreateSoundBank, + XRefZero) + // XACT::CEngine::CreateSoundBank+0x02 : push 0x34 + { 0x02, 0x6A }, + { 0x03, 0x34 }, + // XACT::CEngine::CreateSoundBank+0x2B : add edi, 0x8007000E + { 0x2B, 0x81 }, + { 0x2C, 0xC7 }, + { 0x2D, 0x0E }, + { 0x2E, 0x00 }, + { 0x2F, 0x07 }, + { 0x30, 0x80 }, + // XACT::CEngine::CreateSoundBank+0x4F : add ecx, 0x4C + { 0x4F, 0x83 }, + { 0x50, 0xC1 }, + { 0x51, 0x4C }, + // XACT::CEngine::CreateSoundBank+0x73 : retn 0x10 + { 0x73, 0xC2 }, + { 0x74, 0x10 }, +OOVPA_END; +#endif + +// ****************************************************************** +// * IXACTEngine_CreateSoundBank +// ****************************************************************** +OOVPA_XREF(IXACTEngine_CreateSoundBank, 4928, 10, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x27, XREF_XACT_CEngine_CreateSoundBank ), + + // IXACTEngine_CreateSoundBank+0x07 : push [ebp+8+0x10] + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x09, 0x24 }, + { 0x0A, 0x18 }, + // IXACTEngine_CreateSoundBank+0x0B : movzx esi, al + { 0x0B, 0x0F }, + { 0x0C, 0xB6 }, + { 0x0D, 0xF0 }, + // IXACTEngine_CreateSoundBank+0x40 : retn 0x10 + { 0x40, 0xC2 }, + { 0x41, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CEngine::UnRegisterWaveBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank, 4928, 8, + + XREF_XACT_CEngine_UnRegisterWaveBank, + XRefZero) + + // XACT_CEngine_UnRegisterWaveBank+0x06 : lea eax, [ecx+0x58] + { 0x06, 0x8D }, + { 0x07, 0x41 }, + { 0x08, 0x58 }, + // XACT_CEngine_UnRegisterWaveBank+0x28 : lea edi, [ebx+0x4C] + { 0x28, 0x8D }, + { 0x29, 0x7B }, + { 0x2A, 0x4C }, + // XACT_CEngine_UnRegisterWaveBank+0xBF : retn 0x8 + { 0xBF, 0xC2 }, + { 0xC0, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IXACTEngine_UnRegisterWaveBank +// ****************************************************************** +OOVPA_XREF(IXACTEngine_UnRegisterWaveBank, 4928, 8, + + XRefNoSaveIndex, + XRefOne) + + // IXACTEngine_UnRegisterWaveBank+0x1E : call XACT::CEngine::UnRegisterWaveBank + XREF_ENTRY( 0x1F, XREF_XACT_CEngine_UnRegisterWaveBank ), + + { 0x07, 0xFF }, + { 0x0E, 0x8B }, + { 0x16, 0xF8 }, + { 0x1E, 0xE8 }, + { 0x26, 0xF8 }, + { 0x2E, 0xFF }, + { 0x36, 0x5F }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CEngine::CreateSoundSource +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_CreateSoundSource, 4928, 11, + + XREF_XACT_CEngine_CreateSoundSource, + XRefZero) + + { 0x0A, 0x8B }, + { 0x15, 0xE8 }, + + { 0x2C, 0x05 }, + { 0x2D, 0x8B }, + { 0x2E, 0x4D }, + { 0x2F, 0x10 }, + { 0x30, 0x89 }, + { 0x31, 0x31 }, + { 0x32, 0x5E }, + { 0x33, 0x5D }, + { 0x34, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * IXACTEngine_CreateSoundSource +// ****************************************************************** +OOVPA_XREF(IXACTEngine_CreateSoundSource, 4928, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x23, XREF_XACT_CEngine_CreateSoundSource ), + + { 0x02, 0xE8 }, + { 0x09, 0x24 }, + { 0x12, 0xFF }, + { 0x18, 0x83 }, + { 0x1C, 0xD9 }, + { 0x20, 0xC8 }, + { 0x3C, 0xC2 }, + { 0x3D, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IXACTEngine_GetNotification +// ****************************************************************** +OOVPA_XREF(IXACTEngine_GetNotification, 4928, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x23, XREF_XACT_CEngine_GetNotification ), + + { 0x02, 0xE8 }, + { 0x09, 0x24 }, + { 0x12, 0xFF }, + { 0x18, 0x83 }, + { 0x1C, 0xD9 }, + { 0x20, 0xC8 }, + { 0x3C, 0xC2 }, + { 0x3D, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CSoundBank::GetSoundCueIndexFromFriendlyName +// ****************************************************************** +OOVPA_XREF(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, 13, + + XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, + XRefZero) + + { 0x03, 0x51 }, + { 0x1F, 0x80 }, + + { 0x30, 0x8D }, + { 0x31, 0x3C }, + { 0x32, 0xC1 }, + { 0x33, 0x85 }, + { 0x34, 0xFF }, + { 0x35, 0x74 }, + { 0x36, 0x4D }, + { 0x37, 0x53 }, + { 0x38, 0x8B }, + + { 0x4A, 0x03 }, + { 0x5F, 0xE8 }, +OOVPA_END; + +// ****************************************************************** +// * IXACTSoundBank_GetSoundCueIndexFromFriendlyName +// ****************************************************************** +OOVPA_XREF(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x17, XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName ), + + { 0x02, 0xE8 }, + { 0x09, 0x24 }, + { 0x12, 0xFF }, + { 0x16, 0xE8 }, + { 0x1B, 0x85 }, + { 0x2C, 0x8B }, + { 0x30, 0xC2 }, + { 0x31, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IXACTEngine_RegisterNotification +// ****************************************************************** +OOVPA_XREF(IXACTEngine_RegisterNotification, 4928, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x1F, XREF_XACT_CEngine_RegisterNotification ), + + { 0x02, 0xE8 }, + { 0x09, 0x24 }, + { 0x14, 0x83 }, + { 0x18, 0xD9 }, + { 0x1C, 0xC8 }, + { 0x38, 0xC2 }, + { 0x39, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * XactEng_4928 +// ****************************************************************** +OOVPATable XactEng_4928[] = { + + REGISTER_OOVPA(XACTEngineCreate, 4928, PATCH), + REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF), + REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH), + + // ****************************************************************** + // Provisional registration functions in XDK 4928 + // TODO: Need test cases + // ****************************************************************** + REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 4627, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 4627, PATCH), + REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + // ****************************************************************** +}; + +// ****************************************************************** +// * XACTENG_4928_SIZE +// ****************************************************************** +uint32 XactEng_4928_SIZE = sizeof(XactEng_4928); diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.h b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.h new file mode 100644 index 000000000..79c23d1ea --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5233.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XACTENG_5233_H +#define XACTENG_5233_H + +#include "OOVPA.h" + +extern OOVPATable XactEng_5233[]; +extern uint32 XactEng_5233_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl new file mode 100644 index 000000000..be067b7f1 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl @@ -0,0 +1,218 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5233.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ***************************************************************** +// * XACTEngineCreate +// ****************************************************************** +OOVPA_NO_XREF(XACTEngineCreate, 5120, 12) + + { 0x11, 0x85 }, + { 0x29, 0xEB }, + + { 0x5F, 0x24 }, + { 0x60, 0xFF }, + { 0x61, 0x74 }, + { 0x62, 0x24 }, + { 0x63, 0x10 }, + { 0x64, 0x8B }, + { 0x65, 0xCF }, + { 0x66, 0xE8 }, + + { 0xA2, 0xC2 }, + { 0xA3, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CEngine::RegisterStreamedWaveBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 5233, 11, + + XREF_XACT_CEngine_RegisterStreamedWaveBank, + XRefZero) + + { 0x04, 0x10 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 + { 0x25, 0x8B }, + + { 0x3A, 0x2E }, //RegisterStreamedWaveBank 0x2E vs RegisterWaveBank 0x32 + { 0x3B, 0xFF }, + { 0x3C, 0x74 }, + { 0x3D, 0x24 }, + { 0x3E, 0x14 }, + { 0x3F, 0x8B }, + { 0x40, 0xCE }, + { 0x41, 0xE8 }, + + { 0x67, 0xEB }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CEngine::UnRegisterWaveBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank, 5120, 13, + + XREF_XACT_CEngine_UnRegisterWaveBank, + XRefZero) + + + { 0x0E, 0x51 }, + { 0x1F, 0x00 }, + + { 0x25, 0x8B }, + { 0x26, 0x7C }, + { 0x27, 0x24 }, + { 0x28, 0x10 }, + { 0x29, 0x83 }, + { 0x2A, 0xC7 }, + { 0x2B, 0x4C }, + { 0x2C, 0x8B }, + { 0x2D, 0x37 }, + + { 0x45, 0xF6 }, + { 0x62, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CEngine::RegisterWaveBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_RegisterWaveBank, 5120, 12, + + XREF_XACT_CEngine_RegisterWaveBank, + XRefZero) + + { 0x04, 0x14 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 + { 0x17, 0x3B }, + + { 0x37, 0x32 }, + { 0x38, 0xFF }, + { 0x39, 0x74 }, + { 0x3A, 0x24 }, + { 0x3B, 0x18 }, + { 0x3C, 0x8B }, + { 0x3D, 0xCE }, + { 0x3E, 0xFF }, + + { 0x79, 0xC2 }, + { 0x7A, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CEngine::RegisterWaveBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_RegisterWaveBank, 5233, 12, + + XREF_XACT_CEngine_RegisterWaveBank, + XRefZero) + + { 0x04, 0x14 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 + { 0x1A, 0x3B }, + + { 0x3A, 0x32 }, + { 0x3B, 0xFF }, + { 0x3C, 0x74 }, + { 0x3D, 0x24 }, + { 0x3E, 0x18 }, + { 0x3F, 0x8B }, + { 0x40, 0xCE }, + { 0x41, 0xFF }, + + { 0x7C, 0xC2 }, + { 0x7D, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * IXACTEngine_RegisterWaveBank +// ****************************************************************** +OOVPA_XREF(IXACTEngine_RegisterWaveBank, 5120, 10, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x27, XREF_XACT_CEngine_RegisterWaveBank ), + + // IXACTEngine_RegisterWaveBank+0x07 : push [ebp+8+0x10] + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x09, 0x24 }, + { 0x0A, 0x18 }, + + // IXACTEngine_RegisterWaveBank+0x0B : movzx esi, al + { 0x0B, 0x0F }, + { 0x0C, 0xB6 }, + { 0x0D, 0xF0 }, + + // IXACTEngine_RegisterWaveBank+0x40 : retn 0x10 + { 0x40, 0xC2 }, + { 0x41, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * XactEng_5233 +// ****************************************************************** +OOVPATable XactEng_5233[] = { + + REGISTER_OOVPA(XACTEngineCreate, 5120, PATCH), + REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 4928, XREF), // For 5120 + REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 5120, XREF), + REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5120, XREF), + REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5233, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 5120, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH), + + // ****************************************************************** + // Provisional registration functions in XDK 5233 + // TODO: Need test cases + // ****************************************************************** + REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF), + REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 4627, PATCH), + REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + // ****************************************************************** +}; + +// ****************************************************************** +// * XACTENG_5233_SIZE +// ****************************************************************** +uint32 XactEng_5233_SIZE = sizeof(XactEng_5233); diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.h b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.h new file mode 100644 index 000000000..ab1a3c121 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5344.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XACTENG_5344_H +#define XACTENG_5344_H + +#include "OOVPA.h" + +extern OOVPATable XactEng_5344[]; +extern uint32 XactEng_5344_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl new file mode 100644 index 000000000..74f5c1877 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl @@ -0,0 +1,168 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5344.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XACT::CEngine::DownloadEffectsImage +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_DownloadEffectsImage, 5344, 12, + + XREF_XACT_CEngine_DownloadEffectsImage, + XRefZero) + + { 0x02, 0xEC }, + + { 0x08, 0x46 }, + { 0x09, 0x10 }, + { 0x0A, 0x57 }, + { 0x0B, 0x8B }, + { 0x0C, 0x7D }, + { 0x0D, 0x18 }, + { 0x0E, 0x57 }, + { 0x0F, 0xFF }, + + { 0x1E, 0x85 }, + { 0x2A, 0xC2 }, + { 0x2B, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * IXACTEngine_DownloadEffectsImage +// ****************************************************************** +OOVPA_XREF(IXACTEngine_DownloadEffectsImage, 5344, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x29, XREF_XACT_CEngine_DownloadEffectsImage ), + + { 0x05, 0xE8 }, + + { 0x19, 0x8B }, + { 0x1A, 0xC8 }, + { 0x1B, 0xFF }, + { 0x1C, 0x75 }, + { 0x1D, 0x0C }, + { 0x1E, 0x83 }, + { 0x1F, 0xC0 }, + + { 0x43, 0xC2 }, + { 0x44, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CSoundBank::Play +// ****************************************************************** +OOVPA_XREF(XACT_CSoundBank_Play, 5344, 12, + + XREF_XACT_CSoundBank_Play, + XRefZero) + + { 0x08, 0x57 }, + { 0x1F, 0x89 }, + + { 0x7B, 0x89 }, + { 0x7C, 0x45 }, + { 0x7D, 0xFC }, + { 0x7E, 0xEB }, + { 0x7F, 0x53 }, + { 0x80, 0x3B }, + { 0x81, 0xC7 }, + { 0x82, 0x74 }, + + { 0x9B, 0x68 }, + { 0xA5, 0x83 }, +OOVPA_END; + +// ****************************************************************** +// * IXACTSoundBank_PlayEx +// ****************************************************************** +OOVPA_XREF(IXACTSoundBank_PlayEx, 5344, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x17, XREF_XACT_CSoundBank_Play ), + + { 0x01, 0x57 }, + { 0x0E, 0xFF }, + { 0x0F, 0x74 }, + { 0x10, 0x24 }, + { 0x11, 0x14 }, + { 0x1B, 0x85 }, + { 0x1C, 0xF6 }, + { 0x1D, 0x8B }, + { 0x30, 0xC2 }, + { 0x31, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * XactEng_5344 +// ****************************************************************** +OOVPATable XactEng_5344[] = { + + REGISTER_OOVPA(XACTEngineCreate, 5120, PATCH), + REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 5120, XREF), + REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF), + REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5233, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 5120, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 5344, XREF), + REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 5344, PATCH), + REGISTER_OOVPA(XACT_CSoundBank_Play, 5344, XREF), + REGISTER_OOVPA(IXACTSoundBank_PlayEx, 5344, XREF), // Not Implemented yet. + + // ****************************************************************** + // Provisional registration functions in XDK 5344 + // TODO: Need test cases + // ****************************************************************** + REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + // ****************************************************************** +}; + +// ****************************************************************** +// * XACTENG_5344_SIZE +// ****************************************************************** +uint32 XactEng_5344_SIZE = sizeof(XactEng_5344); diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.h b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.h new file mode 100644 index 000000000..3dfdd636f --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5558.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XACTENG_5558_H +#define XACTENG_5558_H + +#include "OOVPA.h" + +extern OOVPATable XactEng_5558[]; +extern uint32 XactEng_5558_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl new file mode 100644 index 000000000..65bf65df9 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl @@ -0,0 +1,98 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5558.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XACT::CSoundBank::Play +// ****************************************************************** +OOVPA_XREF(XACT_CSoundBank_Play, 5558, 12, + + XREF_XACT_CSoundBank_Play, + XRefZero) + + { 0x06, 0x8B }, + + { 0x10, 0x75 }, + { 0x11, 0x0C }, + { 0x12, 0x8B }, + { 0x13, 0x5E }, + { 0x14, 0x04 }, + { 0x15, 0x8B }, + { 0x16, 0x46 }, + { 0x17, 0x08 }, + + { 0x27, 0x85 }, + { 0x3B, 0xE9 }, + { 0x55, 0x35 }, +OOVPA_END; + +// ****************************************************************** +// * XactEng_5558 +// ****************************************************************** +OOVPATable XactEng_5558[] = { + + REGISTER_OOVPA(XACTEngineCreate, 5120, PATCH), + REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 5120, XREF), + REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF), + REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5233, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 5120, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 5344, XREF), + REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 5344, PATCH), + REGISTER_OOVPA(XACT_CSoundBank_Play, 5558, XREF), + REGISTER_OOVPA(IXACTSoundBank_PlayEx, 5344, XREF), // Not Implemented yet. + + // ****************************************************************** + // Provisional registration functions in XDK 5558 + // TODO: Need test cases + // ****************************************************************** + REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + // ****************************************************************** +}; + +// ****************************************************************** +// * XACTENG_5558_SIZE +// ****************************************************************** +uint32 XactEng_5558_SIZE = sizeof(XactEng_5558); diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.h b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.h new file mode 100644 index 000000000..8097dc116 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5788.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XACTENG_5788_H +#define XACTENG_5788_H + +#include "OOVPA.h" + +extern OOVPATable XactEng_5788[]; +extern uint32 XactEng_5788_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.inl new file mode 100644 index 000000000..5d2c58b84 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.inl @@ -0,0 +1,74 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5788.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XactEng_5788 +// ****************************************************************** +OOVPATable XactEng_5788[] = { + + REGISTER_OOVPA(XACTEngineCreate, 5120, PATCH), + REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 5120, XREF), + REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF), + REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5233, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 5120, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 5344, XREF), + REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 5344, PATCH), + REGISTER_OOVPA(XACT_CSoundBank_Play, 5558, XREF), + REGISTER_OOVPA(IXACTSoundBank_PlayEx, 5344, XREF), // Not Implemented yet. + + // ****************************************************************** + // Provisional registration functions in XDK 5788 + // TODO: Need test cases + // ****************************************************************** + REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + // ****************************************************************** +}; + +// ****************************************************************** +// * XACTENG_5788_SIZE +// ****************************************************************** +uint32 XactEng_5788_SIZE = sizeof(XactEng_5788); diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl index 5288bdc09..e48ecc571 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl @@ -60,8 +60,36 @@ OOVPA_END; // * XactEng_5849 // ****************************************************************** OOVPATable XactEng_5849[] = { + REGISTER_OOVPA(XACTEngineCreate, 5849, PATCH), REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundBank, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_UnRegisterWaveBank, 5120, XREF), + REGISTER_OOVPA(IXACTEngine_UnRegisterWaveBank, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_GetNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_GetNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, 4928, XREF), + REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 5233, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 5120, PATCH), + REGISTER_OOVPA(XACT_CEngine_RegisterNotification, 4627, XREF), + REGISTER_OOVPA(IXACTEngine_RegisterNotification, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_CreateSoundSource, 4928, XREF), + REGISTER_OOVPA(IXACTEngine_CreateSoundSource, 4928, PATCH), + REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 5344, XREF), + REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 5344, PATCH), + REGISTER_OOVPA(XACT_CSoundBank_Play, 5558, XREF), + REGISTER_OOVPA(IXACTSoundBank_PlayEx, 5344, XREF), // Not Implemented yet. + + // ****************************************************************** + // Provisional registration functions in XDK 5849 + // TODO: Need test cases + // ****************************************************************** + REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + // ****************************************************************** }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl new file mode 100644 index 000000000..a10251143 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl @@ -0,0 +1,83 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->HLEDatabase->XactEng.OOVPA.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XACTENG_OOVPA_INL +#define XACTENG_OOVPA_INL + +#include "../OOVPA.h" + +#include "HLEDataBase/XactEng.1.0.4627.inl" +#include "HLEDataBase/XactEng.1.0.4928.inl" +#include "HLEDataBase/XactEng.1.0.5233.inl" +#include "HLEDataBase/XactEng.1.0.5344.inl" +#include "HLEDataBase/XactEng.1.0.5558.inl" +#include "HLEDataBase/XactEng.1.0.5788.inl" +#include "HLEDataBase/XactEng.1.0.5849.inl" + + +// ****************************************************************** +// * XACTENG_OOVPA +// ****************************************************************** +OOVPATable XACTENG_OOVPAV2[] = { + + REGISTER_OOVPAS(XACTEngineCreate, PATCH, 4627, 4928, 5120, 5849), + REGISTER_OOVPAS(XACTEngineDoWork, PATCH, 4627), + REGISTER_OOVPAS(XACT_CEngine_CreateSoundBank, XREF, 4627, 4928), + REGISTER_OOVPAS(XACT_CEngine_CreateSoundSource, XREF, 4627, 4928), + REGISTER_OOVPAS(XACT_CEngine_DownloadEffectsImage, XREF, 4627, 5344), + REGISTER_OOVPAS(XACT_CEngine_GetNotification, XREF, 4627), + REGISTER_OOVPAS(XACT_CEngine_RegisterNotification, XREF, 4627), + REGISTER_OOVPAS(XACT_CEngine_RegisterStreamedWaveBank, XREF, 4627, 4928, 5233), + REGISTER_OOVPAS(XACT_CEngine_RegisterWaveBank, XREF, 4627, 5120, 5233), + REGISTER_OOVPAS(XACT_CEngine_UnRegisterWaveBank, XREF, 4627, 4928, 5120), + REGISTER_OOVPAS(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, XREF, 4627, 4928), + REGISTER_OOVPAS(XACT_CSoundBank_Play, XREF, 5344, 5558), + REGISTER_OOVPAS(IXACTEngine_CreateSoundBank, PATCH, 4627, 4928), + REGISTER_OOVPAS(IXACTEngine_CreateSoundSource, PATCH, 4627, 4928), + REGISTER_OOVPAS(IXACTEngine_DownloadEffectsImage, PATCH, 4627, 5344), + REGISTER_OOVPAS(IXACTEngine_GetNotification, PATCH, 4627, 4928), + REGISTER_OOVPAS(IXACTEngine_RegisterNotification, PATCH, 4627, 4928), + REGISTER_OOVPAS(IXACTEngine_RegisterStreamedWaveBank, PATCH, 4627, 4928), + REGISTER_OOVPAS(IXACTEngine_RegisterWaveBank, PATCH, 4627, 5120), + REGISTER_OOVPAS(IXACTEngine_UnRegisterWaveBank, PATCH, 4627, 4928), + REGISTER_OOVPAS(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, PATCH, 4627, 4928), + REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + REGISTER_OOVPAS(IXACTSoundBank_PlayEx, XREF, 5344), // Not Implemented yet. +}; + +// ****************************************************************** +// * XACTENG_OOVPA_SIZE +// ****************************************************************** +uint32 XACTENG_OOVPA_SIZEV2 = sizeof(XACTENG_OOVPAV2); + +#endif diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 8fdc0a4c6..51c270dc5 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -385,6 +385,18 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) if (OrigBuildVersion == 4531) BuildVersion = 4361; } + if (strcmp(LibraryName.c_str(), Lib_XACTENG) == 0) + { + // Skip scanning for XACTENG symbols when LLE APU is selected + if (bLLE_APU) + continue; + +#if ENABLE_LEGACY_XACTENG_DB + // Change a few XACTENG versions to similar counterparts + if (OrigBuildVersion == 4928 || BuildVersion == 5028) + BuildVersion = 4928; +#endif + } if(bXRefFirstPass) { From ceb6905b6619238ac8469e00df8522b187e19549 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 11 Sep 2017 06:11:17 +0900 Subject: [PATCH 049/146] Recomments --- src/CxbxKrnl/HLEDataBase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 83ab42508..95d484c63 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -220,7 +220,7 @@ const HLEDataV2 HLEDataBaseV2[] = { // //{ Lib_XACTENG, { Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, - // test case: Power Drome (Unluckily, use LTCG.) + // test case: Power Drome (Unluckily, it use LTCG version of the library.) //{ Lib_XACTENLT,{ Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, // From f012f3dffa52e75852a4a379d7588c8fd26f3c2b Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 11 Sep 2017 06:39:12 +0900 Subject: [PATCH 050/146] Enable XACTENG_OOVPAV2 --- src/CxbxKrnl/HLEDataBase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 95d484c63..1d4dec8ee 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -218,7 +218,7 @@ const HLEDataV2 HLEDataBaseV2[] = { //{ Lib_DSOUNDH,{ Sec_DSOUND }, DSound_OOVPAV2, DSound_OOVPA_SIZEV2 }, // - //{ Lib_XACTENG, { Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, + { Lib_XACTENG, { Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, // test case: Power Drome (Unluckily, it use LTCG version of the library.) //{ Lib_XACTENLT,{ Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, From 33aab3b2af38e458fa3a33c42e66cb4592aa3203 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 11 Sep 2017 08:31:18 -0500 Subject: [PATCH 051/146] Lowering Several DSound OOVPAs Support - 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 --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 198 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 39 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 30 ++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 39 +++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 9 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 15 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 15 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 12 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 13 +- 14 files changed, 351 insertions(+), 65 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 2365b1bdf..12f610d69 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -977,3 +977,201 @@ OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_12, 3911, 9, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; + +// ****************************************************************** +// * CMcpxAPU_Commit3dSettings +// ****************************************************************** +OOVPA_XREF(CMcpxAPU_Commit3dSettings, 3911, 11, + + XREF_CMcpxAPU_Commit3dSettings, + XRefZero) + + // CMcpxAPU_Commit3dSettings+0x56 : fld dword ptr [eax+0x174] + { 0x56, 0xD9 }, + { 0x57, 0x80 }, + { 0x58, 0x74 }, + { 0x59, 0x01 }, + { 0x5A, 0x00 }, + { 0x5B, 0x00 }, + + // CMcpxAPU_Commit3dSettings+0xA8 : fsubp st(1), st + { 0xA8, 0xDE }, + { 0xA9, 0xE9 }, + + // CMcpxAPU_Commit3dSettings+0xD4 : mov esi, 0x118 + { 0xD4, 0xBE }, + { 0xD5, 0x18 }, + { 0xD6, 0x01 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_CommitDeferredSettings +// ****************************************************************** +OOVPA_XREF(CDirectSound_CommitDeferredSettings, 3911, 10, + + XREF_CDirectSound_CommitDeferredSettings, + XRefOne) + + // CDirectSound_CommitDeferredSettings+0x12 : call [CMcpxAPU_Commit3dSettings] + XREF_ENTRY( 0x12, XREF_CMcpxAPU_Commit3dSettings ), + + // CDirectSound_CommitDeferredSettings+0x0C : mov ecx, [eax+0x0C] + { 0x0C, 0x8B }, + { 0x0D, 0x48 }, + { 0x0E, 0x0C }, + + // CDirectSound_CommitDeferredSettings+0x0F : push 0 + { 0x0F, 0x6A }, + { 0x10, 0x00 }, + + // CDirectSound_CommitDeferredSettings+0x19 : jz +0x0B + { 0x19, 0x74 }, + { 0x1A, 0x0B }, + + // CDirectSound_CommitDeferredSettings+0x28 : retn 0x04 + { 0x28, 0xC2 }, + { 0x29, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_CommitDeferredSettings +// ****************************************************************** +//Generic OOVPA as of 3911 and newer +OOVPA_XREF(IDirectSound_CommitDeferredSettings, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSound_CommitDeferredSettings+0x11 : call [CDirectSound_CommitDeferredSettings] + XREF_ENTRY( 0x11, XREF_CDirectSound_CommitDeferredSettings ), + + // IDirectSound_CommitDeferredSettings+0x06 : and eax, 0xFFFFFFF8 + { 0x06, 0x83 }, + { 0x07, 0xC0 }, + { 0x08, 0xF8 }, + + // IDirectSound_CommitDeferredSettings+0x09 : neg ecx + { 0x09, 0xF7 }, + { 0x0A, 0xD9 }, + + // IDirectSound_CommitDeferredSettings+0x15 : retn 0x04 + { 0x15, 0xC2 }, + { 0x16, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_SetOrientation +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetOrientation, 3911, 13, + + XREF_CDirectSound_SetOrientation, + XRefZero) + + // CDirectSound_SetOrientation+0x00 : push ebp + { 0x00 , 0x55 }, + + { 0x0F , 0x8B }, + { 0x11 , 0x0C }, + { 0x15 , 0x8B }, + { 0x17 , 0x10 }, + { 0x1B , 0x8B }, + { 0x1D , 0x14 }, + { 0x21 , 0x8B }, + { 0x23 , 0x18 }, + { 0x27 , 0x8B }, + { 0x29 , 0x1C }, + { 0x2D , 0x8B }, + { 0x2F , 0x20 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetOrientation +// ****************************************************************** +//Generic OOVPA as of 3911 and newer +OOVPA_XREF(IDirectSound_SetOrientation, 3911, 15, + XRefNoSaveIndex, + XRefOne) + + // IDirectSound_CommitDeferredSettings+0x11 : call [CDirectSound_CommitDeferredSettings] + XREF_ENTRY( 0x42, XREF_CDirectSound_SetOrientation ), + + // IDirectSound_SetOrientation+0x00 : push ebp + { 0x00 , 0x55 }, + + // IDirectSound_SetOrientation+0x06 : fld [ebp+0x20] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x20 }, + + // IDirectSound_SetOrientation+0x0C : sub esp, 0x18 + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x18 }, + + // IDirectSound_SetOrientation+0x18 : add eax, 0xFFFFFFF8 + { 0x18, 0x83 }, + { 0x19, 0xC0 }, + { 0x1A, 0xF8 }, + + // IDirectSound_SetOrientation+0x1F : neg ecx + { 0x1F, 0xF7 }, + { 0x20, 0xD9 }, + + // IDirectSound_SetOrientation+0x47 : retn 0x20 + { 0x47, 0xC2 }, + { 0x48, 0x20 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_AddRef +// ****************************************************************** +//Generic OOVPA as of 3911 and newer +OOVPA_NO_XREF(IDirectSound_AddRef, 3911, 12) + + // IDirectSound_AddRef+0x04 : lea ecx, [eax-8] + { 0x04, 0x8D }, + { 0x05, 0x48 }, + { 0x06, 0xF8 }, + + // IDirectSound_AddRef+0x07 : neg eax + { 0x07, 0xF7 }, + { 0x08, 0xD8 }, + + // IDirectSound_AddRef+0x09 : sbb eax, eax + { 0x09, 0x1B }, + { 0x0A, 0xC0 }, + + // IDirectSound_AddRef+0x0D : mov ecx, [eax] + { 0x0D, 0x8B }, + { 0x0E, 0x08 }, + + // IDirectSound_AddRef+0x10 : call dword ptr [ecx+4] + { 0x10, 0xFF }, + { 0x11, 0x51 }, + { 0x12, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_Release +// ****************************************************************** +//Generic OOVPA as of 3911 and newer +OOVPA_NO_XREF(IDirectSound_Release, 3911, 10) + + // IDirectSound_Release+0x04 : lea ecx, [eax-8] + { 0x04, 0x8D }, + { 0x05, 0x48 }, + { 0x06, 0xF8 }, + + // IDirectSound_Release+0x07 : neg eax + { 0x07, 0xF7 }, + { 0x08, 0xD8 }, + + // IDirectSound_Release+0x10 : call dword ptr [ecx+8] + { 0x10, 0xFF }, + { 0x11, 0x51 }, + { 0x12, 0x08 }, + + // IDirectSound_Release+0x13 : retn 0x04 + { 0x13, 0xC2 }, + { 0x14, 0x04 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 7d8595600..90d428100 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -2397,7 +2397,7 @@ OOVPA_XREF(CDirectSoundStream_SetHeadroom, 3936, 10, { 0x11, 0xC2 }, { 0x12, 0x08 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_SetOrientation // ****************************************************************** @@ -2426,13 +2426,14 @@ OOVPA_NO_XREF(IDirectSound_SetOrientation, 3936, 13) { 0x47, 0xC2 }, { 0x48, 0x20 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU_Commit3dSettings // ****************************************************************** OOVPA_XREF(CMcpxAPU_Commit3dSettings, 3936, 11, - XREF_COMMITDEFERREDSETTINGSB, + XREF_CMcpxAPU_Commit3dSettings, XRefZero) // CMcpxAPU_Commit3dSettings+0x56 : fld dword ptr [eax+0x174] @@ -2452,17 +2453,18 @@ OOVPA_XREF(CMcpxAPU_Commit3dSettings, 3936, 11, { 0xD5, 0x18 }, { 0xD6, 0x01 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound_CommitDeferredSettings // ****************************************************************** OOVPA_XREF(CDirectSound_CommitDeferredSettings, 3936, 10, - XREF_COMMITDEFERREDSETTINGSA, + XREF_CDirectSound_CommitDeferredSettings, XRefOne) // CDirectSound_CommitDeferredSettings+0x12 : call [CMcpxAPU_Commit3dSettings] - XREF_ENTRY( 0x12, XREF_COMMITDEFERREDSETTINGSB ), + XREF_ENTRY( 0x12, XREF_CMcpxAPU_Commit3dSettings ), // CDirectSound_CommitDeferredSettings+0x0C : mov ecx, [eax+0x0C] { 0x0C, 0x8B }, @@ -2481,7 +2483,8 @@ OOVPA_XREF(CDirectSound_CommitDeferredSettings, 3936, 10, { 0x28, 0xC2 }, { 0x29, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_CommitDeferredSettings // ****************************************************************** @@ -2491,7 +2494,7 @@ OOVPA_XREF(IDirectSound_CommitDeferredSettings, 3936, 8, XRefOne) // IDirectSound_CommitDeferredSettings+0x11 : call [CDirectSound_CommitDeferredSettings] - XREF_ENTRY( 0x11, XREF_COMMITDEFERREDSETTINGSA ), + XREF_ENTRY( 0x11, XREF_CDirectSound_CommitDeferredSettings ), // IDirectSound_CommitDeferredSettings+0x06 : and eax, 0xFFFFFFF8 { 0x06, 0x83 }, @@ -2506,7 +2509,8 @@ OOVPA_XREF(IDirectSound_CommitDeferredSettings, 3936, 8, { 0x15, 0xC2 }, { 0x16, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_Release // ****************************************************************** @@ -2530,7 +2534,7 @@ OOVPA_NO_XREF(IDirectSound_Release, 3936, 10) { 0x13, 0xC2 }, { 0x14, 0x04 }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxAPU_Set3dDistanceFactor // ****************************************************************** @@ -3366,6 +3370,7 @@ OOVPA_XREF(IDirectSoundBuffer_PlayEx, 3936, 8, { 0x21, 0xC2 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_AddRef // ****************************************************************** @@ -3393,7 +3398,7 @@ OOVPA_NO_XREF(IDirectSound_AddRef, 3936, 12) { 0x11, 0x51 }, { 0x12, 0x04 }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSoundGetSampleTime // ****************************************************************** @@ -4036,11 +4041,11 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMode, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), - REGISTER_OOVPA(CMcpxAPU_Commit3dSettings, 3936, XREF), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), + REGISTER_OOVPA(CMcpxAPU_Commit3dSettings, 3911, XREF), + REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 3911, XREF), + REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Set3dDistanceFactor, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3936, PATCH), @@ -4074,7 +4079,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(DirectSoundEnterCriticalSection, 3911, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 3936, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index b9a167170..26c0c0c02 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -707,7 +707,10 @@ OOVPA_END; // * CDirectSound::CommitDeferredSettings // ****************************************************************** // Verified with Agent Under Fire. -OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 4039, 14) +OOVPA_XREF(CDirectSound_CommitDeferredSettings, 4039, 14, + + XREF_CDirectSound_CommitDeferredSettings, + XRefZero) // CDirectSound_CommitDeferredSettings+0x00 : push ebp { 0x00, 0x55 }, @@ -2134,3 +2137,28 @@ OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 4039, 10, { 0x63, 0xC2 }, { 0x64, 0x14 }, OOVPA_END; + +// ****************************************************************** +// * CDirectSound_SetOrientation +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetOrientation, 4039, 13, + + XREF_CDirectSound_SetOrientation, + XRefZero) + + // CDirectSound_SetOrientation+0x00 : push ebp + { 0x00 , 0x55 }, + + { 0x30 , 0x8B }, + { 0x32 , 0x0C }, + { 0x39 , 0x8B }, + { 0x3B , 0x10 }, + { 0x42 , 0x8B }, + { 0x44 , 0x14 }, + { 0x4B , 0x8B }, + { 0x4D , 0x18 }, + { 0x54 , 0x8B }, + { 0x56 , 0x1C }, + { 0x5D , 0x8B }, + { 0x5F , 0x20 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 4d50dfc03..12bd47b21 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -1146,7 +1146,10 @@ OOVPA_END; // ****************************************************************** // * CDirectSound::CommitDeferredSettings // ****************************************************************** -OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 4134, 11) +OOVPA_XREF(CDirectSound_CommitDeferredSettings, 4134, 11, + + XREF_CDirectSound_CommitDeferredSettings, + XRefZero) // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al { 0x10, 0x0F }, @@ -2947,6 +2950,31 @@ OOVPA_XREF(CDirectSoundStream_SetLFO, 4134, 11, { 0x50, 0x08 }, OOVPA_END; +// ****************************************************************** +// * CDirectSound_SetOrientation +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetOrientation, 4134, 13, + + XREF_CDirectSound_SetOrientation, + XRefZero) + + // CDirectSound_SetOrientation+0x00 : push ebp + { 0x00 , 0x55 }, + + { 0x31 , 0x8B }, + { 0x33 , 0x0C }, + { 0x3A , 0x8B }, + { 0x3C , 0x10 }, + { 0x43 , 0x8B }, + { 0x45 , 0x14 }, + { 0x4C , 0x8B }, + { 0x4E , 0x18 }, + { 0x55 , 0x8B }, + { 0x57 , 0x1C }, + { 0x5E , 0x8B }, + { 0x60 , 0x20 }, +OOVPA_END; + // ****************************************************************** // * DSound_4134 // ****************************************************************** @@ -2974,7 +3002,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), @@ -2999,16 +3027,17 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), + REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 22151024e..b041bb687 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -827,7 +827,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), @@ -860,7 +860,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), @@ -885,6 +885,8 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), + REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index d2ef6aa2e..d6c43a1c5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -124,8 +124,8 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), @@ -152,7 +152,8 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), + REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), + REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), @@ -176,6 +177,8 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), + REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 0f3b036b5..a5279d8a4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1510,7 +1510,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), @@ -1548,9 +1548,10 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), @@ -1559,7 +1560,8 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), + REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), + REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 249214e74..b8b13b46b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -87,7 +87,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), @@ -124,9 +124,10 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), @@ -135,7 +136,8 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), + REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), + REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 46e088ae8..7c774e655 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -405,7 +405,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), @@ -423,7 +423,8 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5233, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 5233, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), @@ -433,7 +434,8 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, PATCH), + REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), + REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), @@ -463,7 +465,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index b995d38af..377d19e2d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -569,7 +569,10 @@ OOVPA_END; // ****************************************************************** // * CDirectSound::CommitDeferredSettings // ****************************************************************** -OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 5344, 11) +OOVPA_XREF(CDirectSound_CommitDeferredSettings, 5344, 11, + + XREF_CDirectSound_CommitDeferredSettings, + XRefZero) // CDirectSound_CommitDeferredSettings+0x11 : movzx eax, al { 0x11, 0x0F }, @@ -913,7 +916,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), @@ -931,7 +934,8 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5344, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), @@ -942,7 +946,8 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5344, PATCH), + REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5344, XREF), + REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5344, PATCH), @@ -972,7 +977,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5344, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 323be346d..7e55b725b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -51,7 +51,10 @@ OOVPA_END; // ****************************************************************** // * CDirectSound::CommitDeferredSettings // ****************************************************************** -OOVPA_NO_XREF(CDirectSound_CommitDeferredSettings, 5558, 11) +OOVPA_XREF(CDirectSound_CommitDeferredSettings, 5558, 11, + + XREF_CDirectSound_CommitDeferredSettings, + XRefZero) // CDirectSound_CommitDeferredSettings+0x10 : movzx eax, al { 0x10, 0x0F }, @@ -1639,7 +1642,8 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5558, PATCH), + REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5558, XREF), + REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5558, XREF), @@ -1655,9 +1659,10 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), @@ -1769,7 +1774,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 1e56835af..a8b2cfe34 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -99,7 +99,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_CommitDeferredSettings, 5788, 7, - XREF_COMMITDEFERREDSETTINGSA, + XREF_CDirectSound_CommitDeferredSettings, XRefZero) { 0x12, 0xC0 }, @@ -580,9 +580,10 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5788, PATCH), @@ -624,7 +625,8 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 5558, PATCH), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, PATCH), + REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, XREF), + REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF), @@ -704,7 +706,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index c7c8ee74a..23e7ff6b8 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -121,9 +121,10 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_Release, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_SetOrientation, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5788, PATCH), @@ -153,7 +154,8 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSound_SetPosition, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), - REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, PATCH), + REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, XREF), + REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF), @@ -207,7 +209,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), - REGISTER_OOVPA(IDirectSound_AddRef, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index e964e5b45..9048a0089 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -58,7 +58,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(XAudioCalculatePitch, XREF, 3936), REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_Commit3dSettings, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Commit3dSettings, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_ServiceDeferredCommandsLow, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_Set3dDistanceFactor, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3936), @@ -190,7 +190,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), - REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, PATCH, 3936, 4039, 4134, 5344, 5558, 5788), + REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, XREF, 3911, 4039, 4134, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3936, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3936, 4039), @@ -205,6 +205,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 4134), REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3936, 4627, 5558), + REGISTER_OOVPAS(CDirectSound_SetOrientation, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3936, 4134, 4627, 5344, 5558), // TODO: Find a cure for laziness... (from 4134's comment) REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3936, 4039, 4134, 5344, 5558, 5788, 5849), REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3936, 4134, 4627, 5344, 5558), @@ -258,15 +259,15 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundStream_SetPosition, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, PATCH, 3936), - REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3936), - REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911), + REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3911 /*3936, 4134, 4361*/), REGISTER_OOVPAS(IDirectSound_CreateSoundStream, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSound_DownloadEffectsImage, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_EnableHeadphones, PATCH, 3936, 4627, 5233, 5558), REGISTER_OOVPAS(IDirectSound_GetCaps, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558), - REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3936), //REGISTER_OOVPAS(IDirectSound_SetAllParameters, XREF, 3911), //Cannot be used since this OOVPA does produce false detection. REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3936, 4134), @@ -274,7 +275,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 4134, 5344), REGISTER_OOVPAS(IDirectSound_SetI3DL2Listener, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3936, 4627, 5558), - REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetPosition, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3936, 4134/*, 5344*/), REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3936, 5558), From 5ee13a8f879aa0d1aba7532a1673cd7903ddb551 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 11 Sep 2017 08:33:17 -0500 Subject: [PATCH 052/146] Append Previous Commit --- src/CxbxKrnl/HLEDataBase.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 80791db2d..a15b419c4 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -261,8 +261,9 @@ enum XRefDataBaseOffset XREF_DSSTREAMSETROLLOFFFACTOR1B, XREF_GET2DSURFACEDESCB, XREF_COMMONSETRENDERTARGET, - XREF_COMMITDEFERREDSETTINGSA, - XREF_COMMITDEFERREDSETTINGSB, + XREF_CDirectSound_CommitDeferredSettings, + XREF_CMcpxAPU_Commit3dSettings, + XREF_CDirectSound_SetOrientation, // s+ // DSOUND XREF_DSVOICESETMAXDISTANCE, From 625cad33396bc4624b63c023b5d6fd468f827138 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 13 Sep 2017 09:02:33 -0500 Subject: [PATCH 053/146] More Moving From 3936 OOVPAs to 3911. - 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 --- src/CxbxKrnl/HLEDataBase.h | 5 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 258 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 46 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 12 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 17 +- 15 files changed, 319 insertions(+), 61 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index a15b419c4..e1e6c490f 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -195,8 +195,8 @@ enum XRefDataBaseOffset XREF_DSSETBUFFERDATA, XREF_CMcpxBuffer_SetBufferData, XREF_CDirectSoundBuffer_SetBufferData, - XREF_DSCREATESOUNDBUFFER, - XREF_DSCREATESOUNDSTREAM, + XREF_CDirectSound_CreateSoundBuffer, + XREF_CDirectSound_CreateSoundStream, XREF_DSSTREAMPAUSE, XREF_DSSETI3DL2LISTENER, XREF_DSSETMIXBINHEADROOMA, @@ -328,6 +328,7 @@ enum XRefDataBaseOffset XREF_CMcpxBuffer_Stop2, XREF_CMcpxAPU_Set3dDopplerFactor, XREF_CSensaura3d_GetFullHRTFFilterPair, + XREF_CSensaura3d_GetLiteHRTFFilterPair, XREF_CDirectSound_GetCaps, XREF_CDirectSoundVoice_SetPitch, XREF_DirectSoundEnterCriticalSection, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 12f610d69..5c43266ac 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -32,6 +32,18 @@ // * // ****************************************************************** +// TODO: Known DSound OOVPA issue list for 3911 to 3936(?): +// * Following separater functions has exact asm codes as whole function are... +// * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume +// * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch +// * IDirectSoundStream_SetLFO & CDirectSoundStream_SetLFO +// * IDirectSoundStream_SetEG & CDirectSoundStream_SetEG +// * IDirectSoundStream_SetFilter & CDirectSoundStream_SetFilter +// * IDirectSoundStream_SetHeadroom & CDirectSoundStream_SetHeadroom +// * IDirectSoundStream_SetFrequency & CDirectSoundStream_SetFrequency +// * IDirectSoundStream_SetMixBins & CDirectSoundStream_SetMixBins + + // ****************************************************************** // * DirectSoundEnterCriticalSection @@ -51,17 +63,53 @@ OOVPA_XREF(DirectSoundEnterCriticalSection, 3911, 7, { 0x1B, 0xC0 }, OOVPA_END; +// ****************************************************************** +// * CDirectSound::CreateSoundBuffer +// ****************************************************************** +OOVPA_XREF(CDirectSound_CreateSoundBuffer, 3911, 17, + + XREF_CDirectSound_CreateSoundBuffer, + XRefZero) + + // CDirectSound_CreateSoundBuffer+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSound_CreateSoundBuffer+0x2D : and esi, 0x7FF8FFF2 + { 0x2D, 0x81 }, + { 0x2E, 0xE6 }, + { 0x2F, 0xF2 }, + { 0x30, 0xFF }, + { 0x31, 0xF8 }, + { 0x32, 0x7F }, + + // CDirectSound_CreateSoundBuffer+0x33 : add esi, 0x8007000E + { 0x33, 0x81 }, + { 0x34, 0xC6 }, + { 0x35, 0x0E }, + { 0x36, 0x00 }, + { 0x37, 0x07 }, + { 0x38, 0x80 }, + + // CDirectSound_CreateSoundBuffer+0x3C : js +0x21 + { 0x3C, 0x78 }, + { 0x3D, 0x21 }, + + // CDirectSound_CreateSoundBuffer+0x7D : retn 0x10 + { 0x7D, 0xC2 }, + { 0x7E, 0x10 }, +OOVPA_END; + // ****************************************************************** // * IDirectSound_CreateSoundBuffer // ****************************************************************** -//TODO: Need to make CDirectSound_CreateSoundBuffer OOVPA for 3911 and newer. +//Generic OOVPA as of 3911 and newer. OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3911, 12, XRefNoSaveIndex, XRefOne) // IDirectSound_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDBUFFER ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundBuffer ), // IDirectSound_CreateSoundBuffer+0x04 : mov eax, [esp+8] { 0x04, 0x8B }, @@ -83,6 +131,67 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3911, 12, { 0x22, 0x10 }, OOVPA_END; +// ****************************************************************** +// * CDirectSound::CreateSoundStream +// ****************************************************************** +OOVPA_XREF(CDirectSound_CreateSoundStream, 3911, 16, + + XREF_CDirectSound_CreateSoundStream, + XRefZero) + + // CDirectSound_CreateSoundStream+0x2D : and esi, 0x7FF8FFF2 + { 0x2D, 0x81 }, + { 0x2E, 0xE6 }, + { 0x2F, 0xF2 }, + { 0x30, 0xFF }, + { 0x31, 0xF8 }, + { 0x32, 0x7F }, + + // CDirectSound_CreateSoundStream+0x33 : add esi, 0x8007000E + { 0x33, 0x81 }, + { 0x34, 0xC6 }, + { 0x35, 0x0E }, + { 0x36, 0x00 }, + { 0x37, 0x07 }, + { 0x38, 0x80 }, + + // CDirectSound_CreateSoundStream+0x3C : js +0x16 + { 0x3C, 0x78 }, + { 0x3D, 0x16 }, + + // CDirectSound_CreateSoundStream+0x72 : retn 0x10 + { 0x72, 0xC2 }, + { 0x73, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_CreateSoundStream +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_CreateSoundStream, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSound_CreateSoundStream+0x1D : call [CDirectSound::CreateSoundStream] + XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundStream ), + + // IDirectSound_CreateSoundStream+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSound_CreateSoundStream+0x12 : and eax, 0xFFFFFFF8 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, + + // IDirectSound_CreateSoundStream+0x21 : retn 0x10 + { 0x21, 0xC2 }, + { 0x22, 0x10 }, +OOVPA_END; + // ****************************************************************** // * IDirectSoundBuffer_AddRef // ****************************************************************** @@ -898,7 +1007,27 @@ OOVPA_XREF(IDirectSoundBuffer_SetEG, 3911, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#if 0 // Disabled due to both functions are not unique and unable to identify the difference. +// ****************************************************************** +// * IDirectSoundStream_SetEG & CDirectSoundStream_SetEG +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetEG, 3911, 9, + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0xD, XREF_CDirectSoundVoice_SetEG ), + + { 0x02, 0x24 }, + { 0x03, 0x08 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + { 0x08, 0x83 }, + { 0x0C, 0xE8 }, + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; +#endif // ****************************************************************** // * IDirectSoundBuffer_SetOutputBuffer // ****************************************************************** @@ -1175,3 +1304,128 @@ OOVPA_NO_XREF(IDirectSound_Release, 3911, 10) { 0x13, 0xC2 }, { 0x14, 0x04 }, OOVPA_END; + +// ****************************************************************** +// * XAudioCalculatePitch +// ****************************************************************** +OOVPA_XREF(XAudioCalculatePitch, 3911, 11, + + XREF_DSSTREAMSETFREQUENCY1B, + XRefZero) + + // XAudioCalculatePitch+0x08 : cmp esi, 0xBB80 + { 0x08, 0x81 }, + { 0x09, 0xFE }, + { 0x0A, 0x80 }, + { 0x0B, 0xBB }, + + // XAudioCalculatePitch+0x1D : jmp +0x2B + { 0x1D, 0xEB }, + { 0x1E, 0x2B }, + + // XAudioCalculatePitch+0x1F : lea ecx, [ebp+0x08] + { 0x1F, 0x8D }, + { 0x20, 0x4D }, + { 0x21, 0x08 }, + + // XAudioCalculatePitch+0x4E : retn 0x08 + { 0x4E, 0xC2 }, + { 0x4F, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSoundGetSampleTime +// ****************************************************************** +OOVPA_NO_XREF(DirectSoundGetSampleTime, 3911, 6) + + { 0x00, 0xA1 }, + { 0x01, 0x0C }, + { 0x02, 0x20 }, + { 0x03, 0x80 }, + { 0x04, 0xFE }, + { 0x05, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CSensaura3d::GetFullHRTFFilterPair +// ****************************************************************** +OOVPA_XREF(CSensaura3d_GetFullHRTFFilterPair, 3911, 7, + + XREF_CSensaura3d_GetFullHRTFFilterPair, + XRefZero) + + { 0x1E, 0xEB }, + { 0x2E, 0x6A }, + { 0x3E, 0x40 }, + { 0x5E, 0x7E }, + { 0x7E, 0x1E }, + { 0xA2, 0xD9 }, + { 0xBE, 0x09 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSoundUseFullHRTF +// ****************************************************************** +OOVPA_XREF(DirectSoundUseFullHRTF, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x0D, XREF_CSensaura3d_GetFullHRTFFilterPair ), + + { 0x05, 0x85 }, + { 0x06, 0xC0 }, + { 0x11, 0x74 }, + { 0x12, 0x0B }, + { 0x13, 0x68 }, + { 0x18, 0xFF }, + { 0x1E, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CSensaura3d_GetLiteHRTFFilterPair +// ****************************************************************** +OOVPA_XREF(CSensaura3d_GetLiteHRTFFilterPair, 3911, 10, + + XREF_CSensaura3d_GetLiteHRTFFilterPair, + XRefZero) + + //CSensaura3d_GetLightHRTFFilterPair+0x00 : push ebp + { 0x00, 0x55 }, + + //CSensaura3d_GetLightHRTFFilterPair+0x14 : push ecx + { 0x15, 0x51 }, + + //CSensaura3d_GetLightHRTFFilterPair+0x22 : push 3 + { 0x1F, 0x6A }, + { 0x20, 0x03 }, + + //CSensaura3d_GetLightHRTFFilterPair+0x22 : idiv eax, ecx + { 0x22, 0xF7 }, + { 0x23, 0xF9 }, + + //CSensaura3d_GetLightHRTFFilterPair+0x24 : cmp dword ptr [ebp+10h], 0 + { 0x24, 0x83 }, + { 0x25, 0x7D }, + { 0x26, 0x10 }, + { 0x27, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSoundUseLightHRTF +// ****************************************************************** +OOVPA_XREF(DirectSoundUseLightHRTF, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x0D, XREF_CSensaura3d_GetLiteHRTFFilterPair ), + + { 0x05, 0x85 }, + { 0x06, 0xC0 }, + { 0x11, 0x74 }, + { 0x12, 0x0B }, + { 0x13, 0x68 }, + { 0x18, 0xFF }, + { 0x1E, 0xC3 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 90d428100..95ddde0b1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -133,13 +133,13 @@ OOVPA_XREF(DirectSoundDoWork, 3936, 9, // DirectSoundDoWork+0x27 : retn { 0x27, 0xC3 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound::CreateSoundStream // ****************************************************************** OOVPA_XREF(CDirectSound_CreateSoundStream, 3936, 16, - XREF_DSCREATESOUNDSTREAM, + XREF_CDirectSound_CreateSoundStream, XRefZero) // CDirectSound_CreateSoundStream+0x2D : and esi, 0x7FF8FFF2 @@ -166,7 +166,8 @@ OOVPA_XREF(CDirectSound_CreateSoundStream, 3936, 16, { 0x72, 0xC2 }, { 0x73, 0x10 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_CreateSoundStream // ****************************************************************** @@ -178,7 +179,7 @@ OOVPA_XREF(IDirectSound_CreateSoundStream, 3936, 10, // TODO: tidy up the xref names (are probably not accurate) // IDirectSound_CreateSoundStream+0x1D : call [CDirectSound::CreateSoundStream] - XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDSTREAM ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundStream ), // IDirectSound_CreateSoundStream+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, @@ -195,13 +196,14 @@ OOVPA_XREF(IDirectSound_CreateSoundStream, 3936, 10, { 0x21, 0xC2 }, { 0x22, 0x10 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound::CreateSoundBuffer // ****************************************************************** OOVPA_XREF(CDirectSound_CreateSoundBuffer, 3936, 16, - XREF_DSCREATESOUNDBUFFER, + XREF_CDirectSound_CreateSoundBuffer, XRefZero) /*TODO: Need verification offset 0x00 is push ebp or different op code. @@ -228,7 +230,7 @@ OOVPA_XREF(CDirectSound_CreateSoundBuffer, 3936, 16, // CDirectSound_CreateSoundBuffer+0x3C : js +0x21 { 0x3C, 0x78 }, { 0x3D, 0x21 }, - +#endif // CDirectSound_CreateSoundBuffer+0x7D : retn 0x10 { 0x7D, 0xC2 }, { 0x7E, 0x10 }, @@ -245,7 +247,7 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3936, 10, // TODO: tidy up the xref names (are probably not accurate) // IDirectSound_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDBUFFER ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundBuffer ), // IDirectSound_CreateSoundBuffer+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, @@ -2142,7 +2144,7 @@ OOVPA_XREF(XAudioCalculatePitch, 3936, 11, XREF_DSSTREAMSETFREQUENCY1B, XRefZero) - +#if 0 // Moved to 3911 // XAudioCalculatePitch+0x08 : cmp esi, 0xBB80 { 0x08, 0x81 }, { 0x09, 0xFE }, @@ -2170,7 +2172,7 @@ OOVPA_XREF(CDirectSoundVoice_SetFrequency, 3936, 9, XREF_DSSTREAMSETFREQUENCY1A, XRefOne) - +#endif // CDirectSoundVoice_SetFrequency+0x1F : call [XAudioCalculatePitch] XREF_ENTRY( 0x20, XREF_DSSTREAMSETFREQUENCY1B ), @@ -3154,7 +3156,7 @@ OOVPA_XREF(CSensaura3d_GetFullHRTFFilterPair, 3925, 7, XREF_CSensaura3d_GetFullHRTFFilterPair, XRefZero) - +#if 0 // Moved to 3911 { 0x1E, 0xEB }, { 0x2E, 0x6A }, { 0x3E, 0x40 }, @@ -3171,7 +3173,7 @@ OOVPA_XREF(CSensaura3d_GetFullHRTFFilterPair, 3936, 9, XREF_CSensaura3d_GetFullHRTFFilterPair, XRefZero) - +#endif { 0x05, 0x0C }, { 0x0E, 0xD9 }, { 0x20, 0xEB }, @@ -3190,7 +3192,7 @@ OOVPA_XREF(DirectSoundUseFullHRTF, 3925, 8, XRefNoSaveIndex, XRefOne) - +#if 0 // Moved to 3911 XREF_ENTRY( 0x0D, XREF_CSensaura3d_GetFullHRTFFilterPair ), { 0x05, 0x85 }, @@ -3209,7 +3211,7 @@ OOVPA_XREF(CDirectSound_GetCaps, 3936, 8, XREF_CDirectSound_GetCaps, XRefZero) - +#endif { 0x08, 0x8B }, { 0x12, 0x8D }, { 0x1C, 0x0C }, @@ -3399,6 +3401,7 @@ OOVPA_NO_XREF(IDirectSound_AddRef, 3936, 12) { 0x12, 0x04 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * DirectSoundGetSampleTime // ****************************************************************** @@ -3411,6 +3414,7 @@ OOVPA_NO_XREF(DirectSoundGetSampleTime, 3936, 6) { 0x04, 0xFE }, { 0x05, 0xC3 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_AddRef @@ -3964,9 +3968,9 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxAPU_ServiceDeferredCommandsLow, 3936, XREF), REGISTER_OOVPA(CDirectSound_DoWork, 3936, XREF), REGISTER_OOVPA(DirectSoundDoWork, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_CreateSoundStream, 3936, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 3936, XREF), + REGISTER_OOVPA(CDirectSound_CreateSoundStream, 3911, XREF), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), + REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 3911, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetPitch, 3936, XREF), @@ -4033,7 +4037,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundStream_SetPosition, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), - REGISTER_OOVPA(XAudioCalculatePitch, 3936, XREF), + REGISTER_OOVPA(XAudioCalculatePitch, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 3936, PATCH), @@ -4069,9 +4073,9 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxAPU_Set3dDopplerFactor, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3936, PATCH), - REGISTER_OOVPA(CSensaura3d_GetFullHRTFFilterPair, 3925, XREF), + REGISTER_OOVPA(CSensaura3d_GetFullHRTFFilterPair, 3911, XREF), REGISTER_OOVPA(CSensaura3d_GetFullHRTFFilterPair, 3936, XREF), - REGISTER_OOVPA(DirectSoundUseFullHRTF, 3925, PATCH), + REGISTER_OOVPA(DirectSoundUseFullHRTF, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 3936, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 3936, XREF), @@ -4080,7 +4084,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), - REGISTER_OOVPA(DirectSoundGetSampleTime, 3936, PATCH), + REGISTER_OOVPA(DirectSoundGetSampleTime, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 26c0c0c02..55e1ea8ed 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -65,7 +65,7 @@ OOVPA_XREF(DirectSoundCreateBuffer, 4039, 11, XRefOne) // DirectSoundCreateBuffer+0x2B : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY(0x2C, XREF_DSCREATESOUNDBUFFER), + XREF_ENTRY(0x2C, XREF_CDirectSound_CreateSoundBuffer), // DirectSoundCreateBuffer+0x04 : and [ebp-0x04], 0 { 0x04, 0x83 }, @@ -91,7 +91,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_CreateSoundBuffer, 4039, 15, - XREF_DSCREATESOUNDBUFFER, + XREF_CDirectSound_CreateSoundBuffer, XRefZero) // CDirectSound_CreateSoundBuffer+0x00 : push ebp { 0x00, 0x55 }, @@ -1382,7 +1382,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_CreateSoundStream, 4039, 15, - XREF_DSCREATESOUNDSTREAM, + XREF_CDirectSound_CreateSoundStream, XRefZero) // CDirectSound_CreateSoundStream+0x25 : mov eax, 0x80004005 diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 12bd47b21..6ca67cc0a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -74,7 +74,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_CreateSoundBuffer, 4134, 14, - XREF_DSCREATESOUNDBUFFER, + XREF_CDirectSound_CreateSoundBuffer, XRefZero) // CDirectSound_CreateSoundBuffer+0x23 : mov eax, 0x80004005 @@ -438,7 +438,7 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 4134, 12, XRefOne) // IDirectSound_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDBUFFER ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundBuffer ), // IDirectSound_CreateSoundBuffer+0x04 : mov eax, [esp+8] { 0x04, 0x8B }, @@ -2539,7 +2539,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_CreateSoundStream, 4134, 14, - XREF_DSCREATESOUNDSTREAM, + XREF_CDirectSound_CreateSoundStream, XRefZero) // CDirectSound_CreateSoundStream+0x23 : mov eax, 0x80004005 @@ -2574,7 +2574,7 @@ OOVPA_XREF(DirectSoundCreateStream, 4134, 12, XRefOne) // DirectSoundCreateStream+0x2F : call [CDirectSound::CreateSoundStream] - XREF_ENTRY( 0x2F, XREF_DSCREATESOUNDSTREAM ), + XREF_ENTRY( 0x2F, XREF_CDirectSound_CreateSoundStream ), // DirectSoundCreateStream+0x04 : and [ebp-0x04], 0 { 0x04, 0x83 }, @@ -2983,7 +2983,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), @@ -3013,7 +3013,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index b041bb687..13a7ae644 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -823,7 +823,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index d6c43a1c5..de1b159eb 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -119,7 +119,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index a5279d8a4..11aaa81d7 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -224,7 +224,7 @@ OOVPA_XREF(DirectSoundCreateBuffer, 4242, 12, XRefOne) // DirectSoundCreateBuffer+0x2F : call [CDirectSound::CreateSoundBuffer] - XREF_ENTRY( 0x2F, XREF_DSCREATESOUNDBUFFER ), + XREF_ENTRY( 0x2F, XREF_CDirectSound_CreateSoundBuffer ), // DirectSoundCreateBuffer+0x04 : and [ebp-0x04], 0 { 0x04, 0x83 }, @@ -1522,7 +1522,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index b8b13b46b..70544a711 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -99,7 +99,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 7c774e655..cf2ab0cbf 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -403,7 +403,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), @@ -487,6 +487,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), @@ -518,7 +519,6 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), @@ -533,10 +533,6 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 377d19e2d..2c6bce921 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -1034,7 +1034,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 7e55b725b..22d95fbf3 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1458,7 +1458,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_CreateSoundStream, 5558, 7, - XREF_DSCREATESOUNDSTREAM, + XREF_CDirectSound_CreateSoundStream, XRefZero) { 0x11, 0xD8 }, @@ -1469,7 +1469,7 @@ OOVPA_XREF(CDirectSound_CreateSoundStream, 5558, 7, { 0x70, 0x85 }, { 0x83, 0xFF }, OOVPA_END; - +#if 0 //Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_CreateSoundStream // ****************************************************************** @@ -1478,7 +1478,7 @@ OOVPA_XREF(IDirectSound_CreateSoundStream, 5558, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x1D, XREF_DSCREATESOUNDSTREAM ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundStream ), { 0x03, 0x10 }, { 0x08, 0xFF }, @@ -1488,7 +1488,7 @@ OOVPA_XREF(IDirectSound_CreateSoundStream, 5558, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSoundStream::SetRolloffCurve // ****************************************************************** @@ -1768,7 +1768,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index a8b2cfe34..1341a20fa 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -439,7 +439,7 @@ OOVPA_XREF(DirectSoundCreateStream, 5788, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x2F, XREF_DSCREATESOUNDSTREAM ), + XREF_ENTRY( 0x2F, XREF_CDirectSound_CreateSoundStream ), { 0x09, 0x56 }, { 0x14, 0x45 }, @@ -697,7 +697,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 23e7ff6b8..8f42ebcb7 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -191,7 +191,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundStream, 5558, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 5788, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 5788, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 9048a0089..af55566c4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -56,7 +56,7 @@ // ****************************************************************** OOVPATable DSound_OOVPAV2[] = { - REGISTER_OOVPAS(XAudioCalculatePitch, XREF, 3936), + REGISTER_OOVPAS(XAudioCalculatePitch, XREF, 3911), REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Commit3dSettings, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_ServiceDeferredCommandsLow, XREF, 3936), @@ -78,7 +78,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 4361, 4831, 5788), - REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3925, 3936), + REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), + REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOrientation, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOutsideVolume, XREF, 3936), @@ -191,8 +192,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, XREF, 3911, 4039, 4134, 5344, 5558, 5788), - REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3936, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3936, 4039, 4134, 5558), + REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3911, 4039, 4134), + REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3911, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3936, 4039), REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3936, 4627, 5233, 5344, 5558), REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3936, 4361), @@ -255,6 +256,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, PATCH, 3936), + //REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911), //TODO: IDirectSoundStream_SetEG and CDirectSoundStream_SetEG has 2 seperate functions. Except has the same asm codes. REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundStream_SetPosition, PATCH, 3936), @@ -262,7 +264,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3911 /*3936, 4134, 4361*/), - REGISTER_OOVPAS(IDirectSound_CreateSoundStream, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSound_CreateSoundStream, PATCH, 3911 /*5558*/), REGISTER_OOVPAS(IDirectSound_DownloadEffectsImage, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_EnableHeadphones, PATCH, 3936, 4627, 5233, 5558), REGISTER_OOVPAS(IDirectSound_GetCaps, PATCH, 3936), @@ -284,8 +286,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4039, 4242), REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 4134, 5788), REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3936, 4134, 5558), - REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3936, 4361), - REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3925, 5558), + REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3911, 4361), + REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 5558), + REGISTER_OOVPAS(DirectSoundUseLightHRTF, PATCH, 3911), From 51d22d4bf78f4282908a3d07e859ec964bf11417 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 13 Sep 2017 10:14:16 -0500 Subject: [PATCH 054/146] Tweak _SetPitch OOVPAs - 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 --- src/CxbxKrnl/HLEDataBase.h | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 83 ++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 42 +++++----- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 35 ++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 6 +- 15 files changed, 159 insertions(+), 45 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index e1e6c490f..605df12dc 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -221,8 +221,9 @@ enum XRefDataBaseOffset XREF_DSSYNCHPLAYBACKB, XREF_DSSETI3DL2SOURCE1A, XREF_DSSETI3DL2SOURCE2A, - XREF_DSBUFFERSETPITCHA, - XREF_DSBUFFERSETPITCHB, + XREF_CMcpxVoiceClient_SetPitch, + XREF_CDirectSoundVoice_SetPitch, + XREF_CDirectSoundBuffer_SetPitch, XREF_DSBUFFERSETVOLUMEA, XREF_CMcpxVoiceClient_SetVolume, XREF_DSBUFFERSETCURRENTPOSITIONA, @@ -330,7 +331,6 @@ enum XRefDataBaseOffset XREF_CSensaura3d_GetFullHRTFFilterPair, XREF_CSensaura3d_GetLiteHRTFFilterPair, XREF_CDirectSound_GetCaps, - XREF_CDirectSoundVoice_SetPitch, XREF_DirectSoundEnterCriticalSection, XREF_CDirectSoundBuffer_SetMinDistance, XREF_CDirectSoundBuffer_SetMaxDistance, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 5c43266ac..cb79a8c32 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -1305,6 +1305,89 @@ OOVPA_NO_XREF(IDirectSound_Release, 3911, 10) { 0x14, 0x04 }, OOVPA_END; +// ****************************************************************** +// * CMcpxVoiceClient_SetPitch +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetPitch, 3911, 11, + + XREF_CMcpxVoiceClient_SetPitch, + XRefZero) + // CMcpxVoiceClient_SetPitch+0x21 : lea edi, [esi+0xB4] + { 0x21, 0x8D }, + { 0x22, 0xBE }, + { 0x23, 0xB4 }, + { 0x24, 0x00 }, + + // CMcpxVoiceClient_SetPitch+0x58 : movzx eax, word ptr [eax+2] + { 0x58, 0x0F }, + { 0x59, 0xB7 }, + { 0x5A, 0x40 }, + { 0x5B, 0x02 }, + + // CMcpxVoiceClient_SetPitch+0x5E : dec eax; sar eax, 1 + { 0x5E, 0x48 }, + { 0x5F, 0xD1 }, + { 0x60, 0xF8 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetPitch +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetPitch, 3911, 12, + + XREF_CDirectSoundVoice_SetPitch, + XRefOne) + + // CDirectSoundVoice_SetPitch+0x1B : call [CMcpxVoiceClient_SetPitch] + XREF_ENTRY( 0x1B, XREF_CMcpxVoiceClient_SetPitch ), + + // CDirectSoundVoice_SetPitch+0x07 : mov edx, [esp+0x10] + { 0x07, 0x8B }, + { 0x08, 0x54 }, + { 0x09, 0x24 }, + { 0x0A, 0x10 }, + + // CDirectSoundVoice_SetPitch+0x11 : mov ecx, [eax+0x18] + { 0x11, 0x8B }, + { 0x12, 0x48 }, + { 0x13, 0x18 }, + + // CDirectSoundVoice_SetPitch+0x23 : jz +0x0B + { 0x23, 0x74 }, + { 0x24, 0x0B }, + + // CDirectSoundVoice_SetPitch+0x34 : retn 0x08 + { 0x34, 0xC2 }, + { 0x35, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetPitch +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetPitch, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetPitch+0x15 : call [CDirectSoundVoice_SetPitch] + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetPitch ), + + // IDirectSoundBuffer_SetPitch+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetPitch+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetPitch+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + // ****************************************************************** // * XAudioCalculatePitch // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 95ddde0b1..f8d981d8f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -230,12 +230,12 @@ OOVPA_XREF(CDirectSound_CreateSoundBuffer, 3936, 16, // CDirectSound_CreateSoundBuffer+0x3C : js +0x21 { 0x3C, 0x78 }, { 0x3D, 0x21 }, -#endif + // CDirectSound_CreateSoundBuffer+0x7D : retn 0x10 { 0x7D, 0xC2 }, { 0x7E, 0x10 }, OOVPA_END; - +#endif // ****************************************************************** // * IDirectSound_CreateSoundBuffer // ****************************************************************** @@ -287,6 +287,7 @@ OOVPA_NO_XREF(IDirectSoundBuffer_Release, 3936, 10) { 0x12, 0x08 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_SetPitch // ****************************************************************** @@ -311,7 +312,8 @@ OOVPA_XREF(CMcpxVoiceClient_SetPitch, 3936, 11, { 0x5F, 0xD1 }, { 0x60, 0xF8 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetPitch // ****************************************************************** @@ -342,7 +344,8 @@ OOVPA_XREF(CDirectSoundVoice_SetPitch, 3936, 12, { 0x34, 0xC2 }, { 0x35, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetPitch // ****************************************************************** @@ -369,6 +372,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPitch, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CMcpxBuffer::GetStatus @@ -2136,7 +2140,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPosition, 3936, 9, { 0x33, 0x14 }, { 0x34, 0x00 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * XAudioCalculatePitch // ****************************************************************** @@ -2144,7 +2148,7 @@ OOVPA_XREF(XAudioCalculatePitch, 3936, 11, XREF_DSSTREAMSETFREQUENCY1B, XRefZero) -#if 0 // Moved to 3911 + // XAudioCalculatePitch+0x08 : cmp esi, 0xBB80 { 0x08, 0x81 }, { 0x09, 0xFE }, @@ -2164,7 +2168,7 @@ OOVPA_XREF(XAudioCalculatePitch, 3936, 11, { 0x4E, 0xC2 }, { 0x4F, 0x04 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundVoice_SetFrequency // ****************************************************************** @@ -2172,7 +2176,7 @@ OOVPA_XREF(CDirectSoundVoice_SetFrequency, 3936, 9, XREF_DSSTREAMSETFREQUENCY1A, XRefOne) -#endif + // CDirectSoundVoice_SetFrequency+0x1F : call [XAudioCalculatePitch] XREF_ENTRY( 0x20, XREF_DSSTREAMSETFREQUENCY1B ), @@ -3148,7 +3152,7 @@ OOVPA_XREF(IDirectSound_SetDopplerFactor, 3936, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CSensaura3d::GetFullHRTFFilterPair // ****************************************************************** @@ -3156,7 +3160,7 @@ OOVPA_XREF(CSensaura3d_GetFullHRTFFilterPair, 3925, 7, XREF_CSensaura3d_GetFullHRTFFilterPair, XRefZero) -#if 0 // Moved to 3911 + { 0x1E, 0xEB }, { 0x2E, 0x6A }, { 0x3E, 0x40 }, @@ -3165,7 +3169,7 @@ OOVPA_XREF(CSensaura3d_GetFullHRTFFilterPair, 3925, 7, { 0xA2, 0xD9 }, { 0xBE, 0x09 }, OOVPA_END; - +#endif // ****************************************************************** // * CSensaura3d::GetFullHRTFFilterPair // ****************************************************************** @@ -3173,7 +3177,7 @@ OOVPA_XREF(CSensaura3d_GetFullHRTFFilterPair, 3936, 9, XREF_CSensaura3d_GetFullHRTFFilterPair, XRefZero) -#endif + { 0x05, 0x0C }, { 0x0E, 0xD9 }, { 0x20, 0xEB }, @@ -3184,7 +3188,7 @@ OOVPA_XREF(CSensaura3d_GetFullHRTFFilterPair, 3936, 9, { 0xAC, 0xD8 }, { 0xAD, 0x05 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * DirectSoundUseFullHRTF // ****************************************************************** @@ -3192,7 +3196,7 @@ OOVPA_XREF(DirectSoundUseFullHRTF, 3925, 8, XRefNoSaveIndex, XRefOne) -#if 0 // Moved to 3911 + XREF_ENTRY( 0x0D, XREF_CSensaura3d_GetFullHRTFFilterPair ), { 0x05, 0x85 }, @@ -3203,7 +3207,7 @@ OOVPA_XREF(DirectSoundUseFullHRTF, 3925, 8, { 0x18, 0xFF }, { 0x1E, 0xC3 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSound::GetCaps // ****************************************************************** @@ -3211,7 +3215,7 @@ OOVPA_XREF(CDirectSound_GetCaps, 3936, 8, XREF_CDirectSound_GetCaps, XRefZero) -#endif + { 0x08, 0x8B }, { 0x12, 0x8D }, { 0x1C, 0x0C }, @@ -3973,9 +3977,9 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 3911, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetPitch, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetPitch, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 3911, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 55e1ea8ed..46b710098 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -508,7 +508,7 @@ OOVPA_END; // Same as 4134 OOVPA_XREF(CDirectSoundVoice_SetPitch, 4039, 6, - XREF_DSBUFFERSETPITCHB, + XREF_CDirectSoundVoice_SetPitch, XRefZero) { 0x02, 0x24 }, @@ -524,11 +524,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4039, 13, - XREF_DSBUFFERSETPITCHA, + XREF_CDirectSoundBuffer_SetPitch, XRefOne) - // CDirectSoundBuffer_SetPitch+0x31 : call [CDirectSoundVoice::SetFrequency] - XREF_ENTRY( 0x31, XREF_DSBUFFERSETPITCHB ), // Was 4134 Offset -0x01h + // CDirectSoundBuffer_SetPitch+0x31 : call [CDirectSoundVoice::SetPitch] + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetPitch ), // Was 4134 Offset -0x01h // CDirectSoundBuffer_SetPitch+0x00 : push esi { 0x00, 0x56 }, @@ -551,6 +551,33 @@ OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4039, 13, { 0x4B, 0x08 }, OOVPA_END; +// ****************************************************************** +// * IDirectSoundBuffer_SetPitch +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetPitch, 4039, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetPitch+0x15 : call [CDirectSoundBuffer_SetPitch] + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetPitch ), + + // IDirectSoundBuffer_SetPitch+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetPitch+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetPitch+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + // ****************************************************************** // * CDirectSoundVoice::SetFrequency // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 6ca67cc0a..31a3cb0ef 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2445,10 +2445,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetPitch, 4134, 8, - XREF_DSBUFFERSETPITCHA, + XREF_CDirectSoundBuffer_SetPitch, XRefOne) - XREF_ENTRY( 0x32, XREF_DSBUFFERSETPITCHB ), + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetPitch ), { 0x0C, 0x00 }, { 0x12, 0x85 }, @@ -2467,7 +2467,7 @@ OOVPA_XREF(CDirectSoundStream_SetPitch, 4134, 12, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, XREF_DSBUFFERSETPITCHB ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetPitch ), { 0x00, 0x56 }, { 0x0C, 0x00 }, @@ -3101,7 +3101,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 13a7ae644..30b477d82 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -872,7 +872,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index de1b159eb..1b8ea4cdf 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -165,7 +165,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 11aaa81d7..b443cfc62 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1643,7 +1643,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 70544a711..f88752e36 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -227,7 +227,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index cf2ab0cbf..ab7e7fa4a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -486,7 +486,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 2c6bce921..f9e4c7a55 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -992,7 +992,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 22d95fbf3..6137b083b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1792,7 +1792,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 1341a20fa..9d3367117 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -649,7 +649,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 8f42ebcb7..ed89740a5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -63,7 +63,7 @@ OOVPA_XREF(CDirectSound_SetRolloffFactor, 5849, 20, { 0x3C, 0x10 }, { 0x5C, 0xC2 }, OOVPA_END; - +#if 0 // Duplicate OOVPA base on 4134 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetPitch // ****************************************************************** @@ -72,7 +72,7 @@ OOVPA_XREF(CDirectSoundStream_SetPitch, 5849, 12, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, XREF_DSBUFFERSETPITCHB ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetPitch ), { 0x00, 0x56 }, { 0x0C, 0x00 }, @@ -86,7 +86,7 @@ OOVPA_XREF(CDirectSoundStream_SetPitch, 5849, 12, { 0x50, 0x08 }, { 0x51, 0x00 }, OOVPA_END; - +#endif // ****************************************************************** // * DSound_5849 // ****************************************************************** @@ -170,7 +170,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 3936, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 5788, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index af55566c4..ef79946b5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -94,7 +94,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 3911, 4039, 4242), REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_SetPitch, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_SetPitch, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4039, 4134), @@ -118,7 +118,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4039, 4134, 5233, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 3936, 4039), + REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 3936, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment) @@ -243,7 +243,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3936, 4134, 5233), REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3936, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 3936, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_SetPosition, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627), From c858f4ab2d57015230f2ee807a298e48fb149821 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 13 Sep 2017 12:21:11 -0500 Subject: [PATCH 055/146] Fix CMcpxBuffer_GetCurrentPosition OOVPA Changed OOVPA to support little bit more generic between 3911 and 3936. This change fixed Simpsons - Road Rage title. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index cb79a8c32..e46c56763 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -644,15 +644,24 @@ OOVPA_END; // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition // ****************************************************************** -OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 3911, 11, +OOVPA_XREF(CMcpxBuffer_GetCurrentPosition, 3911, 15, XREF_CMcpxBuffer_GetCurrentPosition, XRefZero) - // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+0x18] + // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+XX] { 0x12, 0x8B }, { 0x13, 0x46 }, - { 0x14, 0x18 }, + //{ 0x14, 0x18 }, //3911 has 0x18 while 3936 has 0x08 + + // CMcpxBuffer_GetCurrentPosition+0x15 : and eax, 3 + { 0x15, 0x83 }, + { 0x16, 0xE0 }, + { 0x17, 0x03 }, + + // CMcpxBuffer_GetCurrentPosition+0x18 : cmp al, 3 + { 0x18, 0x3C }, + { 0x19, 0x03 }, // CMcpxBuffer_GetCurrentPosition+0x1A : jnz +0x79 { 0x1A, 0x75 }, From 0b97e4c783300d197c23078018e6a75737c4aadb Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 13 Sep 2017 17:50:20 -0500 Subject: [PATCH 056/146] Fix XRef Issues with PATCH flag 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. --- src/CxbxKrnl/HLEIntercept.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 51c270dc5..f5a43e56a 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -963,7 +963,7 @@ void EmuRegisterSymbol(OOVPATable *OopvaTable, xbaddr pFunc) output << "HLE: 0x" << std::setfill('0') << std::setw(8) << std::hex << pFunc << " -> " << OopvaTable->szFuncName << " " << std::dec << OopvaTable->Version; - bool IsXRef = (OopvaTable->Flags & Flag_XRef) > 0; + bool IsXRef = OopvaTable->Oovpa->XRefSaveIndex != XRefNoSaveIndex; if (IsXRef) { output << "\t(XREF)"; From 8ee718d6694eb3b874dcbcfc8dfd64719d96c2c2 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 13 Sep 2017 17:59:16 -0500 Subject: [PATCH 057/146] More OOVPAs lowered to 3911. - 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) --- src/CxbxKrnl/HLEDataBase.h | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 448 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 86 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 34 +- 5 files changed, 515 insertions(+), 63 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 605df12dc..d83227093 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -211,8 +211,8 @@ enum XRefDataBaseOffset XREF_DSSETPOSITIONB, XREF_DSSETVELOCITYA, XREF_DSSETVELOCITYB, - XREF_DSDOWORKA, - XREF_DSDOWORKB, + XREF_CDirectSound_DoWork, + XREF_CMcpxAPU_ServiceDeferredCommandsLow, XREF_DSSETALLPARAMETERSA, XREF_DSSETALLPARAMETERSB, XREF_DSSETHEADROOMA, @@ -257,7 +257,7 @@ enum XRefDataBaseOffset XREF_DSSTREAMSETPOSITION1B, XREF_DSSTREAMSETPOSITION1C, XREF_DSSTREAMSETFREQUENCY1A, - XREF_DSSTREAMSETFREQUENCY1B, + XREF_XAudioCalculatePitch, XREF_DSSTREAMSETROLLOFFFACTOR1A, XREF_DSSTREAMSETROLLOFFFACTOR1B, XREF_GET2DSURFACEDESCB, @@ -265,6 +265,8 @@ enum XRefDataBaseOffset XREF_CDirectSound_CommitDeferredSettings, XREF_CMcpxAPU_Commit3dSettings, XREF_CDirectSound_SetOrientation, + XREF_IDirectSound_CreateSoundBuffer, + XREF_IDirectSound_CreateSoundStream, // s+ // DSOUND XREF_DSVOICESETMAXDISTANCE, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index e46c56763..009563b26 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -63,6 +63,107 @@ OOVPA_XREF(DirectSoundEnterCriticalSection, 3911, 7, { 0x1B, 0xC0 }, OOVPA_END; +// ****************************************************************** +// * DirectSoundCreate +// ****************************************************************** +OOVPA_NO_XREF(DirectSoundCreate, 3911, 9) + + // DirectSoundCreate+0x23 : add eax, 8 + { 0x23, 0x83 }, + { 0x24, 0xC0 }, + { 0x25, 0x08 }, + + // DirectSoundCreate+0x34 : push 0x1C + { 0x34, 0x6A }, + { 0x35, 0x1C }, + + // DirectSoundCreate+0x75 : sbb eax, eax + { 0x75, 0x1B }, + { 0x76, 0xC0 }, + + // DirectSoundCreate+0x9B : retn 0x0C + { 0x9B, 0xC2 }, + { 0x9C, 0x0C }, +OOVPA_END; +// ****************************************************************** +// * CMcpxAPU_ServiceDeferredCommandsLow +// ****************************************************************** +OOVPA_XREF(CMcpxAPU_ServiceDeferredCommandsLow, 3911, 12, + + XREF_CMcpxAPU_ServiceDeferredCommandsLow, + XRefZero) + + // CMcpxAPU_ServiceDeferredCommandsLow+0x06 : lea edi, [ebx+0x664] + { 0x06, 0x8D }, + { 0x07, 0xBB }, + { 0x08, 0x64 }, + { 0x09, 0x06 }, + { 0x0A, 0x00 }, + { 0x0B, 0x00 }, + + // CMcpxAPU_ServiceDeferredCommandsLow+0x20 : mov eax, [ecx] + { 0x20, 0x8B }, + { 0x21, 0x01 }, + + // CMcpxAPU_ServiceDeferredCommandsLow+0x33 : add edi, 4; dec ebp + { 0x33, 0x83 }, + { 0x34, 0xC7 }, + { 0x35, 0x04 }, + { 0x36, 0x4D }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_DoWork +// ****************************************************************** +OOVPA_XREF(CDirectSound_DoWork, 3911, 9, + + XREF_CDirectSound_DoWork, + XRefOne) + + // CDirectSound_DoWork+0x0F : call [CMcpxAPU_ServiceDeferredCommandsLow] + XREF_ENTRY( 0x10, XREF_CMcpxAPU_ServiceDeferredCommandsLow ), + + // CDirectSound_DoWork+0x08 : mov eax, [esp+0x08] + { 0x08, 0x8B }, + { 0x09, 0x44 }, + { 0x0A, 0x24 }, + { 0x0B, 0x08 }, + + // CDirectSound_DoWork+0x17 : jz +0x0B + { 0x17, 0x74 }, + { 0x18, 0x0B }, + + // CDirectSound_DoWork+0x24 : retn 0x04 + { 0x24, 0xC2 }, + { 0x25, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSoundDoWork +// ****************************************************************** +OOVPA_XREF(DirectSoundDoWork, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // DirectSoundDoWork+0x12 : call [CDirectSound_DoWork] + XREF_ENTRY( 0x13, XREF_CDirectSound_DoWork ), + + // DirectSoundDoWork+0x0D : test eax, eax;jz +0x06 + { 0x0D, 0x85 }, + { 0x0E, 0xC0 }, + { 0x0F, 0x74 }, + { 0x10, 0x06 }, + + // DirectSoundDoWork+0x19 : pop esi; jz +0x0B + { 0x19, 0x5E }, + { 0x1A, 0x74 }, + { 0x1B, 0x0B }, + + // DirectSoundDoWork+0x27 : retn + { 0x27, 0xC3 }, +OOVPA_END; + // ****************************************************************** // * CDirectSound::CreateSoundBuffer // ****************************************************************** @@ -105,10 +206,10 @@ OOVPA_END; //Generic OOVPA as of 3911 and newer. OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3911, 12, - XRefNoSaveIndex, + XREF_IDirectSound_CreateSoundBuffer, XRefOne) - // IDirectSound_CreateSoundBuffer+0x1D : call [CDirectSound::CreateSoundBuffer] + // IDirectSound_CreateSoundBuffer+0x1C : call [CDirectSound::CreateSoundBuffer] XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundBuffer ), // IDirectSound_CreateSoundBuffer+0x04 : mov eax, [esp+8] @@ -131,6 +232,36 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3911, 12, { 0x22, 0x10 }, OOVPA_END; +// ****************************************************************** +// * DirectSoundCreateBuffer +// ****************************************************************** +OOVPA_XREF(DirectSoundCreateBuffer, 3911, 12, + + XRefNoSaveIndex, + XRefOne) + + // DirectSoundCreateBuffer+0x27 : call [IDirectSound::CreateSoundBuffer] + XREF_ENTRY(0x28, XREF_IDirectSound_CreateSoundBuffer), + + // DirectSoundCreateBuffer+0x04 : and [ebp-0x04], 0 + { 0x04, 0x83 }, + { 0x05, 0x65 }, + { 0x06, 0xFC }, + + { 0x20, 0x0C }, + { 0x23, 0x08 }, + { 0x26, 0xFC }, + + // DirectSoundCreateBuffer+0x2E : lea eax, [ebp-0x04] + { 0x2E, 0x8D }, + { 0x2F, 0x45 }, + { 0x30, 0xFC }, + + // DirectSoundCreateBuffer+0x3B : retn 0x08 + { 0x3B, 0xC2 }, + { 0x3C, 0x08 }, +OOVPA_END; + // ****************************************************************** // * CDirectSound::CreateSoundStream // ****************************************************************** @@ -170,10 +301,10 @@ OOVPA_END; //Generic OOVPA as of 3911 and newer. OOVPA_XREF(IDirectSound_CreateSoundStream, 3911, 10, - XRefNoSaveIndex, + XREF_IDirectSound_CreateSoundStream, XRefOne) - // IDirectSound_CreateSoundStream+0x1D : call [CDirectSound::CreateSoundStream] + // IDirectSound_CreateSoundStream+0x1C : call [CDirectSound::CreateSoundStream] XREF_ENTRY( 0x1D, XREF_CDirectSound_CreateSoundStream ), // IDirectSound_CreateSoundStream+0x04 : mov eax, [esp+0x08] @@ -192,6 +323,36 @@ OOVPA_XREF(IDirectSound_CreateSoundStream, 3911, 10, { 0x22, 0x10 }, OOVPA_END; +// ****************************************************************** +// * DirectSoundCreateStream +// ****************************************************************** +OOVPA_XREF(DirectSoundCreateStream, 3911, 12, + + XRefNoSaveIndex, + XRefOne) + + // DirectSoundCreateStream+0x27 : call [IDirectSound::CreateSoundStream] + XREF_ENTRY(0x28, XREF_IDirectSound_CreateSoundStream ), + + // DirectSoundCreateStream+0x04 : and [ebp-0x04], 0 + { 0x04, 0x83 }, + { 0x05, 0x65 }, + { 0x06, 0xFC }, + + { 0x20, 0x0C }, + { 0x23, 0x08 }, + { 0x26, 0xFC }, + + // DirectSoundCreateStream+0x2E : lea eax, [ebp-0x04] + { 0x2E, 0x8D }, + { 0x2F, 0x45 }, + { 0x30, 0xFC }, + + // DirectSoundCreateStream+0x3B : retn 0x08 + { 0x3B, 0xC2 }, + { 0x3C, 0x08 }, +OOVPA_END; + // ****************************************************************** // * IDirectSoundBuffer_AddRef // ****************************************************************** @@ -1402,7 +1563,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XAudioCalculatePitch, 3911, 11, - XREF_DSSTREAMSETFREQUENCY1B, + XREF_XAudioCalculatePitch, XRefZero) // XAudioCalculatePitch+0x08 : cmp esi, 0xBB80 @@ -1521,3 +1682,280 @@ OOVPA_XREF(DirectSoundUseLightHRTF, 3911, 8, { 0x18, 0xFF }, { 0x1E, 0xC3 }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetFrequency +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetFrequency, 3911, 9, + + XREF_DSSTREAMSETFREQUENCY1A, + XRefOne) + + // CDirectSoundVoice_SetFrequency+0x1F : call [XAudioCalculatePitch] + XREF_ENTRY( 0x20, XREF_XAudioCalculatePitch ), + + // CDirectSoundVoice_SetFrequency+0x15 : mov eax, [esi+0x18] + { 0x15, 0x8B }, + { 0x16, 0x46 }, + { 0x17, 0x18 }, + + // CDirectSoundVoice_SetFrequency+0x18 : mov eax, [eax+0x10] + { 0x18, 0x8B }, + { 0x19, 0x40 }, + { 0x1A, 0x10 }, + + // CDirectSoundVoice_SetFrequency+0x40 : retn 0x08 + { 0x40, 0xC2 }, + { 0x41, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetFrequency +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetFrequency+0x14 : call [CDirectSoundVoice_SetFrequency] + XREF_ENTRY( 0x15, XREF_DSSTREAMSETFREQUENCY1A ), + + // IDirectSoundBuffer_SetFrequency+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetFrequency+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, + + // IDirectSoundBuffer_SetFrequency+0x11 : and ecx, eax + { 0x11, 0x23 }, + { 0x12, 0xC8 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetMixBins +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetMixBins, 3911, 15, + + XREF_DSSETMIXBINSB, + XRefZero) + + // CMcpxVoiceClient_SetMixBins+0x1D : lea eax, [esi+0x84] + { 0x1D, 0x86 }, + { 0x1E, 0x84 }, + { 0x21, 0x00 }, + + // CMcpxVoiceClient_SetMixBins+0x2E : mov eax, [esi+0xE0] + { 0x2E, 0x8B }, + { 0x30, 0xE0 }, + { 0x31, 0x00 }, + + // CMcpxVoiceClient_SetMixBins+0x41 : jz +0x7F + { 0x41, 0x74 }, + { 0x42, 0x7F }, + + // CMcpxVoiceClient_SetMixBins+0x5A : mov ds:[0xFE8202F8], eax + { 0x5A, 0xA3 }, + { 0x5B, 0xF8 }, + { 0x5C, 0x02 }, + { 0x5D, 0x82 }, + + // CMcpxVoiceClient_SetMixBins+0xBF : jb +0x8C + { 0xBF, 0x72 }, + { 0xC0, 0x8C }, + + // CMcpxVoiceClient_SetMixBins+0xD6 : retn + { 0xD6, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetMixBins +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMixBins, 3911, 9, + + XREF_DSSETMIXBINSA, + XRefOne) + + // CDirectSoundVoice_SetMixBins+0x28 : call [CMcpxVoiceClient::SetMixBins] + XREF_ENTRY( 0x29, XREF_DSSETMIXBINSB ), + + // CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x18] + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x13, 0x18 }, + + // CDirectSoundVoice_SetMixBins+0x25 : mov ecx, [esi+0x14] + { 0x25, 0x8B }, + { 0x26, 0x4E }, + { 0x27, 0x14 }, + + // CDirectSoundVoice_SetMixBins+0x55 : retn 0x08 + { 0x55, 0xC2 }, + { 0x56, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMixBins +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetMixBins+0x14 : call [CDirectSoundVoice::SetMixBins] + XREF_ENTRY( 0x15, XREF_DSSETMIXBINSA ), + + // IDirectSoundBuffer_SetMixBins+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetMixBins+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, + + // IDirectSoundBuffer_SetMixBins+0x11 : and ecx, eax + { 0x11, 0x23 }, + { 0x12, 0xC8 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetOutputBuffer +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetOutputBuffer, 3911, 7, + + XREF_CDirectSoundVoice_SetOutputBuffer, + XRefZero) + + { 0x0B, 0xF7 }, + { 0x19, 0x8B }, + { 0x25, 0x3B }, + { 0x30, 0xE8 }, + { 0x35, 0x8B }, + { 0x46, 0x74 }, + { 0x51, 0xD8 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_SetOutputBuffer +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 3911, 13, + + XREF_CDirectSoundBuffer_SetOutputBuffer, + XRefOne) + + // CDirectSoundBuffer_SetOutputBuffer+0x11 : call [XREF_CDirectSoundVoice_SetOutputBuffer] + XREF_ENTRY( 0x12, XREF_CDirectSoundVoice_SetOutputBuffer), + + // CDirectSoundBuffer_SetOutputBuffer+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetOutputBuffer+0x07 : push [esp+0x10] + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x09, 0x24 }, + { 0x0A, 0x10 }, + + // CDirectSoundBuffer_SetOutputBuffer+0x0D : push [esp+0x10] + { 0x0D, 0xFF }, + { 0x0E, 0x74 }, + { 0x0F, 0x24 }, + { 0x10, 0x10 }, + + // CDirectSoundBuffer_SetOutputBuffer+0x29 : pop edi + { 0x29, 0x5F }, + + // CDirectSoundBuffer_SetOutputBuffer+0x2B : retn 0x08 + { 0x2B, 0xC2 }, + { 0x2C, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_SetBufferData +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 3911, 9, + + XREF_DSSETBUFFERDATA, + XRefZero) + + // CDirectSoundBuffer_SetBufferData+0x22 : cmp ecx, [eax+0x4C] + { 0x22, 0x3B }, + { 0x23, 0x48 }, + { 0x24, 0x4C }, + + // CDirectSoundBuffer_SetBufferData+0x38 : mov ecx, [esi+0x1C] + { 0x38, 0x8B }, + { 0x39, 0x4E }, + { 0x3A, 0x1C }, + + // CDirectSoundBuffer_SetBufferData+0x71 : leave; retn 0x0C + { 0x71, 0xC9 }, + { 0x72, 0xC2 }, + { 0x73, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetBufferData +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetBufferData, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetBufferData+0x18 : call [CDirectSoundBuffer_SetBufferData] + XREF_ENTRY( 0x19, XREF_DSSETBUFFERDATA ), + + // IDirectSoundBuffer_SetBufferData+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetBufferData+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, + + // IDirectSoundBuffer_SetBufferData+0x1D : retn 0x0C + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetNotificationPositions +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetNotificationPositions, 3911, 7, + + XREF_CDirectSoundBuffer_SetNotificationPositions, + XRefZero) + + { 0x09, 0x24 }, + { 0x14, 0x24 }, + { 0x1F, 0x74 }, + { 0x2A, 0x50 }, + { 0x35, 0xF6 }, + { 0x40, 0x07 }, + { 0x4D, 0x5F }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetNotificationPositions +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetNotificationPositions, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetNotificationPositions ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index f8d981d8f..ac66a8025 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -31,7 +31,7 @@ // * All rights reserved // * // ****************************************************************** - +#if 0 // Moved to 3911 // ****************************************************************** // * DirectSoundCreate // ****************************************************************** @@ -54,13 +54,14 @@ OOVPA_NO_XREF(DirectSoundCreate, 3936, 9) { 0x9B, 0xC2 }, { 0x9C, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU_ServiceDeferredCommandsLow // ****************************************************************** OOVPA_XREF(CMcpxAPU_ServiceDeferredCommandsLow, 3936, 12, - XREF_DSDOWORKB, + XREF_CMcpxAPU_ServiceDeferredCommandsLow, XRefZero) // CMcpxAPU_ServiceDeferredCommandsLow+0x06 : lea edi, [ebx+0x664] @@ -81,17 +82,18 @@ OOVPA_XREF(CMcpxAPU_ServiceDeferredCommandsLow, 3936, 12, { 0x35, 0x04 }, { 0x36, 0x4D }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound_DoWork // ****************************************************************** OOVPA_XREF(CDirectSound_DoWork, 3936, 9, - XREF_DSDOWORKA, + XREF_CDirectSound_DoWork, XRefOne) // CDirectSound_DoWork+0x10 : call [CMcpxAPU_ServiceDeferredCommandsLow] - XREF_ENTRY( 0x10, XREF_DSDOWORKB ), + XREF_ENTRY( 0x10, XREF_CMcpxAPU_ServiceDeferredCommandsLow ), // CDirectSound_DoWork+0x08 : mov eax, [esp+0x08] { 0x08, 0x8B }, @@ -107,7 +109,8 @@ OOVPA_XREF(CDirectSound_DoWork, 3936, 9, { 0x24, 0xC2 }, { 0x25, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * DirectSoundDoWork // ****************************************************************** @@ -116,8 +119,8 @@ OOVPA_XREF(DirectSoundDoWork, 3936, 9, XRefNoSaveIndex, XRefOne) - // DirectSoundDoWork+0x13 : call [XREF_DSDOWORKA] - XREF_ENTRY( 0x13, XREF_DSDOWORKA ), + // DirectSoundDoWork+0x13 : call [CDirectSound_DoWork] + XREF_ENTRY( 0x13, XREF_CDirectSound_DoWork ), // DirectSoundDoWork+0x0D : test eax, eax;jz +0x06 { 0x0D, 0x85 }, @@ -133,6 +136,7 @@ OOVPA_XREF(DirectSoundDoWork, 3936, 9, // DirectSoundDoWork+0x27 : retn { 0x27, 0xC3 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound::CreateSoundStream @@ -236,6 +240,7 @@ OOVPA_XREF(CDirectSound_CreateSoundBuffer, 3936, 16, { 0x7E, 0x10 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_CreateSoundBuffer // ****************************************************************** @@ -264,6 +269,7 @@ OOVPA_XREF(IDirectSound_CreateSoundBuffer, 3936, 10, { 0x21, 0xC2 }, { 0x22, 0x10 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_Release @@ -795,7 +801,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer_SetBufferData // ****************************************************************** @@ -819,7 +825,8 @@ OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 3936, 9, { 0x72, 0xC2 }, { 0x73, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetBufferData // ****************************************************************** @@ -846,7 +853,8 @@ OOVPA_XREF(IDirectSoundBuffer_SetBufferData, 3936, 10, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient::SetMixBins // ****************************************************************** @@ -882,7 +890,8 @@ OOVPA_XREF(CMcpxVoiceClient_SetMixBins, 3936, 15, // CMcpxVoiceClient_SetMixBins+0xD6 : retn { 0xD6, 0xC3 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice::SetMixBins // ****************************************************************** @@ -908,7 +917,7 @@ OOVPA_XREF(CDirectSoundVoice_SetMixBins, 3936, 9, { 0x55, 0xC2 }, { 0x56, 0x08 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundStream_SetMixBins // ****************************************************************** @@ -935,7 +944,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 3936, 10, { 0x11, 0xC2 }, { 0x12, 0x08 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetMixBins // ****************************************************************** @@ -960,6 +969,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 3936, 8, { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition @@ -2146,7 +2156,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XAudioCalculatePitch, 3936, 11, - XREF_DSSTREAMSETFREQUENCY1B, + XREF_XAudioCalculatePitch, XRefZero) // XAudioCalculatePitch+0x08 : cmp esi, 0xBB80 @@ -2169,6 +2179,7 @@ OOVPA_XREF(XAudioCalculatePitch, 3936, 11, { 0x4F, 0x04 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetFrequency // ****************************************************************** @@ -2178,7 +2189,7 @@ OOVPA_XREF(CDirectSoundVoice_SetFrequency, 3936, 9, XRefOne) // CDirectSoundVoice_SetFrequency+0x1F : call [XAudioCalculatePitch] - XREF_ENTRY( 0x20, XREF_DSSTREAMSETFREQUENCY1B ), + XREF_ENTRY( 0x20, XREF_XAudioCalculatePitch ), // CDirectSoundVoice_SetFrequency+0x15 : mov eax, [esi+0x18] { 0x15, 0x8B }, @@ -2194,7 +2205,7 @@ OOVPA_XREF(CDirectSoundVoice_SetFrequency, 3936, 9, { 0x40, 0xC2 }, { 0x41, 0x08 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundStream_SetFrequency // ****************************************************************** @@ -2221,7 +2232,7 @@ OOVPA_XREF(CDirectSoundStream_SetFrequency, 3936, 10, { 0x11, 0xC2 }, { 0x12, 0x08 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetFrequency // ****************************************************************** @@ -2246,7 +2257,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 3936, 8, { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxVoiceClient::Set3dMode // ****************************************************************** @@ -3806,7 +3817,7 @@ OOVPA_XREF(CDirectSoundStream_SetI3DL2Source, 3936, 9, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::SetNotificationPositions // ****************************************************************** @@ -3823,7 +3834,8 @@ OOVPA_XREF(CDirectSoundBuffer_SetNotificationPositions, 3936, 7, { 0x40, 0x07 }, { 0x4D, 0x5F }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetNotificationPositions // ****************************************************************** @@ -3843,7 +3855,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetNotificationPositions, 3936, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundStream::Pause // ****************************************************************** @@ -3968,14 +3980,14 @@ OOVPA_END; // ****************************************************************** OOVPATable DSound_3936[] = { - REGISTER_OOVPA(DirectSoundCreate, 3936, PATCH), - REGISTER_OOVPA(CMcpxAPU_ServiceDeferredCommandsLow, 3936, XREF), - REGISTER_OOVPA(CDirectSound_DoWork, 3936, XREF), - REGISTER_OOVPA(DirectSoundDoWork, 3936, PATCH), + REGISTER_OOVPA(DirectSoundCreate, 3911, PATCH), + REGISTER_OOVPA(CMcpxAPU_ServiceDeferredCommandsLow, 3911, XREF), + REGISTER_OOVPA(CDirectSound_DoWork, 3911, XREF), + REGISTER_OOVPA(DirectSoundDoWork, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 3911, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 3911, XREF), - REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetPitch, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 3911, XREF), @@ -3995,12 +4007,12 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 3936, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetMixBins, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 3936, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 3911, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetMixBins, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 3911, XREF), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 3911, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), @@ -4042,9 +4054,9 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), REGISTER_OOVPA(XAudioCalculatePitch, 3911, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 3936, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 3911, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dMode, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 3936, PATCH), @@ -4106,8 +4118,8 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSound_EnableHeadphones, 3936, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_12, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 46b710098..f565353bb 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -124,7 +124,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_DoWork, 4039, 13, - XREF_DSDOWORKA, + XREF_CDirectSound_DoWork, XRefZero) // CDirectSound_DoWork+0x0D : mov esi, eax diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index ef79946b5..00c67b562 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -59,7 +59,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(XAudioCalculatePitch, XREF, 3911), REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Commit3dSettings, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_ServiceDeferredCommandsLow, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_ServiceDeferredCommandsLow, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Set3dDistanceFactor, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_Set3dParameters, XREF, 3936), @@ -93,7 +93,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 3911, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 3911, 4039, 4242), - REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_SetPitch, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4039, 4134, 5344, 5558), @@ -108,16 +108,16 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4242, 4721, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 3936, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4039, 4134, 4627, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3936, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3936, 4039, 4134, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3936, 4039, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3911, 4039, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4039, 4134, 5233, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 4039), + REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 3936, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344), @@ -132,7 +132,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134, 4361, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3911, 3936, 4361, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3936, 4039, 4134, 5558, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3911, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3936, 4039, 4134), @@ -152,8 +152,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBins, XREF, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4039, 4134, 5233), - REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3936, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) - REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 4039, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3911, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) + REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 3911, 4039, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 3936, 4039, 4361, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 4039, 3936, 4134, 5558), @@ -194,7 +194,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, XREF, 3911, 4039, 4134, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3911, 4039, 4134, 5558), - REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3936, 4039), + REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3936, 4627, 5233, 5344, 5558), REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3936, 4361), REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), @@ -220,7 +220,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 4134), // Use that for now. Okay, it's your call pal... (from 4134's comment) - REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3936, 4134, 5558, 5788), + REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3911, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3936), @@ -230,18 +230,18 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetEG, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3936, 4039), + REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 5344, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 5558, 5788), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3911, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3936, 4134, 5233), - REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3936, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3911, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 3936, 4361), @@ -282,10 +282,10 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3936, 4134/*, 5344*/), REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSound_SynchPlayback, PATCH, 5233), - REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3936, 4039, 4134), - REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 4039, 4242), - REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 4134, 5788), - REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 3911, 4039, 4242), + REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 3911, 4134, 5788), + REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3911, 4134, 5558), REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3911, 4361), REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 5558), REGISTER_OOVPAS(DirectSoundUseLightHRTF, PATCH, 3911), From 0c6ae7fc0fb1699bee52cb4425d75ef2b5da43bb Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 15 Sep 2017 22:29:34 -0500 Subject: [PATCH 058/146] Few Moved Plus Adding More to 3911 - 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 --- src/CxbxKrnl/HLEDataBase.h | 2 + src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 270 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 15 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 13 +- 4 files changed, 291 insertions(+), 9 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index d83227093..c7a197b69 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -257,6 +257,8 @@ enum XRefDataBaseOffset XREF_DSSTREAMSETPOSITION1B, XREF_DSSTREAMSETPOSITION1C, XREF_DSSTREAMSETFREQUENCY1A, + XREF_CMcpxStream_Flush, + XREF_CMcpxStream_Discontinuity, XREF_XAudioCalculatePitch, XREF_DSSTREAMSETROLLOFFFACTOR1A, XREF_DSSTREAMSETROLLOFFFACTOR1B, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 009563b26..1f7db722a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -1959,3 +1959,273 @@ OOVPA_XREF(IDirectSoundBuffer_SetNotificationPositions, 3911, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetHeadroom +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 3911, 12, + + XREF_DSBUFFERSETHEADROOMA, + XRefOne) + + // WARNING: I am unsure if this is SetHeadroom + + // CDirectSoundVoice_SetHeadroom+0x23 : call [CMcpxVoiceClient_SetVolume] + XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_SetVolume ), + + // CDirectSoundVoice_SetHeadroom+0x07 : mov edx, [esp+0x0C] + { 0x07, 0x8B }, + { 0x08, 0x54 }, + { 0x09, 0x24 }, + { 0x0A, 0x0C }, + + // CDirectSoundVoice_SetHeadroom+0x11 : mov eax, [edx+0x18] + { 0x11, 0x8B }, + { 0x12, 0x42 }, + { 0x13, 0x18 }, + + // CDirectSoundVoice_SetHeadroom+0x2B : jz +0x0B + { 0x2B, 0x74 }, + { 0x2C, 0x0B }, + + // CDirectSoundVoice_SetHeadroom+0x3C : retn 0x08 + { 0x3C, 0xC2 }, + { 0x3D, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetHeadroom +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetHeadroom+0x15 : call [CDirectSoundVoice_SetHeadroom] + XREF_ENTRY( 0x15, XREF_DSBUFFERSETHEADROOMA ), + + // IDirectSoundBuffer_SetHeadroom+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetHeadroom+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetHeadroom+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +//TODO: Need to create XREF to CMcpxStream_Pause in order strengthen OOVPA chain. +// ****************************************************************** +// * CDirectSoundStream_Pause +// ****************************************************************** +OOVPA_NO_XREF(CDirectSoundStream_Pause, 3911, 6) + + { 0x01, 0x44 }, + { 0x04, 0xFF }, + { 0x07, 0x08 }, + { 0x0A, 0x24 }, + { 0x10, 0xC2 }, + { 0x11, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Process +// ****************************************************************** +OOVPA_NO_XREF(CDirectSoundStream_Process, 3911, 16) + + { 0x01, 0x8B }, + { 0x04, 0x08 }, + + { 0x05, 0x8B }, + { 0x07, 0x24 }, + + { 0x0D, 0x85 }, + { 0x0E, 0xC0 }, + + //CDirectSoundStream_Process+0x11 : mov eax, 88780032h + { 0x12, 0x32 }, + { 0x13, 0x00 }, + { 0x14, 0x78 }, + { 0x15, 0x88 }, + + { 0x18, 0xFF }, + { 0x1B, 0x0C }, + + { 0x1C, 0x8B }, + { 0x1E, 0x24 }, + + { 0x25, 0xC2 }, + { 0x26, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_GetStatus +// ****************************************************************** +OOVPA_NO_XREF(CDirectSoundStream_GetStatus, 3911, 13) + + { 0x08, 0x8B }, + { 0x0B, 0x08 }, + + { 0x0C, 0x8B }, + { 0x0E, 0x24 }, + + { 0x14, 0x8B }, + { 0x17, 0x0C }, + + { 0x18, 0xF7 }, + { 0x1A, 0x1B }, + { 0x1C, 0xF7 }, + + //CDirectSoundStream_GetStatus+0x20 : mov dword ptr [ecx], eax + { 0x20, 0x89 }, + { 0x21, 0x01 }, + + { 0x32, 0xC2 }, + { 0x33, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Flush +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Flush, 3911, 11, + XREF_CMcpxStream_Flush, + XRefZero) + + { 0x0D, 0x03 }, + { 0x0F, 0x03 }, + + { 0x20, 0x33 }, + { 0x22, 0x33 }, + + { 0x2D, 0x83 }, + { 0x2E, 0xFF }, + { 0x2F, 0x03 }, + + { 0x4B, 0xE8 }, + + { 0x62, 0xE8 }, + + + { 0x9D, 0xC9 }, + { 0x9E, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Flush +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_Flush, 3911, 9, + XRefNoSaveIndex, + XRefOne) + + //CDirectSoundStream_Flush+0x10 : call [CMcpxStream_Flush] + XREF_ENTRY( 0x11, XREF_CMcpxStream_Flush ), + + { 0x00, 0x56 }, + + { 0x09, 0x8B }, + { 0x0C, 0x0C }, + + { 0x0D, 0x8B }, + { 0x0F, 0x24 }, + + { 0x10, 0xE8 }, + + //CDirectSoundStream_Flush+0x2A : ret 4 + { 0x2A, 0xC2 }, + { 0x2B, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Discontinuity +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Discontinuity, 3911, 12, + XREF_CMcpxStream_Discontinuity, + XRefOne) + + //CMcpxStream_Discontinuity+0x66 : call [CMcpxStream_Flush] + XREF_ENTRY ( 0x67, XREF_CMcpxStream_Flush ), + + { 0x0D, 0x03 }, + { 0x0F, 0x03 }, + + { 0x1B, 0x33 }, + { 0x1D, 0x8D }, + + { 0x25, 0x0F }, + { 0x26, 0x94 }, + { 0x27, 0xC1 }, + + { 0x64, 0x8B }, + + { 0x66, 0xE8 }, + + + { 0x6E, 0xC9 }, + { 0x6F, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Discontinuity +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_Discontinuity, 3911, 9, + XRefNoSaveIndex, + XRefOne) + + //CDirectSoundStream_Discontinuity+0x10 : call [CMcpxStream_Discontinuity] + XREF_ENTRY( 0x11, XREF_CMcpxStream_Discontinuity ), + + { 0x00, 0x56 }, + + { 0x09, 0x8B }, + { 0x0C, 0x0C }, + + { 0x0D, 0x8B }, + { 0x0F, 0x24 }, + + { 0x10, 0xE8 }, + + //CDirectSoundStream_Discontinuity+0x2A : ret 4 + { 0x2A, 0xC2 }, + { 0x2B, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_GetInfo +// ****************************************************************** +OOVPA_NO_XREF(CDirectSoundStream_GetInfo, 3911, 17) + + //CDirectSoundStream_GetInfo+0x00 : push ebx + { 0x00, 0x53 }, + + //CDirectSoundStream_GetInfo+0x0C : mov edi, dword ptr [esp + 10h] + { 0x0C, 0x8B }, + { 0x0D, 0x7C }, + { 0x0E, 0x24 }, + { 0x0F, 0x10 }, + + //CDirectSoundStream_GetInfo+0x16 : mov, dword ptr [edi + 24h] + { 0x16, 0x8B }, + { 0x17, 0x4F }, + { 0x18, 0x24 }, + + //CDirectSoundStream_GetInfo+0x23 : mov eax, dword ptr [edi + 20h] + { 0x23, 0x8B }, + { 0x24, 0x47 }, + { 0x25, 0x20 }, + + //CDirectSoundStream_GetInfo+0x2D : and dword ptr [esi + 8], 0 + { 0x2D, 0x83 }, + { 0x2E, 0x66 }, + { 0x2F, 0x08 }, + { 0x30, 0x00 }, + + //CDirectSoundStream_GetInfo+0x48 : ret 8 + { 0x48, 0xC2 }, + { 0x49, 0x08 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index ac66a8025..b79bc68e2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -741,7 +741,7 @@ OOVPA_XREF(IDirectSoundBuffer_Lock, 3936, 9, { 0x2D, 0xC2 }, { 0x2E, 0x20 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetHeadroom // ****************************************************************** @@ -774,7 +774,8 @@ OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 3936, 12, { 0x3C, 0xC2 }, { 0x3D, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetHeadroom // ****************************************************************** @@ -801,6 +802,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer_SetBufferData @@ -3856,6 +3858,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetNotificationPositions, 3936, 9, { 0x1E, 0x0C }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream::Pause // ****************************************************************** @@ -3868,7 +3871,7 @@ OOVPA_NO_XREF(CDirectSoundStream_Pause, 3936, 6) { 0x10, 0xC2 }, { 0x11, 0x08 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundBuffer::SetConeOrientation // ****************************************************************** @@ -4005,8 +4008,8 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Lock, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetMixBins, 3911, XREF), @@ -4120,7 +4123,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_12, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundStream_Pause, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundStream_Pause, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 3936, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 00c67b562..0ba2aeb81 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -77,6 +77,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3936, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z + REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911), + REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911), REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 4361, 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911), @@ -109,7 +111,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetFilter, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4242, 4721, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3936, 4039, 4134, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3911, 4039, 4134, 4627, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3936, 4039, 4134, 4361, 5344), @@ -164,8 +166,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 3911, 4039, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), + REGISTER_OOVPAS(CDirectSoundStream_Discontinuity, PATCH, 3911), + REGISTER_OOVPAS(CDirectSoundStream_Flush, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), - REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3936, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundStream_GetInfo, PATCH, 3911), + REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911), + REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3936, 4134), @@ -231,7 +238,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3911, 4134, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), From f67f2d3496d4ddf1418d55e193f9ea87468242fa Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 16 Sep 2017 11:52:06 +0900 Subject: [PATCH 059/146] OOVPA lowered to 5120 Source: Forza Motorsport (5849) --- src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl | 4 +++- src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl index e48ecc571..974f1c9b1 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // No longer used, replaced by generic 5120 version // ***************************************************************** // * XACTEngineCreate // ****************************************************************** @@ -55,13 +56,14 @@ OOVPA_NO_XREF(XACTEngineCreate, 5849, 11) { 0xA2, 0xC2 }, { 0xA3, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * XactEng_5849 // ****************************************************************** OOVPATable XactEng_5849[] = { - REGISTER_OOVPA(XACTEngineCreate, 5849, PATCH), + REGISTER_OOVPA(XACTEngineCreate, 5120, PATCH), REGISTER_OOVPA(XACTEngineDoWork, 4627, PATCH), REGISTER_OOVPA(XACT_CEngine_RegisterStreamedWaveBank, 5233, XREF), REGISTER_OOVPA(IXACTEngine_RegisterStreamedWaveBank, 4928, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl index a10251143..10aebaf3c 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl @@ -50,7 +50,7 @@ // ****************************************************************** OOVPATable XACTENG_OOVPAV2[] = { - REGISTER_OOVPAS(XACTEngineCreate, PATCH, 4627, 4928, 5120, 5849), + REGISTER_OOVPAS(XACTEngineCreate, PATCH, 4627, 4928, 5120), REGISTER_OOVPAS(XACTEngineDoWork, PATCH, 4627), REGISTER_OOVPAS(XACT_CEngine_CreateSoundBank, XREF, 4627, 4928), REGISTER_OOVPAS(XACT_CEngine_CreateSoundSource, XREF, 4627, 4928), From d938af25af33762254c93cfd8424e5a50e627c2b Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 16 Sep 2017 13:10:17 +0900 Subject: [PATCH 060/146] Separated 5120 OOVPAs --- build/win32/Cxbx.vcxproj | 1 + build/win32/Cxbx.vcxproj.filters | 3 + src/CxbxKrnl/HLEDataBase/XactEng.1.0.5120.inl | 130 ++++++++++++++++++ src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl | 9 +- src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl | 1 + 5 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 src/CxbxKrnl/HLEDataBase/XactEng.1.0.5120.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index ca0814b14..57cc96264 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -349,6 +349,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index bfcde9784..9fc3a4321 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -695,6 +695,9 @@ HLEDatabase\XactEng + + HLEDatabase\XactEng + HLEDatabase\XactEng diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5120.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5120.inl new file mode 100644 index 000000000..be4022829 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5120.inl @@ -0,0 +1,130 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XactEng.1.0.5120.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ***************************************************************** +// * XACTEngineCreate +// ****************************************************************** +OOVPA_NO_XREF(XACTEngineCreate, 5120, 12) + + { 0x11, 0x85 }, + { 0x29, 0xEB }, + + { 0x5F, 0x24 }, + { 0x60, 0xFF }, + { 0x61, 0x74 }, + { 0x62, 0x24 }, + { 0x63, 0x10 }, + { 0x64, 0x8B }, + { 0x65, 0xCF }, + { 0x66, 0xE8 }, + + { 0xA2, 0xC2 }, + { 0xA3, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CEngine::UnRegisterWaveBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank, 5120, 13, + + XREF_XACT_CEngine_UnRegisterWaveBank, + XRefZero) + + + { 0x0E, 0x51 }, + { 0x1F, 0x00 }, + + { 0x25, 0x8B }, + { 0x26, 0x7C }, + { 0x27, 0x24 }, + { 0x28, 0x10 }, + { 0x29, 0x83 }, + { 0x2A, 0xC7 }, + { 0x2B, 0x4C }, + { 0x2C, 0x8B }, + { 0x2D, 0x37 }, + + { 0x45, 0xF6 }, + { 0x62, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * XACT::CEngine::RegisterWaveBank +// ****************************************************************** +OOVPA_XREF(XACT_CEngine_RegisterWaveBank, 5120, 12, + + XREF_XACT_CEngine_RegisterWaveBank, + XRefZero) + + { 0x04, 0x14 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 + { 0x17, 0x3B }, + + { 0x37, 0x32 }, + { 0x38, 0xFF }, + { 0x39, 0x74 }, + { 0x3A, 0x24 }, + { 0x3B, 0x18 }, + { 0x3C, 0x8B }, + { 0x3D, 0xCE }, + { 0x3E, 0xFF }, + + { 0x79, 0xC2 }, + { 0x7A, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * IXACTEngine_RegisterWaveBank +// ****************************************************************** +OOVPA_XREF(IXACTEngine_RegisterWaveBank, 5120, 10, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x27, XREF_XACT_CEngine_RegisterWaveBank ), + + // IXACTEngine_RegisterWaveBank+0x07 : push [ebp+8+0x10] + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x09, 0x24 }, + { 0x0A, 0x18 }, + + // IXACTEngine_RegisterWaveBank+0x0B : movzx esi, al + { 0x0B, 0x0F }, + { 0x0C, 0xB6 }, + { 0x0D, 0xF0 }, + + // IXACTEngine_RegisterWaveBank+0x40 : retn 0x10 + { 0x40, 0xC2 }, + { 0x41, 0x10 }, +OOVPA_END; \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl index be067b7f1..494de10da 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // Moved to 5120 // ***************************************************************** // * XACTEngineCreate // ****************************************************************** @@ -52,6 +53,7 @@ OOVPA_NO_XREF(XACTEngineCreate, 5120, 12) { 0xA2, 0xC2 }, { 0xA3, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * XACT::CEngine::RegisterStreamedWaveBank @@ -76,6 +78,7 @@ OOVPA_XREF(XACT_CEngine_RegisterStreamedWaveBank, 5233, 11, { 0x67, 0xEB }, OOVPA_END; +#if 0 // Moved to 5120 // ****************************************************************** // * XACT::CEngine::UnRegisterWaveBank // ****************************************************************** @@ -101,7 +104,8 @@ OOVPA_XREF(XACT_CEngine_UnRegisterWaveBank, 5120, 13, { 0x45, 0xF6 }, { 0x62, 0xC2 }, OOVPA_END; - +#endif +#if 0 // Moved to 5120 // ****************************************************************** // * XACT::CEngine::RegisterWaveBank // ****************************************************************** @@ -125,6 +129,7 @@ OOVPA_XREF(XACT_CEngine_RegisterWaveBank, 5120, 12, { 0x79, 0xC2 }, { 0x7A, 0x10 }, OOVPA_END; +#endif // ****************************************************************** // * XACT::CEngine::RegisterWaveBank @@ -150,6 +155,7 @@ OOVPA_XREF(XACT_CEngine_RegisterWaveBank, 5233, 12, { 0x7D, 0x10 }, OOVPA_END; +#if 0 // Moved to 5120 // ****************************************************************** // * IXACTEngine_RegisterWaveBank // ****************************************************************** @@ -175,6 +181,7 @@ OOVPA_XREF(IXACTEngine_RegisterWaveBank, 5120, 10, { 0x40, 0xC2 }, { 0x41, 0x10 }, OOVPA_END; +#endif // ****************************************************************** // * XactEng_5233 diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl index 10aebaf3c..1d1e1874c 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl @@ -38,6 +38,7 @@ #include "HLEDataBase/XactEng.1.0.4627.inl" #include "HLEDataBase/XactEng.1.0.4928.inl" +#include "HLEDataBase/XactEng.1.0.5120.inl" #include "HLEDataBase/XactEng.1.0.5233.inl" #include "HLEDataBase/XactEng.1.0.5344.inl" #include "HLEDataBase/XactEng.1.0.5558.inl" From eba685840a6b4bc34f4c335ae8737a705fc5b1e7 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 16 Sep 2017 11:32:04 +0900 Subject: [PATCH 061/146] Introduce XAPI database v2 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) --- build/win32/Cxbx.vcxproj | 1 + build/win32/Cxbx.vcxproj.filters | 3 + src/CxbxKrnl/HLEDataBase.cpp | 20 +--- src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl | 135 ++++++++++++++++++++++++ src/CxbxKrnl/HLEIntercept.cpp | 2 + 5 files changed, 146 insertions(+), 15 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index 57cc96264..e4c4ca68a 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -368,6 +368,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 9fc3a4321..894866536 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -752,6 +752,9 @@ HLEDatabase\Xapi + + HLEDatabase\Xapi + HLEDatabase\XG diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 1d4dec8ee..5ecbaaccb 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -55,6 +55,7 @@ const char *Lib_XACTENG = "XACTENG"; const char *Sec_XACTENG = Lib_XACTENG; const char *Lib_XAPILIB = "XAPILIB"; const char *Sec_XPP = "XPP"; +const char *Sec_text = ".text"; const char *Lib_XGRAPHC = "XGRAPHC"; const char *Sec_XGRPH = "XGRPH"; const char *Lib_XNETS = "XNETS"; @@ -66,19 +67,7 @@ const char *Sec_XNET = "XNET"; #include "Emu.h" #include "EmuXTL.h" #include "HLEDataBase.h" -#include "HLEDataBase/Xapi.1.0.3911.inl" -#include "HLEDataBase/Xapi.1.0.4034.inl" -#include "HLEDataBase/Xapi.1.0.4134.inl" -#include "HLEDataBase/Xapi.1.0.4361.inl" -#include "HLEDataBase/Xapi.1.0.4432.inl" -#include "HLEDataBase/Xapi.1.0.4627.inl" -#include "HLEDataBase/Xapi.1.0.4721.inl" -#include "HLEDataBase/Xapi.1.0.5028.inl" -#include "HLEDataBase/Xapi.1.0.5233.inl" -#include "HLEDataBase/Xapi.1.0.5344.inl" -#include "HLEDataBase/Xapi.1.0.5558.inl" -#include "HLEDataBase/Xapi.1.0.5788.inl" -#include "HLEDataBase/Xapi.1.0.5849.inl" +#include "HLEDataBase/Xapi.OOVPA.inl" #include "HLEDataBase/D3D8.1.0.3925.inl" #include "HLEDataBase/D3D8.1.0.4034.inl" #include "HLEDataBase/D3D8.1.0.4134.inl" @@ -126,6 +115,7 @@ const char *Sec_XNET = "XNET"; const HLEData HLEDataBase[] = { +#if ENABLE_LEGACY_XAPI_DB HLE_ENTRY(Lib_XAPILIB, XAPI, 3911), HLE_ENTRY(Lib_XAPILIB, XAPI, 4034), HLE_ENTRY(Lib_XAPILIB, XAPI, 4134), @@ -139,7 +129,7 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_XAPILIB, XAPI, 5558), HLE_ENTRY(Lib_XAPILIB, XAPI, 5788), HLE_ENTRY(Lib_XAPILIB, XAPI, 5849), - +#endif HLE_ENTRY(Lib_D3D8, D3D8, 3925), HLE_ENTRY(Lib_D3D8, D3D8, 4034), HLE_ENTRY(Lib_D3D8, D3D8, 4134), @@ -224,7 +214,7 @@ const HLEDataV2 HLEDataBaseV2[] = { //{ Lib_XACTENLT,{ Sec_XACTENG }, XACTENG_OOVPAV2, XACTENG_OOVPA_SIZEV2 }, // - //{ Lib_XAPILIB,{ Sec_XPP }, XAPILIB_OOVPAV2, XAPILIB_OOVPA_SIZEV2 }, + { Lib_XAPILIB,{ Sec_text, Sec_XPP }, XAPILIB_OOVPAV2, XAPILIB_OOVPA_SIZEV2 }, // //{ Lib_XGRAPHC,{ Sec_XGRPH }, XGRAPHC_OOVPAV2, XGRAPHC_OOVPA_SIZEV2 }, diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl new file mode 100644 index 000000000..40d5d5966 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl @@ -0,0 +1,135 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o oP"``"Yo _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->HLEDatabase->XAPI.OOVPA.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not write to the Free Software Foundation Inc., +// * 59 Temple Place - Suite 330 Bostom MA 02111-1307 USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XAPI_OOVPA_INL +#define XAPI_OOVPA_INL + +#include "../OOVPA.h" + +#include "Xapi.1.0.3911.inl" +#include "Xapi.1.0.4034.inl" +#include "Xapi.1.0.4134.inl" +#include "Xapi.1.0.4361.inl" +#include "Xapi.1.0.4432.inl" +#include "Xapi.1.0.4627.inl" +#include "Xapi.1.0.4721.inl" +#include "Xapi.1.0.5028.inl" +#include "Xapi.1.0.5233.inl" +#include "Xapi.1.0.5344.inl" +#include "Xapi.1.0.5558.inl" +#include "Xapi.1.0.5788.inl" +#include "Xapi.1.0.5849.inl" + +// ****************************************************************** +// * XAPILIB_OOVPA +// ****************************************************************** +OOVPATable XAPILIB_OOVPAV2[] = { + + // REGISTER_OOVPAS(CloseHandle, PATCH, ???), // (from 4034's database) + // REGISTER_OOVPAS(CloseHandle, PATCH, 3911), + // REGISTER_OOVPAS(CreateMutex, PATCH, 3911), // Too High Level (from 3911's comment) + // REGISTER_OOVPAS(CreateThread, PATCH, 3911), // Too High Level (from 3911's comment) + // REGISTER_OOVPAS(ExitThread, PATCH, 3911), + // REGISTER_OOVPAS(GetThreadPriorityBoost, PATCH, 5788), + // REGISTER_OOVPAS(GetThreadPriorityBoost, PATCH, 5849), + // REGISTER_OOVPAS(MoveFileA, PATCH, 4627), + // REGISTER_OOVPAS(ReadFileEx, PATCH, 3911), + // REGISTER_OOVPAS(RtlAllocateHeap, PATCH, 3911), // obsolete (* unchanged since 1.0.4361 *) (* OR FARTHER *) (from 4721's comment) + // REGISTER_OOVPAS(RtlCreateHeap, PATCH, 3911), // obsolete, (* unchanged since 1.0.4361 *) (* OR FARTHER *) (from 4721's comment) + // REGISTER_OOVPAS(RtlDestroyHeap, PATCH, 4627), // obsolete (from 4721's comment) + // REGISTER_OOVPAS(RtlFreeHeap, PATCH, 4627), // obsolete (from 4721's comment) + // REGISTER_OOVPAS(RtlReAllocateHeap, PATCH, 4627), + // REGISTER_OOVPAS(RtlSizeHeap, PATCH, 4627), // obsolete (from 4721's comment) + // REGISTER_OOVPAS(SwitchToThread, PATCH, 5788), + // REGISTER_OOVPAS(SwitchToThread, PATCH, 5849), + // REGISTER_OOVPAS(WriteFileEx, PATCH, 3911), + // REGISTER_OOVPAS(XCalculateSignatureBegin, PATCH, 3911), + // REGISTER_OOVPAS(XCalculateSignatureBegin, PATCH, 4627), + // REGISTER_OOVPAS(XCalculateSignatureBeginEx, PATCH, 4627), // +s, not necessary? (from 4627, 5028's comment) + // REGISTER_OOVPAS(XCalculateSignatureEnd, PATCH, 4627), // s+ (from 4627, 5028's comment) + // REGISTER_OOVPAS(XCalculateSignatureUpdate, PATCH, 4627), + // REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 4831), // NOT XInputGetDeviceDescription (from 4627, 5028's comment) + // REGISTER_OOVPAS(XapiBootDash, PATCH, 3911), // obsolete (from 4721's comment) + // REGISTER_OOVPAS(XapiInitProcess, PATCH, 4361), // obsolete, Too High Level (from 4721's comment) + // REGISTER_OOVPAS(XapiThreadStartup, PATCH, 4361), // obsolete (from 4721's comment) + // REGISTER_OOVPAS(XapiThreadStartup, PATCH, 4361), // obsolete? (from 4627, 5028, 5558, 5788, 5849's comment) + // REGISTER_OOVPAS(lstrcmpiW, PATCH, 3911), + // REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 4831), + REGISTER_OOVPAS(ConvertThreadToFiber, DISABLED, 3911), + REGISTER_OOVPAS(CreateFiber, DISABLED, 3911), + REGISTER_OOVPAS(DeleteFiber, DISABLED, 3911), + REGISTER_OOVPAS(GetExitCodeThread, PATCH, 3911), + REGISTER_OOVPAS(GetOverlappedResult, PATCH, 3911), + REGISTER_OOVPAS(GetThreadPriority, PATCH, 3911, 5788), + REGISTER_OOVPAS(GetTimeZoneInformation, DISABLED, 3911), + REGISTER_OOVPAS(OutputDebugStringA, PATCH, 3911), + REGISTER_OOVPAS(QueueUserAPC, PATCH, 3911), + REGISTER_OOVPAS(RaiseException, PATCH, 3911), + REGISTER_OOVPAS(SetThreadPriority, PATCH, 3911), + REGISTER_OOVPAS(SetThreadPriorityBoost, PATCH, 3911, 5788), + REGISTER_OOVPAS(SignalObjectAndWait, PATCH, 3911), + REGISTER_OOVPAS(SwitchToFiber, DISABLED, 3911), + REGISTER_OOVPAS(XAutoPowerDownResetTimer, DISABLED, 3911), // Just calls KeSetTimer (from 3911's comment) + REGISTER_OOVPAS(XFormatUtilityDrive, PATCH, 4361), + REGISTER_OOVPAS(XGetDeviceChanges, PATCH, 3911, 5233), // Was PATCH (from 5788's comment) + REGISTER_OOVPAS(XGetDeviceEnumerationStatus, PATCH, 4831), + REGISTER_OOVPAS(XGetDevices, PATCH, 3911), + REGISTER_OOVPAS(XGetLaunchInfo, DISABLED, 3911), + REGISTER_OOVPAS(XID_fCloseDevice, XREF, 3911, 4361, 4627, 4928, 5558), + REGISTER_OOVPAS(XInitDevices, PATCH, 3911, 5233), + REGISTER_OOVPAS(XInputClose, PATCH, 3911, 5558), + REGISTER_OOVPAS(XInputGetCapabilities, PATCH, 3911, 4361, 4831, 5233, 5558), + REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 5344), + REGISTER_OOVPAS(XInputGetState, PATCH, 3911, 4134, 4361, 4928, 5558), + REGISTER_OOVPAS(XInputOpen, PATCH, 3911, 4134, 4361), + REGISTER_OOVPAS(XInputPoll, PATCH, 3911), + REGISTER_OOVPAS(XInputSetState, PATCH, 3911, 4361, 4928, 5233), + REGISTER_OOVPAS(XLaunchNewImageA, PATCH, 3911, 4721, 5344, 5558), + REGISTER_OOVPAS(XMountAlternateTitleA, PATCH, 3911, 5028, 5558), + REGISTER_OOVPAS(XMountMUA, PATCH, 3911, 4361), + REGISTER_OOVPAS(XMountMURootA, PATCH, 3911, 4361), + REGISTER_OOVPAS(XMountUtilityDrive, PATCH, 3911, 4134, 4432), // TODO: This needs to be verified on 4361, not just 4242! (from 4361's comment) + REGISTER_OOVPAS(XRegisterThreadNotifyRoutine, PATCH, 3911), + REGISTER_OOVPAS(XSetProcessQuantumLength, PATCH, 4134), + REGISTER_OOVPAS(XUnmountAlternateTitleA, PATCH, 3911), + REGISTER_OOVPAS(XapiFiberStartup, DISABLED, 5558), + REGISTER_OOVPAS(timeKillEvent, PATCH, 3911, 5849), + REGISTER_OOVPAS(timeSetEvent, PATCH, 3911, 5849), +}; + +// ****************************************************************** +// * XAPILIB_OOVPA_SIZE +// ****************************************************************** +uint32 XAPILIB_OOVPA_SIZEV2 = sizeof(XAPILIB_OOVPAV2); + +#endif diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index f5a43e56a..fe3257b2d 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -366,6 +366,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) } if (strcmp(LibraryName.c_str(), Lib_XAPILIB) == 0) { +#if ENABLE_LEGACY_XAPI_DB // Change a few XAPILIB versions to similar counterparts if(BuildVersion == 3944) BuildVersion = 3911; @@ -373,6 +374,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) BuildVersion = 3911; if(OrigBuildVersion == 4531) BuildVersion = 4627; +#endif } if (strcmp(LibraryName.c_str(), Lib_XGRAPHC) == 0) { From 389491ee140c2e304f91e6b3dbc6d793036fe66f Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 16 Sep 2017 10:36:38 -0500 Subject: [PATCH 062/146] Strengthen XAutoPowerDownResetTimer's OOVPA --- src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl index f20e72d15..d34f3b8cc 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl @@ -1020,13 +1020,32 @@ OOVPA_END; // ****************************************************************** // * XAutoPowerDownResetTimer // ****************************************************************** -OOVPA_NO_XREF(XAutoPowerDownResetTimer, 3911, 6) +// Assembly line at 0x00 and 0x09 are unique. It will prevent any false detection it might find in the future. +OOVPA_NO_XREF(XAutoPowerDownResetTimer, 3911, 12) + //XAutoPowerDownResetTimer+0x00 : push 0FFFFFFCDh + { 0x00, 0x6A }, + { 0x01, 0xCD }, + + //XAutoPowerDownResetTimer+0x02 : pop ecx { 0x02, 0x59 }, + + //XAutoPowerDownResetTimer+0x08 : push ecx { 0x08, 0x51 }, + + //XAutoPowerDownResetTimer+0x09 : mov eax, 0B5659000h + { 0x09, 0xB8 }, { 0x0A, 0x00 }, + { 0x0B, 0x90 }, + { 0x0C, 0x65 }, + { 0x0D, 0xB5 }, + + //XAutoPowerDownResetTimer+0x0E : push eax { 0x0E, 0x50 }, + { 0x14, 0xFF }, + + //XAutoPowerDownResetTimer+0x1A : ret { 0x1A, 0xC3 }, OOVPA_END; From 2bac80c9a432ebcab30c8206883ba347c838e029 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 16 Sep 2017 10:43:11 -0500 Subject: [PATCH 063/146] Configured V2 Group OOVPA Method 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. --- src/CxbxKrnl/HLEIntercept.cpp | 54 +++++++++++++++++------------------ src/CxbxKrnl/OOVPA.h | 28 ++++++++++++++---- 2 files changed, 49 insertions(+), 33 deletions(-) diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index fe3257b2d..716d4d7a0 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -950,27 +950,27 @@ static void EmuInstallPatches(OOVPATable *OovpaTable, uint32 OovpaTableSize, Xbe } } -void EmuRegisterSymbol(OOVPATable *OopvaTable, xbaddr pFunc) +void EmuRegisterSymbol(OOVPATable *OovpaTable, xbaddr pFunc) { // Ignore registered symbol in current database. - uint32_t hasSymbol = g_SymbolAddresses[OopvaTable->szFuncName]; + uint32_t hasSymbol = g_SymbolAddresses[OovpaTable->szFuncName]; if (hasSymbol != 0) return; // Now that we found the address, store it (regardless if we patch it or not) - g_SymbolAddresses[OopvaTable->szFuncName] = (uint32_t)pFunc; + g_SymbolAddresses[OovpaTable->szFuncName] = (uint32_t)pFunc; // Output some details std::stringstream output; output << "HLE: 0x" << std::setfill('0') << std::setw(8) << std::hex << pFunc - << " -> " << OopvaTable->szFuncName << " " << std::dec << OopvaTable->Version; + << " -> " << OovpaTable->szFuncName << " " << std::dec << OovpaTable->Version; - bool IsXRef = OopvaTable->Oovpa->XRefSaveIndex != XRefNoSaveIndex; + bool IsXRef = OovpaTable->Oovpa->XRefSaveIndex != XRefNoSaveIndex; if (IsXRef) { output << "\t(XREF)"; // do we need to save the found address? - OOVPA* Oovpa = OopvaTable->Oovpa; + OOVPA* Oovpa = OovpaTable->Oovpa; if (Oovpa->XRefSaveIndex != XRefNoSaveIndex) { // is the XRef not saved yet? switch (XRefDataBase[Oovpa->XRefSaveIndex]) { @@ -993,9 +993,9 @@ void EmuRegisterSymbol(OOVPATable *OopvaTable, xbaddr pFunc) } default: { - if (XRefDataBase[OopvaTable->Oovpa->XRefSaveIndex] != pFunc) { + if (XRefDataBase[OovpaTable->Oovpa->XRefSaveIndex] != pFunc) { EmuWarning("Found OOVPA on other address than in XRefDataBase!"); - EmuWarning("%s: %4d - pFunc: %08X, stored: %08X", OopvaTable->szFuncName, Oovpa->XRefSaveIndex, pFunc, XRefDataBase[Oovpa->XRefSaveIndex]); + EmuWarning("%s: %4d - pFunc: %08X, stored: %08X", OovpaTable->szFuncName, Oovpa->XRefSaveIndex, pFunc, XRefDataBase[Oovpa->XRefSaveIndex]); } break; } @@ -1004,22 +1004,25 @@ void EmuRegisterSymbol(OOVPATable *OopvaTable, xbaddr pFunc) } // Retrieve the associated patch, if any is available - void* addr = GetEmuPatchAddr(std::string(OopvaTable->szFuncName)); - bool DontPatch = (OopvaTable->Flags & Flag_DontPatch) > 0; - if (DontPatch) { - // Mention if there's an unused patch - if (addr != nullptr) - output << "\t*PATCH UNUSED!*"; - else - output << "\t*DISABLED*"; + void* addr = GetEmuPatchAddr(std::string(OovpaTable->szFuncName)); + + if (addr != nullptr) { + EmuInstallPatch(OovpaTable->szFuncName, pFunc, addr); + output << "\t*PATCHED*"; } else { - if (addr != nullptr) { - EmuInstallPatch(OopvaTable->szFuncName, pFunc, addr); - output << "\t*PATCHED*"; - } else { - // Mention there's no patch available, if it was to be applied - if (!IsXRef) // TODO : Remove this restriction once we patch xrefs regularly - output << "\t*NO PATCH AVAILABLE!*"; + const char* checkDisableStr = nullptr; + size_t getFuncStrLength = strlen(OovpaTable->szFuncName); + + if (getFuncStrLength > 9) { + checkDisableStr = &OovpaTable->szFuncName[getFuncStrLength - 9]; + } + + if (checkDisableStr != nullptr && strcmp(checkDisableStr, "_DISABLED") == 0) { + output << "\t*DISABLED*"; + + // Mention there's no patch available, if it was to be applied + } else if (!IsXRef) { + output << "\t*NO PATCH AVAILABLE!*"; } } @@ -1138,11 +1141,6 @@ static void EmuInstallPatchesV2(OOVPATable *OovpaTable, uint32 OovpaTableSize, X } } - // Never used : skip scans when so configured - bool DontScan = (pLoop->Flags & Flag_DontScan) > 0; - if (DontScan) - continue; - // Skip higher build version if (buildVersion < pLoop->Version) continue; diff --git a/src/CxbxKrnl/OOVPA.h b/src/CxbxKrnl/OOVPA.h index 9cd63a182..4631f66f9 100644 --- a/src/CxbxKrnl/OOVPA.h +++ b/src/CxbxKrnl/OOVPA.h @@ -36,6 +36,13 @@ #include "Cxbx.h" +// http://stackoverflow.com/questions/5134523/msvc-doesnt-expand-va-args-correctly +// MSVC_EXPAND works around a Visual C++ problem, expanding __VA_ARGS__ incorrectly: +#define MSVC_EXPAND(x) x + +#define STRINGIZEX(x) #x +#define STRINGIZE(x) STRINGIZEX(x) + #pragma pack(1) // ****************************************************************** @@ -172,8 +179,23 @@ const uint16_t Flag_DontPatch = 4;// Indicates an entry that's shouldn't be patc //Below this is a revise version 2 to improve OOPVA scan as possible. +/* Use XREF define to knowledge it is reference purpose only.*/ +#define REGISTER_OOVPA_V2_XREF(Symbol, TYPE, Version) \ + OOVPA_TABLE_ENTRY_FULL(Symbol, #Symbol, Version, 0) + +/* Use PATCH define only for functions with FUNC_EXPORTS included.*/ +#define REGISTER_OOVPA_V2_PATCH(Symbol, TYPE, Version) \ + OOVPA_TABLE_ENTRY_FULL(Symbol, #Symbol, Version, 0) + +/* DISABLED define will perform scan and append "_DISABLED" only. + * This is only effective for functions with "FUNC_EXPORTS" bypass purpose. + * XREF remain unaffected and will perform task normally. + * NOTICE: Do not use DISABLED on XREF OOVPA! Or developers will be confused. */ +#define REGISTER_OOVPA_V2_DISABLED(Symbol, TYPE, Version) \ + OOVPA_TABLE_ENTRY_FULL(Symbol, STRINGIZEX(Symbol## _ ##TYPE), Version, 0) + #define REGISTER_OOVPA_V2(Symbol, TYPE, Version) \ - MSVC_EXPAND(REGISTER_OOVPA_##TYPE(Symbol, Version)) + MSVC_EXPAND(REGISTER_OOVPA_V2_##TYPE(Symbol, TYPE, Version)) // { &(Symbol ## _ ## Version).Header, #Symbol, Version, Flags } // ****************************************************************** @@ -185,10 +207,6 @@ struct OOVPATableV2 { OOVPA *pOovpa; }; -// http://stackoverflow.com/questions/5134523/msvc-doesnt-expand-va-args-correctly -// MSVC_EXPAND works around a Visual C++ problem, expanding __VA_ARGS__ incorrectly: -#define MSVC_EXPAND(x) x - // Based on https://codecraft.co/2014/11/25/variadic-macros-tricks/ // and https://groups.google.com/d/msg/comp.std.c/d-6Mj5Lko_s/jqonQLK20HcJ #define REGISTER_OOVPA_0(...) From 006c319aeb85159c851f52af14fe76c5d9b02a67 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 17 Sep 2017 00:35:37 -0500 Subject: [PATCH 064/146] Bunch of Moves and Couple Fixes - 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 --- src/CxbxKrnl/HLEDataBase.h | 7 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 440 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 161 +++---- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 33 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 28 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 24 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 20 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 34 +- 15 files changed, 600 insertions(+), 187 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index c7a197b69..431524d75 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -242,8 +242,8 @@ enum XRefDataBaseOffset XREF_CMcpxVoiceClient_Set3dMinDistance, XREF_DSSTREAMSETCONEANGLES1A, XREF_DSSTREAMSETCONEANGLES1B, - XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A, - XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B, + XREF_CDirectSoundVoice_SetConeOutsideVolume, + XREF_CMcpxVoiceClient_Set3dConeOutsideVolume, XREF_DSSTREAMSETALLPARAMETERS1A, XREF_DSSTREAMSETALLPARAMETERS1B, XREF_DSSTREAMSETALLPARAMETERS1C, @@ -278,7 +278,6 @@ enum XRefDataBaseOffset XREF_DSVOICESETDISTANCEFACTOR, XREF_DSVOICESETCONEANGLES, XREF_DSVOICESETCONEORIENTATION, - XREF_DSVOICESETCONEOUTSIDEVOLUME, XREF_DSVOICESETPOSITION, XREF_DSVOICESETVELOCITY, XREF_CDirectSoundVoice_SetDopplerFactor, @@ -292,7 +291,7 @@ enum XRefDataBaseOffset XREF_DSBUFFERSETDISTANCEFACTOR, XREF_DSBUFFERSETCONEANGLES, XREF_DSBUFFERSETCONEORIENTATION, - XREF_DSBUFFERSETCONEOUTSIDEVOLUME, + XREF_CDirectSoundBuffer_SetConeOutsideVolume, XREF_DSBUFFERSETPOSITION, XREF_DSBUFFERSETVELOCITY, XREF_DSBUFFERSETDOPPLERFACTOR, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 1f7db722a..a5a07deab 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -2229,3 +2229,443 @@ OOVPA_NO_XREF(CDirectSoundStream_GetInfo, 3911, 17) { 0x48, 0xC2 }, { 0x49, 0x08 }, OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient_Set3dMaxDistance +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_Set3dMaxDistance, 3911, 12, + + XREF_CMcpxVoiceClient_Set3dMaxDistance, + XRefZero) + + // CMcpxVoiceClient_Set3dMaxDistance+0x04 : or byte ptr [ecx+0x80], 0x04 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0x80 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x04 }, + + // CMcpxVoiceClient_Set3dMaxDistance+0x10 : mov [ecx+0x54], eax + { 0x10, 0x89 }, + { 0x11, 0x41 }, + { 0x12, 0x54 }, + + // CMcpxVoiceClient_Set3dMaxDistance+0x1E : retn 0x08 + { 0x1E, 0xC2 }, + { 0x1F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetMaxDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 3911, 15, + + XREF_CDirectSoundVoice_SetMaxDistance, + XRefOne) + + // CDirectSoundVoice_SetMaxDistance+0x23 : call [CMcpxVoiceClient_Set3dMaxDistance] + XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_Set3dMaxDistance ), + + // CDirectSoundVoice_SetMaxDistance+0x0D : mov eax, [esp+0x14] + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x14 }, + + // CDirectSoundVoice_SetMaxDistance+0x11 : not eax + { 0x11, 0xF7 }, + { 0x12, 0xD0 }, + + // CDirectSoundVoice_SetMaxDistance+0x13 : and eax, 1 + { 0x13, 0x83 }, + { 0x14, 0xE0 }, + { 0x15, 0x01 }, + + // CDirectSoundVoice_SetMaxDistance+0x1C : mov ecx, [eax+0x14] + { 0x1C, 0x8B }, + { 0x1D, 0x48 }, + { 0x1E, 0x14 }, + + // CDirectSoundVoice_SetMaxDistance+0x3C : retn 0x0C + { 0x3C, 0xC2 }, + { 0x3D, 0x0C }, +OOVPA_END; +// ****************************************************************** +// * CDirectSoundBuffer::SetMaxDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 3911, 9, + + XREF_CDirectSoundBuffer_SetMaxDistance, + XRefOne) + + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMaxDistance ), + + { 0x01, 0x74 }, + { 0x04, 0xD9 }, + { 0x07, 0x0C }, + { 0x0A, 0x1C }, + { 0x0D, 0x74 }, + { 0x10, 0xE8 }, + { 0x15, 0xC2 }, + { 0x16, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMaxDistance +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMaxDistance ), + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, +OOVPA_END; +// ****************************************************************** +// * CDirectSoundStream_SetMaxDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 3911, 10, + + XREF_CDirectSoundStream_SetMaxDistance, + XRefOne) + + // CDirectSoundStream_SetMaxDistance+0x15 : call [CDirectSoundVoice_SetMaxDistance] + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMaxDistance ), + + // CDirectSoundStream_SetMaxDistance+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // CDirectSoundStream_SetMaxDistance+0x0D : add eax, 0x04 + { 0x0D, 0x83 }, + { 0x0E, 0xC0 }, + { 0x0F, 0x04 }, + + // CDirectSoundStream_SetMaxDistance+0x19 : retn 0x0C + { 0x19, 0xC2 }, + { 0x1A, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetMaxDistance +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundStream_SetMaxDistance, 3911, 11, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetMaxDistance+0x11 : call [CDirectSoundStream_SetMaxDistance] + XREF_ENTRY( 0x11, XREF_CDirectSoundStream_SetMaxDistance ), + + // CDirectSoundStream_SetMaxDistance+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // CDirectSoundStream_SetMaxDistance+0x0C : push [esp+0x0C] + { 0x0C, 0xFF }, + { 0x0D, 0x74 }, + { 0x0E, 0x24 }, + { 0x0F, 0x0C }, + + // CDirectSoundStream_SetMaxDistance+0x15 : retn 0x0C + { 0x15, 0xC2 }, + { 0x16, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient_Set3dMinDistance +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_Set3dMinDistance, 3911, 12, + + XREF_CMcpxVoiceClient_Set3dMinDistance, + XRefZero) + + // CMcpxVoiceClient_Set3dMinDistance+0x04 : or byte ptr [ecx+0x80], 0x04 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0x80 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x04 }, + + // CMcpxVoiceClient_Set3dMinDistance+0x10 : mov [ecx+0x50], eax + { 0x10, 0x89 }, + { 0x11, 0x41 }, + { 0x12, 0x50 }, + + // CMcpxVoiceClient_Set3dMinDistance+0x1E : retn 0x08 + { 0x1E, 0xC2 }, + { 0x1F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetMinDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 3911, 15, + + XREF_CDirectSoundVoice_SetMinDistance, + XRefOne) + + // CDirectSoundVoice_SetMinDistance+0x23 : call [CMcpxVoiceClient_Set3dMinDistance] + XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_Set3dMinDistance ), + + // CDirectSoundVoice_SetMinDistance+0x0D : mov eax, [esp+0x14] + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x14 }, + + // CDirectSoundVoice_SetMinDistance+0x11 : not eax + { 0x11, 0xF7 }, + { 0x12, 0xD0 }, + + // CDirectSoundVoice_SetMinDistance+0x13 : and eax, 1 + { 0x13, 0x83 }, + { 0x14, 0xE0 }, + { 0x15, 0x01 }, + + // CDirectSoundVoice_SetMinDistance+0x1C : mov ecx, [eax+0x14] + { 0x1C, 0x8B }, + { 0x1D, 0x48 }, + { 0x1E, 0x14 }, + + // CDirectSoundVoice_SetMinDistance+0x3C : retn 0x0C + { 0x3C, 0xC2 }, + { 0x3D, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetMinDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 3911, 9, + + XREF_CDirectSoundBuffer_SetMinDistance, + XRefOne) + + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMinDistance ), + + { 0x01, 0x74 }, + { 0x04, 0xD9 }, + { 0x07, 0x0C }, + { 0x0A, 0x1C }, + { 0x0D, 0x74 }, + { 0x10, 0xE8 }, + { 0x15, 0xC2 }, + { 0x16, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMinDistance +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMinDistance ), + + { 0x03, 0x0C }, + { 0x08, 0x8B }, + { 0x0D, 0x8B }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetMinDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetMinDistance, 3911, 10, + + XREF_CDirectSoundStream_SetMinDistance, + XRefOne) + + // CDirectSoundStream_SetMinDistance+0x15 : call [CDirectSoundVoice_SetMinDistance] + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMinDistance ), + + // CDirectSoundStream_SetMinDistance+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // CDirectSoundStream_SetMinDistance+0x0D : add eax, 0x04 + { 0x0D, 0x83 }, + { 0x0E, 0xC0 }, + { 0x0F, 0x04 }, + + // CDirectSoundStream_SetMinDistance+0x19 : retn 0x0C + { 0x19, 0xC2 }, + { 0x1A, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetMinDistance +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundStream_SetMinDistance, 3911, 11, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetMinDistance+0x11 : call [CDirectSoundStream_SetMinDistance] + XREF_ENTRY( 0x11, XREF_CDirectSoundStream_SetMinDistance ), + + // CDirectSoundStream_SetMinDistance+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // CDirectSoundStream_SetMinDistance+0x0C : push [esp+0x0C] + { 0x0C, 0xFF }, + { 0x0D, 0x74 }, + { 0x0E, 0x24 }, + { 0x0F, 0x0C }, + + // CDirectSoundStream_SetMinDistance+0x15 : retn 0x0C + { 0x15, 0xC2 }, + { 0x16, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient_Set3dConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_Set3dConeOutsideVolume, 3911, 12, + + XREF_CMcpxVoiceClient_Set3dConeOutsideVolume, + XRefZero) + + // CMcpxVoiceClient_Set3dConeOutsideVolume+0x04 : or dword ptr [eax+0x80], 0x10 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0x80 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x10 }, + + // CMcpxVoiceClient_Set3dConeOutsideVolume+0x10 : mov [ecx+0x4C], eax + { 0x10, 0x89 }, + { 0x11, 0x41 }, + { 0x12, 0x4C }, + + // CMcpxVoiceClient_Set3dConeOutsideVolume+0x1E : retn 0x08 + { 0x1E, 0xC2 }, + { 0x1F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 3911, 12, + + XREF_CDirectSoundVoice_SetConeOutsideVolume, + XRefOne) + + // CDirectSoundVoice_SetConeOutsideVolume+0x1F : call [CMcpxVoiceClient_Set3dConeOutsideVolume] + XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_Set3dConeOutsideVolume ), + + // CDirectSoundVoice_SetConeOutsideVolume+0x09 : mov eax, [esp+0x14] + { 0x09, 0x8B }, + { 0x0A, 0x44 }, + { 0x0B, 0x24 }, + { 0x0C, 0x14 }, + + // CDirectSoundVoice_SetConeOutsideVolume+0x0D : not eax; and eax, 1 + { 0x0D, 0xF7 }, + { 0x0E, 0xD0 }, + { 0x0F, 0x83 }, + { 0x10, 0xE0 }, + { 0x11, 0x01 }, + + // CDirectSoundVoice_SetConeOutsideVolume+0x38 : retn 0x0C + { 0x38, 0xC2 }, + { 0x39, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundBuffer_SetConeOutsideVolume+0x00 : jmp CDirectSoundVoice_SetConeOutsideVolume + XREF_ENTRY( 0x1, XREF_CDirectSoundVoice_SetConeOutsideVolume ), + + // CDirectSoundBuffer_SetConeOutsideVolume+0x00 : jmp + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetConeOutsideVolume+0x18 : call [CDirectSoundVoice_SetConeOutsideVolume] + XREF_ENTRY(0x19, XREF_CDirectSoundVoice_SetConeOutsideVolume ), + + // IDirectSoundBuffer_SetConeOutsideVolume+0x0A : push [esp+4+arg_4] + { 0x0A, 0xFF }, + { 0x0B, 0x74 }, + { 0x0C, 0x24 }, + { 0x0D, 0x0C }, + + // IDirectSoundBuffer_SetConeOutsideVolume+0x15 : and ecx, eax + { 0x15, 0x23 }, + { 0x16, 0xC8 }, + + // IDirectSoundBuffer_SetConeOutsideVolume+0x1D : retn 0Ch + { 0x1E, 0x0C }, + { 0x1F, 0x00 } +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetConeOutsideVolume+0x11 : call [CDirectSoundVoice_SetConeOutsideVolume] + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetConeOutsideVolume ), + + // CDirectSoundStream_SetConeOutsideVolume+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetConeOutsideVolume+0x0C : add eax, 0x04 + { 0x0C, 0x83 }, + { 0x0D, 0xC0 }, + { 0x0E, 0x04 }, + + // CDirectSoundStream_SetConeOutsideVolume+0x15 : retn 0x0C + { 0x15, 0xC2 }, + { 0x16, 0x0C }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index b79bc68e2..66928c19b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -1367,17 +1367,15 @@ OOVPA_XREF(CDirectSoundStream_SetConeAngles, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x10 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_Set3dConeOutsideVolume // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_Set3dConeOutsideVolume, 3936, 12, - XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B, + XREF_CMcpxVoiceClient_Set3dConeOutsideVolume, XRefZero) - // TODO: re-use for CDirectSoundBuffer_SetConeOutsideVolumeB!? - // CMcpxVoiceClient_Set3dConeOutsideVolume+0x04 : or dword ptr [eax+0x80], 0x10 { 0x04, 0x83 }, { 0x05, 0x89 }, @@ -1396,19 +1394,18 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dConeOutsideVolume, 3936, 12, { 0x1E, 0xC2 }, { 0x1F, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetConeOutsideVolume // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 3936, 12, - XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A, + XREF_CDirectSoundVoice_SetConeOutsideVolume, XRefOne) - // TODO: re-use for CDirectSoundBuffer_SetConeOutsideVolumeA!? - // CDirectSoundVoice_SetConeOutsideVolume+0x1F : call [CMcpxVoiceClient_Set3dConeOutsideVolume] - XREF_ENTRY( 0x1F, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1B ), + XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_Set3dConeOutsideVolume ), // CDirectSoundVoice_SetConeOutsideVolume+0x09 : mov eax, [esp+0x14] { 0x09, 0x8B }, @@ -1427,7 +1424,8 @@ OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 3936, 12, { 0x38, 0xC2 }, { 0x39, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetConeOutsideVolume // ****************************************************************** @@ -1437,7 +1435,7 @@ OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 3936, 10, XRefOne) // CDirectSoundStream_SetConeOutsideVolume+0x11 : call [CDirectSoundVoice_SetConeOutsideVolume] - XREF_ENTRY( 0x11, XREF_DSSTREAMSETCONEOUTSIDEVOLUME1A ), + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetConeOutsideVolume ), // CDirectSoundStream_SetConeOutsideVolume+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, @@ -1454,7 +1452,8 @@ OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 3936, 10, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_Set3dMaxDistance // ****************************************************************** @@ -1463,8 +1462,6 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dMaxDistance, 3936, 12, XREF_CMcpxVoiceClient_Set3dMaxDistance, XRefZero) - // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceC!? - // CMcpxVoiceClient_Set3dMaxDistance+0x04 : or byte ptr [ecx+0x80], 0x04 { 0x04, 0x83 }, { 0x05, 0x89 }, @@ -1483,7 +1480,8 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dMaxDistance, 3936, 12, { 0x1E, 0xC2 }, { 0x1F, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetMaxDistance // ****************************************************************** @@ -1492,8 +1490,6 @@ OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 3936, 15, XREF_CDirectSoundVoice_SetMaxDistance, XRefOne) - // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceB!? - // CDirectSoundVoice_SetMaxDistance+0x23 : call [CMcpxVoiceClient_Set3dMaxDistance] XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_Set3dMaxDistance ), @@ -1521,7 +1517,8 @@ OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 3936, 15, { 0x3C, 0xC2 }, { 0x3D, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetMaxDistance // ****************************************************************** @@ -1530,8 +1527,6 @@ OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 3936, 10, XREF_CDirectSoundStream_SetMaxDistance, XRefOne) - // TODO: re-use for CDirectSoundBuffer_SetMaxDistanceA!? - // CDirectSoundStream_SetMaxDistance+0x15 : call [CDirectSoundVoice_SetMaxDistance] XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMaxDistance ), @@ -1550,7 +1545,8 @@ OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundStream_SetMaxDistance // ****************************************************************** @@ -1578,7 +1574,8 @@ OOVPA_XREF(IDirectSoundStream_SetMaxDistance, 3936, 11, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_Set3dMinDistance // ****************************************************************** @@ -1587,8 +1584,6 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dMinDistance, 3936, 12, XREF_CMcpxVoiceClient_Set3dMinDistance, XRefZero) - // TODO: re-use for CDirectSoundBuffer_SetMinDistanceC!? - // CMcpxVoiceClient_Set3dMinDistance+0x04 : or byte ptr [ecx+0x80], 0x04 { 0x04, 0x83 }, { 0x05, 0x89 }, @@ -1607,7 +1602,8 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dMinDistance, 3936, 12, { 0x1E, 0xC2 }, { 0x1F, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetMinDistance // ****************************************************************** @@ -1616,8 +1612,6 @@ OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 3936, 15, XREF_CDirectSoundVoice_SetMinDistance, XRefOne) - // TODO: re-use for CDirectSoundBuffer_SetMinDistanceB!? - // CDirectSoundVoice_SetMinDistance+0x23 : call [CMcpxVoiceClient_Set3dMinDistance] XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_Set3dMinDistance ), @@ -1645,7 +1639,8 @@ OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 3936, 15, { 0x3C, 0xC2 }, { 0x3D, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetMinDistance // ****************************************************************** @@ -1654,8 +1649,6 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistance, 3936, 10, XREF_CDirectSoundStream_SetMinDistance, XRefOne) - // TODO: re-use for CDirectSoundBuffer_SetMinDistanceA!? - // CDirectSoundStream_SetMinDistance+0x15 : call [CDirectSoundVoice_SetMinDistance] XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMinDistance ), @@ -1674,7 +1667,8 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistance, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetMinDistance // ****************************************************************** @@ -1702,7 +1696,7 @@ OOVPA_XREF(IDirectSoundStream_SetMinDistance, 3936, 11, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxVoiceClient_Set3dVelocity // ****************************************************************** @@ -3455,6 +3449,7 @@ OOVPA_NO_XREF(IDirectSoundBuffer_AddRef, 3936, 10) { 0x12, 0x04 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::SetMinDistance // ****************************************************************** @@ -3474,11 +3469,12 @@ OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 3936, 9, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetMinDistance // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 3936, 8, +OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 3911, 8, XRefNoSaveIndex, XRefOne) @@ -3493,7 +3489,8 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 3936, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::SetMaxDistance // ****************************************************************** @@ -3513,11 +3510,12 @@ OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 3936, 9, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetMaxDistance // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 3936, 8, +OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 3911, 8, XRefNoSaveIndex, XRefOne) @@ -3532,7 +3530,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 3936, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxVoiceClient::Commit3dSettings // ****************************************************************** @@ -3925,59 +3923,6 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeOrientation, 3936, 9, { 0x34, 0x00 } OOVPA_END; -//TODO: Need another OOVPA reference since Halo has a match for CDirectSoundStream_SetConeOutsideVolume signature. -// ****************************************************************** -// * CDirectSoundBuffer::SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 3936, 11, - - XREF_DSBUFFERSETCONEOUTSIDEVOLUME, - XRefZero) - - // CDirectSoundBuffer_SetConeOutsideVolume+0x09 : mov eax,dword ptr [esp+14h] - { 0x09, 0x8B }, - { 0x0A, 0x44 }, - { 0x0B, 0x24 }, - { 0x0C, 0x14 }, - - // CDirectSoundBuffer_SetConeOutsideVolume+0x17 : push [esp+0Ch+arg_0] - { 0x17, 0xFF }, - { 0x18, 0x74 }, - { 0x19, 0x24 }, - { 0x1A, 0x14 }, - - // CDirectSoundBuffer_SetConeOutsideVolume+0x38 : retn 0Ch - { 0x38, 0xC2 }, - { 0x39, 0x0C }, - { 0x3A, 0x00 } -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetConeOutsideVolume -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 3936, 9, - - XRefNoSaveIndex, - XRefOne) - - // IDirectSoundBuffer_SetConeOutsideVolume+0x18 : call [CDirectSoundBuffer::SetConeOutsideVolume] - XREF_ENTRY(0x19, XREF_DSBUFFERSETCONEOUTSIDEVOLUME), - - // IDirectSoundBuffer_SetConeOutsideVolume+0x0A : push [esp+4+arg_4] - { 0x0A, 0xFF }, - { 0x0B, 0x74 }, - { 0x0C, 0x24 }, - { 0x0D, 0x0C }, - - // IDirectSoundBuffer_SetConeOutsideVolume+0x15 : and ecx, eax - { 0x15, 0x23 }, - { 0x16, 0xC8 }, - - // IDirectSoundBuffer_SetConeOutsideVolume+0x1D : retn 0Ch - { 0x1E, 0x0C }, - { 0x1F, 0x00 } -OOVPA_END; - // ****************************************************************** // * DSound_3936 // ****************************************************************** @@ -4026,20 +3971,20 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 3936, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeAngles, 3936, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_Set3dConeOutsideVolume, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dConeOutsideVolume, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 3911, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dParameters, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetAllParameters, 3936, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_Set3dMaxDistance, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetMaxDistance, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundStream_SetMaxDistance, 3936, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_Set3dMinDistance, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundStream_SetMinDistance, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dMaxDistance, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 3911, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetMaxDistance, 3911, PATCH), + REGISTER_OOVPA(IDirectSoundStream_SetMaxDistance, 3911, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dMinDistance, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 3911, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 3911, PATCH), + REGISTER_OOVPA(IDirectSoundStream_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dVelocity, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetVelocity, 3936, PATCH), @@ -4105,10 +4050,10 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Commit3dSettings, 3936, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetI3DL2Source, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 3936, XREF), @@ -4126,8 +4071,8 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundStream_Pause, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), // TODO: Add CDirectSoundBuffer_SetLoopRegion before 3935-ish }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index f565353bb..d7dbe98de 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -1773,7 +1773,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4039, 15, - XREF_DSVOICESETCONEOUTSIDEVOLUME, + XREF_CDirectSoundVoice_SetConeOutsideVolume, XRefZero) // CDirectSoundVoice_SetConeOutsideVolume+0x07 : mov edx, [esp+arg_4] @@ -1804,11 +1804,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 4039, 12, - XREF_DSBUFFERSETCONEOUTSIDEVOLUME, + XREF_CDirectSoundBuffer_SetConeOutsideVolume, XRefOne) // CDirectSoundBuffer_SetConeOutsideVolume+0x35 : call [CDirectSoundVoice::SetConeOutsideVolume] - XREF_ENTRY( 0x35, XREF_DSVOICESETCONEOUTSIDEVOLUME ), + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetConeOutsideVolume ), // CDirectSoundBuffer_SetConeOutsideVolume+0x00 : push esi { 0x00, 0x56 }, @@ -1830,6 +1830,33 @@ OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 4039, 12, { 0x4F, 0x0C }, OOVPA_END; +// ****************************************************************** +// * IDirectSoundBuffer_SetConeOutsideVolume +// ****************************************************************** +// Generic OOVPA as of 4039 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 4039, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetConeOutsideVolume+0x18 : call [CDirectSoundBuffer_SetConeOutsideVolume] + XREF_ENTRY(0x19, XREF_CDirectSoundBuffer_SetConeOutsideVolume ), + + // IDirectSoundBuffer_SetConeOutsideVolume+0x0A : push [esp+4+arg_4] + { 0x0A, 0xFF }, + { 0x0B, 0x74 }, + { 0x0C, 0x24 }, + { 0x0D, 0x0C }, + + // IDirectSoundBuffer_SetConeOutsideVolume+0x15 : and ecx, eax + { 0x15, 0x23 }, + { 0x16, 0xC8 }, + + // IDirectSoundBuffer_SetConeOutsideVolume+0x1D : retn 0Ch + { 0x1E, 0x0C }, + { 0x1F, 0x00 } +OOVPA_END; + // ****************************************************************** // * CDirectSoundVoice::SetMaxDistance // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 31a3cb0ef..285a4bf5a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -1204,7 +1204,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 4134, 10, - XREF_DSBUFFERSETMAXDISTANCE, + XREF_CDirectSoundBuffer_SetMaxDistance, XRefOne) // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] @@ -1236,7 +1236,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 4134, 10, XRefOne) // IDirectSoundBuffer_SetMaxDistance+0x1C : call [CDirectSoundBuffer::SetMaxDistance] - XREF_ENTRY( 0x1D, XREF_DSBUFFERSETMAXDISTANCE ), + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMaxDistance ), // IDirectSoundBuffer_SetMaxDistance+0x04 : fld [esp+4+arg_4] { 0x04, 0xD9 }, @@ -1279,7 +1279,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4134, 12, - XREF_DSVOICESETMINDISTANCE, + XREF_CDirectSoundVoice_SetMinDistance, XRefZero) // CDirectSoundVoice_SetMinDistance+0x0D : mov edx, [esp+arg_4] @@ -1307,11 +1307,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 4134, 10, - XREF_DSBUFFERSETMINDISTANCE, + XREF_CDirectSoundBuffer_SetMinDistance, XRefOne) // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance] - XREF_ENTRY( 0x3A, XREF_DSVOICESETMINDISTANCE ), + XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMinDistance ), // CDirectSoundBuffer_SetMinDistance+0x21 : mov eax, 80004005h { 0x22, 0x05 }, @@ -1338,7 +1338,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 4134, 10, XRefOne) // IDirectSoundBuffer_SetMinDistance+0x1C : call [CDirectSoundBuffer::SetMinDistance] - XREF_ENTRY( 0x1D, XREF_DSBUFFERSETMINDISTANCE ), + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMinDistance ), // IDirectSoundBuffer_SetMinDistance+0x04 : fld [esp+4+arg_4] { 0x04, 0xD9 }, @@ -1365,7 +1365,7 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistance, 4134, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x3E, XREF_DSVOICESETMINDISTANCE ), + XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetMinDistance ), { 0x00, 0x56 }, { 0x0C, 0x00 }, @@ -1714,7 +1714,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4134, 12, - XREF_DSVOICESETCONEOUTSIDEVOLUME, + XREF_CDirectSoundVoice_SetConeOutsideVolume, XRefZero) // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] @@ -1742,11 +1742,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 4134, 11, - XREF_DSBUFFERSETCONEOUTSIDEVOLUME, + XREF_CDirectSoundBuffer_SetConeOutsideVolume, XRefOne) // CDirectSoundBuffer_SetConeOutsideVolume+0x35 : call [CDirectSoundVoice::SetConeOutsideVolume] - XREF_ENTRY( 0x36, XREF_DSVOICESETCONEOUTSIDEVOLUME ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetConeOutsideVolume ), // CDirectSoundBuffer_SetConeOutsideVolume+0x21 : mov eax, 80004005h { 0x22, 0x05 }, @@ -1773,7 +1773,7 @@ OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 4134, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x3A, XREF_DSVOICESETCONEOUTSIDEVOLUME ), + XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetConeOutsideVolume ), { 0x00, 0x56 }, { 0x0C, 0x00 }, @@ -3040,11 +3040,11 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMaxDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 4134, XREF), // s+ REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), @@ -3062,7 +3062,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 30b477d82..30b927efe 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -605,7 +605,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4361, 12, - XREF_DSVOICESETMINDISTANCE, + XREF_CDirectSoundVoice_SetMinDistance, XRefZero) // CDirectSoundVoice_SetMinDistance+0x0D : mov edx, [esp+arg_4] @@ -689,7 +689,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 4361, 12, - XREF_DSVOICESETCONEOUTSIDEVOLUME, + XREF_CDirectSoundVoice_SetConeOutsideVolume, XRefZero) // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 1b8ea4cdf..5c119aff4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -142,10 +142,10 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index b443cfc62..5ed25b3dd 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1564,10 +1564,10 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 4134, XREF), // s+ REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), @@ -1582,7 +1582,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index f88752e36..792d55672 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -140,11 +140,11 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMaxDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 4134, XREF), // s+ REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), @@ -162,7 +162,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index ab7e7fa4a..7d1c8ffc6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -438,10 +438,10 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), @@ -518,7 +518,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index f9e4c7a55..33a27fc86 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -37,7 +37,7 @@ // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 5344, 9, - XREF_DSVOICESETMINDISTANCE, + XREF_CDirectSoundVoice_SetMinDistance, XRefZero) { 0x05, 0x41 }, @@ -55,11 +55,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 5344, 11, - XREF_DSBUFFERSETMINDISTANCE, + XREF_CDirectSoundBuffer_SetMinDistance, XRefOne) // CDirectSoundBuffer_SetMinDistance+0x39 : call [CDirectSoundVoice::SetMinDistance] - XREF_ENTRY( 0x3A, XREF_DSVOICESETMINDISTANCE ), + XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMinDistance ), { 0x00, 0x56 }, // CDirectSoundBuffer_SetMinDistance+0x21 : mov eax, 80004005h @@ -86,7 +86,7 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistance, 5344, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x3E, XREF_DSVOICESETMINDISTANCE ), + XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetMinDistance ), { 0x0C, 0x00 }, { 0x16, 0x68 }, @@ -274,7 +274,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 5344, 11, - XREF_DSBUFFERSETMAXDISTANCE, + XREF_CDirectSoundBuffer_SetMaxDistance, XRefOne) // CDirectSoundBuffer_SetMaxDistance+0x39 : call [CDirectSoundVoice::SetMaxDistance] @@ -296,7 +296,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 5344, 11, { 0x54, 0x0C }, { 0x55, 0x00 } OOVPA_END; - +#if 0 // Duplicate OOVPA, replacing with generic OOVPA // ****************************************************************** // * IDirectSoundBuffer_SetMaxDistance // ****************************************************************** @@ -306,7 +306,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 5344, 11, XRefOne) // IDirectSoundBuffer_SetMaxDistance+0x1C : call [CDirectSoundBuffer::SetMaxDistance] - XREF_ENTRY( 0x1D, XREF_DSBUFFERSETMAXDISTANCE ), + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMaxDistance ), { 0x00, 0xFF }, // IDirectSoundBuffer_SetMaxDistance+0x04 : fld [esp+4+arg_4] @@ -324,7 +324,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 5344, 11, { 0x22, 0x0C }, { 0x23, 0x00 } OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSound::SetRolloffFactor // ****************************************************************** @@ -691,7 +691,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeOutsideVolume, 5344, 12, - XREF_DSVOICESETCONEOUTSIDEVOLUME, + XREF_CDirectSoundVoice_SetConeOutsideVolume, XRefZero) // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] @@ -950,11 +950,11 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5344, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 5344, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), @@ -1031,7 +1031,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 6137b083b..56a146282 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -707,7 +707,7 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistance, 5558, 8, { 0x46, 0x74 }, { 0x53, 0x8B }, OOVPA_END; - +#if 0 // Duplicate OOVPA, replacing with generic OOVPA 3911 // ****************************************************************** // * IDirectSoundBuffer_SetMinDistance // ****************************************************************** @@ -717,7 +717,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 5558, 11, XRefOne) // IDirectSoundBuffer_SetMinDistance+0x1C : call [CDirectSoundBuffer::SetMinDistance] - XREF_ENTRY( 0x1D, XREF_DSBUFFERSETMINDISTANCE ), + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMinDistance ), { 0x00, 0xFF }, // IDirectSoundBuffer_SetMinDistance+0x04 : fld [esp+4+arg_4] @@ -735,7 +735,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 5558, 11, { 0x22, 0x0C }, { 0x23, 0x00 } OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundVoice::CommitDeferredSettings // ****************************************************************** @@ -1669,11 +1669,11 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5344, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 9d3367117..55cc54981 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -209,7 +209,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMaxDistance, 5788, 8, - XREF_DSBUFFERSETMAXDISTANCE, + XREF_CDirectSoundBuffer_SetMaxDistance, XRefOne) XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMaxDistance ), @@ -228,10 +228,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 5788, 8, - XREF_DSBUFFERSETMINDISTANCE, + XREF_CDirectSoundBuffer_SetMinDistance, XRefOne) - XREF_ENTRY( 0x3A, XREF_DSVOICESETMINDISTANCE ), + XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMinDistance ), { 0x0C, 0x00 }, { 0x14, 0x74 }, @@ -241,7 +241,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMinDistance, 5788, 8, { 0x40, 0x8B }, { 0x4F, 0x8B }, OOVPA_END; - +#if 0 // Duplicate OOVPA, replacing with generic OOVPA 3911 // ****************************************************************** // * IDirectSoundBuffer_SetMaxDistance // ****************************************************************** @@ -250,7 +250,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 5788, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x1D, XREF_DSBUFFERSETMAXDISTANCE ), + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMaxDistance ), { 0x03, 0x0C }, { 0x08, 0x8B }, @@ -260,7 +260,8 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 5788, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; - +#endif +#if 0 // Duplicate OOVPA, replacing with generic OOVPA 3911 // ****************************************************************** // * IDirectSoundBuffer_SetMinDistance // ****************************************************************** @@ -269,7 +270,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 5788, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x1D, XREF_DSBUFFERSETMINDISTANCE ), + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetMinDistance ), { 0x03, 0x0C }, { 0x08, 0x8B }, @@ -279,6 +280,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMinDistance, 5788, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; +#endif #if 0 // Not 5788 // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetVolume @@ -586,10 +588,10 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5788, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 5788, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index ed89740a5..e2beb28de 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -127,10 +127,10 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 5788, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 5788, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_StopEx, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 0ba2aeb81..2cdfad023 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -84,9 +84,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOrientation, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOutsideVolume, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMaxDistance, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMinDistance, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOutsideVolume, XREF, 3911), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMaxDistance, XREF, 3911), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMinDistance, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMode, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dPosition, XREF, 3936), @@ -104,7 +104,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 3936, 4039, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 3936, 4039, 4134, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 3911, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetEG, XREF, 3911, 4039), @@ -114,8 +114,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3911, 4039, 4134, 4627, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3936, 4039, 4134, 4361, 5344), - REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3936, 4039, 4134, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3911, 4039, 4134, 4361, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3911, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3911, 4039, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4039, 4134, 5233, 5344), @@ -137,7 +137,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3911, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3936, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3936, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 3936, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetDopplerFactor, XREF, 4134, 5558), @@ -149,8 +149,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4039, 4242), REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 4039, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3936, 4039, 4134, 5344, 5788), - REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3936, 4039, 4134, 5344, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3911, 4039, 4134, 5344, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3911, 4039, 4134, 5344, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBins, XREF, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4039, 4134, 5233), @@ -176,7 +176,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3936), REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242), @@ -184,8 +184,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3936, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3936, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3936, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3911, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3911, 4134, 5344), REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3936, 4627, 5233, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. @@ -230,7 +230,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3911, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3936), - REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetDistanceFactor, PATCH, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetDopplerFactor, PATCH, 4134, 5558), @@ -242,8 +242,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3936, 5344, 5788), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3936, 5558, 5788), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3911 /*,5344, 5788*/), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3911 /*, 5558, 5788*/), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3911, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. @@ -264,8 +264,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, PATCH, 3936), //REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911), //TODO: IDirectSoundStream_SetEG and CDirectSoundStream_SetEG has 2 seperate functions. Except has the same asm codes. - REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, PATCH, 3936), - REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetPosition, PATCH, 3936), REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911), From ceb06a94b14f425f00d9d87f5c5a39c3e57d4dc1 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 17 Sep 2017 00:49:25 -0500 Subject: [PATCH 065/146] Lower Few XAPI OOVPAs Support reference to #732 fix [4242] Gauntlet: Dark Legacy title to run properly. --- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl | 20 ++++++++++---------- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl | 10 +++++----- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl | 8 ++++---- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl | 10 +++++----- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl | 10 +++++----- 11 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl index 0c6cb944b..032da95f9 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl @@ -35,7 +35,7 @@ // ****************************************************************** // * XInputOpen // ****************************************************************** -OOVPA_NO_XREF(XInputOpen, 4361, 12) +OOVPA_NO_XREF(XInputOpen, 4242, 12) // XInputOpen+0x14 : push 0x57 { 0x14, 0x6A }, @@ -65,7 +65,7 @@ OOVPA_END; // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** -OOVPA_XREF(XID_fCloseDevice, 4361, 11, +OOVPA_XREF(XID_fCloseDevice, 4242, 11, XREF_FCLOSEDEVICE, XRefZero) @@ -93,7 +93,7 @@ OOVPA_END; // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** -OOVPA_NO_XREF(XInputGetCapabilities, 4361, 14) +OOVPA_NO_XREF(XInputGetCapabilities, 4242, 14) // XInputGetCapabilities+0x03 : sub esp, 0x48 { 0x03, 0x83 }, @@ -123,7 +123,7 @@ OOVPA_END; // ****************************************************************** // * XInputGetState // ****************************************************************** -OOVPA_NO_XREF(XInputGetState, 4361, 12) +OOVPA_NO_XREF(XInputGetState, 4242, 12) // XInputGetState+0x0E : mov ecx, [edx+0x0A3] { 0x0E, 0x8B }, @@ -151,7 +151,7 @@ OOVPA_END; // ****************************************************************** // * XInputSetState // ****************************************************************** -OOVPA_NO_XREF(XInputSetState, 4361, 12) +OOVPA_NO_XREF(XInputSetState, 4242, 12) // XInputSetState+0x04 : lea eax, [ecx+0x0A3] { 0x04, 0x8D }, @@ -384,12 +384,12 @@ OOVPATable XAPI_4361[] = { REGISTER_OOVPA(XInitDevices, 3911, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), - REGISTER_OOVPA(XInputOpen, 4361, PATCH), - REGISTER_OOVPA(XID_fCloseDevice, 4361, XREF), + REGISTER_OOVPA(XInputOpen, 4242, PATCH), + REGISTER_OOVPA(XID_fCloseDevice, 4242, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), - REGISTER_OOVPA(XInputGetCapabilities, 4361, PATCH), - REGISTER_OOVPA(XInputGetState, 4361, PATCH), - REGISTER_OOVPA(XInputSetState, 4361, PATCH), + REGISTER_OOVPA(XInputGetCapabilities, 4242, PATCH), + REGISTER_OOVPA(XInputGetState, 4242, PATCH), + REGISTER_OOVPA(XInputSetState, 4242, PATCH), // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), REGISTER_OOVPA(XMountUtilityDrive, 4134, PATCH), // TODO: This needs to be verified on 4361, not just 4242! REGISTER_OOVPA(CreateFiber, 3911, DISABLED), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl index 45bbd2540..ce12f0848 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl @@ -62,12 +62,12 @@ OOVPATable XAPI_4432[] = { REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), REGISTER_OOVPA(XInitDevices, 3911, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), - REGISTER_OOVPA(XInputOpen, 4361, PATCH), - REGISTER_OOVPA(XID_fCloseDevice, 4361, XREF), + REGISTER_OOVPA(XInputOpen, 4242, PATCH), + REGISTER_OOVPA(XID_fCloseDevice, 4242, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), - REGISTER_OOVPA(XInputGetCapabilities, 4361, PATCH), - REGISTER_OOVPA(XInputGetState, 4361, PATCH), - REGISTER_OOVPA(XInputSetState, 4361, PATCH), + REGISTER_OOVPA(XInputGetCapabilities, 4242, PATCH), + REGISTER_OOVPA(XInputGetState, 4242, PATCH), + REGISTER_OOVPA(XInputSetState, 4242, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), REGISTER_OOVPA(GetExitCodeThread, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl index fa3af6d6d..2b6d6b985 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl @@ -339,15 +339,15 @@ OOVPATable XAPI_4627[] = { REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), REGISTER_OOVPA(XInitDevices, 3911, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), - REGISTER_OOVPA(XInputOpen, 4361, PATCH), + REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(XID_fCloseDevice, 4627, XREF), REGISTER_OOVPA(XID_fCloseDevice, 4928, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), - REGISTER_OOVPA(XInputGetCapabilities, 4361, PATCH), - REGISTER_OOVPA(XInputGetState, 4361, PATCH), + REGISTER_OOVPA(XInputGetCapabilities, 4242, PATCH), + REGISTER_OOVPA(XInputGetState, 4242, PATCH), REGISTER_OOVPA(XInputGetState, 4928, PATCH), - REGISTER_OOVPA(XInputSetState, 4361, PATCH), + REGISTER_OOVPA(XInputSetState, 4242, PATCH), REGISTER_OOVPA(XInputSetState, 4928, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl index 44370bb5a..8784d2fab 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl @@ -47,11 +47,11 @@ OOVPATable XAPI_4721[] = { REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), REGISTER_OOVPA(XInitDevices, 3911, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), - REGISTER_OOVPA(XInputOpen, 4361, PATCH), - REGISTER_OOVPA(XInputGetCapabilities, 4361, PATCH), - REGISTER_OOVPA(XInputGetState, 4361, PATCH), - REGISTER_OOVPA(XInputSetState, 4361, PATCH), - REGISTER_OOVPA(XID_fCloseDevice, 4361, XREF), + REGISTER_OOVPA(XInputOpen, 4242, PATCH), + REGISTER_OOVPA(XInputGetCapabilities, 4242, PATCH), + REGISTER_OOVPA(XInputGetState, 4242, PATCH), + REGISTER_OOVPA(XInputSetState, 4242, PATCH), + REGISTER_OOVPA(XID_fCloseDevice, 4242, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl index 385879b2e..cd5c402e1 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl @@ -70,7 +70,7 @@ OOVPATable XAPI_5028[] = { REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), REGISTER_OOVPA(XInitDevices, 3911, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), - REGISTER_OOVPA(XInputOpen, 4361, PATCH), + REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(XID_fCloseDevice, 4928, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl index 4804c2a25..9a24302e5 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl @@ -108,7 +108,7 @@ OOVPATable XAPI_5233[] = { REGISTER_OOVPA(XInitDevices, 5233, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), - REGISTER_OOVPA(XInputOpen, 4361, PATCH), + REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XInputGetCapabilities, 5233, PATCH), REGISTER_OOVPA(XID_fCloseDevice, 4928, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl index fa1ed6b86..130eca57b 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl @@ -91,7 +91,7 @@ OOVPATable XAPI_5344[] = { REGISTER_OOVPA(XInitDevices, 5233, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), - REGISTER_OOVPA(XInputOpen, 4361, PATCH), + REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XInputGetCapabilities, 5233, PATCH), REGISTER_OOVPA(XID_fCloseDevice, 4928, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl index ffebe831c..0453f25bc 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl @@ -187,7 +187,7 @@ OOVPATable XAPI_5558[] = { REGISTER_OOVPA(XInitDevices, 5233, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), - REGISTER_OOVPA(XInputOpen, 4361, PATCH), + REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XInputGetCapabilities, 5558, PATCH), REGISTER_OOVPA(XInputGetState, 5558, PATCH), REGISTER_OOVPA(XInputSetState, 5233, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl index 59387b661..8335b3ff3 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl @@ -125,7 +125,7 @@ OOVPATable XAPI_5788[] = { REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), REGISTER_OOVPA(XInitDevices, 5233, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), - REGISTER_OOVPA(XInputOpen, 4361, PATCH), + REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XInputGetCapabilities, 5558, PATCH), REGISTER_OOVPA(XInputGetState, 5558, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), // Was PATCH diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl index 90a39a857..ac94ffcd1 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl @@ -99,7 +99,7 @@ OOVPATable XAPI_5849[] = { REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), REGISTER_OOVPA(XInitDevices, 5233, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), - REGISTER_OOVPA(XInputOpen, 4361, PATCH), + REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XID_fCloseDevice, 5558, XREF), REGISTER_OOVPA(XInputClose, 5558, PATCH), REGISTER_OOVPA(XInputGetCapabilities, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl index 40d5d5966..156931401 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl @@ -105,15 +105,15 @@ OOVPATable XAPILIB_OOVPAV2[] = { REGISTER_OOVPAS(XGetDeviceEnumerationStatus, PATCH, 4831), REGISTER_OOVPAS(XGetDevices, PATCH, 3911), REGISTER_OOVPAS(XGetLaunchInfo, DISABLED, 3911), - REGISTER_OOVPAS(XID_fCloseDevice, XREF, 3911, 4361, 4627, 4928, 5558), + REGISTER_OOVPAS(XID_fCloseDevice, XREF, 3911, 4242, 4627, 4928, 5558), REGISTER_OOVPAS(XInitDevices, PATCH, 3911, 5233), REGISTER_OOVPAS(XInputClose, PATCH, 3911, 5558), - REGISTER_OOVPAS(XInputGetCapabilities, PATCH, 3911, 4361, 4831, 5233, 5558), + REGISTER_OOVPAS(XInputGetCapabilities, PATCH, 3911, 4242, 4831, 5233, 5558), REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 5344), - REGISTER_OOVPAS(XInputGetState, PATCH, 3911, 4134, 4361, 4928, 5558), - REGISTER_OOVPAS(XInputOpen, PATCH, 3911, 4134, 4361), + REGISTER_OOVPAS(XInputGetState, PATCH, 3911, 4134, 4242, 4928, 5558), + REGISTER_OOVPAS(XInputOpen, PATCH, 3911, 4134, 4242), REGISTER_OOVPAS(XInputPoll, PATCH, 3911), - REGISTER_OOVPAS(XInputSetState, PATCH, 3911, 4361, 4928, 5233), + REGISTER_OOVPAS(XInputSetState, PATCH, 3911, 4242, 4928, 5233), REGISTER_OOVPAS(XLaunchNewImageA, PATCH, 3911, 4721, 5344, 5558), REGISTER_OOVPAS(XMountAlternateTitleA, PATCH, 3911, 5028, 5558), REGISTER_OOVPAS(XMountMUA, PATCH, 3911, 4361), From 9cbec6a0731d5e033ff2bbac7457fedec3f9e4f3 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 17 Sep 2017 20:48:23 +0900 Subject: [PATCH 066/146] Lower XAPI OOVPAs Support reference to #732 fix XDK 4242, 5120, 5455. Source: NFL Blitz 2002 (4242) Super Bubble Pop (5120) NCAA Football 2004 (5455) --- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl | 12 +++++----- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl | 6 ++--- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl | 6 ++--- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl | 6 ++--- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl | 6 ++--- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl | 10 ++++---- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl | 8 +++---- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl | 28 +++++++++++----------- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl | 18 +++++++------- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl | 18 +++++++------- src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl | 18 +++++++------- 11 files changed, 68 insertions(+), 68 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl index 032da95f9..197f0372b 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl @@ -322,7 +322,7 @@ OOVPA_END; // ****************************************************************** // * XMountMUA // ****************************************************************** -OOVPA_NO_XREF(XMountMUA, 4361, 8) // generic version +OOVPA_NO_XREF(XMountMUA, 4242, 8) // generic version { 0x22, 0x8A }, { 0x3E, 0x89 }, @@ -337,7 +337,7 @@ OOVPA_END; // ****************************************************************** // * XFormatUtilityDrive // ****************************************************************** -OOVPA_NO_XREF(XFormatUtilityDrive, 4361, 12) +OOVPA_NO_XREF(XFormatUtilityDrive, 4242, 12) { 0x02, 0xEC }, { 0x10, 0x50 }, @@ -358,7 +358,7 @@ OOVPA_END; // ****************************************************************** // * XMountMURootA // ****************************************************************** -OOVPA_NO_XREF(XMountMURootA, 4361, 12) +OOVPA_NO_XREF(XMountMURootA, 4242, 12) { 0x16, 0xBF }, { 0x22, 0x8A }, @@ -403,17 +403,17 @@ OOVPATable XAPI_4361[] = { REGISTER_OOVPA(SetThreadPriorityBoost, 3911, PATCH), REGISTER_OOVPA(SignalObjectAndWait, 3911, PATCH), REGISTER_OOVPA(QueueUserAPC, 3911, PATCH), - REGISTER_OOVPA(XMountMUA, 4361, PATCH), + REGISTER_OOVPA(XMountMUA, 4242, PATCH), REGISTER_OOVPA(timeSetEvent, 3911, PATCH), REGISTER_OOVPA(timeKillEvent, 3911, PATCH), REGISTER_OOVPA(OutputDebugStringA, 3911, PATCH), - REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), + REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(XRegisterThreadNotifyRoutine, 3911, PATCH), REGISTER_OOVPA(GetThreadPriority, 3911, PATCH), REGISTER_OOVPA(XMountAlternateTitleA, 3911, PATCH), REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), REGISTER_OOVPA(XLaunchNewImageA, 3911, PATCH), - REGISTER_OOVPA(XMountMURootA, 4361, PATCH), + REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl index ce12f0848..4b355bda0 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl @@ -89,10 +89,10 @@ OOVPATable XAPI_4432[] = { REGISTER_OOVPA(GetTypeInformation, 4134, XREF), REGISTER_OOVPA(XMountAlternateTitleA, 3911, PATCH), REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), - REGISTER_OOVPA(XMountMUA, 4361, PATCH), - REGISTER_OOVPA(XMountMURootA, 4361, PATCH), + REGISTER_OOVPA(XMountMUA, 4242, PATCH), + REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), - REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), + REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), REGISTER_OOVPA(RaiseException, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl index 2b6d6b985..af7fca560 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl @@ -330,7 +330,7 @@ OOVPA_END; // ****************************************************************** OOVPATable XAPI_4627[] = { - REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), + REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(SetThreadPriorityBoost, 3911, PATCH), REGISTER_OOVPA(SetThreadPriority, 3911, PATCH), REGISTER_OOVPA(GetThreadPriority, 3911, PATCH), @@ -377,8 +377,8 @@ OOVPATable XAPI_4627[] = { //REGISTER_OOVPA(XInputGetDeviceDescription, 4831, PATCH), // NOT XInputGetDeviceDescription REGISTER_OOVPA(OutputDebugStringA, 3911, PATCH), // REGISTER_OOVPA(MoveFileA, 4627, PATCH), - REGISTER_OOVPA(XMountMUA, 4361, PATCH), - REGISTER_OOVPA(XMountMURootA, 4361, PATCH), + REGISTER_OOVPA(XMountMUA, 4242, PATCH), + REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl index 8784d2fab..ac90961d8 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl @@ -71,13 +71,13 @@ OOVPATable XAPI_4721[] = { REGISTER_OOVPA(QueueUserAPC, 3911, PATCH), REGISTER_OOVPA(XMountAlternateTitleA, 3911, PATCH), REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), - REGISTER_OOVPA(XMountMUA, 4361, PATCH), + REGISTER_OOVPA(XMountMUA, 4242, PATCH), REGISTER_OOVPA(XLaunchNewImageA, 4721, PATCH), - REGISTER_OOVPA(XMountMURootA, 4361, PATCH), + REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(timeSetEvent, 3911, PATCH), REGISTER_OOVPA(timeKillEvent, 3911, PATCH), - REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), + REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), REGISTER_OOVPA(RaiseException, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl index cd5c402e1..2e692bc6b 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl @@ -61,7 +61,7 @@ OOVPA_END; // ****************************************************************** OOVPATable XAPI_5028[] = { - REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), + REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(SetThreadPriorityBoost, 3911, PATCH), REGISTER_OOVPA(SetThreadPriority, 3911, PATCH), REGISTER_OOVPA(GetThreadPriority, 3911, PATCH), @@ -102,7 +102,7 @@ OOVPATable XAPI_5028[] = { // REGISTER_OOVPA(XInputGetDeviceDescription, 4831, PATCH), // Was NOT XInputGetDeviceDescription REGISTER_OOVPA(OutputDebugStringA, 3911, PATCH), // REGISTER_OOVPA(MoveFileA, 4627, PATCH), - REGISTER_OOVPA(XMountMUA, 4361, PATCH), + REGISTER_OOVPA(XMountMUA, 4242, PATCH), REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), // ****************************************************************** @@ -110,7 +110,7 @@ OOVPATable XAPI_5028[] = { // TODO: Need test cases // ****************************************************************** REGISTER_OOVPA(timeKillEvent, 3911, PATCH), - REGISTER_OOVPA(XMountMURootA, 4361, PATCH), + REGISTER_OOVPA(XMountMURootA, 4242, PATCH), // ****************************************************************** }; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl index 9a24302e5..4f7d04596 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl @@ -39,7 +39,7 @@ // * NOTE: We are actually intercepting USBD_Init, because // * XInitDevices Simply redirects to that function // ****************************************************************** -OOVPA_NO_XREF(XInitDevices, 5233, 7) +OOVPA_NO_XREF(XInitDevices, 5120, 7) { 0x0E, 0x75 }, { 0x20, 0xBE }, @@ -105,7 +105,7 @@ OOVPATable XAPI_5233[] = { REGISTER_OOVPA(GetTypeInformation, 4134, XREF), REGISTER_OOVPA(XRegisterThreadNotifyRoutine, 3911, PATCH), REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), - REGISTER_OOVPA(XInitDevices, 5233, PATCH), + REGISTER_OOVPA(XInitDevices, 5120, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), REGISTER_OOVPA(XInputOpen, 4242, PATCH), @@ -124,10 +124,10 @@ OOVPATable XAPI_5233[] = { REGISTER_OOVPA(SignalObjectAndWait, 3911, PATCH), REGISTER_OOVPA(XMountAlternateTitleA, 5028, PATCH), REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), - REGISTER_OOVPA(XMountMUA, 4361, PATCH), + REGISTER_OOVPA(XMountMUA, 4242, PATCH), REGISTER_OOVPA(XLaunchNewImageA, 4721, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), - REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), + REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), REGISTER_OOVPA(RaiseException, 3911, PATCH), @@ -137,7 +137,7 @@ OOVPATable XAPI_5233[] = { // Provisional registration functions in XDK 5233 // TODO: Need test cases // ****************************************************************** - REGISTER_OOVPA(XMountMURootA, 4361, PATCH), + REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(timeSetEvent, 3911, PATCH), REGISTER_OOVPA(timeKillEvent, 3911, PATCH), // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl index 130eca57b..d6c5b8121 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl @@ -88,7 +88,7 @@ OOVPATable XAPI_5344[] = { REGISTER_OOVPA(GetTypeInformation, 4134, XREF), REGISTER_OOVPA(XRegisterThreadNotifyRoutine, 3911, PATCH), REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), - REGISTER_OOVPA(XInitDevices, 5233, PATCH), + REGISTER_OOVPA(XInitDevices, 5120, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), REGISTER_OOVPA(XInputOpen, 4242, PATCH), @@ -107,13 +107,13 @@ OOVPATable XAPI_5344[] = { REGISTER_OOVPA(SignalObjectAndWait, 3911, PATCH), REGISTER_OOVPA(XMountAlternateTitleA, 5028, PATCH), REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), - REGISTER_OOVPA(XMountMUA, 4361, PATCH), + REGISTER_OOVPA(XMountMUA, 4242, PATCH), REGISTER_OOVPA(XLaunchNewImageA, 5344, PATCH), - REGISTER_OOVPA(XMountMURootA, 4361, PATCH), + REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(timeSetEvent, 3911, PATCH), REGISTER_OOVPA(timeKillEvent, 3911, PATCH), - REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), + REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), REGISTER_OOVPA(RaiseException, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl index 0453f25bc..3965f6806 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl @@ -35,7 +35,7 @@ // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** -OOVPA_NO_XREF(XInputGetCapabilities, 5558, 8) +OOVPA_NO_XREF(XInputGetCapabilities, 5455, 8) { 0x1D, 0x85 }, { 0x3C, 0x8A }, @@ -50,7 +50,7 @@ OOVPA_END; // ****************************************************************** // * XInputGetState // ****************************************************************** -OOVPA_NO_XREF(XInputGetState, 5558, 7) +OOVPA_NO_XREF(XInputGetState, 5455, 7) { 0x0D, 0x0C }, { 0x1C, 0x5E }, @@ -122,7 +122,7 @@ OOVPA_END; // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** -OOVPA_XREF(XID_fCloseDevice, 5558, 7, +OOVPA_XREF(XID_fCloseDevice, 5455, 7, XREF_FCLOSEDEVICE, XRefZero) @@ -139,7 +139,7 @@ OOVPA_END; // ****************************************************************** // * XInputClose // ****************************************************************** -OOVPA_XREF(XInputClose, 5558, 9, +OOVPA_XREF(XInputClose, 5455, 9, XRefNoSaveIndex, XRefOne) @@ -159,7 +159,7 @@ OOVPA_END; // ****************************************************************** // * XMountAlternateTitleA // ****************************************************************** -OOVPA_NO_XREF(XMountAlternateTitleA, 5558, 11) +OOVPA_NO_XREF(XMountAlternateTitleA, 5455, 11) { 0x0B, 0x08 }, @@ -184,12 +184,12 @@ OOVPATable XAPI_5558[] = { REGISTER_OOVPA(SetThreadPriority, 3911, PATCH), REGISTER_OOVPA(XRegisterThreadNotifyRoutine, 3911, PATCH), REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), - REGISTER_OOVPA(XInitDevices, 5233, PATCH), + REGISTER_OOVPA(XInitDevices, 5120, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), REGISTER_OOVPA(XInputOpen, 4242, PATCH), - REGISTER_OOVPA(XInputGetCapabilities, 5558, PATCH), - REGISTER_OOVPA(XInputGetState, 5558, PATCH), + REGISTER_OOVPA(XInputGetCapabilities, 5455, PATCH), + REGISTER_OOVPA(XInputGetState, 5455, PATCH), REGISTER_OOVPA(XInputSetState, 5233, PATCH), // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? REGISTER_OOVPA(XLaunchNewImageA, 5558, PATCH), @@ -199,24 +199,24 @@ OOVPATable XAPI_5558[] = { REGISTER_OOVPA(GetThreadPriority, 3911, PATCH), REGISTER_OOVPA(GetTimeZoneInformation, 3911, DISABLED), REGISTER_OOVPA(GetTypeInformation, 4134, XREF), - REGISTER_OOVPA(XMountMUA, 4361, PATCH), + REGISTER_OOVPA(XMountMUA, 4242, PATCH), REGISTER_OOVPA(CreateFiber, 3911, DISABLED), REGISTER_OOVPA(DeleteFiber, 3911, DISABLED), REGISTER_OOVPA(SwitchToFiber, 3911, DISABLED), REGISTER_OOVPA(ConvertThreadToFiber, 3911, DISABLED), REGISTER_OOVPA(XapiFiberStartup, 5558, DISABLED), - REGISTER_OOVPA(XID_fCloseDevice, 5558, XREF), - REGISTER_OOVPA(XInputClose, 5558, PATCH), + REGISTER_OOVPA(XID_fCloseDevice, 5455, XREF), + REGISTER_OOVPA(XInputClose, 5455, PATCH), REGISTER_OOVPA(OutputDebugStringA, 3911, PATCH), REGISTER_OOVPA(GetExitCodeThread, 3911, PATCH), REGISTER_OOVPA(SignalObjectAndWait, 3911, PATCH), - REGISTER_OOVPA(XMountAlternateTitleA, 5558, PATCH), + REGISTER_OOVPA(XMountAlternateTitleA, 5455, PATCH), REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), - REGISTER_OOVPA(XMountMURootA, 4361, PATCH), + REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(timeSetEvent, 3911, PATCH), REGISTER_OOVPA(timeKillEvent, 3911, PATCH), - REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), + REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), REGISTER_OOVPA(RaiseException, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl index 8335b3ff3..e1d27f88b 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl @@ -123,11 +123,11 @@ OOVPATable XAPI_5788[] = { REGISTER_OOVPA(SetThreadPriority, 3911, PATCH), REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), - REGISTER_OOVPA(XInitDevices, 5233, PATCH), + REGISTER_OOVPA(XInitDevices, 5120, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XInputOpen, 4242, PATCH), - REGISTER_OOVPA(XInputGetCapabilities, 5558, PATCH), - REGISTER_OOVPA(XInputGetState, 5558, PATCH), + REGISTER_OOVPA(XInputGetCapabilities, 5455, PATCH), + REGISTER_OOVPA(XInputGetState, 5455, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), // Was PATCH // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? REGISTER_OOVPA(XGetLaunchInfo, 3911, DISABLED), @@ -137,26 +137,26 @@ OOVPATable XAPI_5788[] = { REGISTER_OOVPA(SetThreadPriorityBoost, 5788, PATCH), REGISTER_OOVPA(GetTypeInformation, 4134, XREF), // REGISTER_OOVPA(GetThreadPriorityBoost, 5788, PATCH), - REGISTER_OOVPA(XMountMUA, 4361, PATCH), + REGISTER_OOVPA(XMountMUA, 4242, PATCH), REGISTER_OOVPA(GetTimeZoneInformation, 3911, DISABLED), REGISTER_OOVPA(RaiseException, 3911, PATCH), REGISTER_OOVPA(XLaunchNewImageA, 5558, PATCH), REGISTER_OOVPA(XInputSetState, 5233, PATCH), REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), // REGISTER_OOVPA(SwitchToThread, 5788, PATCH), - REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), + REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(CreateFiber, 3911, DISABLED), REGISTER_OOVPA(DeleteFiber, 3911, DISABLED), REGISTER_OOVPA(SwitchToFiber, 3911, DISABLED), REGISTER_OOVPA(ConvertThreadToFiber, 3911, DISABLED), - REGISTER_OOVPA(XID_fCloseDevice, 5558, XREF), - REGISTER_OOVPA(XInputClose, 5558, PATCH), + REGISTER_OOVPA(XID_fCloseDevice, 5455, XREF), + REGISTER_OOVPA(XInputClose, 5455, PATCH), REGISTER_OOVPA(OutputDebugStringA, 3911, PATCH), REGISTER_OOVPA(GetExitCodeThread, 3911, PATCH), REGISTER_OOVPA(SignalObjectAndWait, 3911, PATCH), - REGISTER_OOVPA(XMountAlternateTitleA, 5558, PATCH), + REGISTER_OOVPA(XMountAlternateTitleA, 5455, PATCH), REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), - REGISTER_OOVPA(XMountMURootA, 4361, PATCH), + REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(timeSetEvent, 3911, PATCH), REGISTER_OOVPA(timeKillEvent, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl index ac94ffcd1..d7e955b8e 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl @@ -97,13 +97,13 @@ OOVPATable XAPI_5849[] = { REGISTER_OOVPA(SetThreadPriority, 3911, PATCH), REGISTER_OOVPA(XMountUtilityDrive, 4432, PATCH), - REGISTER_OOVPA(XInitDevices, 5233, PATCH), + REGISTER_OOVPA(XInitDevices, 5120, PATCH), REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XInputOpen, 4242, PATCH), - REGISTER_OOVPA(XID_fCloseDevice, 5558, XREF), - REGISTER_OOVPA(XInputClose, 5558, PATCH), - REGISTER_OOVPA(XInputGetCapabilities, 5558, PATCH), - REGISTER_OOVPA(XInputGetState, 5558, PATCH), + REGISTER_OOVPA(XID_fCloseDevice, 5455, XREF), + REGISTER_OOVPA(XInputClose, 5455, PATCH), + REGISTER_OOVPA(XInputGetCapabilities, 5455, PATCH), + REGISTER_OOVPA(XInputGetState, 5455, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? REGISTER_OOVPA(QueueUserAPC, 3911, PATCH), @@ -118,7 +118,7 @@ OOVPATable XAPI_5849[] = { REGISTER_OOVPA(XInputSetState, 5233, PATCH), REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), // REGISTER_OOVPA(SwitchToThread, 5849, PATCH), - REGISTER_OOVPA(XFormatUtilityDrive, 4361, PATCH), + REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(CreateFiber, 3911, DISABLED), REGISTER_OOVPA(DeleteFiber, 3911, DISABLED), REGISTER_OOVPA(SwitchToFiber, 3911, DISABLED), @@ -127,10 +127,10 @@ OOVPATable XAPI_5849[] = { REGISTER_OOVPA(GetExitCodeThread, 3911, PATCH), REGISTER_OOVPA(XRegisterThreadNotifyRoutine, 3911, PATCH), REGISTER_OOVPA(SignalObjectAndWait, 3911, PATCH), - REGISTER_OOVPA(XMountAlternateTitleA, 5558, PATCH), + REGISTER_OOVPA(XMountAlternateTitleA, 5455, PATCH), REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), - REGISTER_OOVPA(XMountMUA, 4361, PATCH), - REGISTER_OOVPA(XMountMURootA, 4361, PATCH), + REGISTER_OOVPA(XMountMUA, 4242, PATCH), + REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl index 156931401..c4e6b4ad4 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl @@ -100,24 +100,24 @@ OOVPATable XAPILIB_OOVPAV2[] = { REGISTER_OOVPAS(SignalObjectAndWait, PATCH, 3911), REGISTER_OOVPAS(SwitchToFiber, DISABLED, 3911), REGISTER_OOVPAS(XAutoPowerDownResetTimer, DISABLED, 3911), // Just calls KeSetTimer (from 3911's comment) - REGISTER_OOVPAS(XFormatUtilityDrive, PATCH, 4361), + REGISTER_OOVPAS(XFormatUtilityDrive, PATCH, 4242), REGISTER_OOVPAS(XGetDeviceChanges, PATCH, 3911, 5233), // Was PATCH (from 5788's comment) REGISTER_OOVPAS(XGetDeviceEnumerationStatus, PATCH, 4831), REGISTER_OOVPAS(XGetDevices, PATCH, 3911), REGISTER_OOVPAS(XGetLaunchInfo, DISABLED, 3911), - REGISTER_OOVPAS(XID_fCloseDevice, XREF, 3911, 4242, 4627, 4928, 5558), - REGISTER_OOVPAS(XInitDevices, PATCH, 3911, 5233), - REGISTER_OOVPAS(XInputClose, PATCH, 3911, 5558), - REGISTER_OOVPAS(XInputGetCapabilities, PATCH, 3911, 4242, 4831, 5233, 5558), + REGISTER_OOVPAS(XID_fCloseDevice, XREF, 3911, 4242, 4627, 4928, 5455), + REGISTER_OOVPAS(XInitDevices, PATCH, 3911, 5120), + REGISTER_OOVPAS(XInputClose, PATCH, 3911, 5455), + REGISTER_OOVPAS(XInputGetCapabilities, PATCH, 3911, 4242, 4831, 5233, 5455), REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 5344), - REGISTER_OOVPAS(XInputGetState, PATCH, 3911, 4134, 4242, 4928, 5558), + REGISTER_OOVPAS(XInputGetState, PATCH, 3911, 4134, 4242, 4928, 5455), REGISTER_OOVPAS(XInputOpen, PATCH, 3911, 4134, 4242), REGISTER_OOVPAS(XInputPoll, PATCH, 3911), REGISTER_OOVPAS(XInputSetState, PATCH, 3911, 4242, 4928, 5233), REGISTER_OOVPAS(XLaunchNewImageA, PATCH, 3911, 4721, 5344, 5558), - REGISTER_OOVPAS(XMountAlternateTitleA, PATCH, 3911, 5028, 5558), - REGISTER_OOVPAS(XMountMUA, PATCH, 3911, 4361), - REGISTER_OOVPAS(XMountMURootA, PATCH, 3911, 4361), + REGISTER_OOVPAS(XMountAlternateTitleA, PATCH, 3911, 5028, 5455), + REGISTER_OOVPAS(XMountMUA, PATCH, 3911, 4242), + REGISTER_OOVPAS(XMountMURootA, PATCH, 3911, 4242), REGISTER_OOVPAS(XMountUtilityDrive, PATCH, 3911, 4134, 4432), // TODO: This needs to be verified on 4361, not just 4242! (from 4361's comment) REGISTER_OOVPAS(XRegisterThreadNotifyRoutine, PATCH, 3911), REGISTER_OOVPAS(XSetProcessQuantumLength, PATCH, 4134), From 057e88bf78150e16dffb8197bae2652aa0d29f8a Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 17 Sep 2017 14:10:56 -0500 Subject: [PATCH 067/146] Bunch of DSound OOVPAs Lowered - 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 --- src/CxbxKrnl/HLEDataBase.h | 25 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 357 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 115 +++--- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 28 +- 10 files changed, 448 insertions(+), 97 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 431524d75..072171e3a 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -240,19 +240,17 @@ enum XRefDataBaseOffset XREF_CDirectSoundStream_SetMinDistance, XREF_CDirectSoundVoice_SetMinDistance, XREF_CMcpxVoiceClient_Set3dMinDistance, - XREF_DSSTREAMSETCONEANGLES1A, - XREF_DSSTREAMSETCONEANGLES1B, XREF_CDirectSoundVoice_SetConeOutsideVolume, XREF_CMcpxVoiceClient_Set3dConeOutsideVolume, - XREF_DSSTREAMSETALLPARAMETERS1A, - XREF_DSSTREAMSETALLPARAMETERS1B, + XREF_CDirectSoundVoice_SetAllParameters, + XREF_CMcpxVoiceClient_Set3dParameters, XREF_DSSTREAMSETALLPARAMETERS1C, XREF_DSSTREAMSETVELOCITY1A, XREF_DSSTREAMSETVELOCITY1B, XREF_DSSTREAMSETVELOCITY1C, - XREF_DSSTREAMSETCONEORIENTATION1A, - XREF_DSSTREAMSETCONEORIENTATION1B, - XREF_DSSTREAMSETCONEORIENTATION1C, + XREF_CDirectSoundStream_SetConeOrientation, + XREF_CDirectSoundVoice_SetConeOrientation, + XREF_CMcpxVoiceClient_Set3dConeOrientation, XREF_DSSTREAMSETPOSITION1A, XREF_DSSTREAMSETPOSITION1B, XREF_DSSTREAMSETPOSITION1C, @@ -272,11 +270,10 @@ enum XRefDataBaseOffset // s+ // DSOUND XREF_DSVOICESETMAXDISTANCE, - XREF_DSVOICESETMINDISTANCE, XREF_DSVOICESETROLLOFFCURVE, XREF_DSVOICESETROLLOFFFACTOR, XREF_DSVOICESETDISTANCEFACTOR, - XREF_DSVOICESETCONEANGLES, + XREF_CDirectSoundVoice_SetConeAngles, XREF_DSVOICESETCONEORIENTATION, XREF_DSVOICESETPOSITION, XREF_DSVOICESETVELOCITY, @@ -284,13 +281,13 @@ enum XRefDataBaseOffset XREF_DSVOICESETI3DL2SOURCE, XREF_DSBUFFERSETMODEA, XREF_DSBUFFERSETMODEB, - XREF_DSBUFFERSETMAXDISTANCE, - XREF_DSBUFFERSETMINDISTANCE, + XREF_CDirectSoundBuffer_SetMaxDistance, + XREF_CDirectSoundBuffer_SetMinDistance, XREF_DSBUFFERSETROLLOFFCURVE, XREF_DSBUFFERSETROLLOFFFACTOR, XREF_DSBUFFERSETDISTANCEFACTOR, XREF_DSBUFFERSETCONEANGLES, - XREF_DSBUFFERSETCONEORIENTATION, + XREF_CDirectSoundBuffer_SetConeOrientation, XREF_CDirectSoundBuffer_SetConeOutsideVolume, XREF_DSBUFFERSETPOSITION, XREF_DSBUFFERSETVELOCITY, @@ -309,10 +306,8 @@ enum XRefDataBaseOffset XREF_CMcpxBuffer_Play, XREF_CDirectSoundBuffer_PlayEx, XREF_WaveFormat_CreateXboxAdpcmFormat, - XREF_CDirectSoundVoice_SetConeAngles, XREF_CDirectSoundBuffer_SetConeAngles, XREF_CDirectSoundVoice_CommitDeferredSettings, - XREF_CDirectSoundVoice_SetAllParameters, XREF_CDirectSoundBuffer_SetAllParameters, XREF_CDirectSound_EnableHeadphones, XREF_CDirectSoundVoice_SetHeadroom, @@ -335,8 +330,6 @@ enum XRefDataBaseOffset XREF_CSensaura3d_GetLiteHRTFFilterPair, XREF_CDirectSound_GetCaps, XREF_DirectSoundEnterCriticalSection, - XREF_CDirectSoundBuffer_SetMinDistance, - XREF_CDirectSoundBuffer_SetMaxDistance, XREF_CMcpxVoiceClient_Commit3dSettings, XREF_CMcpxVoiceClient_SetI3DL2Source, XREF_CDirectSoundVoice_SetI3DL2Source, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index a5a07deab..d5897e61b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -2669,3 +2669,360 @@ OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 3911, 10, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::Commit3dSettings +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_Commit3dSettings, 3911, 10, + + XREF_CMcpxVoiceClient_Commit3dSettings, + XRefZero) + + // CMcpxVoiceClient::Commit3dSettings+0x17 : or [eax+0x80], ecx + { 0x17, 0x09 }, + { 0x18, 0x88 }, + { 0x19, 0x80 }, + { 0x1A, 0x00 }, + // CMcpxVoiceClient::Commit3dSettings+0x2B : add eax, 0x80 + { 0x2B, 0x05 }, + { 0x2C, 0x80 }, + { 0x2D, 0x00 }, + // CMcpxVoiceClient::Commit3dSettings+0x3D : cmpxchg [ecx], edx + { 0x3D, 0x0F }, + { 0x3E, 0xB1 }, + { 0x3F, 0x11 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient_Set3dParameters +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_Set3dParameters, 3911, 12, + + XREF_CMcpxVoiceClient_Set3dParameters, + XRefOne) + + XREF_ENTRY( 0x25, XREF_CMcpxVoiceClient_Commit3dSettings ), + + { 0x02, 0x74 }, + { 0x08, 0x6A }, + { 0x09, 0x10 }, + { 0x0A, 0x59 }, + { 0x0B, 0x8D }, + { 0x0C, 0x78 }, + { 0x0D, 0x1C }, + { 0x0E, 0xF3 }, + { 0x14, 0x00 }, + { 0x18, 0x7C }, + { 0x1F, 0x09 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetAllParameters +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 3911, 12, + + XREF_CDirectSoundVoice_SetAllParameters, + XRefOne) + + // TODO: re-use for CDirectSoundBuffer_SetAllParametersA!? + + // CDirectSoundVoice_SetAllParameters+0x25 : call [CMcpxVoiceClient_Set3dParameters] + XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_Set3dParameters ), + + // CDirectSoundVoice_SetAllParameters+0x09 : mov eax, [esp+0x14] + { 0x09, 0x8B }, + { 0x0A, 0x44 }, + { 0x0B, 0x24 }, + { 0x0C, 0x14 }, + + // CDirectSoundVoice_SetAllParameters+0x0D : not eax; and eax, 1 + { 0x0D, 0xF7 }, + { 0x0E, 0xD0 }, + { 0x0F, 0x83 }, + { 0x10, 0xE0 }, + { 0x11, 0x01 }, + + // CDirectSoundVoice_SetAllParameters+0x38 : retn 0x0C + { 0x38, 0xC2 }, + { 0x39, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetAllParameters +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetAllParameters, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetAllParameters+0x11 : call [CDirectSoundVoice_SetAllParameters] + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetAllParameters ), + + // CDirectSoundStream_SetAllParameters+0x04 : push eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetAllParameters+0x0C : add eax, 0x04 + { 0x0C, 0x83 }, + { 0x0D, 0xC0 }, + { 0x0E, 0x04 }, + + // CDirectSoundStream_SetAllParameters+0x15 : retn 0x0C + { 0x15, 0xC2 }, + { 0x16, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetAllParameters +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetAllParameters, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x19, XREF_CDirectSoundVoice_SetAllParameters ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetConeAngles +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 3911, 8, + + XREF_CDirectSoundVoice_SetConeAngles, + XRefZero) + + { 0x07, 0x8B }, + { 0x0E, 0xD0 }, + { 0x16, 0x18 }, + { 0x1E, 0x18 }, + { 0x27, 0x85 }, + { 0x32, 0xFF }, + { 0x38, 0x8B }, + { 0x3E, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetConeAngles +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetConeAngles, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x1D, XREF_CDirectSoundVoice_SetConeAngles ), + + { 0x03, 0x10 }, + { 0x08, 0xFF }, + { 0x0D, 0xC8 }, + { 0x12, 0x83 }, + { 0x17, 0x1B }, + { 0x1C, 0xE8 }, + { 0x21, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetConeAngles +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetConeAngles, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetConeAngles+0x15 : call [CDirectSoundVoice_SetConeAngles] + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetConeAngles ), + + // CDirectSoundStream_SetConeAngles+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetConeAngles+0x0C : add eax, 0x04 + { 0x0C, 0x83 }, + { 0x0D, 0xC0 }, + { 0x0E, 0x04 }, + + // CDirectSoundStream_SetConeAngles+0x19 : retn 0x10 + { 0x19, 0xC2 }, + { 0x1A, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient_Set3dConeOrientation +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_Set3dConeOrientation, 3911, 11, + + XREF_CMcpxVoiceClient_Set3dConeOrientation, + XRefZero) + + // CMcpxVoiceClient_Set3dConeOrientation+0x0C : or byte ptr [ecx+0x80], 0x18 + { 0x0C, 0x83 }, + { 0x0D, 0x89 }, + { 0x0E, 0x80 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x18 }, + + // CMcpxVoiceClient_Set3dConeOrientation+0x1A : jz +0x07 + { 0x1A, 0x74 }, + { 0x1B, 0x07 }, + + // CMcpxVoiceClient_Set3dConeOrientation+0x25 : retn 0x08 + { 0x25, 0xC2 }, + { 0x26, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetConeOrientation +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 3911, 14, + + XREF_CDirectSoundVoice_SetConeOrientation, + XRefOne) + + // CDirectSoundVoice_SetConeOrientation+0x34 : call [CMcpxVoiceClient_Set3dConeOrientation] + XREF_ENTRY( 0x35, XREF_CMcpxVoiceClient_Set3dConeOrientation ), + + // CDirectSoundVoice_SetConeOrientation+0x21 : mov eax, [ebp+0x18] + { 0x21, 0x8B }, + { 0x22, 0x45 }, + { 0x23, 0x18 }, + + // CDirectSoundVoice_SetConeOrientation+0x24 : not eax + { 0x24, 0xF7 }, + { 0x25, 0xD0 }, + + // CDirectSoundVoice_SetConeOrientation+0x26 : and eax, 1 + { 0x26, 0x83 }, + { 0x27, 0xE0 }, + { 0x28, 0x01 }, + + // CDirectSoundVoice_SetConeOrientation+0x31 : mov ecx, [eax+0x14] + { 0x31, 0x8B }, + { 0x32, 0x48 }, + { 0x33, 0x14 }, + + // CDirectSoundVoice_SetConeOrientation+0x4F : retn 0x14 + { 0x4F, 0xC2 }, + { 0x50, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetConeOrientation +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 3911, 11, + + XREF_CDirectSoundBuffer_SetConeOrientation, + XRefOne) + + XREF_ENTRY( 0x21, XREF_CDirectSoundVoice_SetConeOrientation ), + + // CDirectSoundBuffer_SetConeOrientation+0x1A : fstp [esp+8h] + { 0x0C, 0xD9 }, + { 0x0D, 0x5C }, + { 0x0E, 0x24 }, + { 0x0F, 0x08 }, + + // CDirectSoundBuffer_SetConeOrientation+0x1A : fstp [esp] + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, + + // CDirectSoundBuffer_SetConeOrientation+0x26 : ret 14h + { 0x26, 0xC2 }, + { 0x27, 0x14 }, + { 0x28, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetConeOrientation +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetConeOrientation, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetConeOrientation+0x2C : call [CDirectSoundBuffer::SetConeOrientation] + XREF_ENTRY(0x2D, XREF_CDirectSoundBuffer_SetConeOrientation), + + // IDirectSoundBuffer_SetConeOrientation+0x06 : fld [ebp+arg_C] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // IDirectSoundBuffer_SetConeOrientation+0x28 : fstp [esp+10h+var_10] + { 0x28, 0xD9 }, + { 0x29, 0x1C }, + { 0x2A, 0x24 }, + + // IDirectSoundBuffer_SetConeOrientation+0x32 : retn 14h + { 0x33, 0x14 }, + { 0x34, 0x00 } +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOrientation +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 3911, 9, + + XREF_CDirectSoundStream_SetConeOrientation, + XRefOne) + + // TODO: re-use for CDirectSoundBuffer_SetConeOrientationA!? + + // CDirectSoundStream_SetConeOrientation+0x25 : call [CDirectSoundVoice_SetConeOrientation] + XREF_ENTRY( 0x25, XREF_CDirectSoundVoice_SetConeOrientation ), + + // CDirectSoundStream_SetConeOrientation+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // CDirectSoundStream_SetConeOrientation+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, + + // CDirectSoundStream_SetConeOrientation+0x2A : retn 0x14 + { 0x2A, 0xC2 }, + { 0x2B, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetConeOrientation +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetConeOrientation, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetConeOrientation+0x21 : call [CDirectSoundStream_SetConeOrientation] + XREF_ENTRY( 0x21, XREF_CDirectSoundStream_SetConeOrientation ), + + // IDirectSoundStream_SetConeOrientation+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // IDirectSoundStream_SetConeOrientation+0x1A : fstp [esp] + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, + + // IDirectSoundStream_SetConeOrientation+0x26 : retn 0x14 + { 0x26, 0xC2 }, + { 0x27, 0x14 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 66928c19b..10441e787 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -1199,13 +1199,13 @@ OOVPA_XREF(CDirectSoundStream_SetVolume, 3936, 10, { 0x11, 0xC2 }, { 0x12, 0x08 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_Set3dParameters // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_Set3dParameters, 3936, 11, - XREF_DSSTREAMSETALLPARAMETERS1B, + XREF_CMcpxVoiceClient_Set3dParameters, XRefZero) { 0x02, 0x74 }, @@ -1220,19 +1220,18 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dParameters, 3936, 11, { 0x18, 0x7C }, { 0x1F, 0x09 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetAllParameters // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 3936, 12, - XREF_DSSTREAMSETALLPARAMETERS1A, + XREF_CDirectSoundVoice_SetAllParameters, XRefOne) - // TODO: re-use for CDirectSoundBuffer_SetAllParametersA!? - // CDirectSoundVoice_SetAllParameters+0x25 : call [CMcpxVoiceClient_Set3dParameters] - XREF_ENTRY( 0x1F, XREF_DSSTREAMSETALLPARAMETERS1B ), + XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_Set3dParameters ), // CDirectSoundVoice_SetAllParameters+0x09 : mov eax, [esp+0x14] { 0x09, 0x8B }, @@ -1251,7 +1250,8 @@ OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 3936, 12, { 0x38, 0xC2 }, { 0x39, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetAllParameters // ****************************************************************** @@ -1261,7 +1261,7 @@ OOVPA_XREF(CDirectSoundStream_SetAllParameters, 3936, 10, XRefOne) // CDirectSoundStream_SetAllParameters+0x11 : call [CDirectSoundVoice_SetAllParameters] - XREF_ENTRY( 0x11, XREF_DSSTREAMSETALLPARAMETERS1A ), + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetAllParameters ), // CDirectSoundStream_SetAllParameters+0x04 : push eax, [esp+0x08] { 0x04, 0x8B }, @@ -1278,17 +1278,16 @@ OOVPA_XREF(CDirectSoundStream_SetAllParameters, 3936, 10, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; +#endif #if 0 // No longer used // ****************************************************************** // * CMcpxVoiceClient_Set3dConeAngles // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_Set3dConeAngles, 3936, 12, - XREF_DSSTREAMSETCONEANGLES1B, + XREF_CMcpxVoiceClient_Set3dConeAngles, XRefZero) - // TODO: re-use for CDirectSoundBuffer_SetConeAnglesB!? - // CMcpxVoiceClient_Set3dConeAngles+0x04 : or dword ptr [eax+0x80], 0x10 { 0x04, 0x83 }, { 0x05, 0x89 }, @@ -1314,13 +1313,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 3936, 12, - XREF_DSSTREAMSETCONEANGLES1A, + XREF_CDirectSoundVoice_SetConeAngles, XRefOne) - // TODO: re-use for CDirectSoundBuffer_SetConeAnglesA!? - // CDirectSoundVoice_SetConeAngles+0x23 : call [CMcpxVoiceClient_Set3dConeAngles] - XREF_ENTRY( 0x23, XREF_DSSTREAMSETCONEANGLES1B ), + XREF_ENTRY( 0x23, XREF_CMcpxVoiceClient_Set3dConeAngles ), // CDirectSoundVoice_SetConeAngles+0x09 : mov eax, [esp+0x18] { 0x09, 0x8B }, @@ -1340,7 +1337,7 @@ OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 3936, 12, { 0x3D, 0x10 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetConeAngles // ****************************************************************** @@ -1350,7 +1347,7 @@ OOVPA_XREF(CDirectSoundStream_SetConeAngles, 3936, 10, XRefOne) // CDirectSoundStream_SetConeAngles+0x15 : call [CDirectSoundVoice_SetConeAngles] - XREF_ENTRY( 0x15, XREF_DSVOICESETCONEANGLES ), + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetConeAngles ), // CDirectSoundStream_SetConeAngles+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, @@ -1367,6 +1364,7 @@ OOVPA_XREF(CDirectSoundStream_SetConeAngles, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x10 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_Set3dConeOutsideVolume @@ -1862,17 +1860,15 @@ OOVPA_XREF(IDirectSoundBuffer_SetVelocity, 3936, 9, { 0x33, 0x14 }, { 0x34, 0x00 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_Set3dConeOrientation // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_Set3dConeOrientation, 3936, 11, - XREF_DSSTREAMSETCONEORIENTATION1C, + XREF_CMcpxVoiceClient_Set3dConeOrientation, XRefZero) - // TODO: re-use for CDirectSoundBuffer_SetConeOrientationC!? - // CMcpxVoiceClient_Set3dConeOrientation+0x0C : or byte ptr [ecx+0x80], 0x18 { 0x0C, 0x83 }, { 0x0D, 0x89 }, @@ -1890,19 +1886,18 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dConeOrientation, 3936, 11, { 0x25, 0xC2 }, { 0x26, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetConeOrientation // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 3936, 14, - XREF_DSSTREAMSETCONEORIENTATION1B, + XREF_CDirectSoundVoice_SetConeOrientation, XRefOne) - // TODO: re-use for CDirectSoundBuffer_SetConeOrientationB!? - // CDirectSoundVoice_SetConeOrientation+0x35 : call [CMcpxVoiceClient_Set3dConeOrientation] - XREF_ENTRY( 0x35, XREF_DSSTREAMSETCONEORIENTATION1C ), + XREF_ENTRY( 0x35, XREF_CMcpxVoiceClient_Set3dConeOrientation ), // CDirectSoundVoice_SetConeOrientation+0x21 : mov eax, [ebp+0x18] { 0x21, 0x8B }, @@ -1927,19 +1922,18 @@ OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 3936, 14, { 0x4F, 0xC2 }, { 0x50, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetConeOrientation // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 3936, 9, - XREF_DSSTREAMSETCONEORIENTATION1A, + XREF_CDirectSoundStream_SetConeOrientation, XRefOne) - // TODO: re-use for CDirectSoundBuffer_SetConeOrientationA!? - // CDirectSoundStream_SetConeOrientation+0x25 : call [CDirectSoundVoice_SetConeOrientation] - XREF_ENTRY( 0x25, XREF_DSSTREAMSETCONEORIENTATION1B ), + XREF_ENTRY( 0x25, XREF_CDirectSoundVoice_SetConeOrientation ), // CDirectSoundStream_SetConeOrientation+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, @@ -1955,7 +1949,8 @@ OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 3936, 9, { 0x2A, 0xC2 }, { 0x2B, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundStream_SetConeOrientation // ****************************************************************** @@ -1965,7 +1960,7 @@ OOVPA_XREF(IDirectSoundStream_SetConeOrientation, 3936, 9, XRefOne) // IDirectSoundStream_SetConeOrientation+0x21 : call [CDirectSoundStream_SetConeOrientation] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETCONEORIENTATION1A ), + XREF_ENTRY( 0x21, XREF_CDirectSoundStream_SetConeOrientation ), // IDirectSoundStream_SetConeOrientation+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, @@ -1981,7 +1976,7 @@ OOVPA_XREF(IDirectSoundStream_SetConeOrientation, 3936, 9, { 0x26, 0xC2 }, { 0x27, 0x14 }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxVoiceClient_Set3dPosition // ****************************************************************** @@ -3290,12 +3285,13 @@ OOVPA_XREF(IDirectSoundBuffer_SetPitch, 3936, 8, { 0x1A, 0x08 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice::SetConeAngles // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 3936, 8, - XREF_DSVOICESETCONEANGLES, + XREF_CDirectSoundVoice_SetConeAngles, XRefZero) { 0x07, 0x8B }, @@ -3307,7 +3303,8 @@ OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 3936, 8, { 0x38, 0x8B }, { 0x3E, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetConeAngles // ****************************************************************** @@ -3316,7 +3313,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeAngles, 3936, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x1D, XREF_DSVOICESETCONEANGLES ), + XREF_ENTRY( 0x1D, XREF_CDirectSoundVoice_SetConeAngles ), { 0x03, 0x10 }, { 0x08, 0xFF }, @@ -3326,6 +3323,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeAngles, 3936, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * DirectSoundEnterCriticalSection @@ -3531,6 +3529,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMaxDistance, 3911, 8, { 0x21, 0xC2 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient::Commit3dSettings // ****************************************************************** @@ -3553,7 +3552,7 @@ OOVPA_XREF(CMcpxVoiceClient_Commit3dSettings, 3936, 10, { 0x3E, 0xB1 }, { 0x3F, 0x11 }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxVoiceClient::SetI3DL2Source // ****************************************************************** @@ -3870,15 +3869,16 @@ OOVPA_NO_XREF(CDirectSoundStream_Pause, 3936, 6) { 0x11, 0x08 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::SetConeOrientation // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 3936, 11, - XREF_DSBUFFERSETCONEORIENTATION, + XREF_CDirectSoundBuffer_SetConeOrientation, XRefOne) - XREF_ENTRY( 0x21, XREF_DSSTREAMSETCONEORIENTATION1B ), + XREF_ENTRY( 0x21, XREF_CDirectSoundVoice_SetConeOrientation ), // CDirectSoundBuffer_SetConeOrientation+0x1A : fstp [esp+8h] { 0x0C, 0xD9 }, @@ -3896,7 +3896,8 @@ OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 3936, 11, { 0x27, 0x14 }, { 0x28, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetConeOrientation // ****************************************************************** @@ -3906,7 +3907,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeOrientation, 3936, 9, XRefOne) // IDirectSoundBuffer_SetConeOrientation+0x2C : call [CDirectSoundBuffer::SetConeOrientation] - XREF_ENTRY(0x2D, XREF_DSBUFFERSETCONEORIENTATION), + XREF_ENTRY(0x2D, XREF_CDirectSoundBuffer_SetConeOrientation), // IDirectSoundBuffer_SetConeOrientation+0x06 : fld [ebp+arg_C] { 0x06, 0xD9 }, @@ -3922,7 +3923,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeOrientation, 3936, 9, { 0x33, 0x14 }, { 0x34, 0x00 } OOVPA_END; - +#endif // ****************************************************************** // * DSound_3936 // ****************************************************************** @@ -3970,13 +3971,13 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundBuffer_Stop, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetConeAngles, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetConeAngles, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dConeOutsideVolume, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 3911, XREF), REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_Set3dParameters, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetAllParameters, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dParameters, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 3911, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetAllParameters, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dMaxDistance, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 3911, XREF), REGISTER_OOVPA(CDirectSoundStream_SetMaxDistance, 3911, PATCH), @@ -3991,10 +3992,10 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundStream_SetVelocity, 3936, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_Set3dConeOrientation, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundStream_SetConeOrientation, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dConeOrientation, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 3911, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 3911, PATCH), + REGISTER_OOVPA(IDirectSoundStream_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dPosition, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPosition, 3936, PATCH), @@ -4042,8 +4043,8 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(DirectSoundUseFullHRTF, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 3936, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 3911, PATCH), REGISTER_OOVPA(DirectSoundEnterCriticalSection, 3911, XREF), REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), @@ -4054,7 +4055,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_Commit3dSettings, 3936, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_Commit3dSettings, 3911, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetI3DL2Source, 3936, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 3936, XREF), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 3936, PATCH), @@ -4069,8 +4070,8 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_Pause, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index d7dbe98de..cb5d5fcba 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -2168,7 +2168,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 4039, 10, - XREF_DSBUFFERSETCONEORIENTATION, + XREF_CDirectSoundBuffer_SetConeOrientation, XRefOne) // CDirectSoundBuffer_SetConeOrientation+0x49 : call [CDirectSoundVoice::SetConeOrientation] diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 285a4bf5a..22637ea89 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -1566,7 +1566,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 4134, 9, - XREF_DSVOICESETCONEANGLES, + XREF_CDirectSoundVoice_SetConeAngles, XRefZero) // CDirectSoundVoice_SetConeAngles+0x0D : mov edx, [esp+arg_4] @@ -1594,7 +1594,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetConeAngles, 4134, 11, XRefOne) // CDirectSoundBuffer_SetConeAngles+0x39 : call [CDirectSoundVoice::SetConeAngles] - XREF_ENTRY( 0x3A, XREF_DSVOICESETCONEANGLES ), + XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetConeAngles ), // CDirectSoundBuffer_SetConeAngles+0x21 : mov eax, 80004005h { 0x22, 0x05 }, @@ -1668,7 +1668,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 4134, 9, - XREF_DSBUFFERSETCONEORIENTATION, + XREF_CDirectSoundBuffer_SetConeOrientation, XRefOne) // CDirectSoundBuffer_SetConeOrientation+0x49 : call [CDirectSoundVoice::SetConeOrientation] @@ -3058,7 +3058,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 5ed25b3dd..8a054a9ff 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1579,7 +1579,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 792d55672..4b6082d28 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -158,7 +158,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 7d1c8ffc6..9399b2835 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -526,7 +526,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 33a27fc86..1554d4897 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -795,7 +795,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 5344, 9, - XREF_DSVOICESETCONEANGLES, + XREF_CDirectSoundVoice_SetConeAngles, XRefZero) // CDirectSoundVoice_SetConeAngles+0x0D : mov edx, [esp+arg_4] @@ -1043,7 +1043,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 2cdfad023..503185e19 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -82,13 +82,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 4361, 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOrientation, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3911), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOrientation, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOutsideVolume, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMaxDistance, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMinDistance, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMode, XREF, 3936), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dPosition, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dVelocity, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 3911, 4039, 4242), @@ -101,9 +101,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 3936, 4039, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3911, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3911, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 3911, 4039, 4134, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 3911, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetDopplerFactor, XREF, 4134, 4361, 4627, 5344, 5558), @@ -136,7 +136,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3911, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3936, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 3936, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134, 5558), @@ -173,9 +173,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4361, 5558), REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911), - REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3936, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3936), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4039, 4134), @@ -226,10 +226,10 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911, 4361, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 4134), // Use that for now. Okay, it's your call pal... (from 4134's comment) + REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 3911, 4134), // Use that for now. Okay, it's your call pal... (from 4134's comment) REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3911, 4134, 5558, 5788), - REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3936, 4134, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3911, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3936, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetDistanceFactor, PATCH, 4134, 5558), @@ -262,7 +262,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), - REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, PATCH, 3911), //REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911), //TODO: IDirectSoundStream_SetEG and CDirectSoundStream_SetEG has 2 seperate functions. Except has the same asm codes. REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, PATCH, 3911), From f131b50eb13e4eb15449a1225741253805357441 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 17 Sep 2017 15:49:19 -0500 Subject: [PATCH 068/146] Bunch DSound OOVPAs Lowered - 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 --- src/CxbxKrnl/HLEDataBase.h | 13 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 354 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 92 +++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 36 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 22 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 18 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 26 +- 13 files changed, 498 insertions(+), 101 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 072171e3a..f4e33af58 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -251,9 +251,9 @@ enum XRefDataBaseOffset XREF_CDirectSoundStream_SetConeOrientation, XREF_CDirectSoundVoice_SetConeOrientation, XREF_CMcpxVoiceClient_Set3dConeOrientation, - XREF_DSSTREAMSETPOSITION1A, - XREF_DSSTREAMSETPOSITION1B, - XREF_DSSTREAMSETPOSITION1C, + XREF_CDirectSoundStream_SetPosition, + XREF_CDirectSoundVoice_SetPosition, + XREF_CMcpxVoiceClient_Set3dPosition, XREF_DSSTREAMSETFREQUENCY1A, XREF_CMcpxStream_Flush, XREF_CMcpxStream_Discontinuity, @@ -279,8 +279,9 @@ enum XRefDataBaseOffset XREF_DSVOICESETVELOCITY, XREF_CDirectSoundVoice_SetDopplerFactor, XREF_DSVOICESETI3DL2SOURCE, - XREF_DSBUFFERSETMODEA, - XREF_DSBUFFERSETMODEB, + XREF_CMcpxVoiceClient_Set3dMode, + XREF_CDirectSoundVoice_SetMode, + XREF_CDirectSoundBuffer_SetMode, XREF_CDirectSoundBuffer_SetMaxDistance, XREF_CDirectSoundBuffer_SetMinDistance, XREF_DSBUFFERSETROLLOFFCURVE, @@ -289,7 +290,7 @@ enum XRefDataBaseOffset XREF_DSBUFFERSETCONEANGLES, XREF_CDirectSoundBuffer_SetConeOrientation, XREF_CDirectSoundBuffer_SetConeOutsideVolume, - XREF_DSBUFFERSETPOSITION, + XREF_CDirectSoundBuffer_SetPosition, XREF_DSBUFFERSETVELOCITY, XREF_DSBUFFERSETDOPPLERFACTOR, XREF_DSBUFFERSETI3DL2SOURCE, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index d5897e61b..0a4fcb058 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -3026,3 +3026,357 @@ OOVPA_XREF(IDirectSoundStream_SetConeOrientation, 3911, 9, { 0x26, 0xC2 }, { 0x27, 0x14 }, OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::Set3dMode +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_Set3dMode, 3911, 12, + + XREF_CMcpxVoiceClient_Set3dMode, + XRefZero) + + // CMcpxVoiceClient_Set3dMode+0x04 : or byte ptr [ecx+0x80], 0xFF + { 0x04, 0x80 }, + { 0x05, 0x89 }, + { 0x06, 0x80 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0xFF }, + + // CMcpxVoiceClient_Set3dMode+0x10 : cmp [ecx+0x58], eax + { 0x10, 0x89 }, + { 0x11, 0x41 }, + { 0x12, 0x58 }, + + // CMcpxVoiceClient_Set3dMode+0x1E : retn 0x08 + { 0x1E, 0xC2 }, + { 0x1F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetMode +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetMode, 3911, 10, + + XREF_CDirectSoundVoice_SetMode, + XRefOne) + + // CDirectSoundVoice_SetMode+0x1E : call [CMcpxVoiceClient::Set3dMode] + XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_Set3dMode), + + // CDirectSoundVoice_SetMode+0x17 : push [esp+0x14] + { 0x17, 0xFF }, + { 0x18, 0x74 }, + { 0x19, 0x24 }, + { 0x1A, 0x14 }, + + // CDirectSoundVoice_SetMode+0x1B : mov ecx, [eax+0x14] + { 0x1B, 0x8B }, + { 0x1C, 0x48 }, + { 0x1D, 0x14 }, + + // CDirectSoundVoice_SetMode+0x38 : retn 0x0C + { 0x38, 0xC2 }, + { 0x39, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMode +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetMode, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetMode+0x18 : call [CDirectSoundVoice::SetMode] + XREF_ENTRY( 0x19, XREF_CDirectSoundVoice_SetMode ), + + // IDirectSoundBuffer_SetMode+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetMode+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, + + // IDirectSoundBuffer_SetMode+0x1D : retn 0x0C + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetMode +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetMode, 3911, 7, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetMode+0x10 : call [CDirectSoundVoice::SetMode] + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMode ), + + // CDirectSoundStream_SetMode+0x0C : add eax, 4 + { 0x0C, 0x83 }, + { 0x0D, 0xC0 }, + { 0x0E, 0x04 }, + + // CDirectSoundStream_SetMode+0x0F : push eax + { 0x0F, 0x50 }, + + // CDirectSoundBuffer8_SetMode+0x15 : retn 0x0C + { 0x15, 0xC2 }, + { 0x16, 0x0C }, +OOVPA_END; +// ****************************************************************** +// * CMcpxVoiceClient_Set3dPosition +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_Set3dPosition, 3911, 11, + + XREF_CMcpxVoiceClient_Set3dPosition, + XRefZero) + + // CMcpxVoiceClient_Set3dPosition+0x0C : or byte ptr [ecx+0x80], 0xFF + { 0x0C, 0x80 }, + { 0x0D, 0x89 }, + { 0x0E, 0x80 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0xFF }, + + // CMcpxVoiceClient_Set3dPosition+0x1A : jz +0x07 + { 0x1A, 0x74 }, + { 0x1B, 0x07 }, + + // CMcpxVoiceClient_Set3dPosition+0x25 : retn 0x08 + { 0x25, 0xC2 }, + { 0x26, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetPosition +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetPosition, 3911, 14, + + XREF_CDirectSoundVoice_SetPosition, + XRefOne) + + // CDirectSoundVoice_SetPosition+0x35 : call [CMcpxVoiceClient_Set3dPosition] + XREF_ENTRY( 0x35, XREF_CMcpxVoiceClient_Set3dPosition ), + + // CDirectSoundVoice_SetPosition+0x21 : mov eax, [ebp+0x18] + { 0x21, 0x8B }, + { 0x22, 0x45 }, + { 0x23, 0x18 }, + + // CDirectSoundVoice_SetPosition+0x24 : not eax + { 0x24, 0xF7 }, + { 0x25, 0xD0 }, + + // CDirectSoundVoice_SetPosition+0x26 : and eax, 1 + { 0x26, 0x83 }, + { 0x27, 0xE0 }, + { 0x28, 0x01 }, + + // CDirectSoundVoice_SetPosition+0x31 : mov ecx, [eax+0x14] + { 0x31, 0x8B }, + { 0x32, 0x48 }, + { 0x33, 0x14 }, + + // CDirectSoundVoice_SetPosition+0x4F : retn 0x14 + { 0x4F, 0xC2 }, + { 0x50, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetPosition +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetPosition, 3911, 9, + + XREF_CDirectSoundStream_SetPosition, + XRefOne) + + // CDirectSoundStream_SetPosition+0x25 : call [CDirectSoundVoice_SetPosition] + XREF_ENTRY( 0x25, XREF_CDirectSoundVoice_SetPosition ), + + // CDirectSoundStream_SetPosition+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // CDirectSoundStream_SetPosition+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, + + // CDirectSoundStream_SetPosition+0x2A : retn 0x14 + { 0x2A, 0xC2 }, + { 0x2B, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetPosition +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetPosition, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetPosition+0x21 : call [CDirectSoundStream_SetPosition] + XREF_ENTRY( 0x21, XREF_CDirectSoundStream_SetPosition ), + + // IDirectSoundStream_SetPosition+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // IDirectSoundStream_SetPosition+0x1A : fstp [esp] + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, + + // IDirectSoundStream_SetPosition+0x26 : retn 0x14 + { 0x26, 0xC2 }, + { 0x27, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetPosition +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetPosition, 3911, 9, + + XREF_CDirectSoundBuffer_SetPosition, + XRefOne) + + // CDirectSoundBuffer_SetPosition+0x20 : call [CDirectSoundVoice_SetPosition] + XREF_ENTRY( 0x21, XREF_CDirectSoundVoice_SetPosition ), + + // CDirectSoundBuffer_SetPosition+0x06 : fld [ebp+arg_C] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // CDirectSoundBuffer_SetPosition+0x1A : fstp [esp+0x10+var_10] + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, + + // CDirectSoundBuffer_SetPosition+0x26 : retn 0x14 + { 0x27, 0x14 }, + { 0x28, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetPosition +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetPosition, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetPosition+0x2C : call [CDirectSoundBuffer::SetPosition] + XREF_ENTRY( 0x2D, XREF_CDirectSoundBuffer_SetPosition ), + + // IDirectSoundBuffer_SetPosition+0x09 : mov eax, [ebp+arg_0] + { 0x09, 0x8B }, + { 0x0A, 0x45 }, + { 0x0B, 0x08 }, + + // IDirectSoundBuffer_SetPosition+0x28 : fstp [esp+0x10+var_10] + { 0x28, 0xD9 }, + { 0x29, 0x1C }, + { 0x2A, 0x24 }, + + // IDirectSoundBuffer_SetPosition+0x32 : retn 0x14 + { 0x33, 0x14 }, + { 0x34, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxAPU_Set3dPosition +// ****************************************************************** +OOVPA_XREF(CMcpxAPU_Set3dPosition, 3911, 12, + + XREF_DSSETPOSITIONB, + XRefZero) + + // CMcpxAPU_Set3dPosition+0x0C : movsd; movsd; movsd + { 0x0C, 0xA5 }, + { 0x0D, 0xA5 }, + { 0x0E, 0xA5 }, + + // CMcpxAPU_Set3dPosition+0x0F : or byte ptr [ecx+0x01B4], 0xFF + { 0x0F, 0x80 }, + { 0x10, 0x89 }, + { 0x11, 0xB4 }, + { 0x12, 0x01 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0xFF }, + + // CMcpxAPU_Set3dPosition+0x28 : retn 0x08 + { 0x28, 0xC2 }, + { 0x29, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_SetPosition +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetPosition, 3911, 10, + + XREF_DSSETPOSITIONA, + XRefOne) + + // CDirectSound_SetPosition+0x35 : call [CMcpxAPU_Set3dPosition] + XREF_ENTRY( 0x35, XREF_DSSETPOSITIONB ), + + // CDirectSound_SetPosition+0x06 : push esi; push edi + { 0x06, 0x56 }, + { 0x07, 0x57 }, + + // CDirectSound_SetPosition+0x24 : not eax; and eax, 1 + { 0x24, 0xF7 }, + { 0x25, 0xD0 }, + { 0x26, 0x83 }, + { 0x27, 0xE0 }, + { 0x28, 0x01 }, + + // CDirectSound_SetPosition+0x4F : retn 0x14 + { 0x4F, 0xC2 }, + { 0x50, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetPosition +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_SetPosition, 3911, 11, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSound_SetPosition+0x2D : call [CDirectSound_SetPosition] + XREF_ENTRY( 0x2D, XREF_DSSETPOSITIONA ), + + // IDirectSound_SetPosition+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // IDirectSound_SetPosition+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, + + // IDirectSound_SetPosition+0x1B : neg ecx + { 0x1B, 0xF7 }, + { 0x1C, 0xD9 }, + + // IDirectSound_SetPosition+0x32 : retn 0x14 + { 0x32, 0xC2 }, + { 0x33, 0x14 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 10441e787..ced429aff 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -1977,12 +1977,13 @@ OOVPA_XREF(IDirectSoundStream_SetConeOrientation, 3936, 9, { 0x27, 0x14 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_Set3dPosition // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_Set3dPosition, 3936, 11, - XREF_DSSTREAMSETPOSITION1C, + XREF_CMcpxVoiceClient_Set3dPosition, XRefZero) // CMcpxVoiceClient_Set3dPosition+0x0C : or byte ptr [ecx+0x80], 0xFF @@ -2002,17 +2003,18 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dPosition, 3936, 11, { 0x25, 0xC2 }, { 0x26, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetPosition // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetPosition, 3936, 14, - XREF_DSSTREAMSETPOSITION1B, + XREF_CDirectSoundVoice_SetPosition, XRefOne) // CDirectSoundVoice_SetPosition+0x35 : call [CMcpxVoiceClient_Set3dPosition] - XREF_ENTRY( 0x35, XREF_DSSTREAMSETPOSITION1C ), + XREF_ENTRY( 0x35, XREF_CMcpxVoiceClient_Set3dPosition ), // CDirectSoundVoice_SetPosition+0x21 : mov eax, [ebp+0x18] { 0x21, 0x8B }, @@ -2037,17 +2039,18 @@ OOVPA_XREF(CDirectSoundVoice_SetPosition, 3936, 14, { 0x4F, 0xC2 }, { 0x50, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetPosition // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetPosition, 3936, 9, - XREF_DSSTREAMSETPOSITION1A, + XREF_CDirectSoundStream_SetPosition, XRefOne) // CDirectSoundStream_SetPosition+0x25 : call [CDirectSoundVoice_SetPosition] - XREF_ENTRY( 0x25, XREF_DSSTREAMSETPOSITION1B ), + XREF_ENTRY( 0x25, XREF_CDirectSoundVoice_SetPosition ), // CDirectSoundStream_SetPosition+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, @@ -2063,7 +2066,8 @@ OOVPA_XREF(CDirectSoundStream_SetPosition, 3936, 9, { 0x2A, 0xC2 }, { 0x2B, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundStream_SetPosition // ****************************************************************** @@ -2073,7 +2077,7 @@ OOVPA_XREF(IDirectSoundStream_SetPosition, 3936, 9, XRefOne) // IDirectSoundStream_SetPosition+0x21 : call [CDirectSoundStream_SetPosition] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETPOSITION1A ), + XREF_ENTRY( 0x21, XREF_CDirectSoundStream_SetPosition ), // IDirectSoundStream_SetPosition+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, @@ -2089,17 +2093,18 @@ OOVPA_XREF(IDirectSoundStream_SetPosition, 3936, 9, { 0x26, 0xC2 }, { 0x27, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::SetPosition // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetPosition, 3936, 9, - XREF_DSBUFFERSETPOSITION, + XREF_CDirectSoundBuffer_SetPosition, XRefOne) // CDirectSoundBuffer_SetPosition+0x20 : call [CDirectSoundVoice_SetPosition] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETPOSITION1B ), + XREF_ENTRY( 0x21, XREF_CDirectSoundVoice_SetPosition ), // CDirectSoundBuffer_SetPosition+0x06 : fld [ebp+arg_C] { 0x06, 0xD9 }, @@ -2115,7 +2120,8 @@ OOVPA_XREF(CDirectSoundBuffer_SetPosition, 3936, 9, { 0x27, 0x14 }, { 0x28, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetPosition // ****************************************************************** @@ -2125,7 +2131,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPosition, 3936, 9, XRefOne) // IDirectSoundBuffer_SetPosition+0x2C : call [CDirectSoundBuffer::SetPosition] - XREF_ENTRY( 0x2D, XREF_DSBUFFERSETPOSITION ), + XREF_ENTRY( 0x2D, XREF_CDirectSoundBuffer_SetPosition ), // IDirectSoundBuffer_SetPosition+0x09 : mov eax, [ebp+arg_0] { 0x09, 0x8B }, @@ -2141,6 +2147,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPosition, 3936, 9, { 0x33, 0x14 }, { 0x34, 0x00 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * XAudioCalculatePitch @@ -2249,12 +2256,13 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 3936, 8, { 0x12, 0xC8 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient::Set3dMode // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_Set3dMode, 3936, 12, - XREF_DSBUFFERSETMODEB, + XREF_CMcpxVoiceClient_Set3dMode, XRefZero) // CMcpxVoiceClient_Set3dMode+0x04 : or byte ptr [ecx+0x80], 0xFF @@ -2275,17 +2283,18 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dMode, 3936, 12, { 0x1E, 0xC2 }, { 0x1F, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice::SetMode // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMode, 3936, 10, - XREF_DSBUFFERSETMODEA, + XREF_CDirectSoundVoice_SetMode, XRefOne) // CDirectSoundVoice_SetMode+0x1E : call [CMcpxVoiceClient::Set3dMode] - XREF_ENTRY( 0x1F, XREF_DSBUFFERSETMODEB ), + XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_Set3dMode ), // CDirectSoundVoice_SetMode+0x17 : push [esp+0x14] { 0x17, 0xFF }, @@ -2302,7 +2311,8 @@ OOVPA_XREF(CDirectSoundVoice_SetMode, 3936, 10, { 0x38, 0xC2 }, { 0x39, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetMode // ****************************************************************** @@ -2312,7 +2322,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 3936, 10, XRefOne) // IDirectSoundBuffer_SetMode+0x18 : call [CDirectSoundVoice::SetMode] - XREF_ENTRY( 0x19, XREF_DSBUFFERSETMODEA ), + XREF_ENTRY( 0x19, XREF_CDirectSoundVoice_SetMode ), // IDirectSoundBuffer_SetMode+0x04 : push [esp+0x0C] { 0x04, 0xFF }, @@ -2329,6 +2339,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 3936, 10, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; +#endif #if 0 // No longer used, not available by 3936 // ****************************************************************** // * CDirectSoundStream_SetRolloffFactor @@ -2804,7 +2815,7 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 3936, 12, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU_Set3dPosition // ****************************************************************** @@ -2831,7 +2842,8 @@ OOVPA_XREF(CMcpxAPU_Set3dPosition, 3936, 12, { 0x28, 0xC2 }, { 0x29, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound_SetPosition // ****************************************************************** @@ -2858,7 +2870,8 @@ OOVPA_XREF(CDirectSound_SetPosition, 3936, 10, { 0x4F, 0xC2 }, { 0x50, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_SetPosition // ****************************************************************** @@ -2888,7 +2901,7 @@ OOVPA_XREF(IDirectSound_SetPosition, 3936, 11, { 0x32, 0xC2 }, { 0x33, 0x14 }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxAPU_Set3dVelocity // ****************************************************************** @@ -3055,7 +3068,7 @@ OOVPA_NO_XREF(IDirectSound_DownloadEffectsImage, 3936, 11) { 0x24, 0xC2 }, { 0x25, 0x14 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetMode // ****************************************************************** @@ -3065,7 +3078,7 @@ OOVPA_XREF(CDirectSoundStream_SetMode, 3936, 7, XRefOne) // CDirectSoundStream_SetMode+0x10 : call [CDirectSoundVoice::SetMode] - XREF_ENTRY( 0x11, XREF_DSBUFFERSETMODEA ), + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMode ), // CDirectSoundStream_SetMode+0x0C : add eax, 4 { 0x0C, 0x83 }, @@ -3079,6 +3092,7 @@ OOVPA_XREF(CDirectSoundStream_SetMode, 3936, 7, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) @@ -3996,19 +4010,19 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 3911, XREF), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(IDirectSoundStream_SetConeOrientation, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_Set3dPosition, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetPosition, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundStream_SetPosition, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dPosition, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 3911, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetPosition, 3911, PATCH), + REGISTER_OOVPA(IDirectSoundStream_SetPosition, 3911, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH), REGISTER_OOVPA(XAudioCalculatePitch, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 3911, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 3936, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_Set3dMode, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetMode, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dMode, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetMode, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 3936, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Commit3dSettings, 3911, XREF), @@ -4024,9 +4038,9 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxAPU_SetMixBinHeadroom, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3936, PATCH), - REGISTER_OOVPA(CMcpxAPU_Set3dPosition, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetPosition, 3936, XREF), - REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), + REGISTER_OOVPA(CMcpxAPU_Set3dPosition, 3911, XREF), + REGISTER_OOVPA(CDirectSound_SetPosition, 3911, XREF), + REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Set3dVelocity, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), @@ -4034,7 +4048,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSound_SetAllParameters, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMode, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMode, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Set3dDopplerFactor, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3936, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index cb5d5fcba..fc286f7ac 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -1984,7 +1984,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMode, 4039, 12, - XREF_DSBUFFERSETMODEB, + XREF_CDirectSoundVoice_SetMode, XRefZero) { 0x00, 0xF6 }, @@ -2007,11 +2007,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMode, 4039, 12, - XREF_DSBUFFERSETMODEA, + XREF_CDirectSoundBuffer_SetMode, XRefOne) // CDirectSoundBuffer_SetMode+0x35 : call [CDirectSoundVoice::SetMode] - XREF_ENTRY( 0x35, XREF_DSBUFFERSETMODEB ), + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetMode ), // CDirectSoundBuffer_SetMode+0x00 : push esi { 0x00, 0x56 }, @@ -2062,7 +2062,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetPosition, 4039, 10, - XREF_DSBUFFERSETPOSITION, + XREF_CDirectSoundBuffer_SetPosition, XRefOne) // CDirectSoundBuffer_SetPosition+0x49 : call [CDirectSoundVoice::SetPosition] @@ -2086,6 +2086,34 @@ OOVPA_XREF(CDirectSoundBuffer_SetPosition, 4039, 10, { 0x64, 0x14 }, OOVPA_END; +// ****************************************************************** +// * IDirectSoundBuffer_SetMode +// ****************************************************************** +// Generic OOVPA as of 4039 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetMode, 4039, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetMode+0x18 : call [CDirectSoundBuffer::SetPosition] + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetMode ), + + // IDirectSoundBuffer_SetMode+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetMode+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, + + // IDirectSoundBuffer_SetMode+0x1D : retn 0x0C + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + // ****************************************************************** // * CDirectSoundVoice::SetVelocity // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 22637ea89..716addaea 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -1813,7 +1813,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetPosition, 4134, 9, - XREF_DSBUFFERSETPOSITION, + XREF_CDirectSoundBuffer_SetPosition, XRefOne) // CDirectSoundBuffer_SetPosition+0x49 : call [CDirectSoundVoice::SetPosition] @@ -2241,7 +2241,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMode, 4134, 7, - XREF_DSBUFFERSETMODEB, + XREF_CDirectSoundVoice_SetMode, XRefZero) { 0x03, 0x0C }, @@ -2258,10 +2258,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMode, 4134, 8, - XREF_DSBUFFERSETMODEA, + XREF_CDirectSoundBuffer_SetMode, XRefOne) - XREF_ENTRY( 0x36, XREF_DSBUFFERSETMODEB ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMode ), { 0x0C, 0x00 }, { 0x14, 0x74 }, @@ -2271,7 +2271,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMode, 4134, 8, { 0x40, 0x68 }, { 0x4B, 0x8B }, OOVPA_END; - +#if 0 // Duplicate OOVPA, replacing with generic 4039 // ****************************************************************** // * IDirectSoundBuffer_SetMode // ****************************************************************** @@ -2280,7 +2280,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 4134, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x19, XREF_DSBUFFERSETMODEA ), + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetMode ), { 0x02, 0x24 }, { 0x06, 0x24 }, @@ -2291,7 +2291,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 4134, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundStream_SetMode // ****************************************************************** @@ -2300,7 +2300,7 @@ OOVPA_XREF(CDirectSoundStream_SetMode, 4134, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x3A, XREF_DSBUFFERSETMODEB ), + XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMode ), { 0x00, 0x56 }, { 0x0C, 0x00 }, @@ -3000,7 +3000,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... - REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), @@ -3066,7 +3066,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPosition, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), @@ -3091,7 +3091,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMode, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 8a054a9ff..e54890b7e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1507,7 +1507,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... - REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), @@ -1585,7 +1585,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), @@ -1628,7 +1628,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 4b6082d28..76650bc30 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -84,7 +84,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... - REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), @@ -166,7 +166,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundStream_SetConeOutsideVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPosition, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), @@ -211,7 +211,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMode, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 9399b2835..65a33b7e0 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -201,7 +201,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMode, 5233, 8, - XREF_DSBUFFERSETMODEB, + XREF_CDirectSoundVoice_SetMode, XRefZero) { 0x00, 0xF6 }, @@ -219,10 +219,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMode, 5233, 8, - XREF_DSBUFFERSETMODEA, + XREF_CDirectSoundBuffer_SetMode, XRefOne) - XREF_ENTRY( 0x36, XREF_DSBUFFERSETMODEB ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMode ), { 0x01, 0xE8 }, { 0x15, 0x0B }, @@ -232,7 +232,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMode, 5233, 8, { 0x3F, 0x0B }, { 0x50, 0x0C }, OOVPA_END; - +#if 0 // Duplicate OOVPA, replacing with generic 4039 // ****************************************************************** // * IDirectSoundBuffer_SetMode // ****************************************************************** @@ -241,7 +241,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 5233, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x19, XREF_DSBUFFERSETMODEA ), + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetMode ), // IDirectSoundBuffer_SetMode+0x0E : add eax, 0xFFFFFFE4 { 0x0E, 0x83 }, @@ -256,7 +256,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMode, 5233, 8, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundVoice::SetVolume // ****************************************************************** @@ -388,7 +388,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), @@ -444,7 +444,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), @@ -461,7 +461,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 1554d4897..36a4b8e7a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -386,7 +386,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMode, 5344, 11, - XREF_DSBUFFERSETMODEB, + XREF_CDirectSoundVoice_SetMode, XRefZero) { 0x09, 0xB4 }, @@ -900,7 +900,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5233, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 5344, XREF), - REGISTER_OOVPA(IDirectSound_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), @@ -957,7 +957,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPosition, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), @@ -973,7 +973,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 56a146282..08d27952e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -825,7 +825,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetPosition, 5558, 9, - XREF_DSBUFFERSETPOSITION, + XREF_CDirectSoundBuffer_SetPosition, XRefOne) XREF_ENTRY( 0x4A, XREF_DSVOICESETPOSITION ), @@ -848,7 +848,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPosition, 5558, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x2D, XREF_DSBUFFERSETPOSITION ), + XREF_ENTRY( 0x2D, XREF_CDirectSoundBuffer_SetPosition ), { 0x05, 0x18 }, { 0x0C, 0x83 }, @@ -1397,7 +1397,7 @@ OOVPA_XREF(CDirectSound_SetPosition, 5558, 7, { 0x58, 0xE8 }, { 0x67, 0x15 }, OOVPA_END; - +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_SetPosition // ****************************************************************** @@ -1416,7 +1416,7 @@ OOVPA_XREF(IDirectSound_SetPosition, 5558, 8, { 0x28, 0xD9 }, { 0x31, 0x5D }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSound::SetVelocity // ****************************************************************** @@ -1764,7 +1764,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSound_GetOutputLevels, 5558, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetPosition, 5558, PATCH), + REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 55cc54981..72845124a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -621,7 +621,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetPosition, 5558, PATCH), + REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 5558, XREF), @@ -718,7 +718,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetFilter, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index e2beb28de..50e2b2d60 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -151,7 +151,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetPosition, 5558, PATCH), + REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 5558, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5788, XREF), @@ -227,7 +227,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 5233, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 503185e19..aeedd698c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -63,7 +63,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxAPU_Set3dDistanceFactor, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_Set3dParameters, XREF, 3936), - REGISTER_OOVPAS(CMcpxAPU_Set3dPosition, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Set3dPosition, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Set3dRolloffFactor, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_Set3dVelocity, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_SetMixBinHeadroom, XREF, 3936), @@ -87,9 +87,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOutsideVolume, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMaxDistance, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMinDistance, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMode, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMode, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dPosition, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dPosition, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dVelocity, XREF, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 3911, 4039, 4242), REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 3911, 4039, 4134, 5344, 5558), @@ -118,10 +118,10 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3911, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMixBins, XREF, 3911, 4039, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetMixBinVolumes, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3936, 4039, 4134, 5233, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetMode, XREF, 3911, 4039, 4134, 5233, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetOutputBuffer, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetPitch, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 3936, 4039, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 3911, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment) REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 3936, 4039, 4134, 5344), @@ -158,7 +158,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 3911, 4039, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 3936, 4039, 4361, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 4039, 3936, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 3911, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffCurve, XREF, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffFactor, XREF, 4134, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3936, 4039, 4134, 5558), @@ -189,10 +189,10 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3936, 4627, 5233, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. - REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffFactor, PATCH, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3936, 4134), @@ -214,7 +214,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3936, 4627, 5558), REGISTER_OOVPAS(CDirectSound_SetOrientation, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3936, 4134, 4627, 5344, 5558), // TODO: Find a cure for laziness... (from 4134's comment) + REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4134, 4627, 5344, 5558), // TODO: Find a cure for laziness... (from 4134's comment) REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3936, 4039, 4134, 5344, 5558, 5788, 5849), REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3936, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344, 5558), @@ -247,12 +247,12 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3911, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. - REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3936, 4134, 5233), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3911, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 3936, 4361), - REGISTER_OOVPAS(IDirectSoundBuffer_SetPosition, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPosition, PATCH, 3911, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3936, 5558), @@ -266,7 +266,7 @@ OOVPATable DSound_OOVPAV2[] = { //REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911), //TODO: IDirectSoundStream_SetEG and CDirectSoundStream_SetEG has 2 seperate functions. Except has the same asm codes. REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetPosition, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundStream_SetPosition, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, PATCH, 3936), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3911), @@ -285,7 +285,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_SetI3DL2Listener, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3936, 4627, 5558), REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetPosition, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSound_SetPosition, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3936, 4134/*, 5344*/), REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3936, 5558), REGISTER_OOVPAS(IDirectSound_SynchPlayback, PATCH, 5233), From 6cc449eb42ceee5f9c05aa89b7e73befc7d9e3e7 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 17 Sep 2017 22:34:28 -0500 Subject: [PATCH 069/146] 3911 DS Stream and Buffer Classes are DONE! :tada: - 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 --- src/CxbxKrnl/HLEDataBase.h | 18 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 576 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 133 +++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 34 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 42 +- 12 files changed, 727 insertions(+), 120 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index f4e33af58..0b8037d70 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -207,8 +207,8 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_SetMixBinVolumes, XREF_CDirectSoundVoice_SetMixBinVolumes, XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, - XREF_DSSETPOSITIONA, - XREF_DSSETPOSITIONB, + XREF_CDirectSound_SetPosition, + XREF_CMcpxAPU_Set3dPosition, XREF_DSSETVELOCITYA, XREF_DSSETVELOCITYB, XREF_CDirectSound_DoWork, @@ -229,8 +229,8 @@ enum XRefDataBaseOffset XREF_DSBUFFERSETCURRENTPOSITIONA, XREF_DSBUFFERSETCURRENTPOSITIONB, XREF_DSBUFFERSETLOOPREGIONA, - XREF_DSBUFFERSETPLAYREGIONA, - XREF_DSBUFFERLOCKA, + XREF_CDirectSoundBuffer_SetPlayRegion, + XREF_CDirectSoundBuffer_Lock, XREF_DSBUFFERSETHEADROOMA, XREF_DSBUFFERSETFREQUENCYA, XREF_CDirectSoundVoice_SetFrequency, @@ -245,9 +245,9 @@ enum XRefDataBaseOffset XREF_CDirectSoundVoice_SetAllParameters, XREF_CMcpxVoiceClient_Set3dParameters, XREF_DSSTREAMSETALLPARAMETERS1C, - XREF_DSSTREAMSETVELOCITY1A, - XREF_DSSTREAMSETVELOCITY1B, - XREF_DSSTREAMSETVELOCITY1C, + XREF_CDirectSoundStream_SetVelocity, + XREF_CDirectSoundVoice_SetVelocity, + XREF_CMcpxVoiceClient_Set3dVelocity, XREF_CDirectSoundStream_SetConeOrientation, XREF_CDirectSoundVoice_SetConeOrientation, XREF_CMcpxVoiceClient_Set3dConeOrientation, @@ -269,6 +269,8 @@ enum XRefDataBaseOffset XREF_IDirectSound_CreateSoundStream, // s+ // DSOUND + XREF_DS_CRefCount_AddRef, + XREF_DS_CRefCount_Release, XREF_DSVOICESETMAXDISTANCE, XREF_DSVOICESETROLLOFFCURVE, XREF_DSVOICESETROLLOFFFACTOR, @@ -291,7 +293,7 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_SetConeOrientation, XREF_CDirectSoundBuffer_SetConeOutsideVolume, XREF_CDirectSoundBuffer_SetPosition, - XREF_DSBUFFERSETVELOCITY, + XREF_CDirectSoundBuffer_SetVelocity, XREF_DSBUFFERSETDOPPLERFACTOR, XREF_DSBUFFERSETI3DL2SOURCE, XREF_CDirectSoundVoice_SetFormat, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 0a4fcb058..6c5112b2e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -660,25 +660,56 @@ OOVPA_XREF(IDirectSoundBuffer_Stop, 3911, 12, { 0x16, 0x04 }, { 0x17, 0x00 }, OOVPA_END; +// ****************************************************************** +// * CDirectSoundBuffer_SetLoopRegion +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 3911, 10, + + XREF_CDirectSoundBuffer_SetLoopRegion, + XRefZero) + + // CDirectSoundBuffer_SetLoopRegion+0x20 : cmp edx, [ecx+0x54] + { 0x20, 0x3B }, + { 0x21, 0x51 }, + { 0x22, 0x54 }, + + // CDirectSoundBuffer_SetLoopRegion+0x2C : mov ecx, [esi+0x20] + { 0x2C, 0x8B }, + { 0x2D, 0x4E }, + { 0x2E, 0x20 }, + + // CDirectSoundBuffer_SetLoopRegion+0x38 : jz +0x0B + { 0x38, 0x74 }, + { 0x39, 0x0B }, + + // CDirectSoundBuffer_SetLoopRegion+0x4A : retn 0x0C + { 0x4A, 0xC2 }, + { 0x4B, 0x0C }, +OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetLoopRegion // ****************************************************************** -//Generic OOVPA as of 3911 and newer. -//TODO: Need to make CDirectSoundBuffer_SetLoopRegion OOVPA for 3911 and newer. -OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 3911, 9, +OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 3911, 10, XRefNoSaveIndex, XRefOne) + // IDirectSoundBuffer_SetLoopRegion+0x19 : call [CDirectSoundBuffer_SetLoopRegion] XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetLoopRegion ), - { 0x02, 0x24 }, + // IDirectSoundBuffer_SetLoopRegion+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, + { 0x05, 0x74 }, { 0x06, 0x24 }, - { 0x0A, 0xFF }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetLoopRegion+0x0E : add eax, 0xFFFFFFE4 { 0x0E, 0x83 }, - { 0x12, 0xD9 }, - { 0x16, 0xC8 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, + + // IDirectSoundBuffer_SetLoopRegion+0x1D : retn 0x0C { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; @@ -3301,7 +3332,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxAPU_Set3dPosition, 3911, 12, - XREF_DSSETPOSITIONB, + XREF_CMcpxAPU_Set3dPosition, XRefZero) // CMcpxAPU_Set3dPosition+0x0C : movsd; movsd; movsd @@ -3328,11 +3359,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetPosition, 3911, 10, - XREF_DSSETPOSITIONA, + XREF_CDirectSound_SetPosition, XRefOne) // CDirectSound_SetPosition+0x35 : call [CMcpxAPU_Set3dPosition] - XREF_ENTRY( 0x35, XREF_DSSETPOSITIONB ), + XREF_ENTRY( 0x35, XREF_CMcpxAPU_Set3dPosition ), // CDirectSound_SetPosition+0x06 : push esi; push edi { 0x06, 0x56 }, @@ -3360,7 +3391,7 @@ OOVPA_XREF(IDirectSound_SetPosition, 3911, 11, XRefOne) // IDirectSound_SetPosition+0x2D : call [CDirectSound_SetPosition] - XREF_ENTRY( 0x2D, XREF_DSSETPOSITIONA ), + XREF_ENTRY( 0x2D, XREF_CDirectSound_SetPosition ), // IDirectSound_SetPosition+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, @@ -3380,3 +3411,526 @@ OOVPA_XREF(IDirectSound_SetPosition, 3911, 11, { 0x32, 0xC2 }, { 0x33, 0x14 }, OOVPA_END; +// ****************************************************************** +// * CMcpxVoiceClient_Set3dVelocity +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_Set3dVelocity, 3911, 12, + + XREF_CMcpxVoiceClient_Set3dVelocity, + XRefZero) + + // CMcpxVoiceClient_Set3dVelocity+0x09 : movsd; movsd; movsd + { 0x09, 0xA5 }, + { 0x0A, 0xA5 }, + { 0x0B, 0xA5 }, + + // CMcpxVoiceClient_Set3dVelocity+0x0C : or byte ptr [ecx+0x80], 0x40 + { 0x0C, 0x83 }, + { 0x0D, 0x89 }, + { 0x0E, 0x80 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x40 }, + + // CMcpxVoiceClient_Set3dVelocity+0x25 : retn 0x08 + { 0x25, 0xC2 }, + { 0x26, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetVelocity +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetVelocity, 3911, 14, + + XREF_CDirectSoundVoice_SetVelocity, + XRefOne) + + // CDirectSoundVoice_SetVelocity+0x35 : call [CMcpxVoiceClient_Set3dVelocity] + XREF_ENTRY( 0x35, XREF_CMcpxVoiceClient_Set3dVelocity ), + + // CDirectSoundVoice_SetVelocity+0x21 : mov eax, [ebp+0x18] + { 0x21, 0x8B }, + { 0x22, 0x45 }, + { 0x23, 0x18 }, + + // CDirectSoundVoice_SetVelocity+0x24 : not eax + { 0x24, 0xF7 }, + { 0x25, 0xD0 }, + + // CDirectSoundVoice_SetVelocity+0x26 : and eax, 1 + { 0x26, 0x83 }, + { 0x27, 0xE0 }, + { 0x28, 0x01 }, + + // CDirectSoundVoice_SetVelocity+0x31 : mov ecx, [eax+0x14] + { 0x31, 0x8B }, + { 0x32, 0x48 }, + { 0x33, 0x14 }, + + // CDirectSoundVoice_SetVelocity+0x4F : retn 0x14 + { 0x4F, 0xC2 }, + { 0x50, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetVelocity +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetVelocity, 3911, 9, + + XREF_CDirectSoundStream_SetVelocity, + XRefOne) + + // CDirectSoundStream_SetVelocity+0x25 : call [CDirectSoundVoice_SetVelocity] + XREF_ENTRY( 0x25, XREF_CDirectSoundVoice_SetVelocity ), + + // CDirectSoundStream_SetVelocity+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // CDirectSoundStream_SetVelocity+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, + + // CDirectSoundStream_SetVelocity+0x2A : retn 0x14 + { 0x2A, 0xC2 }, + { 0x2B, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetVelocity +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetVelocity, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetVelocity+0x21 : call [CDirectSoundStream_SetVelocity] + XREF_ENTRY( 0x21, XREF_CDirectSoundStream_SetVelocity ), + + // CDirectSoundStream_SetVelocity+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // CDirectSoundStream_SetVelocity+0x1A : fstp [esp] + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, + + // CDirectSoundStream_SetVelocity+0x26 : retn 0x14 + { 0x26, 0xC2 }, + { 0x27, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetVelocity +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 3911, 9, + + XREF_CDirectSoundBuffer_SetVelocity, + XRefOne) + + // CDirectSoundBuffer_SetVelocity+0x20 : call [CDirectSoundVoice_SetVelocity] + XREF_ENTRY( 0x21, XREF_CDirectSoundVoice_SetVelocity ), + + // CDirectSoundBuffer_SetVelocity+0x06 : fld [ebp+arg_C] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // CDirectSoundBuffer_SetVelocity+0x1A : fstp [esp+0x10+var_10] + { 0x1A, 0xD9 }, + { 0x1B, 0x1C }, + { 0x1C, 0x24 }, + + // CDirectSoundBuffer_SetVelocity+0x26 : retn 0x14 + { 0x27, 0x14 }, + { 0x28, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetVelocity +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetVelocity, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetVelocity+0x2C : call [CDirectSoundBuffer::SetVelocity] + XREF_ENTRY( 0x2D, XREF_CDirectSoundBuffer_SetVelocity ), + + // IDirectSoundBuffer_SetVelocity+0x09 : mov eax, [ebp+arg_0] + { 0x09, 0x8B }, + { 0x0A, 0x45 }, + { 0x0B, 0x08 }, + + // IDirectSoundBuffer_SetVelocity+0x28 : fstp [esp+0x10+var_10] + { 0x28, 0xD9 }, + { 0x29, 0x1C }, + { 0x2A, 0x24 }, + + // IDirectSoundBuffer_SetVelocity+0x32 : retn 0x14 + { 0x33, 0x14 }, + { 0x34, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::SetOutputBuffer +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetOutputBuffer, 3911, 12, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetOutputBuffer+0x22 : call [CDirectSoundVoice_SetOutputBuffer] + XREF_ENTRY( 0x23, XREF_CDirectSoundVoice_SetOutputBuffer ), + + // CDirectSoundStream_SetOutputBuffer+0x00 : push ebx + { 0x00, 0x53 }, + + // CDirectSoundStream_SetOutputBuffer+0x08 : mov esi, dword ptr[esp+10h] + { 0x08, 0x8B }, + { 0x09, 0x74 }, + { 0x0A, 0x24 }, + { 0x0B, 0x10 }, + + // CDirectSoundStream_SetOutputBuffer+0x1A : push dword ptr[esp+14h] + { 0x1A, 0xFF }, + { 0x1B, 0x74 }, + { 0x1C, 0x24 }, + { 0x1D, 0x14 }, + + // CDirectSoundStream_SetOutputBuffer+0x3D : retn 0x14 + { 0x3D, 0xC2 }, + { 0x3E, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetI3DL2Source +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetI3DL2Source, 3911, 7, + + XREF_CMcpxVoiceClient_SetI3DL2Source, + XRefZero) + + { 0x04, 0x08 }, + { 0x0A, 0x59 }, + { 0x10, 0x80 }, + { 0x16, 0x80 }, + { 0x1C, 0x5F }, + { 0x22, 0x8B }, + { 0x29, 0x33 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetI3DL2Source +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 3911, 9, + + XREF_CDirectSoundVoice_SetI3DL2Source, + XRefOne) + + XREF_ENTRY( 0x1F, XREF_CMcpxVoiceClient_SetI3DL2Source ), + + { 0x00, 0x56 }, + { 0x07, 0x8B }, + { 0x0E, 0xD0 }, + { 0x16, 0x10 }, + { 0x1E, 0xE8 }, + { 0x26, 0xF8 }, + { 0x2E, 0xFF }, + { 0x36, 0x5F }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetI3DL2Source +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x19, XREF_CDirectSoundVoice_SetI3DL2Source ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::SetI3DL2Source +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetI3DL2Source, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetI3DL2Source ), + + { 0x01, 0x74 }, + { 0x04, 0x8B }, + { 0x07, 0x08 }, + { 0x0A, 0x24 }, + { 0x0D, 0xC0 }, + { 0x10, 0xE8 }, + { 0x15, 0xC2 }, + { 0x16, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_Lock +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_Lock, 3911, 10, + + XREF_CDirectSoundBuffer_Lock, + XRefZero) + + // CDirectSoundBuffer_Lock+0x37 : mov eax, [eax+0x4C] + { 0x37, 0x8B }, + { 0x38, 0x40 }, + { 0x39, 0x4C }, + + // CDirectSoundBuffer_Lock+0x68 : mov [edi], ebx; jz +0x1F + { 0x68, 0x89 }, + { 0x69, 0x1F }, + { 0x6A, 0x74 }, + { 0x6B, 0x1F }, + + // CDirectSoundBuffer_Lock+0x85 : and dword ptr [edx], 0 + { 0x85, 0x83 }, + { 0x86, 0x22 }, + { 0x87, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_Lock +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_Lock, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_Lock+0x28 : call [CDirectSoundBuffer_Lock] + XREF_ENTRY( 0x28, XREF_CDirectSoundBuffer_Lock ), + + // IDirectSoundBuffer_Lock+0x03 : push [esp+0x24] + { 0x03, 0xFF }, + { 0x04, 0x75 }, + { 0x05, 0x24 }, + + // IDirectSoundBuffer_Lock+0x11 : add eax, 0xFFFFFFE4 + { 0x11, 0x83 }, + { 0x12, 0xC0 }, + { 0x13, 0xE4 }, + + // IDirectSoundBuffer_Lock+0x2D : retn 0x20 + { 0x2D, 0xC2 }, + { 0x2E, 0x20 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxBuffer_SetCurrentPosition +// ****************************************************************** +OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 3911, 11, + + XREF_CMcpxBuffer_SetCurrentPosition, + XRefZero) + + // CMcpxBuffer_SetCurrentPosition+0x25 : mov eax, [esi+0x148] + { 0x25, 0x8B }, + { 0x26, 0x86 }, + { 0x27, 0x48 }, + { 0x28, 0x01 }, + + // CMcpxBuffer_SetCurrentPosition+0x4A : push edi; push 4 + { 0x4A, 0x57 }, + { 0x4B, 0x6A }, + { 0x4C, 0x04 }, + + // CMcpxBuffer_SetCurrentPosition+0x71 : movzx eax, word ptr [eax+2] + { 0x71, 0x0F }, + { 0x72, 0xB7 }, + { 0x73, 0x40 }, + { 0x74, 0x02 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_SetCurrentPosition +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 3911, 12, + + XREF_CDirectSoundBuffer_SetCurrentPosition, + XRefOne) + + // CDirectSoundBuffer_SetCurrentPosition+0x15 : call [CMcpxBuffer_SetCurrentPosition] + XREF_ENTRY( 0x15, XREF_CMcpxBuffer_SetCurrentPosition ), + + // CDirectSoundBuffer_SetCurrentPosition+0x0D : mov eax, [esp+0x10] + { 0x0D, 0x8B }, + { 0x0E, 0x44 }, + { 0x0F, 0x24 }, + { 0x10, 0x10 }, + + // CDirectSoundBuffer_SetCurrentPosition+0x11 : mov ecx, [eax+0x20] + { 0x11, 0x8B }, + { 0x12, 0x48 }, + { 0x13, 0x20 }, + + // CDirectSoundBuffer_SetCurrentPosition+0x1D : jz +0x0B + { 0x1D, 0x74 }, + { 0x1E, 0x0B }, + + // CDirectSoundBuffer_SetCurrentPosition+0x2E : retn 0x08 + { 0x2E, 0xC2 }, + { 0x2F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetCurrentPosition +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetCurrentPosition+0x15 : call [CDirectSoundBuffer_SetCurrentPosition] + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetCurrentPosition ), + + // IDirectSoundBuffer_SetCurrentPosition+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetCurrentPosition+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetCurrentPosition+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * DS_CRefCount_AddRef +// ****************************************************************** +OOVPA_XREF(DS_CRefCount_AddRef, 3911, 11, + + XREF_DS_CRefCount_AddRef, + XRefZero) + + // DS_CRefCount_AddRef+0x04 : add eax, 4 + { 0x00, 0x56 }, + + + // DS_CRefCount_AddRef+0x0A : inc dword ptr [ecx+4] + { 0x0A, 0xFF }, + { 0x0B, 0x41 }, + { 0x0C, 0x04 }, + + // DS_CRefCount_AddRef+0x0A : mov, dword ptr [ecx+4] + { 0x0F, 0x8B }, + { 0x10, 0x71 }, + { 0x11, 0x04 }, + + { 0x19, 0xFF }, + { 0x1A, 0x15 }, + + // DS_CRefCount_AddRef+0x22 : retn 0x04 + { 0x22, 0xC2 }, + { 0x23, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_AddRef +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_AddRef, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_AddRef+0x08 : call [CRefCount_AddRef] + XREF_ENTRY( 0x09, XREF_DS_CRefCount_AddRef ), + + // CDirectSoundStream_AddRef+0x04 : add eax, 4 + { 0x04, 0x83 }, + { 0x05, 0xC0 }, + { 0x06, 0x04 }, + + // CDirectSoundStream_AddRef+0x0A : push eax + { 0x07, 0x50 }, + + // CDirectSoundStream_AddRef+0x08 : call [CRefCount_AddRef] + { 0x08, 0xE8 }, + + // CDirectSoundStream_AddRef+0x0D : retn 0x04 + { 0x0D, 0xC2 }, + { 0x0E, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * DS_CRefCount_Release +// ****************************************************************** +OOVPA_XREF(DS_CRefCount_Release, 3911, 11, + + XREF_DS_CRefCount_Release, + XRefZero) + + // DS_CRefCount_Release+0x04 : add eax, 4 + { 0x00, 0x56 }, + + + // DS_CRefCount_Release+0x0A : dec dword ptr [ecx+4] + { 0x0B, 0xFF }, + { 0x0C, 0x49 }, + { 0x0D, 0x04 }, + + // DS_CRefCount_Release+0x0A : mov, dword ptr [ecx+4] + { 0x0E, 0x8B }, + { 0x0F, 0x71 }, + { 0x10, 0x04 }, + + { 0x26, 0xFF }, + { 0x27, 0x15 }, + + // DS_CRefCount_Release+0x30 : retn 0x04 + { 0x30, 0xC2 }, + { 0x31, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Release +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_Release, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_Release+0x08 : call [CRefCount_Release] + XREF_ENTRY( 0x09, XREF_DS_CRefCount_Release ), + + // CDirectSoundStream_Release+0x04 : add eax, 4 + { 0x04, 0x83 }, + { 0x05, 0xC0 }, + { 0x06, 0x04 }, + + // CDirectSoundStream_Release+0x0A : push eax + { 0x07, 0x50 }, + + // CDirectSoundStream_Release+0x08 : call [CRefCount_Release] + { 0x08, 0xE8 }, + + // CDirectSoundStream_Release+0x0D : retn 0x04 + { 0x0D, 0xC2 }, + { 0x0E, 0x04 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index ced429aff..51a2330b3 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -552,7 +552,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxBuffer_SetCurrentPosition // ****************************************************************** @@ -578,7 +578,8 @@ OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 3936, 11, { 0x73, 0x40 }, { 0x74, 0x02 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer_SetCurrentPosition // ****************************************************************** @@ -609,7 +610,8 @@ OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 3936, 12, { 0x2E, 0xC2 }, { 0x2F, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetCurrentPosition // ****************************************************************** @@ -636,44 +638,47 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** -// * CDirectSoundBuffer_SetPlayRegion +// * CDirectSoundBuffer_SetLoopRegion // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 3936, 10, +// NOTICE: This OOVPA does not belong to CDirectSoundBuffer_SetPlayRegion period. +OOVPA_XREF(CDirectSoundBuffer_SetLoopRegion, 3925, 10, - XREF_DSBUFFERSETPLAYREGIONA, + XREF_CDirectSoundBuffer_SetLoopRegion, XRefZero) - // CDirectSoundBuffer_SetPlayRegion+0x20 : cmp edx, [ecx+0x54] + // CDirectSoundBuffer_SetLoopRegion+0x20 : cmp edx, [ecx+0x54] { 0x20, 0x3B }, { 0x21, 0x51 }, { 0x22, 0x54 }, - // CDirectSoundBuffer_SetPlayRegion+0x2C : mov ecx, [esi+0x20] + // CDirectSoundBuffer_SetLoopRegion+0x2C : mov ecx, [esi+0x20] { 0x2C, 0x8B }, { 0x2D, 0x4E }, { 0x2E, 0x20 }, - // CDirectSoundBuffer_SetPlayRegion+0x38 : jz +0x0B + // CDirectSoundBuffer_SetLoopRegion+0x38 : jz +0x0B { 0x38, 0x74 }, { 0x39, 0x0B }, - // CDirectSoundBuffer_SetPlayRegion+0x4A : retn 0x0C + // CDirectSoundBuffer_SetLoopRegion+0x4A : retn 0x0C { 0x4A, 0xC2 }, { 0x4B, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** -// * IDirectSoundBuffer_SetPlayRegion +// * IDirectSoundBuffer_SetLoopRegion // ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 3936, 10, +OOVPA_XREF(IDirectSoundBuffer_SetLoopRegion, 3925, 10, XRefNoSaveIndex, XRefOne) - // IDirectSoundBuffer_SetPlayRegion+0x19 : call [CDirectSoundBuffer_SetPlayRegion] - XREF_ENTRY( 0x19, XREF_DSBUFFERSETPLAYREGIONA ), + // IDirectSoundBuffer_SetPlayRegion+0x19 : call [CDirectSoundBuffer_SetLoopRegion] + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetLoopRegion ), // IDirectSoundBuffer_SetPlayRegion+0x04 : push [esp+0x0C] { 0x04, 0xFF }, @@ -690,13 +695,14 @@ OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 3936, 10, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer_Lock // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_Lock, 3936, 10, - XREF_DSBUFFERLOCKA, + XREF_CDirectSoundBuffer_Lock, XRefZero) // CDirectSoundBuffer_Lock+0x37 : mov eax, [eax+0x4C] @@ -715,7 +721,8 @@ OOVPA_XREF(CDirectSoundBuffer_Lock, 3936, 10, { 0x86, 0x22 }, { 0x87, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_Lock // ****************************************************************** @@ -725,7 +732,7 @@ OOVPA_XREF(IDirectSoundBuffer_Lock, 3936, 9, XRefOne) // IDirectSoundBuffer_Lock+0x28 : call [CDirectSoundBuffer_Lock] - XREF_ENTRY( 0x28, XREF_DSBUFFERLOCKA ), + XREF_ENTRY( 0x28, XREF_CDirectSoundBuffer_Lock ), // IDirectSoundBuffer_Lock+0x03 : push [esp+0x24] { 0x03, 0xFF }, @@ -741,6 +748,7 @@ OOVPA_XREF(IDirectSoundBuffer_Lock, 3936, 9, { 0x2D, 0xC2 }, { 0x2E, 0x20 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetHeadroom @@ -1695,12 +1703,13 @@ OOVPA_XREF(IDirectSoundStream_SetMinDistance, 3936, 11, { 0x16, 0x0C }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_Set3dVelocity // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_Set3dVelocity, 3936, 12, - XREF_DSSTREAMSETVELOCITY1C, + XREF_CMcpxVoiceClient_Set3dVelocity, XRefZero) // CMcpxVoiceClient_Set3dVelocity+0x09 : movsd; movsd; movsd @@ -1721,17 +1730,18 @@ OOVPA_XREF(CMcpxVoiceClient_Set3dVelocity, 3936, 12, { 0x25, 0xC2 }, { 0x26, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice_SetVelocity // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetVelocity, 3936, 14, - XREF_DSSTREAMSETVELOCITY1B, + XREF_CDirectSoundVoice_SetVelocity, XRefOne) // CDirectSoundVoice_SetVelocity+0x35 : call [CMcpxVoiceClient_Set3dVelocity] - XREF_ENTRY( 0x35, XREF_DSSTREAMSETVELOCITY1C ), + XREF_ENTRY( 0x35, XREF_CMcpxVoiceClient_Set3dVelocity ), // CDirectSoundVoice_SetVelocity+0x21 : mov eax, [ebp+0x18] { 0x21, 0x8B }, @@ -1762,11 +1772,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetVelocity, 3936, 9, - XREF_DSSTREAMSETVELOCITY1A, + XREF_CDirectSoundStream_SetVelocity, XRefOne) // CDirectSoundStream_SetVelocity+0x25 : call [CDirectSoundVoice_SetVelocity] - XREF_ENTRY( 0x25, XREF_DSSTREAMSETVELOCITY1B ), + XREF_ENTRY( 0x25, XREF_CDirectSoundVoice_SetVelocity ), // CDirectSoundStream_SetVelocity+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, @@ -1782,7 +1792,8 @@ OOVPA_XREF(CDirectSoundStream_SetVelocity, 3936, 9, { 0x2A, 0xC2 }, { 0x2B, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetVelocity // ****************************************************************** @@ -1792,7 +1803,7 @@ OOVPA_XREF(IDirectSoundStream_SetVelocity, 3936, 9, XRefOne) // CDirectSoundStream_SetVelocity+0x21 : call [CDirectSoundStream_SetVelocity] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETVELOCITY1A ), + XREF_ENTRY( 0x21, XREF_CDirectSoundStream_SetVelocity ), // CDirectSoundStream_SetVelocity+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, @@ -1808,17 +1819,18 @@ OOVPA_XREF(IDirectSoundStream_SetVelocity, 3936, 9, { 0x26, 0xC2 }, { 0x27, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::SetVelocity // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 3936, 9, - XREF_DSBUFFERSETVELOCITY, + XREF_CDirectSoundBuffer_SetVelocity, XRefOne) // CDirectSoundBuffer_SetVelocity+0x20 : call [CDirectSoundStream::SetVelocityB] - XREF_ENTRY( 0x21, XREF_DSSTREAMSETVELOCITY1B ), + XREF_ENTRY( 0x21, XREF_CDirectSoundVoice_SetVelocity ), // CDirectSoundBuffer_SetVelocity+0x06 : fld [ebp+arg_C] { 0x06, 0xD9 }, @@ -1834,7 +1846,8 @@ OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 3936, 9, { 0x27, 0x14 }, { 0x28, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetVelocity // ****************************************************************** @@ -1844,7 +1857,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetVelocity, 3936, 9, XRefOne) // IDirectSoundBuffer_SetVelocity+0x2C : call [CDirectSoundBuffer::SetVelocity] - XREF_ENTRY( 0x2D, XREF_DSBUFFERSETVELOCITY ), + XREF_ENTRY( 0x2D, XREF_CDirectSoundBuffer_SetVelocity ), // IDirectSoundBuffer_SetVelocity+0x09 : mov eax, [ebp+arg_0] { 0x09, 0x8B }, @@ -1860,6 +1873,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetVelocity, 3936, 9, { 0x33, 0x14 }, { 0x34, 0x00 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_Set3dConeOrientation @@ -2821,7 +2835,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxAPU_Set3dPosition, 3936, 12, - XREF_DSSETPOSITIONB, + XREF_CMcpxAPU_Set3dPosition, XRefZero) // CMcpxAPU_Set3dPosition+0x0C : movsd; movsd; movsd @@ -2849,11 +2863,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetPosition, 3936, 10, - XREF_DSSETPOSITIONA, + XREF_CDirectSound_SetPosition, XRefOne) // CDirectSound_SetPosition+0x35 : call [CMcpxAPU_Set3dPosition] - XREF_ENTRY( 0x35, XREF_DSSETPOSITIONB ), + XREF_ENTRY( 0x35, XREF_CMcpxAPU_Set3dPosition ), // CDirectSound_SetPosition+0x06 : push esi; push edi { 0x06, 0x56 }, @@ -2881,7 +2895,7 @@ OOVPA_XREF(IDirectSound_SetPosition, 3936, 11, XRefOne) // IDirectSound_SetPosition+0x2D : call [CDirectSound_SetPosition] - XREF_ENTRY( 0x2D, XREF_DSSETPOSITIONA ), + XREF_ENTRY( 0x2D, XREF_CDirectSound_SetPosition ), // IDirectSound_SetPosition+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, @@ -3567,6 +3581,7 @@ OOVPA_XREF(CMcpxVoiceClient_Commit3dSettings, 3936, 10, { 0x3F, 0x11 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient::SetI3DL2Source // ****************************************************************** @@ -3583,7 +3598,8 @@ OOVPA_XREF(CMcpxVoiceClient_SetI3DL2Source, 3936, 7, { 0x22, 0x8B }, { 0x29, 0x33 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice::SetI3DL2Source // ****************************************************************** @@ -3603,7 +3619,8 @@ OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 3936, 9, { 0x2E, 0xFF }, { 0x36, 0x5F }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetI3DL2Source // ****************************************************************** @@ -3623,6 +3640,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 3936, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundVoice::SetMixBinVolumes @@ -3811,6 +3829,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_12, 3936, 9, { 0x16, 0x0C }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream::SetI3DL2Source // ****************************************************************** @@ -3830,6 +3849,7 @@ OOVPA_XREF(CDirectSoundStream_SetI3DL2Source, 3936, 9, { 0x15, 0xC2 }, { 0x16, 0x0C }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundBuffer::SetNotificationPositions @@ -3961,13 +3981,13 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 3936, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 3936, PATCH), - REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 3936, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_Lock, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), + REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 3911, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_Lock, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 3911, XREF), @@ -4000,12 +4020,12 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 3911, XREF), REGISTER_OOVPA(CDirectSoundStream_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(IDirectSoundStream_SetMinDistance, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_Set3dVelocity, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetVelocity, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundStream_SetVelocity, 3936, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_Set3dVelocity, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 3911, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetVelocity, 3911, PATCH), + REGISTER_OOVPA(IDirectSoundStream_SetVelocity, 3911, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dConeOrientation, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 3911, XREF), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 3911, PATCH), @@ -4070,10 +4090,10 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Commit3dSettings, 3911, XREF), - REGISTER_OOVPA(CMcpxVoiceClient_SetI3DL2Source, 3936, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 3936, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 3936, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 3936, PATCH), + REGISTER_OOVPA(CMcpxVoiceClient_SetI3DL2Source, 3911, XREF), + REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 3911, XREF), + REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 3911, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_12, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 3936, XREF), @@ -4089,7 +4109,6 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), // TODO: Add CDirectSoundBuffer_SetLoopRegion before 3935-ish }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index fc286f7ac..8b86f6b40 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -923,7 +923,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_Lock, 4039, 13, - XREF_DSBUFFERLOCKA, + XREF_CDirectSoundBuffer_Lock, XRefZero) // CDirectSoundBuffer_Lock+0x34 : test [ebp+0x24], 1 @@ -951,7 +951,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4039, 13, - XREF_DSBUFFERSETPLAYREGIONA, + XREF_CDirectSoundBuffer_SetPlayRegion, XRefZero) { 0x00, 0x55 }, @@ -971,6 +971,34 @@ OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4039, 13, { 0x7D, 0x0C }, OOVPA_END; +// TODO: Is there IDirectSoundBuffer_SetPlayRegion in 3936? Revision 3925 doesn't have one. +// ****************************************************************** +// * IDirectSoundBuffer_SetPlayRegion +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 4039, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetPlayRegion+0x19 : call [CDirectSoundBuffer_SetPlayRegion] + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetPlayRegion ), + + // IDirectSoundBuffer_SetPlayRegion+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetPlayRegion+0x0E : add eax, 0xFFFFFFE4 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, + + // IDirectSoundBuffer_SetPlayRegion+0x1D : retn 0x0C + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + // ****************************************************************** // * CMcpxBuffer_SetCurrentPosition // ****************************************************************** @@ -2143,7 +2171,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 4039, 10, - XREF_DSBUFFERSETVELOCITY, + XREF_CDirectSoundBuffer_SetVelocity, XRefOne) // CDirectSoundBuffer_SetVelocity+0x49 : call [CDirectSoundVoice::SetVelocity] diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 716addaea..2398c3949 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -408,7 +408,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetPosition, 4134, 11, - XREF_DSSETPOSITIONA, + XREF_CDirectSound_SetPosition, XRefZero) // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08] @@ -642,7 +642,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_Lock, 4134, 13, - XREF_DSBUFFERLOCKA, + XREF_CDirectSoundBuffer_Lock, XRefZero) // CDirectSoundBuffer_Lock+0x37 : test [ebp+0x24], 1 @@ -1882,7 +1882,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 4134, 9, - XREF_DSBUFFERSETVELOCITY, + XREF_CDirectSoundBuffer_SetVelocity, XRefOne) // CDirectSoundBuffer_SetVelocity+0x49 : call [CDirectSoundVoice::SetVelocity] @@ -3012,7 +3012,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3911, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), @@ -3070,7 +3070,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundStream_SetPosition, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVelocity, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 30b927efe..a3c638e57 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -136,7 +136,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4361, 10, - XREF_DSBUFFERSETPLAYREGIONA, + XREF_CDirectSoundBuffer_SetPlayRegion, XRefZero) // CDirectSoundBuffer_SetPlayRegion+0x10 : movzx edi, al @@ -164,7 +164,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 4361, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x19, XREF_DSBUFFERSETPLAYREGIONA ), + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetPlayRegion ), { 0x02, 0x24 }, { 0x06, 0x24 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index e54890b7e..c259dea82 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -194,7 +194,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetPosition, 4627, 11, - XREF_DSSETPOSITIONA, + XREF_CDirectSound_SetPosition, XRefZero) // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08] @@ -1520,7 +1520,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), @@ -1588,7 +1588,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 76650bc30..c409f82cf 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -97,7 +97,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), @@ -170,7 +170,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundStream_SetPosition, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVelocity, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 65a33b7e0..0f5f02ec2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -401,7 +401,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), @@ -447,7 +447,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 36a4b8e7a..139dbbb96 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -407,7 +407,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetPosition, 5344, 10, - XREF_DSSETPOSITIONA, + XREF_CDirectSound_SetPosition, XRefZero) // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08] @@ -913,7 +913,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Lock, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Lock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), @@ -960,7 +960,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetVelocity, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVelocity, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 08d27952e..a3e2e1548 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -458,7 +458,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 5558, 8, - XREF_DSBUFFERSETPLAYREGIONA, + XREF_CDirectSoundBuffer_SetPlayRegion, XRefZero) { 0x0F, 0x00 }, @@ -881,7 +881,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 5558, 9, - XREF_DSBUFFERSETVELOCITY, + XREF_CDirectSoundBuffer_SetVelocity, XRefOne) XREF_ENTRY( 0x4A, XREF_DSVOICESETVELOCITY ), @@ -903,7 +903,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetVelocity, 5558, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x2D, XREF_DSBUFFERSETVELOCITY ), + XREF_ENTRY( 0x2D, XREF_CDirectSoundBuffer_SetVelocity ), { 0x05, 0x18 }, { 0x0C, 0x83 }, @@ -1386,7 +1386,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetPosition, 5558, 7, - XREF_DSSETPOSITIONA, + XREF_CDirectSound_SetPosition, XRefZero) { 0x0F, 0x00 }, @@ -1406,7 +1406,7 @@ OOVPA_XREF(IDirectSound_SetPosition, 5558, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x2D, XREF_DSSETPOSITIONA ), + XREF_ENTRY( 0x2D, XREF_CDirectSound_SetPosition ), { 0x05, 0x18 }, { 0x0C, 0x83 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index aeedd698c..9c06bb91c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -74,7 +74,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_Play, XREF, 3911, 4361, 4721, 4831), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788), - REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3936, 4039, 4134, 5558, 5788), + REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911), @@ -90,14 +90,16 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_Set3dMode, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dPosition, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_Set3dVelocity, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_Set3dVelocity, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 3911, 4039, 4242), REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 3911, 4039, 4134, 5344, 5558), - REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3936), + REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 3911, 4039, 4242), REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_SetPitch, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3911, 4039, 4134), + REGISTER_OOVPAS(DS_CRefCount_AddRef, XREF, 3911), + REGISTER_OOVPAS(DS_CRefCount_Release, XREF, 3911), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558), @@ -112,7 +114,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4242, 4721, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3911, 4039, 4134, 4627, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3911, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3911, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3911, 4039, 4134, 4361, 5344), @@ -124,12 +126,12 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetPosition, XREF, 3911, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffCurve, XREF, 4627, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetRolloffFactor, XREF, 4134, 4361, 5344, 5788), // s+ (from 4134's comment) - REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 3936, 4039, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundVoice_SetVelocity, XREF, 3911, 4039, 4134, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetVolume, XREF, 3911, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundVoice_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721), - REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3936, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928), REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134, 4361, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3911, 3936, 4361, 5788), @@ -138,7 +140,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 3936, 4039, 4134, 5558, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetDistanceFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetDopplerFactor, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetEG, XREF, 4039, 4242), @@ -148,7 +150,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4039, 4242), - REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 4039, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 3911, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3911, 4039, 4134, 5344, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetMinDistance, XREF, 3911, 4039, 4134, 5344, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBins, XREF, 4039, 4134, 5558), @@ -157,15 +159,16 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3911, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 3911, 4039, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 3936, 4039, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 4039, 4361, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 3911, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffCurve, XREF, 4627), REGISTER_OOVPAS(CDirectSoundBuffer_SetRolloffFactor, XREF, 4134, 5788), - REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3936, 4039, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetVelocity, XREF, 3911, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetVolume, XREF, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 3911, 4039, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), + REGISTER_OOVPAS(CDirectSoundStream_AddRef, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_Discontinuity, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_Flush, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), @@ -173,6 +176,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4361, 5558), REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911), + REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3911, 4134), @@ -182,7 +186,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242), REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3936, 5233), REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3936, 4627, 5558), - REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3911, 4134, 5344), @@ -190,12 +194,12 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 4627), + REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 3911, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffFactor, PATCH, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3936, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, XREF, 3911, 4039, 4134, 5344, 5558, 5788), @@ -221,7 +225,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3911, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4928), REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911, 4361, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3911), @@ -231,7 +235,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3911, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3936, 4134, 5558, 5788), + REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3911, 4134, 5558, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetDistanceFactor, PATCH, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetDopplerFactor, PATCH, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetEG, PATCH, 3911, 4039), @@ -239,7 +243,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3911, 4134, 5344, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3936, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3911, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3911 /*,5344, 5788*/), @@ -251,11 +255,11 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3911, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 3936, 4361), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 4039, 4361), REGISTER_OOVPAS(IDirectSoundBuffer_SetPosition, PATCH, 3911, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788), - REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3911, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3911, 3936, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 3911), @@ -267,7 +271,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetPosition, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, PATCH, 3936), + REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3911 /*3936, 4134, 4361*/), From b126c159da948268712fb5a6e3be2902b62f1a73 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 18 Sep 2017 13:39:20 -0500 Subject: [PATCH 070/146] Adding 3911 OOPVAs to DSound v2 database - 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. --- src/CxbxKrnl/HLEDataBase.h | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 421 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 24 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 14 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 12 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 14 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 22 +- 13 files changed, 495 insertions(+), 60 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 0b8037d70..2a179cfde 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -216,7 +216,7 @@ enum XRefDataBaseOffset XREF_DSSETALLPARAMETERSA, XREF_DSSETALLPARAMETERSB, XREF_DSSETHEADROOMA, - XREF_DSENABLEHEADPHONES, + XREF_CDirectSound_EnableHeadphones, XREF_DSSYNCHPLAYBACKA, XREF_DSSYNCHPLAYBACKB, XREF_DSSETI3DL2SOURCE1A, @@ -312,7 +312,6 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_SetConeAngles, XREF_CDirectSoundVoice_CommitDeferredSettings, XREF_CDirectSoundBuffer_SetAllParameters, - XREF_CDirectSound_EnableHeadphones, XREF_CDirectSoundVoice_SetHeadroom, XREF_CDirectSoundBuffer_SetHeadroom, XREF_CDirectSound_GetOutputLevels, @@ -347,6 +346,9 @@ enum XRefDataBaseOffset XREF_CDirectSoundVoice_Use3DVoiceData, XREF_CDirectSoundBuffer_Use3DVoiceData, XREF_CDirectSound_SetEffectData, + XREF_CDirectSound_GetSpeakerConfig, + XREF_CDirectSound_DownloadEffectsImage, + XREF_CDirectSound_CommitEffectData, // XACT // +s XREF_XACT_CEngine_RegisterWaveBank, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 6c5112b2e..7f1065457 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -3934,3 +3934,424 @@ OOVPA_XREF(CDirectSoundStream_Release, 3911, 8, { 0x0D, 0xC2 }, { 0x0E, 0x04 }, OOVPA_END; + +// ****************************************************************** +// * CDirectSound::GetCaps +// ****************************************************************** +OOVPA_XREF(CDirectSound_GetCaps, 3911, 8, + + XREF_CDirectSound_GetCaps, + XRefZero) + + { 0x08, 0x8B }, + { 0x12, 0x8D }, + { 0x1C, 0x0C }, + { 0x26, 0xFF }, + { 0x34, 0x03 }, + { 0x3A, 0xDB }, + { 0x48, 0x8B }, + { 0x4E, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_GetCaps +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_GetCaps, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CDirectSound_GetCaps ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_GetSpeakerConfig +// ****************************************************************** +OOVPA_XREF(CDirectSound_GetSpeakerConfig, 3911, 15, + + XREF_CDirectSound_GetSpeakerConfig, + XRefZero) + + { 0x00, 0x8B }, + { 0x03, 0x04 }, + + { 0x04, 0x8B }, + { 0x06, 0x08 }, + + { 0x07, 0x8B }, + { 0x09, 0x08 }, + + { 0x0A, 0x8B }, + { 0x0D, 0x08 }, + + // CDirectSound_GetSpeakerConfig+0x0E : and eax, 7FFFFFFFh + { 0x0E, 0x25 }, + { 0x0F, 0xFF }, + { 0x10, 0xFF }, + { 0x11, 0xFF }, + { 0x12, 0x7F }, + + // CDirectSound_GetSpeakerConfig+0x17 : ret 8 + { 0x17, 0xC2 }, + { 0x18, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_GetSpeakerConfig +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_GetSpeakerConfig, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CDirectSound_GetSpeakerConfig ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_DownloadEffectsImage +// ****************************************************************** +OOVPA_XREF(CDirectSound_DownloadEffectsImage, 3911, 18, + + XREF_CDirectSound_DownloadEffectsImage, + XRefZero) + + // CDirectSound_DownloadEffectsImage+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSound_DownloadEffectsImage+0x0A : mov esi,dword ptr [ebp+8] + { 0x0A, 0x8B }, + { 0x0B, 0x75 }, + { 0x0C, 0x08 }, + + // CDirectSound_DownloadEffectsImage+0x0D : push dword ptr [ebp+14h] + { 0x0D, 0xFF }, + { 0x0E, 0x75 }, + { 0x0F, 0x14 }, + + // CDirectSound_DownloadEffectsImage+0x10 : mov ecx,dword ptr [esi+8] + { 0x10, 0x8B }, + { 0x11, 0x4E }, + { 0x12, 0x08 }, + + // CDirectSound_DownloadEffectsImage+0x1A : push dword ptr [ebp+18h] + { 0x1A, 0xFF }, + //{ 0x1B, 0x75 }, + { 0x1C, 0x18 }, + + // CDirectSound_DownloadEffectsImage+0x20 : push dword ptr [ebp+10h] + { 0x20, 0xFF }, + //{ 0x21, 0x75 }, + { 0x22, 0x10 }, + + // CDirectSound_DownloadEffectsImage+0x23 : push dword ptr [ebp+0Ch] + { 0x23, 0xFF }, + //{ 0x24, 0x75 }, + { 0x25, 0x0C }, + + // CDirectSound_DownloadEffectsImage+0x41 : ret 14h + { 0x41, 0xC2 }, + { 0x42, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_DownloadEffectsImage +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_DownloadEffectsImage, 3911, 12, + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x1F, XREF_CDirectSound_DownloadEffectsImage ), + + // IDirectSound_DownloadEffectsImage+0x03 : push [ebp+0x18] + { 0x03, 0xFF }, + { 0x04, 0x75 }, + { 0x05, 0x18 }, + + // IDirectSound_DownloadEffectsImage+0x06 : mov eax, [ebp+0x08] + { 0x06, 0x8B }, + { 0x07, 0x45 }, + { 0x08, 0x08 }, + + // IDirectSound_DownloadEffectsImage+0x11 : add eax, 0xFFFFFFF8 + { 0x11, 0x83 }, + { 0x12, 0xC0 }, + { 0x13, 0xF8 }, + + // IDirectSound_DownloadEffectsImage+0x24 : retn 0x14 + { 0x24, 0xC2 }, + { 0x25, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_GetEffectData +// ****************************************************************** +OOVPA_XREF(CDirectSound_GetEffectData, 3911, 18, + + XREF_CDirectSound_GetEffectData, + XRefZero) + + // CDirectSound_GetEffectData+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSound_GetEffectData+0x0A : push dword ptr [ebp+18h] + { 0x0A, 0xFF }, + { 0x0B, 0x75 }, + { 0x0C, 0x18 }, + + // CDirectSound_GetEffectData+0x0F : push dword ptr [ebp+14h] + { 0x0F, 0xFF }, + { 0x10, 0x75 }, + { 0x11, 0x14 }, + + // CDirectSound_GetEffectData+0x12 : mov eax, dword ptr [ebp+8] + { 0x12, 0x8B }, + { 0x13, 0x45 }, + { 0x14, 0x08 }, + + // CDirectSound_GetEffectData+0x15 : push dword ptr [ebp+10h] + { 0x15, 0xFF }, + //{ 0x16, 0x75 }, + { 0x17, 0x10 }, + + // CDirectSound_GetEffectData+0x18 : mov eax, dword ptr [eax+0Ch] + { 0x18, 0x8B }, + //{ 0x19, 0x40 }, + { 0x1A, 0x0C }, + + // CDirectSound_GetEffectData+0x1B : push dword ptr [ebp+0Ch] + { 0x1B, 0xFF }, + //{ 0x1C, 0x75 }, + { 0x1D, 0x0C }, + + // CDirectSound_GetEffectData+0x3F : ret 14h + { 0x3F, 0xC2 }, + { 0x40, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_GetEffectData +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_GetEffectData, 3911, 12, + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x1F, XREF_CDirectSound_GetEffectData ), + + // IDirectSound_GetEffectData+0x03 : push [ebp+0x18] + { 0x03, 0xFF }, + { 0x04, 0x75 }, + { 0x05, 0x18 }, + + // IDirectSound_GetEffectData+0x06 : mov eax, [ebp+0x08] + { 0x06, 0x8B }, + { 0x07, 0x45 }, + { 0x08, 0x08 }, + + // IDirectSound_GetEffectData+0x11 : add eax, 0xFFFFFFF8 + { 0x11, 0x83 }, + { 0x12, 0xC0 }, + { 0x13, 0xF8 }, + + // IDirectSound_GetEffectData+0x24 : retn 0x14 + { 0x24, 0xC2 }, + { 0x25, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_SetEffectData +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetEffectData, 3911, 21, + + XREF_CDirectSound_SetEffectData, + XRefZero) + + // CDirectSound_GetEffectData+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSound_GetEffectData+0x0A : mov ecx,dword ptr [ebp+1Ch] + { 0x0A, 0x8B }, + { 0x0B, 0x4D }, + { 0x0C, 0x1C }, + + // CDirectSound_GetEffectData+0x0A : push dword ptr [ebp+18h] + { 0x13, 0xFF }, + { 0x14, 0x75 }, + { 0x15, 0x18 }, + + // CDirectSound_GetEffectData+0x0F : push dword ptr [ebp+14h] + { 0x18, 0xFF }, + { 0x19, 0x75 }, + { 0x1A, 0x14 }, + + // CDirectSound_GetEffectData+0x12 : mov eax, dword ptr [ebp+8] + { 0x1B, 0x8B }, + { 0x1C, 0x45 }, + { 0x1D, 0x08 }, + + // CDirectSound_GetEffectData+0x15 : push dword ptr [ebp+10h] + { 0x1E, 0xFF }, + //{ 0x1F, 0x75 }, + { 0x20, 0x10 }, + + // CDirectSound_GetEffectData+0x18 : mov eax, dword ptr [eax+0Ch] + { 0x21, 0x8B }, + //{ 0x22, 0x40 }, + { 0x23, 0x0C }, + + // CDirectSound_GetEffectData+0x1B : push dword ptr [ebp+0Ch] + { 0x24, 0xFF }, + //{ 0x25, 0x75 }, + { 0x26, 0x0C }, + + // CDirectSound_GetEffectData+0x3F : ret 18h + { 0x48, 0xC2 }, + { 0x49, 0x18 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetEffectData +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_SetEffectData, 3911, 12, + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x22, XREF_CDirectSound_SetEffectData ), + + // IDirectSound_SetEffectData+0x03 : push [ebp+0x1C] + { 0x03, 0xFF }, + { 0x04, 0x75 }, + { 0x05, 0x1C }, + + // IDirectSound_SetEffectData+0x06 : mov eax, [ebp+0x08] + { 0x06, 0x8B }, + { 0x07, 0x45 }, + { 0x08, 0x08 }, + + // IDirectSound_SetEffectData+0x11 : add eax, 0xFFFFFFF8 + { 0x11, 0x83 }, + { 0x12, 0xC0 }, + { 0x13, 0xF8 }, + + // IDirectSound_SetEffectData+0x27 : retn 0x18 + { 0x27, 0xC2 }, + { 0x28, 0x18 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_CommitEffectData +// ****************************************************************** +OOVPA_XREF(CDirectSound_CommitEffectData, 3911, 12, + XREF_CDirectSound_CommitEffectData, + XRefZero) + + // CDirectSound_CommitEffectData+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSound_CommitEffectData+0x08 : mov eax, dword ptr [esp+8] + { 0x08, 0x8B }, + { 0x0B, 0x08 }, + + // CDirectSound_CommitEffectData+0x0C : mov eax, dword ptr [esp+0Ch] + { 0x0C, 0x8B }, + { 0x0E, 0x0C }, + + // CDirectSound_CommitEffectData+0x15 : push 0; push 0 + { 0x15, 0x6A }, + { 0x16, 0x00 }, + { 0x17, 0x6A }, + { 0x18, 0x00 }, + + // CDirectSound_CommitEffectData+0x20 : pop esi + { 0x20, 0x5E }, + + // CDirectSound_CommitEffectData+0x30 : retn 0x04 + { 0x30, 0xC2 }, + { 0x31, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_CommitEffectData +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_CommitEffectData, 3911, 8, + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x11, XREF_CDirectSound_CommitEffectData ), + + // IDirectSound_CommitEffectData+0x04 : mov ecx, eax + { 0x04, 0x8B }, + { 0x05, 0xC8 }, + + // IDirectSound_CommitEffectData+0x06 : add eax, 0xFFFFFFF8 + { 0x06, 0x83 }, + { 0x07, 0xC0 }, + { 0x08, 0xF8 }, + + // IDirectSound_CommitEffectData+0x15 : retn 0x04 + { 0x15, 0xC2 }, + { 0x16, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::EnableHeadphones +// ****************************************************************** +OOVPA_XREF(CDirectSound_EnableHeadphones, 3911, 7, + + XREF_CDirectSound_EnableHeadphones, + XRefZero) + { 0x18, 0x8B }, + { 0x32, 0x0C }, + { 0x4F, 0x8B }, + { 0x66, 0x8B }, + { 0x80, 0xFF }, + { 0x9A, 0x76 }, + { 0xB4, 0x5B }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_EnableHeadphones +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_EnableHeadphones, 3911, 10, + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CDirectSound_EnableHeadphones ), + + // IDirectSound_CommitEffectData+0x04 : push dword ptr [esp+8] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSound_CommitEffectData+0x0A : add eax, 0xFFFFFFF8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xF8 }, + + // IDirectSound_CommitEffectData+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 51a2330b3..6f324747c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -3057,7 +3057,7 @@ OOVPA_XREF(CDirectSound_SetAllParametersA, 3936, 10, { 0x49, 0x0C }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_DownloadEffectsImage // ****************************************************************** @@ -3082,6 +3082,7 @@ OOVPA_NO_XREF(IDirectSound_DownloadEffectsImage, 3936, 11) { 0x24, 0xC2 }, { 0x25, 0x14 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetMode @@ -3238,6 +3239,7 @@ OOVPA_XREF(DirectSoundUseFullHRTF, 3925, 8, { 0x1E, 0xC3 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound::GetCaps // ****************************************************************** @@ -3255,7 +3257,8 @@ OOVPA_XREF(CDirectSound_GetCaps, 3936, 8, { 0x48, 0x8B }, { 0x4E, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_GetCaps // ****************************************************************** @@ -3274,6 +3277,7 @@ OOVPA_XREF(IDirectSound_GetCaps, 3936, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif #if 0 // No longer used, replaced by CDirectSoundVoice_SetPitch 3936 version // ****************************************************************** // * CDirectSoundVoice::SetPitch @@ -3773,7 +3777,7 @@ OOVPA_XREF(IDirectSound_SetI3DL2Listener, 3936, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound::EnableHeadphones // ****************************************************************** @@ -3789,7 +3793,8 @@ OOVPA_XREF(CDirectSound_EnableHeadphones, 3936, 7, { 0x9A, 0x76 }, { 0xB4, 0x5B }, OOVPA_END; - +#endif +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_EnableHeadphones // ****************************************************************** @@ -3808,6 +3813,7 @@ OOVPA_XREF(IDirectSound_EnableHeadphones, 3936, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream::SetMixBinVolumes @@ -4067,7 +4073,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxAPU_Set3dParameters, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetAllParameters, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMode, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Set3dDopplerFactor, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 3936, XREF), @@ -4075,8 +4081,8 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CSensaura3d_GetFullHRTFFilterPair, 3911, XREF), REGISTER_OOVPA(CSensaura3d_GetFullHRTFFilterPair, 3936, XREF), REGISTER_OOVPA(DirectSoundUseFullHRTF, 3911, PATCH), - REGISTER_OOVPA(CDirectSound_GetCaps, 3936, XREF), - REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_GetCaps, 3911, XREF), + REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 3911, PATCH), REGISTER_OOVPA(DirectSoundEnterCriticalSection, 3911, XREF), @@ -4098,8 +4104,8 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_12, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), - REGISTER_OOVPA(CDirectSound_EnableHeadphones, 3936, XREF), - REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_EnableHeadphones, 3911, XREF), + REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_12, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 2398c3949..89590c71f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2778,7 +2778,7 @@ OOVPA_XREF(CDirectSound_SetEffectData, 4134, 13, // Also for 5849 { 0x44, 0xE8 }, { 0x60, 0x18 }, OOVPA_END; - +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_SetEffectData // ****************************************************************** @@ -2802,7 +2802,7 @@ OOVPA_XREF(IDirectSound_SetEffectData, 4134, 13, { 0x26, 0x5D }, { 0x28, 0x18 }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxBuffer_Stop // ****************************************************************** @@ -3028,7 +3028,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), @@ -3109,7 +3109,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetEffectData, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetEffectData, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetEffectData, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 5c119aff4..40ae592de 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -156,13 +156,13 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), - REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index c259dea82..ab20fd799 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -546,7 +546,7 @@ OOVPA_XREF(CDirectSound_EnableHeadphones, 4627, 15, { 0x98, 0xC2 }, { 0x99, 0x08 }, OOVPA_END; - +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_EnableHeadphones // ****************************************************************** @@ -572,7 +572,7 @@ OOVPA_XREF(IDirectSound_EnableHeadphones, 4627, 9, { 0x1A, 0x08 }, { 0x1B, 0x00 }, OOVPA_END; - +#endif /* // ****************************************************************** // * CDirectSoundVoice::SetHeadrom @@ -1549,7 +1549,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), @@ -1606,7 +1606,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_8, 4039, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF), - REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), + REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), @@ -1666,7 +1666,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), - REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index c409f82cf..e9c877e69 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -125,7 +125,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), @@ -187,7 +187,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 4627, XREF), - REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), + REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), @@ -250,7 +250,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundStream_SetLFO, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), - REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 0f5f02ec2..1cb8f0374 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -37,7 +37,7 @@ // ****************************************************************** OOVPA_XREF(CDirectSound_EnableHeadphones, 5233, 8, - XREF_DSENABLEHEADPHONES, + XREF_CDirectSound_EnableHeadphones, XRefZero) { 0x16, 0x45 }, @@ -49,7 +49,7 @@ OOVPA_XREF(CDirectSound_EnableHeadphones, 5233, 8, { 0x74, 0xA4 }, { 0x99, 0x08 }, OOVPA_END; - +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_EnableHeadphones // ****************************************************************** @@ -58,7 +58,7 @@ OOVPA_XREF(IDirectSound_EnableHeadphones, 5233, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x15, XREF_DSENABLEHEADPHONES ), + XREF_ENTRY( 0x15, XREF_CDirectSound_EnableHeadphones ), // IDirectSound_EnableHeadphones+0x0A : add eax, 0xFFFFFFF8 { 0x0A, 0x83 }, @@ -73,7 +73,7 @@ OOVPA_XREF(IDirectSound_EnableHeadphones, 5233, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundStream_FlushEx // ****************************************************************** @@ -421,8 +421,8 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5233, XREF), - REGISTER_OOVPA(IDirectSound_EnableHeadphones, 5233, PATCH), - REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH), + REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), @@ -532,7 +532,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), - REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 139dbbb96..3f1b78f27 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -632,7 +632,7 @@ OOVPA_XREF(CDirectSoundBuffer_StopEx, 5344, 9, { 0x47, 0x68 }, OOVPA_END; #endif - +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_SetEffectData // ****************************************************************** @@ -646,7 +646,7 @@ OOVPA_NO_XREF(IDirectSound_SetEffectData, 5344, 7) { 0x26, 0x5D }, { 0x28, 0x18 }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSound::EnableHeadphones // ****************************************************************** @@ -932,8 +932,8 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5344, XREF), - REGISTER_OOVPA(IDirectSound_EnableHeadphones, 4627, PATCH), - REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH), + REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 5344, XREF), @@ -1021,7 +1021,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_StopEx, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), - REGISTER_OOVPA(IDirectSound_SetEffectData, 5344, PATCH), + REGISTER_OOVPA(IDirectSound_SetEffectData, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), @@ -1049,7 +1049,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), - REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index a3e2e1548..990a35141 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1297,7 +1297,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_EnableHeadphones, 5558, 8, - XREF_DSENABLEHEADPHONES, + XREF_CDirectSound_EnableHeadphones, XRefZero) { 0x1E, 0x3B }, @@ -1309,7 +1309,7 @@ OOVPA_XREF(CDirectSound_EnableHeadphones, 5558, 8, { 0xDE, 0x59 }, { 0xFE, 0x75 }, OOVPA_END; - +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_EnableHeadphones // ****************************************************************** @@ -1318,7 +1318,7 @@ OOVPA_XREF(IDirectSound_EnableHeadphones, 5558, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x15, XREF_DSENABLEHEADPHONES ), + XREF_ENTRY( 0x15, XREF_CDirectSound_EnableHeadphones ), { 0x02, 0x24 }, { 0x06, 0x24 }, @@ -1328,7 +1328,7 @@ OOVPA_XREF(IDirectSound_EnableHeadphones, 5558, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#endif // ****************************************************************** // * DirectSound::CDirectSound::GetOutputLevels // ****************************************************************** @@ -1660,7 +1660,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), @@ -1759,7 +1759,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5558, XREF), - REGISTER_OOVPA(IDirectSound_EnableHeadphones, 5558, PATCH), + REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 5558, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 5558, PATCH), @@ -1789,7 +1789,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), - REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 72845124a..6527b581d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -583,7 +583,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), @@ -686,12 +686,12 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5558, XREF), - REGISTER_OOVPA(IDirectSound_EnableHeadphones, 5558, PATCH), + REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 5558, PATCH), - REGISTER_OOVPA(IDirectSound_SetEffectData, 5344, PATCH), + REGISTER_OOVPA(IDirectSound_SetEffectData, 3911, PATCH), REGISTER_OOVPA(CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), @@ -727,7 +727,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), - REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 50e2b2d60..1f9a3d9a1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -122,7 +122,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetVolume, 4134, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), - REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), @@ -201,7 +201,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSound_SetEffectData, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetEffectData, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetEffectData, 3911, PATCH), REGISTER_OOVPA(CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), @@ -243,7 +243,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), - REGISTER_OOVPA(IDirectSound_GetCaps, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 9c06bb91c..4abe84c94 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -203,18 +203,21 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3936, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, XREF, 3911, 4039, 4134, 5344, 5558, 5788), + REGISTER_OOVPAS(CDirectSound_CommitEffectData, XREF, 3911), REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3911, 4039, 4134, 5558), + REGISTER_OOVPAS(CDirectSound_DownloadEffectsImage, XREF, 3911), REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3936, 4627, 5233, 5344, 5558), - REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3936, 4361), + REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3911, 4627, 5233, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3911, 4361), + REGISTER_OOVPAS(CDirectSound_GetEffectData, XREF, 3911), REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), - REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 4627), + REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 3911, 4627), REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3936, 4831, 5558), REGISTER_OOVPAS(CDirectSound_SetAllParametersA, XREF, 4627, 4721, 4831), REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 3936, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3936, 4039, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 4134), + REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 3911, 4134), REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3936, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3936, 4627, 5558), REGISTER_OOVPAS(CDirectSound_SetOrientation, XREF, 3911, 4039, 4134), @@ -274,18 +277,21 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3911), + REGISTER_OOVPAS(IDirectSound_CommitEffectData, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CreateSoundBuffer, PATCH, 3911 /*3936, 4134, 4361*/), REGISTER_OOVPAS(IDirectSound_CreateSoundStream, PATCH, 3911 /*5558*/), - REGISTER_OOVPAS(IDirectSound_DownloadEffectsImage, PATCH, 3936), - REGISTER_OOVPAS(IDirectSound_EnableHeadphones, PATCH, 3936, 4627, 5233, 5558), - REGISTER_OOVPAS(IDirectSound_GetCaps, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_DownloadEffectsImage, PATCH, 3911), + REGISTER_OOVPAS(IDirectSound_EnableHeadphones, PATCH, 3911 /*, 3936, 4627, 5233, 5558*/), + REGISTER_OOVPAS(IDirectSound_GetCaps, PATCH, 3911), + REGISTER_OOVPAS(IDirectSound_GetEffectData, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558), + REGISTER_OOVPAS(IDirectSound_GetSpeakerConfig, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3936), //REGISTER_OOVPAS(IDirectSound_SetAllParameters, XREF, 3911), //Cannot be used since this OOVPA does produce false detection. REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3936, 4134), - REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 4134, 5344), + REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 3911 /*, 4134, 5344*/), REGISTER_OOVPAS(IDirectSound_SetI3DL2Listener, PATCH, 3936, 4134), REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3936, 4627, 5558), REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3911), From 4c59d7f8bebe2b770d2bec14a5252bb653baee9e Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 18 Sep 2017 18:26:24 +0900 Subject: [PATCH 071/146] Separated XAPI OOVPAs and Lower XAPI OOVPAs Support 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) --- build/win32/Cxbx.vcxproj | 7 + build/win32/Cxbx.vcxproj.filters | 18 ++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl | 2 + src/CxbxKrnl/HLEDataBase/Xapi.1.0.3950.inl | 54 +++++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl | 234 +++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl | 27 ++- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl | 33 +-- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl | 25 +++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl | 150 +++++++++++++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl | 6 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5120.inl | 50 +++++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl | 7 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl | 4 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl | 145 +++++++++++++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl | 17 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5659.inl | 48 +++++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl | 7 +- src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl | 14 +- 19 files changed, 810 insertions(+), 40 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.3950.inl create mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl create mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl create mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.5120.inl create mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl create mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.5659.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index e4c4ca68a..495e0a22b 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -357,16 +357,23 @@ $(SOLUTIONDIR)Export.bat + + + + + + + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 894866536..c662a90bc 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -719,6 +719,9 @@ HLEDatabase\Xapi + + HLEDatabase\Xapi + HLEDatabase\Xapi @@ -737,18 +740,33 @@ HLEDatabase\Xapi + + HLEDatabase\Xapi + HLEDatabase\Xapi + + HLEDatabase\Xapi + HLEDatabase\Xapi HLEDatabase\Xapi + + HLEDatabase\Xapi + HLEDatabase\Xapi + + HLEDatabase\Xapi + + + HLEDatabase\Xapi + HLEDatabase\Xapi diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl index d34f3b8cc..ef5f4e7f4 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl @@ -214,6 +214,7 @@ OOVPA_NO_XREF(XapiInitProcess, 3911, 7) { 0x43, 0x0A }, OOVPA_END; +#if 0 // Moved to 3950 // ****************************************************************** // * XapiInitProcess // ****************************************************************** @@ -234,6 +235,7 @@ OOVPA_NO_XREF(XapiInitProcess, 3950, 7) { 0x43, 0x75 }, { 0x44, 0x0A }, OOVPA_END; +#endif // ****************************************************************** // * XapiBootDash diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3950.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3950.inl new file mode 100644 index 000000000..a1354bfd6 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3950.inl @@ -0,0 +1,54 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.3950.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +OOVPA_NO_XREF(XapiInitProcess, 3950, 7) + + // XapiInitProcess+0x03 : sub esp, 30h + { 0x05, 0x30 }, + + // XapiInitProcess+0x0F : push 0x0C + { 0x10, 0x6A }, + { 0x11, 0x0C }, + + // XapiInitProcess+0x17 : repe stosd + { 0x18, 0xF3 }, + { 0x19, 0xAB }, + + // XapiInitProcess+0x42 : jnz +0x0A + { 0x43, 0x75 }, + { 0x44, 0x0A }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl new file mode 100644 index 000000000..b9b1d9b27 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl @@ -0,0 +1,234 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4242.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XInputOpen +// ****************************************************************** +OOVPA_NO_XREF(XInputOpen, 4242, 12) + + // XInputOpen+0x14 : push 0x57 + { 0x14, 0x6A }, + { 0x15, 0x57 }, + + // XInputOpen+0x1D : jmp +0x33 + { 0x1D, 0xEB }, + { 0x1E, 0x33 }, + + // XInputOpen+0x33 : add edx, 0x10 + { 0x33, 0x83 }, + { 0x34, 0xC2 }, + { 0x35, 0x10 }, + + // XInputOpen+0x47 : jmp +0x06 + { 0x47, 0x75 }, + { 0x48, 0x06 }, + + // XInputOpen+0x52 : leave + { 0x52, 0xC9 }, + + // XInputOpen+0x53 : retn 0x10 + { 0x53, 0xC2 }, + { 0x54, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * XID_fCloseDevice +// ****************************************************************** +OOVPA_XREF(XID_fCloseDevice, 4242, 11, + + XREF_FCLOSEDEVICE, + XRefZero) + + // XID_fCloseDevice+0x1B : mov eax, [esi+0x00A3] + { 0x1B, 0x8B }, + { 0x1C, 0x86 }, + { 0x1D, 0xA3 }, + + // XID_fCloseDevice+0x91 : mov [esi+0x00A7], eax + { 0x91, 0x89 }, + { 0x92, 0x86 }, + { 0x93, 0xA7 }, + + // XID_fCloseDevice+0x91 : mov [esi+0x00A7], eax // FIXME: Same instruction repeated. + { 0x91, 0x89 }, + { 0x92, 0x86 }, + { 0x93, 0xA7 }, + + // XID_fCloseDevice+0x9F : leave; retn + { 0x9F, 0xC9 }, + { 0xA0, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * XInputGetCapabilities +// ****************************************************************** +OOVPA_NO_XREF(XInputGetCapabilities, 4242, 14) + + // XInputGetCapabilities+0x03 : sub esp, 0x48 + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x48 }, + + // XInputGetCapabilities+0x24 : test byte ptr [esi+4], 2 + { 0x24, 0xF6 }, + { 0x25, 0x46 }, + { 0x26, 0x04 }, + { 0x27, 0x02 }, + + // XInputGetCapabilities+0x3A : stosb + { 0x3A, 0xAA }, + + // XInputGetCapabilities+0x7D : mov [ebp+var_48], 0x30 + { 0x7D, 0xC6 }, + { 0x7E, 0x45 }, + { 0x7F, 0xB8 }, + { 0x80, 0x30 }, + + // XInputGetCapabilities+0xEE : cmp [eax], ebx + { 0xEE, 0x39 }, + { 0xEF, 0x18 }, +OOVPA_END; + +// ****************************************************************** +// * XInputGetState +// ****************************************************************** +OOVPA_NO_XREF(XInputGetState, 4242, 12) + + // XInputGetState+0x0E : mov ecx, [edx+0x0A3] + { 0x0E, 0x8B }, + { 0x0F, 0x8A }, + { 0x10, 0xA3 }, + + // XInputGetState+0x1D : push 0x57 + { 0x1D, 0x6A }, + { 0x1E, 0x57 }, + + // XInputGetState+0x20 : jmp +0x3E + { 0x20, 0xEB }, + { 0x21, 0x3E }, + + // XInputGetState+0x2E : mov ebx, 0x048F + { 0x2E, 0xBB }, + { 0x2F, 0x8F }, + { 0x30, 0x04 }, + + // XInputGetState+0x6C : retn 8 + { 0x6C, 0xC2 }, + { 0x6D, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * XInputSetState +// ****************************************************************** +OOVPA_NO_XREF(XInputSetState, 4242, 12) + + // XInputSetState+0x04 : lea eax, [ecx+0x0A3] + { 0x04, 0x8D }, + { 0x05, 0x81 }, + { 0x06, 0xA3 }, + + // XInputSetState+0x15 : push 0x57 + { 0x15, 0x6A }, + { 0x16, 0x57 }, + + // XInputSetState+0x18 : jmp +0x19 + { 0x18, 0xEB }, + { 0x19, 0x19 }, + + // XInputSetState+0x2B : mov [edx+0x41], al + { 0x2B, 0x88 }, + { 0x2C, 0x42 }, + { 0x2D, 0x41 }, + + // XInputSetState+0x33 : retn 0x08 + { 0x33, 0xC2 }, + { 0x34, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * XMountMUA +// ****************************************************************** +OOVPA_NO_XREF(XMountMUA, 4242, 8) // generic version + + { 0x22, 0x8A }, + { 0x3E, 0x89 }, + { 0x5E, 0x5C }, + { 0x7E, 0xF4 }, + { 0x9E, 0x50 }, + { 0xBE, 0xF8 }, + { 0xDE, 0x8D }, + { 0xFE, 0x09 }, +OOVPA_END; + +// ****************************************************************** +// * XFormatUtilityDrive +// ****************************************************************** +OOVPA_NO_XREF(XFormatUtilityDrive, 4242, 12) + + { 0x02, 0xEC }, + { 0x10, 0x50 }, + { 0x1E, 0xEC }, + + { 0x40, 0xF8 }, + { 0x41, 0x8D }, + { 0x42, 0x45 }, + { 0x43, 0xE4 }, + { 0x44, 0x50 }, + { 0x45, 0x8D }, + { 0x46, 0x45 }, + { 0x47, 0xF4 }, + + { 0x6D, 0x33 }, +OOVPA_END; + +// ****************************************************************** +// * XMountMURootA +// ****************************************************************** +OOVPA_NO_XREF(XMountMURootA, 4242, 12) + + { 0x16, 0xBF }, + { 0x22, 0x8A }, + { 0x39, 0x05 }, + + { 0x50, 0x55 }, + { 0x51, 0x58 }, + { 0x52, 0xE9 }, + { 0x53, 0x0E }, + { 0x54, 0x01 }, + { 0x55, 0x00 }, + { 0x56, 0x00 }, + { 0x57, 0x66 }, + + { 0x72, 0xE8 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl index 197f0372b..b0dc7cb0c 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // Moved to 4242 // ****************************************************************** // * XInputOpen // ****************************************************************** @@ -61,7 +62,8 @@ OOVPA_NO_XREF(XInputOpen, 4242, 12) { 0x53, 0xC2 }, { 0x54, 0x10 }, OOVPA_END; - +#endif +#if 0 // Moved to 4242 // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** @@ -89,7 +91,8 @@ OOVPA_XREF(XID_fCloseDevice, 4242, 11, { 0x9F, 0xC9 }, { 0xA0, 0xC3 }, OOVPA_END; - +#endif +#if 0 // Moved to 4242 // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** @@ -119,7 +122,8 @@ OOVPA_NO_XREF(XInputGetCapabilities, 4242, 14) { 0xEE, 0x39 }, { 0xEF, 0x18 }, OOVPA_END; - +#endif +#if 0 // Moved to 4242 // ****************************************************************** // * XInputGetState // ****************************************************************** @@ -147,7 +151,8 @@ OOVPA_NO_XREF(XInputGetState, 4242, 12) { 0x6C, 0xC2 }, { 0x6D, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 4242 // ****************************************************************** // * XInputSetState // ****************************************************************** @@ -175,11 +180,12 @@ OOVPA_NO_XREF(XInputSetState, 4242, 12) { 0x33, 0xC2 }, { 0x34, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 4831 // ****************************************************************** // * XInputSetState // ****************************************************************** -OOVPA_NO_XREF(XInputSetState, 4928, 12) +OOVPA_NO_XREF(XInputSetState, 4831, 12) // XInputSetState+0x04 : lea eax, [ecx+0x0A3] { 0x04, 0x8D }, @@ -203,6 +209,7 @@ OOVPA_NO_XREF(XInputSetState, 4928, 12) { 0x30, 0xC2 }, { 0x31, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CreateThread @@ -319,6 +326,7 @@ OOVPA_NO_XREF(XapiSetupPerTitleDriveLetters, 4361, 10) { 0x53, 0x08 }, OOVPA_END; +#if 0 // Moved to 4242 // ****************************************************************** // * XMountMUA // ****************************************************************** @@ -333,7 +341,8 @@ OOVPA_NO_XREF(XMountMUA, 4242, 8) // generic version { 0xDE, 0x8D }, { 0xFE, 0x09 }, OOVPA_END; - +#endif +#if 0 // Moved to 4242 // ****************************************************************** // * XFormatUtilityDrive // ****************************************************************** @@ -354,7 +363,8 @@ OOVPA_NO_XREF(XFormatUtilityDrive, 4242, 12) { 0x6D, 0x33 }, OOVPA_END; - +#endif +#if 0 // Moved to 4242 // ****************************************************************** // * XMountMURootA // ****************************************************************** @@ -375,6 +385,7 @@ OOVPA_NO_XREF(XMountMURootA, 4242, 12) { 0x72, 0xE8 }, OOVPA_END; +#endif // ****************************************************************** // * XAPI_4361 diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl index af7fca560..b21a84f89 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl @@ -65,10 +65,11 @@ OOVPA_XREF(XID_fCloseDevice, 4627, 7, { 0x91, 0x89 }, OOVPA_END; +#if 0 // Moved to 4831 // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** -OOVPA_XREF(XID_fCloseDevice, 4928, 11, +OOVPA_XREF(XID_fCloseDevice, 4831, 11, XREF_FCLOSEDEVICE, XRefZero) @@ -88,11 +89,12 @@ OOVPA_XREF(XID_fCloseDevice, 4928, 11, { 0x95, 0xC9 }, { 0x96, 0xC3 }, OOVPA_END; - +#endif +#if 0 // Moved to 4831 // ****************************************************************** // * XInputGetState // ****************************************************************** -OOVPA_NO_XREF(XInputGetState, 4928, 12) +OOVPA_NO_XREF(XInputGetState, 4831, 12) { 0x0E, 0x8B }, { 0x0F, 0x8A }, @@ -111,7 +113,8 @@ OOVPA_NO_XREF(XInputGetState, 4928, 12) { 0x69, 0xC2 }, { 0x6A, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 4831 // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** @@ -128,7 +131,7 @@ OOVPA_NO_XREF(XInputGetCapabilities, 4831, 10) { 0x99, 0x55 }, { 0x9A, 0xD0 }, OOVPA_END; - +#endif #if 0 // Moved to 3911 // ****************************************************************** // * GetOverlappedResult @@ -145,7 +148,7 @@ OOVPA_NO_XREF(GetOverlappedResult, 4627, 7) OOVPA_END; #endif - +#if 0 // Moved to 4721 // ****************************************************************** // * XLaunchNewImageA // ****************************************************************** @@ -170,7 +173,7 @@ OOVPA_NO_XREF(XLaunchNewImageA, 4721, 15) { 0xC1, 0x15 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4721 version // ****************************************************************** // * XLaunchNewImageA @@ -301,7 +304,7 @@ OOVPA_NO_XREF(XInputGetDeviceDescription, 4831, 9) { 0x35, 0x06 }, OOVPA_END; #endif - +#if 0 // Moved to 4831 // ****************************************************************** // * XGetDeviceEnumerationStatus // ****************************************************************** @@ -324,11 +327,13 @@ OOVPA_NO_XREF(XGetDeviceEnumerationStatus, 4831, 14) { 0x25, 0x8B }, { 0x28, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * XAPI_4627 // ****************************************************************** OOVPATable XAPI_4627[] = { +// No longer supported XDK 4721 to 4928 by HLEDB_v1 REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(SetThreadPriorityBoost, 3911, PATCH), @@ -342,16 +347,16 @@ OOVPATable XAPI_4627[] = { REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(XID_fCloseDevice, 4627, XREF), - REGISTER_OOVPA(XID_fCloseDevice, 4928, XREF), + // REGISTER_OOVPA(XID_fCloseDevice, 4831, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), REGISTER_OOVPA(XInputGetCapabilities, 4242, PATCH), REGISTER_OOVPA(XInputGetState, 4242, PATCH), - REGISTER_OOVPA(XInputGetState, 4928, PATCH), + // REGISTER_OOVPA(XInputGetState, 4831, PATCH), REGISTER_OOVPA(XInputSetState, 4242, PATCH), - REGISTER_OOVPA(XInputSetState, 4928, PATCH), + // REGISTER_OOVPA(XInputSetState, 4831, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? - REGISTER_OOVPA(XInputGetCapabilities, 4831, PATCH), + // REGISTER_OOVPA(XInputGetCapabilities, 4831, PATCH), // REGISTER_OOVPA(XCalculateSignatureBeginEx, 4627, PATCH), // +s, not necessary? // REGISTER_OOVPA(XCalculateSignatureBegin, 4627, PATCH), // REGISTER_OOVPA(XCalculateSignatureUpdate, 4627, PATCH), @@ -364,7 +369,7 @@ OOVPATable XAPI_4627[] = { REGISTER_OOVPA(GetExitCodeThread, 3911, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XLaunchNewImageA, 3911, PATCH), - REGISTER_OOVPA(XLaunchNewImageA, 4721, PATCH), + // REGISTER_OOVPA(XLaunchNewImageA, 4721, PATCH), REGISTER_OOVPA(XGetLaunchInfo, 3911, DISABLED), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), REGISTER_OOVPA(SignalObjectAndWait, 3911, PATCH), @@ -379,7 +384,7 @@ OOVPATable XAPI_4627[] = { // REGISTER_OOVPA(MoveFileA, 4627, PATCH), REGISTER_OOVPA(XMountMUA, 4242, PATCH), REGISTER_OOVPA(XMountMURootA, 4242, PATCH), - REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), + // REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl index ac90961d8..f91534667 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl @@ -32,6 +32,31 @@ // * // ****************************************************************** +// ****************************************************************** +// * XLaunchNewImageA +// ****************************************************************** +OOVPA_NO_XREF(XLaunchNewImageA, 4721, 15) + + { 0x03, 0x81 }, + { 0x04, 0xEC }, + { 0x05, 0x84 }, + { 0x06, 0x03 }, + { 0x07, 0x00 }, + { 0x08, 0x00 }, + + { 0x33, 0x3C }, + { 0x34, 0x44 }, + + { 0xA0, 0x3B }, + { 0xA1, 0xC3 }, + { 0xA2, 0x7C }, + { 0xA3, 0x5A }, + { 0xA4, 0x57 }, + { 0xA5, 0x8D }, + + { 0xC1, 0x15 }, +OOVPA_END; + // ****************************************************************** // * XAPI_4721 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl new file mode 100644 index 000000000..14c594a9a --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl @@ -0,0 +1,150 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4831.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + + +// ****************************************************************** +// * XInputSetState +// ****************************************************************** +OOVPA_NO_XREF(XInputSetState, 4831, 12) + + // XInputSetState+0x04 : lea eax, [ecx+0x0A3] + { 0x04, 0x8D }, + { 0x05, 0x81 }, + { 0x06, 0xA3 }, + + // XInputSetState+0x12 : push 0x57 + { 0x12, 0x6A }, + { 0x13, 0x57 }, + + // XInputSetState+0x15 : jmp +0x19 + { 0x15, 0xEB }, + { 0x16, 0x19 }, + + // XInputSetState+0x28 : mov [edx+0x41], al + { 0x28, 0x88 }, + { 0x29, 0x42 }, + { 0x2A, 0x41 }, + + // XInputSetState+0x30 : retn 0x08 + { 0x30, 0xC2 }, + { 0x31, 0x08 }, +OOVPA_END; + + +// ****************************************************************** +// * XID_fCloseDevice +// ****************************************************************** +OOVPA_XREF(XID_fCloseDevice, 4831, 11, + + XREF_FCLOSEDEVICE, + XRefZero) + + { 0x13, 0x8B }, + { 0x14, 0x86 }, + { 0x15, 0xA3 }, + + { 0x4C, 0x89 }, + { 0x4D, 0x86 }, + { 0x4E, 0x9E }, + + { 0x87, 0x89 }, + { 0x88, 0x86 }, + { 0x89, 0xA7 }, + + { 0x95, 0xC9 }, + { 0x96, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * XInputGetState +// ****************************************************************** +OOVPA_NO_XREF(XInputGetState, 4831, 12) + + { 0x0E, 0x8B }, + { 0x0F, 0x8A }, + { 0x10, 0xA3 }, + + { 0x1A, 0x6A }, + { 0x1B, 0x57 }, + + { 0x1D, 0xEB }, + { 0x1E, 0x3E }, + + { 0x3A, 0x8B }, + { 0x3B, 0x8A }, + { 0x3C, 0xA3 }, + + { 0x69, 0xC2 }, + { 0x6A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * XInputGetCapabilities +// ****************************************************************** +OOVPA_NO_XREF(XInputGetCapabilities, 4831, 10) + + { 0x08, 0xF8 }, + { 0x0C, 0x1D }, + { 0x11, 0x56 }, + { 0x1F, 0x0F }, + { 0x95, 0x89 }, + { 0x96, 0x7D }, + { 0x97, 0xC0 }, + { 0x98, 0x89 }, + { 0x99, 0x55 }, + { 0x9A, 0xD0 }, +OOVPA_END; + +// ****************************************************************** +// * XGetDeviceEnumerationStatus +// ****************************************************************** +OOVPA_NO_XREF(XGetDeviceEnumerationStatus, 4831, 14) + + { 0x04, 0x15 }, + { 0x0A, 0x35 }, + { 0x10, 0x09 }, + + { 0x17, 0x00 }, + { 0x18, 0x74 }, + { 0x19, 0x03 }, + { 0x1A, 0x33 }, + { 0x1B, 0xF6 }, + { 0x1C, 0x46 }, + { 0x1D, 0x8A }, + { 0x1E, 0xC8 }, + { 0x1F, 0xFF }, + + { 0x25, 0x8B }, + { 0x28, 0xC3 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl index 2e692bc6b..eb89aa0b5 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl @@ -72,11 +72,11 @@ OOVPATable XAPI_5028[] = { REGISTER_OOVPA(XGetDevices, 3911, PATCH), REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), - REGISTER_OOVPA(XID_fCloseDevice, 4928, XREF), + REGISTER_OOVPA(XID_fCloseDevice, 4831, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), - REGISTER_OOVPA(XInputGetState, 4928, PATCH), + REGISTER_OOVPA(XInputGetState, 4831, PATCH), REGISTER_OOVPA(XInputGetCapabilities, 4831, PATCH), - REGISTER_OOVPA(XInputSetState, 4928, PATCH), + REGISTER_OOVPA(XInputSetState, 4831, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? // REGISTER_OOVPA(XCalculateSignatureBeginEx, 4627, PATCH), // +s, not necessary? diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5120.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5120.inl new file mode 100644 index 000000000..f55db09c0 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5120.inl @@ -0,0 +1,50 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.5120.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XInitDevices +// ****************************************************************** +// * NOTE: We are actually intercepting USBD_Init, because +// * XInitDevices Simply redirects to that function +// ****************************************************************** +OOVPA_NO_XREF(XInitDevices, 5120, 7) + + { 0x0E, 0x75 }, + { 0x20, 0xBE }, + { 0x2E, 0xC0 }, + { 0x3E, 0xEC }, + { 0x50, 0x0F }, + { 0x5F, 0xE8 }, + { 0x70, 0x5F }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl index 4f7d04596..214b453ab 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl @@ -32,7 +32,7 @@ // * // ****************************************************************** - +#if 0 // Moved to 5120 // ****************************************************************** // * XInitDevices // ****************************************************************** @@ -49,6 +49,7 @@ OOVPA_NO_XREF(XInitDevices, 5120, 7) { 0x5F, 0xE8 }, { 0x70, 0x5F }, OOVPA_END; +#endif // ****************************************************************** // * XInputGetCapabilities @@ -110,9 +111,9 @@ OOVPATable XAPI_5233[] = { REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XInputGetCapabilities, 5233, PATCH), - REGISTER_OOVPA(XID_fCloseDevice, 4928, XREF), + REGISTER_OOVPA(XID_fCloseDevice, 4831, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), - REGISTER_OOVPA(XInputGetState, 4928, PATCH), + REGISTER_OOVPA(XInputGetState, 4831, PATCH), REGISTER_OOVPA(XInputSetState, 5233, PATCH), REGISTER_OOVPA(QueueUserAPC, 3911, PATCH), REGISTER_OOVPA(CreateFiber, 3911, DISABLED), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl index d6c5b8121..6e8367a69 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl @@ -93,9 +93,9 @@ OOVPATable XAPI_5344[] = { REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), REGISTER_OOVPA(XInputOpen, 4242, PATCH), REGISTER_OOVPA(XInputGetCapabilities, 5233, PATCH), - REGISTER_OOVPA(XID_fCloseDevice, 4928, XREF), + REGISTER_OOVPA(XID_fCloseDevice, 4831, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), - REGISTER_OOVPA(XInputGetState, 4928, PATCH), + REGISTER_OOVPA(XInputGetState, 4831, PATCH), REGISTER_OOVPA(XInputSetState, 5233, PATCH), REGISTER_OOVPA(QueueUserAPC, 3911, PATCH), REGISTER_OOVPA(CreateFiber, 3911, DISABLED), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl new file mode 100644 index 000000000..e84ddf107 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl @@ -0,0 +1,145 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.5455.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + + +// ****************************************************************** +// * XInputGetCapabilities +// ****************************************************************** +OOVPA_NO_XREF(XInputGetCapabilities, 5455, 8) + + { 0x1D, 0x85 }, + { 0x3C, 0x8A }, + { 0x5B, 0x00 }, + { 0x7A, 0x45 }, + { 0x99, 0xD4 }, + { 0xB8, 0x02 }, + { 0xD7, 0x8D }, + { 0xF6, 0x46 }, +OOVPA_END; + +// ****************************************************************** +// * XInputGetState +// ****************************************************************** +OOVPA_NO_XREF(XInputGetState, 5455, 7) + + { 0x0D, 0x0C }, + { 0x1C, 0x5E }, + { 0x2B, 0xBB }, + { 0x3A, 0x80 }, + { 0x49, 0x08 }, + { 0x58, 0xF3 }, + { 0x67, 0x15 }, +OOVPA_END; + +// ****************************************************************** +// * XID_fCloseDevice +// ****************************************************************** +OOVPA_XREF(XID_fCloseDevice, 5455, 7, + + XREF_FCLOSEDEVICE, + XRefZero) + + { 0x11, 0x45 }, + { 0x24, 0xFF }, + { 0x37, 0x89 }, + { 0x4A, 0x86 }, + { 0x5D, 0x53 }, + { 0x70, 0xFF }, + { 0x84, 0x89 }, +OOVPA_END; + +// ****************************************************************** +// * XInputClose +// ****************************************************************** +OOVPA_XREF(XInputClose, 5455, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x05, XREF_FCLOSEDEVICE ), + + { 0x00, 0x8B }, + { 0x01, 0x4C }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0xE8 }, + { 0x09, 0xC2 }, + { 0x0A, 0x04 }, + { 0x0B, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * XMountAlternateTitleA +// ****************************************************************** +OOVPA_NO_XREF(XMountAlternateTitleA, 5455, 11) + + { 0x0B, 0x08 }, + + { 0x18, 0x0B }, + { 0x19, 0x57 }, + { 0x1A, 0x33 }, + { 0x1B, 0xFF }, + { 0x1C, 0x80 }, + { 0x1D, 0xE3 }, + { 0x1E, 0xDF }, + { 0x1F, 0x80 }, + + { 0xC1, 0x83 }, + { 0xD0, 0x15 }, +OOVPA_END; + +// ****************************************************************** +// * timeSetEvent +// ****************************************************************** +//Xbe Explorer generated pattern, derived from address $0027927D in "EA SPORTSERUGBY 2005" : +//558BEC83EC14536880153200FF15........8B0D........33DB3BCB7548538D 1F 4046 0124 _timeSetEvent@20 ^ 000ED __imp__RtlEnterCriticalSection@4 ^ 0014D _XapiMmTimerThreadState ^ 003FR _CreateThread@24 ^ 0047D _timeSetEvent@20+0112 ^ 004DR _CloseHandle@4 ^ 005CD __imp__KeWaitForSingleObject@20 ^ 0062D _XapiMmTimerThreadState ^0082D _timeSetEvent@20+010F ^0090D _XapiMmTimerSerialNumber ^0097D _XapiMmTimerSerialNumber ^ 00C0R __allmul ^ 00CCD __imp__KeQueryInterruptTime@0 ^00E7D __imp__KeSetTimerEx@20 ^ 00ECD _XapiMmTimerThreadState ^ 00FBD __imp__KeSetEvent@12 ^0119D __imp__RtlLeaveCriticalSection@4 +//Improved pattern using timeSetEvent in "Kingdom Under Fire: The Crusaders" at address $00221F2E +OOVPA_NO_XREF(timeSetEvent, 5455, 14) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x04, 0xEC }, + { 0x0D, 0x15 }, + { 0x12, 0x8B }, + { 0x13, 0x0D }, + { 0x18, 0x33 }, + { 0x19, 0xDB }, + { 0x1A, 0x3B }, + + { 0x32, 0x53 }, + { 0x33, 0x53 }, + { 0x34, 0x88 }, + { 0x35, 0x5D }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl index 3965f6806..b499a5db5 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // Moved to 5455 // ****************************************************************** // * XInputGetCapabilities // ****************************************************************** @@ -46,7 +47,8 @@ OOVPA_NO_XREF(XInputGetCapabilities, 5455, 8) { 0xD7, 0x8D }, { 0xF6, 0x46 }, OOVPA_END; - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * XInputGetState // ****************************************************************** @@ -60,6 +62,7 @@ OOVPA_NO_XREF(XInputGetState, 5455, 7) { 0x58, 0xF3 }, { 0x67, 0x15 }, OOVPA_END; +#endif // ****************************************************************** // * XapiInitProcess @@ -76,6 +79,7 @@ OOVPA_NO_XREF(XapiInitProcess, 5558, 8) { 0xFE, 0x02 }, OOVPA_END; +#if 0 // Moved to 5659 // ****************************************************************** // * XapiInitProcess // ****************************************************************** @@ -90,6 +94,7 @@ OOVPA_NO_XREF(XapiInitProcess, 5659, 8) { 0xDE, 0x6A }, { 0xFE, 0x02 }, OOVPA_END; +#endif // ****************************************************************** // * XLaunchNewImageA @@ -119,6 +124,7 @@ OOVPA_NO_XREF(XapiFiberStartup, 5558, 7) { 0x3D, 0x00 }, OOVPA_END; +#if 0 // Moved to 5455 // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** @@ -135,7 +141,8 @@ OOVPA_XREF(XID_fCloseDevice, 5455, 7, { 0x70, 0xFF }, { 0x84, 0x89 }, OOVPA_END; - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * XInputClose // ****************************************************************** @@ -155,7 +162,8 @@ OOVPA_XREF(XInputClose, 5455, 9, { 0x0A, 0x04 }, { 0x0B, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * XMountAlternateTitleA // ****************************************************************** @@ -175,6 +183,7 @@ OOVPA_NO_XREF(XMountAlternateTitleA, 5455, 11) { 0xC1, 0x83 }, { 0xD0, 0x15 }, OOVPA_END; +#endif // ****************************************************************** // * XAPI_5558 @@ -214,7 +223,7 @@ OOVPATable XAPI_5558[] = { REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), - REGISTER_OOVPA(timeSetEvent, 3911, PATCH), + REGISTER_OOVPA(timeSetEvent, 5455, PATCH), REGISTER_OOVPA(timeKillEvent, 3911, PATCH), REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5659.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5659.inl new file mode 100644 index 000000000..c759b7de6 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5659.inl @@ -0,0 +1,48 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.5659.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +OOVPA_NO_XREF(XapiInitProcess, 5659, 8) + + { 0x22, 0x6A }, + { 0x3E, 0x01 }, + { 0x5E, 0xEB }, + { 0x7E, 0x8B }, + { 0x9F, 0x68 }, + { 0xBE, 0x01 }, + { 0xDE, 0x6A }, + { 0xFE, 0x02 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl index e1d27f88b..6fbc524d4 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl @@ -158,7 +158,7 @@ OOVPATable XAPI_5788[] = { REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), REGISTER_OOVPA(XMountMURootA, 4242, PATCH), REGISTER_OOVPA(XInputPoll, 3911, PATCH), - REGISTER_OOVPA(timeSetEvent, 3911, PATCH), + REGISTER_OOVPA(timeSetEvent, 5455, PATCH), REGISTER_OOVPA(timeKillEvent, 3911, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl index d7e955b8e..7b5f5e82c 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl @@ -32,6 +32,10 @@ // * // ****************************************************************** +#if 0 // Moved to 5455 +// ****************************************************************** +// * timeSetEvent +// ****************************************************************** //Xbe Explorer generated pattern, derived from address $0027927D in "EA SPORTSERUGBY 2005" : //558BEC83EC14536880153200FF15........8B0D........33DB3BCB7548538D 1F 4046 0124 _timeSetEvent@20 ^ 000ED __imp__RtlEnterCriticalSection@4 ^ 0014D _XapiMmTimerThreadState ^ 003FR _CreateThread@24 ^ 0047D _timeSetEvent@20+0112 ^ 004DR _CloseHandle@4 ^ 005CD __imp__KeWaitForSingleObject@20 ^ 0062D _XapiMmTimerThreadState ^0082D _timeSetEvent@20+010F ^0090D _XapiMmTimerSerialNumber ^0097D _XapiMmTimerSerialNumber ^ 00C0R __allmul ^ 00CCD __imp__KeQueryInterruptTime@0 ^00E7D __imp__KeSetTimerEx@20 ^ 00ECD _XapiMmTimerThreadState ^ 00FBD __imp__KeSetEvent@12 ^0119D __imp__RtlLeaveCriticalSection@4 //Improved pattern using timeSetEvent in "Kingdom Under Fire: The Crusaders" at address $00221F2E @@ -47,6 +51,7 @@ OOVPA_NO_XREF(timeSetEvent, 5849, 10) {0x19, 0xDB}, {0x1A, 0x3B} OOVPA_END; +#endif //; Xbe Explorer generated pattern, derived from address $002793A1 in "EA SPORTSERUGBY 2005" : //5657BF8015320057FF15........8B54240C8B0D........0FB7C24885C9743E 1D AD12 006F _timeKillEvent@4 ^ 000AD __imp__RtlEnterCriticalSection@4 ^ 0014D _XapiMmTimerThreadState ^ 003DD __imp__KeCancelTimer@4 ^ 0046D _XapiMmTimerThreadState ^ 0056D __imp__KeSetEvent@12 ^ 0064D __imp__RtlLeaveCriticalSection@4 @@ -111,7 +116,7 @@ OOVPATable XAPI_5849[] = { REGISTER_OOVPA(GetTypeInformation, 4134, XREF), REGISTER_OOVPA(SetThreadPriorityBoost, 5788, PATCH), // REGISTER_OOVPA(GetThreadPriorityBoost, 5849, PATCH), - REGISTER_OOVPA(timeSetEvent, 5849, PATCH), + REGISTER_OOVPA(timeSetEvent, 5455, PATCH), REGISTER_OOVPA(timeKillEvent, 5849, PATCH), REGISTER_OOVPA(RaiseException, 3911, PATCH), REGISTER_OOVPA(XLaunchNewImageA, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl index c4e6b4ad4..ea0e518a7 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl @@ -37,17 +37,23 @@ #include "../OOVPA.h" #include "Xapi.1.0.3911.inl" +#include "Xapi.1.0.3950.inl" #include "Xapi.1.0.4034.inl" #include "Xapi.1.0.4134.inl" +#include "Xapi.1.0.4242.inl" #include "Xapi.1.0.4361.inl" #include "Xapi.1.0.4432.inl" #include "Xapi.1.0.4627.inl" #include "Xapi.1.0.4721.inl" +#include "Xapi.1.0.4831.inl" #include "Xapi.1.0.5028.inl" +#include "Xapi.1.0.5120.inl" #include "Xapi.1.0.5233.inl" #include "Xapi.1.0.5344.inl" +#include "Xapi.1.0.5455.inl" #include "Xapi.1.0.5558.inl" #include "Xapi.1.0.5788.inl" +#include "Xapi.1.0.5659.inl" #include "Xapi.1.0.5849.inl" // ****************************************************************** @@ -105,15 +111,15 @@ OOVPATable XAPILIB_OOVPAV2[] = { REGISTER_OOVPAS(XGetDeviceEnumerationStatus, PATCH, 4831), REGISTER_OOVPAS(XGetDevices, PATCH, 3911), REGISTER_OOVPAS(XGetLaunchInfo, DISABLED, 3911), - REGISTER_OOVPAS(XID_fCloseDevice, XREF, 3911, 4242, 4627, 4928, 5455), + REGISTER_OOVPAS(XID_fCloseDevice, XREF, 3911, 4242, 4627, 4831, 5455), REGISTER_OOVPAS(XInitDevices, PATCH, 3911, 5120), REGISTER_OOVPAS(XInputClose, PATCH, 3911, 5455), REGISTER_OOVPAS(XInputGetCapabilities, PATCH, 3911, 4242, 4831, 5233, 5455), REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 5344), - REGISTER_OOVPAS(XInputGetState, PATCH, 3911, 4134, 4242, 4928, 5455), + REGISTER_OOVPAS(XInputGetState, PATCH, 3911, 4134, 4242, 4831, 5455), REGISTER_OOVPAS(XInputOpen, PATCH, 3911, 4134, 4242), REGISTER_OOVPAS(XInputPoll, PATCH, 3911), - REGISTER_OOVPAS(XInputSetState, PATCH, 3911, 4242, 4928, 5233), + REGISTER_OOVPAS(XInputSetState, PATCH, 3911, 4242, 4831, 5233), REGISTER_OOVPAS(XLaunchNewImageA, PATCH, 3911, 4721, 5344, 5558), REGISTER_OOVPAS(XMountAlternateTitleA, PATCH, 3911, 5028, 5455), REGISTER_OOVPAS(XMountMUA, PATCH, 3911, 4242), @@ -124,7 +130,7 @@ OOVPATable XAPILIB_OOVPAV2[] = { REGISTER_OOVPAS(XUnmountAlternateTitleA, PATCH, 3911), REGISTER_OOVPAS(XapiFiberStartup, DISABLED, 5558), REGISTER_OOVPAS(timeKillEvent, PATCH, 3911, 5849), - REGISTER_OOVPAS(timeSetEvent, PATCH, 3911, 5849), + REGISTER_OOVPAS(timeSetEvent, PATCH, 3911, 5455), }; // ****************************************************************** From 16ba557e31055fd7bb6de352059a02e833b3baa1 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 18 Sep 2017 21:59:29 +0900 Subject: [PATCH 072/146] Reregisterd XapiInitProcess OOVPA (3911-5849) --- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl | 21 +++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl | 4 ++-- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl | 21 +++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl | 21 +++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl | 4 ++-- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5659.inl | 2 ++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl | 2 ++ src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl | 2 +- 8 files changed, 72 insertions(+), 5 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl index b9b1d9b27..df8da7410 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl @@ -232,3 +232,24 @@ OOVPA_NO_XREF(XMountMURootA, 4242, 12) { 0x72, 0xE8 }, OOVPA_END; + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +OOVPA_NO_XREF(XapiInitProcess, 4242, 7) + + // XapiInitProcess+0x03 : sub esp, 30h + { 0x05, 0x30 }, + + // XapiInitProcess+0x0F : push 0x0C + { 0x0F, 0x6A }, + { 0x10, 0x0C }, + + // XapiInitProcess+0x17 : repe stosd + { 0x17, 0xF3 }, + { 0x18, 0xAB }, + + // XapiInitProcess+0x42 : jnz +0x0B + { 0x42, 0x75 }, + { 0x43, 0x0B }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl index b0dc7cb0c..885b41ca2 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl @@ -254,7 +254,7 @@ OOVPA_NO_XREF(CloseHandle, 4361, 10) { 0x1B, 0xC2 }, { 0x1C, 0x04 }, OOVPA_END; - +#if 0 // Moved to 4242 // ****************************************************************** // * XapiInitProcess // ****************************************************************** @@ -275,7 +275,7 @@ OOVPA_NO_XREF(XapiInitProcess, 4361, 7) { 0x42, 0x75 }, { 0x43, 0x0B }, OOVPA_END; - +#endif // ****************************************************************** // * XapiThreadStartup // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl index 14c594a9a..cd2889ad8 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl @@ -148,3 +148,24 @@ OOVPA_NO_XREF(XGetDeviceEnumerationStatus, 4831, 14) { 0x25, 0x8B }, { 0x28, 0xC3 }, OOVPA_END; + +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +OOVPA_NO_XREF(XapiInitProcess, 4831, 12) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + + { 0x13, 0x6A }, + { 0x14, 0x0C }, + { 0x15, 0x59 }, + { 0x16, 0x33 }, + { 0x17, 0xC0 }, + { 0x18, 0x8D }, + { 0x19, 0x7D }, + { 0x1A, 0xCC }, + + { 0x1D, 0x8D }, + { 0x1E, 0x45 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl index eb89aa0b5..181848d4e 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl @@ -56,6 +56,27 @@ OOVPA_NO_XREF(XMountAlternateTitleA, 5028, 14) { 0x96, 0x8D }, OOVPA_END; +// ****************************************************************** +// * XapiInitProcess +// ****************************************************************** +OOVPA_NO_XREF(XapiInitProcess, 5028, 12) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + + { 0x0E, 0xF6 }, + { 0x0F, 0x68 }, + + { 0x22, 0x6A }, + { 0x23, 0x0C }, + { 0x24, 0x59 }, + { 0x25, 0x33 }, + { 0x26, 0xC0 }, + { 0x27, 0x8D }, + { 0x28, 0x7D }, + { 0x29, 0xCC }, +OOVPA_END; + // ****************************************************************** // * XAPI_5028 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl index b499a5db5..1b5151387 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl @@ -63,7 +63,7 @@ OOVPA_NO_XREF(XInputGetState, 5455, 7) { 0x67, 0x15 }, OOVPA_END; #endif - +#if 0 // No longer used, replaced by generic 5028 version // ****************************************************************** // * XapiInitProcess // ****************************************************************** @@ -78,7 +78,7 @@ OOVPA_NO_XREF(XapiInitProcess, 5558, 8) { 0xDE, 0x6A }, { 0xFE, 0x02 }, OOVPA_END; - +#endif #if 0 // Moved to 5659 // ****************************************************************** // * XapiInitProcess diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5659.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5659.inl index c759b7de6..14c8554ef 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5659.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5659.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // No longer used, replaced by generic 5028 version // ****************************************************************** // * XapiInitProcess // ****************************************************************** @@ -46,3 +47,4 @@ OOVPA_NO_XREF(XapiInitProcess, 5659, 8) { 0xDE, 0x6A }, { 0xFE, 0x02 }, OOVPA_END; +#endif \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl index 6fbc524d4..ec5dab0a9 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // No longer used, replaced by generic 5028 version // ****************************************************************** // * XapiInitProcess // ****************************************************************** @@ -46,6 +47,7 @@ OOVPA_NO_XREF(XapiInitProcess, 5788, 8) { 0xDE, 0x00 }, { 0xFE, 0x53 }, OOVPA_END; +#endif // ****************************************************************** // * GetThreadPriority diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl index ea0e518a7..87ff3cb0a 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl @@ -86,7 +86,7 @@ OOVPATable XAPILIB_OOVPAV2[] = { // REGISTER_OOVPAS(XCalculateSignatureUpdate, PATCH, 4627), // REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 4831), // NOT XInputGetDeviceDescription (from 4627, 5028's comment) // REGISTER_OOVPAS(XapiBootDash, PATCH, 3911), // obsolete (from 4721's comment) - // REGISTER_OOVPAS(XapiInitProcess, PATCH, 4361), // obsolete, Too High Level (from 4721's comment) + REGISTER_OOVPAS(XapiInitProcess, DISABLED, 3911, 3950, 4242, 4831, 5028), // obsolete, Too High Level (from 4721's comment) // REGISTER_OOVPAS(XapiThreadStartup, PATCH, 4361), // obsolete (from 4721's comment) // REGISTER_OOVPAS(XapiThreadStartup, PATCH, 4361), // obsolete? (from 4627, 5028, 5558, 5788, 5849's comment) // REGISTER_OOVPAS(lstrcmpiW, PATCH, 3911), From 9fa8ad70f3b6d3ac5bde4fb015215c930b13f5de Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Tue, 19 Sep 2017 08:55:12 -0500 Subject: [PATCH 073/146] More DSound 3963 OOVPAs lowered to 3911 - 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 --- src/CxbxKrnl/HLEDataBase.h | 14 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 328 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 93 +++--- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 22 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 22 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 7 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 16 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 24 +- 14 files changed, 447 insertions(+), 113 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 2a179cfde..43a60070e 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -178,11 +178,11 @@ enum XRefDataBaseOffset XREF_FCLOSEDEVICE, XREF_CLEARSTATEBLOCKFLAGS, XREF_RECORDSTATEBLOCK, - XREF_SETDISTANCEFACTORA, - XREF_SETDISTANCEFACTORB, + XREF_CDirectSound_SetDistanceFactor, + XREF_CMcpxAPU_Set3dDistanceFactor, XREF_SETROLLOFFFACTORA, XREF_SETROLLOFFFACTORB, - XREF_SETDOPPLERFACTOR, + XREF_CDirectSound_SetDopplerFactor, XREF_SETBUFFERDATA, XREF_CMcpxBuffer_SetCurrentPosition, XREF_CDirectSoundBuffer_SetCurrentPosition, @@ -199,8 +199,8 @@ enum XRefDataBaseOffset XREF_CDirectSound_CreateSoundStream, XREF_DSSTREAMPAUSE, XREF_DSSETI3DL2LISTENER, - XREF_DSSETMIXBINHEADROOMA, - XREF_DSSETMIXBINHEADROOMB, + XREF_CDirectSound_SetMixBinHeadroom, + XREF_CMcpxAPU_SetMixBinHeadroom, XREF_DSSETMIXBINSA, XREF_DSSETMIXBINSB, XREF_DSSETMIXBINSC, @@ -213,8 +213,8 @@ enum XRefDataBaseOffset XREF_DSSETVELOCITYB, XREF_CDirectSound_DoWork, XREF_CMcpxAPU_ServiceDeferredCommandsLow, - XREF_DSSETALLPARAMETERSA, - XREF_DSSETALLPARAMETERSB, + XREF_CDirectSound_SetAllParameters, + XREF_CMcpxAPU_Set3dParameters, XREF_DSSETHEADROOMA, XREF_CDirectSound_EnableHeadphones, XREF_DSSYNCHPLAYBACKA, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 7f1065457..8681c7b6a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -4340,18 +4340,340 @@ OOVPA_XREF(IDirectSound_EnableHeadphones, 3911, 10, XREF_ENTRY( 0x15, XREF_CDirectSound_EnableHeadphones ), - // IDirectSound_CommitEffectData+0x04 : push dword ptr [esp+8] + // IDirectSound_EnableHeadphones+0x04 : push dword ptr [esp+8] { 0x04, 0xFF }, { 0x05, 0x74 }, { 0x06, 0x24 }, { 0x07, 0x08 }, - // IDirectSound_CommitEffectData+0x0A : add eax, 0xFFFFFFF8 + // IDirectSound_EnableHeadphones+0x0A : add eax, 0xFFFFFFF8 { 0x0A, 0x83 }, { 0x0B, 0xC0 }, { 0x0C, 0xF8 }, - // IDirectSound_CommitEffectData+0x19 : retn 0x08 + // IDirectSound_EnableHeadphones+0x19 : retn 0x08 { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; + +// ****************************************************************** +// * CMcpxAPU_SetMixBinHeadroom +// ****************************************************************** +OOVPA_XREF(CMcpxAPU_SetMixBinHeadroom, 3911, 12, + + XREF_CMcpxAPU_SetMixBinHeadroom, + XRefZero) + + // CMcpxAPU_SetMixBinHeadroom+0x04 : cmp dword ptr ds:[0xFE820010], 4 + { 0x12, 0x83 }, + { 0x13, 0x3D }, + { 0x14, 0x10 }, + { 0x15, 0x00 }, + { 0x16, 0x82 }, + { 0x17, 0xFE }, + { 0x18, 0x04 }, + + // CMcpxAPU_SetMixBinHeadroom+0x1F : and edx, 7 + { 0x1F, 0x83 }, + { 0x20, 0xE2 }, + { 0x21, 0x07 }, + + // CMcpxAPU_SetMixBinHeadroom+0x2D : jl +0xD8 + { 0x2D, 0x7C }, + { 0x2E, 0xD8 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_SetMixBinHeadroom +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 3911, 9, + + XREF_CDirectSound_SetMixBinHeadroom, + XRefOne) + + // CDirectSound_SetMixBinHeadroom+0x19 : call [CMcpxAPU_SetMixBinHeadroom] + XREF_ENTRY( 0x19, XREF_CMcpxAPU_SetMixBinHeadroom ), + + // CDirectSound_SetMixBinHeadroom+0x00 : push esi; push edi + { 0x00, 0x56 }, + { 0x01, 0x57 }, + + // CDirectSound_SetMixBinHeadroom+0x07 : push [esp+0x14] + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x09, 0x24 }, + { 0x0A, 0x14 }, + + // CDirectSound_SetMixBinHeadroom+0x21 : jz +0x0B + { 0x21, 0x74 }, + { 0x22, 0x0B }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetMixBinHeadroom +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 3911, 12, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSound_SetMixBinHeadroom+0x19 : call [CDirectSound_SetMixBinHeadroom] + XREF_ENTRY( 0x19, XREF_CDirectSound_SetMixBinHeadroom ), + + // IDirectSound_SetMixBinHeadroom+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSound_SetMixBinHeadroom+0x08 : mov ecx, eax + { 0x08, 0x8B }, + { 0x09, 0xC8 }, + + // IDirectSound_SetMixBinHeadroom+0x0E : add eax, 0xFFFFFFF8 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xF8 }, + + // IDirectSound_SetMixBinHeadroom+0x1D : retn 0x0C + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxAPU::Set3dParameters +// ****************************************************************** +OOVPA_XREF(CMcpxAPU_Set3dParameters, 3911, 7, + + XREF_CMcpxAPU_Set3dParameters, + XRefZero) + + { 0x05, 0x57 }, + { 0x0C, 0xB8 }, + { 0x13, 0x80 }, + { 0x1A, 0x83 }, + { 0x21, 0x74 }, + { 0x2C, 0x33 }, + { 0x2F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::SetAllParameters +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetAllParameters, 3911, 9, + + XREF_CDirectSound_SetAllParameters, + XRefOne) + + XREF_ENTRY( 0x1F, XREF_CMcpxAPU_Set3dParameters ), + + { 0x00, 0x56 }, + { 0x07, 0x8B }, + { 0x0E, 0xD0 }, + { 0x16, 0x10 }, + { 0x1E, 0xE8 }, + { 0x26, 0xF8 }, + { 0x2E, 0xFF }, + { 0x36, 0x5F }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetAllParameters +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_SetAllParameters, 3911, 12, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x19, XREF_CDirectSound_SetAllParameters ), + + // IDirectSound_SetAllParameters+0x04 : push [esp+0x0C] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSound_SetAllParameters+0x08 : mov ecx, eax + { 0x08, 0x8B }, + { 0x09, 0xC8 }, + + // IDirectSound_SetAllParameters+0x0E : add eax, 0xFFFFFFF8 + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xF8 }, + + // IDirectSound_SetAllParameters+0x1D : retn 0x0C + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxAPU_Set3dDistanceFactor +// ****************************************************************** +OOVPA_XREF(CMcpxAPU_Set3dDistanceFactor, 3911, 13, + + XREF_CMcpxAPU_Set3dDistanceFactor, + XRefZero) + + // Unique value difference against CMcpxAPU_Set3dDopperFactor's unique value. + // CMcpxAPU_Set3dDistanceFactor+0x04 : or dword ptr [ecx+0x01B4], 0x60 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0xB4 }, + { 0x07, 0x01 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x60 }, + + // CMcpxAPU_Set3dDistanceFactor+0x0B : cmp [esp+0x08], 0 + { 0x0B, 0x83 }, + { 0x0C, 0x7C }, + { 0x0D, 0x24 }, + { 0x0E, 0x08 }, + + // Unique value difference against CMcpxAPU_Set3dDopperFactor's unique value. + // CMcpxAPU_Set3dDistanceFactor+0x12 : mov [ecx+0x0178], eax + { 0x12, 0x78 }, + { 0x13, 0x01 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_SetDistanceFactor +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetDistanceFactor, 3911, 12, + + XREF_CDirectSound_SetDistanceFactor, + XRefOne) + + // CDirectSound_SetDistanceFactor+0x23 : call [CMcpxAPU_Set3dDistanceFactor] + XREF_ENTRY( 0x23, XREF_CMcpxAPU_Set3dDistanceFactor ), + + // CDirectSound_SetDistanceFactor+0x00 : push esi; push edi + { 0x00, 0x56 }, + { 0x01, 0x57 }, + + // CDirectSound_SetDistanceFactor+0x07 : fld [esp+0x10] + { 0x07, 0xD9 }, + { 0x08, 0x44 }, + { 0x09, 0x24 }, + { 0x0A, 0x10 }, + + // CDirectSound_SetDistanceFactor+0x11 : not eax; and eax, 1 + { 0x11, 0xF7 }, + { 0x12, 0xD0 }, + { 0x13, 0x83 }, + { 0x14, 0xE0 }, + { 0x15, 0x01 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetDistanceFactor +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_SetDistanceFactor, 3911, 11, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSound_SetDistanceFactor+0x1D : call [CDirectSound_SetDistanceFactor] + XREF_ENTRY( 0x1D, XREF_CDirectSound_SetDistanceFactor ), + + // IDirectSound_SetDistanceFactor+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSound_SetDistanceFactor+0x0C : push ecx + { 0x0C, 0x51 }, + + // IDirectSound_SetDistanceFactor+0x12 : add eax, 0xFFFFFFF8 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, + + // IDirectSound_SetDistanceFactor+0x21 : retn 0x0C + { 0x21, 0xC2 }, + { 0x22, 0x0C }, +OOVPA_END; +// ****************************************************************** +// * CMcpxAPU::Set3dDopplerFactor +// ****************************************************************** +OOVPA_XREF(CMcpxAPU_Set3dDopplerFactor, 3911, 13, + + XREF_CMcpxAPU_Set3dDopplerFactor, + XRefZero) + + // Unique value difference against CMcpxAPU_Set3dDistanceFactor's unique value. + // CMcpxAPU_Set3dDopplerFactor+0x04 : or dword ptr [ecx+0x01B4], 0x40 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0xB4 }, + { 0x07, 0x01 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x40 }, + + // CMcpxAPU_Set3dDopplerFactor+0x0B : cmp [esp+0x08], 0 + { 0x0B, 0x83 }, + { 0x0C, 0x7C }, + { 0x0D, 0x24 }, + { 0x0E, 0x08 }, + + // Unique value difference against CMcpxAPU_Set3dDistanceFactor's unique value. + // CMcpxAPU_Set3dDopplerFactor+0x12 : mov [ecx+0x0180], eax + { 0x12, 0x80 }, + { 0x13, 0x01 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::SetDopplerFactor +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetDopplerFactor, 3911, 9, + + XREF_CDirectSound_SetDopplerFactor, + XRefOne) + + XREF_ENTRY( 0x23, XREF_CMcpxAPU_Set3dDopplerFactor ), + + { 0x07, 0xD9 }, + { 0x0E, 0x44 }, + { 0x16, 0x50 }, + { 0x1E, 0x0C }, + { 0x27, 0x85 }, + { 0x32, 0xFF }, + { 0x38, 0x8B }, + { 0x3E, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetDopplerFactor +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_SetDopplerFactor, 3911, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x1D, XREF_CDirectSound_SetDopplerFactor ), + + // IDirectSound_SetDopplerFactor+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSound_SetDopplerFactor+0x0C : push ecx + { 0x0C, 0x51 }, + + // IDirectSound_SetDopplerFactor+0x12 : add eax, 0xFFFFFFF8 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, + + // IDirectSound_SetDopplerFactor+0x21 : retn 0x0C + { 0x21, 0xC2 }, + { 0x22, 0x0C }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 6f324747c..aae7928e4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -2568,12 +2568,13 @@ OOVPA_NO_XREF(IDirectSound_Release, 3936, 10) { 0x14, 0x04 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU_Set3dDistanceFactor // ****************************************************************** OOVPA_XREF(CMcpxAPU_Set3dDistanceFactor, 3936, 13, - XREF_SETDISTANCEFACTORB, + XREF_CMcpxAPU_Set3dDistanceFactor, XRefZero) // CMcpxAPU_Set3dDistanceFactor+0x04 : or dword ptr [ecx+0x01B4], 0x60 @@ -2595,17 +2596,18 @@ OOVPA_XREF(CMcpxAPU_Set3dDistanceFactor, 3936, 13, { 0x12, 0x78 }, { 0x13, 0x01 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound_SetDistanceFactor // ****************************************************************** OOVPA_XREF(CDirectSound_SetDistanceFactor, 3936, 12, - XREF_SETDISTANCEFACTORA, + XREF_CDirectSound_SetDistanceFactor, XRefOne) // CDirectSound_SetDistanceFactor+0x23 : call [CMcpxAPU_Set3dDistanceFactor] - XREF_ENTRY( 0x23, XREF_SETDISTANCEFACTORB ), + XREF_ENTRY( 0x23, XREF_CMcpxAPU_Set3dDistanceFactor ), // CDirectSound_SetDistanceFactor+0x00 : push esi; push edi { 0x00, 0x56 }, @@ -2624,7 +2626,8 @@ OOVPA_XREF(CDirectSound_SetDistanceFactor, 3936, 12, { 0x14, 0xE0 }, { 0x15, 0x01 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_SetDistanceFactor // ****************************************************************** @@ -2636,7 +2639,7 @@ OOVPA_XREF(IDirectSound_SetDistanceFactor, 3936, 11, // TODO: Tentative (may not be SetDistanceFactor) // IDirectSound_SetDistanceFactor+0x1D : call [CDirectSound_SetDistanceFactor] - XREF_ENTRY( 0x1D, XREF_SETDISTANCEFACTORA ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_SetDistanceFactor ), // IDirectSound_SetDistanceFactor+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, @@ -2656,7 +2659,7 @@ OOVPA_XREF(IDirectSound_SetDistanceFactor, 3936, 11, { 0x21, 0xC2 }, { 0x22, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CMcpxAPU_Set3dRolloffFactor // ****************************************************************** @@ -2745,13 +2748,13 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 3936, 11, { 0x21, 0xC2 }, { 0x22, 0x0C }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU_SetMixBinHeadroom // ****************************************************************** OOVPA_XREF(CMcpxAPU_SetMixBinHeadroom, 3936, 12, - XREF_DSSETMIXBINHEADROOMB, + XREF_CMcpxAPU_SetMixBinHeadroom, XRefZero) // CMcpxAPU_SetMixBinHeadroom+0x04 : cmp dword ptr ds:[0xFE820010], 4 @@ -2772,17 +2775,18 @@ OOVPA_XREF(CMcpxAPU_SetMixBinHeadroom, 3936, 12, { 0x2D, 0x7C }, { 0x2E, 0xD8 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound_SetMixBinHeadroom // ****************************************************************** OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 3936, 9, - XREF_DSSETMIXBINHEADROOMA, + XREF_CDirectSound_SetMixBinHeadroom, XRefOne) // CDirectSound_SetMixBinHeadroom+0x19 : call [CMcpxAPU_SetMixBinHeadroom] - XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMB ), + XREF_ENTRY( 0x19, XREF_CMcpxAPU_SetMixBinHeadroom ), // CDirectSound_SetMixBinHeadroom+0x00 : push esi; push edi { 0x00, 0x56 }, @@ -2798,7 +2802,8 @@ OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 3936, 9, { 0x21, 0x74 }, { 0x22, 0x0B }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_SetMixBinHeadroom // ****************************************************************** @@ -2808,7 +2813,7 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 3936, 12, XRefOne) // IDirectSound_SetMixBinHeadroom+0x19 : call [CDirectSound_SetMixBinHeadroom] - XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ), + XREF_ENTRY( 0x19, XREF_CDirectSound_SetMixBinHeadroom ), // IDirectSound_SetMixBinHeadroom+0x04 : push [esp+0x0C] { 0x04, 0xFF }, @@ -2829,6 +2834,7 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 3936, 12, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU_Set3dPosition @@ -3006,7 +3012,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetAllParametersB, 3936, 13, - XREF_DSSETALLPARAMETERSB, + XREF_CMcpxAPU_Set3dParameters, XRefZero) // CDirectSound_SetAllParametersB+0x08 : push 0x0C; pop ecx @@ -3035,11 +3041,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetAllParametersA, 3936, 10, - XREF_DSSETALLPARAMETERSA, + XREF_CDirectSound_SetAllParameters, XRefOne) // CDirectSound_SetAllParametersA+0x2F : call [CDirectSound::SetAllParametersB] - XREF_ENTRY( 0x2F, XREF_DSSETALLPARAMETERSB ), + XREF_ENTRY( 0x2F, XREF_CMcpxAPU_Set3dParameters ), // CDirectSound_SetAllParametersA+0x00 : push esi; push edi { 0x00, 0x56 }, @@ -3128,6 +3134,7 @@ OOVPA_XREF(CMcpxBuffer_Play, 3925, 9, { 0x36, 0xC2 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU::Set3dDopplerFactor // ****************************************************************** @@ -3144,13 +3151,14 @@ OOVPA_XREF(CMcpxAPU_Set3dDopplerFactor, 3936, 7, { 0x1F, 0x33 }, { 0x21, 0xC2 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound::SetDopplerFactor // ****************************************************************** OOVPA_XREF(CDirectSound_SetDopplerFactor, 3936, 9, - XREF_SETDOPPLERFACTOR, + XREF_CDirectSound_SetDopplerFactor, XRefOne) XREF_ENTRY( 0x23, XREF_CMcpxAPU_Set3dDopplerFactor ), @@ -3164,7 +3172,8 @@ OOVPA_XREF(CDirectSound_SetDopplerFactor, 3936, 9, { 0x38, 0x8B }, { 0x3E, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_SetDopplerFactor // ****************************************************************** @@ -3173,7 +3182,7 @@ OOVPA_XREF(IDirectSound_SetDopplerFactor, 3936, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x1D, XREF_SETDOPPLERFACTOR ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_SetDopplerFactor ), { 0x03, 0x0C }, { 0x08, 0x8B }, @@ -3183,6 +3192,7 @@ OOVPA_XREF(IDirectSound_SetDopplerFactor, 3936, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CSensaura3d::GetFullHRTFFilterPair @@ -3684,12 +3694,13 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBinVolumes_12, 3911, 9, { 0x1E, 0x0C }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU::Set3dParameters // ****************************************************************** OOVPA_XREF(CMcpxAPU_Set3dParameters, 3936, 7, - XREF_DSSETALLPARAMETERSB, + XREF_CMcpxAPU_Set3dParameters, XRefZero) { 0x05, 0x57 }, @@ -3700,16 +3711,17 @@ OOVPA_XREF(CMcpxAPU_Set3dParameters, 3936, 7, { 0x2C, 0x33 }, { 0x2F, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound::SetAllParameters // ****************************************************************** OOVPA_XREF(CDirectSound_SetAllParameters, 3936, 9, - XREF_DSSETALLPARAMETERSA, + XREF_CDirectSound_SetAllParameters, XRefOne) - XREF_ENTRY( 0x1F, XREF_DSSETALLPARAMETERSB ), + XREF_ENTRY( 0x1F, XREF_CMcpxAPU_Set3dParameters ), { 0x00, 0x56 }, { 0x07, 0x8B }, @@ -3720,7 +3732,8 @@ OOVPA_XREF(CDirectSound_SetAllParameters, 3936, 9, { 0x2E, 0xFF }, { 0x36, 0x5F }, OOVPA_END; - +#endif +#if 0 // Replaced with generic OOVPA // ****************************************************************** // * IDirectSound_SetAllParameters // ****************************************************************** @@ -3729,7 +3742,7 @@ OOVPA_XREF(IDirectSound_SetAllParameters, 3936, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x19, XREF_DSSETALLPARAMETERSA ), + XREF_ENTRY( 0x19, XREF_CDirectSound_SetAllParameters ), { 0x02, 0x24 }, { 0x06, 0x24 }, @@ -3740,7 +3753,7 @@ OOVPA_XREF(IDirectSound_SetAllParameters, 3936, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSound::SetI3DL2Listener // ****************************************************************** @@ -4055,29 +4068,29 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 3911, XREF), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), - REGISTER_OOVPA(CMcpxAPU_Set3dDistanceFactor, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 3936, XREF), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3936, PATCH), + REGISTER_OOVPA(CMcpxAPU_Set3dDistanceFactor, 3911, XREF), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 3911, XREF), + REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Set3dRolloffFactor, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3936, PATCH), - REGISTER_OOVPA(CMcpxAPU_SetMixBinHeadroom, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 3936, XREF), - REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3936, PATCH), + REGISTER_OOVPA(CMcpxAPU_SetMixBinHeadroom, 3911, XREF), + REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 3911, XREF), + REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Set3dPosition, 3911, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 3911, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Set3dVelocity, 3936, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 3936, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), - REGISTER_OOVPA(CMcpxAPU_Set3dParameters, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetAllParameters, 3936, XREF), - REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), + REGISTER_OOVPA(CMcpxAPU_Set3dParameters, 3911, XREF), + REGISTER_OOVPA(CDirectSound_SetAllParameters, 3911, XREF), + REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMode, 3911, PATCH), - REGISTER_OOVPA(CMcpxAPU_Set3dDopplerFactor, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 3936, XREF), - REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3936, PATCH), + REGISTER_OOVPA(CMcpxAPU_Set3dDopplerFactor, 3911, XREF), + REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 3911, XREF), + REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CSensaura3d_GetFullHRTFFilterPair, 3911, XREF), REGISTER_OOVPA(CSensaura3d_GetFullHRTFFilterPair, 3936, XREF), REGISTER_OOVPA(DirectSoundUseFullHRTF, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 8b86f6b40..15bced1c5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -193,7 +193,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDistanceFactor, 4039, 17, - XREF_SETDISTANCEFACTORA, + XREF_CDirectSound_SetDistanceFactor, XRefZero) // CDirectSound_SetDistanceFactor+0x20 : mov eax, 0x80004005 @@ -265,7 +265,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDopplerFactor, 4039, 14, - XREF_SETDOPPLERFACTOR, + XREF_CDirectSound_SetDopplerFactor, XRefZero) // CDirectSound_SetDopplerFactor+0x20 : mov eax, 0x80004005 diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 89590c71f..8f9546ffa 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -955,7 +955,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDistanceFactor, 4134, 17, - XREF_SETDISTANCEFACTORA, + XREF_CDirectSound_SetDistanceFactor, XRefZero) // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 @@ -985,7 +985,7 @@ OOVPA_XREF(CDirectSound_SetDistanceFactor, 4134, 17, { 0x4F, 0x74 }, { 0x50, 0x0B }, OOVPA_END; - +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_SetDistanceFactor // ****************************************************************** @@ -995,7 +995,7 @@ OOVPA_XREF(IDirectSound_SetDistanceFactor, 4134, 11, XRefOne) // IDirectSound_SetDistanceFactor+0x1D : call [CDirectSound::SetDistanceFactor] - XREF_ENTRY( 0x1D, XREF_SETDISTANCEFACTORA ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_SetDistanceFactor ), // IDirectSound_SetDistanceFactor+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, @@ -1015,7 +1015,7 @@ OOVPA_XREF(IDirectSound_SetDistanceFactor, 4134, 11, { 0x21, 0xC2 }, { 0x22, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSound::SetRolloffFactor // ****************************************************************** @@ -1087,7 +1087,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDopplerFactor, 4134, 14, - XREF_SETDOPPLERFACTOR, + XREF_CDirectSound_SetDopplerFactor, XRefZero) // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 @@ -1112,7 +1112,7 @@ OOVPA_XREF(CDirectSound_SetDopplerFactor, 4134, 14, { 0x4F, 0x74 }, { 0x50, 0x0B }, OOVPA_END; - +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_SetDopplerFactor // ****************************************************************** @@ -1122,7 +1122,7 @@ OOVPA_XREF(IDirectSound_SetDopplerFactor, 4134, 11, XRefOne) // IDirectSound_SetDopplerFactor+0x1D : call [CDirectSound::SetDopplerFactor] - XREF_ENTRY( 0x1D, XREF_SETDOPPLERFACTOR), + XREF_ENTRY( 0x1D, XREF_CDirectSound_SetDopplerFactor), // IDirectSound_SetDopplerFactor+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, @@ -1142,7 +1142,7 @@ OOVPA_XREF(IDirectSound_SetDopplerFactor, 4134, 11, { 0x21, 0xC2 }, { 0x22, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSound::CommitDeferredSettings // ****************************************************************** @@ -2994,7 +2994,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), - REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), @@ -3032,11 +3032,11 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 40ae592de..4b6e30957 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -155,7 +155,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index ab20fd799..f927714f5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -37,7 +37,7 @@ // ****************************************************************** OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 4627, 15, - XREF_DSSETMIXBINHEADROOMA, + XREF_CDirectSound_SetMixBinHeadroom, XRefZero) // CDirectSound_SetMixBinHeadroom+0x21 : mov eax, 0x80004005 @@ -73,7 +73,7 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 4627, 12, XRefOne) // IDirectSound_SetMixBinHeadroom+0x19 : call [CDirectSound::SetMixBinHeadroom] - XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ), + XREF_ENTRY( 0x19, XREF_CDirectSound_SetMixBinHeadroom ), // IDirectSound_SetMixBinHeadroom+0x04 : push [esp+0x0C] { 0x04, 0xFF }, @@ -132,7 +132,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetAllParametersA, 4627, 10, - XREF_DSSETALLPARAMETERSA, + XREF_CDirectSound_SetAllParameters, XRefZero) { 0x16, 0x68 }, @@ -154,7 +154,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetAllParametersA, 4721, 10, - XREF_DSSETALLPARAMETERSA, + XREF_CDirectSound_SetAllParameters, XRefZero) { 0x16, 0x68 }, @@ -176,7 +176,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetAllParameters, 4831, 8, - XREF_DSSETALLPARAMETERSA, + XREF_CDirectSound_SetAllParameters, XRefZero) { 0x1B, 0xFF }, @@ -383,7 +383,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDistanceFactor, 4627, 17, - XREF_SETDISTANCEFACTORA, + XREF_CDirectSound_SetDistanceFactor, XRefZero) // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 @@ -419,7 +419,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDopplerFactor, 4627, 14, - XREF_SETDOPPLERFACTOR, + XREF_CDirectSound_SetDopplerFactor, XRefZero) // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 @@ -623,7 +623,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetAllParametersA, 4831, 10, - XREF_DSSETALLPARAMETERSA, + XREF_CDirectSound_SetAllParameters, XRefZero) { 0x16, 0x68 }, @@ -1496,7 +1496,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4721, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4831, XREF), REGISTER_OOVPA(CDirectSound_SetAllParameters, 4831, XREF), - REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), @@ -1554,12 +1554,12 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index e9c877e69..ecac64273 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -72,7 +72,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4721, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4831, XREF), REGISTER_OOVPA(CDirectSound_SetAllParameters, 4831, XREF), - REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), @@ -130,12 +130,12 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 1cb8f0374..700498597 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -425,15 +425,14 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), - REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), + REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), + REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMinDistance, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 3f1b78f27..c6748c874 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -177,7 +177,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDistanceFactor, 5344, 17, - XREF_SETDISTANCEFACTORA, + XREF_CDirectSound_SetDistanceFactor, XRefZero) { 0x0C, 0x00 }, @@ -236,7 +236,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDopplerFactor, 5344, 9, - XREF_SETDOPPLERFACTOR, + XREF_CDirectSound_SetDopplerFactor, XRefZero) { 0x0C, 0x00 }, @@ -940,12 +940,12 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5344, XREF), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5344, XREF), - REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5344, XREF), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 990a35141..dfb75094a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -81,7 +81,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDistanceFactor, 5558, 17, - XREF_SETDISTANCEFACTORA, + XREF_CDirectSound_SetDistanceFactor, XRefZero) // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 @@ -153,7 +153,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDopplerFactor, 5558, 14, - XREF_SETDOPPLERFACTOR, + XREF_CDirectSound_SetDopplerFactor, XRefZero) // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 @@ -187,7 +187,7 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 5558, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x19, XREF_DSSETMIXBINHEADROOMA ), + XREF_ENTRY( 0x19, XREF_CDirectSound_SetMixBinHeadroom ), { 0x02, 0x24 }, { 0x06, 0x24 }, @@ -1279,7 +1279,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 5558, 8, - XREF_DSSETMIXBINHEADROOMA, + XREF_CDirectSound_SetMixBinHeadroom, XRefZero) { 0x0C, 0x00 }, @@ -1513,7 +1513,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetAllParameters, 5558, 8, - XREF_DSSETALLPARAMETERSA, + XREF_CDirectSound_SetAllParameters, XRefZero) { 0x0C, 0x00 }, @@ -1645,13 +1645,13 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 5558, XREF), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), - REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), @@ -1776,7 +1776,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 6527b581d..9234a77f3 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -190,7 +190,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetDopplerFactor, 5788, 9, - XREF_SETDOPPLERFACTOR, + XREF_CDirectSound_SetDopplerFactor, XRefZero) { 0x0C, 0x00 }, @@ -644,11 +644,11 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), - REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), @@ -710,7 +710,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 1f9a3d9a1..76c3ee278 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -167,7 +167,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5849, XREF), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), - REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), @@ -212,9 +212,9 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetAllParameters, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 4abe84c94..411aff28b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -60,13 +60,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Commit3dSettings, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_ServiceDeferredCommandsLow, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_Set3dDistanceFactor, XREF, 3936), - REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3936), - REGISTER_OOVPAS(CMcpxAPU_Set3dParameters, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Set3dDistanceFactor, XREF, 3911), + REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3911), + REGISTER_OOVPAS(CMcpxAPU_Set3dParameters, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Set3dPosition, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Set3dRolloffFactor, XREF, 3936), REGISTER_OOVPAS(CMcpxAPU_Set3dVelocity, XREF, 3936), - REGISTER_OOVPAS(CMcpxAPU_SetMixBinHeadroom, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_SetMixBinHeadroom, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_SynchPlayback, XREF, 5233), REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721, 4831, 5558), @@ -213,13 +213,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_GetEffectData, XREF, 3911), REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 3911, 4627), - REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3936, 4831, 5558), + REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3911, 4831, 5558), REGISTER_OOVPAS(CDirectSound_SetAllParametersA, XREF, 4627, 4721, 4831), - REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 3936, 4039, 4134, 4627, 5344, 5558), - REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3936, 4039, 4134, 4627, 5344, 5558, 5788), + REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 3911, 4134), REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3936, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3936, 4627, 5558), + REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3911, 4627, 5558), REGISTER_OOVPAS(CDirectSound_SetOrientation, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4134, 4627, 5344, 5558), // TODO: Find a cure for laziness... (from 4134's comment) REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3936, 4039, 4134, 5344, 5558, 5788, 5849), @@ -287,13 +287,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558), REGISTER_OOVPAS(IDirectSound_GetSpeakerConfig, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3936), + REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3911), //REGISTER_OOVPAS(IDirectSound_SetAllParameters, XREF, 3911), //Cannot be used since this OOVPA does produce false detection. - REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3936, 4134), - REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3911 /*, 4134*/), + REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3911 /*, 4134*/), REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 3911 /*, 4134, 5344*/), REGISTER_OOVPAS(IDirectSound_SetI3DL2Listener, PATCH, 3936, 4134), - REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3936, 4627, 5558), + REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3911 /*, 4627, 5558*/), REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetPosition, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3936, 4134/*, 5344*/), From f9632a337c14ee0caad61bd2267671463be70b22 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Tue, 19 Sep 2017 10:17:07 -0500 Subject: [PATCH 074/146] Finalize DSound 3911 OOVPA database - 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 --- src/CxbxKrnl/HLEDataBase.h | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 291 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 52 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 17 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 19 +- 14 files changed, 368 insertions(+), 63 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 43a60070e..a86dffb97 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -180,8 +180,8 @@ enum XRefDataBaseOffset XREF_RECORDSTATEBLOCK, XREF_CDirectSound_SetDistanceFactor, XREF_CMcpxAPU_Set3dDistanceFactor, - XREF_SETROLLOFFFACTORA, - XREF_SETROLLOFFFACTORB, + XREF_CDirectSound_SetRolloffFactor, + XREF_CMcpxAPU_Set3dRolloffFactor, XREF_CDirectSound_SetDopplerFactor, XREF_SETBUFFERDATA, XREF_CMcpxBuffer_SetCurrentPosition, @@ -198,7 +198,7 @@ enum XRefDataBaseOffset XREF_CDirectSound_CreateSoundBuffer, XREF_CDirectSound_CreateSoundStream, XREF_DSSTREAMPAUSE, - XREF_DSSETI3DL2LISTENER, + XREF_CDirectSound_SetI3DL2Listener, XREF_CDirectSound_SetMixBinHeadroom, XREF_CMcpxAPU_SetMixBinHeadroom, XREF_DSSETMIXBINSA, @@ -349,6 +349,8 @@ enum XRefDataBaseOffset XREF_CDirectSound_GetSpeakerConfig, XREF_CDirectSound_DownloadEffectsImage, XREF_CDirectSound_CommitEffectData, + XREF_CDirectSound_GetTime, + XREF_CMcpxAPU_SetI3DL2Listener, // XACT // +s XREF_XACT_CEngine_RegisterWaveBank, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 8681c7b6a..2fba37ae7 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -4677,3 +4677,294 @@ OOVPA_XREF(IDirectSound_SetDopplerFactor, 3911, 11, { 0x21, 0xC2 }, { 0x22, 0x0C }, OOVPA_END; + +// ****************************************************************** +// * CMcpxAPU_Set3dVelocity +// ****************************************************************** +OOVPA_XREF(CMcpxAPU_Set3dVelocity, 3911, 12, + + XREF_DSSETVELOCITYB, + XRefZero) + + // CMcpxAPU_Set3dVelocity+0x0C : movsd; movsd; movsd + { 0x0C, 0xA5 }, + { 0x0D, 0xA5 }, + { 0x0E, 0xA5 }, + + // CMcpxAPU_Set3dVelocity+0x0F : or dword ptr [ecx+0x01B4], 0x40 + { 0x0F, 0x83 }, + { 0x10, 0x89 }, + { 0x11, 0xB4 }, + { 0x12, 0x01 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x40 }, + + // CMcpxAPU_Set3dVelocity+0x28 : retn 0x08 + { 0x28, 0xC2 }, + { 0x29, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_SetVelocity +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetVelocity, 3911, 10, + + XREF_DSSETVELOCITYA, + XRefOne) + + // CDirectSound_SetVelocity+0x35 : call [CMcpxAPU_Set3dVelocity] + XREF_ENTRY( 0x35, XREF_DSSETVELOCITYB ), + + // CDirectSound_SetVelocity+0x06 : push esi; push edi + { 0x06, 0x56 }, + { 0x07, 0x57 }, + + // CDirectSound_SetVelocity+0x24 : not eax; and eax, 1 + { 0x24, 0xF7 }, + { 0x25, 0xD0 }, + { 0x26, 0x83 }, + { 0x27, 0xE0 }, + { 0x28, 0x01 }, + + // CDirectSound_SetVelocity+0x4F : retn 0x14 + { 0x4F, 0xC2 }, + { 0x50, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetVelocity +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_XREF(IDirectSound_SetVelocity, 3911, 11, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSound_SetVelocity+0x2D : call [CDirectSound_SetVelocity] + XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ), + + // IDirectSound_SetVelocity+0x06 : fld [ebp+0x14] + { 0x06, 0xD9 }, + { 0x07, 0x45 }, + { 0x08, 0x14 }, + + // IDirectSound_SetVelocity+0x0C : sub esp, 0x0C + { 0x0C, 0x83 }, + { 0x0D, 0xEC }, + { 0x0E, 0x0C }, + + // IDirectSound_SetVelocity+0x1B : neg ecx + { 0x1B, 0xF7 }, + { 0x1C, 0xD9 }, + + // IDirectSound_SetVelocity+0x32 : retn 0x14 + { 0x32, 0xC2 }, + { 0x33, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_GetTime +// ****************************************************************** +//Generic OOVPA as of 3911 and newer +OOVPA_XREF(CDirectSound_GetTime, 3911, 8, + + XREF_CDirectSound_GetTime, + XRefZero) + + // CDirectSound_GetTime+0x00 : push dword ptr [esp+8] + { 0x00, 0xFF }, + { 0x02, 0x24 }, + + // CDirectSound_GetTime+0x04 : call dword ptr [KeQuerySystemTime] + { 0x04, 0xFF }, + { 0x05, 0x15 }, + + // CDirectSound_GetTime+0x0A : xor eax,eax + { 0x0A, 0x33 }, + { 0x0B, 0xC0 }, + + // CDirectSound_GetTime+0x0C : retn 0x08 + { 0x0C, 0xC2 }, + { 0x0D, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_GetTime +// ****************************************************************** +//Generic OOVPA as of 3911 and newer +OOVPA_XREF(IDirectSound_GetTime, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSound_GetTime+0x10 : call [CDirectSound_GetTime] + XREF_ENTRY( 0x15, XREF_CDirectSound_GetTime ), + + // IDirectSound_GetTime+0x0A : and eax, 0xFFFFFFF8 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xF8 }, + + // IDirectSound_GetTime+0x0D : neg ecx + { 0x0D, 0xF7 }, + { 0x0E, 0xD9 }, + + // IDirectSound_GetTime+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxAPU_Set3dRolloffFactor +// ****************************************************************** +OOVPA_XREF(CMcpxAPU_Set3dRolloffFactor, 3911, 13, + + XREF_CMcpxAPU_Set3dRolloffFactor, + XRefZero) + + // CMcpxAPU_Set3dRolloffFactor+0x04 : or dword ptr [ecx+0x01B4], 0x04 + { 0x04, 0x83 }, + { 0x05, 0x89 }, + { 0x06, 0xB4 }, + { 0x07, 0x01 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x04 }, + + // CMcpxAPU_Set3dRolloffFactor+0x0B : cmp [esp+0x08], 0 + { 0x0B, 0x83 }, + { 0x0C, 0x7C }, + { 0x0D, 0x24 }, + { 0x0E, 0x08 }, + + // CMcpxAPU_Set3dRolloffFactor+0x12 : mov [ecx+0x017C], eax + { 0x12, 0x7C }, + { 0x13, 0x01 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_SetRolloffFactor +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetRolloffFactor, 3911, 12, + + XREF_CDirectSound_SetRolloffFactor, + XRefOne) + + // CDirectSound_SetRolloffFactor+0x23 : call [CMcpxAPU_Set3dRolloffFactor] + XREF_ENTRY( 0x23, XREF_CMcpxAPU_Set3dRolloffFactor ), + + // CDirectSound_SetRolloffFactor+0x00 : push esi; push edi + { 0x00, 0x56 }, + { 0x01, 0x57 }, + + // CDirectSound_SetRolloffFactor+0x07 : fld [esp+0x10] + { 0x07, 0xD9 }, + { 0x08, 0x44 }, + { 0x09, 0x24 }, + { 0x0A, 0x10 }, + + // CDirectSound_SetRolloffFactor+0x11 : not eax; and eax, 1 + { 0x11, 0xF7 }, + { 0x12, 0xD0 }, + { 0x13, 0x83 }, + { 0x14, 0xE0 }, + { 0x15, 0x01 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetRolloffFactor +// ****************************************************************** +OOVPA_XREF(IDirectSound_SetRolloffFactor, 3911, 11, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSound_SetRolloffFactor+0x1D : call [CDirectSound_SetRolloffFactor] + XREF_ENTRY( 0x1D, XREF_CDirectSound_SetRolloffFactor ), + + // IDirectSound_SetRolloffFactor+0x04 : fld [esp+0x0C] + { 0x04, 0xD9 }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSound_SetRolloffFactor+0x0C : push ecx + { 0x0C, 0x51 }, + + // IDirectSound_SetRolloffFactor+0x12 : add eax, 0xFFFFFFF8 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xF8 }, + + // IDirectSound_SetRolloffFactor+0x21 : retn 0x0C + { 0x21, 0xC2 }, + { 0x22, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxAPU::SetI3DL2Listener +// ****************************************************************** +OOVPA_XREF(CMcpxAPU_SetI3DL2Listener, 3911, 13, + + XREF_CMcpxAPU_SetI3DL2Listener, + XRefZero) + + // CMcpxAPU_SetI3DL2Listener+0x08 : push 0x0C; pop ecx + { 0x08, 0x6A }, + { 0x09, 0x0C }, + { 0x0A, 0x59 }, + + // CMcpxAPU_SetI3DL2Listener+0x13 : or word ptr [ecx+0x01B4], 0x0180 + { 0x13, 0x66 }, + { 0x14, 0x81 }, + { 0x15, 0x88 }, + { 0x16, 0xB4 }, + { 0x17, 0x01 }, + { 0x18, 0x00 }, + { 0x1A, 0x80 }, + { 0x1B, 0x01 }, + + // CMcpxAPU_SetI3DL2Listener+0x30 : retn 0x08 + { 0x30, 0xC2 }, + { 0x31, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::SetI3DL2Listener +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetI3DL2Listener, 3911, 8, + + XREF_CDirectSound_SetI3DL2Listener, + XRefOne) + + XREF_ENTRY( 0x2F, XREF_CMcpxAPU_SetI3DL2Listener ), + + { 0x08, 0xF8 }, + { 0x12, 0x0C }, + { 0x1C, 0x18 }, + { 0x26, 0x51 }, + { 0x33, 0x8B }, + { 0x3E, 0xFF }, + { 0x44, 0x5F }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSound_SetI3DL2Listener +// ****************************************************************** +OOVPA_XREF(IDirectSound_SetI3DL2Listener, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x19, XREF_CDirectSound_SetI3DL2Listener ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index aae7928e4..a2a00f009 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -2660,12 +2660,13 @@ OOVPA_XREF(IDirectSound_SetDistanceFactor, 3936, 11, { 0x22, 0x0C }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU_Set3dRolloffFactor // ****************************************************************** OOVPA_XREF(CMcpxAPU_Set3dRolloffFactor, 3936, 13, - XREF_SETROLLOFFFACTORB, + XREF_CMcpxAPU_Set3dRolloffFactor, XRefZero) // CMcpxAPU_Set3dRolloffFactor+0x04 : or dword ptr [ecx+0x01B4], 0x60 @@ -2687,17 +2688,18 @@ OOVPA_XREF(CMcpxAPU_Set3dRolloffFactor, 3936, 13, { 0x12, 0x7C }, { 0x13, 0x01 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound_SetRolloffFactor // ****************************************************************** OOVPA_XREF(CDirectSound_SetRolloffFactor, 3936, 12, - XREF_SETROLLOFFFACTORA, + XREF_CDirectSound_SetRolloffFactor, XRefOne) // CDirectSound_SetRolloffFactor+0x23 : call [CMcpxAPU_Set3dRolloffFactor] - XREF_ENTRY( 0x23, XREF_SETROLLOFFFACTORB ), + XREF_ENTRY( 0x23, XREF_CMcpxAPU_Set3dRolloffFactor ), // CDirectSound_SetRolloffFactor+0x00 : push esi; push edi { 0x00, 0x56 }, @@ -2716,7 +2718,8 @@ OOVPA_XREF(CDirectSound_SetRolloffFactor, 3936, 12, { 0x14, 0xE0 }, { 0x15, 0x01 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_SetRolloffFactor // ****************************************************************** @@ -2728,7 +2731,7 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 3936, 11, // TODO: Tentative (may not be SetRolloffFactor) // IDirectSound_SetRolloffFactor+0x1D : call [CDirectSound_SetRolloffFactor] - XREF_ENTRY( 0x1D, XREF_SETROLLOFFFACTORA ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_SetRolloffFactor ), // IDirectSound_SetRolloffFactor+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, @@ -2748,6 +2751,7 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 3936, 11, { 0x21, 0xC2 }, { 0x22, 0x0C }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU_SetMixBinHeadroom @@ -2922,6 +2926,7 @@ OOVPA_XREF(IDirectSound_SetPosition, 3936, 11, { 0x33, 0x14 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMcpxAPU_Set3dVelocity // ****************************************************************** @@ -2948,7 +2953,8 @@ OOVPA_XREF(CMcpxAPU_Set3dVelocity, 3936, 12, { 0x28, 0xC2 }, { 0x29, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound_SetVelocity // ****************************************************************** @@ -2975,7 +2981,8 @@ OOVPA_XREF(CDirectSound_SetVelocity, 3936, 10, { 0x4F, 0xC2 }, { 0x50, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_SetVelocity // ****************************************************************** @@ -3005,8 +3012,8 @@ OOVPA_XREF(IDirectSound_SetVelocity, 3936, 11, { 0x32, 0xC2 }, { 0x33, 0x14 }, OOVPA_END; - -#if 0 // Was ?SetI3DL2Listener@CMcpxAPU@@QAEJABU_DSI3DL2LISTENER@@H@Z. +#endif +#if 0 // Moved to 3911, Was ?SetI3DL2Listener@CMcpxAPU@@QAEJABU_DSI3DL2LISTENER@@H@Z. // ****************************************************************** // * CDirectSound::SetAllParametersB // ****************************************************************** @@ -3754,12 +3761,13 @@ OOVPA_XREF(IDirectSound_SetAllParameters, 3936, 9, { 0x1E, 0x0C }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound::SetI3DL2Listener // ****************************************************************** OOVPA_XREF(CDirectSound_SetI3DL2Listener, 3936, 7, - XREF_DSSETI3DL2LISTENER, + XREF_CDirectSound_SetI3DL2Listener, XRefZero) { 0x08, 0xF8 }, @@ -3770,7 +3778,8 @@ OOVPA_XREF(CDirectSound_SetI3DL2Listener, 3936, 7, { 0x3E, 0xFF }, { 0x44, 0x5F }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_SetI3DL2Listener // ****************************************************************** @@ -3779,7 +3788,7 @@ OOVPA_XREF(IDirectSound_SetI3DL2Listener, 3936, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x19, XREF_DSSETI3DL2LISTENER ), + XREF_ENTRY( 0x19, XREF_CDirectSound_SetI3DL2Listener ), { 0x02, 0x24 }, { 0x06, 0x24 }, @@ -3790,6 +3799,7 @@ OOVPA_XREF(IDirectSound_SetI3DL2Listener, 3936, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CDirectSound::EnableHeadphones @@ -4071,18 +4081,18 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxAPU_Set3dDistanceFactor, 3911, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 3911, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), - REGISTER_OOVPA(CMcpxAPU_Set3dRolloffFactor, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 3936, XREF), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3936, PATCH), + REGISTER_OOVPA(CMcpxAPU_Set3dRolloffFactor, 3911, XREF), + REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 3911, XREF), + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_SetMixBinHeadroom, 3911, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 3911, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Set3dPosition, 3911, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 3911, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), - REGISTER_OOVPA(CMcpxAPU_Set3dVelocity, 3936, XREF), - REGISTER_OOVPA(CDirectSound_SetVelocity, 3936, XREF), - REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(CMcpxAPU_Set3dVelocity, 3911, XREF), + REGISTER_OOVPA(CDirectSound_SetVelocity, 3911, XREF), + REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Set3dParameters, 3911, XREF), REGISTER_OOVPA(CDirectSound_SetAllParameters, 3911, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), @@ -4115,8 +4125,8 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBinVolumes_12, 3911, PATCH), - REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 3936, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 3911, XREF), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 3911, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBinVolumes_12, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 15bced1c5..4367556fe 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -229,7 +229,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetRolloffFactor, 4039, 17, - XREF_SETROLLOFFFACTORA, + XREF_CDirectSound_SetRolloffFactor, XRefZero) // CDirectSound_SetRolloffFactor+0x20 : mov eax, 0x80004005 diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 8f9546ffa..0fe93941e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -155,7 +155,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetI3DL2Listener, 4134, 11, - XREF_DSSETI3DL2LISTENER, + XREF_CDirectSound_SetI3DL2Listener, XRefZero) // CDirectSound_SetI3DL2Listener+0x3A : mov edi, 0x88780032 @@ -175,7 +175,7 @@ OOVPA_XREF(CDirectSound_SetI3DL2Listener, 4134, 11, { 0xA9, 0x41 }, { 0xAA, 0x24 }, OOVPA_END; - +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_SetI3DL2Listener // ****************************************************************** @@ -185,7 +185,7 @@ OOVPA_XREF(IDirectSound_SetI3DL2Listener, 4134, 12, XRefOne) // IDirectSound_SetI3DL2Listener+0x19 : call [CDirectSound::SetI3DL2Listener] - XREF_ENTRY(0x19, XREF_DSSETI3DL2LISTENER), + XREF_ENTRY(0x19, XREF_CDirectSound_SetI3DL2Listener), // IDirectSound_SetI3DL2Listener+0x04 : push [esp+0x0C] { 0x04, 0xFF }, @@ -206,8 +206,7 @@ OOVPA_XREF(IDirectSound_SetI3DL2Listener, 4134, 12, { 0x15, 0x23 }, { 0x16, 0xC8 }, OOVPA_END; - - +#endif // ****************************************************************** // * CDirectSoundVoice_SetHeadroom // ****************************************************************** @@ -1021,7 +1020,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetRolloffFactor, 4134, 17, - XREF_SETROLLOFFFACTORA, + XREF_CDirectSound_SetRolloffFactor, XRefZero) // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 @@ -1061,7 +1060,7 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 4134, 11, XRefOne) // IDirectSound_SetRolloffFactor+0x1D : call [CDirectSound::SetRolloffFactor] - XREF_ENTRY( 0x1D, XREF_SETROLLOFFFACTORA ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_SetRolloffFactor ), // IDirectSound_SetRolloffFactor+0x04 : fld [esp+0x0C] { 0x04, 0xD9 }, @@ -2989,11 +2988,11 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 4b6e30957..8d4353591 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -147,7 +147,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMinDistance, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMinDistance, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index f927714f5..1424d0557 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1485,13 +1485,13 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4721, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4831, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index ecac64273..f8c1e7dfd 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -61,13 +61,13 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4721, XREF), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4831, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 700498597..2961abc1b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -377,9 +377,9 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), @@ -473,8 +473,8 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 3936, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), + REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index c6748c874..054caa10c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -102,7 +102,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetI3DL2Listener, 5344, 8, - XREF_DSSETI3DL2LISTENER, + XREF_CDirectSound_SetI3DL2Listener, XRefZero) { 0x1E, 0x15 }, @@ -330,7 +330,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetRolloffFactor, 5344, 17, - XREF_SETROLLOFFFACTORA, + XREF_CDirectSound_SetRolloffFactor, XRefZero) // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, @@ -369,7 +369,7 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 5344, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x1D, XREF_SETROLLOFFFACTORA ), + XREF_ENTRY( 0x1D, XREF_CDirectSound_SetRolloffFactor ), { 0x03, 0x0C }, { 0x08, 0x8B }, @@ -893,7 +893,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 5344, XREF), - REGISTER_OOVPA(IDirectSound_SetVelocity, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), @@ -979,7 +979,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5344, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffFactor, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index dfb75094a..8534e1ba2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -117,7 +117,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetRolloffFactor, 5558, 17, - XREF_SETROLLOFFFACTORA, + XREF_CDirectSound_SetRolloffFactor, XRefZero) // CDirectSound_SetRolloffFactor+0x21 : mov eax, 0x80004005 @@ -204,7 +204,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetI3DL2Listener, 5558, 8, - XREF_DSSETI3DL2LISTENER, + XREF_CDirectSound_SetI3DL2Listener, XRefZero) { 0x1D, 0xFF }, @@ -1684,7 +1684,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 9234a77f3..b2c045715 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -171,7 +171,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetRolloffFactor, 5788, 9, - XREF_SETROLLOFFFACTORA, + XREF_CDirectSound_SetRolloffFactor, XRefZero) { 0x0C, 0x00 }, @@ -561,7 +561,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 76c3ee278..b8e7db1e1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -39,7 +39,7 @@ // ****************************************************************** OOVPA_XREF(CDirectSound_SetRolloffFactor, 5849, 20, - XREF_SETROLLOFFFACTORA, + XREF_CDirectSound_SetRolloffFactor, XRefZero) { 0x00, 0x56 }, @@ -103,7 +103,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3936, PATCH), + REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 411aff28b..df358a498 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -64,8 +64,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxAPU_Set3dDopplerFactor, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Set3dParameters, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Set3dPosition, XREF, 3911), - REGISTER_OOVPAS(CMcpxAPU_Set3dRolloffFactor, XREF, 3936), - REGISTER_OOVPAS(CMcpxAPU_Set3dVelocity, XREF, 3936), + REGISTER_OOVPAS(CMcpxAPU_Set3dRolloffFactor, XREF, 3911), + REGISTER_OOVPAS(CMcpxAPU_Set3dVelocity, XREF, 3911), + REGISTER_OOVPAS(CMcpxAPU_SetI3DL2Listener, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_SetMixBinHeadroom, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_SynchPlayback, XREF, 5233), REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134), @@ -213,17 +214,18 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_GetEffectData, XREF, 3911), REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 3911, 4627), + REGISTER_OOVPAS(CDirectSound_GetTime, XREF, 3911), REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3911, 4831, 5558), REGISTER_OOVPAS(CDirectSound_SetAllParametersA, XREF, 4627, 4721, 4831), REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 3911, 4134), - REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3936, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3911, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3911, 4627, 5558), REGISTER_OOVPAS(CDirectSound_SetOrientation, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4134, 4627, 5344, 5558), // TODO: Find a cure for laziness... (from 4134's comment) - REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3936, 4039, 4134, 5344, 5558, 5788, 5849), - REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3936, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3911, 4039, 4134, 5344, 5558, 5788, 5849), + REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3911, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3911), @@ -286,18 +288,19 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_GetEffectData, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558), REGISTER_OOVPAS(IDirectSound_GetSpeakerConfig, PATCH, 3911), + REGISTER_OOVPAS(IDirectSound_GetTime, DISABLED, 3911), REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3911), //REGISTER_OOVPAS(IDirectSound_SetAllParameters, XREF, 3911), //Cannot be used since this OOVPA does produce false detection. REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3911 /*, 4134*/), REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3911 /*, 4134*/), REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 3911 /*, 4134, 5344*/), - REGISTER_OOVPAS(IDirectSound_SetI3DL2Listener, PATCH, 3936, 4134), + REGISTER_OOVPAS(IDirectSound_SetI3DL2Listener, PATCH, 3911 /*, 4134*/), REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3911 /*, 4627, 5558*/), REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetPosition, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3936, 4134/*, 5344*/), - REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3936, 5558), + REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3911, 4134/*, 5344*/), + REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3911 /*, 5558*/), REGISTER_OOVPAS(IDirectSound_SynchPlayback, PATCH, 5233), REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 3911, 4039, 4242), From e4ec165dc00152ba1afea26670f2ffd22759734c Mon Sep 17 00:00:00 2001 From: jarupxx Date: Wed, 20 Sep 2017 20:52:03 +0900 Subject: [PATCH 075/146] Fixed REGISTER_OOVPA IXACTSoundBank_Play on HLEDB_v1 --- src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl | 2 +- src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl | 2 +- src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl | 14 ++++++++++++++ 7 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl index 5e71cac16..c32c613e2 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.4928.inl @@ -405,7 +405,7 @@ OOVPATable XactEng_4928[] = { REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(XACT_CEngine_RegisterWaveBank, 4627, XREF), REGISTER_OOVPA(IXACTEngine_RegisterWaveBank, 4627, PATCH), - REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH), // ****************************************************************** }; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl index 494de10da..5419ccce7 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5233.inl @@ -215,7 +215,7 @@ OOVPATable XactEng_5233[] = { REGISTER_OOVPA(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, PATCH), REGISTER_OOVPA(XACT_CEngine_DownloadEffectsImage, 4627, XREF), REGISTER_OOVPA(IXACTEngine_DownloadEffectsImage, 4627, PATCH), - REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH), // ****************************************************************** }; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl index 74f5c1877..4638bfcdc 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5344.inl @@ -158,7 +158,7 @@ OOVPATable XactEng_5344[] = { // Provisional registration functions in XDK 5344 // TODO: Need test cases // ****************************************************************** - REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH), // ****************************************************************** }; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl index 65bf65df9..cac9248e0 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5558.inl @@ -88,7 +88,7 @@ OOVPATable XactEng_5558[] = { // Provisional registration functions in XDK 5558 // TODO: Need test cases // ****************************************************************** - REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH), // ****************************************************************** }; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.inl index 5d2c58b84..d52a3b976 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5788.inl @@ -64,7 +64,7 @@ OOVPATable XactEng_5788[] = { // Provisional registration functions in XDK 5788 // TODO: Need test cases // ****************************************************************** - REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH), // ****************************************************************** }; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl index 974f1c9b1..df4088312 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.1.0.5849.inl @@ -90,7 +90,7 @@ OOVPATable XactEng_5849[] = { // Provisional registration functions in XDK 5849 // TODO: Need test cases // ****************************************************************** - REGISTER_OOVPAS(IXACTSoundBank_Play, PATCH, 4627), + REGISTER_OOVPA(IXACTSoundBank_Play, 4627, PATCH), // ****************************************************************** }; diff --git a/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl index 1d1e1874c..c489839f4 100644 --- a/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XactEng.OOVPA.inl @@ -31,6 +31,20 @@ // * All rights reserved // * // ****************************************************************** + +// TODO: Known XactEng OOVPA issue list +// * 4627 and 5028 are not verified each OOVPA. (Last known revision found is 4928. revision 5028 is obscure) +// * Following OOVPA revision are not verified +// * XACT_CEngine_CreateSoundSource (5455) +// * XACT_CEngine_DownloadEffectsImage (5455) +// * XACT_CSoundBank_GetSoundCueIndexFromFriendlyName (5455) +// * XACT_CSoundBank_Play (5455) +// * IXACTEngine_CreateSoundSource (5455) +// * IXACTEngine_DownloadEffectsImage (5455) +// * IXACTEngine_RegisterWaveBank (5455) +// * IXACTSoundBank_GetSoundCueIndexFromFriendlyName (5455) +// * IXACTSoundBank_Play (4928 to 5849) + #ifndef XACTENG_OOVPA_INL #define XACTENG_OOVPA_INL From 5e58fc82cb22baca7f69fc34e28ec942cef06c15 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 23 Sep 2017 03:49:19 +0900 Subject: [PATCH 076/146] Report Known Xapi OOVPA issue list (#744) * Renamed all XAPI XREF names * Reregisterd obsolete OOVPA (3911-5849) --- build/win32/Cxbx.vcxproj | 1 + build/win32/Cxbx.vcxproj.filters | 3 + src/CxbxKrnl/HLEDataBase.h | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl | 153 ++++++++++++++++++++- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4039.inl | 58 ++++++++ src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl | 7 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl | 14 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl | 44 +++++- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl | 8 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl | 4 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl | 14 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl | 8 +- src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl | 8 +- src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl | 73 +++++++--- 18 files changed, 350 insertions(+), 57 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/Xapi.1.0.4039.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index 495e0a22b..405ecb0a1 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -359,6 +359,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index c662a90bc..4b63c8002 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -725,6 +725,9 @@ HLEDatabase\Xapi + + HLEDatabase\Xapi + HLEDatabase\Xapi diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index a86dffb97..fe8cd847e 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -175,7 +175,7 @@ enum XRefDataBaseOffset XREF_D3D_KickOff, XREF_D3DPalette_Lock2, XREF_XNINIT, - XREF_FCLOSEDEVICE, + XREF_XID_fCloseDevice, XREF_CLEARSTATEBLOCKFLAGS, XREF_RECORDSTATEBLOCK, XREF_CDirectSound_SetDistanceFactor, diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl index ef5f4e7f4..294caccdc 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl @@ -111,6 +111,36 @@ OOVPA_NO_XREF(CreateMutex, 3911, 13) { 0x49, 0x10 }, OOVPA_END; +// ****************************************************************** +// * CreateThread +// ****************************************************************** +OOVPA_NO_XREF(CreateThread, 3911, 21) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x8B }, + { 0x04, 0x45 }, + { 0x05, 0x0C }, + { 0x06, 0x85 }, + { 0x07, 0xC0 }, + { 0x08, 0x75 }, + { 0x09, 0x05 }, + { 0x0A, 0xA1 }, + { 0x0B, 0x30 }, + { 0x0C, 0x01 }, + { 0x0D, 0x01 }, + { 0x0E, 0x00 }, + { 0x0F, 0x8B }, + { 0x10, 0x4D }, + { 0x11, 0x18 }, + { 0x12, 0x68 }, + + { 0x32, 0x50 }, + { 0x33, 0x6A }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * CreateThread // ****************************************************************** @@ -130,6 +160,7 @@ OOVPA_NO_XREF(CreateThread, 3911, 8) { 0x51, 0xC2 }, { 0x52, 0x18 }, OOVPA_END; +#endif // ****************************************************************** // * SetThreadPriority @@ -301,7 +332,7 @@ OOVPA_NO_XREF(GetTimeZoneInformation, 3911, 7) { 0xF7, 0x99 }, OOVPA_END; -/* not necessary? +// not necessary? // ****************************************************************** // * XCalculateSignatureBegin // ****************************************************************** @@ -325,7 +356,6 @@ OOVPA_NO_XREF(XCalculateSignatureBegin, 3911, 10) { 0x3B, 0xC2 }, { 0x3C, 0x04 }, OOVPA_END; -*/ // ****************************************************************** // * XGetDevices @@ -411,7 +441,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XID_fCloseDevice, 3911, 10, - XREF_FCLOSEDEVICE, + XREF_XID_fCloseDevice, XRefZero) // XID_fCloseDevice+0x19 : jz +0x5C @@ -442,7 +472,7 @@ OOVPA_XREF(XInputClose, 3911, 8, XRefOne) // XInputClose+0x05 : call [fCloseDevice] - XREF_ENTRY( 0x05, XREF_FCLOSEDEVICE ), + XREF_ENTRY( 0x05, XREF_XID_fCloseDevice ), // XInputClose+0x00 : mov ecx, [esp+0x04] { 0x00, 0x8B }, @@ -903,6 +933,25 @@ OOVPA_NO_XREF(CloseHandle, 3911, 8) { 0x1A, 0xC0 }, OOVPA_END; +// Generic OOVPA as of 3911 and newer. +// ****************************************************************** +// * ExitThread +// ****************************************************************** +OOVPA_NO_XREF(ExitThread, 3911, 10) + + { 0x00, 0x6A }, + { 0x01, 0x00 }, + { 0x02, 0xE8 }, + { 0x07, 0xFF }, + { 0x08, 0x74 }, + { 0x09, 0x24 }, + { 0x0A, 0x04 }, + { 0x0B, 0xFF }, + { 0x0C, 0x15 }, + { 0x11, 0xCC }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * ExitThread // ****************************************************************** @@ -914,6 +963,7 @@ OOVPA_NO_XREF(ExitThread, 3911, 5) { 0x0A, 0x04 }, { 0x11, 0xCC }, OOVPA_END; +#endif // ****************************************************************** // * XLaunchNewImageA @@ -1231,6 +1281,101 @@ OOVPA_NO_XREF(RaiseException, 3911, 7) { 0x4B, 0xFF }, OOVPA_END; +// Generic OOVPA as of 3911 and newer. +// ****************************************************************** +// * SwitchToThread +// ****************************************************************** +OOVPA_NO_XREF(SwitchToThread, 3911, 15) + + { 0x00, 0xFF }, + { 0x01, 0x15 }, + { 0x06, 0x33 }, + { 0x07, 0xC9 }, + { 0x08, 0x3D }, + { 0x09, 0x24 }, + { 0x0A, 0x00 }, + { 0x0B, 0x00 }, + { 0x0C, 0x40 }, + { 0x0D, 0x0F }, + { 0x0E, 0x95 }, + { 0x0F, 0xC1 }, + { 0x10, 0x8B }, + { 0x11, 0xC1 }, + { 0x12, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * XapiThreadStartup +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(XapiThreadStartup, 3911, 17) + + { 0x00, 0x6A }, + { 0x01, 0x18 }, + { 0x02, 0x68 }, + { 0x07, 0xE8 }, + { 0x0C, 0x83 }, + { 0x0D, 0x65 }, + { 0x0E, 0xFC }, + { 0x0F, 0x00 }, + { 0x10, 0x64 }, + { 0x11, 0xA1 }, + { 0x12, 0x28 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x00 }, + { 0x16, 0x89 }, + { 0x17, 0x45 }, + // { 0x18, 0xE4 }, 3911 0xE4 vs 5558 0xE0 + + { 0x1F, 0x89 }, +OOVPA_END; + +// Generic OOVPA as of 3911 and newer. +// ****************************************************************** +// * MoveFileA +// ****************************************************************** +OOVPA_NO_XREF(MoveFileA, 3911, 12) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x2C }, + { 0x06, 0x56 }, + { 0x07, 0x8B }, + { 0x08, 0x35 }, + + { 0x1F, 0x8D }, + { 0x93, 0xC2 }, + { 0x94, 0x08 }, +OOVPA_END; + +// Generic OOVPA as of 3911 and newer. +// ****************************************************************** +// * XapiFiberStartup +// ****************************************************************** +OOVPA_NO_XREF(XapiFiberStartup, 3911, 14) + + { 0x00, 0x6A }, + { 0x01, 0x08 }, + + { 0x25, 0xFF }, + { 0x26, 0x30 }, + { 0x27, 0xFF }, + { 0x28, 0x55 }, + { 0x29, 0x08 }, + { 0x2A, 0xEB }, + { 0x2B, 0x0C }, + { 0x2C, 0xFF }, + { 0x2D, 0x75 }, + { 0x2E, 0xEC }, + { 0x2F, 0xE8 }, + + { 0x44, 0xCC }, +OOVPA_END; + // ****************************************************************** // * XAPI_3911 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4039.inl new file mode 100644 index 000000000..e0a4080ff --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4039.inl @@ -0,0 +1,58 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->Xapi.1.0.4039.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// Generic OOVPA as of 4039 and newer. +// ****************************************************************** +// * XCalculateSignatureBegin +// ****************************************************************** +OOVPA_NO_XREF(XCalculateSignatureBegin, 4039, 16) + + { 0x00, 0xA1 }, + { 0x01, 0x18 }, + { 0x02, 0x01 }, + { 0x03, 0x01 }, + { 0x04, 0x00 }, + { 0x05, 0xFF }, + { 0x06, 0x70 }, + { 0x07, 0x08 }, + { 0x08, 0xFF }, + { 0x09, 0x74 }, + { 0x0A, 0x24 }, + { 0x0B, 0x08 }, + { 0x0C, 0xE8 }, + + { 0x11, 0xC2 }, + { 0x12, 0x04 }, + { 0x13, 0x00 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl index df8da7410..0457bcd94 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4242.inl @@ -67,7 +67,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XID_fCloseDevice, 4242, 11, - XREF_FCLOSEDEVICE, + XREF_XID_fCloseDevice, XRefZero) // XID_fCloseDevice+0x1B : mov eax, [esi+0x00A3] diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl index 885b41ca2..bd1635382 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl @@ -69,7 +69,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XID_fCloseDevice, 4242, 11, - XREF_FCLOSEDEVICE, + XREF_XID_fCloseDevice, XRefZero) // XID_fCloseDevice+0x1B : mov eax, [esi+0x00A3] @@ -276,6 +276,7 @@ OOVPA_NO_XREF(XapiInitProcess, 4361, 7) { 0x43, 0x0B }, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * XapiThreadStartup // ****************************************************************** @@ -301,7 +302,7 @@ OOVPA_NO_XREF(XapiThreadStartup, 4361, 10) // XapiThreadStartup+0x86 : retn { 0x86, 0xC3 }, OOVPA_END; - +#endif // ****************************************************************** // * XapiSetupPerTitleDriveLetters // ****************************************************************** @@ -401,7 +402,7 @@ OOVPATable XAPI_4361[] = { REGISTER_OOVPA(XInputGetCapabilities, 4242, PATCH), REGISTER_OOVPA(XInputGetState, 4242, PATCH), REGISTER_OOVPA(XInputSetState, 4242, PATCH), - // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), + // REGISTER_OOVPA(XapiThreadStartup, 3911, PATCH), REGISTER_OOVPA(XMountUtilityDrive, 4134, PATCH), // TODO: This needs to be verified on 4361, not just 4242! REGISTER_OOVPA(CreateFiber, 3911, DISABLED), REGISTER_OOVPA(DeleteFiber, 3911, DISABLED), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl index 4b355bda0..30501a9ba 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4432.inl @@ -69,7 +69,7 @@ OOVPATable XAPI_4432[] = { REGISTER_OOVPA(XInputGetState, 4242, PATCH), REGISTER_OOVPA(XInputSetState, 4242, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), - // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), + // REGISTER_OOVPA(XapiThreadStartup, 3911, PATCH), REGISTER_OOVPA(GetExitCodeThread, 3911, PATCH), REGISTER_OOVPA(GetTimeZoneInformation, 3911, DISABLED), REGISTER_OOVPA(SetThreadPriority, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl index b21a84f89..30f911a92 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl @@ -53,7 +53,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XID_fCloseDevice, 4627, 7, - XREF_FCLOSEDEVICE, + XREF_XID_fCloseDevice, XRefZero) { 0x13, 0x1E }, @@ -71,7 +71,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XID_fCloseDevice, 4831, 11, - XREF_FCLOSEDEVICE, + XREF_XID_fCloseDevice, XRefZero) { 0x13, 0x8B }, @@ -274,6 +274,7 @@ OOVPA_NO_XREF(XMountAlternateTitleA, 4928, 7) { 0xDE, 0x45 }, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * MoveFileA // ****************************************************************** @@ -287,7 +288,8 @@ OOVPA_NO_XREF(MoveFileA, 4627, 7) { 0x74, 0xFF }, { 0x83, 0x33 }, OOVPA_END; -#if 0 // No longer used, this was _XInputGetCapabilities@8 +#endif +#if 0 // No longer used, this was _XInputGetCapabilities@8. Moved to 4831 // ****************************************************************** // * XInputGetDeviceDescription // ****************************************************************** @@ -355,7 +357,7 @@ OOVPATable XAPI_4627[] = { REGISTER_OOVPA(XInputSetState, 4242, PATCH), // REGISTER_OOVPA(XInputSetState, 4831, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), - // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? + // REGISTER_OOVPA(XapiThreadStartup, 3911, PATCH), // obsolete? // REGISTER_OOVPA(XInputGetCapabilities, 4831, PATCH), // REGISTER_OOVPA(XCalculateSignatureBeginEx, 4627, PATCH), // +s, not necessary? // REGISTER_OOVPA(XCalculateSignatureBegin, 4627, PATCH), @@ -379,9 +381,9 @@ OOVPATable XAPI_4627[] = { REGISTER_OOVPA(QueueUserAPC, 3911, PATCH), REGISTER_OOVPA(XMountAlternateTitleA, 3911, PATCH), REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), - //REGISTER_OOVPA(XInputGetDeviceDescription, 4831, PATCH), // NOT XInputGetDeviceDescription + // REGISTER_OOVPA(XInputGetDeviceDescription, 4831, PATCH), REGISTER_OOVPA(OutputDebugStringA, 3911, PATCH), - // REGISTER_OOVPA(MoveFileA, 4627, PATCH), + // REGISTER_OOVPA(MoveFileA, 3911, PATCH), REGISTER_OOVPA(XMountMUA, 4242, PATCH), REGISTER_OOVPA(XMountMURootA, 4242, PATCH), // REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl index f91534667..aee52b6ff 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4721.inl @@ -79,7 +79,7 @@ OOVPATable XAPI_4721[] = { REGISTER_OOVPA(XID_fCloseDevice, 4242, XREF), REGISTER_OOVPA(XInputClose, 3911, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), - // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete + // REGISTER_OOVPA(XapiThreadStartup, 3911, PATCH), // obsolete // REGISTER_OOVPA(XapiInitProcess, 4361, PATCH), // obsolete, Too High Level // REGISTER_OOVPA(XapiBootDash, 3911, PATCH), // obsolete REGISTER_OOVPA(CreateFiber, 3911, DISABLED), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl index cd2889ad8..0b473b627 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4831.inl @@ -67,7 +67,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XID_fCloseDevice, 4831, 11, - XREF_FCLOSEDEVICE, + XREF_XID_fCloseDevice, XRefZero) { 0x13, 0x8B }, @@ -169,3 +169,45 @@ OOVPA_NO_XREF(XapiInitProcess, 4831, 12) { 0x1D, 0x8D }, { 0x1E, 0x45 }, OOVPA_END; + +// ****************************************************************** +// * XInputGetDeviceDescription +// ****************************************************************** +OOVPA_NO_XREF(XInputGetDeviceDescription, 4831, 14) + + { 0x04, 0xEC }, + { 0x0B, 0x15 }, + + { 0x13, 0x45 }, + { 0x14, 0x08 }, + { 0x15, 0x8B }, + { 0x16, 0x30 }, + { 0x17, 0x3B }, + { 0x18, 0xF3 }, + { 0x19, 0x88 }, + { 0x1A, 0x4D }, + { 0x1B, 0xFF }, + { 0x1C, 0x0F }, + { 0x1D, 0x84 }, + + { 0x30, 0x45 }, + //{ 0x31, 0xF8 }, // 4831 0xF4 vs 5344 0xF8 +OOVPA_END; + +#if 0 // No longer used, this was _XInputGetCapabilities@8 +// ****************************************************************** +// * XInputGetDeviceDescription +// ****************************************************************** +OOVPA_NO_XREF(XInputGetDeviceDescription, 4831, 9) + + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x48 }, + { 0x06, 0x83 }, + { 0x07, 0x65 }, + { 0x08, 0xF8 }, + { 0x09, 0x00 }, + { 0x34, 0x6A }, + { 0x35, 0x06 }, +OOVPA_END; +#endif diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl index 181848d4e..3dfe859e2 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5028.inl @@ -99,7 +99,7 @@ OOVPATable XAPI_5028[] = { REGISTER_OOVPA(XInputGetCapabilities, 4831, PATCH), REGISTER_OOVPA(XInputSetState, 4831, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 3911, PATCH), - // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? + // REGISTER_OOVPA(XapiThreadStartup, 3911, PATCH), // obsolete? // REGISTER_OOVPA(XCalculateSignatureBeginEx, 4627, PATCH), // +s, not necessary? // REGISTER_OOVPA(XCalculateSignatureBegin, 4627, PATCH), // REGISTER_OOVPA(XCalculateSignatureUpdate, 4627, PATCH), @@ -122,7 +122,7 @@ OOVPATable XAPI_5028[] = { REGISTER_OOVPA(XUnmountAlternateTitleA, 3911, PATCH), // REGISTER_OOVPA(XInputGetDeviceDescription, 4831, PATCH), // Was NOT XInputGetDeviceDescription REGISTER_OOVPA(OutputDebugStringA, 3911, PATCH), - // REGISTER_OOVPA(MoveFileA, 4627, PATCH), + // REGISTER_OOVPA(MoveFileA, 3911, PATCH), REGISTER_OOVPA(XMountMUA, 4242, PATCH), REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl index 6e8367a69..8bc4c3373 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5344.inl @@ -32,10 +32,11 @@ // * // ****************************************************************** +#if 0 // Moved to 4831 // ****************************************************************** // * XInputGetDeviceDescription // ****************************************************************** -OOVPA_NO_XREF(XInputGetDeviceDescription, 5344, 15) +OOVPA_NO_XREF(XInputGetDeviceDescription, 5344, 14) { 0x04, 0xEC }, { 0x0B, 0x15 }, @@ -53,8 +54,9 @@ OOVPA_NO_XREF(XInputGetDeviceDescription, 5344, 15) { 0x1D, 0x84 }, { 0x30, 0x45 }, - { 0x31, 0xF8 }, + //{ 0x31, 0xF8 }, // 4831 0xF4 vs 5344 0xF8 OOVPA_END; +#endif // ****************************************************************** // * XLaunchNewImageA @@ -117,7 +119,7 @@ OOVPATable XAPI_5344[] = { REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), REGISTER_OOVPA(RaiseException, 3911, PATCH), - REGISTER_OOVPA(XInputGetDeviceDescription, 5344, PATCH), + REGISTER_OOVPA(XInputGetDeviceDescription, 4831, PATCH), REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl index e84ddf107..70fc83873 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5455.inl @@ -67,7 +67,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XID_fCloseDevice, 5455, 7, - XREF_FCLOSEDEVICE, + XREF_XID_fCloseDevice, XRefZero) { 0x11, 0x45 }, @@ -87,7 +87,7 @@ OOVPA_XREF(XInputClose, 5455, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x05, XREF_FCLOSEDEVICE ), + XREF_ENTRY( 0x05, XREF_XID_fCloseDevice ), { 0x00, 0x8B }, { 0x01, 0x4C }, diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl index 1b5151387..907a512d4 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5558.inl @@ -109,7 +109,7 @@ OOVPA_NO_XREF(XLaunchNewImageA, 5558, 7) { 0x34, 0x6A }, { 0x3D, 0x10 }, OOVPA_END; - +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * XapiFiberStartup // ****************************************************************** @@ -123,14 +123,14 @@ OOVPA_NO_XREF(XapiFiberStartup, 5558, 7) { 0x34, 0xC3 }, { 0x3D, 0x00 }, OOVPA_END; - +#endif #if 0 // Moved to 5455 // ****************************************************************** // * XID_fCloseDevice // ****************************************************************** OOVPA_XREF(XID_fCloseDevice, 5455, 7, - XREF_FCLOSEDEVICE, + XREF_XID_fCloseDevice, XRefZero) { 0x11, 0x45 }, @@ -151,7 +151,7 @@ OOVPA_XREF(XInputClose, 5455, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x05, XREF_FCLOSEDEVICE ), + XREF_ENTRY( 0x05, XREF_XID_fCloseDevice ), { 0x00, 0x8B }, { 0x01, 0x4C }, @@ -200,7 +200,7 @@ OOVPATable XAPI_5558[] = { REGISTER_OOVPA(XInputGetCapabilities, 5455, PATCH), REGISTER_OOVPA(XInputGetState, 5455, PATCH), REGISTER_OOVPA(XInputSetState, 5233, PATCH), - // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? + // REGISTER_OOVPA(XapiThreadStartup, 3911, PATCH), // obsolete? REGISTER_OOVPA(XLaunchNewImageA, 5558, PATCH), REGISTER_OOVPA(XGetLaunchInfo, 3911, DISABLED), REGISTER_OOVPA(QueueUserAPC, 3911, PATCH), @@ -213,7 +213,7 @@ OOVPATable XAPI_5558[] = { REGISTER_OOVPA(DeleteFiber, 3911, DISABLED), REGISTER_OOVPA(SwitchToFiber, 3911, DISABLED), REGISTER_OOVPA(ConvertThreadToFiber, 3911, DISABLED), - REGISTER_OOVPA(XapiFiberStartup, 5558, DISABLED), + REGISTER_OOVPA(XapiFiberStartup, 3911, DISABLED), REGISTER_OOVPA(XID_fCloseDevice, 5455, XREF), REGISTER_OOVPA(XInputClose, 5455, PATCH), REGISTER_OOVPA(OutputDebugStringA, 3911, PATCH), @@ -229,7 +229,7 @@ OOVPATable XAPI_5558[] = { REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), REGISTER_OOVPA(RaiseException, 3911, PATCH), - REGISTER_OOVPA(XInputGetDeviceDescription, 5344, PATCH), + REGISTER_OOVPA(XInputGetDeviceDescription, 4831, PATCH), REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl index ec5dab0a9..7c148fd90 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5788.inl @@ -105,6 +105,7 @@ OOVPA_NO_XREF(XGetDeviceEnumerationStatus, 5788, 7) OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * SwitchToThread // ****************************************************************** @@ -117,6 +118,7 @@ OOVPA_NO_XREF(SwitchToThread, 5788, 6) { 0x0D, 0x0F }, { 0x10, 0x8B }, OOVPA_END; +#endif // ****************************************************************** // * XAPI_5788 @@ -131,7 +133,7 @@ OOVPATable XAPI_5788[] = { REGISTER_OOVPA(XInputGetCapabilities, 5455, PATCH), REGISTER_OOVPA(XInputGetState, 5455, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), // Was PATCH - // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? + // REGISTER_OOVPA(XapiThreadStartup, 3911, PATCH), // obsolete? REGISTER_OOVPA(XGetLaunchInfo, 3911, DISABLED), REGISTER_OOVPA(QueueUserAPC, 3911, PATCH), REGISTER_OOVPA(XRegisterThreadNotifyRoutine, 3911, PATCH), @@ -145,7 +147,7 @@ OOVPATable XAPI_5788[] = { REGISTER_OOVPA(XLaunchNewImageA, 5558, PATCH), REGISTER_OOVPA(XInputSetState, 5233, PATCH), REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), - // REGISTER_OOVPA(SwitchToThread, 5788, PATCH), + // REGISTER_OOVPA(SwitchToThread, 3911, PATCH), REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(CreateFiber, 3911, DISABLED), REGISTER_OOVPA(DeleteFiber, 3911, DISABLED), @@ -164,7 +166,7 @@ OOVPATable XAPI_5788[] = { REGISTER_OOVPA(timeKillEvent, 3911, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), - REGISTER_OOVPA(XInputGetDeviceDescription, 5344, PATCH), + REGISTER_OOVPA(XInputGetDeviceDescription, 4831, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl index 7b5f5e82c..79fc8ba35 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5849.inl @@ -82,6 +82,7 @@ OOVPA_NO_XREF(XGetDeviceEnumerationStatus, 5849, 7) { 0x28, 0xC3 }, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * SwitchToThread // ****************************************************************** @@ -94,6 +95,7 @@ OOVPA_NO_XREF(SwitchToThread, 5849, 6) { 0x0D, 0x0F }, { 0x10, 0x8B }, OOVPA_END; +#endif // ****************************************************************** // * XAPI_5849 @@ -110,7 +112,7 @@ OOVPATable XAPI_5849[] = { REGISTER_OOVPA(XInputGetCapabilities, 5455, PATCH), REGISTER_OOVPA(XInputGetState, 5455, PATCH), REGISTER_OOVPA(XGetDeviceChanges, 5233, PATCH), - // REGISTER_OOVPA(XapiThreadStartup, 4361, PATCH), // obsolete? + // REGISTER_OOVPA(XapiThreadStartup, 3911, PATCH), // obsolete? REGISTER_OOVPA(QueueUserAPC, 3911, PATCH), REGISTER_OOVPA(GetThreadPriority, 5788, PATCH), REGISTER_OOVPA(GetTypeInformation, 4134, XREF), @@ -122,7 +124,7 @@ OOVPATable XAPI_5849[] = { REGISTER_OOVPA(XLaunchNewImageA, 5558, PATCH), REGISTER_OOVPA(XInputSetState, 5233, PATCH), REGISTER_OOVPA(XGetDeviceEnumerationStatus, 4831, PATCH), - // REGISTER_OOVPA(SwitchToThread, 5849, PATCH), + // REGISTER_OOVPA(SwitchToThread, 3911, PATCH), REGISTER_OOVPA(XFormatUtilityDrive, 4242, PATCH), REGISTER_OOVPA(CreateFiber, 3911, DISABLED), REGISTER_OOVPA(DeleteFiber, 3911, DISABLED), @@ -139,7 +141,7 @@ OOVPATable XAPI_5849[] = { REGISTER_OOVPA(XInputPoll, 3911, PATCH), REGISTER_OOVPA(GetOverlappedResult, 3911, PATCH), REGISTER_OOVPA(XSetProcessQuantumLength, 4134, PATCH), - REGISTER_OOVPA(XInputGetDeviceDescription, 5344, PATCH), + REGISTER_OOVPA(XInputGetDeviceDescription, 4831, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl index 87ff3cb0a..da4598807 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl @@ -31,6 +31,45 @@ // * All rights reserved // * // ****************************************************************** + +// TODO: Known Xapi OOVPA issue list +// * 4034 is not verified each OOVPA. +// * Following OOVPA revision are not verified +// * XMountMUA (3950) +// * XMountMURootA (3950, 4039, 5028, 5120, 5233) +// * timeKillEvent (3950, 5028, 5233) +// * timeSetEvent (5233) +// * SignalObjectAndWait (4039) +// * QueueUserAPC (4039) +// * XMountAlternateTitleA (4039) +// * XInputPoll (4039) +// * XInputGetDeviceDescription (4928, 5028, 5120, 5233, 5455) +// * ConvertThreadToFiber (4039, 4134, 4531, 4721, 5028, 5455) +// * CreateFiber (4039, 4134, 4531, 4721, 5028, 5455) +// * DeleteFiber (4039, 4134, 4531, 4721, 5028, 5455) +// * SwitchToFiber (4039, 4134, 4531, 4721, 5028, 5455) +// * XapiFiberStartup (4039, 4134, 4531, 4721, 5028, 5455) +// * Following OOVPA are invalid +// * ReadFileEx (3911) // Has exact asm codes _WriteFileEx@20 +// * WriteFileEx (3911) // Has exact asm codes _ReadFileEx@20 +// * lstrcmpiW (3911) // Necessary XREF _xCompareStringW@20 +// * Following OOVPA are missing (Obsolete?) +// * GetThreadPriorityBoost +// * RtlAllocateHeap +// * RtlCreateHeap +// * RtlDestroyHeap +// * RtlFreeHeap +// * RtlReAllocateHeap +// * RtlSizeHeap +// * XCalculateSignatureBeginEx +// * XCalculateSignatureEnd +// * XCalculateSignatureUpdate +// NOTE: Known Xapi OOVPA not included in initial revision. +// * XFormatUtilityDrive (4242) +// * XSetProcessQuantumLength (4134) +// * XInputGetDeviceDescription (4831) +// * XGetDeviceEnumerationStatus (4831) + #ifndef XAPI_OOVPA_INL #define XAPI_OOVPA_INL @@ -39,6 +78,7 @@ #include "Xapi.1.0.3911.inl" #include "Xapi.1.0.3950.inl" #include "Xapi.1.0.4034.inl" +#include "Xapi.1.0.4039.inl" #include "Xapi.1.0.4134.inl" #include "Xapi.1.0.4242.inl" #include "Xapi.1.0.4361.inl" @@ -61,36 +101,31 @@ // ****************************************************************** OOVPATable XAPILIB_OOVPAV2[] = { - // REGISTER_OOVPAS(CloseHandle, PATCH, ???), // (from 4034's database) - // REGISTER_OOVPAS(CloseHandle, PATCH, 3911), - // REGISTER_OOVPAS(CreateMutex, PATCH, 3911), // Too High Level (from 3911's comment) - // REGISTER_OOVPAS(CreateThread, PATCH, 3911), // Too High Level (from 3911's comment) - // REGISTER_OOVPAS(ExitThread, PATCH, 3911), // REGISTER_OOVPAS(GetThreadPriorityBoost, PATCH, 5788), // REGISTER_OOVPAS(GetThreadPriorityBoost, PATCH, 5849), - // REGISTER_OOVPAS(MoveFileA, PATCH, 4627), - // REGISTER_OOVPAS(ReadFileEx, PATCH, 3911), // REGISTER_OOVPAS(RtlAllocateHeap, PATCH, 3911), // obsolete (* unchanged since 1.0.4361 *) (* OR FARTHER *) (from 4721's comment) // REGISTER_OOVPAS(RtlCreateHeap, PATCH, 3911), // obsolete, (* unchanged since 1.0.4361 *) (* OR FARTHER *) (from 4721's comment) // REGISTER_OOVPAS(RtlDestroyHeap, PATCH, 4627), // obsolete (from 4721's comment) // REGISTER_OOVPAS(RtlFreeHeap, PATCH, 4627), // obsolete (from 4721's comment) // REGISTER_OOVPAS(RtlReAllocateHeap, PATCH, 4627), // REGISTER_OOVPAS(RtlSizeHeap, PATCH, 4627), // obsolete (from 4721's comment) - // REGISTER_OOVPAS(SwitchToThread, PATCH, 5788), - // REGISTER_OOVPAS(SwitchToThread, PATCH, 5849), - // REGISTER_OOVPAS(WriteFileEx, PATCH, 3911), - // REGISTER_OOVPAS(XCalculateSignatureBegin, PATCH, 3911), // REGISTER_OOVPAS(XCalculateSignatureBegin, PATCH, 4627), // REGISTER_OOVPAS(XCalculateSignatureBeginEx, PATCH, 4627), // +s, not necessary? (from 4627, 5028's comment) // REGISTER_OOVPAS(XCalculateSignatureEnd, PATCH, 4627), // s+ (from 4627, 5028's comment) // REGISTER_OOVPAS(XCalculateSignatureUpdate, PATCH, 4627), - // REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 4831), // NOT XInputGetDeviceDescription (from 4627, 5028's comment) - // REGISTER_OOVPAS(XapiBootDash, PATCH, 3911), // obsolete (from 4721's comment) + // REGISTER_OOVPAS(ReadFileEx, DISABLED, 3911),// Has exact asm codes _WriteFileEx@20 + // REGISTER_OOVPAS(WriteFileEx, DISABLED, 3911), // Has exact asm codes _ReadFileEx@20 + // REGISTER_OOVPAS(lstrcmpiW, DISABLED, 3911), // TODO: need XREF _xCompareStringW@20 (Has exact asm codes as lstrcmpiW) + // REGISTER_OOVPAS(CloseHandle, DISABLED, 3911),// Has exact same asm codes as _ResetEvent@4 + REGISTER_OOVPAS(CreateMutex, DISABLED, 3911), // Too High Level (from 3911's comment) + REGISTER_OOVPAS(CreateThread, DISABLED, 3911), // Too High Level (from 3911's comment) + REGISTER_OOVPAS(ExitThread, DISABLED, 3911),// + REGISTER_OOVPAS(MoveFileA, DISABLED, 3911), + REGISTER_OOVPAS(SwitchToThread, DISABLED, 3911), + REGISTER_OOVPAS(XCalculateSignatureBegin, DISABLED, 3911, 4039), + REGISTER_OOVPAS(XapiBootDash, DISABLED, 3911), // obsolete (from 4721's comment) REGISTER_OOVPAS(XapiInitProcess, DISABLED, 3911, 3950, 4242, 4831, 5028), // obsolete, Too High Level (from 4721's comment) - // REGISTER_OOVPAS(XapiThreadStartup, PATCH, 4361), // obsolete (from 4721's comment) - // REGISTER_OOVPAS(XapiThreadStartup, PATCH, 4361), // obsolete? (from 4627, 5028, 5558, 5788, 5849's comment) - // REGISTER_OOVPAS(lstrcmpiW, PATCH, 3911), - // REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 4831), + REGISTER_OOVPAS(XapiThreadStartup, DISABLED, 3911), // obsolete? (from 4627, 5028, 5558, 5788, 5849's comment) // obsolete (from 4721's comment) REGISTER_OOVPAS(ConvertThreadToFiber, DISABLED, 3911), REGISTER_OOVPAS(CreateFiber, DISABLED, 3911), REGISTER_OOVPAS(DeleteFiber, DISABLED, 3911), @@ -115,7 +150,7 @@ OOVPATable XAPILIB_OOVPAV2[] = { REGISTER_OOVPAS(XInitDevices, PATCH, 3911, 5120), REGISTER_OOVPAS(XInputClose, PATCH, 3911, 5455), REGISTER_OOVPAS(XInputGetCapabilities, PATCH, 3911, 4242, 4831, 5233, 5455), - REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 5344), + REGISTER_OOVPAS(XInputGetDeviceDescription, PATCH, 4831), REGISTER_OOVPAS(XInputGetState, PATCH, 3911, 4134, 4242, 4831, 5455), REGISTER_OOVPAS(XInputOpen, PATCH, 3911, 4134, 4242), REGISTER_OOVPAS(XInputPoll, PATCH, 3911), @@ -128,7 +163,7 @@ OOVPATable XAPILIB_OOVPAV2[] = { REGISTER_OOVPAS(XRegisterThreadNotifyRoutine, PATCH, 3911), REGISTER_OOVPAS(XSetProcessQuantumLength, PATCH, 4134), REGISTER_OOVPAS(XUnmountAlternateTitleA, PATCH, 3911), - REGISTER_OOVPAS(XapiFiberStartup, DISABLED, 5558), + REGISTER_OOVPAS(XapiFiberStartup, DISABLED, 3911), REGISTER_OOVPAS(timeKillEvent, PATCH, 3911, 5849), REGISTER_OOVPAS(timeSetEvent, PATCH, 3911, 5455), }; From 22d55c19a13d1cacc871a6e96676c99f3467990a Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 23 Sep 2017 08:01:07 -0500 Subject: [PATCH 077/146] Replace DISABLED in favor of UNPATCHED 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. --- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 2 +- src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl | 42 +++++++++++------------ src/CxbxKrnl/HLEIntercept.cpp | 4 +-- src/CxbxKrnl/OOVPA.h | 5 ++- 4 files changed, 28 insertions(+), 25 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index df358a498..8e648cd6d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -288,7 +288,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_GetEffectData, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_GetOutputLevels, PATCH, 4627, 5558), REGISTER_OOVPAS(IDirectSound_GetSpeakerConfig, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_GetTime, DISABLED, 3911), + REGISTER_OOVPAS(IDirectSound_GetTime, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3911), //REGISTER_OOVPAS(IDirectSound_SetAllParameters, XREF, 3911), //Cannot be used since this OOVPA does produce false detection. diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl index da4598807..c7458e9e2 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl @@ -113,39 +113,39 @@ OOVPATable XAPILIB_OOVPAV2[] = { // REGISTER_OOVPAS(XCalculateSignatureBeginEx, PATCH, 4627), // +s, not necessary? (from 4627, 5028's comment) // REGISTER_OOVPAS(XCalculateSignatureEnd, PATCH, 4627), // s+ (from 4627, 5028's comment) // REGISTER_OOVPAS(XCalculateSignatureUpdate, PATCH, 4627), - // REGISTER_OOVPAS(ReadFileEx, DISABLED, 3911),// Has exact asm codes _WriteFileEx@20 - // REGISTER_OOVPAS(WriteFileEx, DISABLED, 3911), // Has exact asm codes _ReadFileEx@20 - // REGISTER_OOVPAS(lstrcmpiW, DISABLED, 3911), // TODO: need XREF _xCompareStringW@20 (Has exact asm codes as lstrcmpiW) - // REGISTER_OOVPAS(CloseHandle, DISABLED, 3911),// Has exact same asm codes as _ResetEvent@4 - REGISTER_OOVPAS(CreateMutex, DISABLED, 3911), // Too High Level (from 3911's comment) - REGISTER_OOVPAS(CreateThread, DISABLED, 3911), // Too High Level (from 3911's comment) - REGISTER_OOVPAS(ExitThread, DISABLED, 3911),// - REGISTER_OOVPAS(MoveFileA, DISABLED, 3911), - REGISTER_OOVPAS(SwitchToThread, DISABLED, 3911), - REGISTER_OOVPAS(XCalculateSignatureBegin, DISABLED, 3911, 4039), - REGISTER_OOVPAS(XapiBootDash, DISABLED, 3911), // obsolete (from 4721's comment) - REGISTER_OOVPAS(XapiInitProcess, DISABLED, 3911, 3950, 4242, 4831, 5028), // obsolete, Too High Level (from 4721's comment) - REGISTER_OOVPAS(XapiThreadStartup, DISABLED, 3911), // obsolete? (from 4627, 5028, 5558, 5788, 5849's comment) // obsolete (from 4721's comment) - REGISTER_OOVPAS(ConvertThreadToFiber, DISABLED, 3911), - REGISTER_OOVPAS(CreateFiber, DISABLED, 3911), - REGISTER_OOVPAS(DeleteFiber, DISABLED, 3911), + // REGISTER_OOVPAS(ReadFileEx, UNPATCHED, 3911),// Has exact asm codes _WriteFileEx@20 + // REGISTER_OOVPAS(WriteFileEx, UNPATCHED, 3911), // Has exact asm codes _ReadFileEx@20 + // REGISTER_OOVPAS(lstrcmpiW, UNPATCHED, 3911), // TODO: need XREF _xCompareStringW@20 (Has exact asm codes as lstrcmpiW) + // REGISTER_OOVPAS(CloseHandle, UNPATCHED, 3911),// Has exact same asm codes as _ResetEvent@4 + REGISTER_OOVPAS(CreateMutex, UNPATCHED, 3911), // Too High Level (from 3911's comment) + REGISTER_OOVPAS(CreateThread, UNPATCHED, 3911), // Too High Level (from 3911's comment) + REGISTER_OOVPAS(ExitThread, UNPATCHED, 3911),// + REGISTER_OOVPAS(MoveFileA, UNPATCHED, 3911), + REGISTER_OOVPAS(SwitchToThread, UNPATCHED, 3911), + REGISTER_OOVPAS(XCalculateSignatureBegin, UNPATCHED, 3911, 4039), + REGISTER_OOVPAS(XapiBootDash, UNPATCHED, 3911), // obsolete (from 4721's comment) + REGISTER_OOVPAS(XapiInitProcess, UNPATCHED, 3911, 3950, 4242, 4831, 5028), // obsolete, Too High Level (from 4721's comment) + REGISTER_OOVPAS(XapiThreadStartup, UNPATCHED, 3911), // obsolete? (from 4627, 5028, 5558, 5788, 5849's comment) // obsolete (from 4721's comment) + REGISTER_OOVPAS(ConvertThreadToFiber, UNPATCHED, 3911), + REGISTER_OOVPAS(CreateFiber, UNPATCHED, 3911), + REGISTER_OOVPAS(DeleteFiber, UNPATCHED, 3911), REGISTER_OOVPAS(GetExitCodeThread, PATCH, 3911), REGISTER_OOVPAS(GetOverlappedResult, PATCH, 3911), REGISTER_OOVPAS(GetThreadPriority, PATCH, 3911, 5788), - REGISTER_OOVPAS(GetTimeZoneInformation, DISABLED, 3911), + REGISTER_OOVPAS(GetTimeZoneInformation, UNPATCHED, 3911), REGISTER_OOVPAS(OutputDebugStringA, PATCH, 3911), REGISTER_OOVPAS(QueueUserAPC, PATCH, 3911), REGISTER_OOVPAS(RaiseException, PATCH, 3911), REGISTER_OOVPAS(SetThreadPriority, PATCH, 3911), REGISTER_OOVPAS(SetThreadPriorityBoost, PATCH, 3911, 5788), REGISTER_OOVPAS(SignalObjectAndWait, PATCH, 3911), - REGISTER_OOVPAS(SwitchToFiber, DISABLED, 3911), - REGISTER_OOVPAS(XAutoPowerDownResetTimer, DISABLED, 3911), // Just calls KeSetTimer (from 3911's comment) + REGISTER_OOVPAS(SwitchToFiber, UNPATCHED, 3911), + REGISTER_OOVPAS(XAutoPowerDownResetTimer, UNPATCHED, 3911), // Just calls KeSetTimer (from 3911's comment) REGISTER_OOVPAS(XFormatUtilityDrive, PATCH, 4242), REGISTER_OOVPAS(XGetDeviceChanges, PATCH, 3911, 5233), // Was PATCH (from 5788's comment) REGISTER_OOVPAS(XGetDeviceEnumerationStatus, PATCH, 4831), REGISTER_OOVPAS(XGetDevices, PATCH, 3911), - REGISTER_OOVPAS(XGetLaunchInfo, DISABLED, 3911), + REGISTER_OOVPAS(XGetLaunchInfo, UNPATCHED, 3911), REGISTER_OOVPAS(XID_fCloseDevice, XREF, 3911, 4242, 4627, 4831, 5455), REGISTER_OOVPAS(XInitDevices, PATCH, 3911, 5120), REGISTER_OOVPAS(XInputClose, PATCH, 3911, 5455), @@ -163,7 +163,7 @@ OOVPATable XAPILIB_OOVPAV2[] = { REGISTER_OOVPAS(XRegisterThreadNotifyRoutine, PATCH, 3911), REGISTER_OOVPAS(XSetProcessQuantumLength, PATCH, 4134), REGISTER_OOVPAS(XUnmountAlternateTitleA, PATCH, 3911), - REGISTER_OOVPAS(XapiFiberStartup, DISABLED, 3911), + REGISTER_OOVPAS(XapiFiberStartup, UNPATCHED, 3911), REGISTER_OOVPAS(timeKillEvent, PATCH, 3911, 5849), REGISTER_OOVPAS(timeSetEvent, PATCH, 3911, 5455), }; diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 716d4d7a0..2b703e458 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -1017,8 +1017,8 @@ void EmuRegisterSymbol(OOVPATable *OovpaTable, xbaddr pFunc) checkDisableStr = &OovpaTable->szFuncName[getFuncStrLength - 9]; } - if (checkDisableStr != nullptr && strcmp(checkDisableStr, "_DISABLED") == 0) { - output << "\t*DISABLED*"; + if (checkDisableStr != nullptr && strcmp(checkDisableStr, "_UNPATCHED") == 0) { + output << "\t*UNPATCHED*"; // Mention there's no patch available, if it was to be applied } else if (!IsXRef) { diff --git a/src/CxbxKrnl/OOVPA.h b/src/CxbxKrnl/OOVPA.h index 4631f66f9..a281126f6 100644 --- a/src/CxbxKrnl/OOVPA.h +++ b/src/CxbxKrnl/OOVPA.h @@ -179,6 +179,9 @@ const uint16_t Flag_DontPatch = 4;// Indicates an entry that's shouldn't be patc //Below this is a revise version 2 to improve OOPVA scan as possible. +#define UNPATCHED UNPATCHED/* registration is remain unpatched, + can be activate via HLE Cache file by removing _UNPATCHED at the end. */ + /* Use XREF define to knowledge it is reference purpose only.*/ #define REGISTER_OOVPA_V2_XREF(Symbol, TYPE, Version) \ OOVPA_TABLE_ENTRY_FULL(Symbol, #Symbol, Version, 0) @@ -191,7 +194,7 @@ const uint16_t Flag_DontPatch = 4;// Indicates an entry that's shouldn't be patc * This is only effective for functions with "FUNC_EXPORTS" bypass purpose. * XREF remain unaffected and will perform task normally. * NOTICE: Do not use DISABLED on XREF OOVPA! Or developers will be confused. */ -#define REGISTER_OOVPA_V2_DISABLED(Symbol, TYPE, Version) \ +#define REGISTER_OOVPA_V2_UNPATCHED(Symbol, TYPE, Version) \ OOVPA_TABLE_ENTRY_FULL(Symbol, STRINGIZEX(Symbol## _ ##TYPE), Version, 0) #define REGISTER_OOVPA_V2(Symbol, TYPE, Version) \ From 74a610322229e0fdd121a743d60857754e6d03d7 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 23 Sep 2017 08:06:27 -0500 Subject: [PATCH 078/146] Append to Previous Commit Fix Now it should output *UNPATCHED* correctly instead of saying no patch available. --- src/CxbxKrnl/HLEIntercept.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 2b703e458..03b908796 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -1013,8 +1013,8 @@ void EmuRegisterSymbol(OOVPATable *OovpaTable, xbaddr pFunc) const char* checkDisableStr = nullptr; size_t getFuncStrLength = strlen(OovpaTable->szFuncName); - if (getFuncStrLength > 9) { - checkDisableStr = &OovpaTable->szFuncName[getFuncStrLength - 9]; + if (getFuncStrLength > 10) { + checkDisableStr = &OovpaTable->szFuncName[getFuncStrLength - 10]; } if (checkDisableStr != nullptr && strcmp(checkDisableStr, "_UNPATCHED") == 0) { From 82652b57355e3cfdc86c7c9494fecb95871dea43 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 23 Sep 2017 09:15:52 -0500 Subject: [PATCH 079/146] Include Missing DSound APIs - 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. --- src/CxbxKrnl/EmuDSound.cpp | 87 ++++++++++++++++++++ src/CxbxKrnl/EmuDSound.h | 32 +++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 10 +-- 4 files changed, 125 insertions(+), 6 deletions(-) diff --git a/src/CxbxKrnl/EmuDSound.cpp b/src/CxbxKrnl/EmuDSound.cpp index 891dd38d0..55e6e6f57 100755 --- a/src/CxbxKrnl/EmuDSound.cpp +++ b/src/CxbxKrnl/EmuDSound.cpp @@ -2504,6 +2504,24 @@ STDAPI_(void) XTL::EMUPATCH(DirectSoundUseFullHRTF) leaveCriticalSection; } +// ****************************************************************** +// * patch: DirectSoundUseLightHRTF +// ****************************************************************** +STDAPI_(void) XTL::EMUPATCH(DirectSoundUseLightHRTF) +( + void) +{ + FUNC_EXPORTS; + + enterCriticalSection; + + LOG_FUNC(); + + LOG_UNIMPLEMENTED_DSOUND(); + + leaveCriticalSection; +} + // ****************************************************************** // * patch: IDirectSoundBuffer_SetLFO // ****************************************************************** @@ -3699,3 +3717,72 @@ HRESULT WINAPI XTL::EMUPATCH(XFileMediaObject_Discontinuity) return DS_OK; } + +// ****************************************************************** +// * patch: IDirectSound_GetSpeakerConfig +// ****************************************************************** +HRESULT WINAPI XTL::EMUPATCH(IDirectSound_GetSpeakerConfig) +( + X_CDirectSound* pThis, + OUT LPDWORD* pdwSpeakerConfig) +{ + FUNC_EXPORTS; + + enterCriticalSection; + + LOG_FUNC_BEGIN + LOG_FUNC_ARG(pThis) + LOG_FUNC_ARG_OUT(pdwSpeakerConfig) + LOG_FUNC_END; + + //For now, let's set it to stereo. + *pdwSpeakerConfig = X_DSSPEAKER_STEREO; + + leaveCriticalSection; + + return S_OK; +} + +// ****************************************************************** +// * patch: IDirectSound_CommitDeferredSettings +// ****************************************************************** +HRESULT WINAPI XTL::EMUPATCH(IDirectSound_CommitDeferredSettings) +( + X_CDirectSound* pThis) +{ + FUNC_EXPORTS; + + enterCriticalSection; + + LOG_FUNC_ONE_ARG(pThis); + + HRESULT hRet = DS_OK; + if (g_pDSoundPrimary3DListener8 != nullptr) { + hRet = g_pDSoundPrimary3DListener8->CommitDeferredSettings(); + } + + leaveCriticalSection; + + return hRet; +} + +// ****************************************************************** +// * patch: IDirectSound_CommitEffectData +// ****************************************************************** +// This API is used relative with DSP effect. +HRESULT WINAPI XTL::EMUPATCH(IDirectSound_CommitEffectData) +( + X_CDirectSound* pThis) +{ + FUNC_EXPORTS; + + enterCriticalSection; + + LOG_FUNC_ONE_ARG(pThis); + + LOG_UNIMPLEMENTED_DSOUND(); + + leaveCriticalSection; + + return DS_OK; +} diff --git a/src/CxbxKrnl/EmuDSound.h b/src/CxbxKrnl/EmuDSound.h index 1558a6f1a..87a098b56 100755 --- a/src/CxbxKrnl/EmuDSound.h +++ b/src/CxbxKrnl/EmuDSound.h @@ -211,6 +211,12 @@ struct X_DSCAPS DWORD dwMemoryAllocated; }; +#define X_DSSPEAKER_STEREO 0x00000000 +#define X_DSSPEAKER_MONO 0x00000001 +#define X_DSSPEAKER_SURROUND 0x00000002 +#define X_DSSPEAKER_ENABLE_AC3 0x00010000 +#define X_DSSPEAKER_ENABLE_DTS 0x00020000 + typedef struct IDirectSoundStream IDirectSoundStream; @@ -1226,6 +1232,14 @@ STDAPI_(void) EMUPATCH(DirectSoundUseFullHRTF) void ); +// ****************************************************************** +// * patch: DirectSoundUseLightHRTF +// ****************************************************************** +STDAPI_(void) EMUPATCH(DirectSoundUseLightHRTF) +( + void +); + // ****************************************************************** // * patch: IDirectSoundBuffer_SetLFO // ****************************************************************** @@ -1624,4 +1638,22 @@ ULONG WINAPI EMUPATCH(XFileMediaObject_Release)(X_XFileMediaObject *pThis); // ****************************************************************** HRESULT WINAPI EMUPATCH(XFileMediaObject_Discontinuity)(X_XFileMediaObject *pThis); +// ****************************************************************** +// * patch: IDirectSound_GetSpeakerConfig +// ****************************************************************** +HRESULT WINAPI EMUPATCH(IDirectSound_GetSpeakerConfig) + (X_CDirectSound* pThis, OUT LPDWORD* pdwSpeakerConfig); + +// ****************************************************************** +// * patch: IDirectSound_CommitDeferredSettings +// ****************************************************************** +HRESULT WINAPI EMUPATCH(IDirectSound_CommitDeferredSettings) + (X_CDirectSound* pThis); + +// ****************************************************************** +// * patch: IDirectSound_CommitEffectData +// ****************************************************************** +HRESULT WINAPI EMUPATCH(IDirectSound_CommitEffectData) + (X_CDirectSound* pThis); + #endif diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 2fba37ae7..ca7a5f51b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -2638,7 +2638,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 3911, 2, - XRefNoSaveIndex, + XREF_CDirectSoundBuffer_SetConeOutsideVolume, XRefOne) // CDirectSoundBuffer_SetConeOutsideVolume+0x00 : jmp CDirectSoundVoice_SetConeOutsideVolume diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 8e648cd6d..239fe7261 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -271,12 +271,12 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), - REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, UNPATCHED, 3911), //REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911), //TODO: IDirectSoundStream_SetEG and CDirectSoundStream_SetEG has 2 seperate functions. Except has the same asm codes. - REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetPosition, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, UNPATCHED, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, UNPATCHED, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetPosition, UNPATCHED, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CommitEffectData, PATCH, 3911), From 4d0ba5be88f33d306812a60ccacea66ac6ee3efc Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 23 Sep 2017 09:31:44 -0500 Subject: [PATCH 080/146] Reported Duplicate CDirectSoundBuffer_PlayEx OOVPA --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index a2a00f009..41c2c27bb 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -3391,6 +3391,7 @@ OOVPA_XREF(DirectSoundEnterCriticalSection, 3936, 7, { 0x1B, 0xC0 }, OOVPA_END; #endif +#if 0 // Replaced with 3911 revision // ****************************************************************** // * CDirectSoundBuffer::PlayEx // ****************************************************************** @@ -3410,6 +3411,7 @@ OOVPA_XREF(CDirectSoundBuffer_PlayEx, 3936, 9, { 0x30, 0xFF }, { 0x36, 0x8B }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_PlayEx From 3222ada82da5f3f8ac207bc318bc6d3e996a5afa Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 23 Sep 2017 09:42:24 -0500 Subject: [PATCH 081/146] Append to Previous Commit --- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 239fe7261..57dbf638b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -135,7 +135,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928), REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134, 4361, 5558, 5788), - REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3911, 3936, 4361, 5788), + REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3911, 4361, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3911, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), From e8aab581a64dda26ac1fe71543dbbb80edbe80f0 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 23 Sep 2017 11:02:10 -0500 Subject: [PATCH 082/146] Another Append Fix to Previous Commit --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 41c2c27bb..0e2bb257b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -4111,7 +4111,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 3911, PATCH), REGISTER_OOVPA(DirectSoundEnterCriticalSection, 3911, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 3936, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_PlayEx, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_PlayEx, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 3911, PATCH), From 8f6a314e54550826e10e50e4ec1c15ec28769e3f Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 23 Sep 2017 11:40:19 -0500 Subject: [PATCH 083/146] Proceed Add Unknown I or C Funcs for DSStream Class - 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 --- src/CxbxKrnl/HLEDataBase.h | 15 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 475 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 22 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 41 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 16 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 14 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 43 +- 11 files changed, 558 insertions(+), 78 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index fe8cd847e..8fc79dc11 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -201,9 +201,10 @@ enum XRefDataBaseOffset XREF_CDirectSound_SetI3DL2Listener, XREF_CDirectSound_SetMixBinHeadroom, XREF_CMcpxAPU_SetMixBinHeadroom, - XREF_DSSETMIXBINSA, - XREF_DSSETMIXBINSB, - XREF_DSSETMIXBINSC, + XREF_CDirectSoundVoiceSettings_SetMixBins, + XREF_CMcpxVoiceClient_SetMixBins, + XREF_CDirectSoundVoice_SetMixBins, + XREF_CDirectSoundBuffer_SetMixBins, XREF_CDirectSoundBuffer_SetMixBinVolumes, XREF_CDirectSoundVoice_SetMixBinVolumes, XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, @@ -231,8 +232,9 @@ enum XRefDataBaseOffset XREF_DSBUFFERSETLOOPREGIONA, XREF_CDirectSoundBuffer_SetPlayRegion, XREF_CDirectSoundBuffer_Lock, - XREF_DSBUFFERSETHEADROOMA, - XREF_DSBUFFERSETFREQUENCYA, + XREF_CDirectSoundVoice_SetHeadroom, + XREF_CDirectSoundBuffer_SetHeadroom, + XREF_CDirectSoundBuffer_SetFrequency, XREF_CDirectSoundVoice_SetFrequency, XREF_CMcpxVoiceClient_Set3dMaxDistance, XREF_CDirectSoundVoice_SetMaxDistance, @@ -254,7 +256,6 @@ enum XRefDataBaseOffset XREF_CDirectSoundStream_SetPosition, XREF_CDirectSoundVoice_SetPosition, XREF_CMcpxVoiceClient_Set3dPosition, - XREF_DSSTREAMSETFREQUENCY1A, XREF_CMcpxStream_Flush, XREF_CMcpxStream_Discontinuity, XREF_XAudioCalculatePitch, @@ -312,8 +313,6 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_SetConeAngles, XREF_CDirectSoundVoice_CommitDeferredSettings, XREF_CDirectSoundBuffer_SetAllParameters, - XREF_CDirectSoundVoice_SetHeadroom, - XREF_CDirectSoundBuffer_SetHeadroom, XREF_CDirectSound_GetOutputLevels, XREF_CMcpxBuffer_Pause, XREF_CDirectSoundBuffer_Pause, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index ca7a5f51b..9b38c4be9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -32,18 +32,6 @@ // * // ****************************************************************** -// TODO: Known DSound OOVPA issue list for 3911 to 3936(?): -// * Following separater functions has exact asm codes as whole function are... -// * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume -// * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch -// * IDirectSoundStream_SetLFO & CDirectSoundStream_SetLFO -// * IDirectSoundStream_SetEG & CDirectSoundStream_SetEG -// * IDirectSoundStream_SetFilter & CDirectSoundStream_SetFilter -// * IDirectSoundStream_SetHeadroom & CDirectSoundStream_SetHeadroom -// * IDirectSoundStream_SetFrequency & CDirectSoundStream_SetFrequency -// * IDirectSoundStream_SetMixBins & CDirectSoundStream_SetMixBins - - // ****************************************************************** // * DirectSoundEnterCriticalSection @@ -1719,7 +1707,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetFrequency, 3911, 9, - XREF_DSSTREAMSETFREQUENCY1A, + XREF_CDirectSoundVoice_SetFrequency, XRefOne) // CDirectSoundVoice_SetFrequency+0x1F : call [XAudioCalculatePitch] @@ -1749,7 +1737,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 3911, 8, XRefOne) // IDirectSoundBuffer_SetFrequency+0x14 : call [CDirectSoundVoice_SetFrequency] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETFREQUENCY1A ), + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetFrequency ), // IDirectSoundBuffer_SetFrequency+0x0A : add eax, 0xFFFFFFE4 { 0x0A, 0x83 }, @@ -1770,7 +1758,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_SetMixBins, 3911, 15, - XREF_DSSETMIXBINSB, + XREF_CMcpxVoiceClient_SetMixBins, XRefZero) // CMcpxVoiceClient_SetMixBins+0x1D : lea eax, [esi+0x84] @@ -1806,11 +1794,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMixBins, 3911, 9, - XREF_DSSETMIXBINSA, + XREF_CDirectSoundVoice_SetMixBins, XRefOne) // CDirectSoundVoice_SetMixBins+0x28 : call [CMcpxVoiceClient::SetMixBins] - XREF_ENTRY( 0x29, XREF_DSSETMIXBINSB ), + XREF_ENTRY( 0x29, XREF_CMcpxVoiceClient_SetMixBins ), // CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x18] { 0x11, 0x8B }, @@ -1836,7 +1824,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 3911, 8, XRefOne) // IDirectSoundBuffer_SetMixBins+0x14 : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x15, XREF_DSSETMIXBINSA ), + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMixBins ), // IDirectSoundBuffer_SetMixBins+0x0A : add eax, 0xFFFFFFE4 { 0x0A, 0x83 }, @@ -1996,7 +1984,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 3911, 12, - XREF_DSBUFFERSETHEADROOMA, + XREF_CDirectSoundVoice_SetHeadroom, XRefOne) // WARNING: I am unsure if this is SetHeadroom @@ -2033,7 +2021,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 3911, 10, XRefOne) // IDirectSoundBuffer_SetHeadroom+0x15 : call [CDirectSoundVoice_SetHeadroom] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETHEADROOMA ), + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetHeadroom ), // IDirectSoundBuffer_SetHeadroom+0x04 : push [esp+0x08] { 0x04, 0xFF }, @@ -4968,3 +4956,450 @@ OOVPA_XREF(IDirectSound_SetI3DL2Listener, 3911, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetVolume +// ****************************************************************** +// NOTE: IDirectSoundStream_SetVolume has the same asm code as this function. +OOVPA_XREF(CDirectSoundStream_SetVolume, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetVolume+0x0C : call [CMcpxVoiceClient_SetVolume] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetVolume ), + + // CDirectSoundStream_SetVolume+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetVolume+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // CDirectSoundStream_SetVolume+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetVolume +// ****************************************************************** +// NOTE: CDirectSoundStream_SetVolume has the same asm code as this function. +OOVPA_XREF(IDirectSoundStream_SetVolume, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetVolume+0x0C : call [CMcpxVoiceClient_SetVolume] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetVolume ), + + // IDirectSoundStream_SetVolume+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundStream_SetVolume+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // IDirectSoundStream_SetVolume+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetPitch +// ****************************************************************** +// NOTE: IDirectSoundStream_SetPitch has the same asm code as this function. +OOVPA_XREF(CDirectSoundStream_SetPitch, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetPitch+0x0C : call [CMcpxVoiceClient_SetPitch] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetPitch ), + + // CDirectSoundStream_SetPitch+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetPitch+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // CDirectSoundStream_SetPitch+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetPitch +// ****************************************************************** +// NOTE: CDirectSoundStream_SetPitch has the same asm code as this function. +OOVPA_XREF(IDirectSoundStream_SetPitch, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetPitch+0x0C : call [CMcpxVoiceClient_SetPitch] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetPitch ), + + // IDirectSoundStream_SetPitch+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundStream_SetPitch+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // IDirectSoundStream_SetPitch+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetLFO +// ****************************************************************** +// NOTE: IDirectSoundStream_SetLFO has the same asm code as this function. +OOVPA_XREF(CDirectSoundStream_SetLFO, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetLFO+0x0C : call [CMcpxVoiceClient_SetLFO] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetLFO ), + + // CDirectSoundStream_SetLFO+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetLFO+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // CDirectSoundStream_SetLFO+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetLFO +// ****************************************************************** +// NOTE: CDirectSoundStream_SetLFO has the same asm code as this function. +OOVPA_XREF(IDirectSoundStream_SetLFO, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetLFO+0x0C : call [CMcpxVoiceClient_SetLFO] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetLFO ), + + // IDirectSoundStream_SetLFO+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundStream_SetLFO+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // IDirectSoundStream_SetLFO+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetEG +// ****************************************************************** +// NOTE: IDirectSoundStream_SetEG has the same asm code as this function. +OOVPA_XREF(CDirectSoundStream_SetEG, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetEG+0x0C : call [CMcpxVoiceClient_SetEG] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetEG ), + + // CDirectSoundStream_SetEG+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetEG+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // CDirectSoundStream_SetEG+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetEG +// ****************************************************************** +// NOTE: CDirectSoundStream_SetEG has the same asm code as this function. +OOVPA_XREF(IDirectSoundStream_SetEG, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetEG+0x0C : call [CMcpxVoiceClient_SetEG] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetEG ), + + // IDirectSoundStream_SetEG+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundStream_SetEG+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // IDirectSoundStream_SetEG+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetFilter +// ****************************************************************** +// NOTE: IDirectSoundStream_SetFilter has the same asm code as this function. +OOVPA_XREF(CDirectSoundStream_SetFilter, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetFilter+0x0C : call [CMcpxVoiceClient_SetFilter] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetFilter ), + + // CDirectSoundStream_SetFilter+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetFilter+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // CDirectSoundStream_SetFilter+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetFilter +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetFilter, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetFilter+0x0C : call [CMcpxVoiceClient_SetFilter] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetFilter ), + + // IDirectSoundStream_SetFilter+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundStream_SetFilter+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // IDirectSoundStream_SetFilter+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetHeadroom +// ****************************************************************** +// NOTE: IDirectSoundStream_SetHeadroom has the same asm code as this function. +OOVPA_XREF(CDirectSoundStream_SetHeadroom, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetHeadroom+0x0C : call [CDirectSoundVoice_SetHeadroom] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetHeadroom ), + + // CDirectSoundStream_SetHeadroom+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetHeadroom+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // CDirectSoundStream_SetHeadroom+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetHeadroom +// ****************************************************************** +// NOTE: CDirectSoundStream_SetHeadroom has the same asm code as this function. +OOVPA_XREF(IDirectSoundStream_SetHeadroom, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetHeadroom+0x0C : call [CDirectSoundVoice_SetHeadroom] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetHeadroom ), + + // IDirectSoundStream_SetHeadroom+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundStream_SetHeadroom+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // IDirectSoundStream_SetHeadroom+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetFrequency +// ****************************************************************** +// NOTE: IDirectSoundStream_SetFrequency has the same asm code as this function. +OOVPA_XREF(CDirectSoundStream_SetFrequency, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetFrequency+0x0C : call [CDirectSoundVoice_SetFrequency] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetFrequency ), + + // CDirectSoundStream_SetFrequency+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetFrequency+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // CDirectSoundStream_SetFrequency+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetFrequency +// ****************************************************************** +// NOTE: CDirectSoundStream_SetFrequency has the same asm code as this function. +OOVPA_XREF(IDirectSoundStream_SetFrequency, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetFrequency+0x0C : call [CDirectSoundVoice_SetFrequency] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetFrequency ), + + // IDirectSoundStream_SetFrequency+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundStream_SetFrequency+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // IDirectSoundStream_SetFrequency+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetMixBins +// ****************************************************************** +// NOTE: IDirectSoundStream_SetMixBins has the same asm code as this function. +OOVPA_XREF(CDirectSoundStream_SetMixBins, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_SetMixBins+0x0C : call [CDirectSoundVoice_SetMixBins] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetMixBins ), + + // CDirectSoundStream_SetMixBins+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // CDirectSoundStream_SetMixBins+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // CDirectSoundStream_SetMixBins+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetMixBins +// ****************************************************************** +// NOTE: CDirectSoundStream_SetMixBins has the same asm code as this function. +OOVPA_XREF(IDirectSoundStream_SetMixBins, 3911, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetMixBins+0x0C : call [CDirectSoundVoice_SetMixBins] + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetMixBins ), + + // IDirectSoundStream_SetMixBins+0x04 : mov eax, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundStream_SetMixBins+0x08 : add eax, 0x04 + { 0x08, 0x83 }, + { 0x09, 0xC0 }, + { 0x0A, 0x04 }, + + // IDirectSoundStream_SetMixBins+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 0e2bb257b..1690e3100 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -755,7 +755,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 3936, 12, - XREF_DSBUFFERSETHEADROOMA, + XREF_CDirectSoundVoice_SetHeadroom, XRefOne) // WARNING: I am unsure if this is SetHeadroom @@ -793,7 +793,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 3936, 10, XRefOne) // IDirectSoundBuffer_SetHeadroom+0x15 : call [CDirectSoundVoice_SetHeadroom] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETHEADROOMA ), + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetHeadroom ), // IDirectSoundBuffer_SetHeadroom+0x04 : push [esp+0x08] { 0x04, 0xFF }, @@ -870,7 +870,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxVoiceClient_SetMixBins, 3936, 15, - XREF_DSSETMIXBINSB, + XREF_CMcpxVoiceClient_SetMixBins, XRefZero) // CMcpxVoiceClient_SetMixBins+0x1C : lea eax, [esi+0x84] @@ -907,11 +907,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMixBins, 3936, 9, - XREF_DSSETMIXBINSA, + XREF_CDirectSoundVoice_SetMixBins, XRefOne) // CDirectSoundVoice_SetMixBins+0x28 : call [CMcpxVoiceClient::SetMixBins] - XREF_ENTRY( 0x29, XREF_DSSETMIXBINSB ), + XREF_ENTRY( 0x29, XREF_CMcpxVoiceClient_SetMixBins), // CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x18] { 0x11, 0x8B }, @@ -937,7 +937,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 3936, 10, XRefOne) // IDirectSoundStream_SetFrequency+0x0C : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x0D, XREF_DSSETMIXBINSA ), + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetMixBins), // CDirectSoundStream_SetMixBins+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, @@ -964,7 +964,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 3936, 8, XRefOne) // IDirectSoundBuffer_SetMixBins+0x14 : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x15, XREF_DSSETMIXBINSA ), + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetMixBins), // IDirectSoundBuffer_SetMixBins+0x0A : add eax, 0xFFFFFFE4 { 0x0A, 0x83 }, @@ -2197,7 +2197,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetFrequency, 3936, 9, - XREF_DSSTREAMSETFREQUENCY1A, + XREF_CDirectSoundVoice_SetFrequency, XRefOne) // CDirectSoundVoice_SetFrequency+0x1F : call [XAudioCalculatePitch] @@ -2227,7 +2227,7 @@ OOVPA_XREF(CDirectSoundStream_SetFrequency, 3936, 10, XRefOne) // CDirectSoundStream_SetFrequency+0x0D : call [CDirectSoundVoice_SetFrequency] - XREF_ENTRY( 0x0D, XREF_DSSTREAMSETFREQUENCY1A ), + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetFrequency ), // CDirectSoundStream_SetFrequency+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, @@ -2254,7 +2254,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 3936, 8, XRefOne) // IDirectSoundBuffer_SetFrequency+0x15 : call [CDirectSoundVoice_SetFrequency] - XREF_ENTRY( 0x15, XREF_DSSTREAMSETFREQUENCY1A ), + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetFrequency ), // IDirectSoundBuffer_SetFrequency+0x0A : add eax, 0xFFFFFFE4 { 0x0A, 0x83 }, @@ -2413,7 +2413,7 @@ OOVPA_XREF(CDirectSoundStream_SetHeadroom, 3936, 10, XRefOne) // CDirectSoundStream_SetHeadroom+0x0D : call [DirectSound_CDirectSoundVoice_SetHeadroom] - XREF_ENTRY( 0x0D, XREF_DSBUFFERSETHEADROOMA ), + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetHeadroom ), // CDirectSoundStream_SetHeadroom+0x04 : mov eax, [esp+0x08] { 0x04, 0x8B }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 4367556fe..e94a7e11a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -453,7 +453,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 4039, 8, - XREF_DSBUFFERSETHEADROOMA, + XREF_CDirectSoundBuffer_SetHeadroom, XRefOne) XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetHeadroom ), // Was 4134 Offset -0x01h @@ -613,7 +613,7 @@ OOVPA_END; // Verified with Agent Under Fire. OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4039, 13, - XREF_DSBUFFERSETFREQUENCYA, + XREF_CDirectSoundBuffer_SetFrequency, XRefOne) // CDirectSoundBuffer_SetFrequency+0x31 : call [CDirectSoundVoice::SetFrequency] @@ -650,7 +650,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4039, 12, XRefOne) // IDirectSoundBuffer_SetFrequency+0x15 : call [CDirectSound::SetFrequency] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETFREQUENCYA), + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetFrequency), // IDirectSoundBuffer_SetFrequency+0x04 : push [esp+0x08] { 0x04, 0xFF }, @@ -1167,7 +1167,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 4039, 13, - XREF_DSSETMIXBINSC, + XREF_CDirectSoundVoiceSettings_SetMixBins, XRefZero) // CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x19 @@ -1199,11 +1199,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMixBins, 4039, 17, - XREF_DSSETMIXBINSB, + XREF_CDirectSoundVoice_SetMixBins, XRefOne) // CDirectSoundVoice_SetMixBins+0x0D : call [CDirectSoundVoiceSettings::SetMixBins] - XREF_ENTRY( 0x0D, XREF_DSSETMIXBINSC ), + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoiceSettings_SetMixBins ), // CDirectSoundVoice_SetMixBins+0x01 : mov esi, [esp+8] { 0x01, 0x8B }, @@ -1237,11 +1237,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 4039, 18, - XREF_DSSETMIXBINSA, + XREF_CDirectSoundBuffer_SetMixBins, XRefOne) // CDirectSoundBuffer_SetMixBins+0x31 : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x31, XREF_DSSETMIXBINSB ), + XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetMixBins ), // CDirectSoundBuffer_SetMixBins+0x00 : push esi { 0x00, 0x56 }, @@ -1271,6 +1271,31 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 4039, 18, { 0x4B, 0x08 }, OOVPA_END; +// ****************************************************************** +// * IDirectSoundBuffer_SetMixBins +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 4039, 8, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetMixBins+0x14 : call [CDirectSoundVoice::SetMixBins] + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetMixBins ), + + // IDirectSoundBuffer_SetMixBins+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetMixBins+0x0F : sbb ecx, ecx + { 0x0F, 0x1B }, + { 0x10, 0xC9 }, + + // IDirectSoundBuffer_SetMixBins+0x11 : and ecx, eax + { 0x11, 0x23 }, + { 0x12, 0xC8 }, +OOVPA_END; + // ****************************************************************** // * CDirectSoundVoiceSettings::SetMixBinVolumes // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 0fe93941e..46ca03e65 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -274,7 +274,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 4134, 11, - XREF_DSSETMIXBINSC, + XREF_CDirectSoundVoiceSettings_SetMixBins, XRefZero) // CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x1A @@ -302,11 +302,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMixBins, 4134, 17, - XREF_DSSETMIXBINSB, + XREF_CDirectSoundVoice_SetMixBins, XRefOne) // CDirectSoundVoice_SetMixBins+0x0D : call [CDirectSoundVoiceSettings::SetMixBins] - XREF_ENTRY( 0x0D, XREF_DSSETMIXBINSC ), + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoiceSettings_SetMixBins ), // CDirectSoundVoice_SetMixBins+0x01 : mov esi, [esp+8] { 0x01, 0x8B }, @@ -340,11 +340,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 4134, 17, - XREF_DSSETMIXBINSA, + XREF_CDirectSoundBuffer_SetMixBins, XRefOne) // CDirectSoundBuffer_SetMixBins+0x32 : call [CDirectSoundVoice::SetMixBins] - XREF_ENTRY( 0x32, XREF_DSSETMIXBINSB ), + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetMixBins ), // CDirectSoundBuffer_SetMixBins+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, @@ -380,7 +380,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 4134, 12, XRefOne) // IDirectSoundBuffer_SetMixBins+0x15 : call [CDirectSoundBuffer::SetMixBins] - XREF_ENTRY( 0x15, XREF_DSSETMIXBINSA ), + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetMixBins ), // IDirectSoundBuffer_SetMixBins+0x04 : push [esp+0x08] { 0x04, 0xFF }, @@ -492,7 +492,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4134, 17, - XREF_DSBUFFERSETFREQUENCYA, + XREF_CDirectSoundBuffer_SetFrequency, XRefOne) // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] @@ -533,7 +533,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetFrequency, 4134, 12, XRefOne) // IDirectSoundBuffer_SetFrequency+0x15 : call [CDirectSound::SetFrequency] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETFREQUENCYA ), + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetFrequency ), // IDirectSoundBuffer_SetFrequency+0x04 : push [esp+0x08] { 0x04, 0xFF }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 8d4353591..2ad34c251 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -88,7 +88,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 4432, 10, - XREF_DSSETMIXBINSC, + XREF_CDirectSoundVoiceSettings_SetMixBins, XRefZero) // CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x1A diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 1424d0557..e6d14a447 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -779,7 +779,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 4627, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, XREF_DSSETMIXBINSB ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBins ), { 0x0C, 0x00 }, { 0x14, 0x74 }, @@ -1036,7 +1036,7 @@ OOVPA_XREF(CDirectSoundStream_SetHeadroom, 4627, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, /*XREF_CDirectSoundVoice_SetHeadroom*/ XREF_DSBUFFERSETHEADROOMA ), + XREF_ENTRY( 0x36, /*XREF_CDirectSoundVoice_SetHeadroom*/ XREF_CDirectSoundVoice_SetHeadroom ), { 0x0C, 0x00 }, { 0x14, 0x74 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 2961abc1b..fa252df1d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -331,7 +331,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 5233, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, XREF_DSSETMIXBINSB ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBins ), { 0x0E, 0xB6 }, { 0x15, 0x0B }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 054caa10c..41b7295c7 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -463,7 +463,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 5344, 7, - XREF_DSSETMIXBINSC, + XREF_CDirectSoundVoiceSettings_SetMixBins, XRefZero) { 0x10, 0x10 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 8534e1ba2..ec29bce5d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -384,7 +384,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoiceSettings_SetMixBins, 5558, 7, - XREF_DSSETMIXBINSC, + XREF_CDirectSoundVoiceSettings_SetMixBins, XRefZero) { 0x1B, 0xEB }, @@ -401,10 +401,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetMixBins, 5558, 8, - XREF_DSSETMIXBINSB, + XREF_CDirectSoundVoice_SetMixBins, XRefOne) - XREF_ENTRY( 0x0D, XREF_DSSETMIXBINSC ), + XREF_ENTRY( 0x0D, XREF_CDirectSoundVoiceSettings_SetMixBins ), { 0x02, 0x74 }, { 0x06, 0x74 }, @@ -420,10 +420,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 5558, 8, - XREF_DSSETMIXBINSA, + XREF_CDirectSoundBuffer_SetMixBins, XRefOne) - XREF_ENTRY( 0x32, XREF_DSSETMIXBINSB ), + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetMixBins ), { 0x0C, 0x00 }, { 0x12, 0x85 }, @@ -442,7 +442,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 5558, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x15, XREF_DSSETMIXBINSA ), + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetMixBins ), { 0x02, 0x24 }, { 0x06, 0x24 }, @@ -1262,7 +1262,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 5558, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x36, XREF_DSSETMIXBINSB ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBins ), { 0x00, 0x56 }, { 0x0C, 0x00 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 57dbf638b..5395bdd21 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -26,11 +26,25 @@ // * If not, write to the Free Software Foundation, Inc., // * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. // * -// * (c) 2002-2003 Aaron Robinson +// * (c) 2017 RadWolfie +// * (c) 2017 jarupxx // * // * All rights reserved // * // ****************************************************************** + +// TODO: Known DSound OOVPA issue list +// * 3911 to 4039(?): Following separater functions has exact asm codes as whole function are... +// * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume +// * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch +// * IDirectSoundStream_SetLFO & CDirectSoundStream_SetLFO +// * IDirectSoundStream_SetEG & CDirectSoundStream_SetEG +// * IDirectSoundStream_SetFilter & CDirectSoundStream_SetFilter +// * IDirectSoundStream_SetHeadroom & CDirectSoundStream_SetHeadroom +// * IDirectSoundStream_SetFrequency & CDirectSoundStream_SetFrequency +// * IDirectSoundStream_SetMixBins & CDirectSoundStream_SetMixBins +// * Need to include patch, func export, support for IDirectSoundStream_Setxxxxx from above. + #ifndef DSOUND_OOVPA_INL #define DSOUND_OOVPA_INL @@ -182,26 +196,26 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3911, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242), - REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3936, 5233), - REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3936, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3911, 3936, 5233), + REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3911, 3936, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3911, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3911, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3936, 4627, 5233, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3911, 3936, 4627, 5233, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 3911, 4627), - REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffFactor, PATCH, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3911, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3936, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, XREF, 3911, 4039, 4134, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_CommitEffectData, XREF, 3911), @@ -253,7 +267,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3911 /*,5344, 5788*/), REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3911 /*, 5558, 5788*/), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3911, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3911, 4039, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3911, 4039), @@ -272,11 +286,18 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, UNPATCHED, 3911), - //REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911), //TODO: IDirectSoundStream_SetEG and CDirectSoundStream_SetEG has 2 seperate functions. Except has the same asm codes. + REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetLFO, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetFilter, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetFrequency, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetHeadroom, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetMixBins, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, UNPATCHED, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetPitch, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetPosition, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, UNPATCHED, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetVolume, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CommitEffectData, PATCH, 3911), From c3c007d97f54e34047b33bf7f1039f7168658b68 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 30 Sep 2017 17:45:04 -0500 Subject: [PATCH 084/146] Fix CDSS_GetStatus and CDS_DownloadEffectsImage - 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 --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 74 ++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 46 ++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 4 +- 4 files changed, 125 insertions(+), 3 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 9b38c4be9..9594ca6ea 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -2086,7 +2086,9 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream_GetStatus // ****************************************************************** -OOVPA_NO_XREF(CDirectSoundStream_GetStatus, 3911, 13) +OOVPA_NO_XREF(CDirectSoundStream_GetStatus, 3911, 14) + + { 0x00, 0x56 }, //Prevent false detection & check if is at beginning of function. { 0x08, 0x8B }, { 0x0B, 0x08 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index e94a7e11a..14d6fb290 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -2297,3 +2297,77 @@ OOVPA_XREF(CDirectSound_SetOrientation, 4039, 13, { 0x5D , 0x8B }, { 0x5F , 0x20 }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_GetStatus +// ****************************************************************** +OOVPA_NO_XREF(CDirectSoundStream_GetStatus, 4039, 14) + + { 0x00, 0x56 }, + + { 0x27, 0x8B }, + { 0x2A, 0x08 }, + + { 0x2B, 0x8B }, + { 0x2D, 0x24 }, + + { 0x33, 0x8B }, + { 0x36, 0x0C }, + + { 0x37, 0xF7 }, + { 0x39, 0x1B }, + { 0x3B, 0xF7 }, + + //CDirectSoundStream_GetStatus+0x20 : mov dword ptr [ecx], eax + { 0x3F, 0x89 }, + { 0x40, 0x01 }, + + { 0x51, 0xC2 }, + { 0x52, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_DownloadEffectsImage +// ****************************************************************** +OOVPA_XREF(CDirectSound_DownloadEffectsImage, 4039, 18, + + XREF_CDirectSound_DownloadEffectsImage, + XRefZero) + + // CDirectSound_DownloadEffectsImage+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSound_DownloadEffectsImage+0x2B : mov esi,dword ptr [ebp+8] + { 0x2B, 0x8B }, + { 0x2C, 0x75 }, + { 0x2D, 0x08 }, + + // CDirectSound_DownloadEffectsImage+0x2E : push dword ptr [ebp+14h] + { 0x2E, 0xFF }, + { 0x2F, 0x75 }, + { 0x30, 0x14 }, + + // CDirectSound_DownloadEffectsImage+0x31 : mov ecx,dword ptr [esi+8] + { 0x31, 0x8B }, + { 0x32, 0x4E }, + { 0x33, 0x08 }, + + // CDirectSound_DownloadEffectsImage+0x39 : push dword ptr [ebp+18h] + { 0x39, 0xFF }, + //{ 0x3A, 0x75 }, + { 0x3B, 0x18 }, + + // CDirectSound_DownloadEffectsImage+0x3F : push dword ptr [ebp+10h] + { 0x3F, 0xFF }, + //{ 0x40, 0x75 }, + { 0x41, 0x10 }, + + // CDirectSound_DownloadEffectsImage+0x42 : push dword ptr [ebp+0Ch] + { 0x42, 0xFF }, + //{ 0x43, 0x75 }, + { 0x44, 0x0C }, + + // CDirectSound_DownloadEffectsImage+0x60 : ret 14h + { 0x60, 0xC2 }, + { 0x61, 0x14 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 46ca03e65..dd73f4ed3 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2974,6 +2974,52 @@ OOVPA_XREF(CDirectSound_SetOrientation, 4134, 13, { 0x60 , 0x20 }, OOVPA_END; +// ****************************************************************** +// * CDirectSound_DownloadEffectsImage +// ****************************************************************** +OOVPA_XREF(CDirectSound_DownloadEffectsImage, 4134, 18, + + XREF_CDirectSound_DownloadEffectsImage, + XRefZero) + + // CDirectSound_DownloadEffectsImage+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSound_DownloadEffectsImage+0x2C : mov esi,dword ptr [ebp+8] + { 0x2C, 0x8B }, + { 0x2D, 0x75 }, + { 0x2E, 0x08 }, + + // CDirectSound_DownloadEffectsImage+0x2F : push dword ptr [ebp+14h] + { 0x2F, 0xFF }, + { 0x30, 0x75 }, + { 0x31, 0x14 }, + + // CDirectSound_DownloadEffectsImage+0x32 : mov ecx,dword ptr [esi+8] + { 0x32, 0x8B }, + { 0x33, 0x4E }, + { 0x34, 0x08 }, + + // CDirectSound_DownloadEffectsImage+0x3A : push dword ptr [ebp+18h] + { 0x3A, 0xFF }, + //{ 0x3B, 0x75 }, + { 0x3C, 0x18 }, + + // CDirectSound_DownloadEffectsImage+0x40 : push dword ptr [ebp+10h] + { 0x40, 0xFF }, + //{ 0x41, 0x75 }, + { 0x42, 0x10 }, + + // CDirectSound_DownloadEffectsImage+0x43 : push dword ptr [ebp+0Ch] + { 0x43, 0xFF }, + //{ 0x44, 0x75 }, + { 0x45, 0x0C }, + + // CDirectSound_DownloadEffectsImage+0x61 : ret 14h + { 0x61, 0xC2 }, + { 0x62, 0x14 }, +OOVPA_END; + // ****************************************************************** // * DSound_4134 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 5395bdd21..30c794f2d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -188,7 +188,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_Flush, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), REGISTER_OOVPAS(CDirectSoundStream_GetInfo, PATCH, 3911), - REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911), + REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911, 4039), REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4361, 5558), REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911), @@ -221,7 +221,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_CommitEffectData, XREF, 3911), REGISTER_OOVPAS(CDirectSound_CreateSoundBuffer, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3911, 4039, 4134, 5558), - REGISTER_OOVPAS(CDirectSound_DownloadEffectsImage, XREF, 3911), + REGISTER_OOVPAS(CDirectSound_DownloadEffectsImage, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3911, 4627, 5233, 5344, 5558), REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3911, 4361), From 3e8efec2259d6b8945edac1cd8b67b245048fac8 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 23 Sep 2017 08:35:27 +0900 Subject: [PATCH 085/146] Verified EmuD3DDeferredRenderState and EmuD3DDeferredTextureState Source: Azurik - Rise of Perathia (3925) Shikigami no Shiro (3948) NightCaster (4039) --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.h | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.h | 2 ++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 4 +++- src/CxbxKrnl/HLEIntercept.cpp | 18 ++++++++++-------- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.h b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.h index d5f6ab188..bb742ccbe 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.h +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.h @@ -36,6 +36,7 @@ #include "OOVPA.h" +extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4034; extern LOOVPA<2+14> D3DDevice_SetRenderState_CullMode_4034; extern OOVPATable D3D8_4034[]; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 7942281b5..2a7c652d7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -978,7 +978,7 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4034, 1+10, XRefNoSaveIndex, XRefOne) - XREF_ENTRY(0x11, XREF_D3DTSS_TEXCOORDINDEX), // Derived - TODO : Verify 0x11 (could be 0x18 or 0x19) + XREF_ENTRY(0x18, XREF_D3DTSS_TEXCOORDINDEX), // Derived // D3DDevice_SetTextureState_TexCoordIndex+0x13 : shl eax, 0x07 { 0x13, 0xC1 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.h b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.h index 3727400ee..56e5a313b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.h +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.h @@ -36,7 +36,9 @@ #include "OOVPA.h" +#if 0 // Moved to 4034 extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4134; +#endif extern OOVPATable D3D8_4134[]; extern uint32 D3D8_4134_SIZE; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 0fada51b4..b4b55c6f8 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // Moved to 403‚S // ****************************************************************** // * D3DDevice_SetTextureState_TexCoordIndex // ****************************************************************** @@ -60,6 +61,7 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4134, 1+10, { 0xB5, 0xE2 }, { 0xB6, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTransform @@ -2584,7 +2586,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 03b908796..b4fb75bd2 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -411,9 +411,9 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) xbaddr upper = pXbeHeader->dwBaseAddr + pXbeHeader->dwSizeofImage; } else if (strcmp(LibraryName.c_str(), Lib_D3D8) == 0 && - (BuildVersion == 3925 || BuildVersion == 4134 || BuildVersion == 4361 || BuildVersion == 4432 - || BuildVersion == 4627 || BuildVersion == 5028 || BuildVersion == 5233 || BuildVersion == 5344 - || BuildVersion == 5558 || BuildVersion == 5788 || BuildVersion == 5849)) + (BuildVersion == 3925 || BuildVersion == 4034 || BuildVersion == 4134 || BuildVersion == 4361 + || BuildVersion == 4432 || BuildVersion == 4627 || BuildVersion == 5028 || BuildVersion == 5233 + || BuildVersion == 5344 || BuildVersion == 5558 || BuildVersion == 5788 || BuildVersion == 5849)) { // Save D3D8 build version g_BuildVersion = BuildVersion; @@ -446,12 +446,13 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) DerivedAddr_D3DRS_CULLMODE = *(xbaddr*)(pFunc + 0x25); Decrement = 0x1FC; // TODO: Clean up (?) Increment = 82 * 4; - patchOffset = 105 * 4; // TODO: Verify + patchOffset = 140 * 4; // Verified 3925 and 3948 //Decrement = 0x19F; // TODO: Clean up (?) //Increment = 72 * 4; //patchOffset = 142*4; // TODO: Verify } +#if 0 // Same as 4134 else if (BuildVersion == 4034) { DerivedAddr_D3DRS_CULLMODE = *(xbaddr*)(pFunc + 0x2B); @@ -459,7 +460,8 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) Increment = 82 * 4; patchOffset = 142 * 4; } - else if (BuildVersion == 4134 || BuildVersion == 4361) +#endif + else if (BuildVersion == 4034 || BuildVersion == 4134 || BuildVersion == 4361) { DerivedAddr_D3DRS_CULLMODE = *(xbaddr*)(pFunc + 0x2B); Decrement = 0x200; @@ -539,8 +541,8 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) if(BuildVersion == 3925) pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_3925, lower, upper); // TODO : What about 4034? Use it once it's offset to XREF_D3DTSS_TEXCOORDINDEX is verified - else if(BuildVersion == 4134) - pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4134, lower, upper); + else if(BuildVersion == 4034 || BuildVersion == 4134) + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4034, lower, upper); else if(BuildVersion == 4361 || BuildVersion == 4432) pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4361, lower, upper); else if(BuildVersion == 4627 || BuildVersion == 5028 || BuildVersion == 5233 || BuildVersion == 5344 @@ -556,7 +558,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) { if (BuildVersion == 3925) // 0x18F180 DerivedAddr_D3DTSS_TEXCOORDINDEX = *(xbaddr*)(pFunc + 0x11); - else if (BuildVersion == 4134) + else if (BuildVersion == 4034 || BuildVersion == 4134) DerivedAddr_D3DTSS_TEXCOORDINDEX = *(xbaddr*)(pFunc + 0x18); else DerivedAddr_D3DTSS_TEXCOORDINDEX = *(xbaddr*)(pFunc + 0x19); From a72cfb8191647c626c0b0c0ae82e5c86cbc88333 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 23 Sep 2017 09:07:13 +0900 Subject: [PATCH 086/146] initialize commits of HLEDB 2v D3D --- build/win32/Cxbx.vcxproj | 1 + build/win32/Cxbx.vcxproj.filters | 3 + src/CxbxKrnl/HLEDataBase.cpp | 17 +- src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 301 ++++++++++++++++++++++++ 4 files changed, 309 insertions(+), 13 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index 405ecb0a1..a57dadea8 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -337,6 +337,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 4b63c8002..ec29284fb 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -611,6 +611,9 @@ + + HLEDatabase\D3D8 + HLEDatabase\D3D8 diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 5ecbaaccb..3e15a6404 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -68,18 +68,7 @@ const char *Sec_XNET = "XNET"; #include "EmuXTL.h" #include "HLEDataBase.h" #include "HLEDataBase/Xapi.OOVPA.inl" -#include "HLEDataBase/D3D8.1.0.3925.inl" -#include "HLEDataBase/D3D8.1.0.4034.inl" -#include "HLEDataBase/D3D8.1.0.4134.inl" -#include "HLEDataBase/D3D8.1.0.4361.inl" -#include "HLEDataBase/D3D8.1.0.4432.inl" -#include "HLEDataBase/D3D8.1.0.4627.inl" -#include "HLEDataBase/D3D8.1.0.5028.inl" -#include "HLEDataBase/D3D8.1.0.5233.inl" -#include "HLEDataBase/D3D8.1.0.5344.inl" -#include "HLEDataBase/D3D8.1.0.5558.inl" -#include "HLEDataBase/D3D8.1.0.5788.inl" -#include "HLEDataBase/D3D8.1.0.5849.inl" +#include "HLEDataBase/D3D8.OOVPA.inl" #include "HLEDataBase/DSound.OOVPA.inl" #include "HLEDataBase/XG.1.0.3911.inl" #include "HLEDataBase/XG.1.0.4034.inl" @@ -130,6 +119,7 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_XAPILIB, XAPI, 5788), HLE_ENTRY(Lib_XAPILIB, XAPI, 5849), #endif +#if ENABLE_LEGACY_D3D8_DB HLE_ENTRY(Lib_D3D8, D3D8, 3925), HLE_ENTRY(Lib_D3D8, D3D8, 4034), HLE_ENTRY(Lib_D3D8, D3D8, 4134), @@ -142,6 +132,7 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_D3D8, D3D8, 5558), HLE_ENTRY(Lib_D3D8, D3D8, 5788), HLE_ENTRY(Lib_D3D8, D3D8, 5849), +#endif #if ENABLE_LEGACY_DSOUND_DB HLE_ENTRY(Lib_DSOUND, DSound, 3936), HLE_ENTRY(Lib_DSOUND, DSound, 4134), @@ -193,7 +184,7 @@ const HLEData HLEDataBase[] = const HLEDataV2 HLEDataBaseV2[] = { // - //{ Lib_D3D8,{ Sec_D3D }, D3D8_OOVPAV2, D3D8_OOVPA_SIZEV2 }, + { Lib_D3D8,{ Sec_D3D }, D3D8_OOVPAV2, D3D8_OOVPA_SIZEV2 }, // Cannot support LTCG in HLE //{ Lib_D3D8LTCG,{ Sec_D3D }, _OOVPAV2, _OOVPA_SIZEV2 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl new file mode 100644 index 000000000..98371b4fe --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -0,0 +1,301 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->HLEDatabase->D3D8.OOVPA.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +#ifndef D3D8_OOVPA_INL +#define D3D8_OOVPA_INL + +#include "../OOVPA.h" + +#include "HLEDataBase/D3D8.1.0.3925.inl" +#include "HLEDataBase/D3D8.1.0.4034.inl" +#include "HLEDataBase/D3D8.1.0.4134.inl" +#include "HLEDataBase/D3D8.1.0.4361.inl" +#include "HLEDataBase/D3D8.1.0.4432.inl" +#include "HLEDataBase/D3D8.1.0.4627.inl" +#include "HLEDataBase/D3D8.1.0.5028.inl" +#include "HLEDataBase/D3D8.1.0.5233.inl" +#include "HLEDataBase/D3D8.1.0.5344.inl" +#include "HLEDataBase/D3D8.1.0.5558.inl" +#include "HLEDataBase/D3D8.1.0.5788.inl" +#include "HLEDataBase/D3D8.1.0.5849.inl" + + +// ****************************************************************** +// * D3D8_OOVPA +// ****************************************************************** +OOVPATable D3D8_OOVPAV2[] = { + + REGISTER_OOVPAS(CMiniport_CreateCtxDmaObject, PATCH, 3911, 4034), + REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 3911, 4034, 4361, 4627, 5558), + REGISTER_OOVPAS(CMiniport_IsFlipPending, XREF, 4627), + REGISTER_OOVPAS(D3DBaseTexture_GetLevelCount, PATCH, 3911), + REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, PATCH, 3911, 4134, 4627, 5558), // Called D3DCubeTexture_GetCubeMapSurface2 (from 4627's comment) NOTE: Use D3DCubeTexture_GetCubeMapSurface2 for 4627 and above + REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, PATCH, 4627), + REGISTER_OOVPAS(D3DCubeTexture_LockRect, PATCH, 3925), // Just calls Lock2DSurface (from 4134, 4432's comment) + REGISTER_OOVPAS(D3DDevice_AddRef, PATCH, 3925, 4134, 4361, 4627, 5028, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_ApplyStateBlock, PATCH, 3925, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_Begin, PATCH, 3925, 4039), + REGISTER_OOVPAS(D3DDevice_BeginPush, PATCH, 4134, 4432, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_BeginPushBuffer, PATCH, 3925, 4134), // Not implemented yet. (from 5788's comment) + REGISTER_OOVPAS(D3DDevice_BeginStateBig, XREF, 5028), + REGISTER_OOVPAS(D3DDevice_BeginStateBlock, PATCH, 3911, 4134), + REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 3925, 4034, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3925, 4039, 4134, 5233), + REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3925, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3925, 4134, 4627, 5455), + REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3925, 4034, 4134, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3925, 4034, 4134, 4627, 5233), + REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3925, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3925, 4034, 4134, 4627),//TODO 4721,4928 (from 4627's comment) + REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer, UNPATCHED, 3925, 4627/*, 5558*/), // TODO: This needs to be verified on 4361 + REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer2, UNPATCHED, 4627, 5344), + REGISTER_OOVPAS(D3DDevice_CreatePalette, PATCH, 3925, 4627), // Called D3DDevice_CreatePalette2 (from 4627's comment) NOTE: Use D3DDevice_CreatePalette2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_CreatePalette2, PATCH, 4627, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_CreatePixelShader, PATCH, 3925, 5344, 5788), + REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3925, 4627), + REGISTER_OOVPAS(D3DDevice_CreateTexture, PATCH, 3925, 4627),// Called D3DDevice_CreateTexture2 (from 4627's comment) NOTE: Use D3DDevice_CreateTexture2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_CreateTexture2, PATCH, 4627, 4831, 5028, 5233), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer, UNPATCHED, 3925), + REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer2, UNPATCHED, 4627, 5344, 5455), + REGISTER_OOVPAS(D3DDevice_CreateVertexShader, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_CreateVolumeTexture, PATCH, 3925, 4627), + REGISTER_OOVPAS(D3DDevice_DeletePatch, UNPATCHED, 4034), // (TODO) (from 4034's comment) + REGISTER_OOVPAS(D3DDevice_DeletePixelShader, PATCH, 3925, 5344), + REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 3925, 4361, 5788), + REGISTER_OOVPAS(D3DDevice_DeleteVertexShader, PATCH, 3925, 5344), + REGISTER_OOVPAS(D3DDevice_DrawIndexedVertices, PATCH, 3925, 4034, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, PATCH, 3925, 4039, 4134, 4627, 5028, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_DrawRectPatch, PATCH, 3911), // TODO: Unused? (from 4034's comment) + REGISTER_OOVPAS(D3DDevice_DrawTriPatch, UNPATCHED, 3911), + REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 3925, 4034, 5028), + REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 3925, 4039, 4134, 4627, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_EnableOverlay, PATCH, 4134), + REGISTER_OOVPAS(D3DDevice_End, PATCH, 3925, 4039, 4627, 5028, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_EndPush, PATCH, 4134, 4627), // Was 4627 (from 5233's comment) + REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3925, 4134, 4627, 5788), // Not implemented yet. (from 5788's comment) + REGISTER_OOVPAS(D3DDevice_EndStateBlock, PATCH, 3911, 4134), + REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 3925, 4034, 4361, 4627, 5788), + REGISTER_OOVPAS(D3DDevice_FlushVertexCache, PATCH, 3925, 4134), + REGISTER_OOVPAS(D3DDevice_GetBackBuffer, PATCH, 3925, 4034, 4134, 4627, 5558), // Called D3DDevice_GetBackBuffer2 (from 4627's comment) NOTE: Use D3DDevice_GetBackBuffer2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, PATCH, 4627, 5028, 5344, 5455, 5558, 5788), // 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_GetBackMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetCreationParameters, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface, PATCH, 3911, 4627), // Called D3DDevice_GetDepthStencilSurface2 (from 4627's comment) NOTE: Use D3DDevice_GetDepthStencilSurface2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface2, PATCH, 4627, 5028, 5788), + REGISTER_OOVPAS(D3DDevice_GetDeviceCaps, UNPATCHED, 3925), + REGISTER_OOVPAS(D3DDevice_GetDisplayFieldStatus, PATCH, 3925, 4039, 4432, 5233, 5788), + REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 3925, 4039, 4432, 4627), + REGISTER_OOVPAS(D3DDevice_GetGammaRamp, PATCH, 3925, 4034), + REGISTER_OOVPAS(D3DDevice_GetLight, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_GetLightEnable, PATCH, 3911, 5028), + REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetModelView, PATCH, 3925, 4134), + REGISTER_OOVPAS(D3DDevice_GetOverlayUpdateStatus, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_GetPersistedSurface2, PATCH, 4928), // For only on Unreal Championship (from 4627's comment) + REGISTER_OOVPAS(D3DDevice_GetPixelShader, PATCH, 3925, 4039, 4134, 5028, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetProjectionViewportMatrix, PATCH, 3925, 4134, 4432, 4627, 5344, 5558), // For 5455 (from 5558's comment) + REGISTER_OOVPAS(D3DDevice_GetPushBufferOffset, PATCH, 3925, 4627),//TODO 4831 (from 4627's comment) + REGISTER_OOVPAS(D3DDevice_GetRenderTarget, PATCH, 3925, 4039, 4134, 4361, 4432, 4627), // Called D3DDevice_GetRenderTarget2 (from 4627's comment) NOTE: Use D3DDevice_GetRenderTarget2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, PATCH, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_GetScissors, PATCH, 3911, 5788), + REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3925, 4134, 4627, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetStreamSource2, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3925, 4134, 4627, 5028, 5344, 5558), // NOT 5455 (from 5558's comment) + REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3925, 4039), + REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3925, 4039, 4134, 5028, 5788), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderConstant, PATCH, 3925, 4039, 5028), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3925, 4134, 4627, 5558), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3925, 4134), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderInput, PATCH, 3925, 4134, 4627), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderSize, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderType, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_GetViewport, PATCH, 3925, 4034, 4134, 4627, 5344, 5558, 5788), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale, PATCH, 4627, 5558), + REGISTER_OOVPAS(D3DDevice_GetVisibilityTestResult, PATCH, 3925, 5233), + REGISTER_OOVPAS(D3DDevice_InsertCallback, PATCH, 3925, 4134, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_InsertFence, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3925, 4034, 5028, 5344), + REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3925, 4039, 5028, 5558), + REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3925, 4039, 4134, 4627, 5028, 5455, 5788), + REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_LazySetStateVB, XREF, 5028), + REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911, 5028, 5344), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_LoadVertexShader, PATCH, 3925, 4034, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, PATCH, 3925, 4134, 4627, 5558), + REGISTER_OOVPAS(D3DDevice_MakeSpace, UNPATCHED, 5558), + REGISTER_OOVPAS(D3DDevice_PersistDisplay, PATCH, 3925, 4039, 4627, 4831, 5455, 5558), + REGISTER_OOVPAS(D3DDevice_Present, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_PrimeVertexCache, PATCH, 3925, 4134, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_Release, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3925, 4039), + REGISTER_OOVPAS(D3DDevice_RunPushBuffer, PATCH, 3925, 4039, 4627, 5120, 5558), // for 5455 (from 5558's comment) + REGISTER_OOVPAS(D3DDevice_RunVertexStateShader, PATCH, 3925, 4134), + REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3925, 4039, 4627, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, PATCH, 4361), + REGISTER_OOVPAS(D3DDevice_SetBackBufferScale, PATCH, 4039), + REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetDepthClipPlanes, PATCH, 4627, 5788, 5849), + REGISTER_OOVPAS(D3DDevice_SetFlickerFilter, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetGammaRamp, PATCH, 3925, 4627), + REGISTER_OOVPAS(D3DDevice_SetIndices, UNPATCHED, 3925, 4034, 4134, 5028, 5558), + REGISTER_OOVPAS(D3DDevice_SetLight, PATCH, 3925, 4034, 4134, 5028, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3925, 4034, 4134, 4627, 5344, 5455, 5558, 5788), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetModelView, PATCH, 3925, 4134, 4627), + REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3925, 4034, 4134, 4432, 4627, 5233, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3925, 4039, 4134, 4432, 4627), + REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3925, 4039, 4928, 5233, 5558), + REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3925, 4361, 4627, 5558), + REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3925, 4034, 4134, 4531, 5788), + REGISTER_OOVPAS(D3DDevice_SetRenderState_CullMode, PATCH, 3911, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_Deferred, UNPATCHED, 3925), + REGISTER_OOVPAS(D3DDevice_SetRenderState_DoNotCullUncompressed, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_SetRenderState_Dxt1NoiseEnable, PATCH, 3925, 4034, 4134, 4627, 5028, 5344, 5558), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetRenderState_EdgeAntiAlias, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_FillMode, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_FogColor, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_FrontFace, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_LineWidth, PATCH, 3925, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_LogicOp, PATCH, 3925, 4034, 4134, 4627), + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleAntiAlias, PATCH, 3925, 4034, 4134, 4432, 4627), + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMask, PATCH, 3925, 4034, 4134, 4627), + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMode, PATCH, 3925, 4034, 4134, 4627, 5233, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, PATCH, 4034, 4134, 4627, 5233, 5344, 5455, 5558, 5788), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetRenderState_NormalizeNormals, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_OcclusionCullEnable, PATCH, 3925, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_PSTextureModes, PATCH, 3925, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZCmpAlwaysRead, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZRead, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_SetRenderState_SampleAlpha, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_SetRenderState_ShadowFunc, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_Simple, PATCH, 3925, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilCullEnable, PATCH, 3925, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilEnable, PATCH, 3925, 4034, 4134, 5849), + REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilFail, PATCH, 3925, 4034, 4134, 5849), + REGISTER_OOVPAS(D3DDevice_SetRenderState_TextureFactor, PATCH, 3925, 4034, 4134, 5028, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetRenderState_TwoSidedLighting, PATCH, 3925, 4034, 4134, 5344, 5558), // Beware of the typo... (from 4627's comment) + REGISTER_OOVPAS(D3DDevice_SetRenderState_VertexBlend, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_YuvEnable, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_ZBias, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, PATCH, 3925, 4034, 4134, 4432, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3925, 3948, 4039, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 5233, 5344), + REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3925, 4039, 4361, 4627, 5233, 5344, 5558), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4039, 5233, 5344, 5455), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3925, 4039, 4134, 4361, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetStateUP, UNPATCHED, 3911, 4627), + REGISTER_OOVPAS(D3DDevice_SetStateVB, UNPATCHED, 3911, 4627), + REGISTER_OOVPAS(D3DDevice_SetStipple, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_SetStreamSource, PATCH, 3925, 4034), + REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4361, 4432, 4928, 5028, 5233, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3925, 4034, 4627, 4928, 5233), // Was 4928 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3925, 4034, 4361), + REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3925, 4039), + REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3925, 4034, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3925, 4039, 4134, 4627, 5028, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3925, 4034, 4134, 5344, 5558), // Was 4134 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3925, 4039), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3925, 4134, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexData4f, PATCH, 3925, 4039), + REGISTER_OOVPAS(D3DDevice_SetVertexData4s, PATCH, 3925, 4134, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexData4ub, PATCH, 3925, 4134), + REGISTER_OOVPAS(D3DDevice_SetVertexDataColor, PATCH, 3925, 4039, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexShader, PATCH, 3925, 4034, 4134, 5028, 5558), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant, PATCH, 3925, 4034, 4627), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1, PATCH, 4627, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1Fast, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant4, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInline, PATCH, 4627, 5028, 5558), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInlineFast, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, PATCH, 3925, 4134, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderInputDirect, PATCH, 4361), + REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3925, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3925, 4034, 4627, 5028, 5344, 5558), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 4034, 4134, 4361, 4432, 4531, 4627, 5028, 5233), + REGISTER_OOVPAS(D3DDevice_SwitchTexture, PATCH, 3925, 4361), + REGISTER_OOVPAS(D3DDevice_UpdateOverlay, PATCH, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5558), + REGISTER_OOVPAS(D3DPalette_Lock, PATCH, 3925, 4627, 5344), // Called D3DPalette_Lock2 (from 4627's comment) NOTE: Use D3DPalette_Lock2 for 4627 and above + REGISTER_OOVPAS(D3DPalette_Lock2, PATCH, 4627), + REGISTER_OOVPAS(D3DResource_AddRef, PATCH, 3925), + REGISTER_OOVPAS(D3DResource_BlockUntilNotBusy, PATCH, 3925), + REGISTER_OOVPAS(D3DResource_GetType, UNPATCHED, 3925, 4034), // Probably not even necessary... (from 3925's comment) // I forget why I had this in here... (from 5028's comment) + REGISTER_OOVPAS(D3DResource_IsBusy, PATCH, 3925, 4039), + REGISTER_OOVPAS(D3DResource_Register, PATCH, 3925), + REGISTER_OOVPAS(D3DResource_Release, PATCH, 3925, 4361), + REGISTER_OOVPAS(D3DSurface_GetDesc, PATCH, 3925), + REGISTER_OOVPAS(D3DSurface_LockRect, PATCH, 3925), + REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel, PATCH, 3925, 4432), + REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel2, PATCH, 4627), + REGISTER_OOVPAS(D3DTexture_LockRect, PATCH, 3925), + REGISTER_OOVPAS(D3DVertexBuffer_GetDesc, UNPATCHED, 3925), + REGISTER_OOVPAS(D3DVertexBuffer_Lock, PATCH, 3925, 4034, 4531, 4627, 5788), + REGISTER_OOVPAS(D3DVertexBuffer_Lock2, PATCH, 4627, 5788), + REGISTER_OOVPAS(D3DVolumeTexture_LockBox, PATCH, 3925), // Just calls Lock3DSurface (from 4134, 4432's comment) + REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3925, 5788), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment) + REGISTER_OOVPAS(D3D_BlockOnResource, PATCH, 3925, 4034), + REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3925, 4039, 4361, 4627, 5028, 5558, 5849), + REGISTER_OOVPAS(D3D_CMiniport_GetDisplayCapabilities, PATCH, 3911), + REGISTER_OOVPAS(D3D_CheckDeviceFormat, UNPATCHED, 3911, 4134), + REGISTER_OOVPAS(D3D_ClearStateBlockFlags, XREF, 3911, 5788), + REGISTER_OOVPAS(D3D_CommonSetRenderTarget, XREF, 4627, 5028, 5233), // Used between 4627 to 5233 (from 5344's comment) + REGISTER_OOVPAS(D3D_CommonSetRenderTargetB, XREF, 4627), + REGISTER_OOVPAS(D3D_CreateDeviceX, UNPATCHED, 4627), + REGISTER_OOVPAS(D3D_CreateStandAloneSurface, XREF, 4134), + REGISTER_OOVPAS(D3D_GetAdapterIdentifier, UNPATCHED, 3925), + REGISTER_OOVPAS(D3D_GetDeviceCaps, UNPATCHED, 3925), + REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle, PATCH, 3925, 4034, 4627, 5028), + REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle2, PATCH, 4627), + REGISTER_OOVPAS(D3D_LazySetPointParams, PATCH, 3911, 4039), + REGISTER_OOVPAS(D3D_RecordStateBlock, XREF, 3911, 5788), + REGISTER_OOVPAS(D3D_SetCommonDebugRegisters, PATCH, 3925), + REGISTER_OOVPAS(D3D_SetFence, XREF, 3925, 4039, 4134, 5028, 5558), + REGISTER_OOVPAS(D3D_SetPushBufferSize, UNPATCHED, 3911), + REGISTER_OOVPAS(D3D_Unknown, XREF, 5788), + REGISTER_OOVPAS(Direct3D_CheckDeviceMultiSampleType, UNPATCHED, 3911), + REGISTER_OOVPAS(Direct3D_CreateDevice, PATCH, 3911, 5028), + REGISTER_OOVPAS(Get2DSurfaceDesc, PATCH, 3925, 4034, 4134, 4627, 5028, 5344, 5558, 5788, 5849), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(Lock2DSurface, PATCH, 3925), + REGISTER_OOVPAS(Lock3DSurface, PATCH, 3911), + REGISTER_OOVPAS(D3D_MakeRequestedSpace, PATCH, 4134, 5028, 5558, 5788), + REGISTER_OOVPAS(XMETAL_StartPush, UNPATCHED, 3925), +}; + +// ****************************************************************** +// * D3D8_OOVPA_SIZE +// ****************************************************************** +uint32 D3D8_OOVPA_SIZEV2 = sizeof(D3D8_OOVPAV2); + +#endif From 064a3173d901a3b5920ad07c09c4d56e250bca2d Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 23 Sep 2017 09:37:52 +0900 Subject: [PATCH 087/146] initialize commits of scan locate D3DDeferredRenderState D3DDeferredTextureState --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.h | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 4 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.h | 2 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 5 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 2 +- src/CxbxKrnl/HLEIntercept.cpp | 167 ++++++++++++++++++++- 11 files changed, 179 insertions(+), 13 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.h b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.h index a01167c84..1d1ba46b5 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.h +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.h @@ -36,7 +36,7 @@ #include "OOVPA.h" -extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4361; +extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4242; extern OOVPATable D3D8_4361[]; extern uint32 D3D8_4361_SIZE; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index d64a08708..2f6f4501f 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -595,7 +595,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTextureState_TexCoordIndex // ****************************************************************** -OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4361, 1+10, +OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, 1+10, XRefNoSaveIndex, XRefOne) @@ -1242,7 +1242,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4361, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index e15094bd0..ce6cf4615 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -645,7 +645,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.h b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.h index 766f94047..5642fa50a 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.h +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.h @@ -36,7 +36,9 @@ #include "OOVPA.h" +#if 0 // No longer used, replaced by generic 4034 version extern LOOVPA<2+13> D3DDevice_SetRenderState_CullMode_5233; +#endif extern OOVPATable D3D8_5233[]; extern uint32 D3D8_5233_SIZE; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 8bb87fc52..4272f1e1b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -123,7 +123,7 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 5233, 12) { 0xB2, 0xC2 }, { 0xB3, 0x1C }, OOVPA_END; - +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_CullMode // ****************************************************************** @@ -156,6 +156,7 @@ OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 5233, 2+13, { 0x55, 0x04 }, { 0x56, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTexture @@ -662,7 +663,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index 9a06dd46a..5e8c1df98 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -1127,7 +1127,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 1f34bea92..6003aeb60 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -1722,7 +1722,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 50e21d3df..1c59fc089 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -1070,7 +1070,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index 5ccf6bf0e..0fc68ee87 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -192,7 +192,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index 98371b4fe..a52296474 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -224,7 +224,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3925, 4034, 4361), REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3925, 4039), REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3925, 4034, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3925, 4034, 4242, 4627), REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3925, 4039, 4134, 4627, 5028, 5558, 5788), REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3925, 4034, 4134, 5344, 5558), // Was 4134 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3925, 4039), // Was 4627 (from 5344's comment) diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index b4fb75bd2..1e6579476 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -339,10 +339,11 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) // Skip scanning for D3D8 symbols when LLE GPU is selected if (bLLE_GPU) continue; - +#if ENABLE_LEGACY_D3D8_DB // Some 3911 titles have different D3D8 builds if (BuildVersion <= 3948) BuildVersion = 3925; +#endif } if (strcmp(LibraryName.c_str(), Lib_DSOUND) == 0) { @@ -410,6 +411,167 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) xbaddr lower = pXbeHeader->dwBaseAddr; xbaddr upper = pXbeHeader->dwBaseAddr + pXbeHeader->dwSizeofImage; } +#ifndef ENABLE_LEGACY_D3D8_DB + else if (strcmp(LibraryName.c_str(), Lib_D3D8) == 0) + { + xbaddr lower = pXbeHeader->dwBaseAddr; + xbaddr upper = pXbeHeader->dwBaseAddr + pXbeHeader->dwSizeofImage; + xbaddr pFunc = (xbaddr)nullptr; + + if(OrigBuildVersion >= 3925 && OrigBuildVersion < 4034) + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetRenderState_CullMode_3925, lower, upper); + else + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetRenderState_CullMode_4034, lower, upper); + + // locate D3DDeferredRenderState + if(pFunc != (xbaddr)nullptr) + { + // offset for stencil cull enable render state in the deferred render state buffer + xbaddr DerivedAddr_D3DRS_CULLMODE = NULL; + int Decrement = 0; // TODO : Rename into something understandable + int Increment = 0; // TODO : Rename into something understandable + int patchOffset = 0; // TODO : Rename into something understandable + + // Read address of D3DRS_CULLMODE from D3DDevice_SetRenderState_CullMode + // TODO : Simplify this when XREF_D3DRS_CULLMODE derivation is deemed stable + { + if (OrigBuildVersion >= 3925 && OrigBuildVersion < 4034) + { + DerivedAddr_D3DRS_CULLMODE = *(xbaddr*)(pFunc + 0x25); + Decrement = 0x1FC; // TODO: Clean up (?) + Increment = 82 * 4; + patchOffset = 140 * 4; // Verified 3925 and 3948 + + //Decrement = 0x19F; // TODO: Clean up (?) + //Increment = 72 * 4; + //patchOffset = 142*4; // TODO: Verify + } + else if (OrigBuildVersion >= 4034 && OrigBuildVersion <= 4361) + { + DerivedAddr_D3DRS_CULLMODE = *(xbaddr*)(pFunc + 0x2B); + Decrement = 0x200; + Increment = 82 * 4; + patchOffset = 142 * 4; + } + else if (OrigBuildVersion >= 4432 && OrigBuildVersion < 4627) + { + DerivedAddr_D3DRS_CULLMODE = *(xbaddr*)(pFunc + 0x2B); + Decrement = 0x204; + Increment = 83 * 4; + patchOffset = 143 * 4; + } + else if (OrigBuildVersion >= 4627 && OrigBuildVersion <= 5933) + { + DerivedAddr_D3DRS_CULLMODE = *(xbaddr*)(pFunc + 0x2B); + Decrement = 0x24C; + Increment = 92 * 4; + patchOffset = 162 * 4; + } + + // Temporary verification - is XREF_D3DDEVICE derived correctly? + xbaddr DerivedAddr_D3DDevice = *(xbaddr*)((xbaddr)pFunc + 0x03); + if (XRefDataBase[XREF_D3DDEVICE] != DerivedAddr_D3DDevice) + { + if (XRefDataBase[XREF_D3DDEVICE] != XREF_ADDR_DERIVE) + CxbxPopupMessage("Second derived XREF_D3DDEVICE differs from first!"); + + XRefDataBase[XREF_D3DDEVICE] = DerivedAddr_D3DDevice; + } + + g_SymbolAddresses["D3DDEVICE"] = DerivedAddr_D3DDevice; + + // Temporary verification - is XREF_D3DRS_CULLMODE derived correctly? + if (XRefDataBase[XREF_D3DRS_CULLMODE] != DerivedAddr_D3DRS_CULLMODE) + { + if (XRefDataBase[XREF_D3DRS_CULLMODE] != XREF_ADDR_DERIVE) + CxbxPopupMessage("Second derived XREF_D3DRS_CULLMODE differs from first!"); + + XRefDataBase[XREF_D3DRS_CULLMODE] = DerivedAddr_D3DRS_CULLMODE; + } + } + + // Derive address of EmuD3DDeferredRenderState from D3DRS_CULLMODE + XTL::EmuD3DDeferredRenderState = (DWORD*)(DerivedAddr_D3DRS_CULLMODE - Decrement + Increment); + patchOffset -= Increment; + + // Derive address of a few other deferred render state slots (to help xref-based function location) + XRefDataBase[XREF_D3DRS_MULTISAMPLEMODE] = (xbaddr)XTL::EmuD3DDeferredRenderState + patchOffset - 8*4; + XRefDataBase[XREF_D3DRS_MULTISAMPLERENDERTARGETMODE] = (xbaddr)XTL::EmuD3DDeferredRenderState + patchOffset - 7*4; + XRefDataBase[XREF_D3DRS_STENCILCULLENABLE] = (xbaddr)XTL::EmuD3DDeferredRenderState + patchOffset + 0*4; + XRefDataBase[XREF_D3DRS_ROPZCMPALWAYSREAD] = (xbaddr)XTL::EmuD3DDeferredRenderState + patchOffset + 1*4; + XRefDataBase[XREF_D3DRS_ROPZREAD] = (xbaddr)XTL::EmuD3DDeferredRenderState + patchOffset + 2*4; + XRefDataBase[XREF_D3DRS_DONOTCULLUNCOMPRESSED] = (xbaddr)XTL::EmuD3DDeferredRenderState + patchOffset + 3*4; + + for(int v=0;v<44;v++) + { + XTL::EmuD3DDeferredRenderState[v] = XTL::X_D3DRS_UNK; + } + + g_SymbolAddresses["D3DDeferredRenderState"] = (DWORD)XTL::EmuD3DDeferredRenderState; + printf("HLE: 0x%.08X -> EmuD3DDeferredRenderState\n", XTL::EmuD3DDeferredRenderState); + //DbgPrintf("HLE: 0x%.08X -> XREF_D3DRS_ROPZCMPALWAYSREAD\n", XRefDataBase[XREF_D3DRS_ROPZCMPALWAYSREAD] ); + } + else + { + XTL::EmuD3DDeferredRenderState = nullptr; + CxbxKrnlCleanup("EmuD3DDeferredRenderState was not found!"); + } + + // locate D3DDeferredTextureState + { + pFunc = (xbaddr)nullptr; + + if(OrigBuildVersion >= 3925 && OrigBuildVersion < 4034) + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_3925, lower, upper); + else if(OrigBuildVersion >= 4034 && OrigBuildVersion < 4242) + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4034, lower, upper); + else if(OrigBuildVersion >= 4242 && OrigBuildVersion < 4627) + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4242, lower, upper); + else if(OrigBuildVersion >= 4627) + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4627, lower, upper); + + if (pFunc != (xbaddr)nullptr) + { + xbaddr DerivedAddr_D3DTSS_TEXCOORDINDEX = NULL; + int Decrement = 0x70; // TODO : Rename into something understandable + + // TODO : Remove this when XREF_D3DTSS_TEXCOORDINDEX derivation is deemed stable + { + if (OrigBuildVersion >= 3925 && OrigBuildVersion < 4034) // 0x18F180 + DerivedAddr_D3DTSS_TEXCOORDINDEX = *(xbaddr*)(pFunc + 0x11); + else if (OrigBuildVersion >= 4034 && OrigBuildVersion < 4242) + DerivedAddr_D3DTSS_TEXCOORDINDEX = *(xbaddr*)(pFunc + 0x18); + else + DerivedAddr_D3DTSS_TEXCOORDINDEX = *(xbaddr*)(pFunc + 0x19); + + // Temporary verification - is XREF_D3DTSS_TEXCOORDINDEX derived correctly? + if (XRefDataBase[XREF_D3DTSS_TEXCOORDINDEX] != DerivedAddr_D3DTSS_TEXCOORDINDEX) + { + if (XRefDataBase[XREF_D3DTSS_TEXCOORDINDEX] != XREF_ADDR_DERIVE) + CxbxPopupMessage("Second derived XREF_D3DTSS_TEXCOORDINDEX differs from first!"); + + XRefDataBase[XREF_D3DTSS_TEXCOORDINDEX] = DerivedAddr_D3DTSS_TEXCOORDINDEX; + } + } + + XTL::EmuD3DDeferredTextureState = (DWORD*)(DerivedAddr_D3DTSS_TEXCOORDINDEX - Decrement); + + for(int s=0;s<4;s++) + { + for(int v=0;v<32;v++) + XTL::EmuD3DDeferredTextureState[v+s*32] = X_D3DTSS_UNK; + } + + g_SymbolAddresses["D3DDeferredTextureState"] = (DWORD)XTL::EmuD3DDeferredTextureState; + printf("HLE: 0x%.08X -> EmuD3DDeferredTextureState\n", XTL::EmuD3DDeferredTextureState); + } + else + { + XTL::EmuD3DDeferredTextureState = nullptr; + CxbxKrnlCleanup("EmuD3DDeferredTextureState was not found!"); + } + } +#else else if (strcmp(LibraryName.c_str(), Lib_D3D8) == 0 && (BuildVersion == 3925 || BuildVersion == 4034 || BuildVersion == 4134 || BuildVersion == 4361 || BuildVersion == 4432 || BuildVersion == 4627 || BuildVersion == 5028 || BuildVersion == 5233 @@ -544,7 +706,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) else if(BuildVersion == 4034 || BuildVersion == 4134) pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4034, lower, upper); else if(BuildVersion == 4361 || BuildVersion == 4432) - pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4361, lower, upper); + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4242, lower, upper); else if(BuildVersion == 4627 || BuildVersion == 5028 || BuildVersion == 5233 || BuildVersion == 5344 || BuildVersion == 5558 || BuildVersion == 5788 || BuildVersion == 5849) pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4627, lower, upper); @@ -591,6 +753,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) CxbxKrnlCleanup("EmuD3DDeferredTextureState was not found!"); } } +#endif } } From e462e260d33178beab918e42e9520f1c5f2999a2 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 24 Sep 2017 20:33:03 +0900 Subject: [PATCH 088/146] Support inline functions in .text section --- src/CxbxKrnl/HLEDataBase.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 3e15a6404..637246fd9 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -183,8 +183,8 @@ const HLEData HLEDataBase[] = }; const HLEDataV2 HLEDataBaseV2[] = { - // - { Lib_D3D8,{ Sec_D3D }, D3D8_OOVPAV2, D3D8_OOVPA_SIZEV2 }, + // Support inline functions in .text section + { Lib_D3D8,{ Sec_text, Sec_D3D }, D3D8_OOVPAV2, D3D8_OOVPA_SIZEV2 }, // Cannot support LTCG in HLE //{ Lib_D3D8LTCG,{ Sec_D3D }, _OOVPAV2, _OOVPA_SIZEV2 }, From 6032da1e7679f9a08b7cb4e8893eef09088b638d Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 24 Sep 2017 21:22:03 +0900 Subject: [PATCH 089/146] Fix all OOVPAs to match with same address found. --- src/CxbxKrnl/HLEDataBase.h | 2 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 176 +++++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 198 ++++++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 161 ++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 26 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 40 ++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 219 ++++++++++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 34 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 61 +++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 135 +++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 373 +++++++++++++++++++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 60 ++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 40 +-- src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 123 +++++-- 14 files changed, 1327 insertions(+), 321 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 8fc79dc11..75dedde6d 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -174,6 +174,8 @@ enum XRefDataBaseOffset XREF_D3D_MakeRequestedSpace, XREF_D3D_KickOff, XREF_D3DPalette_Lock2, + XREF_D3DTexture_GetSurfaceLevel2, + XREF_D3DDevice_CreatePalette2, XREF_XNINIT, XREF_XID_fCloseDevice, XREF_CLEARSTATEBLOCKFLAGS, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index 395e14ec4..4c4b365bd 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -871,7 +871,11 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetVertexDataColor // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 3925, 17) +OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 3925, 18) + + // D3DDevice_SetVertexDataColor+0x00 : push esi + { 0x00, 0x56 }, + // D3DDevice_SetVertexDataColor+0x1F : mov byte ptr [esp+?] { 0x1F, 0x0F }, { 0x20, 0xB6 }, @@ -2279,6 +2283,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 3925, 10) { 0x0F, 0x04 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_CMiniport_GetDisplayCapabilities // Was D3DDevice_Unknown1 // ****************************************************************** @@ -2297,6 +2302,7 @@ OOVPA_NO_XREF(D3D_CMiniport_GetDisplayCapabilities, 3925, 9) // D3D_CMiniport_GetDisplayCapabilities+0x1E : retn { 0x1E, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetViewport @@ -2869,6 +2875,28 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 3925, 8) { 0x46, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3D_SetPushBufferSize +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(D3D_SetPushBufferSize, 3911, 13) + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x4C }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + { 0x08, 0xA3 }, + { 0x0D, 0x89 }, + { 0x0E, 0x0D }, + { 0x13, 0xC2 }, + { 0x14, 0x08 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_SetPushBufferSize // ****************************************************************** @@ -2882,6 +2910,7 @@ OOVPA_NO_XREF(D3D_SetPushBufferSize, 3925, 7) { 0x13, 0xC2 }, { 0x14, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * D3DResource_GetType @@ -3025,46 +3054,46 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetLightEnable // ****************************************************************** -OOVPA_XREF(D3DDevice_GetLightEnable, 3911, 1+28, // valid upto at least 4627, next known difference is from 5344 onwards +OOVPA_XREF(D3DDevice_GetLightEnable, 3911, 1+24, // valid upto at least 5233, next known difference is from 5344 onwards XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x5D, XREF_D3DDEVICE), + XREF_ENTRY( 0x05, XREF_D3DDEVICE), - { 0x00, 0x8B }, - { 0x01, 0x4C }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, + { 0x00, 0x8B }, + { 0x01, 0x4C }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, - { 0x04, 0xA1 }, - { 0x09, 0x8B }, - { 0x0A, 0x90 }, - { 0x0B, 0x80 }, - { 0x0C, 0x04 }, + { 0x04, 0xA1 }, + { 0x09, 0x8B }, + { 0x0A, 0x90 }, + // 0x0B, 0x80 }, // 0x8004 vs 4134 0x9003 + // 0x0C, 0x04 }, - { 0x0D, 0x00 }, - { 0x0E, 0x00 }, - { 0x0F, 0x8B }, - { 0x10, 0x80 }, - { 0x11, 0x88 }, + { 0x0D, 0x00 }, + { 0x0E, 0x00 }, + { 0x0F, 0x8B }, + { 0x10, 0x80 }, + // 0x11, 0x88 }, // 0x8804 vs 4134 0x9803 - { 0x12, 0x04 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x8D }, - { 0x16, 0x0C }, + // 0x12, 0x04 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x8D }, + { 0x16, 0x0C }, - { 0x17, 0xC9 }, - { 0x18, 0xC1 }, - { 0x19, 0xE1 }, - { 0x1A, 0x04 }, - { 0x1B, 0x03 }, + { 0x17, 0xC9 }, + { 0x18, 0xC1 }, + { 0x19, 0xE1 }, + { 0x1A, 0x04 }, + { 0x1B, 0x03 }, - { 0x1C, 0xCA }, - { 0x1D, 0x85 }, - { 0x1E, 0xC0 }, - { 0x1F, 0x74 }, + { 0x1C, 0xCA }, + { 0x1D, 0x85 }, + { 0x1E, 0xC0 }, + { 0x1F, 0x74 }, OOVPA_END; // ****************************************************************** @@ -3685,23 +3714,28 @@ OOVPA_END; // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -OOVPA_XREF(D3D_BlockOnTime, 3925, 9, +OOVPA_XREF(D3D_BlockOnTime, 3925, 10, XREF_D3D_BLOCKONTIME, XRefZero) + // D3D::BlockOnFence+0x00 : push ebp + { 0x00, 0x55 }, + // D3D::BlockOnFence+0x0A : push edi - { 0x0A, 0x57 }, - // D3D::BlockOnFence+0x4E : cmp eax, 0x8000 - { 0x4E, 0x3D }, - { 0x4F, 0x00 }, - { 0x50, 0x80 }, - { 0x51, 0x00 }, - // D3D::BlockOnFence+0x6E : mov ebp, 0x40100 - { 0x6E, 0xBD }, - { 0x6F, 0x00 }, - { 0x70, 0x01 }, - { 0x71, 0x04 } + { 0x0A, 0x57 }, + + // D3D::BlockOnFence+0x4E : cmp eax, 0x8000 + { 0x4E, 0x3D }, + { 0x4F, 0x00 }, + { 0x50, 0x80 }, + { 0x51, 0x00 }, + + // D3D::BlockOnFence+0x6E : mov ebp, 0x40100 + { 0x6E, 0xBD }, + { 0x6F, 0x00 }, + { 0x70, 0x01 }, + { 0x71, 0x04 } OOVPA_END; // ****************************************************************** @@ -4483,6 +4517,56 @@ OOVPA_NO_XREF(D3D_CheckDeviceFormat, 3911, 7) { 0x5E, 0x08 }, { 0x6E, 0x3C }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_EnableOverlay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_EnableOverlay, 3911, 24) + + { 0x00, 0x8B }, + + { 0x09, 0x8B }, + { 0x0A, 0x80 }, + { 0x0B, 0x04 }, + { 0x0C, 0x04 }, + { 0x0D, 0x00 }, + { 0x0E, 0x00 }, + { 0x0F, 0x33 }, + { 0x10, 0xC9 }, + { 0x11, 0x3B }, + { 0x12, 0xD1 }, + { 0x13, 0x74 }, + { 0x14, 0x0A }, + { 0x15, 0x39 }, + { 0x16, 0x88 }, + { 0x17, 0x00 }, + { 0x18, 0x87 }, + { 0x19, 0x00 }, + { 0x1A, 0x00 }, + { 0x1B, 0x75 }, + { 0x1C, 0xF8 }, + { 0x1D, 0xEB }, + { 0x1E, 0x0A }, + { 0x1F, 0xC7 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_UpdateOverlay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 3911, 11) + + { 0x02, 0x08 }, + { 0x1F, 0x7C }, + { 0x6F, 0x8B }, + + { 0x80, 0x8B }, + { 0x81, 0x54 }, + { 0x82, 0x24 }, + { 0x83, 0x20 }, + { 0x84, 0x8B }, + { 0x85, 0x3F }, + { 0x86, 0x83 }, + { 0x87, 0xE1 }, +OOVPA_END; // ****************************************************************** // * D3D8_3925 @@ -4566,7 +4650,6 @@ OOVPATable D3D8_3925[] = { REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 3925, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3925, PATCH), @@ -4594,7 +4677,7 @@ OOVPATable D3D8_3925[] = { REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 3925, PATCH), - REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), + REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DResource_GetType, 3925, DISABLED), // Probably not even necessary... REGISTER_OOVPA(D3D_AllocContiguousMemory, 3925, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH REGISTER_OOVPA(D3DDevice_SetRenderState_Deferred, 3925, DISABLED), @@ -4678,7 +4761,8 @@ OOVPATable D3D8_3925[] = { REGISTER_OOVPA(Direct3D_CheckDeviceMultiSampleType, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), - + REGISTER_OOVPA(D3DDevice_EnableOverlay, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 2a7c652d7..be23c1342 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -35,33 +35,34 @@ // ****************************************************************** // * CMiniport::InitHardware // ****************************************************************** -OOVPA_NO_XREF(CMiniport_InitHardware, 4034, 24) - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x10 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0xF1 }, - { 0x0A, 0x56 }, - { 0x0B, 0x68 }, +OOVPA_NO_XREF(CMiniport_InitHardware, 4034, 23) - { 0x10, 0x8D }, - { 0x11, 0x86 }, - { 0x12, 0x84 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x50 }, - { 0x17, 0xFF }, - { 0x18, 0x15 }, + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x10 }, + { 0x06, 0x53 }, + { 0x07, 0x56 }, + { 0x08, 0x8B }, + { 0x09, 0xF1 }, + { 0x0A, 0x56 }, + { 0x0B, 0x68 }, - { 0x1D, 0x80 }, - { 0x1E, 0xA6 }, - { 0x1F, 0xD8 }, + { 0x10, 0x8D }, + { 0x11, 0x86 }, + { 0x12, 0x84 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x00 }, + { 0x16, 0x50 }, + { 0x17, 0xFF }, + { 0x18, 0x15 }, + + { 0x1D, 0x80 }, + { 0x1E, 0xA6 }, + //{ 0x1F, 0xD8 }, // 4034 0xD8 vs 4242 0xDC OOVPA_END; // ****************************************************************** @@ -182,7 +183,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTransform // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTransform, 4034, 10) +OOVPA_NO_XREF(D3DDevice_SetTransform, 4034, 11) + + // D3DDevice_SetTransform+0x00 : mov eax, [esp+arg_0] + { 0x00, 0x8B }, // D3DDevice_SetTransform+0x44 : fld dword ptr [edx+0x28] { 0x44, 0xD9 }, @@ -354,8 +358,9 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTextureState_BorderColor // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 4034, 7) +OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 4034, 8) + { 0x00, 0x56 }, { 0x07, 0x8B }, { 0x0E, 0xE8 }, { 0x16, 0x08 }, @@ -368,8 +373,9 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTextureState_ColorKeyColor // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 4034, 7) +OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 4034, 8) + { 0x00, 0x56 }, { 0x07, 0x8B }, { 0x0E, 0xE8 }, { 0x16, 0x08 }, @@ -486,8 +492,9 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_FillMode // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 4034, 7) +OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 4034, 8) + { 0x00, 0x56 }, { 0x07, 0x8B }, { 0x13, 0x8B }, { 0x19, 0x8B }, @@ -529,8 +536,9 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderState_FrontFace // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace, 4034, 6) +OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace, 4034, 7) + { 0x00, 0x56 }, { 0x07, 0x8B }, { 0x0E, 0xE8 }, { 0x16, 0x08 }, @@ -1053,6 +1061,36 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 4034, 14) { 0xB4, 0x04 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_Swap +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_Swap, 4034, 20) // Up to 4432 + + { 0x00, 0x53 }, + + { 0x0E, 0x75 }, + { 0x0F, 0x05 }, + { 0x10, 0xBB }, + { 0x11, 0x05 }, + { 0x12, 0x00 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x8B }, + { 0x16, 0x46 }, + { 0x17, 0x08 }, + { 0x18, 0xF6 }, + { 0x19, 0xC4 }, + { 0x1A, 0x40 }, + { 0x1B, 0x74 }, + { 0x1C, 0x4E }, + { 0x1D, 0xF6 }, + { 0x1E, 0xC3 }, + { 0x1F, 0x03 }, + + { 0x29, 0x8B }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** @@ -1077,6 +1115,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4034, 11) { 0xB0, 0xC2 }, { 0xB1, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3D_KickOffAndWaitForIdle @@ -1209,17 +1248,25 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4039, 9) +OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4039, 12) - { 0x04, 0x85 }, - { 0x05, 0xC0 }, - { 0x06, 0x56 }, - { 0x07, 0x8B }, - { 0x3B, 0x35 }, + // D3DDevice_SelectVertexShader+0x00 : mov eax, [esp+4] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SelectVertexShader+0x3B : mov dword ptr [eax], 0x00081E94 + { 0x3B, 0xC7 }, { 0x3C, 0x00 }, { 0x3D, 0x94 }, { 0x3E, 0x1E }, { 0x3F, 0x08 }, + { 0x40, 0x00 }, + + // D3DDevice_SelectVertexShader+0x55 : mov [esi], eax + { 0x55, 0x89 }, + { 0x56, 0x06 }, OOVPA_END; // ****************************************************************** @@ -1257,14 +1304,18 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetPixelShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4039, 9) +OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4039, 12) + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, { 0x04, 0x85 }, { 0x05, 0xC0 }, { 0x06, 0x53 }, { 0x07, 0x8B }, { 0x08, 0x1D }, - { 0x09, 0xA0 }, + //{ 0x09, 0xA0 }, { 0x18, 0x00 }, { 0x1D, 0x0D }, { 0x3F, 0xA3 }, @@ -1545,6 +1596,7 @@ OOVPA_NO_XREF(D3DResource_IsBusy, 4039, 11) { 0x77, 0x09 }, OOVPA_END; +#if 0 // Moved to 4134 // ****************************************************************** // * D3DDevice_SetBackBufferScale // ****************************************************************** @@ -1569,6 +1621,7 @@ OOVPA_NO_XREF(D3DDevice_SetBackBufferScale, 4039, 16) { 0x2D, 0xE0 }, { 0x2E, 0x0F }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode @@ -1907,7 +1960,7 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 4039, 16) +OOVPA_NO_XREF(D3DDevice_KickOff, 4039, 15) { 0x00, 0x51 }, { 0x0E, 0x04 }, @@ -2062,9 +2115,10 @@ OOVPA_XREF(D3D_BlockOnTime, 4039, 10, { 0x1E, 0x0F }, { 0x1F, 0x83 }, - { 0x41, 0x3D }, + { 0x2F, 0x53 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3925 version // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** @@ -2083,6 +2137,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 4039, 8, { 0x0D, 0x04 }, { 0x0E, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTile @@ -2112,7 +2167,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4039, 9) { 0x05, 0x8B }, { 0x06, 0x88 }, - { 0x07, 0xFC }, + { 0x07, 0xFC }, // D3DDevice_GetVertexShader 0xFC vs D3DDevice_GetPixelShader 0xE8 { 0x08, 0x04 }, { 0x09, 0x00 }, { 0x0A, 0x00 }, @@ -2128,7 +2183,7 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 4039, 9) { 0x05, 0x8B }, { 0x06, 0x88 }, - { 0x07, 0xE8 }, + { 0x07, 0xE8 }, // D3DDevice_GetVertexShader 0xFC vs D3DDevice_GetPixelShader 0xE8 { 0x08, 0x04 }, { 0x09, 0x00 }, { 0x0A, 0x00 }, @@ -2137,6 +2192,28 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 4039, 9) { 0x13, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetVertexShaderConstant +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShaderConstant, 4039, 12) + + { 0x00, 0x8B }, + { 0x0C, 0x24 }, + + { 0x15, 0x57 }, + { 0x16, 0x8B }, + { 0x17, 0x7C }, + { 0x18, 0x24 }, + { 0x19, 0x10 }, + { 0x1A, 0x8D }, + { 0x1B, 0xB4 }, + { 0x1C, 0x10 }, + + { 0x28, 0x8B }, + { 0x2F, 0x5F }, +OOVPA_END; + +#if 0 // No longer used, replaced by another 4039 version // ****************************************************************** // * D3DDevice_GetVertexShaderConstant // ****************************************************************** @@ -2150,6 +2227,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderConstant, 4039, 7) { 0x28, 0x8B }, { 0x2F, 0x5F }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_IsFencePending @@ -2195,6 +2273,30 @@ OOVPA_NO_XREF(D3D_LazySetPointParams, 4039, 7) { 0x75, 0x41 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_AddRef +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_AddRef, 4039, 10) + + // D3DDevice_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x05B4] + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0xB4 }, + { 0x08, 0x05 }, + + // D3DDevice_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, + + // D3DDevice_AddRef+0x05 : mov [eax+0x05B4], ecx + { 0x0C, 0x89 }, + { 0x0D, 0x88 }, + { 0x0E, 0xB4 }, + { 0x0F, 0x05 }, +OOVPA_END; + // ****************************************************************** // * D3D8_4034 // ****************************************************************** @@ -2225,7 +2327,6 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4039, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), @@ -2239,7 +2340,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 4039, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), @@ -2324,7 +2425,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), - REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), + REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), @@ -2354,11 +2455,13 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), +// REGISTER_OOVPA(D3DDevice_AddRef, 4039, PATCH), // ****************************************************************** // Provisional registration functions in XDK 4034 // TODO: Need test cases // ****************************************************************** +// REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_Present, 3925, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), @@ -2372,7 +2475,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3925, PATCH), // REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), -// REGISTER_OOVPA(D3DDevice_InsertCallback, 4434, PATCH), +// REGISTER_OOVPA(D3DDevice_InsertCallback, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 3925, PATCH), // REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), @@ -2386,13 +2489,12 @@ OOVPATable D3D8_4034[] = { // REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), // REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), -// REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), // REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), -// REGISTER_OOVPA(D3DDevice_AddRef, 4361, PATCH), // REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index b4b55c6f8..b8cfcb26c 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -184,6 +184,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor, 4134, 10) { 0x41, 0x06 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** @@ -208,6 +209,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4134, 11) { 0xAE, 0xC2 }, { 0xAF, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_Clear @@ -340,6 +342,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 4134, 9) { 0x7B, 0x14 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** @@ -362,6 +365,7 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4134, 11) { 0x55, 0x89 }, { 0x56, 0x06 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CopyRects @@ -1430,18 +1434,18 @@ OOVPA_XREF(D3D_SetFence, 4134, 12, XREF_D3D_SETFENCE, XRefZero) - { 0x0D, 0x72 }, - { 0x0E, 0x0E }, - { 0x31, 0xBA }, - { 0x32, 0x90 }, - { 0x33, 0x1D }, - { 0x34, 0x04 }, - { 0x35, 0x00 }, - { 0x45, 0x83 }, - { 0x46, 0xE1 }, - { 0x47, 0x3F }, + { 0x0D, 0x72 }, + { 0x0E, 0x0E }, + { 0x31, 0xBA }, + { 0x32, 0x90 }, + { 0x33, 0x1D }, + { 0x34, 0x04 }, + { 0x35, 0x00 }, + { 0x45, 0x83 }, + { 0x46, 0xE1 }, + { 0x47, 0x3F }, { 0xAA, 0xC2 }, - { 0xAB, 0x04 }, + { 0xAB, 0x04 }, OOVPA_END; #if 0 // No longer used, replaced by generic 4034 version @@ -1642,6 +1646,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 4134, 12) { 0xE3, 0xC3 } OOVPA_END; +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** @@ -1655,6 +1660,7 @@ OOVPA_NO_XREF(D3DDevice_BlockOnFence, 4134, 7) { 0x0D, 0x04 }, { 0x0E, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetRenderTarget @@ -1926,6 +1932,27 @@ OOVPA_NO_XREF(D3DDevice_EnableOverlay, 4134, 11) { 0x61, 0x04 }, OOVPA_END; +#if 0 // Moved to 3911 +// ****************************************************************** +// * D3DDevice_UpdateOverlay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4134, 11) + + { 0x02, 0x08 }, + { 0x1F, 0x7C }, + { 0x6F, 0x8B }, + + { 0x80, 0x8B }, + { 0x81, 0x54 }, + { 0x82, 0x24 }, + { 0x83, 0x20 }, + { 0x84, 0x8B }, + { 0x85, 0x3F }, + { 0x86, 0x83 }, + { 0x87, 0xE1 }, +OOVPA_END; +#endif +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_UpdateOverlay // ****************************************************************** @@ -1948,6 +1975,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4134, 11) { 0xA4, 0x20 }, { 0xA5, 0x89 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetModelView @@ -2033,6 +2061,30 @@ OOVPA_NO_XREF(D3DDevice_BeginPush, 4134, 7) { 0x21, 0x01 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_EndPush +// ****************************************************************** +OOVPA_XREF(D3DDevice_EndPush, 4134, 1+11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3DDEVICE ), + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + { 0x0A, 0x89 }, + { 0x0B, 0x01 }, + { 0x0C, 0xC2 }, + { 0x0D, 0x04 }, + { 0x0E, 0x00 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_EndPush // ****************************************************************** @@ -2047,6 +2099,7 @@ OOVPA_NO_XREF(D3DDevice_EndPush, 4134, 8) { 0x0D, 0x04 }, { 0x0E, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BeginPushBuffer @@ -2066,6 +2119,29 @@ OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 4134, 10) { 0x57, 0x83 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_EndPushBuffer +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 4134, 13) // Up to 5849 + + { 0x01, 0x56 }, + { 0x11, 0x8D }, + + { 0x2E, 0x8D }, + { 0x2F, 0x4C }, + { 0x30, 0x11 }, + { 0x31, 0x04 }, + { 0x32, 0x89 }, + { 0x33, 0x48 }, + { 0x34, 0x0C }, + { 0x35, 0x8B }, + { 0x36, 0x86 }, + + { 0x6D, 0x8B }, + { 0x6E, 0x86 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_EndPushBuffer // ****************************************************************** @@ -2079,6 +2155,7 @@ OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 4134, 7) { 0x70, 0x03 }, { 0x83, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetModelView @@ -2513,6 +2590,30 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 4134, 7) { 0x13, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_AddRef +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_AddRef, 4134, 10) + + // D3DDevice_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x043C] + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x3C }, + { 0x08, 0x04 }, + + // D3DDevice_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, + + // D3DDevice_AddRef+0x0C : mov [eax+0x043C], ecx + { 0x0C, 0x89 }, + { 0x0D, 0x88 }, + { 0x0E, 0x3C }, + { 0x0F, 0x04 }, +OOVPA_END; +#if 0 // No longer used, replaced by another 4134 version // ****************************************************************** // * D3DDevice_AddRef // ****************************************************************** @@ -2531,6 +2632,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 4134, 10) { 0x13, 0xC1 }, { 0x14, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetVertexData2s @@ -2568,6 +2670,31 @@ OOVPA_NO_XREF(D3DDevice_FlushVertexCache, 4134, 10) { 0x26, 0xC3 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetBackBufferScale +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetBackBufferScale, 4134, 16) + + { 0x09, 0x86 }, + + { 0x10, 0xC1 }, + { 0x11, 0xE9 }, + { 0x12, 0x04 }, + { 0x13, 0x83 }, + { 0x14, 0xE1 }, + { 0x15, 0x0F }, + { 0x16, 0x85 }, + { 0x17, 0xC9 }, + + { 0x28, 0xD8 }, + { 0x29, 0x4C }, + { 0x2A, 0x24 }, + { 0x2B, 0x0C }, + { 0x2C, 0x83 }, + { 0x2D, 0xE0 }, + { 0x2E, 0x0F }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -2590,7 +2717,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_Swap, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4034, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4034, PATCH), @@ -2634,7 +2761,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4134, PATCH), REGISTER_OOVPA(D3D_CreateStandAloneSurface, 4134, XREF), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4134, PATCH), @@ -2702,7 +2829,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), @@ -2713,9 +2840,9 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4134, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), - REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), + REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 3925, PATCH), @@ -2726,7 +2853,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4039, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index 2f6f4501f..f1f7ae47e 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -246,7 +246,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_AddRef // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_AddRef, 4361, 10) +OOVPA_NO_XREF(D3DDevice_AddRef, 4242, 10) // D3DDevice_AddRef+0x00 : mov eax, [addr] { 0x00, 0xA1 }, @@ -378,7 +378,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_ApplyStateBlock // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 4361, 9) +OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 4361, 10) + + // D3DDevice_ApplyStateBlock+0x00 : push ebx + { 0x00, 0x53 }, // D3DDevice_ApplyStateBlock+0x0E : lea esi, [edi+0x3C] { 0x0E, 0x8D }, @@ -519,6 +522,7 @@ OOVPA_NO_XREF(D3DDevice_SwitchTexture, 4361, 10) { 0x2F, 0xD0 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** @@ -543,7 +547,8 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4361, 11) { 0xAE, 0xC2 }, { 0xAF, 0x04 }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_UpdateOverlay // ****************************************************************** @@ -566,6 +571,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4361, 11) { 0xA4, 0x20 }, { 0xA5, 0x89 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank @@ -1205,9 +1211,9 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_AddRef, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_AddRef, 4242, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3925, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), @@ -1237,10 +1243,10 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_Swap, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), @@ -1339,7 +1345,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), @@ -1351,7 +1357,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 4361, PATCH), - REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), + REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH), @@ -1374,7 +1380,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_DrawRectPatch, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index ce6cf4615..c318426f7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -239,6 +239,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 4432, 12) { 0x8B, 0x08 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** @@ -263,6 +264,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4432, 11) { 0xAE, 0xC2 }, { 0xAF, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_Swap @@ -288,7 +290,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4531, 11) { 0xB9, 0xC2 }, { 0xBA, 0x04 }, OOVPA_END; - +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_UpdateOverlay // ****************************************************************** @@ -311,6 +313,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4432, 11) { 0xA4, 0x20 }, { 0xA5, 0x89 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank @@ -616,6 +619,27 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 4432, 7) { 0x26, 0xD2 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetViewportOffsetAndScale +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetViewportOffsetAndScale, 4432, 12) // Up to 5849 + + { 0x00, 0xA1 }, + { 0x19, 0x05 }, + + { 0x45, 0x00 }, + { 0x46, 0x8B }, + { 0x47, 0x50 }, + { 0x48, 0x08 }, + { 0x49, 0x33 }, + { 0x4A, 0xC9 }, + { 0x4B, 0x84 }, + { 0x4C, 0xF6 }, + + { 0x5B, 0x74 }, + { 0x5C, 0x10 }, +OOVPA_END; + // ****************************************************************** // * D3D8_4432 // ****************************************************************** @@ -629,7 +653,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_AddRef, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_AddRef, 4242, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4432, PATCH), @@ -684,9 +708,9 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_CreatePalette, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4432, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_Swap, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4531, PATCH), - REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4432, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4432, PATCH), @@ -753,7 +777,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_BeginPush, 4432, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 4361, PATCH), - REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), + REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), @@ -761,7 +785,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3925, PATCH), @@ -787,7 +811,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH),// Just calls Lock2DSurface @@ -800,7 +824,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3DDevice_SetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index 14c971e99..947104f51 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -104,7 +104,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_EndVisibilityTest // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 4627, 11) +OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 4627, 12) + + // D3DDevice_EndVisibilityTest+0x00 : mov eax, [esp+4] + { 0x00, 0x8B }, // D3DDevice_EndVisibilityTest+0x0B : mov esi, eax { 0x0B, 0x8B }, @@ -362,7 +365,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetGammaRamp // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 4928, 9) +OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 4627, 17) // Up to 5849 { 0x25, 0x57 }, { 0x26, 0x83 }, @@ -375,6 +378,15 @@ OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 4928, 9) { 0x5A, 0x89 }, { 0x5B, 0x82 }, { 0x5C, 0xE4 }, + + { 0x70, 0x00 }, + { 0x71, 0xC7 }, + { 0x72, 0x84 }, + { 0x73, 0x82 }, + { 0x74, 0xDC }, + { 0x75, 0x07 }, + { 0x76, 0x00 }, + { 0x77, 0x00 }, OOVPA_END; // ****************************************************************** @@ -584,6 +596,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** +// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z OOVPA_NO_XREF(D3DDevice_SetTile, 4627, 11) // D3DDevice_SetTile+0x06 : sub esp, 0x18 @@ -621,7 +634,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 4928, 13) +OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 4831, 13) // D3DDevice_SetPixelShaderConstant+0x1E : test eax, eax { 0x1E, 0x85 }, @@ -1074,7 +1087,7 @@ OOVPA_XREF(D3DDevice_SetTexture, 4928, 1+10, XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived #endif -OOVPA_NO_XREF(D3DDevice_SetTexture, 4928, 10) +OOVPA_NO_XREF(D3DDevice_SetTexture, 4831, 15) { 0x0B, 0x56 }, @@ -1090,6 +1103,11 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4928, 10) { 0x50, 0x75 }, { 0x51, 0x47 }, + { 0x52, 0x8B }, + { 0x53, 0x45 }, + { 0x54, 0x00 }, + { 0x55, 0x3B }, + { 0x56, 0x45 }, OOVPA_END; // ****************************************************************** @@ -1315,6 +1333,27 @@ OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 4627, 13) { 0x4B, 0x04 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_UpdateOverlay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4531, 11) // Up to 5120 + + { 0x03, 0xA1 }, + { 0x1A, 0x04 }, + { 0x1F, 0x7C }, + + { 0x6F, 0x8B }, + { 0x70, 0x4F }, + { 0x71, 0x04 }, + { 0x72, 0x8B }, + { 0x73, 0xD0 }, + { 0x74, 0x8B }, + { 0x75, 0x44 }, + { 0x76, 0x24 }, +OOVPA_END; + + +#if 0 // No longer used, replaced by generic 4531 version // ****************************************************************** // * D3DDevice_UpdateOverlay // ****************************************************************** @@ -1337,7 +1376,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4627, 11) { 0xAE, 0x30 }, { 0xAF, 0x89 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetOverlayUpdateStatus @@ -1739,6 +1778,38 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock2, 4627, 12) { 0x48, 0xC2 }, { 0x49, 0x08 }, OOVPA_END; +// ****************************************************************** +// * D3DVertexBuffer_Lock +// ****************************************************************** +OOVPA_NO_XREF(D3DVertexBuffer_Lock, 4627, 25) + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x14 }, + { 0x04, 0x8B }, + { 0x05, 0x4C }, + { 0x06, 0x24 }, + { 0x07, 0x04 }, + { 0x08, 0x50 }, + { 0x09, 0x51 }, + { 0x0A, 0xE8 }, + + { 0x0F, 0x8B }, + { 0x10, 0x4C }, + { 0x11, 0x24 }, + { 0x12, 0x08 }, + { 0x13, 0x8B }, + { 0x14, 0x54 }, + { 0x15, 0x24 }, + { 0x16, 0x10 }, + { 0x17, 0x03 }, + { 0x18, 0xC1 }, + { 0x19, 0x89 }, + { 0x1A, 0x02 }, + { 0x1B, 0xC2 }, + { 0x1C, 0x14 }, +OOVPA_END; #if 0 // Used 3925 instead in 4627, 4721, 4831, 4928 // ****************************************************************** @@ -1871,7 +1942,10 @@ OOVPA_END; // ****************************************************************** // * D3DTexture_GetSurfaceLevel2 // ****************************************************************** -OOVPA_NO_XREF(D3DTexture_GetSurfaceLevel2, 4627, 12) +OOVPA_XREF(D3DTexture_GetSurfaceLevel2, 4627, 12, + + XREF_D3DTexture_GetSurfaceLevel2, + XRefZero) // D3DTexture_GetSurfaceLevel2+0x00 : sub esp, 0x0C { 0x00, 0x83 }, @@ -1898,6 +1972,33 @@ OOVPA_NO_XREF(D3DTexture_GetSurfaceLevel2, 4627, 12) { 0x3E, 0xE8 }, OOVPA_END; +// ****************************************************************** +// * D3DTexture_GetSurfaceLevel +// ****************************************************************** +OOVPA_XREF(D3DTexture_GetSurfaceLevel, 4627, 13, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x0B, XREF_D3DTexture_GetSurfaceLevel2 ), + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x08 }, + + { 0x0A, 0xE8 }, + + { 0x0F, 0x8B }, + { 0x10, 0x54 }, + { 0x11, 0x24 }, + { 0x12, 0x0C }, + { 0x13, 0x33 }, + { 0x14, 0xC9 }, + { 0x15, 0x85 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4432 version // ****************************************************************** // * D3DDevice_GetViewportOffsetAndScale@8 // ****************************************************************** @@ -1912,7 +2013,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewportOffsetAndScale, 4627, 8) { 0xDE, 0x14 }, { 0xFE, 0xE0 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4361 version // ****************************************************************** // * D3DDevice_SelectVertexShaderDirect @@ -2000,6 +2101,7 @@ OOVPA_NO_XREF(D3DDevice_RunVertexStateShader, 4627, 7) { 0x4B, 0x08 }, OOVPA_END; #endif +#if 0 // Moved to 4134 // ****************************************************************** // * D3DDevice_EndPush // ****************************************************************** @@ -2022,6 +2124,7 @@ OOVPA_XREF(D3DDevice_EndPush, 4627, 12, { 0x0D, 0x04 }, // 11 { 0x0E, 0x00 }, // 12 OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_LoadVertexShader @@ -2360,7 +2463,7 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 4627, 13) +OOVPA_NO_XREF(D3DDevice_KickOff, 4531, 13) // D3D::CDevice::KickOff+0x0B : mov edx, [ecx+0x35C] { 0x0B, 0x8B }, @@ -2538,6 +2641,30 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4627, 8) { 0xF6, 0xF9 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4831, 13) // Up to 5344 + + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x1E, 0x15 }, + + { 0x28, 0x00 }, + { 0x29, 0x85 }, + { 0x2A, 0xC0 }, + { 0x2B, 0x75 }, + { 0x2C, 0x0A }, + { 0x2D, 0xB8 }, + { 0x2E, 0x05 }, + { 0x2F, 0x40 }, + { 0x30, 0x00 }, + + { 0x36, 0xC3 }, +OOVPA_END; + + +#if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** @@ -2561,12 +2688,13 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4928, 14) { 0x72, 0xD3 }, { 0x73, 0xE2 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetSwapCallback // ****************************************************************** /* See the comment for the 4134 OOVPA signature for previous notes */ -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4928, 12) +OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4627, 12) // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, @@ -2828,7 +2956,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreatePalette2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreatePalette2, 4627, 8) +OOVPA_XREF(D3DDevice_CreatePalette2, 4627, 8, + + XREF_D3DDevice_CreatePalette2, + XRefZero) { 0x0A, 0x8B }, { 0x16, 0x74 }, @@ -2843,9 +2974,15 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreatePalette // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreatePalette, 4627, 10) +OOVPA_XREF(D3DDevice_CreatePalette, 4627, 11, - { 0x04, 0x50 }, + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3DDevice_CreatePalette2 ), + + { 0x00, 0x8B }, + { 0x0A, 0x8B }, { 0x13, 0x95 }, { 0x14, 0xC2 }, @@ -2923,7 +3060,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 4627, 7) { 0x59, 0x04 }, OOVPA_END; #endif - +#if 0 // Moved to 5028 // ****************************************************************** // * D3DDevice_EndPushBuffer // ****************************************************************** @@ -2937,7 +3074,7 @@ OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 4627, 7) { 0x6D, 0x8B }, { 0x7C, 0x88 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_GetPushBufferOffset // ****************************************************************** @@ -3205,6 +3342,31 @@ OOVPA_NO_XREF(D3DDevice_CreateCubeTexture, 4627, 11) { 0x1F, 0x4C }, OOVPA_END; +// ****************************************************************** +// * D3DPalette_Lock +// ****************************************************************** +OOVPA_NO_XREF(D3DPalette_Lock, 4531, 17) + + { 0x00, 0xF6 }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x0C }, + { 0x04, 0xA0 }, + { 0x05, 0x56 }, + { 0x06, 0x8B }, + { 0x07, 0x74 }, + { 0x08, 0x24 }, + { 0x09, 0x08 }, + { 0x0A, 0x75 }, + { 0x0B, 0x06 }, + { 0x0C, 0x56 }, + { 0x0D, 0xE8 }, + + { 0x12, 0x8B }, + { 0x21, 0xC2 }, + { 0x22, 0x0C }, +OOVPA_END; + // ****************************************************************** // * D3D8_4627 // ****************************************************************** @@ -3221,7 +3383,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4627, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_BeginPush, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_EndPush, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), @@ -3231,7 +3393,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3D_CommonSetRenderTargetB, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4627, DISABLED), // Called D3DDevice_GetRenderTarget2 @@ -3256,7 +3418,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_CreateTexture, 4627, DISABLED), // Called D3DDevice_CreateTexture2 REGISTER_OOVPA(D3DDevice_SetIndices, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_SetTexture, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTexture, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4627, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), @@ -3267,7 +3429,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED), - REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4531, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4627, PATCH), @@ -3310,6 +3472,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), + REGISTER_OOVPA(D3DVertexBuffer_Lock, 4627, PATCH), REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), @@ -3321,9 +3484,10 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), + REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH), // Just calls Lock3DSurface - REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4627, PATCH), @@ -3344,7 +3508,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4432, PATCH), @@ -3358,8 +3522,8 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 4531, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), // Beware of the typo... REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStateVB, 4627, DISABLED), @@ -3370,8 +3534,8 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_PersistDisplay, 4928, PATCH), - REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), + REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4627, PATCH), @@ -3386,7 +3550,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 4627, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH),//TODO 4721,4928 @@ -3397,10 +3561,11 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_GetPixelShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette, 4627, PATCH), // Called D3DDevice_CreatePalette2 + REGISTER_OOVPA(D3DPalette_Lock, 4531, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 4627, PATCH), // Called D3DPalette_Lock2 REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetPersistedSurface2, 4928, PATCH), // For only on Unreal Championship REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), @@ -3410,7 +3575,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), + REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index bc367aa5e..0dfaf2c92 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -306,6 +306,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** +// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z OOVPA_NO_XREF(D3DDevice_SetTile, 5028, 11) // D3DDevice_SetTile+0x06 : sub esp, 0x18 @@ -683,6 +684,7 @@ OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 10, { 0x67, 0x00 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** @@ -699,6 +701,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5028, 10) { 0x23, 0x8B }, { 0x24, 0x83 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_LazySetStateVB @@ -807,6 +810,7 @@ OOVPA_XREF(D3DDevice_IsFencePending, 5028, 6, { 0x1C, 0x04 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 4531 version // ****************************************************************** // * D3DDevice_UpdateOverlay // ****************************************************************** @@ -821,6 +825,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 5028, 8) { 0x80, 0xCA }, { 0x88, 0x8B }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetOverlayUpdateStatus @@ -863,6 +868,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 5028, 8) { 0x7E, 0xBA }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetLightEnable // ****************************************************************** @@ -871,7 +877,7 @@ OOVPA_XREF(D3DDevice_GetLightEnable, 5028, 1+26, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x5D, XREF_D3DDEVICE), + XREF_ENTRY( 0x05, XREF_D3DDEVICE), { 0x00, 0x8B }, { 0x01, 0x4C }, @@ -907,6 +913,7 @@ OOVPA_XREF(D3DDevice_GetLightEnable, 5028, 1+26, { 0x1E, 0xC0 }, { 0x1F, 0x74 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BeginStateBig @@ -1092,6 +1099,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 5120, 13) { 0x95, 0x8B }, OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -1116,7 +1124,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_EndPush, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5028, PATCH), @@ -1124,7 +1132,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), @@ -1133,7 +1141,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), @@ -1144,7 +1152,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 5028, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), @@ -1154,7 +1162,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_Swap, 5028, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED), - REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4531, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5028, PATCH), @@ -1191,7 +1199,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetLightEnable, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5028, PATCH), @@ -1208,7 +1216,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH), // Just calls Lock3DSurface - REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4627, PATCH), @@ -1230,7 +1238,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), @@ -1252,7 +1260,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_PersistDisplay, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4627, PATCH), @@ -1261,7 +1269,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), @@ -1278,7 +1286,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH), - REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), + REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), @@ -1312,7 +1320,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 4272f1e1b..4ce5e8ffb 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -158,6 +158,7 @@ OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 5233, 2+13, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_SetTexture // ****************************************************************** @@ -174,6 +175,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 5233, 10) { 0xDE, 0xFF }, { 0xFE, 0xE2 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_Swap @@ -191,6 +193,27 @@ OOVPA_NO_XREF(D3DDevice_Swap, 5233, 9) { 0xA6, 0xE8 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_UpdateOverlay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 5233, 12) // Up to 5849 + + { 0x00, 0x83 }, + { 0x13, 0x89 }, + { 0x14, 0x88 }, + { 0x74, 0x4F }, + + { 0x80, 0xE1 }, + { 0x81, 0xFE }, + { 0x82, 0x0F }, + { 0x83, 0xAF }, + { 0x84, 0xCA }, + { 0x85, 0x25 }, + { 0x86, 0xFF }, + { 0x87, 0xFF }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_UpdateOverlay // ****************************************************************** @@ -213,7 +236,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 5233, 11) { 0xB2, 0x30 }, { 0xB3, 0x89 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetOverlayUpdateStatus @@ -286,7 +309,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CopyRects // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CopyRects, 5233, 8) +OOVPA_NO_XREF(D3DDevice_CopyRects, 5120, 8) { 0x1E, 0xE1 }, { 0x42, 0x84 }, @@ -401,6 +424,7 @@ OOVPA_XREF(D3D_CommonSetRenderTarget, 5233, 8, { 0xFF, 0x75 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3925 version // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** @@ -417,6 +441,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 5233, 6, { 0x06, 0x50 }, { 0x0D, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetPalette @@ -606,6 +631,22 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 5233, 9) { 0x68, 0x2D }, OOVPA_END; +#if 0 // No longer used, replaced by generic 4134 version +// ****************************************************************** +// * D3DDevice_EndPushBuffer +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 5233, 7) + + { 0x11, 0x8D }, + { 0x22, 0x50 }, + { 0x34, 0x0C }, + { 0x46, 0x08 }, + { 0x58, 0x00 }, + { 0x6D, 0x8B }, + { 0x7C, 0x88 }, +OOVPA_END; +#endif + // ****************************************************************** // * D3D8_5233 // ****************************************************************** @@ -619,10 +660,10 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5233, PATCH), REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_CopyRects, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), @@ -648,7 +689,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 5028, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), @@ -721,7 +762,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), @@ -731,7 +772,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), @@ -756,9 +797,9 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), @@ -772,7 +813,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_PersistDisplay, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index 5e8c1df98..adc9ebdb4 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -280,42 +280,42 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetLightEnable // ****************************************************************** -OOVPA_XREF(D3DDevice_GetLightEnable, 5344, 1+29, +OOVPA_XREF(D3DDevice_GetLightEnable, 5344, 1+26, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x6D, XREF_D3DDEVICE), + XREF_ENTRY( 0x06, XREF_D3DDEVICE), - { 0x00, 0x8B }, - { 0x01, 0x44 }, - { 0x02, 0x24 }, - { 0x03, 0x04 }, - { 0x04, 0x8B }, - { 0x05, 0x0D }, + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, - { 0x0A, 0x8B }, - { 0x0B, 0x91 }, - { 0x0C, 0x8C }, - { 0x0D, 0x03 }, - { 0x0E, 0x00 }, - { 0x0F, 0x00 }, - { 0x10, 0x8D }, - { 0x11, 0x04 }, - { 0x12, 0xC0 }, - { 0x13, 0xC1 }, - { 0x14, 0xE0 }, - { 0x15, 0x04 }, - { 0x16, 0x56 }, - { 0x17, 0x8B }, - { 0x18, 0xB4 }, - { 0x19, 0x02 }, - { 0x1A, 0x8C }, - { 0x1B, 0x00 }, - { 0x1C, 0x00 }, - { 0x1D, 0x00 }, - { 0x1E, 0x8B }, - { 0x1F, 0x54 }, + { 0x0A, 0x8B }, + { 0x0B, 0x91 }, + //{ 0x0C, 0x8C }, 5344 0x8C03 vs 5558 0xA007 + //{ 0x0D, 0x03 }, + { 0x0E, 0x00 }, + { 0x0F, 0x00 }, + { 0x10, 0x8D }, + { 0x11, 0x04 }, + { 0x12, 0xC0 }, + { 0x13, 0xC1 }, + { 0x14, 0xE0 }, + { 0x15, 0x04 }, + { 0x16, 0x56 }, + { 0x17, 0x8B }, + { 0x18, 0xB4 }, + { 0x19, 0x02 }, + { 0x1A, 0x8C }, + { 0x1B, 0x00 }, + { 0x1C, 0x00 }, + { 0x1D, 0x00 }, + { 0x1E, 0x8B }, + { 0x1F, 0x54 }, /* { 0x3E, 0xC7 }, { 0x5E, 0xC7 }, @@ -430,6 +430,31 @@ OOVPA_NO_XREF(D3DDevice_SetViewport, 5344, 8) { 0xFE, 0x14 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetTransform +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetTransform, 5344, 15) + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x54 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + { 0x08, 0x53 }, + { 0x09, 0x8B }, + { 0x0A, 0x1D }, + + { 0x0F, 0x56 }, + { 0x1F, 0xF2 }, + + { 0x2F, 0x0B }, + { 0x35, 0x35 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_SetTransform // ****************************************************************** @@ -445,6 +470,7 @@ OOVPA_NO_XREF(D3DDevice_SetTransform, 5344, 9) { 0xDE, 0x42 }, { 0xFE, 0xCB }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetScissors @@ -729,6 +755,7 @@ OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 5344, 12) { 0x1C, 0xC3 }, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_UpdateOverlay // ****************************************************************** @@ -745,7 +772,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 5344, 10) { 0x80, 0xE1 }, { 0x84, 0xCA }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * IDirectD3DDevice8_Release @@ -777,6 +804,7 @@ OOVPA_NO_XREF(D3DDevice_GetVisibilityTestResult, 5344, 7) { 0x5F, 0x0C }, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** @@ -790,6 +818,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5344, 7) { 0x4E, 0xF5 }, { 0x6E, 0x01 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_DeleteVertexShader @@ -1028,6 +1057,31 @@ OOVPA_XREF(D3DDevice_BeginPush, 5344, 10, { 0x15, 0x04 }, // 10 OOVPA_END; +// ****************************************************************** +// * D3DDevice_AddRef +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_AddRef, 5344, 10) + + // D3DDevice_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0520] + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x02 }, + { 0x08, 0x05 }, + + // D3DDevice_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, + + // D3DDevice_AddRef+0x0C : mov [eax+0x0520], ecx + { 0x0C, 0x89 }, + { 0x0D, 0x88 }, + { 0x0E, 0x02 }, + { 0x0F, 0x05 }, +OOVPA_END; + +#if 0 // No longer used, replaced by another 4134 version // ****************************************************************** // * D3DDevice_AddRef // ****************************************************************** @@ -1046,6 +1100,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5344, 10) { 0x13, 0xC1 }, { 0x14, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetShaderConstantMode @@ -1082,10 +1137,10 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(MakeRequestedSpace, 5028, PATCH), REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_CopyRects, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5344, PATCH), // Was 5233 REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), @@ -1112,7 +1167,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), // Was 4627 REGISTER_OOVPA(D3DDevice_SetIndices, 5028, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 5233, PATCH), // Was 4928 + REGISTER_OOVPA(D3DDevice_SetTexture, 5344, PATCH), // Was 4928 REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), // Was 4627 REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), @@ -1164,7 +1219,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5344, PATCH), // 5233 - REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 5344, PATCH), // Was 4627 @@ -1182,7 +1237,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), @@ -1192,7 +1247,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), @@ -1224,7 +1279,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), - REGISTER_OOVPA(D3DDevice_PersistDisplay, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5028, PATCH), @@ -1253,11 +1308,11 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 6003aeb60..0946323f3 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -82,6 +82,28 @@ OOVPA_XREF(D3DDevice_BeginPush, 5558, 10, OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_SelectVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 5455, 12) + + { 0x00, 0x8B }, + { 0x1D, 0xBE }, + + { 0x3F, 0x00 }, + { 0x40, 0x10 }, + { 0x41, 0x00 }, + { 0x42, 0x00 }, + { 0x43, 0x8B }, + { 0x44, 0x06 }, + { 0x45, 0x3B }, + { 0x46, 0x46 }, + + { 0x58, 0x8B }, + { 0x7B, 0xE8 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** @@ -95,7 +117,7 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 5558, 7) { 0x76, 0x3B }, { 0x8A, 0x89 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetVertexShaderConstant1 // ****************************************************************** @@ -172,7 +194,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetViewport // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetViewport, 5558, 8) +OOVPA_NO_XREF(D3DDevice_SetViewport, 5455, 8) { 0x1E, 0x86 }, { 0x3E, 0x1B }, @@ -198,6 +220,7 @@ OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 5558, 7) { 0x44, 0x01 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_UpdateOverlay // ****************************************************************** @@ -220,6 +243,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 5558, 11) { 0x9F, 0x20 }, { 0xA0, 0x89 }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetOverlayUpdateStatus @@ -250,7 +274,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreatePalette2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreatePalette2, 5558, 7) +OOVPA_NO_XREF(D3DDevice_CreatePalette2, 5455, 7) { 0x0D, 0x8B }, { 0x16, 0x00 }, @@ -365,6 +389,26 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5558, 11) { 0x2E, 0x04 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetMaterial, 5659, 11) + + { 0x04, 0x08 }, + + { 0x0C, 0x81 }, + { 0x0D, 0xC7 }, + { 0x0E, 0x00 }, + { 0x0F, 0x0F }, + { 0x10, 0x00 }, + + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -399,10 +443,27 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 5558, 8) { 0x1A, 0xC2 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetMaterial, 5659, 8) + + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + + { 0x0D, 0x00 }, + { 0x0E, 0x0F }, + + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_SetVertexShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5558, 8) +OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5455, 8) { 0x1E, 0x89 }, { 0x3E, 0x5F }, @@ -659,7 +720,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5558, 10) // D3DDevice_AddRef+0x00 : mov eax, [addr] { 0x00, 0xA1 }, - // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x04FC] + // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0934] { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x34 }, @@ -668,13 +729,37 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5558, 10) // D3DDevice_AddRef+0x0B : inc ecx { 0x0B, 0x41 }, - // D3DDevice_AddRef+0x0C : mov [eax+0x04FC], ecx + // D3DDevice_AddRef+0x0C : mov [eax+0x0934], ecx { 0x0C, 0x89 }, { 0x0D, 0x88 }, { 0x0E, 0x34 }, { 0x0F, 0x09 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_AddRef +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_AddRef, 5659, 10) + + // D3DDevice_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0938] + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x38 }, + { 0x08, 0x09 }, + + // D3DDevice_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, + + // D3DDevice_AddRef+0x0C : mov [eax+0x0938], ecx + { 0x0C, 0x89 }, + { 0x0D, 0x88 }, + { 0x0E, 0x38 }, + { 0x0F, 0x09 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -747,7 +832,7 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 5455, 12) // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x1998], eax { 0x0A, 0x89 }, { 0x0B, 0x81 }, - { 0x0C, 0x98 }, + { 0x0C, 0x98 }, // 94 vs 98 { 0x0D, 0x19 }, // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 @@ -755,6 +840,33 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 5455, 12) { 0x11, 0x04 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetSwapCallback +// ****************************************************************** +/* See the comment for the 4134 OOVPA signature for previous notes */ +OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5455, 12) + + // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x1994], eax + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0x94 }, // 94 vs 98 + { 0x0D, 0x19 }, + + // D3DDevice_SetSwapCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_SetSwapCallback // ****************************************************************** @@ -783,6 +895,39 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 5558, 7) { 0x4D, 0x5E }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetViewport +// ****************************************************************** +OOVPA_XREF(D3DDevice_GetViewport, 5455, 1+17, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_D3DDEVICE ), + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x4C }, + { 0x07, 0x24 }, + { 0x08, 0x04 }, + { 0x09, 0x05 }, + + { 0x0C, 0x00 }, + { 0x0D, 0x00 }, + { 0x0E, 0x8B }, + + { 0x2A, 0x8B }, + { 0x2B, 0x40 }, + { 0x2C, 0x14 }, + { 0x2D, 0x89 }, + { 0x2E, 0x41 }, + { 0x2F, 0x14 }, + { 0x30, 0xC2 }, + { 0x31, 0x04 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -796,6 +941,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 5558, 7) { 0x28, 0x51 }, { 0x2F, 0x14 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_Reset @@ -871,6 +1017,26 @@ OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5558, 11) { 0x2E, 0x04 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetBackMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5659, 11) + + { 0x04, 0x08 }, + + { 0x0C, 0x81 }, + { 0x0D, 0xC7 }, + { 0x0E, 0x44 }, + { 0x0F, 0x0F }, + { 0x10, 0x00 }, + + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** @@ -905,6 +1071,23 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5558, 8) { 0x1A, 0xC2 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetBackMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5659, 8) + + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + + { 0x0D, 0x44 }, + { 0x0E, 0x0F }, + + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_SetRenderState_TwoSidedLighting // ****************************************************************** @@ -1245,6 +1428,27 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 5558, 6) { 0x10, 0xC2 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5455, 12) + + { 0x00, 0x83 }, + { 0x1F, 0x6A }, + + { 0x2C, 0x00 }, + { 0x2D, 0x85 }, + { 0x2E, 0xC0 }, + { 0x2F, 0x75 }, + { 0x30, 0x0A }, + { 0x31, 0xB8 }, + { 0x32, 0x05 }, + { 0x33, 0x40 }, + + { 0x4D, 0x85 }, + { 0x6F, 0xE1 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** @@ -1472,6 +1676,34 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** +// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z +OOVPA_NO_XREF(D3DDevice_SetTile, 5455, 16) + + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x1C }, + { 0x03, 0x8B }, + { 0x04, 0x44 }, + { 0x05, 0x24 }, + { 0x06, 0x24 }, + { 0x07, 0x85 }, + { 0x08, 0xC0 }, + { 0x09, 0x53 }, + { 0x0A, 0x8B }, + { 0x0B, 0x1D }, + + { 0x45, 0x8D }, + { 0x46, 0x9C }, + + { 0x88, 0x5F }, + { 0x9B, 0xCB }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5455 version +// ****************************************************************** +// * D3DDevice_SetTile +// ****************************************************************** +// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z OOVPA_NO_XREF(D3DDevice_SetTile, 5558, 10) { 0x00, 0x83 }, @@ -1485,6 +1717,7 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 5558, 10) { 0x9A, 0x94 }, { 0x9B, 0xCB }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CaptureStateBlock @@ -1504,7 +1737,7 @@ OOVPA_END; // ****************************************************************** // * CMiniport::InitHardware // ****************************************************************** -OOVPA_NO_XREF(CMiniport_InitHardware, 5558, 24) // Also for 5659, 5788, 5849, 5933 +OOVPA_NO_XREF(CMiniport_InitHardware, 5455, 24) // Also for 5558, 5659, 5788, 5849, 5933 { 0x00, 0x55 }, { 0x01, 0x8B }, { 0x02, 0xEC }, @@ -1555,6 +1788,28 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 5558, 15) { 0x1B, 0xC2 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetTile +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTile, 5455, 12) + + { 0x00, 0x8B }, + { 0x01, 0x0D }, + + { 0x13, 0x00 }, + { 0x14, 0x8B }, + { 0x15, 0x0A }, + { 0x16, 0x8B }, + { 0x17, 0x44 }, + { 0x18, 0x24 }, + { 0x19, 0x08 }, + { 0x1A, 0x89 }, + + { 0x3A, 0xC2 }, + { 0x3B, 0x08 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -1568,6 +1823,7 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 5558, 7) { 0x2E, 0x8B }, { 0x36, 0x14 }, OOVPA_END; +#endif // ****************************************************************** // * D3D::CDevice::KickOff @@ -1636,7 +1892,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 5558, 14) +OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 5455, 14) { 0x00, 0x8B }, @@ -1673,6 +1929,63 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5558, 9) { 0x13, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetVerticalBlankCallback +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetVerticalBlankCallback, 5659, 1+12, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3DDEVICE ), + + // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x1DB4], eax + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0xB8 }, // B4 vs B8 + { 0x0D, 0x1D }, + + // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetSwapCallback +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5659, 12) + + // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x1DB4], eax + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0xB4 }, // B4 vs B8 + { 0x0D, 0x1D }, + + // D3DDevice_SetSwapCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -1685,7 +1998,7 @@ OOVPA_END; // ****************************************************************** OOVPATable D3D8_5558[] = { - REGISTER_OOVPA(CMiniport_InitHardware, 5558, PATCH), + REGISTER_OOVPA(CMiniport_InitHardware, 5455, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), @@ -1693,23 +2006,23 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5233, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_EndPush, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5558, DISABLED), - REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePalette2, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePalette2, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 5558, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5558, PATCH), @@ -1736,17 +2049,19 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_GetMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShader, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 5558, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetTexture, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), @@ -1754,7 +2069,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetViewport, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), @@ -1770,16 +2085,16 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(Direct3D_CheckDeviceMultiSampleType, 3911, DISABLED), REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), - REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), + REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3D_SetFence, 5558, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_CopyRects, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), @@ -1793,6 +2108,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 5558, DISABLED), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5558, PATCH), @@ -1800,15 +2116,17 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5344, PATCH), // For 5455 REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5558, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), @@ -1832,6 +2150,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_PersistDisplay, 5455, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), @@ -1859,7 +2178,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_IsFencePending, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), @@ -1867,11 +2186,11 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), // for 5455 REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5344, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), @@ -1887,7 +2206,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_GetTile, 5558, PATCH), // NOT 5455 + REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), @@ -1896,7 +2215,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 1c59fc089..9772e3802 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -46,6 +46,7 @@ OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 5788, 7) { 0x58, 0x04 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -60,6 +61,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 5788, 8) { 0x2F, 0x14 }, { 0x31, 0x04 }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetBackBufferScale @@ -132,8 +134,9 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreatePixelShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 5788, 8) +OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 5788, 9) + { 0x00, 0x00 }, { 0x07, 0x00 }, { 0x10, 0xC0 }, { 0x19, 0x08 }, @@ -387,6 +390,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 5788, 6) { 0x63, 0x04 }, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_EndPushBuffer // ****************************************************************** @@ -399,6 +403,7 @@ OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 5788, 6) { 0x77, 0x07 }, { 0x8C, 0xC3 }, OOVPA_END; +#endif #if 0 // Moved to 5558 // ****************************************************************** // * D3DDevice_RunPushBuffer @@ -413,6 +418,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 5788, 6) { 0xF6, 0x41 }, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_SetVerticalBlankCallback // ****************************************************************** @@ -430,6 +436,7 @@ OOVPA_XREF(D3DDevice_SetVerticalBlankCallback, 5788, 7, { 0x0D, 0x1D }, { 0x11, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank @@ -495,9 +502,11 @@ OOVPA_END; OOVPA_END; */ +#if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** +// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z OOVPA_NO_XREF(D3DDevice_SetTile, 5788, 10) // D3DDevice_SetTile+0x00: sub esp, 0x1C @@ -513,7 +522,8 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 5788, 10) { 0x4A, 0x00 }, { 0x4B, 0x00 }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_SetSwapCallback // ****************************************************************** @@ -527,7 +537,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5788, 7) { 0x0D, 0x1D }, { 0x10, 0xC2 }, OOVPA_END; - +#endif #if 0 // Moved to 5849 // ****************************************************************** // * D3DDevice_SetRenderState_StencilFail @@ -716,6 +726,7 @@ OOVPA_XREF(D3D_Unknown, 5788, 6, { 0x0E, 0xC3 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_AddRef // ****************************************************************** @@ -729,6 +740,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5788, 7) { 0x10, 0x00 }, { 0x13, 0xC1 }, OOVPA_END; +#endif // ****************************************************************** // * D3D::ClearStateBlockFlags @@ -1043,7 +1055,7 @@ OOVPA_END; // ****************************************************************** OOVPATable D3D8_5788[] = { - REGISTER_OOVPA(CMiniport_InitHardware, 5558, PATCH), + REGISTER_OOVPA(CMiniport_InitHardware, 5455, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), @@ -1051,8 +1063,8 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), @@ -1066,7 +1078,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_End, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), @@ -1083,15 +1095,15 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShader, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 5558, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetTexture, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_EndPush, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), // Not implemented yet. - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 5788, PATCH), // Not implemented yet. + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), // Not implemented yet. REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), @@ -1111,7 +1123,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CopyRects, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), @@ -1125,7 +1137,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), - REGISTER_OOVPA(D3D_SetPushBufferSize, 3925, DISABLED), + REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(Direct3D_CheckDeviceMultiSampleType, 3911, DISABLED), REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), @@ -1141,7 +1153,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetViewport, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), @@ -1149,10 +1161,10 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5558, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -1164,10 +1176,10 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5558, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePalette2, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePalette2, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 5788, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), @@ -1176,16 +1188,16 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_AddRef, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_AddRef, 5659, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 5788, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetTile, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), @@ -1233,13 +1245,13 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index 0fc68ee87..11d4b3c10 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -164,7 +164,7 @@ OOVPA_END; // ****************************************************************** OOVPATable D3D8_5849[] = { - REGISTER_OOVPA(CMiniport_InitHardware, 5558, PATCH), + REGISTER_OOVPA(CMiniport_InitHardware, 5455, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), @@ -172,8 +172,8 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), @@ -188,7 +188,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_End, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), @@ -206,14 +206,14 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShader, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 5558, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetTexture, 5344, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_EndPush, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), // Not implemented yet. - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 5788, PATCH), // Not implemented yet. + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), // Not implemented yet. REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), @@ -228,7 +228,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CopyRects, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), @@ -245,7 +245,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5558, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5849, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), REGISTER_OOVPA(D3D_AllocContiguousMemory, 5788, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH REGISTER_OOVPA(Get2DSurfaceDesc, 5849, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), @@ -258,17 +258,17 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetViewport, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5558, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4928, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 5849, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -279,7 +279,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), @@ -291,16 +291,16 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_AddRef, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_AddRef, 5659, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 5788, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetTile, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), @@ -327,7 +327,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), - REGISTER_OOVPA(D3DDevice_CreatePalette2, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePalette2, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), @@ -355,7 +355,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index a52296474..34b2baa64 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -32,6 +32,67 @@ // * // ****************************************************************** +// TODO: Known D3D8 OOVPA issue list +// * Following OOVPA revision are not verified +// * D3DCubeTexture_GetCubeMapSurface (4721, 4928, 5233, 5455) +// * D3DDevice_ApplyStateBlock (4039, 4721, 5028, 5120) +// * D3DDevice_BeginPushBuffer (3950, 4039, 4242, 5028) +// * D3DDevice_BeginStateBlock (4039, 4721, 5028, 5120) +// * D3DDevice_BlockOnFence (4039) +// * D3DDevice_CaptureStateBlock (4039, 4432, 4721, 4831, 5028, 5120) +// * D3DDevice_CreateCubeTexture (4721, 4928, 5028, 5233, 5455) +// * D3DDevice_CreateImageSurface (4721, 4928, 5028, 5120, 5233, 5455) +// * D3DDevice_CreatePalette (4721, 4831, 4928, 5120, 5233, 5455) +// * D3DDevice_CreateStateBlock (3950, 4039, 4242, 4432, 4721, 4928, 5028, 5120) +// * D3DDevice_CreateTexture (4721, 4928, 5233, 5455) +// * D3DDevice_CreateVolumeTexture (4721, 4928, 5028, 5120, 5233, 5455) +// * D3DDevice_DeleteStateBlock (4039, 4721, 4831, 5028, 5120) +// * D3DDevice_DrawRectPatch (3948 and higher, only use by 3925?) +// * D3DDevice_EnableOverlay (4039) +// * D3DDevice_EndPushBuffer (3950, 4039, 4242, 5028) +// * D3DDevice_EndStateBlock (4039, 4721, 4831, 5028, 5120) +// * D3DDevice_FlushVertexCache (4039) +// * D3DDevice_GetBackBuffer (4721, 4831, 4928, 5028, 5120, 5233, 5455) +// * D3DDevice_GetBackMaterial (4039) +// * D3DDevice_GetLightEnable (4039) +// * D3DDevice_GetMaterial (4039) +// * D3DDevice_GetModelView (4039) +// * D3DDevice_GetOverlayUpdateStatus (4039, 4242, 4432) +// * D3DDevice_GetProjectionViewportMatrix (4039) +// * D3DDevice_GetPushBufferOffset (3950, 4039, 4242, 5028) +// * D3DDevice_GetRenderTarget (5028) +// * D3DDevice_GetScissors (4039) +// * D3DDevice_GetShaderConstantMode (4039) +// * D3DDevice_GetTile (4039) +// * D3DDevice_GetVertexShaderFunction (4039) +// * D3DDevice_GetVertexShaderInput (4039) +// * D3DDevice_GetVertexShaderType (4039) +// * D3DDevice_InsertCallback (4039) +// * D3DDevice_IsFencePending (4039) +// * D3DDevice_LoadVertexShaderProgram (4039) +// * D3DDevice_PrimeVertexCache (4039) +// * D3DDevice_RunPushBuffer (5028) +// * D3DDevice_RunVertexStateShader (4039) +// * D3DDevice_SetBackBufferScale (4039) +// * D3DDevice_SetBackMaterial (4039) +// * D3DDevice_SetModelView (4039) +// * D3DDevice_SetPixelShaderProgram (4039) +// * D3DDevice_SetRenderTarget (5120) +// * D3DDevice_SetVertexData2s (4039) +// * D3DDevice_SetVertexData4s (4039) +// * D3DDevice_SetVertexData4ub (4039) +// * D3DDevice_SetVertexShaderConstant (4721, 4928) +// * D3DDevice_SetVertexShaderInput (4039) +// * D3DDevice_SwitchTexture (4039) +// * D3DDevice_UpdateOverlay (4039) +// * D3DPalette_Lock (4721, 4831, 4928, 5028, 5120, 5233) +// * D3DTexture_GetSurfaceLevel (4928), 5455) +// * D3DTexture_GetSurfaceLevel (4928, 5455) +// * D3DVertexBuffer_Lock (4721, 4831, 4928, 5120, 5233, 5455) +// * D3D_ClearStateBlockFlags (4039, 4721, 5028, 5120) +// * D3D_CommonSetRenderTarget (5120) +// * D3D_RecordStateBlock (4039, 4721, 5028, 5120) + #ifndef D3D8_OOVPA_INL #define D3D8_OOVPA_INL @@ -57,13 +118,13 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(CMiniport_CreateCtxDmaObject, PATCH, 3911, 4034), - REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 3911, 4034, 4361, 4627, 5558), + REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 3911, 4034, 4361, 4627, 5455), REGISTER_OOVPAS(CMiniport_IsFlipPending, XREF, 4627), REGISTER_OOVPAS(D3DBaseTexture_GetLevelCount, PATCH, 3911), REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, PATCH, 3911, 4134, 4627, 5558), // Called D3DCubeTexture_GetCubeMapSurface2 (from 4627's comment) NOTE: Use D3DCubeTexture_GetCubeMapSurface2 for 4627 and above REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, PATCH, 4627), REGISTER_OOVPAS(D3DCubeTexture_LockRect, PATCH, 3925), // Just calls Lock2DSurface (from 4134, 4432's comment) - REGISTER_OOVPAS(D3DDevice_AddRef, PATCH, 3925, 4134, 4361, 4627, 5028, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_AddRef, PATCH, 3925, 4039, 4134, 4242, 4627, 5028, 5344, 5558, 5659), REGISTER_OOVPAS(D3DDevice_ApplyStateBlock, PATCH, 3925, 4361, 4627), REGISTER_OOVPAS(D3DDevice_Begin, PATCH, 3925, 4039), REGISTER_OOVPAS(D3DDevice_BeginPush, PATCH, 4134, 4432, 4627, 5028), @@ -71,17 +132,17 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_BeginStateBig, XREF, 5028), REGISTER_OOVPAS(D3DDevice_BeginStateBlock, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 3925, 4034, 4361, 4627), - REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3925, 4039, 4134, 5233), + REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3925/*, 4039, 4134, 5233*/), REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3925, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3925, 4134, 4627, 5455), REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3925, 4034, 4134, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3925, 4034, 4134, 4627, 5233), + REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3925, 4034, 4134, 4627, 5120), REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3925, 4361, 4627), REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3925, 4034, 4134, 4627),//TODO 4721,4928 (from 4627's comment) REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer, UNPATCHED, 3925, 4627/*, 5558*/), // TODO: This needs to be verified on 4361 REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer2, UNPATCHED, 4627, 5344), REGISTER_OOVPAS(D3DDevice_CreatePalette, PATCH, 3925, 4627), // Called D3DDevice_CreatePalette2 (from 4627's comment) NOTE: Use D3DDevice_CreatePalette2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_CreatePalette2, PATCH, 4627, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_CreatePalette2, PATCH, 4627, 5344, 5455), REGISTER_OOVPAS(D3DDevice_CreatePixelShader, PATCH, 3925, 5344, 5788), REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3925, 4627), REGISTER_OOVPAS(D3DDevice_CreateTexture, PATCH, 3925, 4627),// Called D3DDevice_CreateTexture2 (from 4627's comment) NOTE: Use D3DDevice_CreateTexture2 for 4627 and above @@ -100,16 +161,16 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_DrawTriPatch, UNPATCHED, 3911), REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 3925, 4034, 5028), REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 3925, 4039, 4134, 4627, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_EnableOverlay, PATCH, 4134), + REGISTER_OOVPAS(D3DDevice_EnableOverlay, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_End, PATCH, 3925, 4039, 4627, 5028, 5344, 5558), - REGISTER_OOVPAS(D3DDevice_EndPush, PATCH, 4134, 4627), // Was 4627 (from 5233's comment) - REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3925, 4134, 4627, 5788), // Not implemented yet. (from 5788's comment) + REGISTER_OOVPAS(D3DDevice_EndPush, PATCH, 4134/*, 4627*/), // Was 4627 (from 5233's comment) + REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3925, 4134), // Not implemented yet. (from 5788's comment) REGISTER_OOVPAS(D3DDevice_EndStateBlock, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 3925, 4034, 4361, 4627, 5788), REGISTER_OOVPAS(D3DDevice_FlushVertexCache, PATCH, 3925, 4134), REGISTER_OOVPAS(D3DDevice_GetBackBuffer, PATCH, 3925, 4034, 4134, 4627, 5558), // Called D3DDevice_GetBackBuffer2 (from 4627's comment) NOTE: Use D3DDevice_GetBackBuffer2 for 4627 and above REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, PATCH, 4627, 5028, 5344, 5455, 5558, 5788), // 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_GetBackMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetBackMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5659, 5788), REGISTER_OOVPAS(D3DDevice_GetCreationParameters, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface, PATCH, 3911, 4627), // Called D3DDevice_GetDepthStencilSurface2 (from 4627's comment) NOTE: Use D3DDevice_GetDepthStencilSurface2 for 4627 and above REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface2, PATCH, 4627, 5028, 5788), @@ -118,8 +179,8 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 3925, 4039, 4432, 4627), REGISTER_OOVPAS(D3DDevice_GetGammaRamp, PATCH, 3925, 4034), REGISTER_OOVPAS(D3DDevice_GetLight, PATCH, 3925), - REGISTER_OOVPAS(D3DDevice_GetLightEnable, PATCH, 3911, 5028), - REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetLightEnable, PATCH, 3911, 5344), + REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5659, 5788), REGISTER_OOVPAS(D3DDevice_GetModelView, PATCH, 3925, 4134), REGISTER_OOVPAS(D3DDevice_GetOverlayUpdateStatus, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetPersistedSurface2, PATCH, 4928), // For only on Unreal Championship (from 4627's comment) @@ -132,23 +193,23 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3925, 4134, 4627, 5344, 5558, 5788), REGISTER_OOVPAS(D3DDevice_GetStreamSource2, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3925, 4134, 4627, 5028, 5344, 5558), // NOT 5455 (from 5558's comment) + REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3925, 4134, 4627, 5028, 5344, 5455), REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3925, 4039), REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3925, 4039, 4134, 5028, 5788), REGISTER_OOVPAS(D3DDevice_GetVertexShaderConstant, PATCH, 3925, 4039, 5028), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3925, 4134, 4627, 5558), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3925, 4134, 4627, 5455), REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3925, 4134), REGISTER_OOVPAS(D3DDevice_GetVertexShaderInput, PATCH, 3925, 4134, 4627), REGISTER_OOVPAS(D3DDevice_GetVertexShaderSize, PATCH, 3925), REGISTER_OOVPAS(D3DDevice_GetVertexShaderType, PATCH, 3925), - REGISTER_OOVPAS(D3DDevice_GetViewport, PATCH, 3925, 4034, 4134, 4627, 5344, 5558, 5788), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale, PATCH, 4627, 5558), + REGISTER_OOVPAS(D3DDevice_GetViewport, PATCH, 3925, 4034, 4134, 4627, 5344, 5455/*, 5788*/), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale, PATCH, 4432/*, 5558*/), REGISTER_OOVPAS(D3DDevice_GetVisibilityTestResult, PATCH, 3925, 5233), REGISTER_OOVPAS(D3DDevice_InsertCallback, PATCH, 3925, 4134, 4627, 5028), REGISTER_OOVPAS(D3DDevice_InsertFence, PATCH, 3925), REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3925, 4034, 5028, 5344), REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3925, 4039, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3925, 4039, 4134, 4627, 5028, 5455, 5788), + REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3925, 4039, 4134, 4531, 5028, 5455, 5788), REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_LazySetStateVB, XREF, 5028), REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911, 5028, 5344), // Was 5233 (from 5344's comment) @@ -162,20 +223,20 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3925, 4039), REGISTER_OOVPAS(D3DDevice_RunPushBuffer, PATCH, 3925, 4039, 4627, 5120, 5558), // for 5455 (from 5558's comment) REGISTER_OOVPAS(D3DDevice_RunVertexStateShader, PATCH, 3925, 4134), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3925, 4039, 4627, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3925, 4039, 4627, 5344, 5455), REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, PATCH, 4361), - REGISTER_OOVPAS(D3DDevice_SetBackBufferScale, PATCH, 4039), - REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetBackBufferScale, PATCH, 4134), + REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5659, 5788), REGISTER_OOVPAS(D3DDevice_SetDepthClipPlanes, PATCH, 4627, 5788, 5849), REGISTER_OOVPAS(D3DDevice_SetFlickerFilter, PATCH, 3925, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetGammaRamp, PATCH, 3925, 4627), REGISTER_OOVPAS(D3DDevice_SetIndices, UNPATCHED, 3925, 4034, 4134, 5028, 5558), REGISTER_OOVPAS(D3DDevice_SetLight, PATCH, 3925, 4034, 4134, 5028, 5344, 5558), - REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3925, 4034, 4134, 4627, 5344, 5455, 5558, 5788), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3925, 4034, 4134, 4627, 5344, 5455, 5558, 5659, 5788), // Was 4627 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetModelView, PATCH, 3925, 4134, 4627), REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3925, 4034, 4134, 4432, 4627, 5233, 5344, 5558, 5788), REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3925, 4039, 4134, 4432, 4627), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3925, 4039, 4928, 5233, 5558), + REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3925, 4039, 4831/*, 5233, 5558*/), REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3925, 4361, 4627, 5558), REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3925, 4034, 4134, 4531, 5788), REGISTER_OOVPAS(D3DDevice_SetRenderState_CullMode, PATCH, 3911, 4034), @@ -219,13 +280,13 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetStateVB, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3DDevice_SetStipple, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_SetStreamSource, PATCH, 3925, 4034), - REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4361, 4432, 4928, 5028, 5233, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3925, 4034, 4627, 4928, 5233), // Was 4928 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), + REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3925, 4034, 4627, 4831, 5344), // Was 4928 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3925, 4034, 4361), REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3925, 4039), REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3925, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3925, 4034, 4242, 4627), - REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3925, 4039, 4134, 4627, 5028, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3925, 4039, 4134, 4627, 5028, 5455/*, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3925, 4034, 4134, 5344, 5558), // Was 4134 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3925, 4039), // Was 4627 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3925, 4134, 4361), @@ -233,7 +294,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetVertexData4s, PATCH, 3925, 4134, 4361), REGISTER_OOVPAS(D3DDevice_SetVertexData4ub, PATCH, 3925, 4134), REGISTER_OOVPAS(D3DDevice_SetVertexDataColor, PATCH, 3925, 4039, 4361), - REGISTER_OOVPAS(D3DDevice_SetVertexShader, PATCH, 3925, 4034, 4134, 5028, 5558), + REGISTER_OOVPAS(D3DDevice_SetVertexShader, PATCH, 3925, 4034, 4134, 5028, 5455), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant, PATCH, 3925, 4034, 4627), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1, PATCH, 4627, 5558, 5788), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1Fast, PATCH, 4627), @@ -242,12 +303,12 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInlineFast, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, PATCH, 3925, 4134, 4361), REGISTER_OOVPAS(D3DDevice_SetVertexShaderInputDirect, PATCH, 4361), - REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3925, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3925, 4034, 4627, 5028, 5344, 5558), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 4034, 4134, 4361, 4432, 4531, 4627, 5028, 5233), + REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3925, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3925, 4034, 4627, 5028, 5344, 5455), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 4034, 4531, 4627, 5028, 5233), REGISTER_OOVPAS(D3DDevice_SwitchTexture, PATCH, 3925, 4361), - REGISTER_OOVPAS(D3DDevice_UpdateOverlay, PATCH, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5558), - REGISTER_OOVPAS(D3DPalette_Lock, PATCH, 3925, 4627, 5344), // Called D3DPalette_Lock2 (from 4627's comment) NOTE: Use D3DPalette_Lock2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_UpdateOverlay, PATCH, 3911, 4531,/* 5028,*/ 5233/*, 5344, 5558*/), + REGISTER_OOVPAS(D3DPalette_Lock, PATCH, 3925, 4531, 4627, 5344), // Called D3DPalette_Lock2 (from 4627's comment) NOTE: Use D3DPalette_Lock2 for 4627 and above REGISTER_OOVPAS(D3DPalette_Lock2, PATCH, 4627), REGISTER_OOVPAS(D3DResource_AddRef, PATCH, 3925), REGISTER_OOVPAS(D3DResource_BlockUntilNotBusy, PATCH, 3925), @@ -257,7 +318,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DResource_Release, PATCH, 3925, 4361), REGISTER_OOVPAS(D3DSurface_GetDesc, PATCH, 3925), REGISTER_OOVPAS(D3DSurface_LockRect, PATCH, 3925), - REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel, PATCH, 3925, 4432), + REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel, PATCH, 3925, 4432, 4627), REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel2, PATCH, 4627), REGISTER_OOVPAS(D3DTexture_LockRect, PATCH, 3925), REGISTER_OOVPAS(D3DVertexBuffer_GetDesc, UNPATCHED, 3925), From 3bade6f0506c071b6a98d7290dc1b6ea3f060e5b Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 25 Sep 2017 22:06:02 +0900 Subject: [PATCH 090/146] Moved OOVPAs lowered --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 27 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 5 ++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 14 +++++----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 4 +-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 29 ++++++++++++++++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 8 +++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 4 +-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 30 +++++++++++++++++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 10 ++++---- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 6 ++--- src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 11 ++++---- 13 files changed, 112 insertions(+), 40 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index 4c4b365bd..004305d74 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -2328,6 +2328,30 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 3925, 10) { 0x1B, 0x04 }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetGammaRamp +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetGammaRamp, 3911, 13) // Up to 5849 + + { 0x05, 0x8B }, + + { 0x0A, 0x00 }, + { 0x0B, 0x56 }, + { 0x0C, 0x8D }, + { 0x0D, 0x0C }, + { 0x0E, 0x49 }, + { 0x0F, 0xC1 }, + { 0x10, 0xE1 }, + { 0x11, 0x08 }, + + { 0x16, 0x0C }, + { 0x1C, 0x00 }, + { 0x22, 0x00 }, + { 0x27, 0xC2 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetGammaRamp // ****************************************************************** @@ -2341,6 +2365,7 @@ OOVPA_NO_XREF(D3DDevice_GetGammaRamp, 3925, 7) { 0x22, 0x00 }, { 0x28, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** @@ -4651,7 +4676,7 @@ OOVPATable D3D8_3925[] = { REGISTER_OOVPA(D3DDevice_SetMaterial, 3925, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index be23c1342..ce1359606 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -103,6 +103,7 @@ OOVPA_NO_XREF(CMiniport_CreateCtxDmaObject, 4034, 32) // Also for 4361, 4627, 53 { 0x1F, 0x3A }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetGammaRamp // ****************************************************************** @@ -115,7 +116,7 @@ OOVPA_NO_XREF(D3DDevice_GetGammaRamp, 4034, 7) { 0x22, 0x00 }, { 0x28, 0x04 }, OOVPA_END; - +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetCreationParameters @@ -2362,7 +2363,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index b8cfcb26c..3e8c11b8a 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -2822,7 +2822,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index f1f7ae47e..505e9902e 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -167,7 +167,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetVerticalBlankCallback // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4361, 12) +OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4242, 12) // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, @@ -193,7 +193,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetSwapCallback // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4361, 12) +OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4242, 12) // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] { 0x00, 0x8B }, @@ -359,7 +359,7 @@ OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 4361, 9) { 0xAC, 0x00 }, OOVPA_END; #endif -#if 1 //same as 3925 +#if 0 //same as 3925 // ****************************************************************** // * D3DDevice_DeleteStateBlock // ****************************************************************** @@ -1219,7 +1219,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3925, PATCH), @@ -1323,11 +1323,11 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4242, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4361, PATCH), @@ -1340,7 +1340,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4242, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index c318426f7..367b153b6 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -744,7 +744,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4432, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3925, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), @@ -818,7 +818,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index 947104f51..223830958 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -3385,7 +3385,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_BeginPush, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4627, DISABLED), // Called D3DDevice_GetBackBuffer2 REGISTER_OOVPA(D3DDevice_SetViewport, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index 0dfaf2c92..f776171f0 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -664,6 +664,30 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5028, 7) { 0x13, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3D::CommonSetRenderTarget +// ****************************************************************** +OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 12, + + XREF_COMMONSETRENDERTARGET, + XRefZero) + + { 0x02, 0x1C }, + { 0x1A, 0x15 }, + + { 0x3D, 0x28 }, + { 0x3E, 0x05 }, + { 0x3F, 0x00 }, + { 0x40, 0x00 }, + { 0x41, 0x89 }, + { 0x42, 0x4C }, + { 0x43, 0x24 }, + { 0x44, 0x24 }, + + { 0x7E, 0xD8 }, + { 0x7F, 0x05 }, +OOVPA_END; +#if 0 // No longer used, replaced by generic 5028 version // ****************************************************************** // * D3D_CommonSetRenderTarget // ****************************************************************** @@ -683,7 +707,7 @@ OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 10, { 0x57, 0x10 }, { 0x67, 0x00 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_PersistDisplay @@ -1099,7 +1123,6 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 5120, 13) { 0x95, 0x8B }, OOVPA_END; - // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -1126,7 +1149,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5028, PATCH), REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 4ce5e8ffb..2460f12a9 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -405,7 +405,7 @@ OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5233, 8, { 0x2C, 0xE8 }, { 0x32, 0x04 }, OOVPA_END; - +#if 0 // No longer used, replaced by generic 5028 version // ****************************************************************** // * D3D::CommonSetRenderTarget // ****************************************************************** @@ -423,7 +423,7 @@ OOVPA_XREF(D3D_CommonSetRenderTarget, 5233, 8, { 0xDC, 0xD9 }, { 0xFF, 0x75 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3925 version // ****************************************************************** // * D3DDevice_BlockOnFence @@ -662,13 +662,13 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5233, PATCH), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), - REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5233, XREF), + REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index adc9ebdb4..79feac17b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -1139,7 +1139,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5344, PATCH), // Was 5233 - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), @@ -1337,7 +1337,7 @@ OOVPATable D3D8_5344[] = { // Unused functions in XDK 5344 // TODO: Remove // ****************************************************************** - REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5233, XREF), // Used between 4627 to 5233 + REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF), // Used between 4627 to 5233 // ****************************************************************** }; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 0946323f3..b91f08fb6 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -206,6 +206,30 @@ OOVPA_NO_XREF(D3DDevice_SetViewport, 5455, 8) { 0xFE, 0x85 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_CreateVertexBuffer2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 5455, 14) + + { 0x00, 0x56 }, + { 0x08, 0xE8 }, + + { 0x16, 0x08 }, + { 0x17, 0x68 }, + { 0x18, 0x00 }, + { 0x19, 0x00 }, + { 0x1A, 0x80 }, + { 0x1B, 0xB2 }, + { 0x1C, 0x50 }, + { 0x1D, 0xE8 }, + + { 0x26, 0x68 }, + { 0x31, 0x33 }, + { 0x3A, 0xFF }, + { 0x44, 0x01 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** @@ -219,7 +243,7 @@ OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 5558, 7) { 0x3A, 0xFF }, { 0x44, 0x01 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_UpdateOverlay @@ -2018,7 +2042,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), - REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5558, DISABLED), + REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), @@ -2110,7 +2134,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 9772e3802..20c95833a 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -937,7 +937,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5788, 8) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; - +#if 0 // No longer used, replaced by generic 3925 version // ****************************************************************** // * D3DDevice_DeleteStateBlock // ****************************************************************** @@ -958,7 +958,7 @@ OOVPA_NO_XREF(D3DDevice_DeleteStateBlock, 5788, 9) { 0x3D, 0x6F }, { 0x3E, 0x08 }, OOVPA_END; - +#endif #if 0 // Used 3925 instead in 5788, 5849 // ****************************************************************** // * D3DDevice_SetRenderState_RopZCmpAlwaysRead @@ -1131,7 +1131,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5558, DISABLED), + REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 5788, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 5788, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), @@ -1163,7 +1163,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), @@ -1217,7 +1217,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index 11d4b3c10..050ed00c5 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -236,7 +236,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5558, DISABLED), + REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 5788, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 5788, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), @@ -267,7 +267,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetGammaRamp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 5849, PATCH), @@ -318,7 +318,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index 34b2baa64..d5bb68605 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -90,7 +90,6 @@ // * D3DTexture_GetSurfaceLevel (4928, 5455) // * D3DVertexBuffer_Lock (4721, 4831, 4928, 5120, 5233, 5455) // * D3D_ClearStateBlockFlags (4039, 4721, 5028, 5120) -// * D3D_CommonSetRenderTarget (5120) // * D3D_RecordStateBlock (4039, 4721, 5028, 5120) #ifndef D3D8_OOVPA_INL @@ -153,7 +152,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_CreateVolumeTexture, PATCH, 3925, 4627), REGISTER_OOVPAS(D3DDevice_DeletePatch, UNPATCHED, 4034), // (TODO) (from 4034's comment) REGISTER_OOVPAS(D3DDevice_DeletePixelShader, PATCH, 3925, 5344), - REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 3925, 4361, 5788), + REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 3925/*, 4361, 5788*/), REGISTER_OOVPAS(D3DDevice_DeleteVertexShader, PATCH, 3925, 5344), REGISTER_OOVPAS(D3DDevice_DrawIndexedVertices, PATCH, 3925, 4034, 4627, 5028), REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, PATCH, 3925, 4039, 4134, 4627, 5028, 5344, 5558, 5788), @@ -177,7 +176,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_GetDeviceCaps, UNPATCHED, 3925), REGISTER_OOVPAS(D3DDevice_GetDisplayFieldStatus, PATCH, 3925, 4039, 4432, 5233, 5788), REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 3925, 4039, 4432, 4627), - REGISTER_OOVPAS(D3DDevice_GetGammaRamp, PATCH, 3925, 4034), + REGISTER_OOVPAS(D3DDevice_GetGammaRamp, PATCH, 3911/*, 3925, 4034*/), REGISTER_OOVPAS(D3DDevice_GetLight, PATCH, 3925), REGISTER_OOVPAS(D3DDevice_GetLightEnable, PATCH, 3911, 5344), REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5659, 5788), @@ -280,7 +279,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetStateVB, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3DDevice_SetStipple, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_SetStreamSource, PATCH, 3925, 4034), - REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), + REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3925, 4034, 4627, 4831, 5344), // Was 4928 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3925, 4034, 4361), REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3925, 4039), @@ -303,7 +302,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInlineFast, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, PATCH, 3925, 4134, 4361), REGISTER_OOVPAS(D3DDevice_SetVertexShaderInputDirect, PATCH, 4361), - REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3925, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3925, 4039, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3925, 4034, 4627, 5028, 5344, 5455), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 4034, 4531, 4627, 5028, 5233), REGISTER_OOVPAS(D3DDevice_SwitchTexture, PATCH, 3925, 4361), @@ -331,7 +330,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3D_CMiniport_GetDisplayCapabilities, PATCH, 3911), REGISTER_OOVPAS(D3D_CheckDeviceFormat, UNPATCHED, 3911, 4134), REGISTER_OOVPAS(D3D_ClearStateBlockFlags, XREF, 3911, 5788), - REGISTER_OOVPAS(D3D_CommonSetRenderTarget, XREF, 4627, 5028, 5233), // Used between 4627 to 5233 (from 5344's comment) + REGISTER_OOVPAS(D3D_CommonSetRenderTarget, XREF, 4627, 5028/*, 5233*/), // Used between 4627 to 5233 (from 5344's comment) REGISTER_OOVPAS(D3D_CommonSetRenderTargetB, XREF, 4627), REGISTER_OOVPAS(D3D_CreateDeviceX, UNPATCHED, 4627), REGISTER_OOVPAS(D3D_CreateStandAloneSurface, XREF, 4134), From 1f45af28ee34e87c618ec0f88933189f9bff745b Mon Sep 17 00:00:00 2001 From: jarupxx Date: Wed, 27 Sep 2017 18:22:15 +0900 Subject: [PATCH 091/146] Separated D3D OOVPAs --- build/win32/Cxbx.vcxproj | 11 + build/win32/Cxbx.vcxproj.filters | 33 + src/CxbxKrnl/HLEDataBase.h | 2 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.h | 45 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl | 1051 ++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.h | 2 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 130 ++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl | 56 ++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.h | 44 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl | 138 +++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.h | 2 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 18 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 33 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl | 171 ++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 102 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl | 147 +++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl | 46 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 7 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5120.inl | 70 ++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 3 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl | 563 +++++++++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 211 ++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl | 188 ++++ src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 11 +- src/CxbxKrnl/HLEIntercept.cpp | 12 +- 26 files changed, 2879 insertions(+), 219 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.h create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.h create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5120.inl create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl create mode 100644 src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index a57dadea8..401c8ab83 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -231,9 +231,11 @@ $(SOLUTIONDIR)Export.bat + + @@ -325,16 +327,25 @@ $(SOLUTIONDIR)Export.bat + + + + + + + + + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index ec29284fb..928a9156e 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -405,6 +405,9 @@ Shared + + HLEDatabase\D3D8 + HLEDatabase\D3D8 @@ -414,6 +417,9 @@ HLEDatabase\D3D8 + + HLEDatabase\D3D8 + HLEDatabase\D3D8 @@ -614,36 +620,63 @@ HLEDatabase\D3D8 + + HLEDatabase\D3D8 + HLEDatabase\D3D8 + + HLEDatabase\D3D8 + HLEDatabase\D3D8 HLEDatabase\D3D8 + + HLEDatabase\D3D8 + HLEDatabase\D3D8 HLEDatabase\D3D8 + + HLEDatabase\D3D8 + HLEDatabase\D3D8 + + HLEDatabase\D3D8 + + + HLEDatabase\D3D8 + HLEDatabase\D3D8 + + HLEDatabase\D3D8 + HLEDatabase\D3D8 HLEDatabase\D3D8 + + HLEDatabase\D3D8 + HLEDatabase\D3D8 + + HLEDatabase\D3D8 + HLEDatabase\D3D8 diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 75dedde6d..1da7e5254 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -46,9 +46,11 @@ #include "HLEDataBase/Xapi.1.0.5558.h" #include "HLEDataBase/Xapi.1.0.5788.h" #include "HLEDataBase/Xapi.1.0.5849.h" +#include "HLEDataBase/D3D8.1.0.3911.h" #include "HLEDataBase/D3D8.1.0.3925.h" #include "HLEDataBase/D3D8.1.0.4034.h" #include "HLEDataBase/D3D8.1.0.4134.h" +#include "HLEDataBase/D3D8.1.0.4242.h" #include "HLEDataBase/D3D8.1.0.4361.h" #include "HLEDataBase/D3D8.1.0.4432.h" #include "HLEDataBase/D3D8.1.0.4627.h" diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.h b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.h new file mode 100644 index 000000000..9abaf81a7 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.h @@ -0,0 +1,45 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.3911.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_3911_H +#define D3D8_3911_H + +#include "OOVPA.h" + +extern LOOVPA<1+11> D3DDevice_SetTextureState_TexCoordIndex_3911; +extern LOOVPA<2+15> D3DDevice_SetRenderState_CullMode_3911; + +extern OOVPATable D3D8_3911[]; +extern uint32 D3D8_3911_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl new file mode 100644 index 000000000..6bf97c07a --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl @@ -0,0 +1,1051 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.3911.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * Direct3D_CreateDevice +// ****************************************************************** +OOVPA_NO_XREF(Direct3D_CreateDevice, 3911, 18) // Also for 4361, 4627, 5558, 5659, 5788, 5849, 5933 (NOT 5344!) + + { 0x00, 0xA1 }, + + { 0x05, 0x85 }, + { 0x06, 0xC0 }, + { 0x07, 0x75 }, + { 0x08, 0x0A }, + { 0x09, 0xC7 }, + { 0x0A, 0x05 }, + + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + { 0x11, 0x08 }, + { 0x12, 0x00 }, + { 0x13, 0xA1 }, + + { 0x18, 0x85 }, + { 0x19, 0xC0 }, + { 0x1A, 0x75 }, + { 0x1B, 0x0A }, + { 0x1C, 0xC7 }, + { 0x1D, 0x05 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) +// ****************************************************************** +#if 0 // Derived XREF_OFFSET_D3DDEVICE_M_TEXTURES is not Implemented yet. +OOVPA_XREF(D3DDevice_GetTexture2, 3911, 1 + 21, // Also for 4361 + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived +#endif + +OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 21) // Also for 4361 + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x16 }, +OOVPA_END; + + +// ****************************************************************** +// * D3DDevice_SetTexture +// ****************************************************************** +#if 0 // Derived XREF_OFFSET_D3DDEVICE_M_TEXTURES is not Implemented yet. +OOVPA_XREF(D3DDevice_SetTexture, 3911, 1+28, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x11, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived +#endif +OOVPA_NO_XREF(D3DDevice_SetTexture, 3911, 28) + + { 0x00, 0x51 }, + { 0x01, 0x53 }, + { 0x02, 0x8B }, + { 0x03, 0x5C }, + { 0x04, 0x24 }, + { 0x05, 0x0C }, + { 0x06, 0x55 }, + { 0x07, 0x57 }, + { 0x08, 0x8B }, + { 0x09, 0x3D }, + + { 0x0E, 0x8B }, + { 0x0F, 0x84 }, + { 0x10, 0x9F }, + { 0x11, 0xA0 }, + { 0x12, 0x0B }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x85 }, + { 0x16, 0xC0 }, + { 0x17, 0x89 }, + { 0x18, 0x44 }, + { 0x19, 0x24 }, + { 0x1A, 0x0C }, + { 0x1B, 0x74 }, + { 0x1C, 0x20 }, + { 0x1D, 0x8B }, + { 0x1E, 0x4F }, + { 0x1F, 0x1C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_DrawRectPatch +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DrawRectPatch, 3911, 27) // Also verified for 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x38 }, + { 0x03, 0xA1 }, + + { 0x08, 0x8B }, + { 0x09, 0x48 }, + // { 0x0A, 0x0C }, // 0x08 for 4361 and up + { 0x0B, 0x53 }, + { 0x0C, 0x55 }, + { 0x0D, 0x56 }, + { 0x0E, 0x57 }, + { 0x0F, 0x8B }, + { 0x10, 0x7C }, + { 0x11, 0x24 }, + { 0x12, 0x50 }, + { 0x13, 0x33 }, + { 0x14, 0xED }, + { 0x15, 0x81 }, + { 0x16, 0xC9 }, + { 0x17, 0x00 }, + { 0x18, 0x08 }, + { 0x19, 0x00 }, + { 0x1A, 0x00 }, + { 0x1B, 0x85 }, + { 0x1C, 0xFF }, + { 0x1D, 0x89 }, + { 0x1E, 0x6C }, + { 0x1F, 0x24 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_DrawTriPatch +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DrawTriPatch, 3911, 27) // Also verified for 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 + + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x14 }, + { 0x03, 0xA1 }, + + { 0x08, 0x8B }, + { 0x09, 0x48 }, + // { 0x0A, 0x0C }, // 0x08 for 4361 and up + { 0x0B, 0x53 }, + { 0x0C, 0x55 }, + { 0x0D, 0x56 }, + { 0x0E, 0x57 }, + { 0x0F, 0x8B }, + { 0x10, 0x7C }, + { 0x11, 0x24 }, + { 0x12, 0x2C }, + { 0x13, 0x81 }, + { 0x14, 0xC9 }, + { 0x15, 0x00 }, + { 0x16, 0x08 }, + { 0x17, 0x00 }, + { 0x18, 0x00 }, + { 0x19, 0x33 }, + { 0x1A, 0xDB }, + { 0x1B, 0x85 }, + { 0x1C, 0xFF }, + { 0x1D, 0x89 }, + { 0x1E, 0x44 }, + { 0x1F, 0x24 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreateVertexShader +// ****************************************************************** +// Based on Dxbx patterns for 3911, 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 +OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 3925, 38) + // IDirect3DDevice8_CreateVertexShader+0x00 : push ecx; push ebx; push ebp + { 0x00, 0x51 }, + { 0x01, 0x53 }, + { 0x02, 0x55 }, + + { 0x03, 0x8B }, + { 0x04, 0x6C }, + { 0x05, 0x24 }, + { 0x06, 0x14 }, + { 0x07, 0x85 }, + { 0x08, 0xED }, + { 0x09, 0x56 }, + + // IDirect3DDevice8_CreateVertexShader+0x0A : jz +0x10 + { 0x0A, 0x74 }, + { 0x0B, 0x10 }, + + { 0x0C, 0x0F }, + { 0x0D, 0xB7 }, + { 0x0E, 0x45 }, + { 0x0F, 0x00 }, + { 0x10, 0x0F }, + { 0x11, 0xB7 }, + { 0x12, 0x4D }, + { 0x13, 0x02 }, + { 0x14, 0x89 }, + { 0x15, 0x44 }, + { 0x16, 0x24 }, + { 0x17, 0x0C }, + { 0x18, 0x89 }, + { 0x19, 0x4C }, + { 0x1A, 0x24 }, + { 0x1B, 0x18 }, + { 0x1C, 0x33 }, + { 0x1D, 0xF6 }, + { 0x1E, 0x85 }, + { 0x1F, 0xED }, + + // D3DDevice_CreateVertexShader+0x43 : shl eax, 0x02 + { 0x43, 0xC1 }, + { 0x44, 0xE0 }, + { 0x45, 0x02 }, + + { 0x46, 0x8D }, + { 0x47, 0x1C }, + { 0x48, 0x30 }, +/* + OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 5558) + + // D3DDevice_CreateVertexShader+0x73 : mov eax, 0x8007000E + { 0x65, 0x07 }, + { 0x66, 0x80 }, + + // D3DDevice_CreateVertexShader+0x69 : retn 0x10 + { 0x69, 0xC2 }, + { 0x6A, 0x10 }, +*/ +/* + OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 5788) + + { 0x3E, 0xE8 }, + { 0x5E, 0x75 }, + { 0x7E, 0x04 }, + { 0x9E, 0x24 }, + { 0xBE, 0x24 }, + { 0xDE, 0x83 }, + { 0xFE, 0xC7 }, +*/ +/* + OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 5849) + + { 0x3E, 0xE8 }, + { 0x5E, 0x75 }, + { 0x7E, 0x04 }, + { 0x9E, 0x24 }, + { 0xBE, 0x24 }, + { 0xDE, 0x83 }, + { 0xFE, 0xC7 }, +*/ +OOVPA_END; + + +// ****************************************************************** +// * D3DDevice_Release +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_Release, 3911, 12) // Also for 4034, 4361, 4627, 5344, 5558, 5788, 5849, 5933 + + { 0x00, 0x57 }, + { 0x08, 0x87 }, + { 0x0B, 0x00 }, + { 0x0C, 0x00 }, + { 0x0D, 0x83 }, + { 0x0E, 0xF8 }, + { 0x0F, 0x01 }, + { 0x10, 0x75 }, + { 0x11, 0x1C }, + { 0x12, 0x8B }, + { 0x13, 0xCF }, + { 0x14, 0xE8 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetDepthStencilSurface +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 3911, 18) + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x80 }, + + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x85 }, + { 0x0C, 0xC0 }, + { 0x0D, 0x8B }, + { 0x0E, 0x4C }, + { 0x0F, 0x24 }, + { 0x10, 0x04 }, + { 0x11, 0x89 }, + { 0x12, 0x01 }, + { 0x13, 0x74 }, + { 0x14, 0x0B }, + { 0x15, 0x50 }, + { 0x16, 0xE8 }, + + { 0x1E, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetGammaRamp +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(D3DDevice_GetGammaRamp, 3911, 13) + + { 0x05, 0x8B }, + + { 0x0A, 0x00 }, + { 0x0B, 0x56 }, + { 0x0C, 0x8D }, + { 0x0D, 0x0C }, + { 0x0E, 0x49 }, + { 0x0F, 0xC1 }, + { 0x10, 0xE1 }, + { 0x11, 0x08 }, + + { 0x16, 0x0C }, + { 0x1C, 0x00 }, + { 0x22, 0x00 }, + { 0x27, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * D3D_SetPushBufferSize +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(D3D_SetPushBufferSize, 3911, 13) + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x4C }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + { 0x08, 0xA3 }, + { 0x0D, 0x89 }, + { 0x0E, 0x0D }, + { 0x13, 0xC2 }, + { 0x14, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_LightEnable +// ****************************************************************** +OOVPA_XREF(D3DDevice_LightEnable, 3911, 1 + 24,// valid upto at least 4627, next known difference is from 5028 onwards + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY(0x0B, XREF_D3DDEVICE), + //XREF_ENTRY(0x67, XREF_D3DDEVICE_SETLIGHT), + + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x68 }, + { 0x03, 0x53 }, + + { 0x04, 0x8B }, + { 0x05, 0x5C }, + { 0x06, 0x24 }, + { 0x07, 0x70 }, + { 0x08, 0x56 }, + + { 0x09, 0x8B }, + { 0x0A, 0x35 }, + + { 0x0F, 0x3B }, + { 0x10, 0x9E }, + // { 0x11, 0x84 }, // 94 + // { 0x12, 0x04 }, // 03 + { 0x13, 0x00 }, + + { 0x14, 0x00 }, + { 0x15, 0x73 }, + { 0x16, 0x13 }, + { 0x17, 0x8B }, + { 0x18, 0x8E }, + + // { 0x19, 0x80 }, // 90 + // { 0x1A, 0x04 }, // 03 + { 0x1B, 0x00 }, + { 0x1C, 0x00 }, + { 0x1D, 0x8D }, + { 0x1E, 0x04 }, + { 0x1F, 0xDB }, +/* + { 0x36, 0x00 }, + { 0x52, 0x00 }, + { 0x6E, 0x75 }, + { 0x8A, 0x88 }, + { 0xA6, 0x75 }, + { 0xC2, 0x00 }, +*/ +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetLightEnable +// ****************************************************************** +OOVPA_XREF(D3DDevice_GetLightEnable, 3911, 1+24, // valid upto at least 5233, next known difference is from 5344 onwards + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x05, XREF_D3DDEVICE), + + { 0x00, 0x8B }, + { 0x01, 0x4C }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + { 0x04, 0xA1 }, + { 0x09, 0x8B }, + { 0x0A, 0x90 }, + // 0x0B, 0x80 }, // 0x8004 vs 4134 0x9003 + // 0x0C, 0x04 }, + + { 0x0D, 0x00 }, + { 0x0E, 0x00 }, + { 0x0F, 0x8B }, + { 0x10, 0x80 }, + // 0x11, 0x88 }, // 0x8804 vs 4134 0x9803 + + // 0x12, 0x04 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x8D }, + { 0x16, 0x0C }, + + { 0x17, 0xC9 }, + { 0x18, 0xC1 }, + { 0x19, 0xE1 }, + { 0x1A, 0x04 }, + { 0x1B, 0x03 }, + + { 0x1C, 0xCA }, + { 0x1D, 0x85 }, + { 0x1E, 0xC0 }, + { 0x1F, 0x74 }, +OOVPA_END; + +// ****************************************************************** +// * D3D_ClearStateBlockFlags +// ****************************************************************** +OOVPA_XREF(D3D_ClearStateBlockFlags, 3911, 13, + + XREF_CLEARSTATEBLOCKFLAGS, + XRefZero) + + { 0x01, 0x15 }, + { 0x07, 0x57 }, + { 0x0F, 0xBF }, + { 0x14, 0xF3 }, + { 0x15, 0xAB }, + { 0x16, 0x8B }, + { 0x17, 0x8A }, +// { 0x18, 0x84 }, +// { 0x19, 0x04 }, + { 0x1A, 0x00 }, + { 0x1B, 0x00 }, + { 0x1C, 0x33 }, + { 0x1D, 0xF6 }, + { 0x1E, 0x8D }, + { 0x1F, 0x82 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_BeginStateBlock +// ****************************************************************** +OOVPA_XREF(D3DDevice_BeginStateBlock, 3911, 7, + + XRefNoSaveIndex, + XRefOne) + + // D3DDevice_BeginStateBlock+0x0F : call [ClearStateBlockFlags] + XREF_ENTRY( 0x0A, XREF_CLEARSTATEBLOCKFLAGS ), + + // D3DDevice_BeginStateBlock+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_BeginStateBlock+0x05 : mov [eax+C], 0x20 + { 0x05, 0x83 }, + { 0x06, 0x48 }, + { 0x07, 0x0C },//0C VS 08 + { 0x08, 0x20 }, + { 0x09, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * D3D_RecordStateBlock +// ****************************************************************** +OOVPA_XREF(D3D_RecordStateBlock, 3911, 19, + + XREF_RECORDSTATEBLOCK, + XRefZero) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x18 }, + { 0x06, 0x53 }, + { 0x07, 0x56 }, + + { 0x0F, 0x8B }, + { 0x1F, 0x89 }, + + { 0x37, 0x89 }, + { 0x38, 0x45 }, + { 0x39, 0xEC }, + { 0x3A, 0x8A }, + { 0x3B, 0x02 }, + { 0x3C, 0x42 }, + { 0x3D, 0x84 }, + { 0x3E, 0xC0 }, + { 0x5C, 0xE8 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_EndStateBlock +// ****************************************************************** +OOVPA_XREF(D3DDevice_EndStateBlock, 3911, 6, + + XRefNoSaveIndex, + XRefOne) + + // D3DDevice_EndStateBlock+0x0F : call [ClearStateBlockFlags] + XREF_ENTRY( 0x0A, XREF_RECORDSTATEBLOCK ), + + // D3DDevice_EndStateBlock+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_EndStateBlock+0x05 : and [eax+0C], 0xFFFFFFDF + { 0x05, 0x83 }, + { 0x06, 0x60 }, + { 0x07, 0x0C }, + { 0x08, 0xDF }, +OOVPA_END; + +// ****************************************************************** +// * CMiniport::InitHardware +// ****************************************************************** +OOVPA_NO_XREF(CMiniport_InitHardware, 3911, 24) + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x0C }, + { 0x06, 0x53 }, + { 0x07, 0x56 }, + { 0x08, 0x8B }, + { 0x09, 0xF1 }, + { 0x0A, 0x56 }, + { 0x0B, 0x68 }, + + { 0x10, 0x8D }, + { 0x11, 0x86 }, + { 0x12, 0x88 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x00 }, + { 0x16, 0x50 }, + { 0x17, 0xFF }, + { 0x18, 0x15 }, + + { 0x1D, 0x80 }, + { 0x1E, 0xA6 }, + { 0x1F, 0xF8 }, +OOVPA_END; + +// ****************************************************************** +// * CMiniport::CreateCtxDmaObject +// ****************************************************************** +OOVPA_NO_XREF(CMiniport_CreateCtxDmaObject, 3911, 32) + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x51 }, + { 0x04, 0x51 }, + { 0x05, 0x53 }, + { 0x06, 0x56 }, + { 0x07, 0x57 }, + { 0x08, 0x33 }, + { 0x09, 0xF6 }, + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0x45 }, + { 0x0D, 0xFC }, + { 0x0E, 0x50 }, + { 0x0F, 0x8D }, + { 0x10, 0x45 }, + { 0x11, 0xF8 }, + { 0x12, 0x50 }, + { 0x13, 0xFF }, + { 0x14, 0x75 }, + { 0x15, 0x10 }, + { 0x16, 0x8B }, + { 0x17, 0xD1 }, + { 0x18, 0x8B }, + { 0x19, 0x3A }, + { 0x1A, 0x89 }, + { 0x1B, 0x75 }, + { 0x1C, 0xF8 }, + { 0x1D, 0x89 }, + { 0x1E, 0x75 }, + { 0x1F, 0xFC }, +OOVPA_END; + +// ****************************************************************** +// * D3D_CMiniport_GetDisplayCapabilities +// ****************************************************************** +OOVPA_NO_XREF(D3D_CMiniport_GetDisplayCapabilities, 3911, 15) + + // D3D_CMiniport_GetDisplayCapabilities+0x00 : xor eax, eax + { 0x00, 0x33 }, + { 0x01, 0xC0 }, + // D3D_CMiniport_GetDisplayCapabilities+0x02 : cmp ds:_D3D__AvInfo, eax + { 0x02, 0x39 }, + { 0x03, 0x05 }, + // D3D_CMiniport_GetDisplayCapabilities+0x08 : jne + { 0x08, 0x75 }, + { 0x09, 0x0f }, + // D3D_CMiniport_GetDisplayCapabilities+0x0A : push # + { 0x0A, 0x68 }, + // D3D_CMiniport_GetDisplayCapabilities+0x0F : push eax + { 0x0F, 0x50 }, + // D3D_CMiniport_GetDisplayCapabilities+0x10 : push 6 + { 0x10, 0x6A }, + { 0x11, 0x06 }, + // D3D_CMiniport_GetDisplayCapabilities+0x12 : push eax + { 0x12, 0x50 }, + // D3D_CMiniport_GetDisplayCapabilities+0x13 : call ds:AvSendTVEncoderOption + { 0x13, 0xFF }, + { 0x14, 0x15 }, + // D3D_CMiniport_GetDisplayCapabilities+0x19 : mov eax, # + { 0x19, 0xA1 }, + // D3D_CMiniport_GetDisplayCapabilities+0x1E : retn + { 0x1E, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DBaseTexture_GetLevelCount +// ****************************************************************** +/* Accuracy is not gauranteed. + It might be a ?GetMipmapLevelCount@PixelJar@D3D@@YGKPAUD3DPixelContainer@@@Z + that has an identical signature... */ +OOVPA_NO_XREF(D3DBaseTexture_GetLevelCount, 3911, 13) + + // D3DBaseTexture_GetLevelCount+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DBaseTexture_GetLevelCount+0x04 : movzx eax, [eax+0x0E] + { 0x04, 0x0F }, + { 0x05, 0xB6 }, + { 0x06, 0x40 }, + { 0x07, 0x0E }, + + // D3DBaseTexture_GetLevelCount+0x08 : and eax, 0x0F + { 0x08, 0x83 }, + { 0x09, 0xE0 }, + { 0x0A, 0x0F }, + + // D3DBaseTexture_GetLevelCount+0x0B : retn 0x04 + { 0x0B, 0xC2 }, + { 0x0C, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DCubeTexture_GetCubeMapSurface +// ****************************************************************** +OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface, 3911, 11) + + { 0x01, 0xEC }, + { 0x18, 0x54 }, + { 0x19, 0x24 }, + { 0x1A, 0x24 }, + { 0x1B, 0x8D }, + { 0x1C, 0x44 }, + { 0x1D, 0x24 }, + { 0x1E, 0x14 }, + { 0x1F, 0x50 }, + { 0x32, 0x4C }, + { 0x45, 0x51 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetCreationParameters +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetCreationParameters, 3911, 7) + + { 0x06, 0x8B }, + { 0x0E, 0x8B }, + { 0x16, 0x4E }, + { 0x1E, 0x83 }, + { 0x26, 0x00 }, + { 0x2E, 0x5E }, + { 0x36, 0xC9 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetScissors +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetScissors, 3911, 15) + + { 0x00, 0x8B }, + { 0x01, 0x4C }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x85 }, + { 0x05, 0xC9 }, + { 0x06, 0xA1 }, + + { 0x11, 0x00 }, + { 0x18, 0x08 }, + { 0x19, 0x85 }, + { 0x1A, 0xC9 }, + { 0x1B, 0x74 }, + { 0x1C, 0x08 }, + { 0x1D, 0x8B }, + { 0x1E, 0x90 }, +// { 0x1F, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3D::LazySetPointParams +// ****************************************************************** +OOVPA_NO_XREF(D3D_LazySetPointParams, 3911, 12) + + { 0x0A, 0x57 }, + { 0x0B, 0x08 }, + { 0x0C, 0x83 }, + { 0x0D, 0xE2 }, + { 0x0E, 0xFE }, + { 0x0F, 0x57 }, + { 0x10, 0x89 }, + { 0x11, 0x57 }, + { 0x12, 0x08 }, + { 0x13, 0xE8 }, + { 0x37, 0x89 }, + { 0x6E, 0x15 }, +OOVPA_END; + +// ****************************************************************** +// * Lock3DSurface +// ****************************************************************** +OOVPA_NO_XREF(Lock3DSurface, 3911, 11) + + // D3D::PixelJar::Lock3DSurface + 0x08: test bl, 0x20 + { 0x08, 0xF6 }, + { 0x09, 0xC3 }, + { 0x0A, 0x20 }, + + // D3D::PixelJar::Lock3DSurface + 0x40: test bl, 0x40 + { 0x40, 0xF6 }, + { 0x41, 0xC3 }, + { 0x42, 0x40 }, + + // D3D::PixelJar::Lock3DSurface + 0x6D: and edx, 0x3C + { 0x6D, 0x83 }, + { 0x6E, 0xE2 }, + { 0x6F, 0x3C }, + + // D3D::PixelJar::Lock3DSurface + 0x99: ret 0x14 + { 0x99, 0xC2 }, + { 0x9A, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * D3D::CDevice::SetStateUP +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetStateUP, 3911, 16) + + { 0x01, 0xEC }, + { 0x0A, 0xE8 }, + + { 0x10, 0x46 }, + { 0x11, 0x08 }, + { 0x12, 0xF6 }, + { 0x13, 0xC4 }, + { 0x14, 0x01 }, + { 0x15, 0x0F }, + { 0x16, 0x84 }, + { 0x17, 0x79 }, + + { 0x56, 0x25 }, + { 0x9C, 0x00 }, + { 0x9D, 0x72 }, + { 0x9E, 0xB1 }, + { 0x9F, 0x56 }, + + { 0xA5, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * D3D::CDevice::SetStateVB +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetStateVB, 3911, 16) + + { 0x00, 0x51 }, + { 0x08, 0xE8 }, + + { 0x10, 0xA9 }, + { 0x11, 0x00 }, + { 0x12, 0x00 }, + { 0x13, 0x00 }, + { 0x14, 0x40 }, + { 0x15, 0x0F }, + { 0x16, 0x85 }, + { 0x17, 0xCD }, + + { 0x56, 0x25 }, + { 0x8C, 0x00 }, + { 0x8D, 0x00 }, + { 0x8E, 0x81 }, + { 0x8F, 0xC1 }, + + { 0xA5, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * Direct3D_CheckDeviceMultiSampleType +// ****************************************************************** +OOVPA_NO_XREF(Direct3D_CheckDeviceMultiSampleType, 3911, 7) + + { 0x0E, 0x00 }, + { 0x1E, 0x54 }, + { 0x2E, 0xC9 }, + { 0x3E, 0x8B }, + { 0x4E, 0x08 }, + { 0x5E, 0x72 }, + { 0x6E, 0x03 }, +OOVPA_END; + + +// ****************************************************************** +// * D3DDevice_GetOverlayUpdateStatus +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 3911, 15) // Also for 4134, 4361, 4627, 5344, 5558, 5788, 5849 + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x88 }, +// { 0x07, 0x88 }, +// { 0x08, 0x2A }, + { 0x09, 0x00 }, + +// { 0x0E, 0x5C }, +// { 0x0F, 0x24 }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x33 }, + { 0x13, 0xD2 }, + { 0x14, 0x3B }, + { 0x15, 0xCE }, + { 0x16, 0x0F }, + { 0x17, 0x95 }, + { 0x18, 0xC2 }, + { 0x19, 0x5E }, + + { 0x1C, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3D_CheckDeviceFormat +// ****************************************************************** +OOVPA_NO_XREF(D3D_CheckDeviceFormat, 3911, 7) + + { 0x0E, 0x18 }, + { 0x1E, 0x00 }, + { 0x2E, 0x42 }, + { 0x41, 0x40 }, + { 0x4E, 0x74 }, + { 0x5E, 0x08 }, + { 0x6E, 0x3C }, +OOVPA_END; +// ****************************************************************** +// * D3DDevice_EnableOverlay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_EnableOverlay, 3911, 24) + + { 0x00, 0x8B }, + + { 0x09, 0x8B }, + { 0x0A, 0x80 }, + { 0x0B, 0x04 }, + { 0x0C, 0x04 }, + { 0x0D, 0x00 }, + { 0x0E, 0x00 }, + { 0x0F, 0x33 }, + { 0x10, 0xC9 }, + { 0x11, 0x3B }, + { 0x12, 0xD1 }, + { 0x13, 0x74 }, + { 0x14, 0x0A }, + { 0x15, 0x39 }, + { 0x16, 0x88 }, + { 0x17, 0x00 }, + { 0x18, 0x87 }, + { 0x19, 0x00 }, + { 0x1A, 0x00 }, + { 0x1B, 0x75 }, + { 0x1C, 0xF8 }, + { 0x1D, 0xEB }, + { 0x1E, 0x0A }, + { 0x1F, 0xC7 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_UpdateOverlay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 3911, 11) + + { 0x02, 0x08 }, + { 0x1F, 0x7C }, + { 0x6F, 0x8B }, + + { 0x80, 0x8B }, + { 0x81, 0x54 }, + { 0x82, 0x24 }, + { 0x83, 0x20 }, + { 0x84, 0x8B }, + { 0x85, 0x3F }, + { 0x86, 0x83 }, + { 0x87, 0xE1 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetTextureState_TexCoordIndex +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 3911, 1+11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY(0x11, XREF_D3DTSS_TEXCOORDINDEX), // Derived + + // D3DDevice_SetTextureState_TexCoordIndex+0x0B : shl eax, 0x07 + { 0x0B, 0xC1 }, + { 0x0C, 0xE0 }, + { 0x0D, 0x07 }, + + // D3DDevice_SetTextureState_TexCoordIndex+0x24 : cmp eax, 0x20000 + { 0x24, 0x81 }, + { 0x25, 0xF9 }, + { 0x28, 0x02 }, + + // D3DDevice_SetTextureState_TexCoordIndex+0x3B : mov edi, 0x8511 + { 0x3B, 0xBF }, + { 0x3C, 0x11 }, + { 0x3D, 0x85 }, + + // D3DDevice_SetTextureState_TexCoordIndex+0x97 : shl eax, cl + { 0x97, 0xD3 }, + { 0x98, 0xE0 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_CullMode +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 3911, 2+15, + + XRefNoSaveIndex, + XRefTwo) + + XREF_ENTRY(0x03, XREF_D3DDEVICE), // Derived + XREF_ENTRY(0x25, XREF_D3DRS_CULLMODE), // Derived + + // D3DDevice_SetRenderState_CullMode+0x42 : mov dword ptr [eax+8], 0x4039C + { 0x42, 0xC7 }, + { 0x43, 0x40 }, + { 0x44, 0x08 }, + { 0x45, 0x9C }, + { 0x46, 0x03 }, + { 0x47, 0x04 }, + + // D3DDevice_SetRenderState_CullMode+0x49 : add eax, 0x10 + { 0x49, 0x83 }, + { 0x4A, 0xC0 }, + { 0x4B, 0x10 }, + + // D3DDevice_SetRenderState_CullMode+0x5F : retn 4 + { 0x5F, 0xC2 }, + { 0x60, 0x04 }, + + // D3DDevice_SetRenderState_CullMode+0x4D : add edx, 0x404 + { 0x4D, 0x81 }, + { 0x4E, 0xC2 }, + { 0x4F, 0x04 }, + { 0x50, 0x04 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.h b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.h index aa0c1981e..f472c11bb 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.h +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.h @@ -36,8 +36,10 @@ #include "OOVPA.h" +#if 0 // Moved to 3911 extern LOOVPA<1+11> D3DDevice_SetTextureState_TexCoordIndex_3925; extern LOOVPA<2+15> D3DDevice_SetRenderState_CullMode_3925; +#endif extern OOVPATable D3D8_3925[]; extern uint32 D3D8_3925_SIZE; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index 004305d74..bf77cfe76 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // Moved to 3911 // ****************************************************************** // * Direct3D_CreateDevice // ****************************************************************** @@ -59,7 +60,7 @@ OOVPA_NO_XREF(Direct3D_CreateDevice, 3911, 18) // Also for 4361, 4627, 5558, 565 { 0x1C, 0xC7 }, { 0x1D, 0x05 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * Direct3D_CreateDevice @@ -344,11 +345,12 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3925, 11) // D3DDevice_SetRenderTarget+0xDC : push edx { 0xDC, 0x52 }, OOVPA_END; - +#if 0 // Moved to 3948 // ****************************************************************** // * D3DDevice_SetRenderTarget // ****************************************************************** OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3948, 8) + // D3DDevice_SetRenderTarget+0x00 : sub esp, 0x30 { 0x00, 0x83 }, { 0x01, 0xEC }, @@ -359,13 +361,13 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3948, 8) { 0x33, 0xE1 }, { 0x34, 0x0F }, - // D3DDevice_SetRenderTarget+0x69 : push ebx + // D3DDevice_SetRenderTarget+0x69 : push ebx { 0x69, 0x53 }, // D3DDevice_SetRenderTarget+0xDA : push edx { 0xDA, 0x52 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DSurface_GetDesc // ****************************************************************** @@ -593,7 +595,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 3925, 12) // Deprecated in favor of 3911 bel { 0x7D, 0xC2 }, { 0x7E, 0x08 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) // ****************************************************************** @@ -634,7 +636,8 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 21) // Also for 4361 { 0x1E, 0x8B }, { 0x1F, 0x16 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetTexture // ****************************************************************** @@ -678,7 +681,8 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 3911, 28) { 0x1E, 0x4F }, { 0x1F, 0x1C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_DrawRectPatch // ****************************************************************** @@ -713,7 +717,8 @@ OOVPA_NO_XREF(D3DDevice_DrawRectPatch, 3911, 27) // Also verified for 4361, 4627 { 0x1E, 0x6C }, { 0x1F, 0x24 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_DrawTriPatch // ****************************************************************** @@ -749,7 +754,7 @@ OOVPA_NO_XREF(D3DDevice_DrawTriPatch, 3911, 27) // Also verified for 4361, 4627, { 0x1E, 0x44 }, { 0x1F, 0x24 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_DrawIndexedVertices // ****************************************************************** @@ -1117,6 +1122,7 @@ OOVPA_NO_XREF(D3DDevice_CreateIndexBuffer, 3925, 13) { 0x33, 0x01 }, OOVPA_END; +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreateVertexShader // ****************************************************************** @@ -1202,7 +1208,7 @@ OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 3925, 38) { 0xFE, 0xC7 }, */ OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetVertexShaderConstant // ****************************************************************** @@ -1272,6 +1278,7 @@ OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 3925, 12) { 0x1D, 0x04 }, OOVPA_END; +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetTextureState_TexCoordIndex // ****************************************************************** @@ -1301,6 +1308,7 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 3925, 1+11, { 0x97, 0xD3 }, { 0x98, 0xE0 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTextureState_BorderColor @@ -1373,18 +1381,19 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 3925, 12) { 0x4D, 0x00 }, OOVPA_END; +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_CullMode // ****************************************************************** OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 3925, 2+15, - XRefNoSaveIndex, - XRefTwo) + XRefNoSaveIndex, + XRefTwo) - XREF_ENTRY(0x03, XREF_D3DDEVICE), // Derived - XREF_ENTRY(0x25, XREF_D3DRS_CULLMODE), // Derived + XREF_ENTRY(0x03, XREF_D3DDEVICE), // Derived + XREF_ENTRY(0x25, XREF_D3DRS_CULLMODE), // Derived - // D3DDevice_SetRenderState_CullMode+0x42 : mov dword ptr [eax+8], 0x4039C + // D3DDevice_SetRenderState_CullMode+0x42 : mov dword ptr [eax+8], 0x4039C { 0x42, 0xC7 }, { 0x43, 0x40 }, { 0x44, 0x08 }, @@ -1407,6 +1416,7 @@ OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 3925, 2+15, { 0x4F, 0x04 }, { 0x50, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_Simple @@ -1596,6 +1606,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 3925, 13) { 0x6A, 0x04 }, OOVPA_END; +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_Release // ****************************************************************** @@ -1614,7 +1625,7 @@ OOVPA_NO_XREF(D3DDevice_Release, 3911, 12) // Also for 4034, 4361, 4627, 5344, 5 { 0x13, 0xCF }, { 0x14, 0xE8 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_Release @@ -1736,7 +1747,7 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 3925, 9) { 0x1D, 0xC2 }, { 0x1E, 0x04 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetDepthStencilSurface // ****************************************************************** @@ -1764,7 +1775,7 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 3911, 18) { 0x1E, 0x04 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetDepthStencilSurface @@ -2328,7 +2339,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 3925, 10) { 0x1B, 0x04 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetGammaRamp // ****************************************************************** @@ -2350,7 +2361,7 @@ OOVPA_NO_XREF(D3DDevice_GetGammaRamp, 3911, 13) // Up to 5849 { 0x22, 0x00 }, { 0x27, 0xC2 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetGammaRamp @@ -2899,7 +2910,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 3925, 8) { 0x3D, 0x08 }, { 0x46, 0x00 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * D3D_SetPushBufferSize // ****************************************************************** @@ -2920,7 +2931,7 @@ OOVPA_NO_XREF(D3D_SetPushBufferSize, 3911, 13) { 0x13, 0xC2 }, { 0x14, 0x08 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_SetPushBufferSize @@ -3022,6 +3033,7 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 3925, 8) { 0xF6, 0x00 }, OOVPA_END; +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_LightEnable // ****************************************************************** @@ -3075,7 +3087,8 @@ OOVPA_XREF(D3DDevice_LightEnable, 3911, 1 + 24,// valid upto at least 4627, next { 0xC2, 0x00 }, */ OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetLightEnable // ****************************************************************** @@ -3120,6 +3133,7 @@ OOVPA_XREF(D3DDevice_GetLightEnable, 3911, 1+24, // valid upto at least 5233, ne { 0x1E, 0xC0 }, { 0x1F, 0x74 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix @@ -3794,7 +3808,7 @@ OOVPA_XREF(D3DResource_BlockUntilNotBusy, 3925, 2, { 0x00, 0xE9 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * D3D_ClearStateBlockFlags // ****************************************************************** @@ -3819,7 +3833,8 @@ OOVPA_XREF(D3D_ClearStateBlockFlags, 3911, 13, { 0x1E, 0x8D }, { 0x1F, 0x82 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_BeginStateBlock // ****************************************************************** @@ -3841,7 +3856,7 @@ OOVPA_XREF(D3DDevice_BeginStateBlock, 3911, 7, { 0x08, 0x20 }, { 0x09, 0xE9 }, OOVPA_END; - +#endif #if 0 // Use XREF // ****************************************************************** // * D3DDevice_BeginStateBlock @@ -3856,7 +3871,7 @@ OOVPA_NO_XREF(D3DDevice_BeginStateBlock, 3925, 6) { 0x09, 0xE9 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * D3D_RecordStateBlock // ****************************************************************** @@ -3887,7 +3902,8 @@ OOVPA_XREF(D3D_RecordStateBlock, 3911, 19, { 0x3E, 0xC0 }, { 0x5C, 0xE8 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_EndStateBlock // ****************************************************************** @@ -3908,7 +3924,7 @@ OOVPA_XREF(D3DDevice_EndStateBlock, 3911, 6, { 0x07, 0x0C }, { 0x08, 0xDF }, OOVPA_END; - +#endif #if 0 // Used 3911 // ****************************************************************** // * D3DDevice_EndStateBlock @@ -4186,7 +4202,7 @@ OOVPA_NO_XREF(D3DDevice_IsFencePending, 3925, 11) { 0x1A, 0x1B }, { 0x1F, 0x04 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * CMiniport::InitHardware // ****************************************************************** @@ -4218,7 +4234,8 @@ OOVPA_NO_XREF(CMiniport_InitHardware, 3911, 24) { 0x1E, 0xA6 }, { 0x1F, 0xF8 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * CMiniport::CreateCtxDmaObject // ****************************************************************** @@ -4256,7 +4273,8 @@ OOVPA_NO_XREF(CMiniport_CreateCtxDmaObject, 3911, 32) { 0x1E, 0x75 }, { 0x1F, 0xFC }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D_CMiniport_GetDisplayCapabilities // ****************************************************************** @@ -4288,7 +4306,7 @@ OOVPA_NO_XREF(D3D_CMiniport_GetDisplayCapabilities, 3911, 15) // D3D_CMiniport_GetDisplayCapabilities+0x1E : retn { 0x1E, 0xC3 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_GetPushBufferOffset // ****************************************************************** @@ -4302,7 +4320,7 @@ OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 3925, 7) { 0x82, 0x04 }, { 0x98, 0x89 }, OOVPA_END; - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DBaseTexture_GetLevelCount // ****************************************************************** @@ -4332,7 +4350,8 @@ OOVPA_NO_XREF(D3DBaseTexture_GetLevelCount, 3911, 13) { 0x0B, 0xC2 }, { 0x0C, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface // ****************************************************************** @@ -4350,7 +4369,8 @@ OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface, 3911, 11) { 0x32, 0x4C }, { 0x45, 0x51 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetCreationParameters // ****************************************************************** @@ -4364,7 +4384,8 @@ OOVPA_NO_XREF(D3DDevice_GetCreationParameters, 3911, 7) { 0x2E, 0x5E }, { 0x36, 0xC9 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetScissors // ****************************************************************** @@ -4388,7 +4409,8 @@ OOVPA_NO_XREF(D3DDevice_GetScissors, 3911, 15) { 0x1E, 0x90 }, // { 0x1F, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D::LazySetPointParams // ****************************************************************** @@ -4407,7 +4429,8 @@ OOVPA_NO_XREF(D3D_LazySetPointParams, 3911, 12) { 0x37, 0x89 }, { 0x6E, 0x15 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * Lock3DSurface // ****************************************************************** @@ -4432,7 +4455,8 @@ OOVPA_NO_XREF(Lock3DSurface, 3911, 11) { 0x99, 0xC2 }, { 0x9A, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D::CDevice::SetStateUP // ****************************************************************** @@ -4458,7 +4482,8 @@ OOVPA_NO_XREF(D3DDevice_SetStateUP, 3911, 16) { 0xA5, 0x8B }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D::CDevice::SetStateVB // ****************************************************************** @@ -4484,7 +4509,8 @@ OOVPA_NO_XREF(D3DDevice_SetStateVB, 3911, 16) { 0xA5, 0x8B }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * Direct3D_CheckDeviceMultiSampleType // ****************************************************************** @@ -4498,8 +4524,8 @@ OOVPA_NO_XREF(Direct3D_CheckDeviceMultiSampleType, 3911, 7) { 0x5E, 0x72 }, { 0x6E, 0x03 }, OOVPA_END; - - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetOverlayUpdateStatus // ****************************************************************** @@ -4528,7 +4554,8 @@ OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 3911, 15) // Also for 4134, 4361 { 0x1C, 0xC3 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D_CheckDeviceFormat // ****************************************************************** @@ -4542,6 +4569,8 @@ OOVPA_NO_XREF(D3D_CheckDeviceFormat, 3911, 7) { 0x5E, 0x08 }, { 0x6E, 0x3C }, OOVPA_END; +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_EnableOverlay // ****************************************************************** @@ -4573,7 +4602,8 @@ OOVPA_NO_XREF(D3DDevice_EnableOverlay, 3911, 24) { 0x1E, 0x0A }, { 0x1F, 0xC7 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_UpdateOverlay // ****************************************************************** @@ -4592,10 +4622,12 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 3911, 11) { 0x86, 0x83 }, { 0x87, 0xE1 }, OOVPA_END; +#endif // ****************************************************************** // * D3D8_3925 // ****************************************************************** +// No longer supported XDK 3948 by HLEDB_v1 OOVPATable D3D8_3925[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), @@ -4638,11 +4670,11 @@ OOVPATable D3D8_3925[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 3925, PATCH), @@ -4711,7 +4743,7 @@ OOVPATable D3D8_3925[] = { REGISTER_OOVPA(D3DDevice_SetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderTarget, 3948, PATCH), + // REGISTER_OOVPA(D3DDevice_SetRenderTarget, 3948, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl new file mode 100644 index 000000000..518e232b5 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl @@ -0,0 +1,56 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.3948.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + + +// ****************************************************************** +// * D3DDevice_SetRenderTarget +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3948, 8) + + // D3DDevice_SetRenderTarget+0x00 : sub esp, 0x30 + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x30 }, + + // D3DDevice_SetRenderTarget+0x32 : and ecx, 0x0F + { 0x32, 0x83 }, + { 0x33, 0xE1 }, + { 0x34, 0x0F }, + + // D3DDevice_SetRenderTarget+0x69 : push ebx + { 0x69, 0x53 }, + + // D3DDevice_SetRenderTarget+0xDA : push edx + { 0xDA, 0x52 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 3e8c11b8a..c4bed1c2e 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -32,7 +32,7 @@ // * // ****************************************************************** -#if 0 // Moved to 403‚S +#if 0 // Moved to 4034 // ****************************************************************** // * D3DDevice_SetTextureState_TexCoordIndex // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.h b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.h new file mode 100644 index 000000000..521703f3a --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.h @@ -0,0 +1,44 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4242.h +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef D3D8_4242_H +#define D3D8_4242_H + +#include "OOVPA.h" + +extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4242; + +extern OOVPATable D3D8_4242[]; +extern uint32 D3D8_4242_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl new file mode 100644 index 000000000..10993fc29 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl @@ -0,0 +1,138 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4242.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * D3DDevice_SetVerticalBlankCallback +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4242, 12) + + // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x242C], eax + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0x30 }, // 2C vs 30 + { 0x0D, 0x24 }, + + // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetSwapCallback +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4242, 12) + + // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x242C], eax + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0x2C }, // 2C vs 30 + { 0x0D, 0x24 }, + + // D3DDevice_SetSwapCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_AddRef +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_AddRef, 4242, 10) + + // D3DDevice_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0440] + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x40 }, + { 0x08, 0x04 }, + + // D3DDevice_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, + + // D3DDevice_AddRef+0x05 : mov [eax+0x0440], ecx + { 0x0C, 0x89 }, + { 0x0D, 0x88 }, + { 0x0E, 0x40 }, + { 0x0F, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetTextureState_TexCoordIndex +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, 1+10, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY(0x19, XREF_D3DTSS_TEXCOORDINDEX), // Derived + + // D3DDevice_SetTextureState_TexCoordIndex+0x0D : shl eax, 0x07 + { 0x0D, 0xC1 }, + { 0x0E, 0xE0 }, + { 0x0F, 0x07 }, + + // D3DDevice_SetTextureState_TexCoordIndex+0x24 : cmp eax, ecx + { 0x24, 0x3B }, + { 0x25, 0xC1 }, + + // D3DDevice_SetTextureState_TexCoordIndex+0x6B : mov esi, 0x2400 + { 0x6B, 0xBE }, + { 0x6D, 0x24 }, + + // D3DDevice_SetTextureState_TexCoordIndex+0xB3 : shl edx, 0x04 + { 0xB3, 0xC1 }, + { 0xB4, 0xE2 }, + { 0xB5, 0x04 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.h b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.h index 1d1ba46b5..7a0019805 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.h +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.h @@ -36,7 +36,9 @@ #include "OOVPA.h" +#if 0 // Moved to 4242 extern LOOVPA<1+10> D3DDevice_SetTextureState_TexCoordIndex_4242; +#endif extern OOVPATable D3D8_4361[]; extern uint32 D3D8_4361_SIZE; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index 505e9902e..a086ffa28 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -164,6 +164,7 @@ OOVPA_XREF(MakeRequestedSpace, 4361, 28, // Also for 4627 { 0x1F, 0x03 }, OOVPA_END; #endif +#if 0 // Moved to 4242 // ****************************************************************** // * D3DDevice_SetVerticalBlankCallback // ****************************************************************** @@ -189,7 +190,8 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4242, 12) { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 4242 // ****************************************************************** // * D3DDevice_SetSwapCallback // ****************************************************************** @@ -215,7 +217,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4242, 12) { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; - +#endif // ****************************************************************** // * D3D_GetAdapterDisplayMode // ****************************************************************** @@ -242,7 +244,7 @@ OOVPA_NO_XREF(D3D_GetAdapterDisplayMode, 4361, 13) { 0xBD, 0xC2 }, { 0xBE, 0x08 }, OOVPA_END; - +#if 0 // Moved to 4242 // ****************************************************************** // * D3DDevice_AddRef // ****************************************************************** @@ -266,6 +268,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 4242, 10) { 0x0E, 0x40 }, { 0x0F, 0x04 }, OOVPA_END; +#endif #if 0 // Moved to 4134 // ****************************************************************** // * D3D_ClearStateBlockFlags @@ -598,15 +601,16 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4361, 11) { 0x23, 0xC3 }, OOVPA_END; +#if 0 // Moved to 4242 // ****************************************************************** // * D3DDevice_SetTextureState_TexCoordIndex // ****************************************************************** OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, 1+10, - XRefNoSaveIndex, - XRefOne) + XRefNoSaveIndex, + XRefOne) - XREF_ENTRY(0x19, XREF_D3DTSS_TEXCOORDINDEX), // Derived + XREF_ENTRY(0x19, XREF_D3DTSS_TEXCOORDINDEX), // Derived // D3DDevice_SetTextureState_TexCoordIndex+0x0D : shl eax, 0x07 { 0x0D, 0xC1 }, @@ -626,7 +630,7 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, 1+10, { 0xB4, 0xE2 }, { 0xB5, 0x04 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DResource_Release // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index 367b153b6..7141cef96 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -265,7 +265,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4432, 11) { 0xAF, 0x04 }, OOVPA_END; #endif - +#if 0 // Moved to 4531 // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** @@ -290,6 +290,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4531, 11) { 0xB9, 0xC2 }, { 0xBA, 0x04 }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_UpdateOverlay @@ -391,23 +392,23 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4432, 12) { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; - +#if 0 // Moved to 4531 // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4531, 9) { 0x04, 0x56 }, - { 0x10, 0x8B }, - { 0x11, 0x06 }, - { 0x12, 0x3B }, - { 0x13, 0x46 }, - { 0x14, 0x04 }, - { 0x41, 0x83 }, - { 0x42, 0xC0 }, - { 0x43, 0x0C }, + { 0x10, 0x8B }, + { 0x11, 0x06 }, + { 0x12, 0x3B }, + { 0x13, 0x46 }, + { 0x14, 0x04 }, + { 0x41, 0x83 }, + { 0x42, 0xC0 }, + { 0x43, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_BeginPush // ****************************************************************** @@ -552,6 +553,7 @@ OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 4432, 12) { 0x4F, 0x04 }, OOVPA_END; #endif +#if 0 // Moved to 4531 // ****************************************************************** // * D3DVertexBuffer_Lock // ****************************************************************** @@ -576,7 +578,7 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock, 4531, 11) { 0x54, 0xC2 }, { 0x55, 0x14 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix // ****************************************************************** @@ -643,6 +645,7 @@ OOVPA_END; // ****************************************************************** // * D3D8_4432 // ****************************************************************** +// No longer supported XDK 4531 by HLEDB_v1 OOVPATable D3D8_4432[] { REGISTER_OOVPA(CMiniport_InitHardware, 4361, PATCH), @@ -709,7 +712,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetPalette, 4432, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 3925, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_Swap, 4531, PATCH), + // REGISTER_OOVPA(D3DDevice_Swap, 4531, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4432, PATCH), @@ -736,7 +739,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4531, PATCH), + // REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4531, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), @@ -748,7 +751,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4432, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3925, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), - REGISTER_OOVPA(D3DVertexBuffer_Lock, 4531, PATCH), + // REGISTER_OOVPA(D3DVertexBuffer_Lock, 4531, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl new file mode 100644 index 000000000..e5185a85e --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl @@ -0,0 +1,171 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4531.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + + +// ****************************************************************** +// * D3DDevice_Swap +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_Swap, 4531, 11) + + // D3DDevice_Swap+0x10 : mov ebx, 5 + { 0x10, 0xBB }, + { 0x11, 0x05 }, + + // D3DDevice_Swap+0x1D : test bl, 3 + { 0x1D, 0xF6 }, + { 0x1E, 0xC3 }, + { 0x1F, 0x03 }, + + // D3DDevice_Swap+0x46 : inc dword ptr [esi+0x2AD8] + { 0x46, 0xFF }, + { 0x47, 0x86 }, + { 0x48, 0xD8 }, + { 0x49, 0x2A }, + + // D3DDevice_Swap+0xAE : retn 4 + { 0xB9, 0xC2 }, + { 0xBA, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_BackFillMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4531, 9) + + { 0x04, 0x56 }, + { 0x10, 0x8B }, + { 0x11, 0x06 }, + { 0x12, 0x3B }, + { 0x13, 0x46 }, + { 0x14, 0x04 }, + { 0x41, 0x83 }, + { 0x42, 0xC0 }, + { 0x43, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * D3DVertexBuffer_Lock +// ****************************************************************** +OOVPA_NO_XREF(D3DVertexBuffer_Lock, 4531, 11) + + // D3DVertexBuffer_Lock+0x01 : mov bl, [esp+0x18] + { 0x01, 0x8A }, + { 0x02, 0x5C }, + { 0x03, 0x24 }, + { 0x04, 0x18 }, + + // D3DVertexBuffer_Lock+0x09 : jnz +0x24 + { 0x09, 0x75 }, + { 0x0A, 0x24 }, + + // D3DVertexBuffer_Lock+0x2F : test bl, 0xA0 + { 0x2F, 0xF6 }, + { 0x30, 0xC3 }, + { 0x31, 0xA0 }, + + // D3DVertexBuffer_Lock+0x50 : retn 0x14 + { 0x54, 0xC2 }, + { 0x55, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_UpdateOverlay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4531, 11) // Up to 5120 + + { 0x03, 0xA1 }, + { 0x1A, 0x04 }, + { 0x1F, 0x7C }, + + { 0x6F, 0x8B }, + { 0x70, 0x4F }, + { 0x71, 0x04 }, + { 0x72, 0x8B }, + { 0x73, 0xD0 }, + { 0x74, 0x8B }, + { 0x75, 0x44 }, + { 0x76, 0x24 }, +OOVPA_END; + +// ****************************************************************** +// * D3D::CDevice::KickOff +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_KickOff, 4531, 13) + + // D3D::CDevice::KickOff+0x0B : mov edx, [ecx+0x35C] + { 0x0B, 0x8B }, + { 0x0C, 0x91 }, + { 0x0D, 0x5C }, + { 0x0E, 0x03 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + + // D3D::CDevice::KickOff+0x1F : test ch, 0x20 + { 0x1F, 0xF6 }, + { 0x20, 0xC5 }, + { 0x21, 0x20 }, + + // D3D::CDevice::KickOff+0x2F : sfence + { 0x2F, 0x0F }, + { 0x30, 0xAE }, + { 0x31, 0xF8 }, + + // D3D::CDevice::KickOff+0xE2 : retn + { 0xE2, 0xC3 } +OOVPA_END; + +// ****************************************************************** +// * D3DPalette_Lock +// ****************************************************************** +OOVPA_NO_XREF(D3DPalette_Lock, 4531, 17) + + { 0x00, 0xF6 }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x0C }, + { 0x04, 0xA0 }, + { 0x05, 0x56 }, + { 0x06, 0x8B }, + { 0x07, 0x74 }, + { 0x08, 0x24 }, + { 0x09, 0x08 }, + { 0x0A, 0x75 }, + { 0x0B, 0x06 }, + { 0x0C, 0x56 }, + { 0x0D, 0xE8 }, + + { 0x12, 0x8B }, + { 0x21, 0xC2 }, + { 0x22, 0x0C }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index 223830958..f88759a04 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -631,6 +631,7 @@ OOVPA_NO_XREF(D3DDevice_CreateIndexBuffer2, 4627, 7) { 0x2F, 0x04 }, OOVPA_END; +#if 0 // Moved to 4831 // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** @@ -640,24 +641,24 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 4831, 13) { 0x1E, 0x85 }, { 0x1F, 0xC0 }, - // D3DDevice_SetPixelShaderConstant+0x32 : mov [ebp+0x10], eax - { 0x32, 0x89 }, - { 0x33, 0x45 }, - { 0x34, 0x10 }, + // D3DDevice_SetPixelShaderConstant+0x32 : mov [ebp+0x10], eax + { 0x32, 0x89 }, + { 0x33, 0x45 }, + { 0x34, 0x10 }, - // D3DDevice_SetPixelShaderConstant+0x84 : or eax, ebx - { 0x84, 0x0B }, - { 0x85, 0xC3 }, + // D3DDevice_SetPixelShaderConstant+0x84 : or eax, ebx + { 0x84, 0x0B }, + { 0x85, 0xC3 }, // D3DDevice_SetPixelShaderConstant+0xBD : mov dword ptr [eax], 0x406A0 - { 0xBD, 0xC7 }, - { 0xBE, 0x00 }, - { 0xBF, 0x60 }, - { 0xC0, 0x0A }, - { 0xC1, 0x04 }, - { 0xC2, 0x00 }, + { 0xBD, 0xC7 }, + { 0xBE, 0x00 }, + { 0xBF, 0x60 }, + { 0xC0, 0x0A }, + { 0xC1, 0x04 }, + { 0xC2, 0x00 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetVertexShaderConstant // ****************************************************************** @@ -928,7 +929,7 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 4627, 13) { 0xAE, 0xC2 }, { 0xAF, 0x1C }, OOVPA_END; - +#if 0 // Moved to 4831 // ****************************************************************** // * D3DDevice_CreateTexture2 // ****************************************************************** @@ -958,6 +959,7 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 4831, 12) { 0x88, 0xC2 }, { 0x89, 0x1C }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CreateTexture @@ -1076,16 +1078,17 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4627, 28) { 0x1F, 0x24 }, OOVPA_END; +#if 0 // Moved to 4831 // ****************************************************************** // * D3DDevice_SetTexture // ****************************************************************** #if 0 // Derived XREF_OFFSET_D3DDEVICE_M_TEXTURES is not Implemented yet. -OOVPA_XREF(D3DDevice_SetTexture, 4928, 1+10, +OOVPA_XREF(D3DDevice_SetTexture, 4928, 1+15, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived + XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived #endif OOVPA_NO_XREF(D3DDevice_SetTexture, 4831, 15) @@ -1109,6 +1112,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4831, 15) { 0x55, 0x3B }, { 0x56, 0x45 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetDisplayMode @@ -1333,6 +1337,7 @@ OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 4627, 13) { 0x4B, 0x04 }, OOVPA_END; +#if 0 // Moved to 4531 // ****************************************************************** // * D3DDevice_UpdateOverlay // ****************************************************************** @@ -1351,8 +1356,7 @@ OOVPA_NO_XREF(D3DDevice_UpdateOverlay, 4531, 11) // Up to 5120 { 0x75, 0x44 }, { 0x76, 0x24 }, OOVPA_END; - - +#endif #if 0 // No longer used, replaced by generic 4531 version // ****************************************************************** // * D3DDevice_UpdateOverlay @@ -2459,34 +2463,34 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 4627, 7) { 0x40, 0x89 }, { 0x4E, 0x5E }, OOVPA_END; - +#if 0 // Moved to 4531 // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** OOVPA_NO_XREF(D3DDevice_KickOff, 4531, 13) - // D3D::CDevice::KickOff+0x0B : mov edx, [ecx+0x35C] - { 0x0B, 0x8B }, - { 0x0C, 0x91 }, - { 0x0D, 0x5C }, - { 0x0E, 0x03 }, - { 0x0F, 0x00 }, - { 0x10, 0x00 }, + // D3D::CDevice::KickOff+0x0B : mov edx, [ecx+0x35C] + { 0x0B, 0x8B }, + { 0x0C, 0x91 }, + { 0x0D, 0x5C }, + { 0x0E, 0x03 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, - // D3D::CDevice::KickOff+0x1F : test ch, 0x20 - { 0x1F, 0xF6 }, - { 0x20, 0xC5 }, - { 0x21, 0x20 }, + // D3D::CDevice::KickOff+0x1F : test ch, 0x20 + { 0x1F, 0xF6 }, + { 0x20, 0xC5 }, + { 0x21, 0x20 }, - // D3D::CDevice::KickOff+0x2F : sfence - { 0x2F, 0x0F }, - { 0x30, 0xAE }, - { 0x31, 0xF8 }, + // D3D::CDevice::KickOff+0x2F : sfence + { 0x2F, 0x0F }, + { 0x30, 0xAE }, + { 0x31, 0xF8 }, - // D3D::CDevice::KickOff+0xE2 : retn - { 0xE2, 0xC3 } + // D3D::CDevice::KickOff+0xE2 : retn + { 0xE2, 0xC3 } OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_KickPushBuffer // ****************************************************************** @@ -2641,6 +2645,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4627, 8) { 0xF6, 0xF9 }, OOVPA_END; +#if 0 // Moved to 4831 // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** @@ -2662,8 +2667,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4831, 13) // Up to 5344 { 0x36, 0xC3 }, OOVPA_END; - - +#endif #if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_PersistDisplay @@ -3091,7 +3095,7 @@ OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 4627, 10) { 0x1E, 0x07 }, { 0x1F, 0x03 }, OOVPA_END; - +#if 0 // Moved to 4928 // ****************************************************************** // * D3DDevice_GetPersistedSurface2 // ****************************************************************** @@ -3104,7 +3108,7 @@ OOVPA_NO_XREF(D3DDevice_GetPersistedSurface2, 4928, 6) // For only on Unreal Cha { 0x04, 0x3A }, { 0x05, 0x00 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetModelView // ****************************************************************** @@ -3342,6 +3346,7 @@ OOVPA_NO_XREF(D3DDevice_CreateCubeTexture, 4627, 11) { 0x1F, 0x4C }, OOVPA_END; +#if 0 // Moved to 4531 // ****************************************************************** // * D3DPalette_Lock // ****************************************************************** @@ -3366,10 +3371,11 @@ OOVPA_NO_XREF(D3DPalette_Lock, 4531, 17) { 0x21, 0xC2 }, { 0x22, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * D3D8_4627 // ****************************************************************** +// No longer supported XDK 4831 to 4928 by HLEDB_v1 OOVPATable D3D8_4627[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), @@ -3414,11 +3420,11 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), + // REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 4627, DISABLED), // Called D3DDevice_CreateTexture2 REGISTER_OOVPA(D3DDevice_SetIndices, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_SetTexture, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), + // REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4627, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), @@ -3523,7 +3529,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4531, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), + // REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), // Beware of the typo... REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStateVB, 4627, DISABLED), @@ -3534,7 +3540,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), + // REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4627, PATCH), @@ -3566,7 +3572,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DPalette_Lock, 4627, PATCH), // Called D3DPalette_Lock2 REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetPersistedSurface2, 4928, PATCH), // For only on Unreal Championship + // REGISTER_OOVPA(D3DDevice_GetPersistedSurface2, 4928, PATCH), // For only on Unreal Championship REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl new file mode 100644 index 000000000..02746a941 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl @@ -0,0 +1,147 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4831.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * D3DDevice_CreateTexture2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateTexture2, 4831, 12) + + // D3DDevice_CreateTexture2+0x02 : lea eax, [esp+0x20] + { 0x04, 0x8D }, + { 0x07, 0x20 }, + + // D3DDevice_CreateTexture2+0x0E : setz dl + { 0x10, 0x0F }, + { 0x11, 0x94 }, + { 0x12, 0xC2 }, + + // D3DDevice_CreateTexture2+0x2A : push 0x00 + { 0x2E, 0x6A }, + { 0x2F, 0x00 }, + + // D3DDevice_CreateTexture2+0x53 : call [abs] + { 0x57, 0xE8 }, + + // D3DDevice_CreateTexture2+0x78 : jnz +0x0D + { 0x7C, 0x75 }, + { 0x7D, 0x0D }, + + // D3DDevice_CreateTexture2+0xAE : retn 0x1C + { 0x88, 0xC2 }, + { 0x89, 0x1C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetTexture +// ****************************************************************** +#if 0 // Derived XREF_OFFSET_D3DDEVICE_M_TEXTURES is not Implemented yet. +OOVPA_XREF(D3DDevice_SetTexture, 4928, 1+15, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived +#endif +OOVPA_NO_XREF(D3DDevice_SetTexture, 4831, 15) + + { 0x0B, 0x56 }, + + { 0x21, 0x74 }, + { 0x22, 0x20 }, + + { 0x33, 0xF7 }, + { 0x34, 0xC1 }, + { 0x36, 0xFF }, + + { 0x39, 0x89 }, + { 0x3A, 0x10 }, + + { 0x50, 0x75 }, + { 0x51, 0x47 }, + { 0x52, 0x8B }, + { 0x53, 0x45 }, + { 0x54, 0x00 }, + { 0x55, 0x3B }, + { 0x56, 0x45 }, +OOVPA_END; + + +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4831, 13) // Up to 5344 + + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x1E, 0x15 }, + + { 0x28, 0x00 }, + { 0x29, 0x85 }, + { 0x2A, 0xC0 }, + { 0x2B, 0x75 }, + { 0x2C, 0x0A }, + { 0x2D, 0xB8 }, + { 0x2E, 0x05 }, + { 0x2F, 0x40 }, + { 0x30, 0x00 }, + + { 0x36, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetPixelShaderConstant +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 4831, 13) + + // D3DDevice_SetPixelShaderConstant+0x1E : test eax, eax + { 0x1E, 0x85 }, + { 0x1F, 0xC0 }, + + // D3DDevice_SetPixelShaderConstant+0x32 : mov [ebp+0x10], eax + { 0x32, 0x89 }, + { 0x33, 0x45 }, + { 0x34, 0x10 }, + + // D3DDevice_SetPixelShaderConstant+0x84 : or eax, ebx + { 0x84, 0x0B }, + { 0x85, 0xC3 }, + + // D3DDevice_SetPixelShaderConstant+0xBD : mov dword ptr [eax], 0x406A0 + { 0xBD, 0xC7 }, + { 0xBE, 0x00 }, + { 0xBF, 0x60 }, + { 0xC0, 0x0A }, + { 0xC1, 0x04 }, + { 0xC2, 0x00 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl new file mode 100644 index 000000000..3d42c2596 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl @@ -0,0 +1,46 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.4928.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * D3DDevice_GetPersistedSurface2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetPersistedSurface2, 4928, 6) // For only on Unreal Championship + + { 0x00, 0xFF }, + { 0x01, 0x25 }, + { 0x02, 0x04 }, + { 0x03, 0xC1 }, + { 0x04, 0x3A }, + { 0x05, 0x00 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index f776171f0..9ab81be1b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -1100,7 +1100,7 @@ OOVPA_XREF(MakeRequestedSpace, 5028, 28, // Also for 5344 { 0x1E, 0x50 }, { 0x1F, 0x03 }, OOVPA_END; - +#if 0 // Moved to 5120 // ****************************************************************** // * D3DDevice_RunPushBuffer // ****************************************************************** @@ -1122,7 +1122,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 5120, 13) { 0x94, 0x2C }, { 0x95, 0x8B }, OOVPA_END; - +#endif // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -1131,6 +1131,7 @@ OOVPA_END; // ****************************************************************** // * D3D8_5028 // ****************************************************************** +// No longer supported XDK 5120 by HLEDB_v1 OOVPATable D3D8_5028[] = { REGISTER_OOVPA(CMiniport_InitHardware, 4627, XREF), @@ -1344,7 +1345,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), + // REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH), // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5120.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5120.inl new file mode 100644 index 000000000..93669d3e9 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5120.inl @@ -0,0 +1,70 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5120.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * D3DDevice_RunPushBuffer +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 5120, 13) + + { 0x0B, 0x57 }, + { 0x10, 0xE8 }, + + { 0x15, 0x8B }, + { 0x1F, 0x01 }, + + { 0x8D, 0x8B }, + { 0x8E, 0x4E }, + { 0x8F, 0x30 }, + { 0x90, 0x8B }, + { 0x91, 0x11 }, + { 0x92, 0x8B }, + { 0x93, 0x4E }, + { 0x94, 0x2C }, + { 0x95, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CopyRects +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CopyRects, 5120, 8) + + { 0x1E, 0xE1 }, + { 0x42, 0x84 }, + { 0x5E, 0x24 }, + { 0x7E, 0x8B }, + { 0x9E, 0x1C }, + { 0xBE, 0x00 }, + { 0xDE, 0xBD }, + { 0xFE, 0x4C }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 2460f12a9..886b3b98a 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -305,7 +305,7 @@ OOVPA_NO_XREF(D3DDevice_Release, 5233, 8) { 0x36, 0xC3 }, OOVPA_END; #endif - +#if 0 // Moved to 5120 // ****************************************************************** // * D3DDevice_CopyRects // ****************************************************************** @@ -320,6 +320,7 @@ OOVPA_NO_XREF(D3DDevice_CopyRects, 5120, 8) { 0xDE, 0xBD }, { 0xFE, 0x4C }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetScissors diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl new file mode 100644 index 000000000..dda2a989d --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl @@ -0,0 +1,563 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5455.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * D3DDevice_SelectVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 5455, 12) + + { 0x00, 0x8B }, + { 0x1D, 0xBE }, + + { 0x3F, 0x00 }, + { 0x40, 0x10 }, + { 0x41, 0x00 }, + { 0x42, 0x00 }, + { 0x43, 0x8B }, + { 0x44, 0x06 }, + { 0x45, 0x3B }, + { 0x46, 0x46 }, + + { 0x58, 0x8B }, + { 0x7B, 0xE8 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetViewport +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetViewport, 5455, 8) + + { 0x1E, 0x86 }, + { 0x3E, 0x1B }, + { 0x5E, 0x8B }, + { 0x7E, 0x6D }, + { 0x9E, 0x81 }, + { 0xBE, 0x0C }, + { 0xDE, 0x75 }, + { 0xFE, 0x85 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreateVertexBuffer2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 5455, 14) + + { 0x00, 0x56 }, + { 0x08, 0xE8 }, + + { 0x16, 0x08 }, + { 0x17, 0x68 }, + { 0x18, 0x00 }, + { 0x19, 0x00 }, + { 0x1A, 0x80 }, + { 0x1B, 0xB2 }, + { 0x1C, 0x50 }, + { 0x1D, 0xE8 }, + + { 0x26, 0x68 }, + { 0x31, 0x33 }, + { 0x3A, 0xFF }, + { 0x44, 0x01 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreatePalette2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreatePalette2, 5455, 7) + + { 0x0D, 0x8B }, + { 0x16, 0x00 }, + { 0x23, 0x68 }, + { 0x2E, 0x85 }, + { 0x3D, 0x5E }, + { 0x46, 0x1E }, + { 0x52, 0x89 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetMaterial, 5455, 11) + + { 0x04, 0x08 }, + + { 0x0C, 0x81 }, + { 0x0D, 0xC7 }, + { 0x0E, 0xE0 }, + { 0x0F, 0x0A }, + { 0x10, 0x00 }, + + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetMaterial, 5455, 8) + + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + + { 0x0D, 0xE0 }, + { 0x0E, 0x0A }, + + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5455, 8) + + { 0x1E, 0x89 }, + { 0x3E, 0x5F }, + { 0x61, 0x3B }, + { 0x81, 0x00 }, + { 0x9E, 0x00 }, + { 0xBE, 0x8B }, + { 0xDE, 0x04 }, + { 0xFE, 0xC1 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetBackBuffer2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5455, 12) + + // D3DDevice_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, + { 0x05, 0xF8 }, + { 0x06, 0xFF }, + + // D3DDevice_GetBackBuffer2+0x0D : jnz +0x19 + { 0x0D, 0x75 }, + { 0x0E, 0x19 }, + + // D3DDevice_GetBackBuffer2+0x15 : mov esi, [ecx+eax*4+0x15F4] + { 0x15, 0x8B }, + { 0x16, 0xB4 }, + { 0x17, 0x81 }, + { 0x18, 0xF4 }, + { 0x19, 0x15 }, + + // D3DDevice_GetBackBuffer2+0x40 : retn 0x04 + { 0x40, 0xC2 }, + { 0x41, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVerticalBlankCallback +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 5455, 12) + + // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x1998], eax + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0x98 }, // 94 vs 98 + { 0x0D, 0x19 }, + + // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetSwapCallback +// ****************************************************************** +/* See the comment for the 4134 OOVPA signature for previous notes */ +OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5455, 12) + + // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x1994], eax + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0x94 }, // 94 vs 98 + { 0x0D, 0x19 }, + + // D3DDevice_SetSwapCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetViewport +// ****************************************************************** +OOVPA_XREF(D3DDevice_GetViewport, 5455, 1+17, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_D3DDEVICE ), + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x4C }, + { 0x07, 0x24 }, + { 0x08, 0x04 }, + { 0x09, 0x05 }, + + { 0x0C, 0x00 }, + { 0x0D, 0x00 }, + { 0x0E, 0x8B }, + + { 0x2A, 0x8B }, + { 0x2B, 0x40 }, + { 0x2C, 0x14 }, + { 0x2D, 0x89 }, + { 0x2E, 0x41 }, + { 0x2F, 0x14 }, + { 0x30, 0xC2 }, + { 0x31, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetBackMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5455, 11) + + { 0x04, 0x08 }, + + { 0x0C, 0x81 }, + { 0x0D, 0xC7 }, + { 0x0E, 0x24 }, + { 0x0F, 0x0B }, + { 0x10, 0x00 }, + + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetBackMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5455, 8) + + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + + { 0x0D, 0x24 }, + { 0x0E, 0x0B }, + + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5455, 11) + + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, + { 0x06, 0x00 }, + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x01 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x199C + { 0x17, 0x05 }, + { 0x18, 0x9C }, + { 0x19, 0x19 }, + + // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, + + // D3DDevice_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetScreenSpaceOffset +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 5455, 17) + + { 0x00, 0xD9 }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x56 }, + { 0x05, 0xD8 }, + { 0x06, 0x05 }, + + { 0x17, 0x00 }, + { 0x18, 0x00 }, + { 0x19, 0xD9 }, + { 0x1A, 0x44 }, + { 0x1B, 0x24 }, + { 0x1C, 0x0C }, + { 0x1D, 0xD8 }, + { 0x1E, 0x05 }, + + { 0x23, 0xD9 }, + { 0x29, 0xE8 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5455, 12) + + { 0x00, 0x83 }, + { 0x1F, 0x6A }, + + { 0x2C, 0x00 }, + { 0x2D, 0x85 }, + { 0x2E, 0xC0 }, + { 0x2F, 0x75 }, + { 0x30, 0x0A }, + { 0x31, 0xB8 }, + { 0x32, 0x05 }, + { 0x33, 0x40 }, + + { 0x4D, 0x85 }, + { 0x6F, 0xE1 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5455, 9) + + { 0x03, 0x04 }, + { 0x0A, 0xA3 }, + { 0x0F, 0x8B }, + { 0x12, 0x15 }, + { 0x17, 0xF4 }, + { 0x1B, 0x75 }, + { 0x1C, 0x07 }, + { 0x24, 0xC2 }, + { 0x26, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5455, 9) + + { 0x03, 0x04 }, + { 0x0A, 0xA3 }, + { 0x0F, 0x8B }, + { 0x12, 0x15 }, + { 0x17, 0xF4 }, + { 0x1B, 0x74 }, + { 0x1C, 0x07 }, + { 0x24, 0xC2 }, + { 0x26, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetTile +// ****************************************************************** +// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z +OOVPA_NO_XREF(D3DDevice_SetTile, 5455, 16) + + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x1C }, + { 0x03, 0x8B }, + { 0x04, 0x44 }, + { 0x05, 0x24 }, + { 0x06, 0x24 }, + { 0x07, 0x85 }, + { 0x08, 0xC0 }, + { 0x09, 0x53 }, + { 0x0A, 0x8B }, + { 0x0B, 0x1D }, + + { 0x45, 0x8D }, + { 0x46, 0x9C }, + + { 0x88, 0x5F }, + { 0x9B, 0xCB }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CaptureStateBlock +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 5455, 8) + + { 0x1E, 0x3C }, + { 0x3E, 0xC0 }, + { 0x5E, 0x7E }, + { 0x7E, 0x00 }, + { 0x9E, 0x74 }, + { 0xC0, 0x8B }, + { 0xDE, 0x83 }, + { 0xFE, 0x45 }, +OOVPA_END; + +// ****************************************************************** +// * CMiniport::InitHardware +// ****************************************************************** +OOVPA_NO_XREF(CMiniport_InitHardware, 5455, 24) // Also for 5558, 5659, 5788, 5849, 5933 + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x10 }, + { 0x06, 0x53 }, + { 0x07, 0x56 }, + { 0x08, 0x8B }, + { 0x09, 0xF1 }, + { 0x0A, 0x56 }, + { 0x0B, 0x68 }, + + { 0x10, 0x8D }, + { 0x11, 0x86 }, + { 0x12, 0x84 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x00 }, + { 0x16, 0x50 }, + { 0x17, 0xFF }, + { 0x18, 0x15 }, + + { 0x1D, 0x8D }, + { 0x1E, 0x86 }, + { 0x1F, 0xAC }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetTile +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTile, 5455, 12) + + { 0x00, 0x8B }, + { 0x01, 0x0D }, + + { 0x13, 0x00 }, + { 0x14, 0x8B }, + { 0x15, 0x0A }, + { 0x16, 0x8B }, + { 0x17, 0x44 }, + { 0x18, 0x24 }, + { 0x19, 0x08 }, + { 0x1A, 0x89 }, + + { 0x3A, 0xC2 }, + { 0x3B, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3D::CDevice::KickOff +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_KickOff, 5455, 15) + + { 0x06, 0xA8 }, + { 0x07, 0x04 }, + { 0x08, 0x74 }, + { 0x09, 0x08 }, + + // D3D::CDevice::KickOff+0x0A : mov edx, [ecx+0x35C] + { 0x0A, 0x8B }, + { 0x0B, 0x96 }, +// { 0x0C, 0x6C }, +// { 0x0D, 0x07 }, + { 0x0E, 0x00 }, + { 0x0F, 0x00 }, + + // D3D::CDevice::KickOff+0x14 : test ch, 0x20 + { 0x14, 0xF6 }, + { 0x15, 0xC4 }, + { 0x16, 0x20 }, + + // D3D::CDevice::KickOff+0x24 : sfence + { 0x24, 0x0F }, + { 0x25, 0xAE }, + { 0x26, 0xF8 }, + + { 0x62, 0x74 } + + // D3D::CDevice::KickOff+0xAF : retn +// { 0xAF, 0xC3 } +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderDeclaration +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 5455, 14) + + { 0x00, 0x8B }, + + { 0x05, 0x48 }, + { 0x06, 0x03 }, + { 0x07, 0x83 }, + { 0x08, 0xEC }, + { 0x09, 0x14 }, + { 0x0A, 0xF6 }, + { 0x0B, 0xC1 }, + { 0x0C, 0x08 }, + + { 0x1E, 0xC2 }, + { 0x1F, 0x0C }, + + { 0x53, 0xC1 }, + { 0x54, 0x07 }, + { 0x55, 0x01 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index b91f08fb6..ab2eb5243 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -81,7 +81,7 @@ OOVPA_XREF(D3DDevice_BeginPush, 5558, 10, { 0x15, 0x04 }, // 10 OOVPA_END; #endif - +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** @@ -102,7 +102,7 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 5455, 12) { 0x58, 0x8B }, { 0x7B, 0xE8 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_SelectVertexShader @@ -190,7 +190,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant1Fast, 5558, 11) { 0x48, 0xB7 }, OOVPA_END; #endif - +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetViewport // ****************************************************************** @@ -205,7 +205,8 @@ OOVPA_NO_XREF(D3DDevice_SetViewport, 5455, 8) { 0xDE, 0x75 }, { 0xFE, 0x85 }, OOVPA_END; - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** @@ -228,7 +229,7 @@ OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 5455, 14) { 0x3A, 0xFF }, { 0x44, 0x01 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 @@ -295,6 +296,7 @@ OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 5558, 12) { 0x1C, 0xC3 }, OOVPA_END; #endif +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_CreatePalette2 // ****************************************************************** @@ -308,7 +310,7 @@ OOVPA_NO_XREF(D3DDevice_CreatePalette2, 5455, 7) { 0x46, 0x1E }, { 0x52, 0x89 }, OOVPA_END; - +#endif #if 0 // Used 5028 // ****************************************************************** // * D3DDevice_CreateTexture2 @@ -372,7 +374,7 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 5558, 15) { 0xfe, 0xc1 }, { 0x100, 0x02 }, OOVPA_END; - +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** @@ -392,7 +394,7 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5455, 11) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** @@ -412,7 +414,7 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5558, 11) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; - +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** @@ -432,7 +434,8 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5659, 11) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -449,7 +452,7 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 5455, 8) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -467,6 +470,7 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 5558, 8) { 0x1A, 0xC2 }, OOVPA_END; +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -483,7 +487,8 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 5659, 8) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetVertexShader // ****************************************************************** @@ -498,7 +503,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5455, 8) { 0xDE, 0x04 }, { 0xFE, 0xC1 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -602,7 +607,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5558, 12) { 0x40, 0xC2 }, { 0x41, 0x04 }, OOVPA_END; - +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -628,6 +633,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5455, 12) { 0x40, 0xC2 }, { 0x41, 0x04 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * Direct3D_CheckDeviceMultiSampleType @@ -760,6 +766,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5558, 10) { 0x0F, 0x09 }, OOVPA_END; +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_AddRef // ****************************************************************** @@ -783,6 +790,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5659, 10) { 0x0E, 0x38 }, { 0x0F, 0x09 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_DrawVerticesUP @@ -838,6 +846,7 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 5558, 7) { 0x10, 0xC2 }, OOVPA_END; +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetVerticalBlankCallback // ****************************************************************** @@ -863,7 +872,8 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 5455, 12) { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetSwapCallback // ****************************************************************** @@ -890,6 +900,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5455, 12) { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetSwapCallback @@ -918,7 +929,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 5558, 7) { 0x40, 0x5E }, { 0x4D, 0x5E }, OOVPA_END; - +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -950,7 +961,7 @@ OOVPA_XREF(D3DDevice_GetViewport, 5455, 1+17, { 0x30, 0xC2 }, { 0x31, 0x04 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_GetViewport @@ -1001,6 +1012,7 @@ OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 5558, 7) { 0x75, 0x07 }, OOVPA_END; +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** @@ -1020,6 +1032,7 @@ OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5455, 11) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetBackMaterial @@ -1041,6 +1054,7 @@ OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5558, 11) { 0x2E, 0x04 }, OOVPA_END; +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** @@ -1060,7 +1074,8 @@ OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5659, 11) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** @@ -1077,6 +1092,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5455, 8) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetBackMaterial @@ -1095,6 +1111,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5558, 8) { 0x1A, 0xC2 }, OOVPA_END; +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** @@ -1111,6 +1128,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5659, 8) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_TwoSidedLighting @@ -1274,6 +1292,7 @@ OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 5455, 12) { 0x40, 0x04 }, OOVPA_END; #endif +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** @@ -1298,7 +1317,8 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5455, 11) // D3DDevice_BlockUntilVerticalBlank+0x23 : retn { 0x23, 0xC3 }, OOVPA_END; - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset // ****************************************************************** @@ -1324,7 +1344,7 @@ OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 5455, 17) { 0x23, 0xD9 }, { 0x29, 0xE8 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset @@ -1452,6 +1472,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 5558, 6) { 0x10, 0xC2 }, OOVPA_END; +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** @@ -1472,6 +1493,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5455, 12) { 0x4D, 0x85 }, { 0x6F, 0xE1 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_PersistDisplay @@ -1576,6 +1598,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5558, 9) { 0x26, 0x00 }, OOVPA_END; +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** @@ -1591,8 +1614,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5455, 9) { 0x24, 0xC2 }, { 0x26, 0x00 }, OOVPA_END; - - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** @@ -1608,7 +1631,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5455, 9) { 0x24, 0xC2 }, { 0x26, 0x00 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** @@ -1697,6 +1720,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewportOffsetAndScale, 5558, 8) { 0xFE, 0xC1 }, OOVPA_END; +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** @@ -1722,7 +1746,7 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 5455, 16) { 0x88, 0x5F }, { 0x9B, 0xCB }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_SetTile @@ -1742,53 +1766,56 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 5558, 10) { 0x9B, 0xCB }, OOVPA_END; #endif - +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_CaptureStateBlock // ****************************************************************** OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 5455, 8) - { 0x1E, 0x3C }, - { 0x3E, 0xC0 }, - { 0x5E, 0x7E }, - { 0x7E, 0x00 }, - { 0x9E, 0x74 }, - { 0xC0, 0x8B }, - { 0xDE, 0x83 }, - { 0xFE, 0x45 }, + + { 0x1E, 0x3C }, + { 0x3E, 0xC0 }, + { 0x5E, 0x7E }, + { 0x7E, 0x00 }, + { 0x9E, 0x74 }, + { 0xC0, 0x8B }, + { 0xDE, 0x83 }, + { 0xFE, 0x45 }, OOVPA_END; - - +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * CMiniport::InitHardware // ****************************************************************** OOVPA_NO_XREF(CMiniport_InitHardware, 5455, 24) // Also for 5558, 5659, 5788, 5849, 5933 - { 0x00, 0x55 }, - { 0x01, 0x8B }, - { 0x02, 0xEC }, - { 0x03, 0x83 }, - { 0x04, 0xEC }, - { 0x05, 0x10 }, - { 0x06, 0x53 }, - { 0x07, 0x56 }, - { 0x08, 0x8B }, - { 0x09, 0xF1 }, - { 0x0A, 0x56 }, - { 0x0B, 0x68 }, - { 0x10, 0x8D }, - { 0x11, 0x86 }, - { 0x12, 0x84 }, - { 0x13, 0x00 }, - { 0x14, 0x00 }, - { 0x15, 0x00 }, - { 0x16, 0x50 }, - { 0x17, 0xFF }, - { 0x18, 0x15 }, + { 0x00, 0x55 }, + { 0x01, 0x8B }, + { 0x02, 0xEC }, + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x10 }, + { 0x06, 0x53 }, + { 0x07, 0x56 }, + { 0x08, 0x8B }, + { 0x09, 0xF1 }, + { 0x0A, 0x56 }, + { 0x0B, 0x68 }, - { 0x1D, 0x8D }, - { 0x1E, 0x86 }, - { 0x1F, 0xAC }, + { 0x10, 0x8D }, + { 0x11, 0x86 }, + { 0x12, 0x84 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x00 }, + { 0x16, 0x50 }, + { 0x17, 0xFF }, + { 0x18, 0x15 }, + + { 0x1D, 0x8D }, + { 0x1E, 0x86 }, + { 0x1F, 0xAC }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix @@ -1812,6 +1839,7 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 5558, 15) { 0x1B, 0xC2 }, OOVPA_END; +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -1832,7 +1860,7 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 5455, 12) { 0x3A, 0xC2 }, { 0x3B, 0x08 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_GetTile @@ -1848,40 +1876,41 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 5558, 7) { 0x36, 0x14 }, OOVPA_END; #endif - +#if 0 // Moved to 5455 // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** OOVPA_NO_XREF(D3DDevice_KickOff, 5455, 15) - { 0x06, 0xA8 }, - { 0x07, 0x04 }, - { 0x08, 0x74 }, - { 0x09, 0x08 }, + { 0x06, 0xA8 }, + { 0x07, 0x04 }, + { 0x08, 0x74 }, + { 0x09, 0x08 }, - // D3D::CDevice::KickOff+0x0A : mov edx, [ecx+0x35C] - { 0x0A, 0x8B }, - { 0x0B, 0x96 }, -// { 0x0C, 0x6C }, -// { 0x0D, 0x07 }, - { 0x0E, 0x00 }, - { 0x0F, 0x00 }, + // D3D::CDevice::KickOff+0x0A : mov edx, [ecx+0x35C] + { 0x0A, 0x8B }, + { 0x0B, 0x96 }, +// { 0x0C, 0x6C }, +// { 0x0D, 0x07 }, + { 0x0E, 0x00 }, + { 0x0F, 0x00 }, - // D3D::CDevice::KickOff+0x14 : test ch, 0x20 - { 0x14, 0xF6 }, - { 0x15, 0xC4 }, - { 0x16, 0x20 }, + // D3D::CDevice::KickOff+0x14 : test ch, 0x20 + { 0x14, 0xF6 }, + { 0x15, 0xC4 }, + { 0x16, 0x20 }, - // D3D::CDevice::KickOff+0x24 : sfence - { 0x24, 0x0F }, - { 0x25, 0xAE }, - { 0x26, 0xF8 }, + // D3D::CDevice::KickOff+0x24 : sfence + { 0x24, 0x0F }, + { 0x25, 0xAE }, + { 0x26, 0xF8 }, - { 0x62, 0x74 } + { 0x62, 0x74 } - // D3D::CDevice::KickOff+0xAF : retn -// { 0xAF, 0xC3 } + // D3D::CDevice::KickOff+0xAF : retn +// { 0xAF, 0xC3 } OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_RunPushBuffer @@ -1913,6 +1942,7 @@ OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5558, 10) { 0x13, 0x00 }, OOVPA_END; +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** @@ -1936,6 +1966,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 5455, 14) { 0x54, 0x07 }, { 0x55, 0x01 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetPixelShader @@ -1953,6 +1984,7 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5558, 9) { 0x13, 0x00 }, OOVPA_END; +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_SetVerticalBlankCallback // ****************************************************************** @@ -1983,7 +2015,8 @@ OOVPA_XREF(D3DDevice_SetVerticalBlankCallback, 5659, 1+12, { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_SetSwapCallback // ****************************************************************** @@ -2009,6 +2042,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5659, 12) { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * Rollback support signature(s) @@ -2020,6 +2054,7 @@ OOVPA_END; // ****************************************************************** // * D3D8_5558 // ****************************************************************** +// No longer supported XDK 5659 by HLEDB_v1 OOVPATable D3D8_5558[] = { REGISTER_OOVPA(CMiniport_InitHardware, 5455, PATCH), @@ -2073,10 +2108,10 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetMaterial, 5659, PATCH), + // REGISTER_OOVPA(D3DDevice_SetMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetMaterial, 5659, PATCH), + // REGISTER_OOVPA(D3DDevice_GetMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), @@ -2147,10 +2182,10 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH), + // REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5659, PATCH), + // REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5558, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl new file mode 100644 index 000000000..65b93e8ac --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl @@ -0,0 +1,188 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->D3D8.1.0.5659.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * D3DDevice_SetMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetMaterial, 5659, 11) + + { 0x04, 0x08 }, + + { 0x0C, 0x81 }, + { 0x0D, 0xC7 }, + { 0x0E, 0x00 }, + { 0x0F, 0x0F }, + { 0x10, 0x00 }, + + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetMaterial, 5659, 8) + + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + + { 0x0D, 0x00 }, + { 0x0E, 0x0F }, + + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_AddRef +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_AddRef, 5659, 10) + + // D3DDevice_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0938] + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x38 }, + { 0x08, 0x09 }, + + // D3DDevice_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, + + // D3DDevice_AddRef+0x0C : mov [eax+0x0938], ecx + { 0x0C, 0x89 }, + { 0x0D, 0x88 }, + { 0x0E, 0x38 }, + { 0x0F, 0x09 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetBackMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5659, 11) + + { 0x04, 0x08 }, + + { 0x0C, 0x81 }, + { 0x0D, 0xC7 }, + { 0x0E, 0x44 }, + { 0x0F, 0x0F }, + { 0x10, 0x00 }, + + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetBackMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5659, 8) + + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + + { 0x0D, 0x44 }, + { 0x0E, 0x0F }, + + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVerticalBlankCallback +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetVerticalBlankCallback, 5659, 1+12, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3DDEVICE ), + + // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetVerticalBlankCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x1DB4], eax + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0xB8 }, // B4 vs B8 + { 0x0D, 0x1D }, + + // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetSwapCallback +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5659, 12) + + // D3DDevice_SetSwapCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetSwapCallback+0x04 : mov ecx, [addr] + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + // D3DDevice_SetSwapCallback+0x0A : mov [ecx+0x1DB4], eax + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0xB4 }, // B4 vs B8 + { 0x0D, 0x1D }, + + // D3DDevice_SetSwapCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index d5bb68605..68f6c76ca 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -97,16 +97,25 @@ #include "../OOVPA.h" +#include "HLEDataBase/D3D8.1.0.3911.inl" #include "HLEDataBase/D3D8.1.0.3925.inl" +#include "HLEDataBase/D3D8.1.0.3948.inl" #include "HLEDataBase/D3D8.1.0.4034.inl" #include "HLEDataBase/D3D8.1.0.4134.inl" +#include "HLEDataBase/D3D8.1.0.4242.inl" #include "HLEDataBase/D3D8.1.0.4361.inl" #include "HLEDataBase/D3D8.1.0.4432.inl" +#include "HLEDataBase/D3D8.1.0.4531.inl" #include "HLEDataBase/D3D8.1.0.4627.inl" +#include "HLEDataBase/D3D8.1.0.4831.inl" +#include "HLEDataBase/D3D8.1.0.4928.inl" #include "HLEDataBase/D3D8.1.0.5028.inl" +#include "HLEDataBase/D3D8.1.0.5120.inl" #include "HLEDataBase/D3D8.1.0.5233.inl" #include "HLEDataBase/D3D8.1.0.5344.inl" +#include "HLEDataBase/D3D8.1.0.5455.inl" #include "HLEDataBase/D3D8.1.0.5558.inl" +#include "HLEDataBase/D3D8.1.0.5659.inl" #include "HLEDataBase/D3D8.1.0.5788.inl" #include "HLEDataBase/D3D8.1.0.5849.inl" @@ -284,7 +293,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3925, 4034, 4361), REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3925, 4039), REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3925, 4034, 4242, 4627), + REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3911, 4034, 4242, 4627), REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3925, 4039, 4134, 4627, 5028, 5455/*, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3925, 4034, 4134, 5344, 5558), // Was 4134 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3925, 4039), // Was 4627 (from 5344's comment) diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 1e6579476..2809c02e0 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -418,8 +418,8 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) xbaddr upper = pXbeHeader->dwBaseAddr + pXbeHeader->dwSizeofImage; xbaddr pFunc = (xbaddr)nullptr; - if(OrigBuildVersion >= 3925 && OrigBuildVersion < 4034) - pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetRenderState_CullMode_3925, lower, upper); + if(OrigBuildVersion >= 3911 && OrigBuildVersion < 4034) + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetRenderState_CullMode_3911, lower, upper); else pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetRenderState_CullMode_4034, lower, upper); @@ -435,7 +435,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) // Read address of D3DRS_CULLMODE from D3DDevice_SetRenderState_CullMode // TODO : Simplify this when XREF_D3DRS_CULLMODE derivation is deemed stable { - if (OrigBuildVersion >= 3925 && OrigBuildVersion < 4034) + if (OrigBuildVersion >= 3911 && OrigBuildVersion < 4034) { DerivedAddr_D3DRS_CULLMODE = *(xbaddr*)(pFunc + 0x25); Decrement = 0x1FC; // TODO: Clean up (?) @@ -521,8 +521,8 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) { pFunc = (xbaddr)nullptr; - if(OrigBuildVersion >= 3925 && OrigBuildVersion < 4034) - pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_3925, lower, upper); + if(OrigBuildVersion >= 3911 && OrigBuildVersion < 4034) + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_3911, lower, upper); else if(OrigBuildVersion >= 4034 && OrigBuildVersion < 4242) pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4034, lower, upper); else if(OrigBuildVersion >= 4242 && OrigBuildVersion < 4627) @@ -537,7 +537,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) // TODO : Remove this when XREF_D3DTSS_TEXCOORDINDEX derivation is deemed stable { - if (OrigBuildVersion >= 3925 && OrigBuildVersion < 4034) // 0x18F180 + if (OrigBuildVersion >= 3911 && OrigBuildVersion < 4034) // 0x18F180 DerivedAddr_D3DTSS_TEXCOORDINDEX = *(xbaddr*)(pFunc + 0x11); else if (OrigBuildVersion >= 4034 && OrigBuildVersion < 4242) DerivedAddr_D3DTSS_TEXCOORDINDEX = *(xbaddr*)(pFunc + 0x18); From c67a81274ccadc38a8d68722d0d03a0461a74e3f Mon Sep 17 00:00:00 2001 From: jarupxx Date: Wed, 27 Sep 2017 18:28:21 +0900 Subject: [PATCH 092/146] Match MakeRequestedSpace name to the PATCH --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 6 +++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 6 +++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 6 +++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 6 +++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 4 ++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 4 ++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 2 +- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index ce1359606..2fabd4dc7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -2488,7 +2488,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), // REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), -// REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), +// REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index c4bed1c2e..3ddd5be2e 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -1993,9 +1993,9 @@ OOVPA_END; // ****************************************************************** -// * MakeRequestedSpace +// * D3D_MakeRequestedSpace // ****************************************************************** -OOVPA_XREF(MakeRequestedSpace, 4134, 28, // Also for 4361, 4627 +OOVPA_XREF(D3D_MakeRequestedSpace, 4134, 28, // Also for 4361, 4627 XREF_D3D_MakeRequestedSpace, XRefZero) @@ -2712,7 +2712,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), - REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index a086ffa28..d5cb65bca 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -126,9 +126,9 @@ OOVPA_END; #endif #if 0 // Moved to 4134 // ****************************************************************** -// * MakeRequestedSpace +// * D3D_MakeRequestedSpace // ****************************************************************** -OOVPA_XREF(MakeRequestedSpace, 4361, 28, // Also for 4627 +OOVPA_XREF(D3D_MakeRequestedSpace, 4361, 28, // Also for 4627 XREF_D3D_MakeRequestedSpace, XRefZero) @@ -1213,7 +1213,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), - REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index 7141cef96..b646112af 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -654,7 +654,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), - REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4242, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index f88759a04..409beaa7d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -3381,7 +3381,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(D3D_CreateDeviceX, 4627, DISABLED), REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), - REGISTER_OOVPA(MakeRequestedSpace, 4134, PATCH), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index 9ab81be1b..e4d509185 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -1063,9 +1063,9 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 5028, 17) // Also for 5120, 5233 OOVPA_END; // ****************************************************************** -// * MakeRequestedSpace +// * D3D_MakeRequestedSpace // ****************************************************************** -OOVPA_XREF(MakeRequestedSpace, 5028, 28, // Also for 5344 +OOVPA_XREF(D3D_MakeRequestedSpace, 5028, 28, // Also for 5344 XREF_D3D_MakeRequestedSpace, XRefZero) @@ -1137,7 +1137,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(CMiniport_InitHardware, 4627, XREF), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, XREF), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, XREF), - REGISTER_OOVPA(MakeRequestedSpace, 5028, PATCH), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 5028, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 5028, PATCH), REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 886b3b98a..e54689cf8 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -842,7 +842,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5028, PATCH), - REGISTER_OOVPA(MakeRequestedSpace, 5028, PATCH), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index 79feac17b..32d2b172e 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -64,9 +64,9 @@ OOVPA_END; #endif #if 0 // Moved to 5028 // ****************************************************************** -// * MakeRequestedSpace +// * D3D_MakeRequestedSpace // ****************************************************************** -OOVPA_XREF(MakeRequestedSpace, 5344, 28, +OOVPA_XREF(D3D_MakeRequestedSpace, 5344, 28, XREF_D3D_MakeRequestedSpace, XRefZero) @@ -1134,7 +1134,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5233, PATCH), - REGISTER_OOVPA(MakeRequestedSpace, 5028, PATCH), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 5028, PATCH), REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index ab2eb5243..6df913ee7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -1170,7 +1170,7 @@ OOVPA_END; // ****************************************************************** // * D3D::MakeRequestedSpace // ****************************************************************** -OOVPA_XREF(MakeRequestedSpace, 5558, 26, // Also for 5659 +OOVPA_XREF(D3D_MakeRequestedSpace, 5558, 26, // Also for 5659 XREF_D3D_MakeRequestedSpace, XRefZero) @@ -2194,7 +2194,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 5558, PATCH), - REGISTER_OOVPA(MakeRequestedSpace, 5558, PATCH), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 5558, PATCH), REGISTER_OOVPA(D3DDevice_MakeSpace, 5558, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 20c95833a..5af0c6019 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -671,7 +671,7 @@ OOVPA_END; // ****************************************************************** // * D3D::MakeRequestedSpace // ****************************************************************** -OOVPA_XREF(MakeRequestedSpace, 5788, 28, // Also for 5849, 5933 +OOVPA_XREF(D3D_MakeRequestedSpace, 5788, 28, // Also for 5849, 5933 XREF_D3D_MakeRequestedSpace, XRefZero) @@ -1183,7 +1183,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetPalette, 5788, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), - REGISTER_OOVPA(MakeRequestedSpace, 5788, XREF), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 5788, XREF), REGISTER_OOVPA(D3D_Unknown, 5788, XREF), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index 050ed00c5..168acc9f3 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -286,7 +286,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetPalette, 5788, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), - REGISTER_OOVPA(MakeRequestedSpace, 5788, XREF), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 5788, XREF), REGISTER_OOVPA(D3D_Unknown, 5788, XREF), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), From 45611c14098f8b179eff46464d6c3b87660a73ca Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 30 Sep 2017 17:15:58 +0900 Subject: [PATCH 093/146] Renamed D3D XREFs --- src/CxbxKrnl/HLEDataBase.h | 14 ++++---- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl | 8 ++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 16 ++++----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 8 ++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 10 +++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 10 +++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 10 +++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 12 +++---- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 6 ++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 8 ++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 4 +-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 38 +++++++++++++--------- 13 files changed, 77 insertions(+), 69 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 1da7e5254..1c4aa4c66 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -158,7 +158,7 @@ extern const uint32 HLEDataBaseCountV2; enum XRefDataBaseOffset { XREF_D3DDEVICE=0, - XREF_SETRENDERSTATE_CULLMODE, + XREF_D3DDevice_SetRenderState_CullMode, XREF_D3DRS_CULLMODE, XREF_D3DTSS_TEXCOORDINDEX, XREF_D3DRS_MULTISAMPLEMODE, @@ -167,11 +167,11 @@ enum XRefDataBaseOffset XREF_D3DRS_ROPZREAD, XREF_D3DRS_DONOTCULLUNCOMPRESSED, XREF_D3DRS_STENCILCULLENABLE, - XREF_D3DCD_LAZYSETSTATEVB, + XREF_D3DDevice_LazySetStateVB, XREF_D3D_BlockOnResource, - XREF_D3D_BLOCKONTIME, + XREF_D3D_BlockOnTime, XREF_D3D_CreateStandAloneSurface, - XREF_D3D_SETFENCE, + XREF_D3D_SetFence, XREF_D3D_KickOffAndWaitForIdle, XREF_D3D_MakeRequestedSpace, XREF_D3D_KickOff, @@ -180,8 +180,8 @@ enum XRefDataBaseOffset XREF_D3DDevice_CreatePalette2, XREF_XNINIT, XREF_XID_fCloseDevice, - XREF_CLEARSTATEBLOCKFLAGS, - XREF_RECORDSTATEBLOCK, + XREF_D3D_ClearStateBlockFlags, + XREF_D3D_RecordStateBlock, XREF_CDirectSound_SetDistanceFactor, XREF_CMcpxAPU_Set3dDistanceFactor, XREF_CDirectSound_SetRolloffFactor, @@ -266,7 +266,7 @@ enum XRefDataBaseOffset XREF_DSSTREAMSETROLLOFFFACTOR1A, XREF_DSSTREAMSETROLLOFFFACTOR1B, XREF_GET2DSURFACEDESCB, - XREF_COMMONSETRENDERTARGET, + XREF_D3D_CommonSetRenderTarget, XREF_CDirectSound_CommitDeferredSettings, XREF_CMcpxAPU_Commit3dSettings, XREF_CDirectSound_SetOrientation, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl index 6bf97c07a..1ff45b8de 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl @@ -499,7 +499,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_ClearStateBlockFlags, 3911, 13, - XREF_CLEARSTATEBLOCKFLAGS, + XREF_D3D_ClearStateBlockFlags, XRefZero) { 0x01, 0x15 }, @@ -528,7 +528,7 @@ OOVPA_XREF(D3DDevice_BeginStateBlock, 3911, 7, XRefOne) // D3DDevice_BeginStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_CLEARSTATEBLOCKFLAGS ), + XREF_ENTRY( 0x0A, XREF_D3D_ClearStateBlockFlags ), // D3DDevice_BeginStateBlock+0x00 : mov eax, [addr] { 0x00, 0xA1 }, @@ -546,7 +546,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_RecordStateBlock, 3911, 19, - XREF_RECORDSTATEBLOCK, + XREF_D3D_RecordStateBlock, XRefZero) { 0x00, 0x55 }, @@ -581,7 +581,7 @@ OOVPA_XREF(D3DDevice_EndStateBlock, 3911, 6, XRefOne) // D3DDevice_EndStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_RECORDSTATEBLOCK ), + XREF_ENTRY( 0x0A, XREF_D3D_RecordStateBlock ), // D3DDevice_EndStateBlock+0x00 : mov eax, [addr] { 0x00, 0xA1 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index bf77cfe76..f373b8455 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -3533,7 +3533,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_SetFence, 3925, 11, - XREF_D3D_SETFENCE, + XREF_D3D_SetFence, XRefZero) // D3D::SetFence+0x0F : mov edi, [esi+0x1C] @@ -3564,7 +3564,7 @@ OOVPA_XREF(D3DDevice_InsertFence, 3925, 5, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x03, XREF_D3D_SETFENCE ), + XREF_ENTRY( 0x03, XREF_D3D_SetFence ), { 0x00, 0x6A }, { 0x01, 0x00 }, @@ -3636,7 +3636,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 3925, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x08, XREF_D3D_BLOCKONTIME ), + XREF_ENTRY( 0x08, XREF_D3D_BlockOnTime ), { 0x00, 0x8B }, { 0x02, 0x24 }, @@ -3755,7 +3755,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_BlockOnTime, 3925, 10, - XREF_D3D_BLOCKONTIME, + XREF_D3D_BlockOnTime, XRefZero) // D3D::BlockOnFence+0x00 : push ebp @@ -3814,7 +3814,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_ClearStateBlockFlags, 3911, 13, - XREF_CLEARSTATEBLOCKFLAGS, + XREF_D3D_ClearStateBlockFlags, XRefZero) { 0x01, 0x15 }, @@ -3844,7 +3844,7 @@ OOVPA_XREF(D3DDevice_BeginStateBlock, 3911, 7, XRefOne) // D3DDevice_BeginStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_CLEARSTATEBLOCKFLAGS ), + XREF_ENTRY( 0x0A, XREF_D3D_ClearStateBlockFlags ), // D3DDevice_BeginStateBlock+0x00 : mov eax, [addr] { 0x00, 0xA1 }, @@ -3877,7 +3877,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_RecordStateBlock, 3911, 19, - XREF_RECORDSTATEBLOCK, + XREF_D3D_RecordStateBlock, XRefZero) { 0x00, 0x55 }, @@ -3913,7 +3913,7 @@ OOVPA_XREF(D3DDevice_EndStateBlock, 3911, 6, XRefOne) // D3DDevice_EndStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_RECORDSTATEBLOCK ), + XREF_ENTRY( 0x0A, XREF_D3D_RecordStateBlock ), // D3DDevice_EndStateBlock+0x00 : mov eax, [addr] { 0x00, 0xA1 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 2fabd4dc7..532a0cc04 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -213,7 +213,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 4034, 2+14, - XREF_SETRENDERSTATE_CULLMODE, + XREF_D3DDevice_SetRenderState_CullMode, XRefTwo) XREF_ENTRY(0x03, XREF_D3DDEVICE), // Derived @@ -2034,7 +2034,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_SetFence, 4039, 16, - XREF_D3D_SETFENCE, + XREF_D3D_SetFence, XRefZero) { 0x02, 0x35 }, @@ -2102,7 +2102,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_BlockOnTime, 4039, 10, - XREF_D3D_BLOCKONTIME, + XREF_D3D_BlockOnTime, XRefZero) { 0x07, 0x3D }, @@ -2128,7 +2128,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 4039, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x08, XREF_D3D_BLOCKONTIME ), + XREF_ENTRY( 0x08, XREF_D3D_BlockOnTime ), { 0x00, 0x8B }, { 0x02, 0x24 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 3ddd5be2e..18f8694d0 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -1042,7 +1042,7 @@ OOVPA_XREF(D3DDevice_SetRenderState_FrontFace, 4134, 11, XRefOne) // D3DDevice_SetRenderState_FrontFace+0x36 : jmp D3DDevice_SetRenderState_CullMode - XREF_ENTRY( 0x36, XREF_SETRENDERSTATE_CULLMODE), + XREF_ENTRY( 0x36, XREF_D3DDevice_SetRenderState_CullMode), // D3DDevice_SetRenderState_FrontFace+0x09 : cmp eax, [esi+4] { 0x09, 0x3B }, @@ -1431,7 +1431,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_SetFence, 4134, 12, - XREF_D3D_SETFENCE, + XREF_D3D_SetFence, XRefZero) { 0x0D, 0x72 }, @@ -2504,7 +2504,7 @@ OOVPA_XREF(D3DDevice_BeginStateBlock, 4134, 6, XRefOne) // D3DDevice_BeginStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_CLEARSTATEBLOCKFLAGS ), + XREF_ENTRY( 0x0A, XREF_D3D_ClearStateBlockFlags ), // D3DDevice_BeginStateBlock+0x00 : mov eax, [addr] { 0x00, 0xA1 }, @@ -2521,7 +2521,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_ClearStateBlockFlags, 4134, 9,//OK - XREF_CLEARSTATEBLOCKFLAGS, + XREF_D3D_ClearStateBlockFlags, XRefZero) // D3D_ClearStateBlockFlags+0x0A : movzx ecx, 0x82 @@ -2550,7 +2550,7 @@ OOVPA_XREF(D3DDevice_EndStateBlock, 4134, 6, XRefOne) // D3DDevice_EndStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_RECORDSTATEBLOCK ), + XREF_ENTRY( 0x0A, XREF_D3D_RecordStateBlock ), // D3DDevice_EndStateBlock+0x00 : mov eax, [addr] { 0x00, 0xA1 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index d5cb65bca..d03734caf 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -275,7 +275,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_ClearStateBlockFlags, 4361, 9, - XREF_CLEARSTATEBLOCKFLAGS, + XREF_D3D_ClearStateBlockFlags, XRefZero) // D3D_ClearStateBlockFlags+0x0A : movzx ecx, 0x82 @@ -300,7 +300,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_RecordStateBlock, 4361, 10, - XREF_RECORDSTATEBLOCK, + XREF_D3D_RecordStateBlock, XRefZero) // D3D_RecordStateBlock+0x0F : mov eax, [edi+0x0390] @@ -330,7 +330,7 @@ OOVPA_XREF(D3DDevice_BeginStateBlock, 4361, 6, XRefOne) // D3DDevice_BeginStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_CLEARSTATEBLOCKFLAGS ), + XREF_ENTRY( 0x0A, XREF_D3D_ClearStateBlockFlags ), // D3DDevice_BeginStateBlock+0x00 : mov eax, [addr] { 0x00, 0xA1 }, @@ -411,7 +411,7 @@ OOVPA_XREF(D3DDevice_EndStateBlock, 4361, 6, XRefOne) // D3DDevice_EndStateBlock+0x0F : call [ClearStateBlockFlags] - XREF_ENTRY( 0x0A, XREF_RECORDSTATEBLOCK ), + XREF_ENTRY( 0x0A, XREF_D3D_RecordStateBlock ), // D3DDevice_EndStateBlock+0x00 : mov eax, [addr] { 0x00, 0xA1 }, @@ -1135,7 +1135,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_BlockOnTime, 4361, 13, - XREF_D3D_BLOCKONTIME, + XREF_D3D_BlockOnTime, XRefZero) { 0x07, 0x3D }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index 409beaa7d..1bf1b40d1 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -254,7 +254,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_CommonSetRenderTarget, 4627, 12, - XREF_COMMONSETRENDERTARGET, + XREF_D3D_CommonSetRenderTarget, XRefZero) // D3D_CommonSetRenderTarget+0x00 : sub esp, 0x20 @@ -283,7 +283,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_CommonSetRenderTargetB, 4627, 11, - XREF_COMMONSETRENDERTARGET, + XREF_D3D_CommonSetRenderTarget, XRefZero) // D3D_CommonSetRenderTargetB+0x00 : sub esp, 0x24 @@ -315,7 +315,7 @@ OOVPA_XREF(D3DDevice_SetRenderTarget, 4627, 13, XRefOne) // D3DDevice_SetRenderTarget+0x10 : call [D3D_CommonSetRenderTarget] - XREF_ENTRY( 0x10, XREF_COMMONSETRENDERTARGET ), + XREF_ENTRY( 0x10, XREF_D3D_CommonSetRenderTarget ), // D3DDevice_SetRenderTarget+0x00 : mov eax, [esp+0x08] { 0x00, 0x8B }, @@ -2814,7 +2814,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_BlockOnTime, 4627, 6, - XREF_D3D_BLOCKONTIME, + XREF_D3D_BlockOnTime, XRefZero) { 0x09, 0x34 }, @@ -2833,7 +2833,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 4627, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x08, XREF_D3D_BLOCKONTIME ), + XREF_ENTRY( 0x08, XREF_D3D_BlockOnTime ), { 0x00, 0x8B }, { 0x02, 0x24 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index e4d509185..baca88686 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -487,7 +487,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_SetFence, 5028, 7, - XREF_D3D_SETFENCE, + XREF_D3D_SetFence, XRefZero) { 0x0E, 0x05 }, @@ -504,7 +504,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_BlockOnTime, 5028, 6, - XREF_D3D_BLOCKONTIME, + XREF_D3D_BlockOnTime, XRefZero) { 0x09, 0x30 }, @@ -669,7 +669,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 12, - XREF_COMMONSETRENDERTARGET, + XREF_D3D_CommonSetRenderTarget, XRefZero) { 0x02, 0x1C }, @@ -693,7 +693,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 10, - XREF_COMMONSETRENDERTARGET, + XREF_D3D_CommonSetRenderTarget, XRefZero) { 0x06, 0x24 }, @@ -732,7 +732,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3DDevice_LazySetStateVB, 5028, 12, - XREF_D3DCD_LAZYSETSTATEVB, + XREF_D3DDevice_LazySetStateVB, XRefZero) { 0x00, 0x83 }, // 1 @@ -760,7 +760,7 @@ OOVPA_XREF(D3DDevice_BeginPush, 5028, 10, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x09, XREF_D3DCD_LAZYSETSTATEVB ), // 1 + XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), // 1 { 0x00, 0x8B }, // 2 { 0x01, 0x0D }, // 3 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index e54689cf8..bd257d9f9 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -129,7 +129,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 5233, 2+13, - XREF_SETRENDERSTATE_CULLMODE, + XREF_D3DDevice_SetRenderState_CullMode, XRefTwo) XREF_ENTRY(0x03, XREF_D3DDEVICE), // Derived @@ -412,7 +412,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_CommonSetRenderTarget, 5233, 8, - XREF_COMMONSETRENDERTARGET, + XREF_D3D_CommonSetRenderTarget, XRefZero) { 0x02, 0x1C }, @@ -434,7 +434,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 5233, 6, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x08, XREF_D3D_BLOCKONTIME ), + XREF_ENTRY( 0x08, XREF_D3D_BlockOnTime ), { 0x00, 0x8B }, { 0x02, 0x24 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index 32d2b172e..7f0fba2ce 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -1041,7 +1041,7 @@ OOVPA_XREF(D3DDevice_BeginPush, 5344, 10, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x09, XREF_D3DCD_LAZYSETSTATEVB ), // 1 + XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), // 1 { 0x00, 0x8B }, // 2 { 0x01, 0x0D }, // 3 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 6df913ee7..02f5d3744 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -37,7 +37,7 @@ // ****************************************************************** OOVPA_XREF(D3DDevice_LazySetStateVB, 5558, 12, - XREF_D3DCD_LAZYSETSTATEVB, + XREF_D3DDevice_LazySetStateVB, XRefZero) { 0x00, 0x83 }, // 1 @@ -65,7 +65,7 @@ OOVPA_XREF(D3DDevice_BeginPush, 5558, 10, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x09, XREF_D3DCD_LAZYSETSTATEVB ), // 1 + XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), // 1 { 0x00, 0x8B }, // 2 { 0x01, 0x0D }, // 3 @@ -655,7 +655,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_SetFence, 5558, 8, - XREF_D3D_SETFENCE, + XREF_D3D_SetFence, XRefZero) { 0x07, 0x8B }, @@ -673,7 +673,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_BlockOnTime, 5558, 12, - XREF_D3D_BLOCKONTIME, + XREF_D3D_BlockOnTime, XRefZero) { 0x02, 0x35 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 5af0c6019..6eb4b20db 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -747,7 +747,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_ClearStateBlockFlags, 5788, 9, - XREF_CLEARSTATEBLOCKFLAGS, + XREF_D3D_ClearStateBlockFlags, XRefZero) // D3D_ClearStateBlockFlags+0x0A : mov ecx, 0x87 @@ -771,7 +771,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3D_RecordStateBlock, 5788, 10, - XREF_RECORDSTATEBLOCK, + XREF_D3D_RecordStateBlock, XRefZero) // D3D_RecordStateBlock+0x0F : mov eax, [edi+0x07A4] diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index 168acc9f3..c84909bb0 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -51,27 +51,35 @@ OOVPA_END; // * D3D::SetFence // * SOURCE: Spiderman 2 // ****************************************************************** -OOVPA_XREF(D3D_SetFence, 5849, 7, XREF_D3D_SETFENCE, XRefZero) - { 0x0E, 0x05 }, - { 0x17, 0xC7 }, - { 0x3E, 0x40 }, - { 0x5E, 0x00 }, - { 0x87, 0x4E }, - { 0x98, 0x83 }, - { 0xA8, 0x75 }, +OOVPA_XREF(D3D_SetFence, 5849, 7, + + XREF_D3D_SetFence, + XRefZero) + + { 0x0E, 0x05 }, + { 0x17, 0xC7 }, + { 0x3E, 0x40 }, + { 0x5E, 0x00 }, + { 0x87, 0x4E }, + { 0x98, 0x83 }, + { 0xA8, 0x75 }, OOVPA_END; // ****************************************************************** // * D3D::BlockOnTime // * Source: Spiderman 2 // ****************************************************************** -OOVPA_XREF(D3D_BlockOnTime, 5849, 6, XREF_D3D_BLOCKONTIME, XRefZero) - { 0x09, 0x30 }, - { 0x27, 0x07 }, - { 0x7E, 0x2B }, - { 0xA5, 0x20 }, - { 0xD9, 0x56 }, - { 0xF8, 0x47 }, +OOVPA_XREF(D3D_BlockOnTime, 5849, 6, + + XREF_D3D_BlockOnTime, + XRefZero) + + { 0x09, 0x30 }, + { 0x27, 0x07 }, + { 0x7E, 0x2B }, + { 0xA5, 0x20 }, + { 0xD9, 0x56 }, + { 0xF8, 0x47 }, OOVPA_END; // ****************************************************************** From fae208c8e25f4ce95dd6bdfff5a0ab3ebb53ec0b Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 30 Sep 2017 17:19:42 +0900 Subject: [PATCH 094/146] Removed count text --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 24 ++++++------ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 44 +++++++++++----------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 20 +++++----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 44 +++++++++++----------- 4 files changed, 66 insertions(+), 66 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index 1bf1b40d1..832f382b0 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -2114,19 +2114,19 @@ OOVPA_XREF(D3DDevice_EndPush, 4627, 12, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x06, XREF_D3DDEVICE ), // 1 + XREF_ENTRY( 0x06, XREF_D3DDEVICE ), - { 0x00, 0x8B }, // 2 - { 0x01, 0x44 }, // 3 - { 0x02, 0x24 }, // 4 - { 0x03, 0x04 }, // 5 - { 0x04, 0x8B }, // 6 - { 0x05, 0x0D }, // 7 - { 0x0A, 0x89 }, // 8 - { 0x0B, 0x01 }, // 9 - { 0x0C, 0xC2 }, // 10 - { 0x0D, 0x04 }, // 11 - { 0x0E, 0x00 }, // 12 + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + { 0x0A, 0x89 }, + { 0x0B, 0x01 }, + { 0x0C, 0xC2 }, + { 0x0D, 0x04 }, + { 0x0E, 0x00 }, OOVPA_END; #endif diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index baca88686..f6d972c3a 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -735,21 +735,21 @@ OOVPA_XREF(D3DDevice_LazySetStateVB, 5028, 12, XREF_D3DDevice_LazySetStateVB, XRefZero) - { 0x00, 0x83 }, // 1 - { 0x01, 0xEC }, // 2 - { 0x02, 0x0C }, // 3 + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x0C }, - { 0x34, 0xF6 }, // 4 - { 0x35, 0xC3 }, // 5 - { 0x36, 0x40 }, // 6 + { 0x34, 0xF6 }, + { 0x35, 0xC3 }, + { 0x36, 0x40 }, - { 0x57, 0x83 }, // 7 - { 0x58, 0xE5 }, // 8 - { 0x59, 0x10 }, // 9 + { 0x57, 0x83 }, + { 0x58, 0xE5 }, + { 0x59, 0x10 }, - { 0x79, 0x17 }, // 10 - { 0x7A, 0x40 }, // 11 - { 0x7B, 0x00 }, // 12 + { 0x79, 0x17 }, + { 0x7A, 0x40 }, + { 0x7B, 0x00 }, OOVPA_END; // ****************************************************************** @@ -760,20 +760,20 @@ OOVPA_XREF(D3DDevice_BeginPush, 5028, 10, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), // 1 + XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), - { 0x00, 0x8B }, // 2 - { 0x01, 0x0D }, // 3 + { 0x00, 0x8B }, + { 0x01, 0x0D }, - { 0x06, 0x6A }, // 4 - { 0x07, 0x00 }, // 5 + { 0x06, 0x6A }, + { 0x07, 0x00 }, - { 0x11, 0x40 }, // 6 + { 0x11, 0x40 }, - { 0x12, 0x89 }, // 7 - { 0x13, 0x44 }, // 8 - { 0x14, 0x24 }, // 9 - { 0x15, 0x04 }, // 10 + { 0x12, 0x89 }, + { 0x13, 0x44 }, + { 0x14, 0x24 }, + { 0x15, 0x04 }, OOVPA_END; #if 0 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index 7f0fba2ce..8d56343ff 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -1041,20 +1041,20 @@ OOVPA_XREF(D3DDevice_BeginPush, 5344, 10, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), // 1 + XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), - { 0x00, 0x8B }, // 2 - { 0x01, 0x0D }, // 3 + { 0x00, 0x8B }, + { 0x01, 0x0D }, - { 0x06, 0x6A }, // 4 - { 0x07, 0x00 }, // 5 + { 0x06, 0x6A }, + { 0x07, 0x00 }, - { 0x11, 0x40 }, // 6 + { 0x11, 0x40 }, - { 0x12, 0x89 }, // 7 - { 0x13, 0x44 }, // 8 - { 0x14, 0x24 }, // 9 - { 0x15, 0x04 }, // 10 + { 0x12, 0x89 }, + { 0x13, 0x44 }, + { 0x14, 0x24 }, + { 0x15, 0x04 }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 02f5d3744..bbdbcc2f3 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -40,21 +40,21 @@ OOVPA_XREF(D3DDevice_LazySetStateVB, 5558, 12, XREF_D3DDevice_LazySetStateVB, XRefZero) - { 0x00, 0x83 }, // 1 - { 0x01, 0xEC }, // 2 - { 0x02, 0x0C }, // 3 + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x0C }, - { 0x34, 0xF6 }, // 4 - { 0x35, 0xC3 }, // 5 - { 0x36, 0x40 }, // 6 + { 0x34, 0xF6 }, + { 0x35, 0xC3 }, + { 0x36, 0x40 }, - { 0x57, 0x83 }, // 7 - { 0x58, 0xE5 }, // 8 - { 0x59, 0x10 }, // 9 + { 0x57, 0x83 }, + { 0x58, 0xE5 }, + { 0x59, 0x10 }, - { 0x79, 0x17 }, // 10 - { 0x7A, 0x40 }, // 11 - { 0x7B, 0x00 }, // 12 + { 0x79, 0x17 }, + { 0x7A, 0x40 }, + { 0x7B, 0x00 }, OOVPA_END; #if 0 // Moved to 5028 // ****************************************************************** @@ -65,20 +65,20 @@ OOVPA_XREF(D3DDevice_BeginPush, 5558, 10, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), // 1 + XREF_ENTRY( 0x09, XREF_D3DDevice_LazySetStateVB ), - { 0x00, 0x8B }, // 2 - { 0x01, 0x0D }, // 3 + { 0x00, 0x8B }, + { 0x01, 0x0D }, - { 0x06, 0x6A }, // 4 - { 0x07, 0x00 }, // 5 + { 0x06, 0x6A }, + { 0x07, 0x00 }, - { 0x11, 0x40 }, // 6 + { 0x11, 0x40 }, - { 0x12, 0x89 }, // 7 - { 0x13, 0x44 }, // 8 - { 0x14, 0x24 }, // 9 - { 0x15, 0x04 }, // 10 + { 0x12, 0x89 }, + { 0x13, 0x44 }, + { 0x14, 0x24 }, + { 0x15, 0x04 }, OOVPA_END; #endif #if 0 // Moved to 5455 From 0ab81c574614661c482495d939c6761225c55987 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 30 Sep 2017 20:30:36 +0900 Subject: [PATCH 095/146] Moved OOVPAs lowered Verified this PR with Azurik - Rise of Perathia (3925) Shikigami no Shiro (3948) NightCaster (4039) Double-S.T.E.A.L (4134) NFL Blitz 2002 (4242) Flight Academy (4361) NCAA Football 03 (4432) Jockey's Road (4531) Innocent Tears (4627) Tiger Woods PGA Tour 2003 (4721) Whacked! (4831) Medal Of Honor Frontline (4928) Shikigami no Shiro Evolution (5028) N.U.D.E.@ (5120) C.A.T. Cyber Attack Team (5233) Starsky And Hutch (5344) NCAA Football 2004 (5455) Top Spin (5558) Midway Arcade Treasures (5659) Digimon Battle Chronicle (5788) Nickelodeon Tak 2 - The Staff of Dreams (5849) --- src/CxbxKrnl/HLEDataBase.h | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 29 +++++++++++++++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 12 ++++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl | 16 ++++++++++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 9 ++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 2 +- 8 files changed, 62 insertions(+), 11 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 1c4aa4c66..f607b240c 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -178,6 +178,7 @@ enum XRefDataBaseOffset XREF_D3DPalette_Lock2, XREF_D3DTexture_GetSurfaceLevel2, XREF_D3DDevice_CreatePalette2, + XREF_D3DDevice_CreateIndexBuffer2, XREF_XNINIT, XREF_XID_fCloseDevice, XREF_D3D_ClearStateBlockFlags, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index 832f382b0..87b08ea99 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -620,7 +620,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreateIndexBuffer2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateIndexBuffer2, 4627, 7) +OOVPA_XREF(D3DDevice_CreateIndexBuffer2, 4627, 7, + + XREF_D3DDevice_CreateIndexBuffer2, + XRefZero) { 0x05, 0xC0 }, { 0x0F, 0x85 }, @@ -631,6 +634,30 @@ OOVPA_NO_XREF(D3DDevice_CreateIndexBuffer2, 4627, 7) { 0x2F, 0x04 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_CreateIndexBuffer +// ****************************************************************** +OOVPA_XREF(D3DDevice_CreateIndexBuffer, 4627, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3DDevice_CreateIndexBuffer2 ), + + { 0x00, 0x8B }, + + { 0x0A, 0x8B }, + { 0x0B, 0x4C }, + { 0x0C, 0x24 }, + { 0x0D, 0x14 }, + { 0x0E, 0x33 }, + { 0x0F, 0xD2 }, + { 0x10, 0x85 }, + { 0x11, 0xC0 }, + + { 0x1F, 0xC2 }, +OOVPA_END; + #if 0 // Moved to 4831 // ****************************************************************** // * D3DDevice_SetPixelShaderConstant diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index 8d56343ff..5eec74ac7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -548,8 +548,9 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetRenderTarget // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5344, 8) +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5344, 9) + { 0x00, 0x83 }, { 0x08, 0x56 }, { 0x09, 0x33 }, { 0x0A, 0xF6 }, @@ -959,7 +960,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreateIndexBuffer2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateIndexBuffer2, 5344, 7) +OOVPA_XREF(D3DDevice_CreateIndexBuffer2, 5344, 7, + + XREF_D3DDevice_CreateIndexBuffer2, + XRefZero) { 0x05, 0x00 }, { 0x0C, 0x50 }, @@ -1068,7 +1072,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5344, 10) // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0520] { 0x05, 0x8B }, { 0x06, 0x88 }, - { 0x07, 0x02 }, + { 0x07, 0x20 }, { 0x08, 0x05 }, // D3DDevice_AddRef+0x0B : inc ecx @@ -1077,7 +1081,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5344, 10) // D3DDevice_AddRef+0x0C : mov [eax+0x0520], ecx { 0x0C, 0x89 }, { 0x0D, 0x88 }, - { 0x0E, 0x02 }, + { 0x0E, 0x20 }, { 0x0F, 0x05 }, OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl index dda2a989d..d6c414389 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl @@ -561,3 +561,19 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 5455, 14) { 0x54, 0x07 }, { 0x55, 0x01 }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderTarget +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5455, 9) + + { 0x00, 0x83 }, + { 0x1E, 0x44 }, + { 0x3E, 0x2C }, + { 0x5E, 0x8B }, + { 0x7E, 0xDE }, + { 0xA0, 0x89 }, + { 0xBE, 0x09 }, + { 0xDE, 0x8B }, + { 0xFE, 0x8B }, +OOVPA_END; \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index bbdbcc2f3..9cdd2fe23 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -815,6 +815,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 5558, 9) { 0xC6, 0x80 }, OOVPA_END; +#if 0 // Was _IDirect3DDevice8_CreateIndexBuffer@24, replaced by D3DDevice_CreateIndexBuffer 4627 version // ****************************************************************** // * D3DDevice_CreateIndexBuffer // ****************************************************************** @@ -831,6 +832,7 @@ OOVPA_NO_XREF(D3DDevice_CreateIndexBuffer, 5558, 10) { 0x1A, 0x8B }, { 0x1E, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetVerticalBlankCallback @@ -1220,7 +1222,7 @@ OOVPA_NO_XREF(D3DDevice_MakeSpace, 5558, 7) { 0x09, 0xE8 }, { 0x0E, 0xC3 }, OOVPA_END; - +#if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetRenderTarget@8 // ****************************************************************** @@ -1235,6 +1237,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5558, 8) { 0xDE, 0x8B }, { 0xFE, 0x8B }, OOVPA_END; +#endif #if 0 // Used 3925 // ****************************************************************** // * D3DTexture_LockRect @@ -2164,7 +2167,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetTransform, 3925, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), - REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 5558, DISABLED), + REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5455, PATCH), @@ -2196,7 +2199,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(Get2DSurfaceDesc, 5558, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5558, PATCH), REGISTER_OOVPA(D3DDevice_MakeSpace, 5558, DISABLED), - REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 6eb4b20db..a52b4b361 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -1151,7 +1151,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index c84909bb0..e2174fac8 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -264,7 +264,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index 68f6c76ca..365e96ff7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -278,7 +278,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetRenderState_YuvEnable, PATCH, 3925, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetRenderState_ZBias, PATCH, 3925), REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, PATCH, 3925, 4034, 4134, 4432, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3925, 3948, 4039, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3925, 3948, 4039, 4134, 4627, 5344, 5455/*, 5558*/), REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 5233, 5344), REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3925, 4039, 4361, 4627, 5233, 5344, 5558), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4039, 5233, 5344, 5455), // Was 5233 (from 5344's comment) From 869c945bbe46d029422378d74099cc83afcd7050 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 1 Oct 2017 08:13:03 +0900 Subject: [PATCH 096/146] Fixed newline at end of file --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl index d6c414389..1d1372c05 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl @@ -576,4 +576,4 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5455, 9) { 0xBE, 0x09 }, { 0xDE, 0x8B }, { 0xFE, 0x8B }, -OOVPA_END; \ No newline at end of file +OOVPA_END; From d0aba5133edc63016bacb86ceea76cf0f6d64ab5 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 1 Oct 2017 14:08:51 -0500 Subject: [PATCH 097/146] Fix Legacy D3D to be able compile 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! --- src/CxbxKrnl/HLEIntercept.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 2809c02e0..36e1891b1 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -584,12 +584,10 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) xbaddr upper = pXbeHeader->dwBaseAddr + pXbeHeader->dwSizeofImage; xbaddr pFunc = (xbaddr)nullptr; - if(BuildVersion == 3925) - pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetRenderState_CullMode_3925, lower, upper); - else if(BuildVersion < 5233) - pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetRenderState_CullMode_4034, lower, upper); + if(BuildVersion < 4034) + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetRenderState_CullMode_3911, lower, upper); else - pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetRenderState_CullMode_5233, lower, upper); + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetRenderState_CullMode_4034, lower, upper); // locate D3DDeferredRenderState if(pFunc != (xbaddr)nullptr) @@ -700,8 +698,8 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) { pFunc = (xbaddr)nullptr; - if(BuildVersion == 3925) - pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_3925, lower, upper); + if(BuildVersion < 4034) + pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_3911, lower, upper); // TODO : What about 4034? Use it once it's offset to XREF_D3DTSS_TEXCOORDINDEX is verified else if(BuildVersion == 4034 || BuildVersion == 4134) pFunc = EmuLocateFunction((OOVPA*)&D3DDevice_SetTextureState_TexCoordIndex_4034, lower, upper); From f9d165f48109b94e262f1ffaee0fc9f4cf8f27bd Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 1 Oct 2017 14:47:55 -0500 Subject: [PATCH 098/146] Fix Graphic Issue For V2 Database --- src/CxbxKrnl/HLEIntercept.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 36e1891b1..5e206505f 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -62,7 +62,7 @@ std::map g_SymbolAddresses; std::unordered_map g_FunctionHooks; bool g_HLECacheUsed = false; -uint32 g_BuildVersion; +uint32 g_BuildVersion = 0; bool bLLE_APU = false; // Set this to true for experimental APU (sound) LLE bool bLLE_GPU = false; // Set this to true for experimental GPU (graphics) LLE @@ -414,6 +414,9 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) #ifndef ENABLE_LEGACY_D3D8_DB else if (strcmp(LibraryName.c_str(), Lib_D3D8) == 0) { + // Save D3D8 build version + g_BuildVersion = OrigBuildVersion; + xbaddr lower = pXbeHeader->dwBaseAddr; xbaddr upper = pXbeHeader->dwBaseAddr + pXbeHeader->dwSizeofImage; xbaddr pFunc = (xbaddr)nullptr; From ac06730b98b446325f5b7eb7eb5bdc2f77abc876 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 2 Oct 2017 03:00:21 -0500 Subject: [PATCH 099/146] Include DSS Interface OOVPAs for 3911 - 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 --- src/CxbxKrnl/HLEDataBase.h | 7 + src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 137 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 11 +- 3 files changed, 147 insertions(+), 8 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index f607b240c..f359848c9 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -355,6 +355,13 @@ enum XRefDataBaseOffset XREF_CDirectSound_CommitEffectData, XREF_CDirectSound_GetTime, XREF_CMcpxAPU_SetI3DL2Listener, + XREF_CDirectSoundStream_SetOutputBuffer, + XREF_CDirectSoundStream_SetAllParameters, + XREF_CDirectSoundStream_SetConeAngles, + XREF_CDirectSoundStream_SetConeOutsideVolume, + XREF_CDirectSoundStream_SetMode, + XREF_CDirectSoundStream_SetI3DL2Source, + XREF_CDirectSoundStream_Pause, // XACT // +s XREF_XACT_CEngine_RegisterWaveBank, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 9594ca6ea..3de579238 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -2043,7 +2043,10 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream_Pause // ****************************************************************** -OOVPA_NO_XREF(CDirectSoundStream_Pause, 3911, 6) +OOVPA_XREF(CDirectSoundStream_Pause, 3911, 6, + + XREF_CDirectSoundStream_Pause, + XRefZero) { 0x01, 0x44 }, { 0x04, 0xFF }, @@ -2669,7 +2672,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 3911, 10, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetConeOutsideVolume, XRefOne) // CDirectSoundStream_SetConeOutsideVolume+0x11 : call [CDirectSoundVoice_SetConeOutsideVolume] @@ -2773,7 +2776,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetAllParameters, 3911, 10, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetAllParameters, XRefOne) // CDirectSoundStream_SetAllParameters+0x11 : call [CDirectSoundVoice_SetAllParameters] @@ -2857,7 +2860,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetConeAngles, 3911, 10, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetConeAngles, XRefOne) // CDirectSoundStream_SetConeAngles+0x15 : call [CDirectSoundVoice_SetConeAngles] @@ -3134,7 +3137,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetMode, 3911, 7, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetMode, XRefOne) // CDirectSoundStream_SetMode+0x10 : call [CDirectSoundVoice::SetMode] @@ -3573,7 +3576,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetOutputBuffer, 3911, 12, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetOutputBuffer, XRefOne) // CDirectSoundStream_SetOutputBuffer+0x22 : call [CDirectSoundVoice_SetOutputBuffer] @@ -3661,7 +3664,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetI3DL2Source, 3911, 9, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetI3DL2Source, XRefOne) XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetI3DL2Source ), @@ -5405,3 +5408,123 @@ OOVPA_XREF(IDirectSoundStream_SetMixBins, 3911, 10, { 0x11, 0xC2 }, { 0x12, 0x08 }, OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetOutputBuffer +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetOutputBuffer, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetOutputBuffer+0x00 : jmp [CDirectSoundStream_SetOutputBuffer] + XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetOutputBuffer ), + + // IDirectSoundStream_SetOutputBuffer+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetMixBinVolumes +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetMixBinVolumes_12, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetMixBinVolumes_12+0x00 : jmp [CDirectSoundStream_SetMixBinVolumes_12] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetMixBinVolumes), + + // IDirectSoundStream_SetMixBinVolumes_12+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetAllParameters +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetAllParameters, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetAllParameters+0x00 : jmp [CDirectSoundStream_SetAllParameters] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetAllParameters), + + // IDirectSoundStream_SetAllParameters+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetConeAngles +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetConeAngles, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetConeAngles+0x00 : jmp [CDirectSoundStream_SetConeAngles] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetConeAngles), + + // IDirectSoundStream_SetConeAngles+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetConeOutsideVolume, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetConeOutsideVolume+0x00 : jmp [CDirectSoundStream_SetConeOutsideVolume] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetConeOutsideVolume), + + // IDirectSoundStream_SetConeOutsideVolume+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetMode, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetMode+0x00 : jmp [CDirectSoundStream_SetMode] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetMode), + + // IDirectSoundStream_SetMode+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetI3DL2Source +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetI3DL2Source, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetI3DL2Source+0x00 : jmp [CDirectSoundStream_SetI3DL2Source] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetI3DL2Source), + + // IDirectSoundStream_SetI3DL2Source+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_Pause +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_Pause, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_Pause+0x00 : jmp [CDirectSoundStream_Pause] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_Pause), + + // IDirectSoundStream_Pause+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 30c794f2d..232bfa74e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -45,6 +45,7 @@ // * IDirectSoundStream_SetMixBins & CDirectSoundStream_SetMixBins // * Need to include patch, func export, support for IDirectSoundStream_Setxxxxx from above. + #ifndef DSOUND_OOVPA_INL #define DSOUND_OOVPA_INL @@ -285,15 +286,23 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Use3DVoiceData, PATCH, 5558), REGISTER_OOVPAS(IDirectSoundStream_FlushEx, PATCH, 4627), + REGISTER_OOVPAS(IDirectSoundStream_Pause, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? + REGISTER_OOVPAS(IDirectSoundStream_SetAllParameters, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? + REGISTER_OOVPAS(IDirectSoundStream_SetConeAngles, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, UNPATCHED, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetConeOutsideVolume, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetLFO, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetFilter, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetFrequency, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetHeadroom, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetMixBins, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetI3DL2Source, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, UNPATCHED, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetMixBins, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetMixBinVolumes_12, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, see more note for CDirectSoundStream_SetMixBinVolumes_12 + REGISTER_OOVPAS(IDirectSoundStream_SetMode, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? + REGISTER_OOVPAS(IDirectSoundStream_SetOutputBuffer, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? REGISTER_OOVPAS(IDirectSoundStream_SetPitch, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetPosition, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, UNPATCHED, 3911), From 172a391fc60adaa9c4fc633b40878d7385e8fe0b Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 2 Oct 2017 03:03:45 -0500 Subject: [PATCH 100/146] Add DSound Notes Draft list of titles which did compiled with full library and additional TODO info of which revision might introduce new interface. --- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 34 +++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 232bfa74e..d1e7c104e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -33,7 +33,41 @@ // * // ****************************************************************** +// Titles which did compiled with full libary +// [revi] Title Name | Verify | Comments +//------------------------------------------------------------------- +// * [3925] Cel Damage | 100% | None +// * [3936] Silent Hill 2 | 100% | Need verify non-exist function is there or not +// * [4039] Nightcaster | ??% | Need to create bunch of OOVPAs... + // TODO: Known DSound OOVPA issue list +// * 3911 to 5933: Cannot make OOVPAs +// * IDirectSound_SetCooperativeLevel (Xbox doesn't use it) +// * IDirectSound_Compact (Xbox doesn't use it) +// * IDirectSoundBuffer_Restore (Xbox doesn't use it) +// * IDirectSoundBuffer_Unlock (Xbox doesn't use it, however can make OOVPA; NOTE: OOVPA is registered for it) +// * IDirectSoundStream_AddRef (Using IUnknown_AddRef) +// * IDirectSoundStream_Release (Using IUnknown_Release) +// * 3911 to ????: These functions does not exist until newer XDK revision +// * IDirectSound_GetOutputLevels +// * IDirectSound_SynchPlayback +// * IDirectSoundBuffer_GetVoiceProperties +// * IDirectSoundBuffer_SetFormat +// * IDirectSoundBuffer_SetDistanceFactor +// * IDirectSoundBuffer_SetDopplerFactor +// * IDirectSoundBuffer_SetRolloffFactor +// * IDirectSoundBuffer_SetRolloffCurve +// * IDirectSoundBuffer_Pause +// * IDirectSoundBuffer_PauseEx +// * IDirectSoundBuffer_SetPlayRegion (last seen is 4039?) +// * IDirectSoundStream_FlushEx +// * IDirectSoundStream_GetVoiceProperties +// * IDirectSoundStream_PauseEx +// * IDirectSoundStream_SetDistanceFactor +// * IDirectSoundStream_SetDopplerFactor +// * IDirectSoundStream_SetFormat +// * IDirectSoundStream_SetRolloffCurve +// * IDirectSoundStream_SetRolloffFactor // * 3911 to 4039(?): Following separater functions has exact asm codes as whole function are... // * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume // * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch From 2c6801cd4f7e3496bbbb7e03c08e1f1367d06f65 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 2 Oct 2017 18:07:32 +0900 Subject: [PATCH 101/146] Fixed D3DDevice_CreatePixelShader 5788 OOVPA --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index a52b4b361..74a25b103 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -136,7 +136,7 @@ OOVPA_END; // ****************************************************************** OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 5788, 9) - { 0x00, 0x00 }, + { 0x00, 0x68 }, { 0x07, 0x00 }, { 0x10, 0xC0 }, { 0x19, 0x08 }, From 0131fd254ec228b0e419c8895d1b19da6af8247b Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 2 Oct 2017 18:28:42 +0900 Subject: [PATCH 102/146] Added files to Cxbx-Reloaded project --- build/win32/Cxbx.vcxproj | 6 ++++++ build/win32/Cxbx.vcxproj.filters | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index 401c8ab83..355645ac8 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -349,7 +349,9 @@ $(SOLUTIONDIR)Export.bat + + @@ -358,7 +360,9 @@ $(SOLUTIONDIR)Export.bat + + @@ -398,6 +402,7 @@ $(SOLUTIONDIR)Export.bat + @@ -407,6 +412,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 928a9156e..1116505e9 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -767,6 +767,9 @@ HLEDatabase\Xapi + + HLEDatabase\Xapi + HLEDatabase\Xapi @@ -839,11 +842,11 @@ HLEDatabase\XG - + HLEDatabase\XG - - HLEDatabase\XOnline + + HLEDatabase\XG HLEDatabase\XOnline @@ -863,6 +866,12 @@ HLEDatabase\XOnline + + HLEDatabase\XOnline + + + HLEDatabase\XOnline + From c3a9f78ef126a96a485905eee92e113386edb558 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 2 Oct 2017 17:50:06 -0500 Subject: [PATCH 103/146] Add More Non-Existing Functions TODO: Need to add into 3911 database - XAudioCreateAdpcmFormat - XAudioCreatePcmFormat --- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index d1e7c104e..ddc7ff2ad 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -68,6 +68,12 @@ // * IDirectSoundStream_SetFormat // * IDirectSoundStream_SetRolloffCurve // * IDirectSoundStream_SetRolloffFactor +// * DirectSoundDumpMemoryUsage +// * DirectSoundGetSampleTime +// * DirectSoundOverrideSpeakerConfig +// * XAudioDownloadEffectsImage +// * XAudioGetSpeakerConfig +// * XAudioSetEffectData // * 3911 to 4039(?): Following separater functions has exact asm codes as whole function are... // * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume // * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch From 9946018845444ceb448903d2519b2c2444c4585a Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 2 Oct 2017 19:02:55 -0500 Subject: [PATCH 104/146] Minor Update for DSound 4039 Database - Add IDirectSoundBuffer_SetHeadroom to 4039 (Generic) - Add CDirectSound_SetPosition to 4039 - Add CDirectSound_SetVelocity to 4039 - Add CDirectSound_SetI3DL2Listener to 4039 - Improve CDirectSound_SetPosition 4134 - Improve CDirectSound_SetVelocity 4134 Verified with - [4039] Nightcaster --- src/CxbxKrnl/HLEDataBase.h | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 9 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 131 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 24 +++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 8 +- 10 files changed, 169 insertions(+), 27 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index f359848c9..fe533662a 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -215,8 +215,8 @@ enum XRefDataBaseOffset XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, XREF_CDirectSound_SetPosition, XREF_CMcpxAPU_Set3dPosition, - XREF_DSSETVELOCITYA, - XREF_DSSETVELOCITYB, + XREF_CDirectSound_SetVelocity, + XREF_CMcpxAPU_Set3dVelocity, XREF_CDirectSound_DoWork, XREF_CMcpxAPU_ServiceDeferredCommandsLow, XREF_CDirectSound_SetAllParameters, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 3de579238..e40cde9a4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -3404,6 +3404,7 @@ OOVPA_XREF(IDirectSound_SetPosition, 3911, 11, { 0x32, 0xC2 }, { 0x33, 0x14 }, OOVPA_END; + // ****************************************************************** // * CMcpxVoiceClient_Set3dVelocity // ****************************************************************** @@ -4676,7 +4677,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxAPU_Set3dVelocity, 3911, 12, - XREF_DSSETVELOCITYB, + XREF_CMcpxAPU_Set3dVelocity, XRefZero) // CMcpxAPU_Set3dVelocity+0x0C : movsd; movsd; movsd @@ -4703,11 +4704,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetVelocity, 3911, 10, - XREF_DSSETVELOCITYA, + XREF_CDirectSound_SetVelocity, XRefOne) // CDirectSound_SetVelocity+0x35 : call [CMcpxAPU_Set3dVelocity] - XREF_ENTRY( 0x35, XREF_DSSETVELOCITYB ), + XREF_ENTRY( 0x35, XREF_CMcpxAPU_Set3dVelocity ), // CDirectSound_SetVelocity+0x06 : push esi; push edi { 0x06, 0x56 }, @@ -4735,7 +4736,7 @@ OOVPA_XREF(IDirectSound_SetVelocity, 3911, 11, XRefOne) // IDirectSound_SetVelocity+0x2D : call [CDirectSound_SetVelocity] - XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ), + XREF_ENTRY( 0x2D, XREF_CDirectSound_SetVelocity ), // IDirectSound_SetVelocity+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 1690e3100..83d3311d2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -2932,7 +2932,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxAPU_Set3dVelocity, 3936, 12, - XREF_DSSETVELOCITYB, + XREF_CMcpxAPU_Set3dVelocity, XRefZero) // CMcpxAPU_Set3dVelocity+0x0C : movsd; movsd; movsd @@ -2960,11 +2960,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetVelocity, 3936, 10, - XREF_DSSETVELOCITYA, + XREF_CDirectSound_SetVelocity, XRefOne) // CDirectSound_SetVelocity+0x35 : call [CMcpxAPU_Set3dVelocity] - XREF_ENTRY( 0x35, XREF_DSSETVELOCITYB ), + XREF_ENTRY( 0x35, XREF_CMcpxAPU_Set3dVelocity ), // CDirectSound_SetVelocity+0x06 : push esi; push edi { 0x06, 0x56 }, @@ -2992,7 +2992,7 @@ OOVPA_XREF(IDirectSound_SetVelocity, 3936, 11, XRefOne) // IDirectSound_SetVelocity+0x2D : call [CDirectSound_SetVelocity] - XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ), + XREF_ENTRY( 0x2D, XREF_CDirectSound_SetVelocity ), // IDirectSound_SetVelocity+0x06 : fld [ebp+0x14] { 0x06, 0xD9 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 14d6fb290..81443d012 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -2371,3 +2371,134 @@ OOVPA_XREF(CDirectSound_DownloadEffectsImage, 4039, 18, { 0x60, 0xC2 }, { 0x61, 0x14 }, OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetHeadroom +// ****************************************************************** +//Generic OOVPA as of 4039 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 4039, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetHeadroom+0x15 : call [CDirectSoundBuffer_SetHeadroom] + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetHeadroom ), + + // IDirectSoundBuffer_SetHeadroom+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetHeadroom+0x0A : add eax, 0xFFFFFFE4 + { 0x0A, 0x83 }, + { 0x0B, 0xC0 }, + { 0x0C, 0xE4 }, + + // IDirectSoundBuffer_SetHeadroom+0x19 : retn 0x08 + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound_SetPosition +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetPosition, 4039, 14, + + XREF_CDirectSound_SetPosition, + XRefZero) + + // CDirectSound_SetPosition+0x00 : push ebp + { 0x00, 0x55}, + + // CDirectSound_SetPosition+0x2A : mov ecx, [ebp+0x08] + { 0x2A, 0x8B }, + { 0x2B, 0x4D }, + { 0x2C, 0x08 }, + + // CDirectSound_SetPosition+0x3E : mov [edx+0x1C], edi + { 0x3E, 0x89 }, + { 0x3F, 0x7A }, + { 0x40, 0x1C }, + + // CDirectSound_SetPosition+0x4B : or word ptr [eax+0x84], 0x01FF + { 0x4B, 0x80 }, + { 0x4C, 0x88 }, + { 0x4D, 0x84 }, + { 0x4E, 0x00 }, + { 0x51, 0xFF }, + + // CDirectSound_SetPosition+0x72 : retn 0x14 + { 0x72, 0xC2 }, + { 0x73, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::SetVelocity +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetVelocity, 4039, 16, + + XREF_CDirectSound_SetVelocity, + XRefZero) + + // CDirectSound_SetVelocity+0x00 : push ebp + { 0x00, 0x55}, + + // CDirectSound_SetVelocity+0x23 : mov eax, 0x80004005 + { 0x23, 0xB8 }, + { 0x24, 0x05 }, + { 0x25, 0x40 }, + { 0x26, 0x00 }, + { 0x27, 0x80 }, + + // CDirectSound_SetVelocity+0x36 : mov [edx+0x24], edi + { 0x36, 0x89 }, + { 0x37, 0x7A }, + { 0x38, 0x24 }, + + // CDirectSound_SetVelocity+0x4B : or dword ptr [eax+0x084], 0x40 + { 0x4B, 0x83 }, + { 0x4C, 0x88 }, + { 0x4D, 0x84 }, + { 0x4F, 0x00 }, + { 0x51, 0x40 }, + + // CDirectSound_SetVelocity+0x72 : retn 0x14 + { 0x72, 0xC2 }, + { 0x73, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::SetI3DL2Listener +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetI3DL2Listener, 4039, 16, + + XREF_CDirectSound_SetI3DL2Listener, + XRefZero) + // CDirectSound_SetI3DL2Listener+0x00 : push ebp + { 0x00, 0x55 }, + + // CDirectSound_SetI3DL2Listener+0x35 : cmp dword ptr [eax+0C],-01 + { 0x35, 0x83 }, + //{ 0x36, 0x78 }, + { 0x37, 0x0C }, + { 0x38, 0xFF }, + + // CDirectSound_SetI3DL2Listener+0x3B : mov [ebp-04h],0x88780032 + { 0x3B, 0xC7 }, + { 0x3C, 0x45 }, + { 0x3D, 0xFC }, + { 0x3E, 0x32 }, + { 0x3F, 0x00 }, + { 0x40, 0x78 }, + { 0x41, 0x88 }, + + // CDirectSound_SetI3DL2Listener+0x45 : mov esi,[ebp+0Ch] + { 0x45, 0x8B }, + { 0x46, 0x75 }, + { 0x47, 0x0C }, + + // CDirectSound_SetI3DL2Listener+0x7F : retn 0x0C + { 0x7F, 0xC2 }, + { 0x80, 0x0C }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index dd73f4ed3..e73f4de71 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -248,7 +248,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 4134, 8, { 0x47, 0x8B }, OOVPA_END; - +#if 0 // Replaced with generic OOVPA 4039 // ****************************************************************** // * IDirectSoundBuffer_SetHeadroom // ****************************************************************** @@ -268,7 +268,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 4134, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundVoiceSettings::SetMixBins // ****************************************************************** @@ -405,11 +405,14 @@ OOVPA_END; // ****************************************************************** // * CDirectSound_SetPosition // ****************************************************************** -OOVPA_XREF(CDirectSound_SetPosition, 4134, 11, +OOVPA_XREF(CDirectSound_SetPosition, 4134, 14, XREF_CDirectSound_SetPosition, XRefZero) + // CDirectSound_SetPosition+0x00 : push ebp + { 0x00, 0x55}, + // CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08] { 0x2B, 0x8B }, { 0x2C, 0x4D }, @@ -426,6 +429,10 @@ OOVPA_XREF(CDirectSound_SetPosition, 4134, 11, { 0x4E, 0xA4 }, { 0x4F, 0x00 }, { 0x52, 0xFF }, + + // CDirectSound_SetPosition+0x73 : retn 0x14 + { 0x73, 0xC2 }, + { 0x74, 0x14 }, OOVPA_END; // ****************************************************************** @@ -2392,11 +2399,14 @@ OOVPA_END; // ****************************************************************** // * CDirectSound::SetVelocity // ****************************************************************** -OOVPA_XREF(CDirectSound_SetVelocity, 4134, 15, +OOVPA_XREF(CDirectSound_SetVelocity, 4134, 16, - XREF_DSSETVELOCITYA, + XREF_CDirectSound_SetVelocity, XRefZero) + // CDirectSound_SetVelocity+0x00 : push ebp + { 0x00, 0x55}, + // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 { 0x24, 0xB8 }, { 0x25, 0x05 }, @@ -3037,14 +3047,14 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH), REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), - REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness... + REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index e6d14a447..e3808a458 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -100,7 +100,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetVelocity, 4627, 15, - XREF_DSSETVELOCITYA, + XREF_CDirectSound_SetVelocity, XRefZero) // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 @@ -1489,7 +1489,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index f8c1e7dfd..82325d97c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -65,7 +65,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 41b7295c7..0f2709665 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -432,7 +432,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetVelocity, 5344, 14, - XREF_DSSETVELOCITYA, + XREF_CDirectSound_SetVelocity, XRefZero) // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index ec29bce5d..0ae11919b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1422,7 +1422,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSound_SetVelocity, 5558, 7, - XREF_DSSETVELOCITYA, + XREF_CDirectSound_SetVelocity, XRefZero) { 0x0F, 0x00 }, @@ -1442,7 +1442,7 @@ OOVPA_XREF(IDirectSound_SetVelocity, 5558, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ), + XREF_ENTRY( 0x2D, XREF_CDirectSound_SetVelocity ), { 0x05, 0x18 }, { 0x0C, 0x83 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index ddc7ff2ad..006308b3b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -275,12 +275,12 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558, 5788), REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 3911, 4134), - REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3911, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3911, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3911, 4627, 5558), REGISTER_OOVPAS(CDirectSound_SetOrientation, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4134, 4627, 5344, 5558), // TODO: Find a cure for laziness... (from 4134's comment) + REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3911, 4039, 4134, 5344, 5558, 5788, 5849), - REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3911, 4134, 4627, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3911, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3911), @@ -302,7 +302,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3911, 4134, 5344, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3911, 4039, 5344, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3911, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), From 46ae7dd0f96bd41eec464008ba27135f3346437a Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Tue, 3 Oct 2017 15:10:34 -0500 Subject: [PATCH 105/146] More Adding to DSound 4039 Database - 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 --- src/CxbxKrnl/HLEDataBase.h | 5 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 220 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 47 ++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 16 +- 11 files changed, 271 insertions(+), 53 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index fe533662a..ce2e28f6d 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -283,8 +283,6 @@ enum XRefDataBaseOffset XREF_DSVOICESETDISTANCEFACTOR, XREF_CDirectSoundVoice_SetConeAngles, XREF_DSVOICESETCONEORIENTATION, - XREF_DSVOICESETPOSITION, - XREF_DSVOICESETVELOCITY, XREF_CDirectSoundVoice_SetDopplerFactor, XREF_DSVOICESETI3DL2SOURCE, XREF_CMcpxVoiceClient_Set3dMode, @@ -295,7 +293,7 @@ enum XRefDataBaseOffset XREF_DSBUFFERSETROLLOFFCURVE, XREF_DSBUFFERSETROLLOFFFACTOR, XREF_DSBUFFERSETDISTANCEFACTOR, - XREF_DSBUFFERSETCONEANGLES, + XREF_CDirectSoundBuffer_SetConeAngles, XREF_CDirectSoundBuffer_SetConeOrientation, XREF_CDirectSoundBuffer_SetConeOutsideVolume, XREF_CDirectSoundBuffer_SetPosition, @@ -315,7 +313,6 @@ enum XRefDataBaseOffset XREF_CMcpxBuffer_Play, XREF_CDirectSoundBuffer_PlayEx, XREF_WaveFormat_CreateXboxAdpcmFormat, - XREF_CDirectSoundBuffer_SetConeAngles, XREF_CDirectSoundVoice_CommitDeferredSettings, XREF_CDirectSoundBuffer_SetAllParameters, XREF_CDirectSound_GetOutputLevels, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 81443d012..cc172487d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -2091,7 +2091,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetPosition, 4039, 12, - XREF_DSVOICESETPOSITION, + XREF_CDirectSoundVoice_SetPosition, XRefZero) { 0x05, 0x08 }, @@ -2119,7 +2119,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetPosition, 4039, 10, XRefOne) // CDirectSoundBuffer_SetPosition+0x49 : call [CDirectSoundVoice::SetPosition] - XREF_ENTRY( 0x49, XREF_DSVOICESETPOSITION ), + XREF_ENTRY( 0x49, XREF_CDirectSoundVoice_SetPosition ), // CDirectSoundBuffer_SetPosition+0x00 : push ebp { 0x00, 0x55 }, @@ -2172,7 +2172,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetVelocity, 4039, 12, - XREF_DSVOICESETVELOCITY, + XREF_CDirectSoundVoice_SetVelocity, XRefZero) { 0x05, 0x08 }, @@ -2200,7 +2200,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 4039, 10, XRefOne) // CDirectSoundBuffer_SetVelocity+0x49 : call [CDirectSoundVoice::SetVelocity] - XREF_ENTRY( 0x49, XREF_DSVOICESETVELOCITY ), + XREF_ENTRY( 0x49, XREF_CDirectSoundVoice_SetVelocity ), // CDirectSoundBuffer_SetVelocity+0x00 : push ebp { 0x00, 0x55 }, @@ -2502,3 +2502,215 @@ OOVPA_XREF(CDirectSound_SetI3DL2Listener, 4039, 16, { 0x7F, 0xC2 }, { 0x80, 0x0C }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice_SetAllParameters +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetAllParameters, 4039, 12, + + XREF_CDirectSoundVoice_SetAllParameters, + XRefZero) + + // CDirectSoundVoice_SetAllParameters+0x00 : mov edx,[esp+04] + { 0x00, 0x8B }, + + // CDirectSoundVoice_SetAllParameters+0x0D : mov edi,[edx+10] + { 0x0D, 0x6A }, + { 0x0E, 0x10 }, + + // CDirectSoundVoice_SetAllParameters+0x16 : repe movsd + { 0x16, 0xF3 }, + { 0x17, 0xA5 }, + + // CDirectSoundVoice_SetAllParameters+0x18 : mov eax,[edx+10] + { 0x18, 0x8B }, + { 0x19, 0x42 }, + { 0x1A, 0x10 }, + + { 0x21, 0xFF }, + { 0x26, 0x01 }, + + // CDirectSoundVoice_SetAllParameters+0x33 : retn 0x0C + { 0x33, 0xC2 }, + { 0x34, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetAllParameters +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetAllParameters, 4039, 8, + + XREF_CDirectSoundBuffer_SetAllParameters, + XRefOne) + + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetAllParameters ), + + // CDirectSoundBuffer_SetAllParameters+0x00 : push esi + { 0x00, 0x56 }, + + { 0x2A, 0x24 }, + { 0x2E, 0x24 }, + { 0x32, 0x24 }, + { 0x34, 0xE8 }, + + // CDirectSoundBuffer_SetAllParameters+0x4E : retn 0x0C + { 0x4E, 0xC2 }, + { 0x4F, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetAllParameters +// ****************************************************************** +//Generic OOVPA as of 4039 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetAllParameters, 4039, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetAllParameters ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetConeAngles +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetConeAngles, 4039, 14, + + XREF_CDirectSoundVoice_SetConeAngles, + XRefZero) + + { 0x00, 0x8B }, + { 0x03, 0x04 }, + + { 0x04, 0x8B }, + { 0x06, 0x10 }, + + { 0x07, 0x8B }, + { 0x0A, 0x08 }, + + { 0x0B, 0x89 }, + { 0x0C, 0x91 }, + + { 0x18, 0x89 }, + { 0x19, 0x91 }, + + { 0x27, 0x10 }, + { 0x2C, 0x01 }, + + // CDirectSoundVoice_SetConeAngles+0x37 : retn 10h + { 0x37, 0xC2 }, + { 0x38, 0x10 } +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetConeAngles +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetConeAngles, 4039, 12, + + XREF_CDirectSoundBuffer_SetConeAngles, + XRefOne) + + // CDirectSoundBuffer_SetConeAngles+0x39 : call [CDirectSoundVoice::SetConeAngles] + XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetConeAngles ), + + // CDirectSoundBuffer_SetConeAngles+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetConeAngles+0x20 : mov eax, 80004005h + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetConeAngles+0x28 : push [esp+0Ch+arg_4] + { 0x28, 0xFF }, + { 0x29, 0x74 }, + { 0x2A, 0x24 }, + { 0x2B, 0x18 }, + + // CDirectSoundBuffer_SetConeAngles+0x52 : retn 10h + { 0x52, 0xC2 }, + { 0x53, 0x10 } +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetConeAngles +// ****************************************************************** +//Generic OOVPA as of 4039 and newer. +OOVPA_XREF(IDirectSoundBuffer_SetConeAngles, 4039, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetConeAngles+0x1C : call [CDirectSoundBuffer::SetConeAngles] + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetConeAngles ), + + // IDirectSoundBuffer_SetConeAngles+0x04 : mov eax, [esp+4+arg_0] + { 0x04, 0x8B }, + { 0x05, 0x44 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, + + // IDirectSoundBuffer_SetConeAngles+0x12 : add eax, 0FFFFFFE4 + { 0x12, 0x83 }, + { 0x13, 0xC0 }, + { 0x14, 0xE4 }, + + // IDirectSoundBuffer_SetConeAngles+0x21 : retn 10h + { 0x21, 0xC2 }, + { 0x22, 0x10 } +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetVelocity +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetVelocity, 4039, 11, + + XREF_CDirectSoundStream_SetVelocity, + XRefOne) + + XREF_ENTRY( 0x4D, XREF_CDirectSoundVoice_SetVelocity ), + + { 0x00, 0x55 }, + { 0x0F, 0x00 }, + { 0x16, 0x74 }, + { 0x23, 0xB8 }, + { 0x29, 0x3B }, + { 0x34, 0x83 }, + { 0x3F, 0x45 }, + { 0x62, 0x8B }, + + { 0x67, 0xC2 }, + { 0x68, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetPosition +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetPosition, 4039, 11, + + XREF_CDirectSoundStream_SetPosition, + XRefOne) + + XREF_ENTRY( 0x4D, XREF_CDirectSoundVoice_SetPosition ), + + { 0x00, 0x55 }, + { 0x0F, 0x00 }, + { 0x16, 0x74 }, + { 0x23, 0xB8 }, + { 0x29, 0x3B }, + { 0x38, 0xEC }, + { 0x57, 0x68 }, + { 0x62, 0x8B }, + + { 0x67, 0xC2 }, + { 0x68, 0x14 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index e73f4de71..2b13d9972 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -1594,14 +1594,17 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetConeAngles // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetConeAngles, 4134, 11, +OOVPA_XREF(CDirectSoundBuffer_SetConeAngles, 4134, 12, - XREF_DSBUFFERSETCONEANGLES, + XREF_CDirectSoundBuffer_SetConeAngles, XRefOne) // CDirectSoundBuffer_SetConeAngles+0x39 : call [CDirectSoundVoice::SetConeAngles] XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetConeAngles ), + // CDirectSoundBuffer_SetConeAngles+0x00 : push esi + { 0x00, 0x56 }, + // CDirectSoundBuffer_SetConeAngles+0x21 : mov eax, 80004005h { 0x22, 0x05 }, { 0x23, 0x40 }, @@ -1618,7 +1621,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetConeAngles, 4134, 11, { 0x54, 0x10 }, { 0x55, 0x00 } OOVPA_END; - +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer_SetConeAngles // ****************************************************************** @@ -1628,7 +1631,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeAngles, 4134, 10, XRefOne) // IDirectSoundBuffer_SetConeAngles+0x1C : call [CDirectSoundBuffer::SetConeAngles] - XREF_ENTRY( 0x1D, XREF_DSBUFFERSETCONEANGLES ), + XREF_ENTRY( 0x1D, XREF_CDirectSoundBuffer_SetConeAngles ), // IDirectSoundBuffer_SetConeAngles+0x04 : mov eax, [esp+4+arg_0] { 0x04, 0x8B }, @@ -1645,7 +1648,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeAngles, 4134, 10, { 0x22, 0x10 }, { 0x23, 0x00 } OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundVoice::SetConeOrientation // ****************************************************************** @@ -1796,7 +1799,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetPosition, 4134, 8, - XREF_DSVOICESETPOSITION, + XREF_CDirectSoundVoice_SetPosition, XRefZero) // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] @@ -1823,7 +1826,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetPosition, 4134, 9, XRefOne) // CDirectSoundBuffer_SetPosition+0x49 : call [CDirectSoundVoice::SetPosition] - XREF_ENTRY( 0x4A, XREF_DSVOICESETPOSITION ), + XREF_ENTRY( 0x4A, XREF_CDirectSoundVoice_SetPosition ), // CDirectSoundBuffer_SetPosition+0x2B : fld [ebp+arg_C] { 0x2B, 0xD9 }, @@ -1843,12 +1846,12 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetPosition // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetPosition, 4134, 9, +OOVPA_XREF(CDirectSoundStream_SetPosition, 4134, 11, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetPosition, XRefOne) - XREF_ENTRY( 0x4E, XREF_DSVOICESETPOSITION ), + XREF_ENTRY( 0x4E, XREF_CDirectSoundVoice_SetPosition ), { 0x00, 0x55 }, { 0x0F, 0x00 }, @@ -1858,6 +1861,9 @@ OOVPA_XREF(CDirectSoundStream_SetPosition, 4134, 9, { 0x39, 0xEC }, { 0x58, 0x68 }, { 0x63, 0x8B }, + + { 0x68, 0xC2 }, + { 0x69, 0x14 }, OOVPA_END; // ****************************************************************** @@ -1865,7 +1871,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetVelocity, 4134, 8, - XREF_DSVOICESETVELOCITY, + XREF_CDirectSoundVoice_SetVelocity, XRefZero) // CDirectSoundVoice_SetVelocity+0x0F : mov edx, [ebp+arg_4] @@ -1892,7 +1898,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 4134, 9, XRefOne) // CDirectSoundBuffer_SetVelocity+0x49 : call [CDirectSoundVoice::SetVelocity] - XREF_ENTRY( 0x4A, XREF_DSVOICESETVELOCITY ), + XREF_ENTRY( 0x4A, XREF_CDirectSoundVoice_SetVelocity ), // CDirectSoundBuffer_SetVelocity+0x2B : fld [ebp+arg_C] { 0x2B, 0xD9 }, @@ -1912,12 +1918,12 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetVelocity // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetVelocity, 4134, 9, +OOVPA_XREF(CDirectSoundStream_SetVelocity, 4134, 11, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetVelocity, XRefOne) - XREF_ENTRY( 0x4E, XREF_DSVOICESETVELOCITY ), + XREF_ENTRY( 0x4E, XREF_CDirectSoundVoice_SetVelocity ), { 0x00, 0x55 }, { 0x0F, 0x00 }, @@ -1927,6 +1933,9 @@ OOVPA_XREF(CDirectSoundStream_SetVelocity, 4134, 9, { 0x35, 0x83 }, { 0x40, 0x45 }, { 0x63, 0x8B }, + + { 0x68, 0xC2 }, + { 0x69, 0x14 }, OOVPA_END; // ****************************************************************** @@ -2175,7 +2184,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetAllParameters, 4134, 8, { 0x40, 0x68 }, { 0x4B, 0x8B }, OOVPA_END; - +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer_SetAllParameters // ****************************************************************** @@ -2195,7 +2204,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetAllParameters, 4134, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; - +#endif // ****************************************************************** // * CDirectSoundStream_SetAllParameters // ****************************************************************** @@ -3110,7 +3119,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), @@ -3141,7 +3150,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), // Use that for now. Okay, it's your call pal... + REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index e3808a458..36286f129 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -450,7 +450,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetPosition, 4627, 8, - XREF_DSVOICESETPOSITION, + XREF_CDirectSoundVoice_SetPosition, XRefZero) // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] @@ -1576,7 +1576,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), @@ -1612,7 +1612,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), // Use that for now. Okay, it's your call pal... + REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 82325d97c..200e635fe 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -155,7 +155,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), @@ -193,7 +193,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), // Use that for now. Okay, it's your call pal... + REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetAllParameters, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_Pause, 4831, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index fa252df1d..878140585 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -515,12 +515,12 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 0f2709665..f0d2f0fcc 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -480,7 +480,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetPosition, 5344, 8, - XREF_DSVOICESETPOSITION, + XREF_CDirectSoundVoice_SetPosition, XRefZero) // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] @@ -503,7 +503,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetVelocity, 5344, 8, - XREF_DSVOICESETVELOCITY, + XREF_CDirectSoundVoice_SetVelocity, XRefZero) // CDirectSoundVoice_SetVelocity+0x0F : mov edx, [ebp+arg_4] @@ -1028,7 +1028,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOutsideVolume, 4039, PATCH), @@ -1037,7 +1037,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeAngles, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 0ae11919b..50ebf433d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -808,7 +808,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetPosition, 5558, 7, - XREF_DSVOICESETPOSITION, + XREF_CDirectSoundVoice_SetPosition, XRefZero) { 0x09, 0x8B }, @@ -828,7 +828,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetPosition, 5558, 9, XREF_CDirectSoundBuffer_SetPosition, XRefOne) - XREF_ENTRY( 0x4A, XREF_DSVOICESETPOSITION ), + XREF_ENTRY( 0x4A, XREF_CDirectSoundVoice_SetPosition ), { 0x0F, 0x00 }, { 0x18, 0x0B }, @@ -864,7 +864,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetVelocity, 5558, 7, - XREF_DSVOICESETVELOCITY, + XREF_CDirectSoundVoice_SetVelocity, XRefZero) { 0x09, 0x8B }, @@ -884,7 +884,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetVelocity, 5558, 9, XREF_CDirectSoundBuffer_SetVelocity, XRefOne) - XREF_ENTRY( 0x4A, XREF_DSVOICESETVELOCITY ), + XREF_ENTRY( 0x4A, XREF_CDirectSoundVoice_SetVelocity ), { 0x0F, 0x00 }, { 0x18, 0x0B }, @@ -1747,7 +1747,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 5558, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index b2c045715..66245fbbc 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -608,7 +608,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Lock, 5558, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index b8e7db1e1..40073ea21 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -233,7 +233,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 5558, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 006308b3b..3207c93ea 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -159,8 +159,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3911, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3911, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetAllParameters, XREF, 3911, 4039, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetConeAngles, XREF, 3911, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetConeOrientation, XREF, 3911, 4039, 4134, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetConeOutsideVolume, XREF, 3911, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetDistanceFactor, XREF, 4134, 4361, 4627, 5344, 5558), @@ -191,9 +191,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928), REGISTER_OOVPAS(CDirectSoundBuffer_Play, XREF, 3911, 4039, 4134, 4361, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3911, 4361, 5788), - REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4134), + REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3911, 4039, 4134, 5558, 5788), - REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetConeAngles, XREF, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOrientation, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetConeOutsideVolume, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134, 5558, 5788), @@ -252,10 +252,10 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 3911, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 3911, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffFactor, PATCH, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3911, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetVelocity, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetVolume, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSound_CommitDeferredSettings, XREF, 3911, 4039, 4134, 5344, 5558, 5788), @@ -290,9 +290,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911, 4361, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 3911, 4134), // Use that for now. Okay, it's your call pal... (from 4134's comment) + REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetBufferData, PATCH, 3911, 4134, 5558, 5788), - REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3911, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3911, 4039, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3911, 4134, 5558, 5788), From e6ffcdb85d778812937c7c6297fd6c1beadc1d7a Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 4 Oct 2017 14:50:57 -0500 Subject: [PATCH 106/146] Another More Adding to DSound 4039 Database - 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... --- src/CxbxKrnl/HLEDataBase.h | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 225 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 31 ++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 20 +- 8 files changed, 258 insertions(+), 30 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index ce2e28f6d..c8d14fed2 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -239,6 +239,7 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_Lock, XREF_CDirectSoundVoice_SetHeadroom, XREF_CDirectSoundBuffer_SetHeadroom, + XREF_CDirectSoundStream_SetFrequency, XREF_CDirectSoundBuffer_SetFrequency, XREF_CDirectSoundVoice_SetFrequency, XREF_CMcpxVoiceClient_Set3dMaxDistance, @@ -282,7 +283,6 @@ enum XRefDataBaseOffset XREF_DSVOICESETROLLOFFFACTOR, XREF_DSVOICESETDISTANCEFACTOR, XREF_CDirectSoundVoice_SetConeAngles, - XREF_DSVOICESETCONEORIENTATION, XREF_CDirectSoundVoice_SetDopplerFactor, XREF_DSVOICESETI3DL2SOURCE, XREF_CMcpxVoiceClient_Set3dMode, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index e40cde9a4..41954d624 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -5486,7 +5486,7 @@ OOVPA_XREF(IDirectSoundStream_SetConeOutsideVolume, 3911, 2, OOVPA_END; // ****************************************************************** -// * IDirectSoundStream_SetConeOutsideVolume +// * IDirectSoundStream_SetMode // ****************************************************************** OOVPA_XREF(IDirectSoundStream_SetMode, 3911, 2, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 83d3311d2..0cb6991e2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -2218,6 +2218,7 @@ OOVPA_XREF(CDirectSoundVoice_SetFrequency, 3936, 9, { 0x41, 0x08 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetFrequency // ****************************************************************** @@ -2244,6 +2245,7 @@ OOVPA_XREF(CDirectSoundStream_SetFrequency, 3936, 10, { 0x11, 0xC2 }, { 0x12, 0x08 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetFrequency @@ -4069,7 +4071,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPosition, 3911, PATCH), REGISTER_OOVPA(XAudioCalculatePitch, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 3911, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dMode, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 3911, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index cc172487d..39ccbf22a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -1927,7 +1927,7 @@ OOVPA_XREF(CDirectSoundVoice_SetMaxDistance, 4039, 14, // CDirectSoundVoice_SetMaxDistance+0x0B : mov [eax+10h], edx { 0x0B, 0x89 }, { 0x0C, 0x90 }, - { 0x0D, 0x08 }, // SetMaxDistance 0x0C VS SetMinDistance 0x08 + { 0x0D, 0x0C }, // SetMaxDistance 0x0C VS SetMinDistance 0x08 // CDirectSoundVoice_SetMaxDistance+0x14 : or dword ptr [eax+138h], 4 { 0x14, 0x83 }, @@ -1988,7 +1988,7 @@ OOVPA_XREF(CDirectSoundVoice_SetMinDistance, 4039, 14, // CDirectSoundVoice_SetMinDistance+0x0B : mov [eax+10h], edx { 0x0B, 0x89 }, { 0x0C, 0x90 }, - { 0x0D, 0x0C }, // SetMaxDistance 0x0C VS SetMinDistance 0x08 + { 0x0D, 0x08 }, // SetMaxDistance 0x0C VS SetMinDistance 0x08 // CDirectSoundVoice_SetMinDistance+0x14 : or dword ptr [eax+138h], 4 { 0x14, 0x83 }, @@ -2225,7 +2225,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 4039, 12, - XREF_DSVOICESETCONEORIENTATION, + XREF_CDirectSoundVoice_SetConeOrientation, XRefZero) { 0x05, 0x08 }, @@ -2253,7 +2253,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 4039, 10, XRefOne) // CDirectSoundBuffer_SetConeOrientation+0x49 : call [CDirectSoundVoice::SetConeOrientation] - XREF_ENTRY( 0x49, XREF_DSVOICESETCONEORIENTATION ), + XREF_ENTRY( 0x49, XREF_CDirectSoundVoice_SetConeOrientation ), // CDirectSoundBuffer_SetConeOrientation+0x00 : push ebp { 0x00, 0x55 }, @@ -2714,3 +2714,220 @@ OOVPA_XREF(CDirectSoundStream_SetPosition, 4039, 11, { 0x67, 0xC2 }, { 0x68, 0x14 }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetMode +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetMode, 4039, 11, + + XREF_CDirectSoundStream_SetMode, + XRefOne) + + XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetMode ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + { 0x29, 0x24 }, + { 0x38, 0xE8 }, + { 0x43, 0x68 }, + { 0x4E, 0x8B }, + + { 0x52, 0xC2 }, + { 0x53, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetMaxDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 4039, 11, + + XREF_CDirectSoundStream_SetMaxDistance, + XRefOne) + + XREF_ENTRY( 0x3D, XREF_CDirectSoundVoice_SetMaxDistance ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + { 0x29, 0x24 }, + { 0x3C, 0xE8 }, + { 0x47, 0x68 }, + { 0x52, 0x8B }, + + { 0x56, 0xC2 }, + { 0x57, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetMinDistance +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetMinDistance, 4039, 11, + + XREF_CDirectSoundStream_SetMinDistance, + XRefOne) + + XREF_ENTRY( 0x3D, XREF_CDirectSoundVoice_SetMinDistance ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + { 0x29, 0x24 }, + { 0x3C, 0xE8 }, + { 0x47, 0x68 }, + { 0x52, 0x8B }, + + { 0x56, 0xC2 }, + { 0x57, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOutsideVolume +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 4039, 9, + + XREF_CDirectSoundStream_SetConeOutsideVolume, + XRefOne) + + XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetConeOutsideVolume ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x20, 0xB8 }, + { 0x23, 0x00 }, + { 0x38, 0xE8 }, + { 0x3D, 0x85 }, + { 0x4E, 0x8B }, + { 0x52, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetConeOrientation +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 4039, 9, + + XREF_CDirectSoundStream_SetConeOrientation, + XRefOne) + + XREF_ENTRY( 0x4D, XREF_CDirectSoundVoice_SetConeOrientation ), + + { 0x00, 0x55 }, + { 0x0F, 0x00 }, + { 0x16, 0x74 }, + { 0x23, 0xB8 }, + { 0x29, 0x3B }, + { 0x38, 0xEC }, + { 0x43, 0x24 }, + { 0x4C, 0xE8 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetConeAngles +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetConeAngles, 4039, 9, + + XREF_CDirectSoundStream_SetConeAngles, + XRefOne) + + XREF_ENTRY( 0x3D, XREF_CDirectSoundVoice_SetConeAngles ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + + { 0x2F, 0x18 }, + { 0x32, 0x04 }, + { 0x36, 0x18 }, + + { 0x3C, 0xE8 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetAllParameters +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetAllParameters, 4039, 9, + + XREF_CDirectSoundStream_SetAllParameters, + XRefOne) + + XREF_ENTRY( 0x39, XREF_CDirectSoundVoice_SetAllParameters ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + { 0x29, 0x24 }, + { 0x38, 0xE8 }, + { 0x43, 0x68 }, + { 0x4E, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetOutputBuffer +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetOutputBuffer, 4039, 9, + + XREF_CDirectSoundStream_SetOutputBuffer, + XRefOne) + + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetOutputBuffer ), + + { 0x00, 0x56 }, + + { 0x0C, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + { 0x29, 0x24 }, + { 0x34, 0xE8 }, + { 0x3F, 0x68 }, + { 0x4A, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::SetFrequency +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetFrequency, 4039, 12, + + XREF_CDirectSoundStream_SetFrequency, + XRefOne) + + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetFrequency ), + + { 0x00, 0x56 }, + + { 0x0C, 0x00 }, + // je XXXXXXXX + 0x0B + { 0x13, 0x74 }, + { 0x14, 0x0B }, + // jmp XXXXXXXX + 0x26 + { 0x25, 0xEB }, + { 0x26, 0x26 }, + + { 0x29, 0x24 }, + // je XXXXXXXX + 0x0B + { 0x3D, 0x74 }, + { 0x3E, 0x0B }, + + // ret 8 + { 0x4E, 0xC2 }, + { 0x4F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetFrequency +// ****************************************************************** +OOVPA_XREF(IDirectSoundStream_SetFrequency, 4039, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetFrequency+0x00 : jmp [CDirectSoundStream_SetFrequency] + XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetFrequency ), + + // IDirectSoundStream_SetFrequency+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 2b13d9972..a3ec9c163 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -1263,9 +1263,9 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMaxDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 4134, 9, +OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 4134, 11, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetMaxDistance, XRefOne) XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetMaxDistance ), @@ -1278,6 +1278,9 @@ OOVPA_XREF(CDirectSoundStream_SetMaxDistance, 4134, 9, { 0x3D, 0xE8 }, { 0x48, 0x68 }, { 0x53, 0x8B }, + + { 0x57, 0xC2 }, + { 0x58, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1366,9 +1369,9 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMinDistance // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMinDistance, 4134, 9, +OOVPA_XREF(CDirectSoundStream_SetMinDistance, 4134, 11, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetMinDistance, XRefOne) XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetMinDistance ), @@ -1381,6 +1384,9 @@ OOVPA_XREF(CDirectSoundStream_SetMinDistance, 4134, 9, { 0x3D, 0xE8 }, { 0x48, 0x68 }, { 0x53, 0x8B }, + + { 0x57, 0xC2 }, + { 0x58, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1654,7 +1660,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 4134, 8, - XREF_DSVOICESETCONEORIENTATION, + XREF_CDirectSoundVoice_SetConeOrientation, XRefZero) // CDirectSoundVoice_SetConeOrientation+0x0F : mov edx, [ebp+arg_4] @@ -1681,7 +1687,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetConeOrientation, 4134, 9, XRefOne) // CDirectSoundBuffer_SetConeOrientation+0x49 : call [CDirectSoundVoice::SetConeOrientation] - XREF_ENTRY( 0x4A, XREF_DSVOICESETCONEORIENTATION ), + XREF_ENTRY( 0x4A, XREF_CDirectSoundVoice_SetConeOrientation ), // CDirectSoundBuffer_SetConeOrientation+0x2B : fld [ebp+arg_C] { 0x2B, 0xD9 }, @@ -1706,7 +1712,7 @@ OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 4134, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x4E, XREF_DSVOICESETCONEORIENTATION ), + XREF_ENTRY( 0x4E, XREF_CDirectSoundVoice_SetConeOrientation ), { 0x00, 0x55 }, { 0x0F, 0x00 }, @@ -1779,7 +1785,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetConeOutsideVolume, 4134, 9, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetConeOutsideVolume, XRefOne) XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetConeOutsideVolume ), @@ -2210,7 +2216,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetAllParameters, 4134, 9, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetAllParameters, XRefOne) XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetAllParameters ), @@ -2310,9 +2316,9 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream_SetMode // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetMode, 4134, 9, +OOVPA_XREF(CDirectSoundStream_SetMode, 4134, 11, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetMode, XRefOne) XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetMode ), @@ -2325,6 +2331,9 @@ OOVPA_XREF(CDirectSoundStream_SetMode, 4134, 9, { 0x39, 0xE8 }, { 0x44, 0x68 }, { 0x4F, 0x8B }, + + { 0x53, 0xC2 }, + { 0x54, 0x0C }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 36286f129..4383b3113 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1088,7 +1088,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetOutputBuffer, 4627, 8, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetOutputBuffer, XRefOne) XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetOutputBuffer ), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index f0d2f0fcc..d00e66c5e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -857,7 +857,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetConeOrientation, 5344, 8, - XREF_DSVOICESETCONEORIENTATION, + XREF_CDirectSoundVoice_SetConeOrientation, XRefZero) // CDirectSoundVoice_SetConeOrientation+0x0F : mov edx, [ebp+arg_4] diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 3207c93ea..82e38430b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -233,24 +233,24 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4361, 5558), REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911), - REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3911, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3911, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911, 4039), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242), - REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3911, 3936, 5233), + REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3911, 4039, 5233), REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3911, 3936, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3911, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3911, 4134, 5344), + REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3911, 4039, 4134, 5344), REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3911, 3936, 4627, 5233, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. - REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 3911, 4627), + REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 3911, 4039, 4627), REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558), @@ -334,7 +334,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetLFO, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetFilter, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetFrequency, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetFrequency, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundStream_SetHeadroom, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetI3DL2Source, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, UNPATCHED, 3911), From cc46eff896de170c813cd5e37d7ba5c3eb42d62a Mon Sep 17 00:00:00 2001 From: jarupxx Date: Tue, 3 Oct 2017 06:39:10 +0900 Subject: [PATCH 107/146] Initialize commits of HLEDB 2v Xgraphics --- build/win32/Cxbx.vcxproj | 1 + build/win32/Cxbx.vcxproj.filters | 3 ++ src/CxbxKrnl/HLEDataBase.cpp | 19 ++----- src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl | 75 +++++++++++++++++++++++++++ src/CxbxKrnl/HLEIntercept.cpp | 2 + 5 files changed, 86 insertions(+), 14 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index 355645ac8..b60243436 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -404,6 +404,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 1116505e9..be097bf2e 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -848,6 +848,9 @@ HLEDatabase\XG + + HLEDatabase\XG + HLEDatabase\XOnline diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 637246fd9..49578b36d 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -70,17 +70,7 @@ const char *Sec_XNET = "XNET"; #include "HLEDataBase/Xapi.OOVPA.inl" #include "HLEDataBase/D3D8.OOVPA.inl" #include "HLEDataBase/DSound.OOVPA.inl" -#include "HLEDataBase/XG.1.0.3911.inl" -#include "HLEDataBase/XG.1.0.4034.inl" -#include "HLEDataBase/XG.1.0.4361.inl" -#include "HLEDataBase/XG.1.0.4432.inl" -#include "HLEDataBase/XG.1.0.4627.inl" -#include "HLEDataBase/XG.1.0.5028.inl" -#include "HLEDataBase/XG.1.0.5233.inl" -#include "HLEDataBase/XG.1.0.5344.inl" -#include "HLEDataBase/XG.1.0.5558.inl" -#include "HLEDataBase/XG.1.0.5788.inl" -#include "HLEDataBase/XG.1.0.5849.inl" +#include "HLEDataBase/XG.OOVPA.inl" #include "HLEDataBase/XNet.1.0.3911.inl" #include "HLEDataBase/XNet.1.0.4627.inl" #include "HLEDataBase/XOnline.1.0.4361.inl" @@ -155,6 +145,7 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_XACTENG, XactEng, 5788), HLE_ENTRY(Lib_XACTENG, XactEng, 5849), #endif +#if ENABLE_LEGACY_XGRAPHC_DB HLE_ENTRY(Lib_XGRAPHC, XG, 3911), HLE_ENTRY(Lib_XGRAPHC, XG, 4034), HLE_ENTRY(Lib_XGRAPHC, XG, 4361), @@ -166,7 +157,7 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_XGRAPHC, XG, 5558), HLE_ENTRY(Lib_XGRAPHC, XG, 5788), HLE_ENTRY(Lib_XGRAPHC, XG, 5849), - +#endif HLE_ENTRY(Lib_XNETS, XNet, 3911), HLE_ENTRY(Lib_XNETS, XNet, 4627), @@ -207,8 +198,8 @@ const HLEDataV2 HLEDataBaseV2[] = { // { Lib_XAPILIB,{ Sec_text, Sec_XPP }, XAPILIB_OOVPAV2, XAPILIB_OOVPA_SIZEV2 }, - // - //{ Lib_XGRAPHC,{ Sec_XGRPH }, XGRAPHC_OOVPAV2, XGRAPHC_OOVPA_SIZEV2 }, + // Support inline functions in .text section + { Lib_XGRAPHC,{ Sec_text, Sec_XGRPH }, XGRAPHC_OOVPAV2, XGRAPHC_OOVPA_SIZEV2 }, // //{ Lib_XONLINE,{ Sec_XONLINE }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, diff --git a/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl new file mode 100644 index 000000000..e330af410 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl @@ -0,0 +1,75 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o oP"``"Yo _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->HLEDatabase->XG.OOVPA.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not write to the Free Software Foundation Inc., +// * 59 Temple Place - Suite 330 Bostom MA 02111-1307 USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +#ifndef XGRAPHC_OOVPA_INL +#define XGRAPHC_OOVPA_INL + +#include "../OOVPA.h" + +#include "HLEDataBase/XG.1.0.3911.inl" +#include "HLEDataBase/XG.1.0.4034.inl" +#include "HLEDataBase/XG.1.0.4361.inl" +#include "HLEDataBase/XG.1.0.4432.inl" +#include "HLEDataBase/XG.1.0.4627.inl" +#include "HLEDataBase/XG.1.0.5028.inl" +#include "HLEDataBase/XG.1.0.5233.inl" +#include "HLEDataBase/XG.1.0.5344.inl" +#include "HLEDataBase/XG.1.0.5558.inl" +#include "HLEDataBase/XG.1.0.5788.inl" +#include "HLEDataBase/XG.1.0.5849.inl" + +// ****************************************************************** +// * XGRAPHC_OOVPA +// ****************************************************************** +OOVPATable XGRAPHC_OOVPAV2[] = { + + REGISTER_OOVPAS(XFONT_OpenBitmapFontFromMemory, XREF, 4361), + REGISTER_OOVPAS(XGCompressRect, XREF, 3911), + REGISTER_OOVPAS(XGIsSwizzledFormat, PATCH, 3911), + REGISTER_OOVPAS(XGSetIndexBufferHeader, XREF, 3911, 4361), + REGISTER_OOVPAS(XGSetTextureHeader, PATCH, 3911), + REGISTER_OOVPAS(XGSetVertexBufferHeader, XREF, 3911, 4361), + REGISTER_OOVPAS(XGSwizzleBox, PATCH, 3911), + // REGISTER_OOVPAS(XGSwizzleRect, UNPATCHED, 3911), // TODO : Uncomment + REGISTER_OOVPAS(XGUnswizzleBox, UNPATCHED, 3911), + // REGISTER_OOVPAS(XGUnswizzleRect, UNPATCHED, 3911), // TODO : Uncomment + REGISTER_OOVPAS(XGWriteSurfaceOrTextureToXPR, PATCH, 3911), +}; + +// ****************************************************************** +// * XGRAPHC_OOVPA_SIZE +// ****************************************************************** +uint32 XGRAPHC_OOVPA_SIZEV2 = sizeof(XGRAPHC_OOVPAV2); + +#endif diff --git a/src/CxbxKrnl/HLEIntercept.cpp b/src/CxbxKrnl/HLEIntercept.cpp index 5e206505f..3320b437e 100644 --- a/src/CxbxKrnl/HLEIntercept.cpp +++ b/src/CxbxKrnl/HLEIntercept.cpp @@ -383,10 +383,12 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader) if (bLLE_GPU) continue; +#if ENABLE_LEGACY_XGRAPHC_DB if (BuildVersion == 3944) BuildVersion = 3911; if (OrigBuildVersion == 4531) BuildVersion = 4361; +#endif } if (strcmp(LibraryName.c_str(), Lib_XACTENG) == 0) { From fd1f7cea5c15c66dbeba1b66bce42d1212f4fbb1 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Wed, 4 Oct 2017 21:31:59 +0900 Subject: [PATCH 108/146] Moved OOVPAs lowered * 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) --- build/win32/Cxbx.vcxproj | 1 + build/win32/Cxbx.vcxproj.filters | 3 + src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl | 27 +++++++- src/CxbxKrnl/HLEDataBase/XG.1.0.4134.inl | 81 ++++++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl | 9 ++- src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl | 4 +- src/CxbxKrnl/HLEDataBase/XG.1.0.4627.inl | 4 +- src/CxbxKrnl/HLEDataBase/XG.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/XG.1.0.5233.inl | 4 +- src/CxbxKrnl/HLEDataBase/XG.1.0.5344.inl | 4 +- src/CxbxKrnl/HLEDataBase/XG.1.0.5558.inl | 4 +- src/CxbxKrnl/HLEDataBase/XG.1.0.5788.inl | 4 +- src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl | 4 +- src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl | 21 ++++-- 14 files changed, 148 insertions(+), 26 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/XG.1.0.4134.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index b60243436..5fe56c5f2 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -395,6 +395,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index be097bf2e..e4aecf01c 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -821,6 +821,9 @@ HLEDatabase\XG + + HLEDatabase\XG + HLEDatabase\XG diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl index 2f22766fc..26be78802 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.3911.inl @@ -76,7 +76,6 @@ OOVPA_NO_XREF(XGSwizzleBox, 3911, 8) { 0xFE, 0x45 }, OOVPA_END; -/* Leave unpatched // ****************************************************************** // * XGUnswizzleRect // ****************************************************************** @@ -91,7 +90,6 @@ OOVPA_NO_XREF(XGUnswizzleRect, 3911, 8) { 0xDE, 0x89 }, { 0xFE, 0x60 }, OOVPA_END; -*/ // ****************************************************************** // * XGWriteSurfaceOrTextureToXPR @@ -152,6 +150,29 @@ OOVPA_NO_XREF(XGUnswizzleBox, 3911, 8) { 0xFE, 0x20 }, OOVPA_END; +// ****************************************************************** +// * XGCompressRect +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(XGCompressRect, 3911, 12) + + { 0x00, 0x55 }, + { 0x01, 0x8D }, + + { 0x14, 0x83 }, + { 0x15, 0x7D }, + { 0x16, 0x6C }, + { 0x17, 0x00 }, + { 0x18, 0x56 }, + { 0x19, 0x57 }, + { 0x1A, 0xC7 }, + { 0x1B, 0x45 }, + + { 0xC0, 0x7E }, + { 0xC1, 0x01 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * XGCompressRect // ****************************************************************** @@ -166,7 +187,7 @@ OOVPA_NO_XREF(XGCompressRect, 3911, 8) { 0xBE, 0x80 }, { 0xDA, 0xAF }, OOVPA_END; - +#endif // ****************************************************************** // * XGSetIndexBufferHeader // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4134.inl new file mode 100644 index 000000000..29b80426c --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4134.inl @@ -0,0 +1,81 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4134.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XGSetVertexBufferHeader +// ****************************************************************** +//Generic OOVPA as of 4134 and newer. +OOVPA_NO_XREF(XGSetVertexBufferHeader, 4134, 15) + + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x07, 0x18 }, + { 0x0A, 0x08 }, + + { 0x0C, 0xC7 }, + { 0x0D, 0x00 }, + { 0x0E, 0x01 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, // XGSetVertexBufferHeader 0x00 vs XGSetIndexBufferHeader 0x01 + { 0x11, 0x00 }, + { 0x12, 0x89 }, + { 0x13, 0x48 }, + { 0x14, 0x04 }, + { 0x15, 0xC2 }, + { 0x16, 0x18 }, +OOVPA_END; + +// ****************************************************************** +// * XGSetIndexBufferHeader +// ****************************************************************** +//Generic OOVPA as of 4134 and newer. +OOVPA_NO_XREF(XGSetIndexBufferHeader, 4134, 15) + + { 0x01, 0x44 }, + { 0x04, 0x8B }, + { 0x07, 0x18 }, + { 0x0A, 0x08 }, + + { 0x0C, 0xC7 }, + { 0x0D, 0x00 }, + { 0x0E, 0x01 }, + { 0x0F, 0x00 }, + { 0x10, 0x01 }, // XGSetVertexBufferHeader 0x00 vs XGSetIndexBufferHeader 0x01 + { 0x11, 0x00 }, + { 0x12, 0x89 }, + { 0x13, 0x48 }, + { 0x14, 0x04 }, + { 0x15, 0xC2 }, + { 0x16, 0x18 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl index c334b2c5d..ae1f6e6d6 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4361.inl @@ -86,6 +86,7 @@ OOVPA_NO_XREF(XGSwizzleRect, 4361, 10) { 0xED, 0x0B }, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * XGSetVertexBufferHeader // ****************************************************************** @@ -100,6 +101,7 @@ OOVPA_NO_XREF(XGSetVertexBufferHeader, 4361, 8) // 4134 { 0x13, 0x48 }, { 0x16, 0x18 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * XGCompressRect @@ -116,7 +118,7 @@ OOVPA_NO_XREF(XGCompressRect, 4361, 8) { 0xFE, 0x8B }, OOVPA_END; #endif - +#if 0 // Moved to 4134 // ****************************************************************** // * XGSetIndexBufferHeader // ****************************************************************** @@ -138,6 +140,7 @@ OOVPA_NO_XREF(XGSetIndexBufferHeader, 4361, 13) { 0x16, 0x18 }, OOVPA_END; +#endif // ****************************************************************** // * XFONT_OpenBitmapFontFromMemory @@ -165,8 +168,8 @@ OOVPATable XG_4361[] = { REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), - REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), - REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), + REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF), + REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl index 6c08bbec9..39772642c 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl @@ -45,8 +45,8 @@ OOVPATable XG_4432[] = { REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), - REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), - REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), + REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF), + REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4627.inl index 33c8fafe0..29faf2fed 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4627.inl @@ -83,8 +83,8 @@ OOVPATable XG_4627[] = { REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), - REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), - REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), + REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF), + REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.5028.inl index fb8dad14d..2576e8db7 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.5028.inl @@ -42,8 +42,8 @@ OOVPATable XG_5028[] = { // REGISTER_OOVPA(XGUnswizzleRect, 3911, DISABLED), // TODO : Uncomment REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), - REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), - REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), + REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF), + REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.5233.inl index 2300f9c74..94be2358d 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.5233.inl @@ -43,8 +43,8 @@ OOVPATable XG_5233[] = { REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), - REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), - REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), + REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF), + REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.5344.inl index 17bcfc828..ac32843d0 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.5344.inl @@ -43,8 +43,8 @@ OOVPATable XG_5344[] = { REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), - REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), - REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), + REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF), + REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.5558.inl index 3ba2263a6..60453b26d 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.5558.inl @@ -73,8 +73,8 @@ OOVPATable XG_5558[] = { REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), - REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), - REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), + REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF), + REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.5788.inl index 12de2621d..eb35a12a9 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.5788.inl @@ -60,8 +60,8 @@ OOVPATable XG_5788[] = { REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), - REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), - REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), + REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF), + REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl index 8169dbd0a..9b9fbe55b 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl @@ -43,8 +43,8 @@ OOVPATable XG_5849[] = { REGISTER_OOVPA(XGSwizzleBox, 3911, PATCH), REGISTER_OOVPA(XGWriteSurfaceOrTextureToXPR, 3911, PATCH), REGISTER_OOVPA(XGSetTextureHeader, 3911, PATCH), - REGISTER_OOVPA(XGSetVertexBufferHeader, 4361, XREF), - REGISTER_OOVPA(XGSetIndexBufferHeader, 4361, XREF), + REGISTER_OOVPA(XGSetVertexBufferHeader, 4134, XREF), + REGISTER_OOVPA(XGSetIndexBufferHeader, 4134, XREF), REGISTER_OOVPA(XGCompressRect, 3911, XREF), REGISTER_OOVPA(XGUnswizzleBox, 3911, DISABLED), REGISTER_OOVPA(XFONT_OpenBitmapFontFromMemory, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl index e330af410..91b62125b 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl @@ -32,6 +32,18 @@ // * // ****************************************************************** +// TODO: Known Xgraphics OOVPA issue list +// * 4034 is not verified each OOVPA. +// * Following OOVPA revision are not verified +// * XGCompressRect (4242, 4721, 5028, 5120) +// * XGSetIndexBufferHeader (4039) +// * XGSetVertexBufferHeader (4039) +// * XGSwizzleBox (4242) +// * XGUnswizzleBox (4039) +// * XGWriteSurfaceOrTextureToXPR (4242, 5028) +// NOTE: Known Xgraphics OOVPA not included in initial revision. +// * XFONT_OpenBitmapFontFromMemory (4361) + #ifndef XGRAPHC_OOVPA_INL #define XGRAPHC_OOVPA_INL @@ -39,6 +51,7 @@ #include "HLEDataBase/XG.1.0.3911.inl" #include "HLEDataBase/XG.1.0.4034.inl" +#include "HLEDataBase/XG.1.0.4134.inl" #include "HLEDataBase/XG.1.0.4361.inl" #include "HLEDataBase/XG.1.0.4432.inl" #include "HLEDataBase/XG.1.0.4627.inl" @@ -57,13 +70,13 @@ OOVPATable XGRAPHC_OOVPAV2[] = { REGISTER_OOVPAS(XFONT_OpenBitmapFontFromMemory, XREF, 4361), REGISTER_OOVPAS(XGCompressRect, XREF, 3911), REGISTER_OOVPAS(XGIsSwizzledFormat, PATCH, 3911), - REGISTER_OOVPAS(XGSetIndexBufferHeader, XREF, 3911, 4361), + REGISTER_OOVPAS(XGSetIndexBufferHeader, XREF, 3911, 4134/*4361*/), REGISTER_OOVPAS(XGSetTextureHeader, PATCH, 3911), - REGISTER_OOVPAS(XGSetVertexBufferHeader, XREF, 3911, 4361), + REGISTER_OOVPAS(XGSetVertexBufferHeader, XREF, 3911, 4134/*4361*/), REGISTER_OOVPAS(XGSwizzleBox, PATCH, 3911), - // REGISTER_OOVPAS(XGSwizzleRect, UNPATCHED, 3911), // TODO : Uncomment + REGISTER_OOVPAS(XGSwizzleRect, UNPATCHED, 3911), REGISTER_OOVPAS(XGUnswizzleBox, UNPATCHED, 3911), - // REGISTER_OOVPAS(XGUnswizzleRect, UNPATCHED, 3911), // TODO : Uncomment + REGISTER_OOVPAS(XGUnswizzleRect, UNPATCHED, 3911), REGISTER_OOVPAS(XGWriteSurfaceOrTextureToXPR, PATCH, 3911), }; From a33a0f9a6a04f8d9cd8dc9f0df6818b93f67f2fa Mon Sep 17 00:00:00 2001 From: jarupxx Date: Wed, 4 Oct 2017 21:50:25 +0900 Subject: [PATCH 109/146] Added XGRAPHCL library notes --- src/CxbxKrnl/HLEDataBase.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 49578b36d..bf9db36e6 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -201,6 +201,9 @@ const HLEDataV2 HLEDataBaseV2[] = { // Support inline functions in .text section { Lib_XGRAPHC,{ Sec_text, Sec_XGRPH }, XGRAPHC_OOVPAV2, XGRAPHC_OOVPA_SIZEV2 }, + // Cannot support LTCG in HLE + //{ Lib_XGRAPHCL,{ Sec_XGRPH }, XGRAPHC_OOVPAV2, XGRAPHC_OOVPA_SIZEV2 }, + // //{ Lib_XONLINE,{ Sec_XONLINE }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, From 3e826cb4e6c7b1aa23ceff16b706b87030dc8950 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 5 Oct 2017 13:15:06 -0500 Subject: [PATCH 110/146] Change XGCompressRect to Unpatched Since XGCompressRect is unknown of needing to be patch. I'm adding a note about this and change to unpatched declaration. --- src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl index 91b62125b..53d8123c2 100644 --- a/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XG.OOVPA.inl @@ -33,6 +33,7 @@ // ****************************************************************** // TODO: Known Xgraphics OOVPA issue list +// * 3922 XGCompressRect is XREF in v1 database, any reason for this? // * 4034 is not verified each OOVPA. // * Following OOVPA revision are not verified // * XGCompressRect (4242, 4721, 5028, 5120) @@ -68,7 +69,7 @@ OOVPATable XGRAPHC_OOVPAV2[] = { REGISTER_OOVPAS(XFONT_OpenBitmapFontFromMemory, XREF, 4361), - REGISTER_OOVPAS(XGCompressRect, XREF, 3911), + REGISTER_OOVPAS(XGCompressRect, UNPATCHED, 3911), // TODO: Do we need to patch this? REGISTER_OOVPAS(XGIsSwizzledFormat, PATCH, 3911), REGISTER_OOVPAS(XGSetIndexBufferHeader, XREF, 3911, 4134/*4361*/), REGISTER_OOVPAS(XGSetTextureHeader, PATCH, 3911), From e36513de0a560f00d9b21281b8e1964c717c0989 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 5 Oct 2017 22:19:40 -0500 Subject: [PATCH 111/146] Another Update to DSound 4039 Database - 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 --- src/CxbxKrnl/HLEDataBase.h | 9 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 39 +++- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 9 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 211 +++++++++++++++++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 25 ++- 9 files changed, 260 insertions(+), 43 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index c8d14fed2..b15b7cd07 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -202,7 +202,7 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_SetBufferData, XREF_CDirectSound_CreateSoundBuffer, XREF_CDirectSound_CreateSoundStream, - XREF_DSSTREAMPAUSE, + XREF_CMcpxStream_Pause, XREF_CDirectSound_SetI3DL2Listener, XREF_CDirectSound_SetMixBinHeadroom, XREF_CMcpxAPU_SetMixBinHeadroom, @@ -230,6 +230,7 @@ enum XRefDataBaseOffset XREF_CMcpxVoiceClient_SetPitch, XREF_CDirectSoundVoice_SetPitch, XREF_CDirectSoundBuffer_SetPitch, + XREF_CDirectSoundStream_SetPitch, XREF_DSBUFFERSETVOLUMEA, XREF_CMcpxVoiceClient_SetVolume, XREF_DSBUFFERSETCURRENTPOSITIONA, @@ -307,8 +308,10 @@ enum XRefDataBaseOffset XREF_CMcpxVoiceClient_SetLFO, XREF_CDirectSoundVoice_SetLFO, XREF_CDirectSoundBuffer_SetLFO, + XREF_CDirectSoundStream_SetLFO, XREF_CDirectSoundVoice_SetVolume, XREF_CDirectSoundBuffer_SetVolume, + XREF_CDirectSoundStream_SetVolume, XREF_CDirectSoundBuffer_SetLoopRegion, XREF_CMcpxBuffer_Play, XREF_CDirectSoundBuffer_PlayEx, @@ -320,6 +323,7 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_Pause, XREF_CMcpxBuffer_GetStatus, XREF_CDirectSoundBuffer_GetStatus, + XREF_CDirectSoundStream_SetEG, XREF_CDirectSoundVoice_SetEG, XREF_CMcpxVoiceClient_SetEG, XREF_CMcpxVoiceClient_SetFilter, @@ -336,7 +340,8 @@ enum XRefDataBaseOffset XREF_CMcpxVoiceClient_Commit3dSettings, XREF_CMcpxVoiceClient_SetI3DL2Source, XREF_CDirectSoundVoice_SetI3DL2Source, - XREF_CDirectSoundStream_SetMixBinVolumes, + XREF_CDirectSoundStream_SetMixBinVolumes_12, + XREF_CDirectSoundStream_SetMixBinVolumes_8, XREF_CDirectSoundStream_SetHeadroom, XREF_CDirectSoundVoice_SetOutputBuffer, XREF_CDirectSoundBuffer_SetOutputBuffer, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 41954d624..963b55908 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -1281,7 +1281,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_12, 3911, 9, - XREF_CDirectSoundStream_SetMixBinVolumes, + XREF_CDirectSoundStream_SetMixBinVolumes_12, XRefOne) XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMixBinVolumes ), @@ -2039,14 +2039,15 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 3911, 10, { 0x1A, 0x08 }, OOVPA_END; -//TODO: Need to create XREF to CMcpxStream_Pause in order strengthen OOVPA chain. // ****************************************************************** // * CDirectSoundStream_Pause // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Pause, 3911, 6, +OOVPA_XREF(CDirectSoundStream_Pause, 3911, 7, XREF_CDirectSoundStream_Pause, - XRefZero) + XRefOne) + + XREF_ENTRY(0x0C, XREF_CMcpxStream_Pause ), { 0x01, 0x44 }, { 0x04, 0xFF }, @@ -5434,7 +5435,7 @@ OOVPA_XREF(IDirectSoundStream_SetMixBinVolumes_12, 3911, 2, XRefOne) // IDirectSoundStream_SetMixBinVolumes_12+0x00 : jmp [CDirectSoundStream_SetMixBinVolumes_12] - XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetMixBinVolumes), + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetMixBinVolumes_12), // IDirectSoundStream_SetMixBinVolumes_12+0x00 : jmp 0x........ { 0x00, 0xE9 }, @@ -5518,6 +5519,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundStream_Pause // ****************************************************************** +// Generic OOVPA as of 3911 and newer OOVPA_XREF(IDirectSoundStream_Pause, 3911, 2, XRefNoSaveIndex, @@ -5529,3 +5531,30 @@ OOVPA_XREF(IDirectSoundStream_Pause, 3911, 2, // IDirectSoundStream_Pause+0x00 : jmp 0x........ { 0x00, 0xE9 }, OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Pause +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Pause, 3911, 12, + + XREF_CMcpxStream_Pause, + XRefZero) + + { 0x00, 0x55 }, + + { 0x16, 0x8B }, + { 0x17, 0x46 }, + + { 0x19, 0x83 }, + { 0x1A, 0xC8 }, + { 0x1B, 0x04 }, + + { 0x27, 0x83 }, + { 0x28, 0xE0 }, + { 0x29, 0xFB }, + + { 0x44, 0xC9 }, + + { 0x45, 0xC2 }, + { 0x46, 0x04 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 0cb6991e2..163604e14 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -2405,7 +2405,7 @@ OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 3936, 10, { 0x3D, 0x08 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetHeadroom // ****************************************************************** @@ -2414,7 +2414,7 @@ OOVPA_XREF(CDirectSoundStream_SetHeadroom, 3936, 10, XRefNoSaveIndex, XRefOne) - // CDirectSoundStream_SetHeadroom+0x0D : call [DirectSound_CDirectSoundVoice_SetHeadroom] + // CDirectSoundStream_SetHeadroom+0x0D : call [CDirectSoundVoice_SetHeadroom] XREF_ENTRY( 0x0D, XREF_CDirectSoundVoice_SetHeadroom ), // CDirectSoundStream_SetHeadroom+0x04 : mov eax, [esp+0x08] @@ -2432,6 +2432,7 @@ OOVPA_XREF(CDirectSoundStream_SetHeadroom, 3936, 10, { 0x11, 0xC2 }, { 0x12, 0x08 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * IDirectSound_SetOrientation @@ -3847,7 +3848,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_12, 3936, 9, - XREF_CDirectSoundStream_SetMixBinVolumes, + XREF_CDirectSoundStream_SetMixBinVolumes_12, XRefOne) XREF_ENTRY( 0x11, XREF_CDirectSoundVoice_SetMixBinVolumes ), @@ -4076,7 +4077,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CMcpxVoiceClient_Set3dMode, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMode, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMode, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 3911, PATCH), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CMcpxAPU_Commit3dSettings, 3911, XREF), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 3911, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 39ccbf22a..308a85576 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -409,7 +409,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetVolume, 4039, 9, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetVolume, XRefOne) XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetVolume ), // Was 4134 Offset -0x01h @@ -1439,22 +1439,23 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_8, 4039, 12, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetMixBinVolumes_8, XRefOne) - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBinVolumes ), + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetMixBinVolumes ), - { 0x0D, 0x0F }, - { 0x0E, 0xB6 }, - { 0x0F, 0xF0 }, - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, - { 0x51, 0x00 }, + { 0x00, 0x56 }, + + { 0x0C, 0x00 }, + { 0x0D, 0x8B }, + { 0x0E, 0xF0 }, + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + { 0x4E, 0xC2 }, + { 0x4F, 0x08 }, OOVPA_END; // ****************************************************************** @@ -1625,7 +1626,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetLFO, 4039, 11, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetLFO, XRefOne) XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetLFO ), @@ -1749,7 +1750,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetEG, 4039, 9, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetEG, XRefOne) XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetEG ), @@ -2931,3 +2932,181 @@ OOVPA_XREF(IDirectSoundStream_SetFrequency, 4039, 2, // IDirectSoundStream_SetFrequency+0x00 : jmp 0x........ { 0x00, 0xE9 }, OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetVolume +// ****************************************************************** +//Generic OOVPA as of 4039 and newer +OOVPA_XREF(IDirectSoundStream_SetVolume, 4039, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetVolume+0x00 : jmp [CDirectSoundStream_SetVolume] + XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetVolume ), + + // IDirectSoundStream_SetVolume+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetPitch +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetPitch, 4039, 12, + + XREF_CDirectSoundStream_SetPitch, + XRefOne) + + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetPitch ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + { 0x29, 0x24 }, + { 0x34, 0xE8 }, + { 0x3F, 0x68 }, + { 0x4A, 0x8B }, + { 0x4E, 0xC2 }, + { 0x4F, 0x08 }, + { 0x50, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetPitch +// ****************************************************************** +//Generic OOVPA as of 4039 and newer +OOVPA_XREF(IDirectSoundStream_SetPitch, 4039, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetPitch+0x00 : jmp [CDirectSoundStream_SetPitch] + XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetPitch ), + + // IDirectSoundStream_SetPitch+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetLFO +// ****************************************************************** +//Generic OOVPA as of 4039 and newer +OOVPA_XREF(IDirectSoundStream_SetLFO, 4039, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetLFO+0x00 : jmp [CDirectSoundStream_SetLFO] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetLFO ), + + // IDirectSoundStream_SetLFO+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetEG +// ****************************************************************** +//Generic OOVPA as of 4039 and newer +OOVPA_XREF(IDirectSoundStream_SetEG, 4039, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetEG+0x00 : jmp [CDirectSoundStream_SetEG] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetEG ), + + // IDirectSoundStream_SetEG+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetFilter +// ****************************************************************** +//Generic OOVPA as of 4039 and newer +OOVPA_XREF(IDirectSoundStream_SetFilter, 4039, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetFilter+0x00 : jmp [CDirectSoundStream_SetFilter] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetFilter ), + + // IDirectSoundStream_SetFilter+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetMixBinVolumes +// ****************************************************************** +//Generic OOVPA as of 4039 and newer +OOVPA_XREF(IDirectSoundStream_SetMixBinVolumes_8, 4039, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetMixBinVolumes+0x00 : jmp [CDirectSoundStream_SetMixBinVolumes] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetMixBinVolumes_8 ), + + // IDirectSoundStream_SetMixBinVolumes+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Pause +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Pause, 4039, 12, + + XREF_CMcpxStream_Pause, + XRefZero) + + // CMcpxStream_Pause+0x00 : push ebp + { 0x00, 0x55 }, + + // CMcpxStream_Pause+0x20 : or eax, 4 + { 0x20, 0x83 }, + { 0x21, 0xC8 }, + { 0x22, 0x04 }, + + // CMcpxStream_Pause+0x23 : jmp +0x0F + { 0x23, 0xEB }, + { 0x24, 0x0F }, + + // CMcpxStream_Pause+0x2B : mov eax,[esi+00000090] + { 0x2B, 0x8B }, + { 0x2C, 0x86 }, + { 0x2D, 0x90 }, + { 0x2E, 0x00 }, + + // CMcpxStream_Pause+0x48 : retn 0x04 + { 0x48, 0xC2 }, + { 0x49, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Pause +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_Pause, 4039, 11, + + XREF_CDirectSoundStream_Pause, + XRefOne) + + // CDirectSoundStream_Pause+0x33 : call [CMcpxStream::Pause] + XREF_ENTRY( 0x34, XREF_CMcpxStream_Pause ), + + // CDirectSoundStream_Pause+0x20 : mov eax, 0x80004005 + { 0x20, 0xB8 }, + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundStream_Pause+0x2B : mov ecx, [eax+0x24] + { 0x2B, 0x8B }, + { 0x2C, 0x48 }, + { 0x2D, 0x24 }, + + // CDirectSoundStream_Pause+0x4D : retn 0x08 + { 0x4D, 0xC2 }, + { 0x4E, 0x08 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index a3c638e57..283365afd 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -80,7 +80,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxStream_Pause, 4361, 11, - XREF_DSSTREAMPAUSE, + XREF_CMcpxStream_Pause, XRefZero) // CMcpxStream_Pause+0x1E : or eax, 4 @@ -112,7 +112,7 @@ OOVPA_XREF(CDirectSoundStream_Pause, 4361, 11, XRefOne) // CDirectSoundStream_Pause+0x35 : call [CMcpxStream::Pause] - XREF_ENTRY( 0x35, XREF_DSSTREAMPAUSE ), + XREF_ENTRY( 0x35, XREF_CMcpxStream_Pause ), // CDirectSoundStream_Pause+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 4383b3113..3a28f6a3e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -491,7 +491,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxStream_Pause, 4831, 11, - XREF_DSSTREAMPAUSE, + XREF_CMcpxStream_Pause, XRefZero) // CMcpxStream_Pause+0x17 : and ax, 0xFFDF diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 50ebf433d..3242d9267 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -940,7 +940,7 @@ OOVPA_XREF(CDirectSoundStream_Pause, 5558, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x35, XREF_DSSTREAMPAUSE ), + XREF_ENTRY( 0x35, XREF_CMcpxStream_Pause ), { 0x0C, 0x00 }, { 0x14, 0x74 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 66245fbbc..a207be11a 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -478,7 +478,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxStream_Pause, 5788, 7, - XREF_DSSTREAMPAUSE, + XREF_CMcpxStream_Pause, XRefZero) { 0x10, 0x07 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 82e38430b..34d940886 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -74,7 +74,7 @@ // * XAudioDownloadEffectsImage // * XAudioGetSpeakerConfig // * XAudioSetEffectData -// * 3911 to 4039(?): Following separater functions has exact asm codes as whole function are... +// * 3911 to 3936: Following separater functions has exact asm codes as whole function are... // * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume // * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch // * IDirectSoundStream_SetLFO & CDirectSoundStream_SetLFO @@ -84,6 +84,9 @@ // * IDirectSoundStream_SetFrequency & CDirectSoundStream_SetFrequency // * IDirectSoundStream_SetMixBins & CDirectSoundStream_SetMixBins // * Need to include patch, func export, support for IDirectSoundStream_Setxxxxx from above. +// * 4039 OOVPA messed up? +// * IDirectSoundStream_SetMixBins should be IDirectSoundStream_SetHeadroom? +// * Need to dig deeper... #ifndef DSOUND_OOVPA_INL @@ -135,7 +138,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911), REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911), - REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 4361, 4831, 5788), + REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4361, 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3911), @@ -230,7 +233,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), REGISTER_OOVPAS(CDirectSoundStream_GetInfo, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4039, 4361, 5558), REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911), REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4039, 4134), @@ -241,7 +244,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242), REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3911, 4039, 5233), - REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3911, 3936, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3911, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3911, 4039, 4134), @@ -251,7 +254,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 3911, 4039, 4627), - REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 3911, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffFactor, PATCH, 4134), @@ -331,9 +334,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundStream_SetConeAngles, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? REGISTER_OOVPAS(IDirectSoundStream_SetConeOrientation, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetConeOutsideVolume, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? - REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetLFO, PATCH, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetFilter, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911, 4039), + REGISTER_OOVPAS(IDirectSoundStream_SetLFO, PATCH, 3911, 4039), + REGISTER_OOVPAS(IDirectSoundStream_SetFilter, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundStream_SetFrequency, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundStream_SetHeadroom, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetI3DL2Source, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? @@ -341,12 +344,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetMixBins, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetMixBinVolumes_12, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, see more note for CDirectSoundStream_SetMixBinVolumes_12 + REGISTER_OOVPAS(IDirectSoundStream_SetMixBinVolumes_8, UNPATCHED, 4039), //NOTE: 4039 and newer only perform a jmp. REGISTER_OOVPAS(IDirectSoundStream_SetMode, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? REGISTER_OOVPAS(IDirectSoundStream_SetOutputBuffer, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? - REGISTER_OOVPAS(IDirectSoundStream_SetPitch, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetPitch, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundStream_SetPosition, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetVelocity, UNPATCHED, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetVolume, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetVolume, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSound_AddRef, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CommitDeferredSettings, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_CommitEffectData, PATCH, 3911), @@ -361,7 +365,6 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_GetTime, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSound_Release, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetAllParameters, PATCH, 3911), - //REGISTER_OOVPAS(IDirectSound_SetAllParameters, XREF, 3911), //Cannot be used since this OOVPA does produce false detection. REGISTER_OOVPAS(IDirectSound_SetDistanceFactor, PATCH, 3911 /*, 4134*/), REGISTER_OOVPAS(IDirectSound_SetDopplerFactor, PATCH, 3911 /*, 4134*/), REGISTER_OOVPAS(IDirectSound_SetEffectData, PATCH, 3911 /*, 4134, 5344*/), From 657a3615a737d1fccc1cee8f8601e7c7d6a1cc14 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 6 Oct 2017 15:59:37 -0500 Subject: [PATCH 112/146] DSound 3039 Database Update (small) - 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 --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 35 +++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 206 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 26 +++ src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 45 ++-- 4 files changed, 299 insertions(+), 13 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 963b55908..81ea4572f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -4309,6 +4309,38 @@ OOVPA_XREF(IDirectSound_CommitEffectData, 3911, 8, { 0x16, 0x04 }, OOVPA_END; +// ****************************************************************** +// * CDirectSound::EnableHeadphones +// ****************************************************************** +OOVPA_XREF(CDirectSound_EnableHeadphones, 3911, 18, + + XREF_CDirectSound_EnableHeadphones, + XRefZero) + + { 0x00, 0x55 }, + + { 0x25, 0x0F }, + { 0x26, 0x95 }, + { 0x27, 0xC2 }, + + { 0x38, 0x81 }, + { 0x39, 0xCB }, + { 0x3A, 0x00 }, + { 0x3B, 0x00 }, + { 0x3C, 0x00 }, + { 0x3D, 0x80 }, + + { 0x40, 0x81 }, + { 0x41, 0xE3 }, + { 0x42, 0xFF }, + { 0x43, 0xFF }, + { 0x44, 0xFF }, + { 0x45, 0x7F }, + + { 0xCB, 0xC2 }, + { 0xCC, 0x08 }, +OOVPA_END; +#if 0 // Replaced with better OOVPA 3911 (See above) // ****************************************************************** // * CDirectSound::EnableHeadphones // ****************************************************************** @@ -4324,7 +4356,7 @@ OOVPA_XREF(CDirectSound_EnableHeadphones, 3911, 7, { 0x9A, 0x76 }, { 0xB4, 0x5B }, OOVPA_END; - +#endif // ****************************************************************** // * IDirectSound_EnableHeadphones // ****************************************************************** @@ -5504,6 +5536,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetI3DL2Source // ****************************************************************** +// Generic OOVPA as of 3911 and newer OOVPA_XREF(IDirectSoundStream_SetI3DL2Source, 3911, 2, XRefNoSaveIndex, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 308a85576..a2d4c75e6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -3110,3 +3110,209 @@ OOVPA_XREF(CDirectSoundStream_Pause, 4039, 11, { 0x4D, 0xC2 }, { 0x4E, 0x08 }, OOVPA_END; + +// ****************************************************************** +// * DS_CRefCount_AddRef +// ****************************************************************** +// Generic OOVPA as of 4039 and newer +OOVPA_XREF(DS_CRefCount_AddRef, 4039, 12, + + XREF_DS_CRefCount_AddRef, + XRefZero) + + // DS_CRefCount_AddRef+0x00 : mov eax,dword ptr [esp+4] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + + // DS_CRefCount_AddRef+0x04 : inc dword ptr [eax+4] + { 0x04, 0xFF }, + { 0x05, 0x40 }, + { 0x06, 0x04 }, + + // DS_CRefCount_AddRef+0x07 : mov eax, dword ptr [eax+4] + { 0x07, 0x8B }, + { 0x08, 0x40 }, + { 0x09, 0x04 }, + + // DS_CRefCount_AddRef+0x0A : retn 0x04 + { 0x0A, 0xC2 }, + { 0x0B, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * DS_CRefCount_Release +// ****************************************************************** +// Generic OOVPA as of 4039 and newer +OOVPA_XREF(DS_CRefCount_Release, 4039, 10, + + XREF_DS_CRefCount_Release, + XRefZero) + + { 0x00, 0x8B }, + + // DS_CRefCount_Release+0x0B : dec eax + { 0x0B, 0x48 }, + + // DS_CRefCount_Release+0x0E : mov dword ptr [ecx+4], eax + { 0x0E, 0x89 }, + { 0x0F, 0x41 }, + { 0x10, 0x04 }, + + // DS_CRefCount_Release+0x1D : mov, dword ptr [ecx+4] + { 0x1D, 0x8B }, + { 0x1E, 0x41 }, + { 0x1F, 0x04 }, + + // DS_CRefCount_Release+0x20 : retn 0x04 + { 0x20, 0xC2 }, + { 0x21, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::Release +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_Release, 4039, 12, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x31, XREF_DS_CRefCount_Release ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + + { 0x2C, 0x83 }, + { 0x2D, 0xC0 }, + { 0x2E, 0x04 }, + + { 0x46, 0x8B }, + + { 0x4A, 0xC2 }, + { 0x4B, 0x04 }, + { 0x4C, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CFullHRTFSource::GetCenterVolume +// ****************************************************************** +OOVPA_XREF(CFullHRTFSource_GetCenterVolume, 4039, 9, + + XREF_CFullHRTFSource_GetCenterVolume, + XRefZero) + + { 0x00, 0x55 }, + + { 0x22, 0xD9 }, + { 0x63, 0xDF }, + + { 0xCB, 0xF0 }, + { 0xCC, 0xD8 }, + { 0xCD, 0xFF }, + { 0xCE, 0xFF }, + + { 0xD1, 0xC2 }, + { 0xD2, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CHRTFSource::SetFullHRTF5Channel +// ****************************************************************** +OOVPA_XREF(CHRTFSource_SetFullHRTF5Channel, 4039, 9, + + XREF_CHRTFSource_SetFullHRTF5Channel, + XRefOne) + + XREF_ENTRY( 0x38, XREF_CFullHRTFSource_GetCenterVolume ), + + { 0x00, 0xC7 }, + + { 0x14, 0xC7 }, + { 0x1E, 0xC7 }, + { 0x28, 0xC7 }, + { 0x32, 0xC7 }, + { 0x3C, 0xC7 }, + { 0x46, 0xC7 }, + { 0x50, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSoundUseFullHRTF +// ****************************************************************** +OOVPA_XREF(DirectSoundUseFullHRTF, 4039, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x09, XREF_CHRTFSource_SetFullHRTF5Channel ), + + { 0x06, 0x8B }, + { 0x07, 0xF0 }, + { 0x0D, 0x85 }, + { 0x0E, 0xF6 }, + { 0x11, 0x0B }, + { 0x17, 0xFF }, + { 0x1D, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * XAudioCalculatePitch +// ****************************************************************** +OOVPA_XREF(XAudioCalculatePitch, 4039, 11, + + XREF_XAudioCalculatePitch, + XRefZero) + + // XAudioCalculatePitch+0x10 : cmp eax, 0xBB80 + { 0x10, 0x3D }, + { 0x11, 0x80 }, + { 0x12, 0xBB }, + { 0x13, 0x00 }, + + // XAudioCalculatePitch+0x19 : jmp +0x21 + { 0x19, 0xEB }, + { 0x1A, 0x21 }, + + // XAudioCalculatePitch+0x3C : lea ecx, [ebp-04] + { 0x3C, 0x8D }, + { 0x3D, 0x4D }, + { 0x3E, 0xFC }, + + // XAudioCalculatePitch+0x48 : retn 0x08 + { 0x48, 0xC2 }, + { 0x49, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::EnableHeadphones +// ****************************************************************** +OOVPA_XREF(CDirectSound_EnableHeadphones, 4039, 16, + + XREF_CDirectSound_EnableHeadphones, + XRefZero) + + { 0x00, 0x55 }, + + { 0x42, 0x0f }, + { 0x43, 0x95 }, + { 0x44, 0xC3 }, + + { 0x4F, 0x0D }, + { 0x50, 0x00 }, + { 0x51, 0x00 }, + { 0x52, 0x00 }, + { 0x53, 0x80 }, + + { 0x56, 0x25 }, + { 0x57, 0xFF }, + { 0x58, 0xFF }, + { 0x59, 0xFF }, + { 0x5A, 0x7F }, + + { 0x7F, 0xC2 }, + { 0x80, 0x08 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index a3ec9c163..deb2e4717 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -3048,6 +3048,32 @@ OOVPA_XREF(CDirectSound_DownloadEffectsImage, 4134, 18, { 0x62, 0x14 }, OOVPA_END; +// ****************************************************************** +// * CDirectSoundStream::Release +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_Release, 4134, 12, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x32, XREF_DS_CRefCount_Release ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + + { 0x2D, 0x83 }, + { 0x2E, 0xC0 }, + { 0x2F, 0x04 }, + + { 0x47, 0x8B }, + + { 0x4B, 0xC2 }, + { 0x4C, 0x04 }, + { 0x4D, 0x00 }, +OOVPA_END; + // ****************************************************************** // * DSound_4134 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 34d940886..e09b305b9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -36,15 +36,17 @@ // Titles which did compiled with full libary // [revi] Title Name | Verify | Comments //------------------------------------------------------------------- -// * [3925] Cel Damage | 100% | None +// * [3925] Cel Damage | 100% | Need to add 3 missing OOVPAs, see TODO issue list. // * [3936] Silent Hill 2 | 100% | Need verify non-exist function is there or not // * [4039] Nightcaster | ??% | Need to create bunch of OOVPAs... +// * [4134] RaceX (Demo) | 1% | Does not have full library? Need to create bunch of OOVPAs... +// * [4134] Blood Omen 2 | 1% | Does not have full library? Need to create bunch of OOVPAs... // TODO: Known DSound OOVPA issue list // * 3911 to 5933: Cannot make OOVPAs -// * IDirectSound_SetCooperativeLevel (Xbox doesn't use it) -// * IDirectSound_Compact (Xbox doesn't use it) -// * IDirectSoundBuffer_Restore (Xbox doesn't use it) +// * IDirectSound_SetCooperativeLevel (Xbox doesn't use it, can't make OOVPA for it) +// * IDirectSound_Compact (Xbox doesn't use it, can't make OOVPA for it) +// * IDirectSoundBuffer_Restore (Xbox doesn't use it, can't make OOVPA for it) // * IDirectSoundBuffer_Unlock (Xbox doesn't use it, however can make OOVPA; NOTE: OOVPA is registered for it) // * IDirectSoundStream_AddRef (Using IUnknown_AddRef) // * IDirectSoundStream_Release (Using IUnknown_Release) @@ -74,6 +76,8 @@ // * XAudioDownloadEffectsImage // * XAudioGetSpeakerConfig // * XAudioSetEffectData +// * DirectSoundUseFullHRTF4Channel +// * DirectSoundUseLightHRTF4Channel // * 3911 to 3936: Following separater functions has exact asm codes as whole function are... // * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume // * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch @@ -87,6 +91,23 @@ // * 4039 OOVPA messed up? // * IDirectSoundStream_SetMixBins should be IDirectSoundStream_SetHeadroom? // * Need to dig deeper... +// * 3911 - Need to add: +// * XAudioCreateAdpcmFormat +// * XAudioCreatePcmFormat +// * IsValidFormat +// Not part of API, yet is a non-member function : (might be useful) +// * GetFormatSize +// * CopyFormat +// * CompareFormats +// * CalculateXboxAdpcmAlignment +// * IsValidPcmFormat +// * IsValidXboxAdpcmFormat +// * CopyFormatAlloc +// * List of internal functions are not register: +// * CDirectSoundBuffer_Release (Is unique, however need multiple OOVPAs to register all revisions) +// * Using XREF_DS_CRefCount_Release +// * CDirectSound_Release (Is unique, however need multiple OOVPAs to register all revisions) +// * Using XREF_DS_CRefCount_Release #ifndef DSOUND_OOVPA_INL @@ -114,7 +135,7 @@ // ****************************************************************** OOVPATable DSound_OOVPAV2[] = { - REGISTER_OOVPAS(XAudioCalculatePitch, XREF, 3911), + REGISTER_OOVPAS(XAudioCalculatePitch, XREF, 3911, 4039), REGISTER_OOVPAS(DirectSoundEnterCriticalSection, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_Commit3dSettings, XREF, 3911), REGISTER_OOVPAS(CMcpxAPU_ServiceDeferredCommandsLow, XREF, 3911), @@ -157,8 +178,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_SetPitch, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_SetVolume, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(DS_CRefCount_AddRef, XREF, 3911), - REGISTER_OOVPAS(DS_CRefCount_Release, XREF, 3911), + REGISTER_OOVPAS(DS_CRefCount_AddRef, XREF, 3911, 4039), + REGISTER_OOVPAS(DS_CRefCount_Release, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBins, XREF, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoiceSettings_SetMixBinVolumes, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoice_CommitDeferredSettings, XREF, 5558), @@ -235,7 +256,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911, 4039), REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4039, 4361, 5558), REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911), - REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911), + REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911, 4039), REGISTER_OOVPAS(CDirectSoundStream_SetConeOrientation, PATCH, 3911, 4039, 4134), @@ -267,7 +288,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_CreateSoundStream, XREF, 3911, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSound_DownloadEffectsImage, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3911, 4039), - REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3911, 4627, 5233, 5344, 5558), + REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3911, 4039, 4627, 5233, 5344, 5558), REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3911, 4361), REGISTER_OOVPAS(CDirectSound_GetEffectData, XREF, 3911), REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), @@ -380,13 +401,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 3911, 4134, 5788), REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3911, 4134, 5558), REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3911, 4361), - REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 5558), + REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 4039, 5558), REGISTER_OOVPAS(DirectSoundUseLightHRTF, PATCH, 3911), - REGISTER_OOVPAS(CFullHRTFSource_GetCenterVolume, XREF, 5558), - REGISTER_OOVPAS(CHRTFSource_SetFullHRTF5Channel, XREF, 5558), + REGISTER_OOVPAS(CFullHRTFSource_GetCenterVolume, XREF, 4039, 5558), + REGISTER_OOVPAS(CHRTFSource_SetFullHRTF5Channel, XREF, 4039, 5558), REGISTER_OOVPAS(WaveFormat_CreateXboxAdpcmFormat, XREF, 5344), From 2dc4cc70af68b36718abf26fbe6596d6d8d2ed48 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 8 Oct 2017 19:21:45 -0500 Subject: [PATCH 113/146] Finalize 90% Complete DSound 4039 Database - 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 --- src/CxbxKrnl/HLEDataBase.h | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 22 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 245 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 5 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 61 +++-- 12 files changed, 307 insertions(+), 41 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index b15b7cd07..a995ee75b 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -231,7 +231,6 @@ enum XRefDataBaseOffset XREF_CDirectSoundVoice_SetPitch, XREF_CDirectSoundBuffer_SetPitch, XREF_CDirectSoundStream_SetPitch, - XREF_DSBUFFERSETVOLUMEA, XREF_CMcpxVoiceClient_SetVolume, XREF_DSBUFFERSETCURRENTPOSITIONA, XREF_DSBUFFERSETCURRENTPOSITIONB, @@ -342,6 +341,7 @@ enum XRefDataBaseOffset XREF_CDirectSoundVoice_SetI3DL2Source, XREF_CDirectSoundStream_SetMixBinVolumes_12, XREF_CDirectSoundStream_SetMixBinVolumes_8, + XREF_CDirectSoundStream_SetMixBins, XREF_CDirectSoundStream_SetHeadroom, XREF_CDirectSoundVoice_SetOutputBuffer, XREF_CDirectSoundBuffer_SetOutputBuffer, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 81ea4572f..ebb9fade6 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -1962,6 +1962,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetNotificationPositions // ****************************************************************** +//Generic OOVPA as of 3911 and newer OOVPA_XREF(IDirectSoundBuffer_SetNotificationPositions, 3911, 9, XRefNoSaveIndex, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 163604e14..5ce8ad491 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -495,12 +495,13 @@ OOVPA_XREF(CMcpxVoiceClient_SetVolume, 3936, 11, { 0x37, 0xF9 }, OOVPA_END; #endif +#if 0 // Replaced with accurate OOVPA 3911 // ****************************************************************** // * CDirectSoundVoice_SetVolume // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetVolume, 3936, 12, - XREF_DSBUFFERSETVOLUMEA, + XREF_CDirectSoundVoice_SetVolume, XRefOne) // CDirectSoundVoice_SetVolume+0x1E : call [CMcpxVoiceClient_SetVolume] @@ -525,7 +526,8 @@ OOVPA_XREF(CDirectSoundVoice_SetVolume, 3936, 12, { 0x37, 0xC2 }, { 0x38, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetVolume // ****************************************************************** @@ -535,7 +537,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3936, 10, XRefOne) // IDirectSoundBuffer_SetVolume+0x15 : call [CDirectSoundVoice_SetVolume] - XREF_ENTRY( 0x15, XREF_DSBUFFERSETVOLUMEA ), + XREF_ENTRY( 0x15, XREF_CDirectSoundVoice_SetVolume ), // IDirectSoundBuffer_SetVolume+0x04 : push [esp+0x08] { 0x04, 0xFF }, @@ -552,6 +554,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetVolume, 3936, 10, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CMcpxBuffer_SetCurrentPosition @@ -928,6 +931,7 @@ OOVPA_XREF(CDirectSoundVoice_SetMixBins, 3936, 9, { 0x56, 0x08 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * CDirectSoundStream_SetMixBins // ****************************************************************** @@ -954,6 +958,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 3936, 10, { 0x11, 0xC2 }, { 0x12, 0x08 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetMixBins @@ -1180,7 +1185,7 @@ OOVPA_XREF(CMcpxVoiceClient_SetVolume, 3936, 10, { 0x38, 0x08 }, OOVPA_END; #endif - +#if 0 // Replaced with accurate OOVPA 3911 // ****************************************************************** // * CDirectSoundStream_SetVolume // ****************************************************************** @@ -1207,6 +1212,7 @@ OOVPA_XREF(CDirectSoundStream_SetVolume, 3936, 10, { 0x11, 0xC2 }, { 0x12, 0x08 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CMcpxVoiceClient_Set3dParameters @@ -4013,8 +4019,8 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 3911, XREF), - REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 3936, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 3911, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 3911, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), @@ -4028,7 +4034,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetMixBins, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 3911, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 3911, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 3911, XREF), @@ -4038,7 +4044,7 @@ OOVPATable DSound_3936[] = { REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 3911, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetVolume, 3936, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetVolume, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeAngles, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_Set3dConeOutsideVolume, 3911, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeOutsideVolume, 3911, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index a2d4c75e6..9a088e143 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -2921,6 +2921,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetFrequency // ****************************************************************** +// Generic OOVPA as of 4039 and newer OOVPA_XREF(IDirectSoundStream_SetFrequency, 4039, 2, XRefNoSaveIndex, @@ -2936,7 +2937,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetVolume // ****************************************************************** -//Generic OOVPA as of 4039 and newer +// Generic OOVPA as of 4039 and newer OOVPA_XREF(IDirectSoundStream_SetVolume, 4039, 2, XRefNoSaveIndex, @@ -2975,7 +2976,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetPitch // ****************************************************************** -//Generic OOVPA as of 4039 and newer +// Generic OOVPA as of 4039 and newer OOVPA_XREF(IDirectSoundStream_SetPitch, 4039, 2, XRefNoSaveIndex, @@ -2991,7 +2992,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetLFO // ****************************************************************** -//Generic OOVPA as of 4039 and newer +// Generic OOVPA as of 4039 and newer OOVPA_XREF(IDirectSoundStream_SetLFO, 4039, 2, XRefNoSaveIndex, @@ -3007,7 +3008,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetEG // ****************************************************************** -//Generic OOVPA as of 4039 and newer +// Generic OOVPA as of 4039 and newer OOVPA_XREF(IDirectSoundStream_SetEG, 4039, 2, XRefNoSaveIndex, @@ -3023,7 +3024,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetFilter // ****************************************************************** -//Generic OOVPA as of 4039 and newer +// Generic OOVPA as of 4039 and newer OOVPA_XREF(IDirectSoundStream_SetFilter, 4039, 2, XRefNoSaveIndex, @@ -3039,7 +3040,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundStream_SetMixBinVolumes // ****************************************************************** -//Generic OOVPA as of 4039 and newer +// Generic OOVPA as of 4039 and newer OOVPA_XREF(IDirectSoundStream_SetMixBinVolumes_8, 4039, 2, XRefNoSaveIndex, @@ -3174,6 +3175,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream::Release // ****************************************************************** +// NOTE: Has identical function to DirectSound::CAc97MediaObject::Release OOVPA_XREF(CDirectSoundStream_Release, 4039, 12, XRefNoSaveIndex, @@ -3316,3 +3318,234 @@ OOVPA_XREF(CDirectSound_EnableHeadphones, 4039, 16, { 0x7F, 0xC2 }, { 0x80, 0x08 }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Process +// ****************************************************************** +OOVPA_NO_XREF(CDirectSoundStream_Process, 4039, 17) + + { 0x00, 0x57 }, + + { 0x28, 0x8B }, + { 0x2B, 0x0C }, + + { 0x2C, 0x8B }, + { 0x2E, 0x24 }, + + { 0x34, 0x85 }, + { 0x35, 0xC0 }, + + //CDirectSoundStream_Process+0x39 : mov eax, 88780032h + { 0x39, 0x32 }, + { 0x3A, 0x00 }, + { 0x3B, 0x78 }, + { 0x3C, 0x88 }, + + { 0x3F, 0xFF }, + { 0x42, 0x10 }, + + { 0x43, 0x8B }, + { 0x45, 0x24 }, + + { 0x60, 0xC2 }, + { 0x61, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Flush +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Flush, 4039, 10, + XREF_CMcpxStream_Flush, + XRefZero) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + + { 0x09, 0x33 }, + + { 0x32, 0x83 }, + { 0x33, 0xFF }, + { 0x34, 0x03 }, + + { 0x4A, 0xE8 }, + + { 0x58, 0xE8 }, + + + { 0x98, 0xC9 }, + { 0x99, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Flush +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_Flush, 4039, 9, + XRefNoSaveIndex, + XRefOne) + + //CDirectSoundStream_Flush+0x2F : call [CMcpxStream_Flush] + XREF_ENTRY( 0x30, XREF_CMcpxStream_Flush ), + + { 0x00, 0x56 }, + + { 0x27, 0x8B }, + { 0x2A, 0x08 }, + + { 0x2B, 0x8B }, + { 0x2D, 0x24 }, + + { 0x2F, 0xE8 }, + + //CDirectSoundStream_Flush+0x49 : ret 4 + { 0x49, 0xC2 }, + { 0x4A, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_AddRef +// ****************************************************************** +// NOTE: Has identical function to DirectSound::CAc97MediaObject::AddRef +OOVPA_XREF(CDirectSoundStream_AddRef, 4039, 11, + XRefNoSaveIndex, + XRefZero) + + { 0x00, 0xE8 }, + + { 0x24, 0x8B }, + { 0x25, 0x4C }, + + { 0x28, 0xFF }, + { 0x29, 0x41 }, + { 0x2A, 0x08 }, + + { 0x2E, 0x8B }, + { 0x2F, 0x71 }, + { 0x30, 0x08 }, + + //CDirectSoundStream_AddRef+0x41 : ret 4 + { 0x41, 0xC2 }, + { 0x42, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_GetInfo +// ****************************************************************** +OOVPA_NO_XREF(CDirectSoundStream_GetInfo, 4039, 17) + + //CDirectSoundStream_GetInfo+0x00 : push ebx + { 0x00, 0x53 }, + + //CDirectSoundStream_GetInfo+0x2D : mov edi, dword ptr [esp + 10h] + { 0x2D, 0x8B }, + { 0x2E, 0x7C }, + { 0x2F, 0x24 }, + { 0x30, 0x10 }, + + //CDirectSoundStream_GetInfo+0x37 : mov, dword ptr [edi + 24h] + { 0x37, 0x8B }, + { 0x38, 0x4F }, + { 0x39, 0x24 }, + + //CDirectSoundStream_GetInfo+0x42 : mov eax, dword ptr [edi + 20h] + { 0x42, 0x8B }, + { 0x43, 0x47 }, + { 0x44, 0x20 }, + + //CDirectSoundStream_GetInfo+0x48 : and dword ptr [esi + 8], 0 + { 0x48, 0x83 }, + { 0x49, 0x66 }, + { 0x4A, 0x08 }, + { 0x4B, 0x00 }, + + //CDirectSoundStream_GetInfo+0x63 : ret 8 + { 0x63, 0xC2 }, + { 0x64, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Discontinuity +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Discontinuity, 4039, 7, + XREF_CMcpxStream_Discontinuity, + XRefOne) + + //CMcpxStream_Discontinuity+0x17 : call [CMcpxStream_Flush] + XREF_ENTRY ( 0x18, XREF_CMcpxStream_Flush ), + + { 0x00, 0x56 }, + + { 0x01, 0x8B }, + + { 0x15, 0x8B }, + + { 0x17, 0xE8 }, + + { 0x1E, 0x5E }, + + { 0x1F, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Discontinuity +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_Discontinuity, 4039, 9, + XRefNoSaveIndex, + XRefOne) + + //CDirectSoundStream_Discontinuity+0x2F : call [CMcpxStream_Discontinuity] + XREF_ENTRY( 0x30, XREF_CMcpxStream_Discontinuity ), + + { 0x00, 0x56 }, + + { 0x27, 0x8B }, + { 0x2A, 0x08 }, + + { 0x2B, 0x8B }, + { 0x2D, 0x24 }, + + { 0x2F, 0xE8 }, + + //CDirectSoundStream_Discontinuity+0x49 : ret 4 + { 0x49, 0xC2 }, + { 0x4A, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetMixBins +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetMixBins, 4039, 10, + + XREF_CDirectSoundStream_SetMixBins, + XRefOne) + + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetMixBins ), + + { 0x00, 0x56 }, + + { 0x0C, 0x00 }, + + { 0x13, 0x74 }, + { 0x20, 0xB8 }, + { 0x29, 0x24 }, + { 0x34, 0xE8 }, + { 0x3F, 0x68 }, + + { 0x4E, 0xC2 }, + { 0x4F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetMixBins +// ****************************************************************** +// Generic OOVPA as of 4039 and newer +OOVPA_XREF(IDirectSoundStream_SetMixBins, 4039, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetMixBins+0x00 : jmp [CDirectSoundStream_SetMixBins] + XREF_ENTRY( 0x01, XREF_CDirectSoundStream_SetMixBins ), + + // IDirectSoundStream_SetMixBins+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 3a28f6a3e..b6d48d23f 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1270,7 +1270,7 @@ OOVPA_NO_XREF(XFileCreateMediaObjectEx, 4627, 7) { 0x46, 0x4C }, { 0x52, 0xFF }, OOVPA_END; - +#if 0 // Duplicate OOVPA from 3911 // ****************************************************************** // * IDirectSoundBuffer_SetNotificationPositions // ****************************************************************** @@ -1290,6 +1290,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetNotificationPositions, 4627, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; +#endif #if 0 // Moved to 4242 // ****************************************************************** // * CMcpxVoiceClient::SetLFO @@ -1658,7 +1659,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(XFileCreateMediaObjectEx, 4627, PATCH), REGISTER_OOVPA(XWaveFileCreateMediaObject, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), // Uncommenting these fixes dashboard 4920 - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 200e635fe..398b4f4bc 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -242,7 +242,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(XFileCreateMediaObjectEx, 5028, PATCH), REGISTER_OOVPA(XWaveFileCreateMediaObject, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 878140585..a12006961 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -528,7 +528,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index d00e66c5e..daea6ad41 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -1046,7 +1046,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 3242d9267..8273504da 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1787,7 +1787,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index a207be11a..6b1ddf191 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -724,7 +724,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 40073ea21..fa14a2775 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -239,7 +239,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 4627, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index e09b305b9..16a926ae4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -36,9 +36,9 @@ // Titles which did compiled with full libary // [revi] Title Name | Verify | Comments //------------------------------------------------------------------- -// * [3925] Cel Damage | 100% | Need to add 3 missing OOVPAs, see TODO issue list. -// * [3936] Silent Hill 2 | 100% | Need verify non-exist function is there or not -// * [4039] Nightcaster | ??% | Need to create bunch of OOVPAs... +// * [3925] Cel Damage | 100% | Contain full library. Need to add 3 missing OOVPAs, see TODO issue list. +// * [3936] Silent Hill 2 | 80% | Need verify non-exist function is there or not, re-check missing detection. +// * [4039] Nightcaster | 100% | Only has 90% of the library compiled with xbe build. // * [4134] RaceX (Demo) | 1% | Does not have full library? Need to create bunch of OOVPAs... // * [4134] Blood Omen 2 | 1% | Does not have full library? Need to create bunch of OOVPAs... @@ -87,10 +87,7 @@ // * IDirectSoundStream_SetHeadroom & CDirectSoundStream_SetHeadroom // * IDirectSoundStream_SetFrequency & CDirectSoundStream_SetFrequency // * IDirectSoundStream_SetMixBins & CDirectSoundStream_SetMixBins -// * Need to include patch, func export, support for IDirectSoundStream_Setxxxxx from above. -// * 4039 OOVPA messed up? -// * IDirectSoundStream_SetMixBins should be IDirectSoundStream_SetHeadroom? -// * Need to dig deeper... +// * Need to include func export support for IDirectSoundStream_Setxxxxx from above. // * 3911 - Need to add: // * XAudioCreateAdpcmFormat // * XAudioCreatePcmFormat @@ -103,11 +100,39 @@ // * IsValidPcmFormat // * IsValidXboxAdpcmFormat // * CopyFormatAlloc +// * List of functions might need to be register: +// * IDirectSoundBuffer_QueryInterface +// * IDirectSoundBuffer_QueryInterfaceC // * List of internal functions are not register: // * CDirectSoundBuffer_Release (Is unique, however need multiple OOVPAs to register all revisions) // * Using XREF_DS_CRefCount_Release // * CDirectSound_Release (Is unique, however need multiple OOVPAs to register all revisions) // * Using XREF_DS_CRefCount_Release +// * 3936 verification needed: +// * CDirectSoundBuffer_SetVolume +// * IDirectSoundBuffer_SetVolume +// * What else? Need to re-check the list again... +// * 4039 verification needed: +// * DirectSoundCreateBuffer +// * DirectSoundCreateStream +// * DirectSoundUseLightHRTF +// * IDirectSound_CommitEffectData +// * IDirectSound_GetCaps +// * IDirectSound_GetEffectData +// * IDirectSound_GetSpeakerConfig +// * IDirectSound_GetTime +// * IDirectSound_SetAllParameters +// * IDirectSound_SetEffectData +// * IDirectSound_SetMixBinHeadroom +// * IDirectSoundBuffer_PlayEx +// * IDirectSoundBuffer_SetI3DL2Source +// * IDirectSoundBuffer_SetNotificationPositions +// * CDirectSoundStream_SetFormat +// * CDirectSoundStream_SetHeadroom +// * CDirectSoundStream_SetI3DL2Source +// * CDirectSoundStream_SetRolloffCurve +// * CDirectSoundStream_SetRolloffFactor +// * IDirectSoundStream_SetHeadroom #ifndef DSOUND_OOVPA_INL @@ -157,8 +182,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z - REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911), - REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911), + REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911, 4039), + REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 4039), REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4361, 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911), @@ -248,14 +273,14 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 3911, 4039, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), - REGISTER_OOVPAS(CDirectSoundStream_AddRef, PATCH, 3911), - REGISTER_OOVPAS(CDirectSoundStream_Discontinuity, PATCH, 3911), - REGISTER_OOVPAS(CDirectSoundStream_Flush, PATCH, 3911), + REGISTER_OOVPAS(CDirectSoundStream_AddRef, PATCH, 3911, 4039), + REGISTER_OOVPAS(CDirectSoundStream_Discontinuity, PATCH, 3911, 4039), + REGISTER_OOVPAS(CDirectSoundStream_Flush, PATCH, 3911, 4039), REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), - REGISTER_OOVPAS(CDirectSoundStream_GetInfo, PATCH, 3911), + REGISTER_OOVPAS(CDirectSoundStream_GetInfo, PATCH, 3911, 4039), REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911, 4039), REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4039, 4361, 5558), - REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911), + REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911, 4039), REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911, 4039), @@ -270,7 +295,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3911, 4039, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3911, 3936, 4627, 5233, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3911, 4039, 4627, 5233, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4039, 4134), @@ -336,7 +361,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3911, 4627), + REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 4039, 4361), @@ -344,7 +369,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetVelocity, PATCH, 3911, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3911, 3936, 4039), + REGISTER_OOVPAS(IDirectSoundBuffer_SetVolume, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_Stop, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_StopEx, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Unlock, PATCH, 3911), @@ -363,7 +388,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundStream_SetI3DL2Source, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, UNPATCHED, 3911), - REGISTER_OOVPAS(IDirectSoundStream_SetMixBins, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetMixBins, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundStream_SetMixBinVolumes_12, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, see more note for CDirectSoundStream_SetMixBinVolumes_12 REGISTER_OOVPAS(IDirectSoundStream_SetMixBinVolumes_8, UNPATCHED, 4039), //NOTE: 4039 and newer only perform a jmp. REGISTER_OOVPAS(IDirectSoundStream_SetMode, UNPATCHED, 3911), //NOTE: 3911 only perform a jmp, later XDK revision may need a patch? From e2d02b21248cbf929d3d5ae8b4bee769500cedd2 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 11 Oct 2017 11:37:05 -0500 Subject: [PATCH 114/146] DSound Signature for 3925 and 3936 Titles are Done - 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 --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 91 ++++++++++++++++++-- src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl | 62 +++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 30 +++---- 4 files changed, 160 insertions(+), 25 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index ebb9fade6..83f41c76c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -1662,21 +1662,21 @@ OOVPA_XREF(CSensaura3d_GetLiteHRTFFilterPair, 3911, 10, XREF_CSensaura3d_GetLiteHRTFFilterPair, XRefZero) - //CSensaura3d_GetLightHRTFFilterPair+0x00 : push ebp + //CSensaura3d_GetLiteHRTFFilterPair+0x00 : push ebp { 0x00, 0x55 }, - //CSensaura3d_GetLightHRTFFilterPair+0x14 : push ecx + //CSensaura3d_GetLiteHRTFFilterPair+0x14 : push ecx { 0x15, 0x51 }, - //CSensaura3d_GetLightHRTFFilterPair+0x22 : push 3 + //CSensaura3d_GetLiteHRTFFilterPair+0x22 : push 3 { 0x1F, 0x6A }, { 0x20, 0x03 }, - //CSensaura3d_GetLightHRTFFilterPair+0x22 : idiv eax, ecx + //CSensaura3d_GetLiteHRTFFilterPair+0x22 : idiv eax, ecx { 0x22, 0xF7 }, { 0x23, 0xF9 }, - //CSensaura3d_GetLightHRTFFilterPair+0x24 : cmp dword ptr [ebp+10h], 0 + //CSensaura3d_GetLiteHRTFFilterPair+0x24 : cmp dword ptr [ebp+10h], 0 { 0x24, 0x83 }, { 0x25, 0x7D }, { 0x26, 0x10 }, @@ -2119,7 +2119,7 @@ OOVPA_END; // ****************************************************************** // * CMcpxStream_Flush // ****************************************************************** -OOVPA_XREF(CMcpxStream_Flush, 3911, 11, +OOVPA_XREF(CMcpxStream_Flush, 3911, 15, XREF_CMcpxStream_Flush, XRefZero) @@ -2135,6 +2135,12 @@ OOVPA_XREF(CMcpxStream_Flush, 3911, 11, { 0x4B, 0xE8 }, + //CMcpxStream_Flush+0x57 : e__,0x80004004 (unique value) + { 0x58, 0x04 }, + { 0x59, 0x40 }, + { 0x5A, 0x00 }, + { 0x5B, 0x80 }, + { 0x62, 0xE8 }, @@ -5592,3 +5598,76 @@ OOVPA_XREF(CMcpxStream_Pause, 3911, 12, { 0x45, 0xC2 }, { 0x46, 0x04 }, OOVPA_END; + +// ****************************************************************** +// * XAudioCreatePcmFormat +// ****************************************************************** +OOVPA_NO_XREF(XAudioCreatePcmFormat, 3911, 11) + + { 0x00, 0x8B }, + + { 0x11, 0x02 }, + { 0x18, 0x0E }, + { 0x2E, 0x10 }, + + + //XAudioCreatePcmFormat+0x10 : mov word ptr [ecx],1 + { 0x34, 0x66 }, + { 0x35, 0xC7 }, + { 0x36, 0x01 }, + { 0x37, 0x01 }, + { 0x38, 0x00 }, + + { 0x47, 0xC2 }, + { 0x48, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * XAudioCreateAdpcmFormat +// ****************************************************************** +OOVPA_NO_XREF(XAudioCreateAdpcmFormat, 3911, 14) + + { 0x00, 0x8B }, + { 0x04, 0x8B }, + { 0x09, 0x8B }, + + //XAudioCreateAdpcmFormat+0x10 : mov word ptr [edx],69h + { 0x10, 0x66 }, + { 0x11, 0xC7 }, + { 0x12, 0x02 }, + { 0x13, 0x69 }, + { 0x14, 0x00 }, + + { 0x20, 0x04 }, + + { 0x22, 0xE8 }, + + { 0x38, 0x02 }, + + { 0x3E, 0x40 }, + + { 0x41, 0xC2 }, + { 0x42, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IsValidFormat +// ****************************************************************** +OOVPA_NO_XREF(IsValidFormat, 3911, 10) + + { 0x00, 0x8B }, + { 0x04, 0x0F }, + { 0x07, 0x48 }, + + //IsValidFormat+0x10 : sub eax,68h + { 0x0A, 0x83 }, + { 0x0B, 0xE8 }, + { 0x0C, 0x68 }, + + { 0x14, 0xE8 }, + + { 0x1C, 0xE8 }, + + { 0x21, 0xC2 }, + { 0x22, 0x04 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl index 5ce8ad491..f8a5f1398 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3936.inl @@ -3998,6 +3998,68 @@ OOVPA_XREF(IDirectSoundBuffer_SetConeOrientation, 3936, 9, { 0x34, 0x00 } OOVPA_END; #endif + +// ****************************************************************** +// * CMcpxStream_Flush +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Flush, 3936, 15, + XREF_CMcpxStream_Flush, + XRefZero) + + { 0x08, 0xF6 }, + { 0x12, 0xF6 }, + + { 0x22, 0x33 }, + { 0x24, 0x33 }, + + { 0x2F, 0x83 }, + { 0x30, 0xFF }, + { 0x31, 0x03 }, + + { 0x4D, 0xE8 }, + + //CMcpxStream_Flush+0x54 : e__,0x80004004 (unique value) + { 0x55, 0x04 }, + { 0x56, 0x40 }, + { 0x57, 0x00 }, + { 0x58, 0x80 }, + + { 0x5F, 0xE8 }, + + + { 0xA1, 0xC9 }, + { 0xA2, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CSensaura3d_GetLiteHRTFFilterPair +// ****************************************************************** +OOVPA_XREF(CSensaura3d_GetLiteHRTFFilterPair, 3936, 10, + + XREF_CSensaura3d_GetLiteHRTFFilterPair, + XRefZero) + + //CSensaura3d_GetLiteHRTFFilterPair+0x00 : push ebp + { 0x00, 0x55 }, + + //CSensaura3d_GetLiteHRTFFilterPair+0x14 : push ecx + { 0x15, 0x51 }, + + //CSensaura3d_GetLiteHRTFFilterPair+0x22 : push 3 + { 0x1F, 0x6A }, + { 0x20, 0x03 }, + + //CSensaura3d_GetLiteHRTFFilterPair+0x22 : idiv eax, ecx + { 0x22, 0xF7 }, + { 0x23, 0xF9 }, + + //CSensaura3d_GetLiteHRTFFilterPair+0x24 : cmp dword ptr [ebp+10h], 0 + { 0x36, 0x83 }, + { 0x37, 0x7D }, + { 0x38, 0x10 }, + { 0x39, 0x00 }, +OOVPA_END; + // ****************************************************************** // * DSound_3936 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 9a088e143..4033a80af 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -971,7 +971,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4039, 13, { 0x7D, 0x0C }, OOVPA_END; -// TODO: Is there IDirectSoundBuffer_SetPlayRegion in 3936? Revision 3925 doesn't have one. + // ****************************************************************** // * IDirectSoundBuffer_SetPlayRegion // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 16a926ae4..546b7d352 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -33,11 +33,11 @@ // * // ****************************************************************** -// Titles which did compiled with full libary -// [revi] Title Name | Verify | Comments +// Titles which did compiled with full libary version +// [LibV] Title Name | Verify | Comments //------------------------------------------------------------------- -// * [3925] Cel Damage | 100% | Contain full library. Need to add 3 missing OOVPAs, see TODO issue list. -// * [3936] Silent Hill 2 | 80% | Need verify non-exist function is there or not, re-check missing detection. +// * [3925] Cel Damage | 100% | Contain full library. +// * [3936] Silent Hill 2 | 100% | Contain full library. // * [4039] Nightcaster | 100% | Only has 90% of the library compiled with xbe build. // * [4134] RaceX (Demo) | 1% | Does not have full library? Need to create bunch of OOVPAs... // * [4134] Blood Omen 2 | 1% | Does not have full library? Need to create bunch of OOVPAs... @@ -61,7 +61,7 @@ // * IDirectSoundBuffer_SetRolloffCurve // * IDirectSoundBuffer_Pause // * IDirectSoundBuffer_PauseEx -// * IDirectSoundBuffer_SetPlayRegion (last seen is 4039?) +// * IDirectSoundBuffer_SetPlayRegion (Introduce in 4039, last known earliest revision) // * IDirectSoundStream_FlushEx // * IDirectSoundStream_GetVoiceProperties // * IDirectSoundStream_PauseEx @@ -88,11 +88,7 @@ // * IDirectSoundStream_SetFrequency & CDirectSoundStream_SetFrequency // * IDirectSoundStream_SetMixBins & CDirectSoundStream_SetMixBins // * Need to include func export support for IDirectSoundStream_Setxxxxx from above. -// * 3911 - Need to add: -// * XAudioCreateAdpcmFormat -// * XAudioCreatePcmFormat -// * IsValidFormat -// Not part of API, yet is a non-member function : (might be useful) +// * 3911 - Not part of API, yet is a non-member function : (might be useful) // * GetFormatSize // * CopyFormat // * CompareFormats @@ -108,10 +104,6 @@ // * Using XREF_DS_CRefCount_Release // * CDirectSound_Release (Is unique, however need multiple OOVPAs to register all revisions) // * Using XREF_DS_CRefCount_Release -// * 3936 verification needed: -// * CDirectSoundBuffer_SetVolume -// * IDirectSoundBuffer_SetVolume -// * What else? Need to re-check the list again... // * 4039 verification needed: // * DirectSoundCreateBuffer // * DirectSoundCreateStream @@ -120,7 +112,7 @@ // * IDirectSound_GetCaps // * IDirectSound_GetEffectData // * IDirectSound_GetSpeakerConfig -// * IDirectSound_GetTime +// * IDirectSound_GetTime (It is generic) // * IDirectSound_SetAllParameters // * IDirectSound_SetEffectData // * IDirectSound_SetMixBinHeadroom @@ -183,10 +175,10 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911, 4039), - REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 4039), + REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 3936, 4039), REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4361, 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), - REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911), + REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOrientation, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dConeOutsideVolume, XREF, 3911), @@ -437,7 +429,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(WaveFormat_CreateXboxAdpcmFormat, XREF, 5344), REGISTER_OOVPAS(XAudioDownloadEffectsImage, PATCH, 4627, 5558, 5788), - REGISTER_OOVPAS(XAudioCreateAdpcmFormat, PATCH, 5344), + REGISTER_OOVPAS(IsValidFormat, UNPATCHED, 3911), + REGISTER_OOVPAS(XAudioCreatePcmFormat, UNPATCHED, 3911), + REGISTER_OOVPAS(XAudioCreateAdpcmFormat, PATCH, 3911, 5344), REGISTER_OOVPAS(XFileCreateMediaObjectAsync, PATCH, 5788), REGISTER_OOVPAS(XFileCreateMediaObjectEx, PATCH, 4627, 5028), REGISTER_OOVPAS(XWaveFileCreateMediaObject, PATCH, 4627), From e8dff9aeb7244735d28a6996ad32090b0af714d8 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Fri, 6 Oct 2017 18:41:12 +0900 Subject: [PATCH 115/146] Replace XREF_XNINIT to XREF_XnInit --- src/CxbxKrnl/HLEDataBase.h | 2 +- src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl | 6 +++--- src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl | 6 +++--- src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl | 6 +++--- src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl | 2 +- src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index a995ee75b..630d970f3 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -179,7 +179,7 @@ enum XRefDataBaseOffset XREF_D3DTexture_GetSurfaceLevel2, XREF_D3DDevice_CreatePalette2, XREF_D3DDevice_CreateIndexBuffer2, - XREF_XNINIT, + XREF_XnInit, XREF_XID_fCloseDevice, XREF_D3D_ClearStateBlockFlags, XREF_D3D_RecordStateBlock, diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl index 8a4ae0a89..218c073ab 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl @@ -41,7 +41,7 @@ OOVPA_XREF(XNetStartup, 3911, 9, XRefOne) // XNetStartup+0x07 : call [XnInit] - XREF_ENTRY( 0x07, XREF_XNINIT ), + XREF_ENTRY( 0x07, XREF_XnInit ), // XNetStartup+0x00 : push 0 { 0x00, 0x6A }, @@ -67,7 +67,7 @@ OOVPA_XREF(WSAStartup, 3911, 11, XRefOne) // WSAStartup+0x07 : call [XnInit] - XREF_ENTRY( 0x07, XREF_XNINIT ), + XREF_ENTRY( 0x07, XREF_XnInit ), // WSAStartup+0x01 : push 1; xor ebx, ebx { 0x01, 0x6A }, @@ -89,7 +89,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XnInit, 3911, 11, - XREF_XNINIT, + XREF_XnInit, XRefZero) // XnInit+0x31 : push 0x3554454E diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl index 5fbbf58c6..0f534c992 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl @@ -37,7 +37,7 @@ // ****************************************************************** OOVPA_XREF(XnInit, 4627, 18, - XREF_XNINIT, + XREF_XnInit, XRefZero) // XnInit+0x0000 : push ebp @@ -80,7 +80,7 @@ OOVPA_XREF(XNetStartup, 4627, 8, XRefOne) // XNetStartup+0x0F : call [XnInit] - XREF_ENTRY( 0x10, XREF_XNINIT ), + XREF_ENTRY( 0x10, XREF_XnInit ), // XNetStartup+0x00 : xor eax, eax { 0x00, 0x33 }, @@ -109,7 +109,7 @@ OOVPA_XREF(WSAStartup, 4627, 9, XRefOne) // WSAStartup+0x0F : call [XnInit] - XREF_ENTRY( 0x14, XREF_XNINIT ), + XREF_ENTRY( 0x14, XREF_XnInit ), // WSAStartup+0x00 : push [esp+0x08] { 0x00, 0xFF }, diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl index 3a5769c8b..3c2b24543 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl @@ -41,7 +41,7 @@ OOVPA_XREF(XNetStartup, 4361, 8, XRefOne) // XNetStartup+0x0F : call [XnInit] - XREF_ENTRY( 0x10, XREF_XNINIT ), + XREF_ENTRY( 0x10, XREF_XnInit ), // XNetStartup+0x00 : xor eax, eax { 0x00, 0x33 }, @@ -70,7 +70,7 @@ OOVPA_XREF(WSAStartup, 4361, 9, XRefOne) // WSAStartup+0x0F : call [XnInit] - XREF_ENTRY( 0x14, XREF_XNINIT ), + XREF_ENTRY( 0x14, XREF_XnInit ), // WSAStartup+0x00 : push [esp+0x08] { 0x00, 0xFF }, @@ -90,7 +90,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(XnInit, 4361, 10, - XREF_XNINIT, + XREF_XnInit, XRefZero) // XnInit+0x03 : sub esp, 0x0214 diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl index 2926e231c..70293c149 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl @@ -37,7 +37,7 @@ // ****************************************************************** //OOVPA_XREF(XnInit, 4627, 12, // -// XREF_XNINIT, +// XREF_XnInit, // XRefZero) // // // XnInit+0x03 : sub esp, 0x0218 diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl index 9a2186193..883fd21d4 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl @@ -37,7 +37,7 @@ // ****************************************************************** OOVPA_XREF(XnInit, 5788, 8, - XREF_XNINIT, + XREF_XnInit, XRefZero) { 0x1E, 0x3B }, From 5635cb857592d6cdf6071ed62077dca425e0dc62 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Fri, 6 Oct 2017 18:47:59 +0900 Subject: [PATCH 116/146] Initialize commits of HLEDB 2v XNet --- build/win32/Cxbx.vcxproj | 1 + build/win32/Cxbx.vcxproj.filters | 3 ++ src/CxbxKrnl/HLEDataBase.cpp | 7 +-- src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl | 67 +++++++++++++++++++++++++ 4 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index 5fe56c5f2..8b0a11497 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -408,6 +408,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index e4aecf01c..60c3786c7 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -602,6 +602,9 @@ GUI + + HLEDatabase + HLEDatabase diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index bf9db36e6..4d782da02 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -71,8 +71,7 @@ const char *Sec_XNET = "XNET"; #include "HLEDataBase/D3D8.OOVPA.inl" #include "HLEDataBase/DSound.OOVPA.inl" #include "HLEDataBase/XG.OOVPA.inl" -#include "HLEDataBase/XNet.1.0.3911.inl" -#include "HLEDataBase/XNet.1.0.4627.inl" +#include "HLEDataBase/XNET.OOVPA.inl" #include "HLEDataBase/XOnline.1.0.4361.inl" #include "HLEDataBase/XOnline.1.0.4627.inl" #include "HLEDataBase/XOnline.1.0.5028.inl" @@ -158,8 +157,10 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_XGRAPHC, XG, 5788), HLE_ENTRY(Lib_XGRAPHC, XG, 5849), #endif +#if ENABLE_LEGACY_XNETS_DB HLE_ENTRY(Lib_XNETS, XNet, 3911), HLE_ENTRY(Lib_XNETS, XNet, 4627), +#endif HLE_ENTRY(Lib_XONLINE, XOnline, 4361), // TODO : Typo for XONLINES? @@ -211,7 +212,7 @@ const HLEDataV2 HLEDataBaseV2[] = { //{ Lib_XONLINES,{ Sec_XONLINE, Sec_XNET }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, // XNETS only has XNET, might be true. - //{ Lib_XNETS,{ Sec_XNET }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, + { Lib_XNETS,{ Sec_XNET }, XNET_OOVPAV2, XNET_OOVPA_SIZEV2 }, }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl new file mode 100644 index 000000000..c0ff5c1d7 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl @@ -0,0 +1,67 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o oP"``"Yo _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->HLEDatabase->XNet.OOVPA.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not write to the Free Software Foundation Inc., +// * 59 Temple Place - Suite 330 Bostom MA 02111-1307 USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + + +#ifndef XNET_OOVPA_INL +#define XNET_OOVPA_INL + +#include "../OOVPA.h" + +#include "HLEDataBase/XNet.1.0.3911.inl" +#include "HLEDataBase/XNet.1.0.4627.inl" + +// ****************************************************************** +// * XNET_OOVPA +// ****************************************************************** +OOVPATable XNET_OOVPAV2[] = { + + REGISTER_OOVPAS(XnInit, XREF, 3911, 4627), + REGISTER_OOVPAS(WSAStartup, PATCH, 3911, 4627), // same as xonline 4361 (from 4627's comment) + REGISTER_OOVPAS(XNetStartup, PATCH, 3911, 4627), // same as xonline 4361 (from 4627's comment) + REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911), + REGISTER_OOVPAS(bind, PATCH, 3911, 4627), + REGISTER_OOVPAS(connect, PATCH, 3911, 4627), + REGISTER_OOVPAS(ioctlsocket, PATCH, 3911, 4627), + REGISTER_OOVPAS(listen, PATCH, 3911, 4627), + REGISTER_OOVPAS(recv, PATCH, 3911, 4627), + REGISTER_OOVPAS(send, PATCH, 3911, 4627), + REGISTER_OOVPAS(socket, PATCH, 3911, 4627), +}; + +// ****************************************************************** +// * XNET_OOVPA_SIZE +// ****************************************************************** +uint32 XNET_OOVPA_SIZEV2 = sizeof(XNET_OOVPAV2); + +#endif From ddf417e523d8971e10c43c68bcc291e66dc50532 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Fri, 6 Oct 2017 19:32:30 +0900 Subject: [PATCH 117/146] Support inline functions plus added notes XnInit is for only XNETS library. XNET library is different one. Verified with Halo - Combat Evolved (3911) Tony Hawk's Pro Skater 3 (4039) --- src/CxbxKrnl/HLEDataBase.cpp | 2 +- src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl | 1 + src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl | 7 ++++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 4d782da02..db398c5d0 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -212,7 +212,7 @@ const HLEDataV2 HLEDataBaseV2[] = { //{ Lib_XONLINES,{ Sec_XONLINE, Sec_XNET }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, // XNETS only has XNET, might be true. - { Lib_XNETS,{ Sec_XNET }, XNET_OOVPAV2, XNET_OOVPA_SIZEV2 }, + { Lib_XNETS,{ Sec_text, Sec_XNET }, XNET_OOVPAV2, XNET_OOVPA_SIZEV2 }, }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl index 218c073ab..1e1848115 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl @@ -87,6 +87,7 @@ OOVPA_END; // ****************************************************************** // * XnInit // ****************************************************************** +// For only XNETS library, XNET library is different OOVPA. OOVPA_XREF(XnInit, 3911, 11, XREF_XnInit, diff --git a/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl index c0ff5c1d7..603c8bf49 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl @@ -32,6 +32,11 @@ // * // ****************************************************************** +// TODO: Known XNET OOVPA issue list +// * Verified each OOVPA only with 3911, 4039. +// * XnInit is for only XNETS library. XNET library is different one. +// * Following OOVPA revision are not verified +// * listen (4039) #ifndef XNET_OOVPA_INL #define XNET_OOVPA_INL @@ -46,7 +51,7 @@ // ****************************************************************** OOVPATable XNET_OOVPAV2[] = { - REGISTER_OOVPAS(XnInit, XREF, 3911, 4627), + REGISTER_OOVPAS(XnInit, XREF, 3911, 4627), // For only XNETS library, XNET library is different OOVPA. REGISTER_OOVPAS(WSAStartup, PATCH, 3911, 4627), // same as xonline 4361 (from 4627's comment) REGISTER_OOVPAS(XNetStartup, PATCH, 3911, 4627), // same as xonline 4361 (from 4627's comment) REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911), From 7633870fe732ccc0c9e926525e93a647b0511673 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Fri, 6 Oct 2017 19:54:47 +0900 Subject: [PATCH 118/146] Initialize commits of HLEDB 2v XOnlines --- build/win32/Cxbx.vcxproj | 1 + build/win32/Cxbx.vcxproj.filters | 3 + src/CxbxKrnl/HLEDataBase.cpp | 13 ++-- src/CxbxKrnl/HLEDataBase.h | 2 +- src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl | 75 ++++++++++++++++++++++ 5 files changed, 84 insertions(+), 10 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index 8b0a11497..584bbc5d0 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -417,6 +417,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 60c3786c7..295056215 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -881,6 +881,9 @@ HLEDatabase\XOnline + + HLEDatabase\XOnline + diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index db398c5d0..8a96ebe91 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -72,14 +72,7 @@ const char *Sec_XNET = "XNET"; #include "HLEDataBase/DSound.OOVPA.inl" #include "HLEDataBase/XG.OOVPA.inl" #include "HLEDataBase/XNET.OOVPA.inl" -#include "HLEDataBase/XOnline.1.0.4361.inl" -#include "HLEDataBase/XOnline.1.0.4627.inl" -#include "HLEDataBase/XOnline.1.0.5028.inl" -#include "HLEDataBase/XOnline.1.0.5233.inl" -#include "HLEDataBase/XOnline.1.0.5344.inl" -#include "HLEDataBase/XOnline.1.0.5558.inl" -#include "HLEDataBase/XOnline.1.0.5788.inl" -#include "HLEDataBase/XOnline.1.0.5849.inl" +#include "HLEDataBase/XOnline.OOVPA.inl" #include "HLEDataBase/XactEng.OOVPA.inl" @@ -164,6 +157,7 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_XONLINE, XOnline, 4361), // TODO : Typo for XONLINES? +#if ENABLE_LEGACY_XONLINES_DB // TODO: Verify differences between XONLINE and XONLINES (if any) HLE_ENTRY(Lib_XONLINES, XOnline, 4627), HLE_ENTRY(Lib_XONLINES, XOnline, 5028), @@ -172,6 +166,7 @@ const HLEData HLEDataBase[] = HLE_ENTRY(Lib_XONLINES, XOnline, 5558), HLE_ENTRY(Lib_XONLINES, XOnline, 5788), HLE_ENTRY(Lib_XONLINES, XOnline, 5849), +#endif }; const HLEDataV2 HLEDataBaseV2[] = { @@ -209,7 +204,7 @@ const HLEDataV2 HLEDataBaseV2[] = { //{ Lib_XONLINE,{ Sec_XONLINE }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, // Fun fact, XONLINES are split into 2 header sections. - //{ Lib_XONLINES,{ Sec_XONLINE, Sec_XNET }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, + { Lib_XONLINES,{ Sec_text, Sec_XONLINE, Sec_XNET }, XONLINES_OOVPAV2, XONLINES_OOVPA_SIZEV2 }, // XNETS only has XNET, might be true. { Lib_XNETS,{ Sec_text, Sec_XNET }, XNET_OOVPAV2, XNET_OOVPA_SIZEV2 }, diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 630d970f3..d26eb8c3e 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -129,7 +129,7 @@ extern const struct HLEData } HLEDataBase[]; -#define PAIRSCANSEC_MAX 2 +#define PAIRSCANSEC_MAX 3 const struct PairScanLibSec { const char *library; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl new file mode 100644 index 000000000..0ace146d2 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl @@ -0,0 +1,75 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;; .,;; ;;;'';;' `;;; .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o oP"``"Yo _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->HLEDatabase->XOnline.OOVPA.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not write to the Free Software Foundation Inc., +// * 59 Temple Place - Suite 330 Bostom MA 02111-1307 USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +#ifndef XONLINES_OOVPA_INL +#define XONLINES_OOVPA_INL + +#include "../OOVPA.h" + +#include "HLEDataBase/XOnline.1.0.4361.inl" +#include "HLEDataBase/XOnline.1.0.4627.inl" +#include "HLEDataBase/XOnline.1.0.5028.inl" +#include "HLEDataBase/XOnline.1.0.5233.inl" +#include "HLEDataBase/XOnline.1.0.5344.inl" +#include "HLEDataBase/XOnline.1.0.5558.inl" +#include "HLEDataBase/XOnline.1.0.5788.inl" +#include "HLEDataBase/XOnline.1.0.5849.inl" + +// ****************************************************************** +// * XONLINES_OOVPA +// ****************************************************************** +OOVPATable XONLINES_OOVPAV2[] = { + + REGISTER_OOVPAS(XnInit, XREF, 4361, 4627, 5788), + REGISTER_OOVPAS(WSAStartup, PATCH, 4361, 5558), + REGISTER_OOVPAS(XNetStartup, PATCH, 4361, 5233), + REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 4361, 4627), + REGISTER_OOVPAS(bind, PATCH, 3911, 4627), + REGISTER_OOVPAS(connect, PATCH, 3911, 5233), + REGISTER_OOVPAS(ioctlsocket, PATCH, 3911, 4627), + REGISTER_OOVPAS(listen, PATCH, 3911, 4627), + REGISTER_OOVPAS(recv, PATCH, 3911), + REGISTER_OOVPAS(send, PATCH, 3911), + REGISTER_OOVPAS(socket, PATCH, 3911, 4627, 5558), + REGISTER_OOVPAS(CXo_XOnlineLogon, XREF, 4361, 4627, 5028, 5233, 5558, 5849), + REGISTER_OOVPAS(XOnlineLogon, PATCH, 4361), + REGISTER_OOVPAS(XoUpdateLaunchNewImageInternal, XREF, 4627, 5788), +}; + +// ****************************************************************** +// * XONLINES_OOVPA_SIZE +// ****************************************************************** +uint32 XONLINES_OOVPA_SIZEV2 = sizeof(XONLINES_OOVPAV2); + +#endif From a46c2eab56bc70f3dced9f077ef69edeb8bfca55 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Fri, 6 Oct 2017 20:18:59 +0900 Subject: [PATCH 119/146] Added XNet 4361 Verified with MotoGP (4361) --- build/win32/Cxbx.vcxproj | 1 + build/win32/Cxbx.vcxproj.filters | 16 ++- src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl | 136 ++++++++++++++++++ src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl | 9 +- src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl | 11 +- src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl | 10 +- 6 files changed, 168 insertions(+), 15 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index 584bbc5d0..c8de83fe2 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -407,6 +407,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 295056215..dcc4822a3 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -244,10 +244,10 @@ EmuD3D8 - HLEDatabase + HLEDatabase\XNet - HLEDatabase + HLEDatabase\XNet Kernel @@ -603,13 +603,16 @@ GUI - HLEDatabase + HLEDatabase\XNet - HLEDatabase + HLEDatabase\XNet + + + HLEDatabase\XNet - HLEDatabase + HLEDatabase\XNet Shared @@ -904,6 +907,9 @@ {d8ef7ef5-cbb9-4dba-9cab-585519a9756b} + + {b36ac8b9-077a-4ffc-bff9-3f2c0be74924} + {e78a3cc3-abce-4577-90aa-b7535bb09768} diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl new file mode 100644 index 000000000..d6aea8dfc --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl @@ -0,0 +1,136 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XNet.1.0.4361.cpp +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2002-2003 Aaron Robinson +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XnInit +// ****************************************************************** +//Generic OOVPA as of 4361 and newer. +OOVPA_XREF(XnInit, 4361, 15, + + XREF_XnInit, + XRefZero) + + { 0x00, 0x55 }, + + { 0x14, 0xBA }, + { 0x15, 0x01 }, + { 0x16, 0x00 }, + { 0x17, 0x00 }, + { 0x18, 0x00 }, + { 0x19, 0x0F }, + { 0x1A, 0xB1 }, + { 0x1B, 0x11 }, + { 0x1C, 0x33 }, + { 0x1D, 0xF6 }, + { 0x1E, 0x3B }, + { 0x1F, 0xC6 }, + + { 0x3C, 0x68 }, + { 0x3D, 0x4E }, +OOVPA_END; + +// ****************************************************************** +// * WSAStartup +// ****************************************************************** +OOVPA_XREF(WSAStartup, 4361, 9, + + XRefNoSaveIndex, + XRefOne) + + // WSAStartup+0x0F : call [XnInit] + XREF_ENTRY( 0x14, XREF_XnInit ), + + // WSAStartup+0x00 : push [esp+0x08] + { 0x00, 0xFF }, + { 0x01, 0x74 }, + { 0x02, 0x24 }, + { 0x03, 0x08 }, + + // WSAStartup+0x04 : push [esp+0x08] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * XNetStartup +// ****************************************************************** +OOVPA_XREF(XNetStartup, 4361, 8, + + XRefNoSaveIndex, + XRefOne) + + // XNetStartup+0x0F : call [XnInit] + XREF_ENTRY( 0x10, XREF_XnInit ), + + // XNetStartup+0x00 : xor eax, eax + { 0x00, 0x33 }, + { 0x01, 0xC0 }, + + // XNetStartup+0x02 : push eax + { 0x02, 0x50 }, + + // XNetStartup+0x03 : push eax + { 0x03, 0x50 }, + + // XNetStartup+0x04 : push eax + { 0x04, 0x50 }, + + // XNetStartup+0x14 : retn 0x04 + { 0x14, 0xC2 }, + { 0x15, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * XNetGetEthernetLinkStatus +// ****************************************************************** +OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4361, 13) + + { 0x00, 0x56 }, + { 0x01, 0x33 }, + { 0x02, 0xF3 }, + { 0x03, 0xB8 }, + { 0x04, 0x00 }, + { 0x05, 0x00 }, + { 0x06, 0x00 }, + { 0x07, 0x00 }, + { 0x08, 0xB9 }, + + { 0x0D, 0xBA }, + { 0x1A, 0xE8 }, + + { 0x27, 0x75 }, + { 0x2C, 0x15 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl index 0f534c992..e12073c11 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl @@ -71,6 +71,7 @@ OOVPA_XREF(XnInit, 4627, 18, { 0x0205, 0x00 }, OOVPA_END; +#if 0 // No longer used, replaced by generic XNet 4361 version // ****************************************************************** // * XNetStartup // ****************************************************************** @@ -99,7 +100,8 @@ OOVPA_XREF(XNetStartup, 4627, 8, { 0x14, 0xC2 }, { 0x15, 0x04 }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by generic XNet 4361 version // ****************************************************************** // * WSAStartup // ****************************************************************** @@ -123,6 +125,7 @@ OOVPA_XREF(WSAStartup, 4627, 9, { 0x06, 0x24 }, { 0x07, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CXnSock::socket @@ -417,8 +420,8 @@ OOVPA_END; OOVPATable XNet_4627[] = { REGISTER_OOVPA(XnInit, 4627, XREF), - REGISTER_OOVPA(XNetStartup, 4627, PATCH), // same as xonline 4361 - REGISTER_OOVPA(WSAStartup, 4627, PATCH), // same as xonline 4361 + REGISTER_OOVPA(XNetStartup, 4361, PATCH), + REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(socket, 4627, PATCH), REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl index 603c8bf49..410e8cf91 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl @@ -33,7 +33,7 @@ // ****************************************************************** // TODO: Known XNET OOVPA issue list -// * Verified each OOVPA only with 3911, 4039. +// * Verified each OOVPA with 3911, 4039, 4361, 4627. // * XnInit is for only XNETS library. XNET library is different one. // * Following OOVPA revision are not verified // * listen (4039) @@ -44,6 +44,7 @@ #include "../OOVPA.h" #include "HLEDataBase/XNet.1.0.3911.inl" +#include "HLEDataBase/XNet.1.0.4361.inl" #include "HLEDataBase/XNet.1.0.4627.inl" // ****************************************************************** @@ -51,10 +52,10 @@ // ****************************************************************** OOVPATable XNET_OOVPAV2[] = { - REGISTER_OOVPAS(XnInit, XREF, 3911, 4627), // For only XNETS library, XNET library is different OOVPA. - REGISTER_OOVPAS(WSAStartup, PATCH, 3911, 4627), // same as xonline 4361 (from 4627's comment) - REGISTER_OOVPAS(XNetStartup, PATCH, 3911, 4627), // same as xonline 4361 (from 4627's comment) - REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911), + REGISTER_OOVPAS(XnInit, XREF, 3911, 4361/*, 4627*/), // 3911 is only XNETS library, XNET library is different OOVPA. + REGISTER_OOVPAS(WSAStartup, PATCH, 3911, 4361/*, 4627*/), + REGISTER_OOVPAS(XNetStartup, PATCH, 3911, 4361/*, 4627*/), + REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911, 4361), REGISTER_OOVPAS(bind, PATCH, 3911, 4627), REGISTER_OOVPAS(connect, PATCH, 3911, 4627), REGISTER_OOVPAS(ioctlsocket, PATCH, 3911, 4627), diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl index 3c2b24543..1fd312910 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // Moved to XNet 4361 // ****************************************************************** // * XNetStartup // ****************************************************************** @@ -60,7 +61,8 @@ OOVPA_XREF(XNetStartup, 4361, 8, { 0x14, 0xC2 }, { 0x15, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to XNet 4361 // ****************************************************************** // * WSAStartup // ****************************************************************** @@ -84,7 +86,8 @@ OOVPA_XREF(WSAStartup, 4361, 9, { 0x06, 0x24 }, { 0x07, 0x08 }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by generic XNet 4361 version // ****************************************************************** // * XnInit // ****************************************************************** @@ -109,6 +112,7 @@ OOVPA_XREF(XnInit, 4361, 10, { 0xBD, 0xEC }, { 0xBE, 0x01 }, OOVPA_END; +#endif #if 0 // Moved to XNet 3911 // ****************************************************************** // * CXnSock::socket @@ -245,6 +249,7 @@ OOVPA_XREF(XOnlineLogon, 4361, 5, { 0x0A, 0xE9 }, OOVPA_END; +#if 0 // Moved to XNet 4361 // ****************************************************************** // * XNetGetEthernetLinkStatus // ****************************************************************** @@ -266,6 +271,7 @@ OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4361, 13) { 0x27, 0x75 }, { 0x2C, 0x15 }, OOVPA_END; +#endif // ****************************************************************** // * XOnline_4361 From b0db95812c1711ab6acf5827ea1b8bb592f377f7 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 7 Oct 2017 21:28:22 +0900 Subject: [PATCH 120/146] Added XNETN library --- src/CxbxKrnl/HLEDataBase.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/CxbxKrnl/HLEDataBase.cpp b/src/CxbxKrnl/HLEDataBase.cpp index 8a96ebe91..0422b219b 100644 --- a/src/CxbxKrnl/HLEDataBase.cpp +++ b/src/CxbxKrnl/HLEDataBase.cpp @@ -58,6 +58,7 @@ const char *Sec_XPP = "XPP"; const char *Sec_text = ".text"; const char *Lib_XGRAPHC = "XGRAPHC"; const char *Sec_XGRPH = "XGRPH"; +const char *Lib_XNETN = "XNETN"; const char *Lib_XNETS = "XNETS"; const char *Lib_XONLINE = "XONLINE"; // TODO : Typo for XONLINES? const char *Sec_XONLINE = Lib_XONLINE; @@ -208,6 +209,9 @@ const HLEDataV2 HLEDataBaseV2[] = { // XNETS only has XNET, might be true. { Lib_XNETS,{ Sec_text, Sec_XNET }, XNET_OOVPAV2, XNET_OOVPA_SIZEV2 }, + + // test case: Stake + { Lib_XNETN,{ Sec_text, Sec_XNET }, XNET_OOVPAV2, XNET_OOVPA_SIZEV2 }, }; // ****************************************************************** From 438eca0722206ab4b3c8de621b79e93677e48e42 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sat, 7 Oct 2017 21:41:20 +0900 Subject: [PATCH 121/146] Moved OOVPAs lowered Verified this PR with - XNETS [3911] Halo [4039] Tony Hawk's Pro Skater 3 [4361] MotoGP [4721] TimeSplitters 2 - XNETN [5344] Stake - XONLINES [4831] NBA2K3 [4928] Unreal Championship [5028] Capcom vs. SNK 2 EO [5120] Muzzle Flash [5233] MotoGP 2 [5344] Burnout 2 [5455] Ghost Recon Island Thunder [5558] XIII [5659] Plus Plum 2 [5788] All-Star Baseball '05 [5849] Kingdom Under Fire: The Crusaders --- build/win32/Cxbx.vcxproj | 5 ++ build/win32/Cxbx.vcxproj.filters | 15 +++++ src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl | 33 +++++++++- src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl | 14 +++-- src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl | 39 ++++++++---- src/CxbxKrnl/HLEDataBase/XNet.1.0.5120.inl | 55 +++++++++++++++++ src/CxbxKrnl/HLEDataBase/XNet.1.0.5455.inl | 52 ++++++++++++++++ src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl | 29 ++++++--- src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl | 4 +- src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl | 59 +++++++++--------- src/CxbxKrnl/HLEDataBase/XOnline.1.0.4831.inl | 60 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/XOnline.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl | 10 +++- src/CxbxKrnl/HLEDataBase/XOnline.1.0.5344.inl | 6 +- src/CxbxKrnl/HLEDataBase/XOnline.1.0.5455.inl | 58 ++++++++++++++++++ src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl | 19 +++--- src/CxbxKrnl/HLEDataBase/XOnline.1.0.5659.inl | 56 +++++++++++++++++ src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl | 14 +++-- src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl | 11 ++-- src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl | 42 ++++++++++--- 20 files changed, 492 insertions(+), 93 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/XNet.1.0.5120.inl create mode 100644 src/CxbxKrnl/HLEDataBase/XNet.1.0.5455.inl create mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.4831.inl create mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.5455.inl create mode 100644 src/CxbxKrnl/HLEDataBase/XOnline.1.0.5659.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index c8de83fe2..c8cda6cd1 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -409,13 +409,18 @@ $(SOLUTIONDIR)Export.bat + + + + + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index dcc4822a3..11a2b5a5d 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -614,6 +614,12 @@ HLEDatabase\XNet + + HLEDatabase\XNet + + + HLEDatabase\XNet + Shared @@ -866,6 +872,9 @@ HLEDatabase\XOnline + + HLEDatabase\XOnline + HLEDatabase\XOnline @@ -875,9 +884,15 @@ HLEDatabase\XOnline + + HLEDatabase\XOnline + HLEDatabase\XOnline + + HLEDatabase\XOnline + HLEDatabase\XOnline diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl index 1e1848115..38e06c78b 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.3911.inl @@ -111,6 +111,31 @@ OOVPA_XREF(XnInit, 3911, 11, { 0xBE, 0x08 }, OOVPA_END; +// ****************************************************************** +// * XNetGetEthernetLinkStatus +// ****************************************************************** +OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 3911, 14) + + { 0x00, 0x56 }, + { 0x01, 0x33 }, + { 0x02, 0xF6 }, + { 0x03, 0xB8 }, + { 0x04, 0x00 }, + { 0x05, 0x00 }, + { 0x06, 0x00 }, + { 0x07, 0x00 }, + { 0x08, 0xB9 }, + + { 0x0D, 0xBA }, + { 0x1A, 0xE8 }, + + { 0x27, 0x75 }, + { 0x2C, 0x15 }, + + { 0x3F, 0xC3 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * XNetGetEthernetLinkStatus // ****************************************************************** @@ -132,7 +157,7 @@ OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 3911, 8) // XNetStartup+0x3F : retn { 0x3F, 0xC3 }, OOVPA_END; - +#endif // ****************************************************************** // * CXnSock::socket @@ -229,7 +254,8 @@ OOVPA_END; // ****************************************************************** // * CXnSock::send // ****************************************************************** -OOVPA_NO_XREF(send, 3911, 14) // Up to 5849 +//Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(send, 3911, 14) { 0x00, 0x55 }, { 0x01, 0x8B }, @@ -273,7 +299,8 @@ OOVPA_END; // ****************************************************************** // * CXnSock::recv // ****************************************************************** -OOVPA_NO_XREF(recv, 3911, 14) // Up to 5849 +//Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(recv, 3911, 14) { 0x00, 0x55 }, { 0x01, 0x8B }, diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl index d6aea8dfc..f55c090eb 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl @@ -42,6 +42,7 @@ OOVPA_XREF(XnInit, 4361, 15, XRefZero) { 0x00, 0x55 }, + { 0x0F, 0xB9 }, { 0x14, 0xBA }, { 0x15, 0x01 }, @@ -52,12 +53,13 @@ OOVPA_XREF(XnInit, 4361, 15, { 0x1A, 0xB1 }, { 0x1B, 0x11 }, { 0x1C, 0x33 }, - { 0x1D, 0xF6 }, + //{ 0x1D, 0xF6 }, { 0x1E, 0x3B }, - { 0x1F, 0xC6 }, + //{ 0x1F, 0xC6 }, - { 0x3C, 0x68 }, - { 0x3D, 0x4E }, + { 0x23, 0xE8 }, + { 0x28, 0xEB }, + { 0x3F, 0x54 }, OOVPA_END; // ****************************************************************** @@ -113,6 +115,7 @@ OOVPA_XREF(XNetStartup, 4361, 8, { 0x15, 0x04 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * XNetGetEthernetLinkStatus // ****************************************************************** @@ -120,7 +123,7 @@ OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4361, 13) { 0x00, 0x56 }, { 0x01, 0x33 }, - { 0x02, 0xF3 }, + { 0x02, 0xF6 }, { 0x03, 0xB8 }, { 0x04, 0x00 }, { 0x05, 0x00 }, @@ -134,3 +137,4 @@ OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4361, 13) { 0x27, 0x75 }, { 0x2C, 0x15 }, OOVPA_END; +#endif \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl index e12073c11..ad3f81ea4 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // No longer used, replaced by generic 4361 version // ****************************************************************** // * XnInit // ****************************************************************** @@ -70,8 +71,8 @@ OOVPA_XREF(XnInit, 4627, 18, { 0x0204, 0x18 }, { 0x0205, 0x00 }, OOVPA_END; - -#if 0 // No longer used, replaced by generic XNet 4361 version +#endif +#if 0 // No longer used, replaced by generic 4361 version // ****************************************************************** // * XNetStartup // ****************************************************************** @@ -101,7 +102,7 @@ OOVPA_XREF(XNetStartup, 4627, 8, { 0x15, 0x04 }, OOVPA_END; #endif -#if 0 // No longer used, replaced by generic XNet 4361 version +#if 0 // No longer used, replaced by generic 4361 version // ****************************************************************** // * WSAStartup // ****************************************************************** @@ -189,7 +190,7 @@ OOVPA_NO_XREF(socket, 4627, 20) OOVPA_END; #endif // ****************************************************************** -// * connect +// * CXnSock::connect // ****************************************************************** OOVPA_NO_XREF(connect, 4627, 24) @@ -235,7 +236,7 @@ OOVPA_NO_XREF(connect, 4627, 24) OOVPA_END; // ****************************************************************** -// * send +// * CXnSock::send // ****************************************************************** OOVPA_NO_XREF(send, 4627, 24) @@ -281,7 +282,7 @@ OOVPA_NO_XREF(send, 4627, 24) OOVPA_END; // ****************************************************************** -// * recv +// * CXnSock::recv // ****************************************************************** OOVPA_NO_XREF(recv, 4627, 24) @@ -329,7 +330,8 @@ OOVPA_END; // ****************************************************************** // * CXnSock::ioctlsocket // ****************************************************************** -OOVPA_NO_XREF(ioctlsocket, 4627, 12) // Up to 5849 +//Generic OOVPA as of 4627 and newer. +OOVPA_NO_XREF(ioctlsocket, 4627, 12) { 0x0C, 0x99 }, { 0x1D, 0x83 }, @@ -375,7 +377,8 @@ OOVPA_END; // ****************************************************************** // * CXnSock::bind // ****************************************************************** -OOVPA_NO_XREF(bind, 4627, 12) // Up to 5849 +//Generic OOVPA as of 4627 and newer. +OOVPA_NO_XREF(bind, 4627, 12) { 0x00, 0x56 }, { 0x1D, 0xE8 }, @@ -396,7 +399,8 @@ OOVPA_END; // ****************************************************************** // * CXnSock::listen // ****************************************************************** -OOVPA_NO_XREF(listen, 4627, 12) // Up to 5849 +//Generic OOVPA as of 4627 and newer. +OOVPA_NO_XREF(listen, 4627, 12) { 0x09, 0xBF }, { 0x1B, 0x83 }, @@ -414,12 +418,27 @@ OOVPA_NO_XREF(listen, 4627, 12) // Up to 5849 { 0x55, 0xE8 }, OOVPA_END; +// ****************************************************************** +// * XNetGetEthernetLinkStatus +// ****************************************************************** +OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4627, 8) + + { 0x08, 0x33 }, + { 0x10, 0x8A }, + { 0x19, 0x00 }, + { 0x22, 0x56 }, + { 0x2B, 0xFF }, + { 0x34, 0xF0 }, + { 0x3D, 0x24 }, + { 0x46, 0x5B }, +OOVPA_END; + // ****************************************************************** // * XNet_4627 // ****************************************************************** OOVPATable XNet_4627[] = { - REGISTER_OOVPA(XnInit, 4627, XREF), + REGISTER_OOVPA(XnInit, 4361, XREF), REGISTER_OOVPA(XNetStartup, 4361, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(socket, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.5120.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.5120.inl new file mode 100644 index 000000000..e953363a1 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.5120.inl @@ -0,0 +1,55 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XNet.1.0.5120.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * CXnSock::connect +// ****************************************************************** +//Generic OOVPA as of 5120 and newer. +OOVPA_NO_XREF(connect, 5120, 12) + + { 0x00, 0x55 }, + { 0x19, 0xE8 }, + + { 0x30, 0xF0 }, + { 0x31, 0x85 }, + { 0x32, 0xF6 }, + { 0x33, 0x75 }, + { 0x34, 0x08 }, + { 0x35, 0x83 }, + { 0x36, 0xC8 }, + { 0x37, 0xFF }, + { 0x38, 0xE9 }, + + { 0x61, 0xE8 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.5455.inl new file mode 100644 index 000000000..b0b8c0c27 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.5455.inl @@ -0,0 +1,52 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XNet.1.0.5455.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * CXnSock::socket +// ****************************************************************** +//Generic OOVPA as of 5455 and newer. +OOVPA_NO_XREF(socket, 5455, 10) + + { 0x00, 0x51 }, + { 0x0A, 0xB9 }, + + { 0xB8, 0x83 }, + { 0xB9, 0xC8 }, + { 0xBA, 0xFF }, + { 0xBB, 0xEB }, + { 0xBC, 0x73 }, + { 0xBD, 0x53 }, + { 0xBE, 0xFF }, + { 0xBF, 0x15 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl index 410e8cf91..63f906104 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.OOVPA.inl @@ -32,11 +32,22 @@ // * // ****************************************************************** +// Titles which did compiled with full library +// [revi] Title Name | Verify | Comments +//------------------------------------------------------------------- +// * [3911] Halo | 100% | None +// * [4039] Tony Hawk's Pro Skater 3 | 10/11 | Need verify non-exist function is there or not +// * [4361] MotoGP | 100% | None +// * [4721] TimeSplitters 2 | 8/11 | Need verify too +// * [5344] Stake | 10/11 | Use XNETN library. Need verify too + // TODO: Known XNET OOVPA issue list -// * Verified each OOVPA with 3911, 4039, 4361, 4627. -// * XnInit is for only XNETS library. XNET library is different one. +// * XnInit 3911 is for only XNETS library. XNET library is different one. // * Following OOVPA revision are not verified -// * listen (4039) +// * connect (4721) +// * listen (4039, 4721) +// * send (4721) +// * XNetGetEthernetLinkStatus (5344) #ifndef XNET_OOVPA_INL #define XNET_OOVPA_INL @@ -46,6 +57,8 @@ #include "HLEDataBase/XNet.1.0.3911.inl" #include "HLEDataBase/XNet.1.0.4361.inl" #include "HLEDataBase/XNet.1.0.4627.inl" +#include "HLEDataBase/XNet.1.0.5120.inl" +#include "HLEDataBase/XNet.1.0.5455.inl" // ****************************************************************** // * XNET_OOVPA @@ -55,14 +68,14 @@ OOVPATable XNET_OOVPAV2[] = { REGISTER_OOVPAS(XnInit, XREF, 3911, 4361/*, 4627*/), // 3911 is only XNETS library, XNET library is different OOVPA. REGISTER_OOVPAS(WSAStartup, PATCH, 3911, 4361/*, 4627*/), REGISTER_OOVPAS(XNetStartup, PATCH, 3911, 4361/*, 4627*/), - REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911, 4361), + REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911/*, 4361*/, 4627), REGISTER_OOVPAS(bind, PATCH, 3911, 4627), - REGISTER_OOVPAS(connect, PATCH, 3911, 4627), + REGISTER_OOVPAS(connect, PATCH, 3911/*, 4627*/, 5120), REGISTER_OOVPAS(ioctlsocket, PATCH, 3911, 4627), REGISTER_OOVPAS(listen, PATCH, 3911, 4627), - REGISTER_OOVPAS(recv, PATCH, 3911, 4627), - REGISTER_OOVPAS(send, PATCH, 3911, 4627), - REGISTER_OOVPAS(socket, PATCH, 3911, 4627), + REGISTER_OOVPAS(recv, PATCH, 3911/*, 4627*/), + REGISTER_OOVPAS(send, PATCH, 3911/*, 4627*/), + REGISTER_OOVPAS(socket, PATCH, 3911, 4627, 5455), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl index 1fd312910..dd2264142 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl @@ -249,7 +249,7 @@ OOVPA_XREF(XOnlineLogon, 4361, 5, { 0x0A, 0xE9 }, OOVPA_END; -#if 0 // Moved to XNet 4361 +#if 0 // No longer used, replaced by generic XNet 3911 version // ****************************************************************** // * XNetGetEthernetLinkStatus // ****************************************************************** @@ -283,7 +283,7 @@ OOVPATable XOnline_4361[] = { REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(CXo_XOnlineLogon, 4361, XREF), REGISTER_OOVPA(XOnlineLogon, 4361, PATCH), - REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4361, PATCH), + REGISTER_OOVPA(XNetGetEthernetLinkStatus, 3911, PATCH), REGISTER_OOVPA(socket, 3911, PATCH), REGISTER_OOVPA(bind, 3911, PATCH), REGISTER_OOVPA(listen, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl index 70293c149..fe2ace301 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4627.inl @@ -32,33 +32,35 @@ // * // ****************************************************************** +#if 0 // Belongs in XNet lib // ****************************************************************** -// * XnInit -> Belongs in XNet lib +// * XnInit // ****************************************************************** -//OOVPA_XREF(XnInit, 4627, 12, -// -// XREF_XnInit, -// XRefZero) -// -// // XnInit+0x03 : sub esp, 0x0218 -// { 0x03, 0x81 }, -// { 0x04, 0xEC }, -// { 0x05, 0x18 }, -// { 0x06, 0x02 }, -// -// // XnInit+0x19 : cmpxchg [ecx], edx -// { 0x19, 0x0F }, -// { 0x1A, 0xB1 }, -// { 0x1B, 0x11 }, -// -// // XnInit+0x3C : push 0x4454454E -// { 0x3C, 0x68 }, -// { 0x3D, 0x4E }, -// { 0x3E, 0x45 }, -// { 0x3F, 0x54 }, -// { 0x40, 0x44 }, -//OOVPA_END; +OOVPA_XREF(XnInit, 4627, 12, + XREF_XnInit, + XRefZero) + + XnInit+0x03 : sub esp, 0x0218 + { 0x03, 0x81 }, + { 0x04, 0xEC }, + { 0x05, 0x18 }, + { 0x06, 0x02 }, + + XnInit+0x19 : cmpxchg [ecx], edx + { 0x19, 0x0F }, + { 0x1A, 0xB1 }, + { 0x1B, 0x11 }, + + XnInit+0x3C : push 0x4454454E + { 0x3C, 0x68 }, + { 0x3D, 0x4E }, + { 0x3E, 0x45 }, + { 0x3F, 0x54 }, + { 0x40, 0x44 }, +OOVPA_END; +#endif +#if 0 // Moved to XNet 4627 // ****************************************************************** // * XNetGetEthernetLinkStatus // ****************************************************************** @@ -73,6 +75,7 @@ OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4627, 8) { 0x3D, 0x24 }, { 0x46, 0x5B }, OOVPA_END; +#endif // ****************************************************************** // * XoUpdateLaunchNewImageInternal @@ -96,7 +99,8 @@ OOVPA_XREF(XoUpdateLaunchNewImageInternal, 4627, 11, { 0x65, 0xE8 }, OOVPA_END; -/* + +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * XoUpdateLaunchNewImageInternal // ****************************************************************** @@ -114,7 +118,8 @@ OOVPA_XREF(XoUpdateLaunchNewImageInternal, 4627, 8, { 0xDE, 0xE8 }, { 0xFE, 0x15 }, OOVPA_END; -*/ +#endif + // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** @@ -145,7 +150,7 @@ OOVPA_END; // ****************************************************************** OOVPATable XOnline_4627[] ={ - REGISTER_OOVPA(XnInit, 4627, XREF), + REGISTER_OOVPA(XnInit, 4361, XREF), REGISTER_OOVPA(XNetStartup, 4361, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(socket, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4831.inl new file mode 100644 index 000000000..034b7dd44 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4831.inl @@ -0,0 +1,60 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.4831.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * CXo::XOnlineLogon +// ****************************************************************** +OOVPA_XREF(CXo_XOnlineLogon, 4831, 15, + + XREF_CXo_XOnlineLogon, + XRefZero) + + { 0x02, 0xEC }, + + { 0x15, 0x00 }, + { 0x1C, 0xE8 }, + + { 0x21, 0xA8 }, + { 0x22, 0x01 }, + { 0x23, 0x75 }, + { 0x24, 0x0C }, + { 0x25, 0xC7 }, + { 0x26, 0x45 }, + { 0x27, 0xF8 }, + { 0x28, 0x00 }, + { 0x29, 0x10 }, + { 0x2A, 0x15 }, + { 0x2B, 0x80 }, + { 0x2C, 0xE9 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5028.inl index 21d604a45..56fef6b74 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5028.inl @@ -64,7 +64,7 @@ OOVPA_END; // ****************************************************************** OOVPATable XOnline_5028[] ={ - REGISTER_OOVPA(XnInit, 4627, XREF), + REGISTER_OOVPA(XnInit, 4361, XREF), REGISTER_OOVPA(XNetStartup, 4361, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(socket, 4627, PATCH), @@ -76,7 +76,7 @@ OOVPATable XOnline_5028[] ={ REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 4627, XREF), - REGISTER_OOVPA(CXo_XOnlineLogon, 5028, XREF), + REGISTER_OOVPA(CXo_XOnlineLogon, 4831, XREF), REGISTER_OOVPA(XOnlineLogon, 4361, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl index 84758672e..7045cfb4d 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // No longer used, replaced by generic XNet 4361 version // ****************************************************************** // * XNetStartup // ****************************************************************** @@ -46,6 +47,7 @@ OOVPA_NO_XREF(XNetStartup, 5233, 8) { 0x15, 0x04 }, { 0x16, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * CXo::XOnlineLogon @@ -84,6 +86,7 @@ OOVPA_XREF(XOnlineLogon, 5233, 8, { 0x0A, 0xE9 }, OOVPA_END; #endif +#if 0 // Moved to XNet 5120 // ****************************************************************** // * CXnSock::connect // ****************************************************************** @@ -104,20 +107,21 @@ OOVPA_NO_XREF(connect, 5233, 12) // Up to 5849 { 0x61, 0xE8 }, OOVPA_END; +#endif // ****************************************************************** // * XOnline_5233 // ****************************************************************** OOVPATable XOnline_5233[] = { - REGISTER_OOVPA(XnInit, 4627, XREF), - REGISTER_OOVPA(XNetStartup, 5233, PATCH), + REGISTER_OOVPA(XnInit, 4361, XREF), + REGISTER_OOVPA(XNetStartup, 4361, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(socket, 4627, PATCH), REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(ioctlsocket, 4627, PATCH), - REGISTER_OOVPA(connect, 5233, PATCH), + REGISTER_OOVPA(connect, 5120, PATCH), REGISTER_OOVPA(send, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5344.inl index e49350e9e..dd8357d9a 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5344.inl @@ -37,14 +37,14 @@ // ****************************************************************** OOVPATable XOnline_5344[] = { - REGISTER_OOVPA(XnInit, 4627, XREF), - REGISTER_OOVPA(XNetStartup, 5233, PATCH), + REGISTER_OOVPA(XnInit, 4361, XREF), + REGISTER_OOVPA(XNetStartup, 4361, PATCH), REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(socket, 4627, PATCH), REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(ioctlsocket, 4627, PATCH), - REGISTER_OOVPA(connect, 5233, PATCH), + REGISTER_OOVPA(connect, 5120, PATCH), REGISTER_OOVPA(send, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5455.inl new file mode 100644 index 000000000..3b559a076 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5455.inl @@ -0,0 +1,58 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.5455.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * CXo::XOnlineLogon +// ****************************************************************** +OOVPA_XREF(CXo_XOnlineLogon, 5455, 14, + + XREF_CXo_XOnlineLogon, + XRefZero) + + { 0x02, 0xEC }, + { 0x15, 0xE9 }, + + { 0x23, 0xA8 }, + { 0x24, 0x01 }, + { 0x25, 0x75 }, + { 0x26, 0x0C }, + { 0x27, 0xC7 }, + { 0x28, 0x45 }, + { 0x29, 0x10 }, + { 0x2A, 0x00 }, + { 0x2B, 0x10 }, + { 0x2C, 0x15 }, + { 0x2D, 0x80 }, + { 0x2E, 0xE9 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl index 1fb1d3513..50a19c57a 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl @@ -58,7 +58,7 @@ OOVPA_XREF(CXo_XOnlineLogon, 5558, 14, { 0x31, 0x80 }, { 0x32, 0xE9 }, OOVPA_END; - +#if 0 // No longer used, replaced by generic XNet 4361 version // ****************************************************************** // * WSAStartup // ****************************************************************** @@ -72,7 +72,8 @@ OOVPA_NO_XREF(WSAStartup, 5558, 7) { 0x18, 0xC2 }, { 0x1A, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to XNet 5455 // ****************************************************************** // * CXnSock::socket // ****************************************************************** @@ -90,7 +91,7 @@ OOVPA_NO_XREF(socket, 5558, 10) // Up to 5849 { 0xBE, 0xFF }, { 0xBF, 0x15 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4361 version // ****************************************************************** // * XOnlineLogon @@ -119,19 +120,19 @@ OOVPA_END; // ****************************************************************** OOVPATable XOnline_5558[] = { - REGISTER_OOVPA(XnInit, 4627, XREF), - REGISTER_OOVPA(XNetStartup, 5233, PATCH), - REGISTER_OOVPA(WSAStartup, 5558, PATCH), - REGISTER_OOVPA(socket, 5558, PATCH), + REGISTER_OOVPA(XnInit, 4361, XREF), + REGISTER_OOVPA(XNetStartup, 4361, PATCH), + REGISTER_OOVPA(WSAStartup, 4361, PATCH), + REGISTER_OOVPA(socket, 5455, PATCH), REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(ioctlsocket, 4627, PATCH), - REGISTER_OOVPA(connect, 5233, PATCH), + REGISTER_OOVPA(connect, 5120, PATCH), REGISTER_OOVPA(send, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 4627, XREF), - REGISTER_OOVPA(CXo_XOnlineLogon, 5558, XREF), + REGISTER_OOVPA(CXo_XOnlineLogon, 5455, XREF), REGISTER_OOVPA(XOnlineLogon, 4361, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5659.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5659.inl new file mode 100644 index 000000000..a400022a1 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5659.inl @@ -0,0 +1,56 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.5659.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 jarupxx +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XoUpdateLaunchNewImageInternal +// ****************************************************************** +OOVPA_XREF(XoUpdateLaunchNewImageInternal, 5659, 11, + + XREF_XoUpdateLaunchNewImageInternal, + XRefZero) + + { 0x00, 0x55 }, + { 0x03, 0x81 }, + + { 0x6C, 0xEB }, + { 0x6D, 0x04 }, + { 0x6E, 0x83 }, + { 0x6F, 0x63 }, + { 0x70, 0x10 }, + { 0x71, 0x00 }, + { 0x72, 0xF6 }, + { 0x73, 0x45 }, + + { 0x79, 0xE8 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl index 883fd21d4..af43a697c 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5788.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 0 // No longer used, replaced by generic XNet 4361 version // ****************************************************************** // * XnInit // ****************************************************************** @@ -49,6 +50,7 @@ OOVPA_XREF(XnInit, 5788, 8, { 0xDE, 0xFE }, { 0xFE, 0x48 }, OOVPA_END; +#endif // ****************************************************************** // * XoUpdateLaunchNewImageInternal @@ -82,19 +84,19 @@ OOVPA_END; // ****************************************************************** OOVPATable XOnline_5788[] = { - REGISTER_OOVPA(XnInit, 5788, XREF), - REGISTER_OOVPA(XNetStartup, 5233, PATCH), - REGISTER_OOVPA(WSAStartup, 5558, PATCH), + REGISTER_OOVPA(XnInit, 4361, XREF), + REGISTER_OOVPA(XNetStartup, 4361, PATCH), + REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), - REGISTER_OOVPA(socket, 5558, PATCH), + REGISTER_OOVPA(socket, 5455, PATCH), REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(ioctlsocket, 4627, PATCH), - REGISTER_OOVPA(connect, 5233, PATCH), + REGISTER_OOVPA(connect, 5120, PATCH), REGISTER_OOVPA(send, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 5788, XREF), - REGISTER_OOVPA(CXo_XOnlineLogon, 5558, XREF), + REGISTER_OOVPA(CXo_XOnlineLogon, 5455, XREF), REGISTER_OOVPA(XOnlineLogon, 4361, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl index c96b6573f..e979acf4e 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl @@ -32,7 +32,6 @@ // * // ****************************************************************** - // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** @@ -65,16 +64,16 @@ OOVPA_END; // ****************************************************************** OOVPATable XOnline_5849[] = { - REGISTER_OOVPA(XnInit, 5788, XREF), - REGISTER_OOVPA(XNetStartup, 5233, PATCH), - REGISTER_OOVPA(WSAStartup, 5558, PATCH), + REGISTER_OOVPA(XnInit, 4361, XREF), + REGISTER_OOVPA(XNetStartup, 4361, PATCH), + REGISTER_OOVPA(WSAStartup, 4361, PATCH), REGISTER_OOVPA(XNetGetEthernetLinkStatus, 4627, PATCH), REGISTER_OOVPA(XoUpdateLaunchNewImageInternal, 5788, XREF), - REGISTER_OOVPA(socket, 5558, PATCH), + REGISTER_OOVPA(socket, 5455, PATCH), REGISTER_OOVPA(bind, 4627, PATCH), REGISTER_OOVPA(listen, 4627, PATCH), REGISTER_OOVPA(ioctlsocket, 4627, PATCH), - REGISTER_OOVPA(connect, 5233, PATCH), + REGISTER_OOVPA(connect, 5120, PATCH), REGISTER_OOVPA(send, 3911, PATCH), REGISTER_OOVPA(recv, 3911, PATCH), REGISTER_OOVPA(CXo_XOnlineLogon, 5849, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl index 0ace146d2..ea483f75a 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl @@ -32,6 +32,27 @@ // * // ****************************************************************** +// Titles which did compiled with full library +// [revi] Title Name | Verify | Comments +//------------------------------------------------------------------- +// * [4831] NBA2K3 | 100% | None +// * [4928] Unreal Championship | 100% | None +// * [5028] Capcom vs. SNK 2 EO | 100% | None +// * [5120] Muzzle Flash | 11/14 | Need verify non-exist function is there or not +// * [5233] MotoGP 2 | 11/14 | Need verify non-exist function is there or not +// * [5344] Burnout 2 | 11/14 | Check the Dxbx Patterns +// * [5455] Ghost Recon Island Thunder | 100% | None +// * [5558] XIII | 100% | None +// * [5659] Plus Plum 2 | 100% | None +// * [5788] All-Star Baseball '05 | 100% | None +// * [5849] Kingdom Under Fire: The Crusaders | 100% | None + +// TODO: Known XOnlines OOVPA issue list +// * Following OOVPA revision are not verified +// * listen (5120, 5233) +// * recv (5120, 5233) +// * send (5120, 5233) + #ifndef XONLINES_OOVPA_INL #define XONLINES_OOVPA_INL @@ -39,10 +60,13 @@ #include "HLEDataBase/XOnline.1.0.4361.inl" #include "HLEDataBase/XOnline.1.0.4627.inl" +#include "HLEDataBase/XOnline.1.0.4831.inl" #include "HLEDataBase/XOnline.1.0.5028.inl" #include "HLEDataBase/XOnline.1.0.5233.inl" #include "HLEDataBase/XOnline.1.0.5344.inl" +#include "HLEDataBase/XOnline.1.0.5455.inl" #include "HLEDataBase/XOnline.1.0.5558.inl" +#include "HLEDataBase/XOnline.1.0.5659.inl" #include "HLEDataBase/XOnline.1.0.5788.inl" #include "HLEDataBase/XOnline.1.0.5849.inl" @@ -51,20 +75,20 @@ // ****************************************************************** OOVPATable XONLINES_OOVPAV2[] = { - REGISTER_OOVPAS(XnInit, XREF, 4361, 4627, 5788), - REGISTER_OOVPAS(WSAStartup, PATCH, 4361, 5558), - REGISTER_OOVPAS(XNetStartup, PATCH, 4361, 5233), - REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 4361, 4627), + REGISTER_OOVPAS(CXo_XOnlineLogon, XREF, 4361, 4627, 4831/*, 5028*/, 5233, 5455, 5558, 5849), + REGISTER_OOVPAS(XOnlineLogon, PATCH, 4361), + REGISTER_OOVPAS(XoUpdateLaunchNewImageInternal, XREF, 4627, 5659, 5788), + REGISTER_OOVPAS(XnInit, XREF, 4361/*, 4627, 5788*/), + REGISTER_OOVPAS(WSAStartup, PATCH, 4361/*, 5558*/), + REGISTER_OOVPAS(XNetStartup, PATCH, 4361/*, 5233*/), + REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911/*, 4361*/, 4627), REGISTER_OOVPAS(bind, PATCH, 3911, 4627), - REGISTER_OOVPAS(connect, PATCH, 3911, 5233), + REGISTER_OOVPAS(connect, PATCH, 3911, 5120/*, 5233*/), REGISTER_OOVPAS(ioctlsocket, PATCH, 3911, 4627), REGISTER_OOVPAS(listen, PATCH, 3911, 4627), REGISTER_OOVPAS(recv, PATCH, 3911), REGISTER_OOVPAS(send, PATCH, 3911), - REGISTER_OOVPAS(socket, PATCH, 3911, 4627, 5558), - REGISTER_OOVPAS(CXo_XOnlineLogon, XREF, 4361, 4627, 5028, 5233, 5558, 5849), - REGISTER_OOVPAS(XOnlineLogon, PATCH, 4361), - REGISTER_OOVPAS(XoUpdateLaunchNewImageInternal, XREF, 4627, 5788), + REGISTER_OOVPAS(socket, PATCH, 3911, 4627, 5455/*, 5558*/), }; // ****************************************************************** From 9f41ccf96bbddcd6f92fe06a7bc8bdabd8bd0e50 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Sun, 8 Oct 2017 07:53:53 +0900 Subject: [PATCH 122/146] Insert an empty line --- src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl | 2 +- src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl | 2 ++ src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl | 1 + src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl | 1 + src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl | 1 + 5 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl index f55c090eb..411d52f4a 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4361.inl @@ -137,4 +137,4 @@ OOVPA_NO_XREF(XNetGetEthernetLinkStatus, 4361, 13) { 0x27, 0x75 }, { 0x2C, 0x15 }, OOVPA_END; -#endif \ No newline at end of file +#endif diff --git a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl index ad3f81ea4..cb1b9b4c9 100644 --- a/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/XNet.1.0.4627.inl @@ -189,6 +189,7 @@ OOVPA_NO_XREF(socket, 4627, 20) { 0x012F, 0x00 }, OOVPA_END; #endif + // ****************************************************************** // * CXnSock::connect // ****************************************************************** @@ -348,6 +349,7 @@ OOVPA_NO_XREF(ioctlsocket, 4627, 12) { 0x57, 0x15 }, OOVPA_END; + #if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * ioctlsocket diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl index dd2264142..3ba8ac52b 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.4361.inl @@ -209,6 +209,7 @@ OOVPA_NO_XREF(ioctlsocket, 4361, 10) { 0xC6, 0x0C }, OOVPA_END; #endif + // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl index 7045cfb4d..68b465b03 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5233.inl @@ -66,6 +66,7 @@ OOVPA_XREF(CXo_XOnlineLogon, 5233, 8, { 0xDE, 0xF9 }, { 0xFE, 0x33 }, OOVPA_END; + #if 0 // No longer used, replaced by generic 4361 version // ****************************************************************** // * XOnlineLogon diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl index 50a19c57a..7e41decfc 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5558.inl @@ -58,6 +58,7 @@ OOVPA_XREF(CXo_XOnlineLogon, 5558, 14, { 0x31, 0x80 }, { 0x32, 0xE9 }, OOVPA_END; + #if 0 // No longer used, replaced by generic XNet 4361 version // ****************************************************************** // * WSAStartup From b50f7d85c2ab0dc3015fb43d7a9cd328ccd71865 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 9 Oct 2017 20:05:19 +0900 Subject: [PATCH 123/146] Added a note in OOVPATable --- src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl index ea483f75a..a8ddf7e6e 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl @@ -75,9 +75,11 @@ // ****************************************************************** OOVPATable XONLINES_OOVPAV2[] = { + // XOnline section REGISTER_OOVPAS(CXo_XOnlineLogon, XREF, 4361, 4627, 4831/*, 5028*/, 5233, 5455, 5558, 5849), REGISTER_OOVPAS(XOnlineLogon, PATCH, 4361), REGISTER_OOVPAS(XoUpdateLaunchNewImageInternal, XREF, 4627, 5659, 5788), + // XNet section REGISTER_OOVPAS(XnInit, XREF, 4361/*, 4627, 5788*/), REGISTER_OOVPAS(WSAStartup, PATCH, 4361/*, 5558*/), REGISTER_OOVPAS(XNetStartup, PATCH, 4361/*, 5233*/), From b5186d58014c0861476e0b35ba98a9242831547d Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 11 Oct 2017 11:43:52 -0500 Subject: [PATCH 124/146] Add newline to Recognize Difference --- src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl index a8ddf7e6e..bbebf1c69 100644 --- a/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/XOnline.OOVPA.inl @@ -79,11 +79,12 @@ OOVPATable XONLINES_OOVPAV2[] = { REGISTER_OOVPAS(CXo_XOnlineLogon, XREF, 4361, 4627, 4831/*, 5028*/, 5233, 5455, 5558, 5849), REGISTER_OOVPAS(XOnlineLogon, PATCH, 4361), REGISTER_OOVPAS(XoUpdateLaunchNewImageInternal, XREF, 4627, 5659, 5788), + // XNet section REGISTER_OOVPAS(XnInit, XREF, 4361/*, 4627, 5788*/), REGISTER_OOVPAS(WSAStartup, PATCH, 4361/*, 5558*/), REGISTER_OOVPAS(XNetStartup, PATCH, 4361/*, 5233*/), - REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911/*, 4361*/, 4627), + REGISTER_OOVPAS(XNetGetEthernetLinkStatus, PATCH, 3911/*, 4361*/, 4627), //NOTE: Found in .text section, confirmed it is correct. REGISTER_OOVPAS(bind, PATCH, 3911, 4627), REGISTER_OOVPAS(connect, PATCH, 3911, 5120/*, 5233*/), REGISTER_OOVPAS(ioctlsocket, PATCH, 3911, 4627), From c5998db876a0b8827d9b50cd0d925a13be792254 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 12 Oct 2017 15:41:05 -0500 Subject: [PATCH 125/146] Small Update to DSound 4134 Database - 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 --- src/CxbxKrnl/HLEDataBase.h | 2 - src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 6 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 208 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 12 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl | 8 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 12 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 18 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 12 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 26 ++- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 22 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 10 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 21 +- 14 files changed, 292 insertions(+), 76 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index d26eb8c3e..281c4845e 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -232,8 +232,6 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_SetPitch, XREF_CDirectSoundStream_SetPitch, XREF_CMcpxVoiceClient_SetVolume, - XREF_DSBUFFERSETCURRENTPOSITIONA, - XREF_DSBUFFERSETCURRENTPOSITIONB, XREF_DSBUFFERSETLOOPREGIONA, XREF_CDirectSoundBuffer_SetPlayRegion, XREF_CDirectSoundBuffer_Lock, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 83f41c76c..92a0facf5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -3799,6 +3799,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetCurrentPosition // ****************************************************************** +// Generic OOVPA as of 3911 and newer OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 3911, 10, XRefNoSaveIndex, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 4033a80af..8ca5f86a4 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -1274,6 +1274,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetMixBins // ****************************************************************** +// Generic OOVPA as of 4039 and newer OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 4039, 8, XRefNoSaveIndex, @@ -3087,7 +3088,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundStream_Pause // ****************************************************************** -OOVPA_XREF(CDirectSoundStream_Pause, 4039, 11, +OOVPA_XREF(CDirectSoundStream_Pause, 4039, 12, XREF_CDirectSoundStream_Pause, XRefOne) @@ -3095,6 +3096,9 @@ OOVPA_XREF(CDirectSoundStream_Pause, 4039, 11, // CDirectSoundStream_Pause+0x33 : call [CMcpxStream::Pause] XREF_ENTRY( 0x34, XREF_CMcpxStream_Pause ), + // CDirectSoundStream_Pause+0x00 : push esi + { 0x00, 0x56 }, + // CDirectSoundStream_Pause+0x20 : mov eax, 0x80004005 { 0x20, 0xB8 }, { 0x21, 0x05 }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index deb2e4717..729d5a951 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -371,6 +371,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 4134, 17, { 0x4C, 0x08 }, OOVPA_END; +#if 0 // Replaced with generic OOVPA 4039 // ****************************************************************** // * IDirectSoundBuffer_SetMixBins // ****************************************************************** @@ -401,6 +402,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 4134, 12, { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSound_SetPosition @@ -628,7 +630,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetVolume, 4134, 9, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetVolume, XRefOne) XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetVolume ), @@ -855,6 +857,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 4134, 10, { 0x4F, 0x08 }, OOVPA_END; +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSoundBuffer_SetCurrentPosition // ****************************************************************** @@ -879,6 +882,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 4134, 8, { 0x11, 0x23 }, { 0x12, 0xC8 }, OOVPA_END; +#endif // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition @@ -1709,7 +1713,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetConeOrientation, 4134, 9, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetConeOrientation, XRefOne) XREF_ENTRY( 0x4E, XREF_CDirectSoundVoice_SetConeOrientation ), @@ -2112,7 +2116,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetI3DL2Source, 4134, 9, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetI3DL2Source, XRefOne) XREF_ENTRY( 0x3A, XREF_DSVOICESETI3DL2SOURCE ), @@ -2336,6 +2340,36 @@ OOVPA_XREF(CDirectSoundStream_SetMode, 4134, 11, { 0x54, 0x0C }, OOVPA_END; +// ****************************************************************** +// * DirectSound::CMcpxVoiceClient::SetFilter +// ****************************************************************** +// Generic OOVPA as of 4134 and newer +OOVPA_XREF(CMcpxVoiceClient_SetFilter, 4134, 12, + + XREF_CMcpxVoiceClient_SetFilter, + XRefZero) + + { 0x00, 0x55 }, + + { 0x23, 0x6A }, + { 0x24, 0x06 }, + + { 0x47, 0x83 }, + { 0x48, 0xE0 }, + { 0x49, 0x03 }, + + { 0x50, 0xC1 }, + { 0x51, 0xE8 }, + { 0x52, 0x12 }, + + { 0x53, 0x83 }, + { 0x54, 0xE0 }, + { 0x55, 0x07 }, + + //NOTE: Before offset 0x65, there has been no changes throughout all revisions. +OOVPA_END; + +#if 0 // Replaced with generic OOVPA 4134, see above // ****************************************************************** // * DirectSound::CMcpxVoiceClient::SetFilter // ****************************************************************** @@ -2353,6 +2387,7 @@ OOVPA_XREF(CMcpxVoiceClient_SetFilter, 4134, 8, { 0xDE, 0x0F }, { 0xFE, 0xB7 }, OOVPA_END; +#endif #if 0 // Moved to 4039 // ****************************************************************** @@ -2491,7 +2526,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetPitch, 4134, 12, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetPitch, XRefOne) XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetPitch ), @@ -2765,7 +2800,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetMixBinVolumes_8, 4134, 12, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetMixBinVolumes_8, XRefOne) XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBinVolumes ), @@ -2917,7 +2952,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetEG, 4134, 9, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetEG, XRefOne) XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetEG ), @@ -2959,7 +2994,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetLFO, 4134, 11, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetLFO, XRefOne) XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetLFO ), @@ -3074,6 +3109,161 @@ OOVPA_XREF(CDirectSoundStream_Release, 4134, 12, { 0x4D, 0x00 }, OOVPA_END; +// ****************************************************************** +// * DirectSound::CFullHRTFSource::GetCenterVolume +// ****************************************************************** +OOVPA_XREF(CFullHRTFSource_GetCenterVolume, 4134, 9, + + XREF_CFullHRTFSource_GetCenterVolume, + XRefZero) + + { 0x00, 0x55 }, + + { 0x22, 0xD9 }, + { 0x62, 0xDF }, + + { 0xB6, 0xF0 }, + { 0xB7, 0xD8 }, + { 0xB8, 0xFF }, + { 0xB9, 0xFF }, + + { 0xBC, 0xC2 }, + { 0xBD, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSoundUseFullHRTF +// ****************************************************************** +// Generic OOVPA as of 4134 and newer. +OOVPA_XREF(DirectSoundUseFullHRTF, 4134, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x0A, XREF_CHRTFSource_SetFullHRTF5Channel ), + + { 0x06, 0x0F }, + { 0x07, 0xB6 }, + { 0x0E, 0x85 }, + { 0x0F, 0xF6 }, + { 0x12, 0x0B }, + { 0x18, 0xFF }, + { 0x1E, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetMixBins +// ****************************************************************** +// Generic OOVPA as of 4134 and newer. +OOVPA_XREF(CDirectSoundStream_SetMixBins, 4134, 10, + + XREF_CDirectSoundStream_SetMixBins, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetMixBins ), + + { 0x00, 0x56 }, + + { 0x0C, 0x00 }, + + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Pause +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Pause, 4134, 11, + + XREF_CMcpxStream_Pause, + XRefZero) + + // CMcpxStream_Pause+0x00 : push ebp + { 0x00, 0x55 }, + + // CMcpxStream_Pause+0x1E : or eax, 4 + { 0x1E, 0x83 }, + { 0x1F, 0xC8 }, + { 0x20, 0x04 }, + + // CMcpxStream_Pause+0x21 : jmp +0x0D + { 0x21, 0xEB }, + { 0x22, 0x0D }, + + // CMcpxStream_Pause+0x2D : and eax,-05 + { 0x2D, 0x83 }, + { 0x2E, 0xE0 }, + { 0x2F, 0xFB }, + + // CMcpxStream_Pause+0x44 : retn 0x04 + { 0x44, 0xC2 }, + { 0x45, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Pause +// ****************************************************************** +// Generic OOVPA as of 4134 and newer +OOVPA_XREF(CDirectSoundStream_Pause, 4134, 12, + + XREF_CDirectSoundStream_Pause, + XRefOne) + + // CDirectSoundStream_Pause+0x34 : call [CMcpxStream::Pause] + XREF_ENTRY( 0x35, XREF_CMcpxStream_Pause ), + + // CDirectSoundStream_Pause+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundStream_Pause+0x20 : mov eax, 0x80004005 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundStream_Pause+0x2B : mov ecx, [eax+0x24] + { 0x2C, 0x8B }, + { 0x2D, 0x48 }, + { 0x2E, 0x24 }, + + // CDirectSoundStream_Pause+0x4D : retn 0x08 + { 0x4E, 0xC2 }, + { 0x4F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetEG +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetEG, 4134, 12, + + XREF_CMcpxVoiceClient_SetEG, + XRefZero) + + { 0x00, 0x55 }, + { 0x25, 0xEB }, + + { 0x38, 0x74 }, + { 0x39, 0x7B }, + + { 0x3E, 0x8D }, + { 0x3F, 0x0C }, + { 0x40, 0xC0 }, + + { 0xAE, 0x41 }, + { 0xAF, 0x40 }, + { 0xB0, 0x40 }, + + { 0xC1, 0xC2 }, + { 0xC2, 0x04 }, +OOVPA_END; + // ****************************************************************** // * DSound_4134 // ****************************************************************** @@ -3097,7 +3287,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), @@ -3120,7 +3310,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 283365afd..acbaaae5d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -75,6 +75,7 @@ OOVPA_NO_XREF(IDirectSound_CreateSoundBuffer, 4361, 9) OOVPA_END; #endif +#if 0 // Replaced with OOVPA 4134 // ****************************************************************** // * CMcpxStream_Pause // ****************************************************************** @@ -102,7 +103,9 @@ OOVPA_XREF(CMcpxStream_Pause, 4361, 11, { 0x44, 0xC2 }, { 0x45, 0x04 }, OOVPA_END; +#endif +#if 0 // Replaced with generic OOVPA 4134 // ****************************************************************** // * CDirectSoundStream_Pause // ****************************************************************** @@ -130,6 +133,7 @@ OOVPA_XREF(CDirectSoundStream_Pause, 4361, 11, { 0x4E, 0xC2 }, { 0x4F, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundBuffer::SetPlayRegion @@ -825,8 +829,8 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), - REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), - REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), + REGISTER_OOVPA(CMcpxStream_Pause, 4134, XREF), + REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), @@ -840,7 +844,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), @@ -864,7 +868,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFormat, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFormat, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFormat, 4242, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 2ad34c251..94545137c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -122,8 +122,8 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), - REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), - REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), + REGISTER_OOVPA(CMcpxStream_Pause, 4134, XREF), + REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), @@ -136,7 +136,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), @@ -151,7 +151,7 @@ OOVPATable DSound_4432[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), REGISTER_OOVPA(IDirectSound_CommitDeferredSettings, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index b6d48d23f..96dc7ff86 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -771,6 +771,7 @@ OOVPA_XREF(IDirectSoundBuffer_GetStatus, 4721, 8, OOVPA_END; #endif +#if 0 // Replaced with generic OOVPA 4134 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMixBins // ****************************************************************** @@ -789,6 +790,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 4627, 8, { 0x40, 0x68 }, { 0x4B, 0x8B }, OOVPA_END; +#endif #if 0 // Moved to 4242 // ****************************************************************** @@ -1501,7 +1503,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), @@ -1525,9 +1527,9 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), - REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), + REGISTER_OOVPA(CMcpxStream_Pause, 4134, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), - REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), @@ -1539,7 +1541,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), @@ -1618,7 +1620,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 398b4f4bc..50de2b490 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -76,7 +76,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), @@ -101,9 +101,9 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 4134, PATCH), - REGISTER_OOVPA(CMcpxStream_Pause, 4361, XREF), + REGISTER_OOVPA(CMcpxStream_Pause, 4134, XREF), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), - REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), @@ -114,7 +114,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), @@ -200,7 +200,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 4721, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index a12006961..f9b879dc9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -323,6 +323,7 @@ OOVPA_XREF(CDirectSoundStream_SetFrequency, 5233, 11, { 0x50, 0x08 }, OOVPA_END; +#if 0 // Replaced with generic OOVPA 4134 // ****************************************************************** // * CDirectSoundStream::SetMixBins // ****************************************************************** @@ -341,6 +342,8 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 5233, 8, { 0x4D, 0x5F }, { 0x50, 0x08 }, OOVPA_END; +#endif + #if 0 // Don't use. Duplicate detection CDirectSoundVoice_SetConeAngles. // ****************************************************************** // * CDirectSoundVoice::SetRolloffCurve @@ -375,7 +378,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), - REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), @@ -383,8 +386,8 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5233, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), @@ -469,7 +472,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDistanceFactor, 4134, PATCH), @@ -477,12 +480,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), - REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index daea6ad41..6ac624760 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -594,6 +594,7 @@ OOVPA_XREF(CDirectSound_CommitDeferredSettings, 5344, 11, { 0x97, 0xC9 }, OOVPA_END; +#if 0 // Replaced with generic OOVPA 4134 // ****************************************************************** // * DirectSound::CMcpxVoiceClient::SetFilter // ****************************************************************** @@ -611,6 +612,7 @@ OOVPA_XREF(CMcpxVoiceClient_SetFilter, 5344, 8, { 0x5E, 0x3E }, { 0x7E, 0x0B }, OOVPA_END; +#endif #if 0 // Used 4361 // ****************************************************************** @@ -891,14 +893,14 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_Pause, 4928, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), - REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5233, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 5344, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), @@ -989,7 +991,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), @@ -1008,7 +1010,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetEG, 4242, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetEG, 4039, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5344, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 8273504da..19bd4edb0 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -254,6 +254,7 @@ OOVPA_XREF(CHRTFSource_SetFullHRTF5Channel, 5558, 9, { 0x6E, 0xC3 }, OOVPA_END; +#if 0 // Moved to generic OOVPA 4134 // ****************************************************************** // * DirectSoundUseFullHRTF // ****************************************************************** @@ -272,6 +273,7 @@ OOVPA_XREF(DirectSoundUseFullHRTF, 5558, 8, { 0x18, 0xFF }, { 0x1E, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * DirectSoundDoWork @@ -360,6 +362,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 5558, 8, { 0x4B, 0xC7 }, OOVPA_END; +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSoundBuffer_SetCurrentPosition // ****************************************************************** @@ -378,6 +381,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 5558, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundVoiceSettings::SetMixBins @@ -434,6 +438,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 5558, 8, { 0x47, 0x8B }, OOVPA_END; +#if 0 // Replaced with generic OOVPA 4039 // ****************************************************************** // * IDirectSoundBuffer_SetMixBins // ****************************************************************** @@ -452,6 +457,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetMixBins, 5558, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundBuffer::SetPlayRegion @@ -932,6 +938,7 @@ OOVPA_XREF(CMcpxStream_Pause, 5558, 7, } };*/ +#if 0 // Replaced with generic OOVPA 4134 // ****************************************************************** // * CDirectSoundStream::Pause // ****************************************************************** @@ -950,6 +957,7 @@ OOVPA_XREF(CDirectSoundStream_Pause, 5558, 8, { 0x44, 0xFF }, { 0x4B, 0xC7 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor @@ -1254,6 +1262,8 @@ OOVPA_XREF(IDirectSoundBuffer_GetCurrentPosition, 5558, 9, { 0x1E, 0x0C }, OOVPA_END; #endif + +#if 0 // Replaced with generic OOVPA 4134 // ****************************************************************** // * DirectSound::CDirectSoundStream::SetMixBins // ****************************************************************** @@ -1273,6 +1283,7 @@ OOVPA_XREF(CDirectSoundStream_SetMixBins, 5558, 9, { 0x40, 0x68 }, { 0x4B, 0x8B }, OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSound::SetMixBinHeadroom @@ -1526,6 +1537,7 @@ OOVPA_XREF(CDirectSound_SetAllParameters, 5558, 8, { 0x2B, 0x8B }, OOVPA_END; +#if 0 // Replaced with generic OOVPA 4134, this OOVPA is not a reliable signature // ****************************************************************** // * DirectSound::CMcpxVoiceClient::SetFilter // ****************************************************************** @@ -1545,6 +1557,7 @@ OOVPA_XREF(CMcpxVoiceClient_SetFilter, 5558, 10, { 0x1D, 0xFF }, { 0x1F, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSoundVoice::Use3DVoiceData @@ -1635,8 +1648,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, XREF), REGISTER_OOVPA(IDirectSound_SynchPlayback, 5233, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 4831, XREF), - REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundStream_Pause, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBinVolumes, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBinVolumes, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBinVolumes, 4134, XREF), @@ -1688,13 +1700,13 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), - REGISTER_OOVPA(DirectSoundUseFullHRTF, 5558, PATCH), + REGISTER_OOVPA(DirectSoundUseFullHRTF, 4134, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 5558, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), @@ -1706,7 +1718,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), @@ -1755,7 +1767,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5558, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5558, XREF), @@ -1777,7 +1789,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index 6b1ddf191..bf0e1eaad 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -116,7 +116,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CMcpxBuffer_SetCurrentPosition, 5788, 7, - XREF_DSBUFFERSETCURRENTPOSITIONB, + XREF_CMcpxBuffer_SetCurrentPosition, XRefZero) { 0x1D, 0x00 }, @@ -133,10 +133,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 5788, 8, - XREF_DSBUFFERSETCURRENTPOSITIONA, + XREF_CDirectSoundBuffer_SetCurrentPosition, XRefOne) - XREF_ENTRY( 0x35, XREF_DSBUFFERSETCURRENTPOSITIONB ), + XREF_ENTRY( 0x35, XREF_CMcpxBuffer_SetCurrentPosition ), { 0x0C, 0x00 }, { 0x14, 0x74 }, @@ -147,6 +147,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetCurrentPosition, 5788, 8, { 0x4B, 0xC7 }, OOVPA_END; +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSoundBuffer_SetCurrentPosition // ****************************************************************** @@ -155,7 +156,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 5788, 8, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x15, XREF_DSBUFFERSETCURRENTPOSITIONA ), + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetCurrentPosition ), { 0x02, 0x24 }, { 0x06, 0x24 }, @@ -165,6 +166,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetCurrentPosition, 5788, 8, { 0x19, 0xC2 }, { 0x1A, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSound::SetRolloffFactor @@ -602,7 +604,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_Release, 3911, PATCH), REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), - REGISTER_OOVPA(DirectSoundUseFullHRTF, 5558, PATCH), + REGISTER_OOVPA(DirectSoundUseFullHRTF, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH), @@ -616,8 +618,8 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF), @@ -632,7 +634,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5788, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4242, XREF), @@ -680,7 +682,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_Pause, 4928, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 5788, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 5788, XREF), - REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), + REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5788, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), @@ -711,7 +713,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index fa14a2775..a935d6ea1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -146,8 +146,8 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 5558, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 5558, XREF), @@ -159,7 +159,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetCurrentPosition, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 5788, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), @@ -194,7 +194,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateStream, 5788, PATCH), REGISTER_OOVPA(CMcpxStream_Pause, 5788, XREF), - REGISTER_OOVPA(CDirectSoundStream_Pause, 5558, PATCH), + REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5788, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), @@ -215,7 +215,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetAllParameters, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH), - REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 5558, XREF), + REGISTER_OOVPA(CMcpxVoiceClient_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFilter, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFilter, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 546b7d352..6150a38fb 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -125,6 +125,9 @@ // * CDirectSoundStream_SetRolloffCurve // * CDirectSoundStream_SetRolloffFactor // * IDirectSoundStream_SetHeadroom +// * 4134 verification needed: (it will grow over time until verifying with Blood Omen 2 title is done) +// * CDirectSoundBuffer_SetEG +// * IDirectSoundBuffer_SetEG #ifndef DSOUND_OOVPA_INL @@ -176,7 +179,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911, 4039), REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 3936, 4039), - REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4361, 4831, 5788), + REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4134, /*4361,*/ 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911, 3936), REGISTER_OOVPAS(CMcpxVoiceClient_Commit3dSettings, XREF, 3911), @@ -188,8 +191,8 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxVoiceClient_Set3dParameters, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dPosition, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_Set3dVelocity, XREF, 3911), - REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 3911, 4039, 4242), - REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 3911, 4039, 4134, 5344, 5558), + REGISTER_OOVPAS(CMcpxVoiceClient_SetEG, XREF, 3911, 4039, 4134, 4242), + REGISTER_OOVPAS(CMcpxVoiceClient_SetFilter, XREF, 3911, 4039, 4134 /*, 5344, 5558*/), REGISTER_OOVPAS(CMcpxVoiceClient_SetI3DL2Source, XREF, 3911), REGISTER_OOVPAS(CMcpxVoiceClient_SetLFO, XREF, 3911, 4039, 4242), REGISTER_OOVPAS(CMcpxVoiceClient_SetMixBins, XREF, 3911), @@ -271,7 +274,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), REGISTER_OOVPAS(CDirectSoundStream_GetInfo, PATCH, 3911, 4039), REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4039, 4361, 5558), + REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4039, 4134 /*, 4361, 5558*/), REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911, 4039), REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4039, 4134), @@ -287,7 +290,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMinDistance, PATCH, 3911, 4039, 4134, 5344), - REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3911, 4039, 4627, 5233, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetMixBins, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(CDirectSoundStream_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4039, 4134), @@ -336,7 +339,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetConeAngles, PATCH, 3911, 4039, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOrientation, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetConeOutsideVolume, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3911, 4134, 5558, 5788), + REGISTER_OOVPAS(IDirectSoundBuffer_SetCurrentPosition, PATCH, 3911 /*, 4134, 5558, 5788*/), REGISTER_OOVPAS(IDirectSoundBuffer_SetDistanceFactor, PATCH, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetDopplerFactor, PATCH, 4134, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetEG, PATCH, 3911, 4039), @@ -349,7 +352,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3911 /*,5344, 5788*/), REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, PATCH, 3911 /*, 5558, 5788*/), - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3911, 4039, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, PATCH, 3911, 4039 /*, 4134, 5558*/), REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_12, PATCH, 3911), //This revision is only used in XDK 3911 to 3936. REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher. REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, PATCH, 3911, 4039), @@ -418,12 +421,12 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 3911, 4134, 5788), REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3911, 4134, 5558), REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3911, 4361), - REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 4039, 5558), + REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(DirectSoundUseLightHRTF, PATCH, 3911), - REGISTER_OOVPAS(CFullHRTFSource_GetCenterVolume, XREF, 4039, 5558), + REGISTER_OOVPAS(CFullHRTFSource_GetCenterVolume, XREF, 4039, 4134, 5558), REGISTER_OOVPAS(CHRTFSource_SetFullHRTF5Channel, XREF, 4039, 5558), From da98130731c980cd6bef0f4c861fc7e9e0430178 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Fri, 13 Oct 2017 21:23:19 +0900 Subject: [PATCH 126/146] Small Update to DSound 4039 Database Verified with [4039] The Simpsons - Road Rage PAL [4039] Nobunaga no Yabou Ranseiki [4134] Double-S.T.E.A.L --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 117 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 9 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 8 +- 7 files changed, 132 insertions(+), 10 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 8ca5f86a4..1bcc8ae5e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -3553,3 +3553,120 @@ OOVPA_XREF(IDirectSoundStream_SetMixBins, 4039, 2, // IDirectSoundStream_SetMixBins+0x00 : jmp 0x........ { 0x00, 0xE9 }, OOVPA_END; + +// ****************************************************************** +// * CDirectSoundVoice::SetI3DL2Source +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 4039, 18, + + XREF_DSVOICESETI3DL2SOURCE, + XRefZero) + + // CDirectSoundVoice_SetI3DL2Source+0x00 : mov edx, [esp+arg_0] + { 0x00, 0x8B }, + { 0x01, 0x54 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // CDirectSoundVoice_SetI3DL2Source+0x1B : or byte ptr [eax+138h], 80h + { 0x1B, 0x80 }, + { 0x1C, 0x88 }, + { 0x1D, 0x38 }, + { 0x1E, 0x01 }, + { 0x1F, 0x00 }, + { 0x20, 0x00 }, + { 0x21, 0x80 }, + + // CDirectSoundVoice_SetI3DL2Source+0x22 : test [esp+8+arg_8], 1 + { 0x22, 0xF6 }, + { 0x23, 0x44 }, + { 0x24, 0x24 }, + { 0x25, 0x14 }, + { 0x26, 0x01 }, + + // CDirectSoundVoice_SetI3DL2Source+0x57 : retn 08h + { 0x57, 0xC2 }, + { 0x58, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetI3DL2Source +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 4039, 12, + + XREF_DSBUFFERSETI3DL2SOURCE, + XRefOne) + + // CDirectSoundBuffer_SetI3DL2Source+0x35 : call [CDirectSoundVoice::SetI3DL2Source] + XREF_ENTRY( 0x35, XREF_DSVOICESETI3DL2SOURCE ), + + // CDirectSoundBuffer_SetI3DL2Source+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetI3DL2Source+0x21 : mov eax, 80004005h + { 0x21, 0x05 }, + { 0x22, 0x40 }, + { 0x23, 0x00 }, + { 0x24, 0x80 }, + + // CDirectSoundBuffer_SetI3DL2Source+0x31 : push [esp+0Ch+arg_0] + { 0x30, 0xFF }, + { 0x31, 0x74 }, + { 0x32, 0x24 }, + { 0x33, 0x14 }, + + // CDirectSoundBuffer_SetI3DL2Source+0x4E : retn 0Ch + { 0x4E, 0xC2 }, + { 0x4F, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetI3DL2Source +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 4039, 10, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundBuffer_SetI3DL2Source+0x18 : call [CDirectSoundBuffer::SetI3DL2Source] + XREF_ENTRY( 0x19, XREF_DSBUFFERSETI3DL2SOURCE ), + + // IDirectSoundBuffer_SetI3DL2Source+0x04 : push [esp+arg_8] + { 0x04, 0xFF }, + { 0x05, 0x74 }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // IDirectSoundBuffer_SetI3DL2Source+0x0E : add eax, 0FFFFFFE4h + { 0x0E, 0x83 }, + { 0x0F, 0xC0 }, + { 0x10, 0xE4 }, + + // IDirectSoundBuffer_SetI3DL2Source+0x1D : retn 0Ch + { 0x1E, 0x0C }, + { 0x1F, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::GetCaps +// ****************************************************************** +OOVPA_XREF(CDirectSound_GetCaps, 4039, 12, + + XREF_CDirectSound_GetCaps, + XRefZero) + + { 0x00, 0x53 }, + { 0x15, 0x68 }, + + { 0x36, 0x44 }, + { 0x37, 0x24 }, + { 0x38, 0x18 }, + { 0x39, 0x8B }, + { 0x3A, 0x48 }, + { 0x3B, 0x0C }, + { 0x3C, 0x56 }, + { 0x3D, 0xE8 }, + + { 0x6C, 0xC2 }, + { 0x6D, 0x08 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 729d5a951..9e0c661d1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2059,7 +2059,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetI3DL2Source // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 4134, 11, +OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 4134, 12, XREF_DSBUFFERSETI3DL2SOURCE, XRefOne) @@ -2067,6 +2067,9 @@ OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 4134, 11, // CDirectSoundBuffer_SetI3DL2Source+0x35 : call [CDirectSoundVoice::SetI3DL2Source] XREF_ENTRY( 0x36, XREF_DSVOICESETI3DL2SOURCE ), + // CDirectSoundBuffer_SetI3DL2Source+0x00 : push esi + { 0x00, 0x56 }, + // CDirectSoundBuffer_SetI3DL2Source+0x21 : mov eax, 80004005h { 0x22, 0x05 }, { 0x23, 0x40 }, @@ -2084,6 +2087,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 4134, 11, { 0x51, 0x00 } OOVPA_END; +#if 0 // Moved to 4039 // ****************************************************************** // * IDirectSoundBuffer_SetI3DL2Source // ****************************************************************** @@ -2110,6 +2114,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 4134, 10, { 0x1E, 0x0C }, { 0x1F, 0x00 } OOVPA_END; +#endif // ****************************************************************** // * CDirectSoundStream_SetI3DL2Source @@ -3366,7 +3371,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 96dc7ff86..b90c52d1b 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1597,7 +1597,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 50de2b490..fdecce023 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -177,7 +177,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetI3DL2Source, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index f9b879dc9..7de1389dc 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -452,7 +452,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 6ac624760..32a706545 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -965,7 +965,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetVelocity, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetI3DL2Source, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetI3DL2Source, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4134, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetI3DL2Source, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Stop, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 6150a38fb..de06c9fe9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -214,7 +214,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundVoice_SetFormat, XREF, 4242, 4721, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetFrequency, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundVoice_SetHeadroom, XREF, 3911, 4039, 4134, 4627, 5558), - REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3911, 4134, 5344, 5558), + REGISTER_OOVPAS(CDirectSoundVoice_SetI3DL2Source, XREF, 3911, 4039, 4134, 5344, 5558), REGISTER_OOVPAS(CDirectSoundVoice_SetLFO, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSoundVoice_SetMaxDistance, XREF, 3911, 4039, 4134, 4361, 5344), REGISTER_OOVPAS(CDirectSoundVoice_SetMinDistance, XREF, 3911, 4039, 4134, 4361, 5344), @@ -248,7 +248,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetFormat, XREF, 4242, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetFrequency, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetHeadroom, XREF, 4039, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4134, 5558), + REGISTER_OOVPAS(CDirectSoundBuffer_SetI3DL2Source, XREF, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetLFO, XREF, 4039, 4242), REGISTER_OOVPAS(CDirectSoundBuffer_SetLoopRegion, XREF, 3911, 4039, 4134, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetMaxDistance, XREF, 3911, 4039, 4134, 5344, 5788), @@ -309,7 +309,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_DownloadEffectsImage, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3911, 4039, 4627, 5233, 5344, 5558), - REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3911, 4361), + REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3911, 4039, 4361), REGISTER_OOVPAS(CDirectSound_GetEffectData, XREF, 3911), REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 3911, 4627), @@ -347,7 +347,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3911, 4039, 5344, 5558), - REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3911, 4134, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3911, 4039, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, PATCH, 3911 /*,5344, 5788*/), From 51c30bd86356affea34a87b7246c4c4f8b2092a5 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 13 Oct 2017 12:24:48 -0500 Subject: [PATCH 127/146] Update DSound 4134 Database - Add CDirectSound_SetAllParameters to 4134 - Add CDirectSoundStream_GetInfo to 4134 - Add CMcpxStream_Flush to 4134 - Add CDirectSoundStream_Flush to 4134 - Add CMcpxStream_GetStatus to 4134 - Add CDirectSoundStream_GetStatus to 4134 - Add CDirectSoundStream_Process to 4134 - Add CMcpxStream_Discontinuity to 4134 - Add CDirectSoundStream_Discontinuity to 4134 Plus tiny clean up from previous commit. Verified with - [4134] Blood Omen 2 - [4242] Gauntlet Dark Legacy - [4361] Burnout - [4637] Turok Evolution - [5233] Futurama - [5558] Dino Crisis 3 - [5849] Lego Star Wars --- src/CxbxKrnl/HLEDataBase.h | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 9 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 302 ++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 12 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 7 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 90 ++++-- 8 files changed, 374 insertions(+), 56 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 281c4845e..a355f52db 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -282,7 +282,6 @@ enum XRefDataBaseOffset XREF_DSVOICESETDISTANCEFACTOR, XREF_CDirectSoundVoice_SetConeAngles, XREF_CDirectSoundVoice_SetDopplerFactor, - XREF_DSVOICESETI3DL2SOURCE, XREF_CMcpxVoiceClient_Set3dMode, XREF_CDirectSoundVoice_SetMode, XREF_CDirectSoundBuffer_SetMode, @@ -297,7 +296,7 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_SetPosition, XREF_CDirectSoundBuffer_SetVelocity, XREF_DSBUFFERSETDOPPLERFACTOR, - XREF_DSBUFFERSETI3DL2SOURCE, + XREF_CDirectSoundBuffer_SetI3DL2Source, XREF_CDirectSoundVoice_SetFormat, XREF_CDirectSoundBuffer_SetFormat, XREF_CFullHRTFSource_GetCenterVolume, @@ -320,6 +319,7 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_Pause, XREF_CMcpxBuffer_GetStatus, XREF_CDirectSoundBuffer_GetStatus, + XREF_CMcpxStream_GetStatus, XREF_CDirectSoundStream_SetEG, XREF_CDirectSoundVoice_SetEG, XREF_CMcpxVoiceClient_SetEG, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 1bcc8ae5e..2038c48d8 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -3375,7 +3375,6 @@ OOVPA_XREF(CMcpxStream_Flush, 4039, 10, { 0x58, 0xE8 }, - { 0x98, 0xC9 }, { 0x99, 0xC3 }, OOVPA_END; @@ -3559,7 +3558,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 4039, 18, - XREF_DSVOICESETI3DL2SOURCE, + XREF_CDirectSoundVoice_SetI3DL2Source, XRefZero) // CDirectSoundVoice_SetI3DL2Source+0x00 : mov edx, [esp+arg_0] @@ -3594,11 +3593,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 4039, 12, - XREF_DSBUFFERSETI3DL2SOURCE, + XREF_CDirectSoundBuffer_SetI3DL2Source, XRefOne) // CDirectSoundBuffer_SetI3DL2Source+0x35 : call [CDirectSoundVoice::SetI3DL2Source] - XREF_ENTRY( 0x35, XREF_DSVOICESETI3DL2SOURCE ), + XREF_ENTRY( 0x35, XREF_CDirectSoundVoice_SetI3DL2Source ), // CDirectSoundBuffer_SetI3DL2Source+0x00 : push esi { 0x00, 0x56 }, @@ -3629,7 +3628,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 4039, 10, XRefOne) // IDirectSoundBuffer_SetI3DL2Source+0x18 : call [CDirectSoundBuffer::SetI3DL2Source] - XREF_ENTRY( 0x19, XREF_DSBUFFERSETI3DL2SOURCE ), + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetI3DL2Source ), // IDirectSoundBuffer_SetI3DL2Source+0x04 : push [esp+arg_8] { 0x04, 0xFF }, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 9e0c661d1..6a7bb5790 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -59,14 +59,17 @@ OOVPA_END; // ****************************************************************** // * DirectSoundDoWork // ****************************************************************** +// Generic OOVPA as of 4134 and newer +// TODO: DirectSoundDoWork 4134 has weak OV list, need to add more or at least use XREF support to be strengthen. OOVPA_NO_XREF(DirectSoundDoWork, 4134, 7) - { 0x06, 0x0F }, - { 0x0E, 0x85 }, - { 0x10, 0x74 }, - { 0x18, 0x85 }, - { 0x1C, 0x0B }, - { 0x22, 0xFF }, - { 0x28, 0xC3 }, + + { 0x06, 0x0F }, + { 0x0E, 0x85 }, + { 0x10, 0x74 }, + { 0x18, 0x85 }, + { 0x1C, 0x0B }, + { 0x22, 0xFF }, + { 0x28, 0xC3 }, OOVPA_END; // ****************************************************************** @@ -2034,7 +2037,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 4134, 10, - XREF_DSVOICESETI3DL2SOURCE, + XREF_CDirectSoundVoice_SetI3DL2Source, XRefZero) // CDirectSoundVoice_SetI3DL2Source+0x12 : mov esi, [ecx] @@ -2061,11 +2064,11 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 4134, 12, - XREF_DSBUFFERSETI3DL2SOURCE, + XREF_CDirectSoundBuffer_SetI3DL2Source, XRefOne) // CDirectSoundBuffer_SetI3DL2Source+0x35 : call [CDirectSoundVoice::SetI3DL2Source] - XREF_ENTRY( 0x36, XREF_DSVOICESETI3DL2SOURCE ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetI3DL2Source ), // CDirectSoundBuffer_SetI3DL2Source+0x00 : push esi { 0x00, 0x56 }, @@ -2097,7 +2100,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 4134, 10, XRefOne) // IDirectSoundBuffer_SetI3DL2Source+0x18 : call [CDirectSoundBuffer::SetI3DL2Source] - XREF_ENTRY( 0x19, XREF_DSBUFFERSETI3DL2SOURCE ), + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetI3DL2Source ), // IDirectSoundBuffer_SetI3DL2Source+0x04 : push [esp+arg_8] { 0x04, 0xFF }, @@ -2124,7 +2127,7 @@ OOVPA_XREF(CDirectSoundStream_SetI3DL2Source, 4134, 9, XREF_CDirectSoundStream_SetI3DL2Source, XRefOne) - XREF_ENTRY( 0x3A, XREF_DSVOICESETI3DL2SOURCE ), + XREF_ENTRY( 0x3A, XREF_CDirectSoundVoice_SetI3DL2Source ), { 0x00, 0x56 }, { 0x0C, 0x00 }, @@ -3226,19 +3229,19 @@ OOVPA_XREF(CDirectSoundStream_Pause, 4134, 12, // CDirectSoundStream_Pause+0x00 : push esi { 0x00, 0x56 }, - // CDirectSoundStream_Pause+0x20 : mov eax, 0x80004005 + // CDirectSoundStream_Pause+0x21 : mov eax, 0x80004005 { 0x21, 0xB8 }, { 0x22, 0x05 }, { 0x23, 0x40 }, { 0x24, 0x00 }, { 0x25, 0x80 }, - // CDirectSoundStream_Pause+0x2B : mov ecx, [eax+0x24] + // CDirectSoundStream_Pause+0x2C : mov ecx, [eax+0x24] { 0x2C, 0x8B }, { 0x2D, 0x48 }, { 0x2E, 0x24 }, - // CDirectSoundStream_Pause+0x4D : retn 0x08 + // CDirectSoundStream_Pause+0x4E : retn 0x08 { 0x4E, 0xC2 }, { 0x4F, 0x08 }, OOVPA_END; @@ -3269,6 +3272,275 @@ OOVPA_XREF(CMcpxVoiceClient_SetEG, 4134, 12, { 0xC2, 0x04 }, OOVPA_END; +// ****************************************************************** +// * CDirectSound::SetAllParameters +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetAllParameters, 4134, 13, + + XREF_CDirectSound_SetAllParameters, + XRefZero) + + { 0x00, 0x56 }, + { 0x0D, 0x0F }, + + { 0x42, 0xD9 }, + { 0x43, 0x5A }, + { 0x44, 0x3C }, + + { 0x4B, 0xD9 }, + { 0x4C, 0x5A }, + { 0x4D, 0x40 }, + + { 0x54, 0xD9 }, + { 0x55, 0x5A }, + { 0x56, 0x44 }, + + { 0xE3, 0xC2 }, + { 0xE4, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_GetInfo +// ****************************************************************** +// Generic OOVPA as of 4134 and newer +OOVPA_NO_XREF(CDirectSoundStream_GetInfo, 4134, 17) + + //CDirectSoundStream_GetInfo+0x00 : push ebx + { 0x00, 0x53 }, + + //CDirectSoundStream_GetInfo+0x2E : mov edi, dword ptr [esp + 10h] + { 0x2E, 0x8B }, + { 0x2F, 0x7C }, + { 0x30, 0x24 }, + { 0x31, 0x10 }, + + //CDirectSoundStream_GetInfo+0x38 : mov, dword ptr [edi + 24h] + { 0x38, 0x8B }, + { 0x39, 0x4F }, + { 0x3A, 0x24 }, + + //CDirectSoundStream_GetInfo+0x43 : mov eax, dword ptr [edi + 20h] + { 0x43, 0x8B }, + { 0x44, 0x47 }, + { 0x45, 0x20 }, + + //CDirectSoundStream_GetInfo+0x49 : and dword ptr [esi + 8], 0 + { 0x49, 0x83 }, + { 0x4A, 0x66 }, + { 0x4B, 0x08 }, + { 0x4C, 0x00 }, + + //CDirectSoundStream_GetInfo+0x64 : ret 8 + { 0x64, 0xC2 }, + { 0x65, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Flush +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Flush, 4134, 10, + XREF_CMcpxStream_Flush, + XRefZero) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + + { 0x12, 0x33 }, + + { 0x3D, 0x83 }, + { 0x3E, 0xFE }, + { 0x3F, 0x04 }, + + { 0x56, 0xE8 }, + + { 0x67, 0xE8 }, + + { 0xD0, 0xC9 }, + { 0xD1, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Flush +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_Flush, 4134, 9, + XRefNoSaveIndex, + XRefOne) + + //CDirectSoundStream_Flush+0x30 : call [CMcpxStream_Flush] + XREF_ENTRY( 0x31, XREF_CMcpxStream_Flush ), + + { 0x00, 0x56 }, + + { 0x28, 0x8B }, + { 0x2B, 0x08 }, + + { 0x2C, 0x8B }, + { 0x2E, 0x24 }, + + { 0x30, 0xE8 }, + + //CDirectSoundStream_Flush+0x4A : ret 4 + { 0x4A, 0xC2 }, + { 0x4B, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Flush +// ****************************************************************** +OOVPA_XREF(CMcpxStream_GetStatus, 4134, 14, + XREF_CMcpxStream_GetStatus, + XRefZero) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + + { 0x3D, 0x80 }, + { 0x3E, 0x48 }, + { 0x3F, 0x02 }, + { 0x40, 0x02 }, + + { 0x4B, 0x81 }, + { 0x4C, 0xC9 }, + { 0x4D, 0x00 }, + { 0x4E, 0x00 }, + { 0x4F, 0x04 }, + { 0x50, 0x00 }, + + { 0x65, 0xC2 }, + { 0x66, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_GetStatus +// ****************************************************************** +// Generic OOVPA as of 4134 and newer +OOVPA_XREF(CDirectSoundStream_GetStatus, 4134, 12, + + XRefNoSaveIndex, + XRefOne) + + // CDirectSoundStream_GetStatus+0x34 : call [CMcpxStream::GetStatus] + XREF_ENTRY( 0x35, XREF_CMcpxStream_GetStatus ), + + // CDirectSoundStream_GetStatus+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundStream_GetStatus+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundStream_GetStatus+0x2C : mov ecx, [eax+0x24] + { 0x2C, 0x8B }, + { 0x2D, 0x48 }, + { 0x2E, 0x24 }, + + // CDirectSoundStream_GetStatus+0x4E : retn 0x08 + { 0x4E, 0xC2 }, + { 0x4F, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Process +// ****************************************************************** +// Generic OOVPA as of 4134 and newer +OOVPA_NO_XREF(CDirectSoundStream_Process, 4134, 15) + + { 0x00, 0x55 }, + + { 0x2D, 0x8B }, + { 0x2F, 0x08 }, + + { 0x30, 0x8B }, + { 0x32, 0x24 }, + + //CDirectSoundStream_Process+0x49 : mov eax, 88780032h + { 0x4A, 0x32 }, + { 0x4B, 0x00 }, + { 0x4C, 0x78 }, + { 0x4D, 0x88 }, + + { 0x52, 0xFF }, + { 0x54, 0x0C }, + + { 0x55, 0x8B }, + { 0x57, 0x24 }, + + { 0x74, 0xC2 }, + { 0x75, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Discontinuity +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Discontinuity, 4134, 7, + XREF_CMcpxStream_Discontinuity, + XRefOne) + + //CMcpxStream_Discontinuity+0x1C : call [CMcpxStream_Flush] + XREF_ENTRY ( 0x1D, XREF_CMcpxStream_Flush ), + + { 0x00, 0x56 }, + + { 0x01, 0x8B }, + + { 0x1A, 0x8B }, + + { 0x1C, 0xE8 }, + + { 0x23, 0x5E }, + + { 0x24, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_Discontinuity +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_Discontinuity, 4134, 9, + XRefNoSaveIndex, + XRefOne) + + //CDirectSoundStream_Discontinuity+0x30 : call [CMcpxStream_Discontinuity] + XREF_ENTRY( 0x31, XREF_CMcpxStream_Discontinuity ), + + { 0x00, 0x56 }, + + { 0x28, 0x8B }, + { 0x2B, 0x08 }, + + { 0x2C, 0x8B }, + { 0x2E, 0x24 }, + + { 0x30, 0xE8 }, + + //CDirectSoundStream_Discontinuity+0x4A : ret 4 + { 0x4A, 0xC2 }, + { 0x4B, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CMemoryManager::PoolAlloc +// ****************************************************************** +OOVPA_NO_XREF(DS_CMemoryManager_PoolAlloc, 4134, 11) + + { 0x00, 0x56 }, + + { 0x22, 0x83 }, + { 0x23, 0x7C }, + { 0x24, 0x24 }, + { 0x25, 0x10 }, + { 0x26, 0x00 }, + + { 0x35, 0xF3 }, + { 0x36, 0xAB }, + + { 0x42, 0xC2 }, + { 0x43, 0x0C }, + { 0x44, 0x00 }, +OOVPA_END; + // ****************************************************************** // * DSound_4134 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 32a706545..12a179926 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -544,7 +544,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 5344, 10, - XREF_DSVOICESETI3DL2SOURCE, + XREF_CDirectSoundVoice_SetI3DL2Source, XRefZero) // CDirectSoundVoice_SetI3DL2Source+0x12 : mov esi, [ecx] diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 19bd4edb0..7dc24260e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -275,6 +275,7 @@ OOVPA_XREF(DirectSoundUseFullHRTF, 5558, 8, OOVPA_END; #endif +#if 0 // Duplicate OOVPA found in 4134 // ****************************************************************** // * DirectSoundDoWork // ****************************************************************** @@ -288,6 +289,7 @@ OOVPA_NO_XREF(DirectSoundDoWork, 5558, 7) { 0x22, 0xFF }, { 0x28, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetBufferData @@ -1077,7 +1079,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundVoice_SetI3DL2Source, 5558, 7, - XREF_DSVOICESETI3DL2SOURCE, + XREF_CDirectSoundVoice_SetI3DL2Source, XRefZero) { 0x18, 0x00 }, @@ -1094,10 +1096,10 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundBuffer_SetI3DL2Source, 5558, 8, - XREF_DSBUFFERSETI3DL2SOURCE, + XREF_CDirectSoundBuffer_SetI3DL2Source, XRefOne) - XREF_ENTRY( 0x36, XREF_DSVOICESETI3DL2SOURCE ), + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetI3DL2Source ), { 0x0C, 0x00 }, { 0x14, 0x74 }, @@ -1116,7 +1118,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetI3DL2Source, 5558, 9, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x19, XREF_DSBUFFERSETI3DL2SOURCE ), + XREF_ENTRY( 0x19, XREF_CDirectSoundBuffer_SetI3DL2Source ), { 0x02, 0x24 }, { 0x06, 0x24 }, @@ -1701,7 +1703,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CFullHRTFSource_GetCenterVolume, 5558, XREF), REGISTER_OOVPA(CHRTFSource_SetFullHRTF5Channel, 5558, XREF), REGISTER_OOVPA(DirectSoundUseFullHRTF, 4134, PATCH), - REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), + REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 5558, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 5558, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index bf0e1eaad..cc52fe0e7 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -512,8 +512,9 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CMemoryManager::PoolAlloc // ****************************************************************** -OOVPA_NO_XREF(CMemoryManager_PoolAlloc, 5788, 10) +OOVPA_NO_XREF(DS_CMemoryManager_PoolAlloc, 5788, 11) + { 0x00, 0x56 }, { 0x24, 0x83 }, { 0x25, 0x7C }, { 0x26, 0x24 }, @@ -685,7 +686,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5788, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), - REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), + REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5558, XREF), REGISTER_OOVPA(IDirectSound_EnableHeadphones, 3911, PATCH), @@ -694,7 +695,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSound_GetOutputLevels, 5558, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 5558, PATCH), REGISTER_OOVPA(IDirectSound_SetEffectData, 3911, PATCH), - REGISTER_OOVPA(CMemoryManager_PoolAlloc, 5788, XREF), + REGISTER_OOVPA(DS_CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index a935d6ea1..1634d0777 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -197,12 +197,12 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundStream_Pause, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5788, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), - REGISTER_OOVPA(DirectSoundDoWork, 5558, PATCH), + REGISTER_OOVPA(DirectSoundDoWork, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SynchPlayback, 5558, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSound_SetEffectData, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetEffectData, 3911, PATCH), - REGISTER_OOVPA(CMemoryManager_PoolAlloc, 5788, XREF), + REGISTER_OOVPA(DS_CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index de06c9fe9..14c64f05d 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -40,7 +40,7 @@ // * [3936] Silent Hill 2 | 100% | Contain full library. // * [4039] Nightcaster | 100% | Only has 90% of the library compiled with xbe build. // * [4134] RaceX (Demo) | 1% | Does not have full library? Need to create bunch of OOVPAs... -// * [4134] Blood Omen 2 | 1% | Does not have full library? Need to create bunch of OOVPAs... +// * [4134] Blood Omen 2 | 80% | Does not have full library. // TODO: Known DSound OOVPA issue list // * 3911 to 5933: Cannot make OOVPAs @@ -109,7 +109,6 @@ // * DirectSoundCreateStream // * DirectSoundUseLightHRTF // * IDirectSound_CommitEffectData -// * IDirectSound_GetCaps // * IDirectSound_GetEffectData // * IDirectSound_GetSpeakerConfig // * IDirectSound_GetTime (It is generic) @@ -117,7 +116,6 @@ // * IDirectSound_SetEffectData // * IDirectSound_SetMixBinHeadroom // * IDirectSoundBuffer_PlayEx -// * IDirectSoundBuffer_SetI3DL2Source // * IDirectSoundBuffer_SetNotificationPositions // * CDirectSoundStream_SetFormat // * CDirectSoundStream_SetHeadroom @@ -125,9 +123,57 @@ // * CDirectSoundStream_SetRolloffCurve // * CDirectSoundStream_SetRolloffFactor // * IDirectSoundStream_SetHeadroom -// * 4134 verification needed: (it will grow over time until verifying with Blood Omen 2 title is done) +// * 4134 verification needed: (Verifying with Blood Omen 2 title is done, need different title to find the remaining...) // * CDirectSoundBuffer_SetEG // * IDirectSoundBuffer_SetEG +// * CMcpxVoiceClient_SetLFO +// * CDirectSoundStream_SetAllParameters +// * CDirectSoundStream_SetConeAngles +// * CDirectSoundStream_SetConeOrientation +// * CDirectSoundStream_SetConeOutsideVolume +// * CDirectSoundStream_SetFilter +// * CDirectSoundStream_SetFrequency +// * CDirectSoundStream_SetHeadroom +// * CDirectSoundStream_SetLFO +// * CDirectSoundStream_SetMaxDistance +// * CDirectSoundStream_SetMinDistance +// * CDirectSoundStream_SetMixBinVolumes_8 +// * CDirectSoundStream_SetMixBins +// * CDirectSoundStream_SetMode +// * CDirectSoundStream_SetOutputBuffer +// * CDirectSoundStream_SetPitch +// * CDirectSoundStream_SetVelocity +// * CDirectSoundBuffer_PlayEx +// * CDirectSoundBuffer_SetConeOutsideVolume +// * CDirectSoundBuffer_SetCurrentPosition +// * CDirectSoundBuffer_SetMaxDistance +// * CDirectSoundBuffer_SetMinDistance +// * CDirectSoundBuffer_SetNotificationPositions +// * CDirectSoundBuffer_SetVelocity +// * CDirectSoundBuffer_StopEx +// * CDirectSound_CommitEffectData +// * CDirectSound_EnableHeadphones +// * CDirectSound_GetCaps +// * CDirectSound_GetEffectData +// * CDirectSound_GetSpeakerConfig +// * CDirectSound_SetDistanceFactor +// * CDirectSound_SetDopplerFactor +// * CDirectSound_SetEffectData +// * CDirectSound_SetMixBinHeadroom +// * CDirectSound_SetOrientation +// * CDirectSound_SetPosition +// * CDirectSound_SetRolloffFactor +// * CDirectSound_SetVelocity +// * DirectSoundCreateBuffer +// * DirectSoundUseLightHRTF +// * DirectSoundGetSampleTime +// * IsValidFormat +// * XAudioCreateAdpcmFormat +// * XAudioCreatePcmFormat +// * IDirectSound_CreateSoundStream (CDirectSound_CreateSoundStream is found btw) +// * CDirectSound_SetAllParameters and CDirectSound_SetAllParametersA currently separated +// * Need to review what's the difference and why is it necessary to be separated. +// * It also have various revisions, we should be able to narrow it down to remove duplicates. #ifndef DSOUND_OOVPA_INL @@ -177,8 +223,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z - REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911, 4039), - REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 3936, 4039), + REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911, 4039, 4134), + REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 3936, 4039, 4134), + REGISTER_OOVPAS(CMcpxStream_GetStatus, XREF, 4134), REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4134, /*4361,*/ 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), REGISTER_OOVPAS(CSensaura3d_GetLiteHRTFFilterPair, XREF, 3911, 3936), @@ -269,13 +316,13 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 3911, 4039, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), REGISTER_OOVPAS(CDirectSoundStream_AddRef, PATCH, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundStream_Discontinuity, PATCH, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundStream_Flush, PATCH, 3911, 4039), + REGISTER_OOVPAS(CDirectSoundStream_Discontinuity, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_Flush, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), - REGISTER_OOVPAS(CDirectSoundStream_GetInfo, PATCH, 3911, 4039), - REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911, 4039), + REGISTER_OOVPAS(CDirectSoundStream_GetInfo, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_GetStatus, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Pause, PATCH, 3911, 4039, 4134 /*, 4361, 5558*/), - REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911, 4039), + REGISTER_OOVPAS(CDirectSoundStream_Process, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911, 4039), @@ -314,7 +361,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 3911, 4627), REGISTER_OOVPAS(CDirectSound_GetTime, XREF, 3911), - REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3911, 4831, 5558), + REGISTER_OOVPAS(CDirectSound_SetAllParameters, XREF, 3911, 4134, 4831, 5558), REGISTER_OOVPAS(CDirectSound_SetAllParametersA, XREF, 4627, 4721, 4831), REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558, 5788), @@ -416,19 +463,17 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3911, 4134/*, 5344*/), REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3911 /*, 5558*/), REGISTER_OOVPAS(IDirectSound_SynchPlayback, PATCH, 5233), - REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 3911, 4039, 4242), - REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 3911, 4134, 5788), - REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3911, 4134, 5558), - REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3911, 4361), - REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 4039, 4134), - REGISTER_OOVPAS(DirectSoundUseLightHRTF, PATCH, 3911), - - REGISTER_OOVPAS(CFullHRTFSource_GetCenterVolume, XREF, 4039, 4134, 5558), REGISTER_OOVPAS(CHRTFSource_SetFullHRTF5Channel, XREF, 4039, 5558), + REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 3911, 4039, 4242), + REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 3911, 4134, 5788), + REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3911, 4134), + REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3911, 4361), + REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(DirectSoundUseLightHRTF, PATCH, 3911), REGISTER_OOVPAS(WaveFormat_CreateXboxAdpcmFormat, XREF, 5344), REGISTER_OOVPAS(XAudioDownloadEffectsImage, PATCH, 4627, 5558, 5788), @@ -439,8 +484,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(XFileCreateMediaObjectEx, PATCH, 4627, 5028), REGISTER_OOVPAS(XWaveFileCreateMediaObject, PATCH, 4627), - - REGISTER_OOVPAS(CMemoryManager_PoolAlloc, XREF, 5788), //TODO: Why is this in here? + REGISTER_OOVPAS(DS_CMemoryManager_PoolAlloc, XREF, 4134, 5788), // For reference purpose only, does not have XREF value. }; // ****************************************************************** From f63d060d44dd815cbc56dad9c7cccc0c556481be Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 13 Oct 2017 13:06:42 -0500 Subject: [PATCH 128/146] Update DSound TODO Info --- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 14c64f05d..a2ef0c599 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -39,8 +39,9 @@ // * [3925] Cel Damage | 100% | Contain full library. // * [3936] Silent Hill 2 | 100% | Contain full library. // * [4039] Nightcaster | 100% | Only has 90% of the library compiled with xbe build. -// * [4134] RaceX (Demo) | 1% | Does not have full library? Need to create bunch of OOVPAs... +// * [4134] RaceX (Demo) | -% | Only has a few library. // * [4134] Blood Omen 2 | 80% | Does not have full library. +// * [4134] JSRF | 1% | Does not have Stream class. DS and Buffer might be full. // TODO: Known DSound OOVPA issue list // * 3911 to 5933: Cannot make OOVPAs From 27619f4b93d914f800b337fa56a90d5433e78ed8 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 13 Oct 2017 17:13:10 -0500 Subject: [PATCH 129/146] Add DirectSoundCreateStream to DSound 4039 Database 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. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 30 ++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 2038c48d8..467444bae 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -3669,3 +3669,33 @@ OOVPA_XREF(CDirectSound_GetCaps, 4039, 12, { 0x6C, 0xC2 }, { 0x6D, 0x08 }, OOVPA_END; + +// ****************************************************************** +// * DirectSoundCreateStream +// ****************************************************************** +OOVPA_XREF(DirectSoundCreateStream, 4039, 11, + + XRefNoSaveIndex, + XRefOne) + + // DirectSoundCreateStream+0x2B : call [CDirectSound::CreateSoundStream] + XREF_ENTRY( 0x2C, XREF_CDirectSound_CreateSoundStream ), + + // DirectSoundCreateStream+0x04 : and [ebp-0x04], 0 + { 0x04, 0x83 }, + { 0x05, 0x65 }, + { 0x06, 0xFC }, + + // DirectSoundCreateStream+0x08 : push esi; push edi + { 0x08, 0x56 }, + { 0x09, 0x57 }, + + // DirectSoundCreateStream+0x32 : lea eax,[ebp-04] + { 0x32, 0x8D }, + { 0x33, 0x45 }, + { 0x34, 0xFC }, + + // DirectSoundCreateStream+0x4F : retn 0x08 + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index a2ef0c599..b905778cc 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -470,7 +470,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(DirectSoundCreate, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(DirectSoundCreateBuffer, PATCH, 3911, 4039, 4242), - REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 3911, 4134, 5788), + REGISTER_OOVPAS(DirectSoundCreateStream, PATCH, 3911, 4039, 4134, 5788), REGISTER_OOVPAS(DirectSoundDoWork, PATCH, 3911, 4134), REGISTER_OOVPAS(DirectSoundGetSampleTime, PATCH, 3911, 4361), REGISTER_OOVPAS(DirectSoundUseFullHRTF, PATCH, 3911, 4039, 4134), From 9c0fafa2399845cc9305876c525e63074f903676 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Fri, 13 Oct 2017 17:16:07 -0500 Subject: [PATCH 130/146] Append to Previous Commit Just removing 2 verified 4039 OOVPAs from TODO list... --- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index b905778cc..b6e1ea5d2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -106,8 +106,6 @@ // * CDirectSound_Release (Is unique, however need multiple OOVPAs to register all revisions) // * Using XREF_DS_CRefCount_Release // * 4039 verification needed: -// * DirectSoundCreateBuffer -// * DirectSoundCreateStream // * DirectSoundUseLightHRTF // * IDirectSound_CommitEffectData // * IDirectSound_GetEffectData From c52ec1ea2e9be7ee5a52283fc43a6c568819cdc7 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sat, 14 Oct 2017 08:24:32 -0500 Subject: [PATCH 131/146] Update DSound 4134 Verification List 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. --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 26 +------------------- 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index 467444bae..c1923b7ba 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -506,6 +506,7 @@ OOVPA_END; // ****************************************************************** // Verified with Agent Under Fire. // Same as 4134 +// TOOD: CDirectSoundVoice_SetPitch need to be strengthen by using XREF to CMcpxVoiceClient_SetPitch function. OOVPA_XREF(CDirectSoundVoice_SetPitch, 4039, 6, XREF_CDirectSoundVoice_SetPitch, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index b6e1ea5d2..b53d42b63 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -126,53 +126,29 @@ // * CDirectSoundBuffer_SetEG // * IDirectSoundBuffer_SetEG // * CMcpxVoiceClient_SetLFO -// * CDirectSoundStream_SetAllParameters // * CDirectSoundStream_SetConeAngles -// * CDirectSoundStream_SetConeOrientation -// * CDirectSoundStream_SetConeOutsideVolume -// * CDirectSoundStream_SetFilter // * CDirectSoundStream_SetFrequency // * CDirectSoundStream_SetHeadroom // * CDirectSoundStream_SetLFO -// * CDirectSoundStream_SetMaxDistance -// * CDirectSoundStream_SetMinDistance // * CDirectSoundStream_SetMixBinVolumes_8 -// * CDirectSoundStream_SetMixBins -// * CDirectSoundStream_SetMode // * CDirectSoundStream_SetOutputBuffer -// * CDirectSoundStream_SetPitch -// * CDirectSoundStream_SetVelocity // * CDirectSoundBuffer_PlayEx -// * CDirectSoundBuffer_SetConeOutsideVolume -// * CDirectSoundBuffer_SetCurrentPosition -// * CDirectSoundBuffer_SetMaxDistance -// * CDirectSoundBuffer_SetMinDistance // * CDirectSoundBuffer_SetNotificationPositions -// * CDirectSoundBuffer_SetVelocity // * CDirectSoundBuffer_StopEx // * CDirectSound_CommitEffectData // * CDirectSound_EnableHeadphones // * CDirectSound_GetCaps // * CDirectSound_GetEffectData -// * CDirectSound_GetSpeakerConfig -// * CDirectSound_SetDistanceFactor -// * CDirectSound_SetDopplerFactor -// * CDirectSound_SetEffectData // * CDirectSound_SetMixBinHeadroom -// * CDirectSound_SetOrientation -// * CDirectSound_SetPosition -// * CDirectSound_SetRolloffFactor -// * CDirectSound_SetVelocity // * DirectSoundCreateBuffer // * DirectSoundUseLightHRTF -// * DirectSoundGetSampleTime // * IsValidFormat // * XAudioCreateAdpcmFormat // * XAudioCreatePcmFormat -// * IDirectSound_CreateSoundStream (CDirectSound_CreateSoundStream is found btw) // * CDirectSound_SetAllParameters and CDirectSound_SetAllParametersA currently separated // * Need to review what's the difference and why is it necessary to be separated. // * It also have various revisions, we should be able to narrow it down to remove duplicates. +// * 4039 CDirectSoundVoice_SetPitch need to be strengthen by using XREF to CMcpxVoiceClient_SetPitch function. #ifndef DSOUND_OOVPA_INL From 8a7756c2bb781c8d6251cf1b5d67002b3f926239 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 16 Oct 2017 14:25:59 -0500 Subject: [PATCH 132/146] Minor Update to DSound 4134 Database - Add CDirectSoundStream_AddRef to 4134 - Add CDirectSound_GetCaps to 4134 - Add CDirectSoundBuffer_SetOutputBuffer to 4134 - Removed IDirectSound_SetRolloffFactor from 4134 (Duplicate OOVPA) Verified with - [4134] RalliSport Challenge --- src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl | 1 + src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 93 +++++++++++++++++++- src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl | 7 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl | 5 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl | 4 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl | 2 +- src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 9 +- 11 files changed, 113 insertions(+), 20 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 92a0facf5..7dfaf8b08 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -4910,6 +4910,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSound_SetRolloffFactor // ****************************************************************** +// Generic OOVPA as of 3911 and newer OOVPA_XREF(IDirectSound_SetRolloffFactor, 3911, 11, XRefNoSaveIndex, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index c1923b7ba..fdb9115a7 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -1793,7 +1793,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4039, 18, XREF_CDirectSoundBuffer_SetOutputBuffer, XRefOne) - // CDirectSoundBuffer_SetOutputBuffer+0x31 : call [XREF_CDirectSoundVoice_SetOutputBuffer] + // CDirectSoundBuffer_SetOutputBuffer+0x30 : call [XREF_CDirectSoundVoice_SetOutputBuffer] XREF_ENTRY( 0x31, XREF_CDirectSoundVoice_SetOutputBuffer), // CDirectSoundBuffer_SetOutputBuffer+0x00 : push esi diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index 6a7bb5790..a3bfee3d1 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -1065,6 +1065,7 @@ OOVPA_XREF(CDirectSound_SetRolloffFactor, 4134, 17, { 0x50, 0x0B }, OOVPA_END; +#if 0 // Duplicate OOVPA, using 3911 OOVPA instead // ****************************************************************** // * IDirectSound_SetRolloffFactor // ****************************************************************** @@ -1094,6 +1095,7 @@ OOVPA_XREF(IDirectSound_SetRolloffFactor, 4134, 11, { 0x21, 0xC2 }, { 0x22, 0x0C }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSound::SetDopplerFactor @@ -3541,6 +3543,95 @@ OOVPA_NO_XREF(DS_CMemoryManager_PoolAlloc, 4134, 11) { 0x44, 0x00 }, OOVPA_END; +// ****************************************************************** +// * CDirectSoundStream_AddRef +// ****************************************************************** +// NOTE: Has identical function to DirectSound::CAc97MediaObject::AddRef +OOVPA_XREF(CDirectSoundStream_AddRef, 4134, 11, + XRefNoSaveIndex, + XRefZero) + + { 0x00, 0xE8 }, + + { 0x27, 0x8B }, + { 0x28, 0x44 }, + + { 0x2B, 0xFF }, + { 0x2C, 0x40 }, + { 0x2D, 0x08 }, + + { 0x31, 0x8B }, + { 0x32, 0x70 }, + { 0x33, 0x08 }, + + //CDirectSoundStream_AddRef+0x44 : ret 4 + { 0x44, 0xC2 }, + { 0x45, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSound::GetCaps +// ****************************************************************** +OOVPA_XREF(CDirectSound_GetCaps, 4134, 12, + + XREF_CDirectSound_GetCaps, + XRefZero) + + { 0x00, 0x57 }, + { 0x16, 0x68 }, + + { 0x37, 0x44 }, + { 0x38, 0x24 }, + { 0x39, 0x18 }, + { 0x3A, 0x8B }, + { 0x3B, 0x48 }, + { 0x3C, 0x0C }, + { 0x3D, 0x56 }, + { 0x3E, 0xE8 }, + + { 0x6D, 0xC2 }, + { 0x6E, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_SetOutputBuffer +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4134, 18, + + XREF_CDirectSoundBuffer_SetOutputBuffer, + XRefOne) + + // CDirectSoundBuffer_SetOutputBuffer+0x31 : call [XREF_CDirectSoundVoice_SetOutputBuffer] + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetOutputBuffer), + + // CDirectSoundBuffer_SetOutputBuffer+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_SetOutputBuffer+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_SetOutputBuffer+0x29 : push [esp+0x10]; push [esp+0x10] + { 0x29, 0xFF }, + { 0x2A, 0x74 }, + { 0x2B, 0x24 }, + { 0x2C, 0x10 }, + { 0x2D, 0xFF }, + { 0x2E, 0x74 }, + { 0x2F, 0x24 }, + { 0x30, 0x10 }, + + // CDirectSoundBuffer_SetOutputBuffer+0x49 : pop edi + { 0x49, 0x5F }, + + // CDirectSoundBuffer_SetOutputBuffer+0x4B : retn 0x08 + { 0x4B, 0xC2 }, + { 0x4C, 0x08 }, +OOVPA_END; + // ****************************************************************** // * DSound_4134 // ****************************************************************** @@ -3600,7 +3691,7 @@ OOVPATable DSound_4134[] = { REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index b90c52d1b..90d34cee2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -1066,6 +1066,8 @@ OOVPA_XREF(CDirectSoundVoice_SetOutputBuffer, 4627, 7, { 0x4B, 0xD8 }, OOVPA_END; #endif + +#if 0 // Replaced with generic OOVPA 4134 // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetOutputBuffer // ****************************************************************** @@ -1084,6 +1086,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4627, 8, { 0x3A, 0x74 }, { 0x47, 0x8B }, OOVPA_END; +#endif // ****************************************************************** // * DirectSound::CDirectSoundStream::SetOutputBuffer @@ -1559,7 +1562,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), @@ -1651,7 +1654,7 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index fdecce023..486732bb3 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -132,7 +132,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), @@ -232,7 +232,7 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index 7de1389dc..efa62d874 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -433,7 +433,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 4134, XREF), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_CommitDeferredSettings, 4134, XREF), @@ -480,7 +480,6 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), @@ -509,7 +508,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSound_GetOutputLevels, 4627, XREF), REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index 12a179926..f67cfed58 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -986,7 +986,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffFactor, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 4134, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5344, XREF), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // Was 4134 + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH), // Was 4134 REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetCurrentPosition, 4134, XREF), @@ -1025,7 +1025,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(IDirectSound_GetOutputLevels, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetEffectData, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5344, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index 7dc24260e..d97e1afd2 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -1661,7 +1661,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5558, XREF), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), @@ -1678,7 +1678,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index cc52fe0e7..be858469e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -649,7 +649,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(IDirectSound_SetDistanceFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5788, XREF), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 1634d0777..2810e9945 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -165,7 +165,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetRolloffFactor, 5849, XREF), - REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 4134, PATCH), // TODO : Use 5344? + REGISTER_OOVPA(IDirectSound_SetRolloffFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDopplerFactor, 5788, XREF), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetPitch, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index b53d42b63..0dd2a8f82 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -137,7 +137,6 @@ // * CDirectSoundBuffer_StopEx // * CDirectSound_CommitEffectData // * CDirectSound_EnableHeadphones -// * CDirectSound_GetCaps // * CDirectSound_GetEffectData // * CDirectSound_SetMixBinHeadroom // * DirectSoundCreateBuffer @@ -279,7 +278,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4039, 4134, 5233), REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3911, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) - REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 3911, 4039, 4627), + REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 4039, 4361, 5558), REGISTER_OOVPAS(CDirectSoundBuffer_SetPosition, XREF, 3911, 4039, 4134, 5558), @@ -290,7 +289,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_Stop, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_StopEx, XREF, 3911, 4039, 4361), REGISTER_OOVPAS(CDirectSoundBuffer_Use3DVoiceData, XREF, 5558), - REGISTER_OOVPAS(CDirectSoundStream_AddRef, PATCH, 3911, 4039), + REGISTER_OOVPAS(CDirectSoundStream_AddRef, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Discontinuity, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Flush, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_FlushEx, XREF, 4627, 5233, 5788), @@ -331,7 +330,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSound_DownloadEffectsImage, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_DoWork, XREF, 3911, 4039), REGISTER_OOVPAS(CDirectSound_EnableHeadphones, XREF, 3911, 4039, 4627, 5233, 5344, 5558), - REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3911, 4039, 4361), + REGISTER_OOVPAS(CDirectSound_GetCaps, XREF, 3911, 4039, 4134, 4361), REGISTER_OOVPAS(CDirectSound_GetEffectData, XREF, 3911), REGISTER_OOVPAS(CDirectSound_GetOutputLevels, XREF, 4627, 5558), REGISTER_OOVPAS(CDirectSound_GetSpeakerConfig, PATCH, 3911, 4627), @@ -435,7 +434,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSound_SetMixBinHeadroom, PATCH, 3911 /*, 4627, 5558*/), REGISTER_OOVPAS(IDirectSound_SetOrientation, PATCH, 3911), REGISTER_OOVPAS(IDirectSound_SetPosition, PATCH, 3911), - REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3911, 4134/*, 5344*/), + REGISTER_OOVPAS(IDirectSound_SetRolloffFactor, PATCH, 3911/*, 4134, 5344*/), REGISTER_OOVPAS(IDirectSound_SetVelocity, PATCH, 3911 /*, 5558*/), REGISTER_OOVPAS(IDirectSound_SynchPlayback, PATCH, 5233), From a1b21112f88a72451151c53923263b086c4f288d Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 16 Oct 2017 22:57:55 -0500 Subject: [PATCH 133/146] Add DSound 4242 Database File - Add CMcpxStream_Flush to 4242 - Improved CMcpxStream_GetStatus 4134 to support 4242 titles. Both 4242 titles does not have full library compiled. Moved all DSound's 4242 signatures in respective file, nothing has change. Verified with - [4134] Blood Omen 2 - [4242] Gauntlet Dark Legacy - [4242] Smashing Drive --- build/win32/Cxbx.vcxproj | 1 + build/win32/Cxbx.vcxproj.filters | 3 + src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl | 35 +-- src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl | 234 +++++++++++++++++++ src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl | 3 +- 5 files changed, 248 insertions(+), 28 deletions(-) create mode 100644 src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl diff --git a/build/win32/Cxbx.vcxproj b/build/win32/Cxbx.vcxproj index c8cda6cd1..0a4ab05c6 100644 --- a/build/win32/Cxbx.vcxproj +++ b/build/win32/Cxbx.vcxproj @@ -353,6 +353,7 @@ $(SOLUTIONDIR)Export.bat + diff --git a/build/win32/Cxbx.vcxproj.filters b/build/win32/Cxbx.vcxproj.filters index 11a2b5a5d..2973c5f61 100644 --- a/build/win32/Cxbx.vcxproj.filters +++ b/build/win32/Cxbx.vcxproj.filters @@ -710,6 +710,9 @@ HLEDatabase\DSound + + HLEDatabase\DSound + HLEDatabase\DSound diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl index a3bfee3d1..0afc99a07 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -2899,31 +2899,6 @@ OOVPA_XREF(CMcpxBuffer_Stop, 4134, 9, { 0x20, 0x02 }, OOVPA_END; -// ****************************************************************** -// * CMcpxBuffer_Stop -// ****************************************************************** -//Generic OOVPA as of 4242 and newer. -OOVPA_XREF(CMcpxBuffer_Stop, 4242, 9, - - XREF_CMcpxBuffer_Stop, - XRefZero) - - // CMcpxBuffer_Stop+0x0E : cmp al, 3 - { 0x0E, 0x3C }, - { 0x0F, 0x03 }, - - // CMcpxBuffer_Stop+0x17 : jne +0x2A - { 0x17, 0x74 }, - { 0x18, 0x2A }, - - // CMcpxBuffer_Stop+0x19 : test [esp+10h], 2 - { 0x19, 0xF6 }, - { 0x1A, 0x44 }, - { 0x1B, 0x24 }, - { 0x1C, 0x10 }, - { 0x1D, 0x02 }, -OOVPA_END; - // ****************************************************************** // * CDirectSoundBuffer_Stop // ****************************************************************** @@ -3396,6 +3371,11 @@ OOVPA_XREF(CMcpxStream_GetStatus, 4134, 14, { 0x00, 0x55 }, { 0x01, 0x8B }, + // Added 2 OVs to enable support 4242 titles and later (if any has occurred). + { 0x2F, 0x03 }, + { 0x32, 0x03 }, + + // Just a note, this asm code is unique { 0x3D, 0x80 }, { 0x3E, 0x48 }, { 0x3F, 0x02 }, @@ -3408,8 +3388,9 @@ OOVPA_XREF(CMcpxStream_GetStatus, 4134, 14, { 0x4F, 0x04 }, { 0x50, 0x00 }, - { 0x65, 0xC2 }, - { 0x66, 0x04 }, + // Removed due to 4242 has a return asm code at offset 0x75. + //{ 0x65, 0xC2 }, + //{ 0x66, 0x04 }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl new file mode 100644 index 000000000..50a32d5d4 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl @@ -0,0 +1,234 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->HLEDataBase->DSound.1.0.4242.inl +// * +// * This file is part of the Cxbx project. +// * +// * Cxbx and Cxbe are free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA. +// * +// * (c) 2017 RadWolfie +// * +// * All rights reserved +// * +// ****************************************************************** + + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetFormat +// ****************************************************************** +OOVPA_XREF(CDirectSoundVoice_SetFormat, 4242, 8, + + XREF_CDirectSoundVoice_SetFormat, + XRefZero) + + { 0x07, 0x4E }, + { 0x10, 0xE8 }, + { 0x19, 0xD8 }, + { 0x22, 0xFF }, + { 0x2B, 0x0C }, + { 0x34, 0xFF }, + { 0x3F, 0x8B }, + { 0x46, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetFormat +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetFormat, 4242, 8, + + XREF_CDirectSoundBuffer_SetFormat, + XRefOne) + + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetFormat ), + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * IDirectSoundBuffer_SetFormat +// ****************************************************************** +OOVPA_XREF(IDirectSoundBuffer_SetFormat, 4242, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetFormat ), + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetFormat +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetFormat, 4242, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFormat ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetLFO +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetLFO, 4242, 8, + + XREF_CMcpxVoiceClient_SetLFO, + XRefZero) + + { 0x1E, 0x48 }, + { 0x3E, 0x31 }, + { 0x5E, 0x35 }, + { 0x7E, 0xE1 }, + { 0x9E, 0x8B }, + { 0xBE, 0x8B }, + { 0xDE, 0x05 }, + { 0xFE, 0x6C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetLFO +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetLFO, 4242, 8, + + XREF_CDirectSoundBuffer_SetLFO, + XRefOne) + + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetLFO ), + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxVoiceClient::SetEG +// ****************************************************************** +OOVPA_XREF(CMcpxVoiceClient_SetEG, 4242, 8, + + XREF_CMcpxVoiceClient_SetEG, + XRefZero) + + { 0x1E, 0x75 }, + { 0x3E, 0x0F }, + { 0x5E, 0xE3 }, + { 0x7E, 0x4E }, + { 0x9E, 0x40 }, + { 0xBE, 0x50 }, + { 0xDE, 0x1C }, + { 0xFE, 0x1C }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer::SetEG +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetEG, 4242, 8, + + XREF_CDirectSoundBuffer_SetEG, + XRefOne) + + XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetEG ), + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxBuffer_Stop +// ****************************************************************** +//Generic OOVPA as of 4242 and newer. +OOVPA_XREF(CMcpxBuffer_Stop, 4242, 9, + + XREF_CMcpxBuffer_Stop, + XRefZero) + + // CMcpxBuffer_Stop+0x0E : cmp al, 3 + { 0x0E, 0x3C }, + { 0x0F, 0x03 }, + + // CMcpxBuffer_Stop+0x17 : jne +0x2A + { 0x17, 0x74 }, + { 0x18, 0x2A }, + + // CMcpxBuffer_Stop+0x19 : test [esp+10h], 2 + { 0x19, 0xF6 }, + { 0x1A, 0x44 }, + { 0x1B, 0x24 }, + { 0x1C, 0x10 }, + { 0x1D, 0x02 }, +OOVPA_END; + +// ****************************************************************** +// * CMcpxStream_Flush +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Flush, 4242, 10, + XREF_CMcpxStream_Flush, + XRefZero) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + + { 0x12, 0x33 }, + + { 0x3D, 0x83 }, + { 0x3E, 0xFE }, + { 0x3F, 0x05 }, + + { 0x56, 0xE8 }, + + { 0x67, 0xE8 }, + + // Might not be a requirement? Aka comment this out might will enable support detection later XDK revisions. + { 0xD1, 0xC9 }, + { 0xD2, 0xC3 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 0dd2a8f82..5c5cf48b0 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -159,6 +159,7 @@ #include "DSound.1.0.3936.inl" #include "DSound.1.0.4039.inl" #include "DSound.1.0.4134.inl" +#include "DSound.1.0.4242.inl" #include "DSound.1.0.4361.inl" #include "DSound.1.0.4432.inl" #include "DSound.1.0.4627.inl" @@ -198,7 +199,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911, 4039, 4134), - REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 3936, 4039, 4134), + REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 3936, 4039, 4134, 4242), REGISTER_OOVPAS(CMcpxStream_GetStatus, XREF, 4134), REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4134, /*4361,*/ 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), From 1249a8f592a567a5a31d473d3739d5168cbb74c2 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Mon, 16 Oct 2017 23:02:12 -0500 Subject: [PATCH 134/146] Append Previous Commit Oops... --- src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl | 149 ------------------- 1 file changed, 149 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index acbaaae5d..62d78b927 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -482,81 +482,6 @@ OOVPA_XREF(IDirectSoundBuffer_StopEx, 4361, 8, { 0x21, 0xC2 }, OOVPA_END; #endif -// ****************************************************************** -// * DirectSound::CDirectSoundVoice::SetFormat -// ****************************************************************** -OOVPA_XREF(CDirectSoundVoice_SetFormat, 4242, 8, - - XREF_CDirectSoundVoice_SetFormat, - XRefZero) - - { 0x07, 0x4E }, - { 0x10, 0xE8 }, - { 0x19, 0xD8 }, - { 0x22, 0xFF }, - { 0x2B, 0x0C }, - { 0x34, 0xFF }, - { 0x3F, 0x8B }, - { 0x46, 0x00 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetFormat -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetFormat, 4242, 8, - - XREF_CDirectSoundBuffer_SetFormat, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetFormat ), - - { 0x0C, 0x00 }, - { 0x12, 0x85 }, - { 0x1C, 0x15 }, - { 0x26, 0xEB }, - { 0x30, 0x10 }, - { 0x3A, 0x74 }, - { 0x47, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * IDirectSoundBuffer_SetFormat -// ****************************************************************** -OOVPA_XREF(IDirectSoundBuffer_SetFormat, 4242, 8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetFormat ), - - { 0x02, 0x24 }, - { 0x06, 0x24 }, - { 0x0A, 0x83 }, - { 0x0E, 0xD9 }, - { 0x12, 0xC8 }, - { 0x19, 0xC2 }, - { 0x1A, 0x08 }, -OOVPA_END; - -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetFormat -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFormat, 4242, 9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFormat ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; // ****************************************************************** // * public: long __thiscall DirectSound::CMcpxBuffer::Play(__int64,unsigned long) @@ -744,80 +669,6 @@ OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4361, 12, { 0x32, 0x00 } OOVPA_END; -// ****************************************************************** -// * CMcpxVoiceClient::SetLFO -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetLFO, 4242, 8, - - XREF_CMcpxVoiceClient_SetLFO, - XRefZero) - - { 0x1E, 0x48 }, - { 0x3E, 0x31 }, - { 0x5E, 0x35 }, - { 0x7E, 0xE1 }, - { 0x9E, 0x8B }, - { 0xBE, 0x8B }, - { 0xDE, 0x05 }, - { 0xFE, 0x6C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetLFO -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetLFO, 4242, 8, - - XREF_CDirectSoundBuffer_SetLFO, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetLFO ), - - { 0x0C, 0x00 }, - { 0x12, 0x85 }, - { 0x1C, 0x15 }, - { 0x26, 0xEB }, - { 0x30, 0x10 }, - { 0x3A, 0x74 }, - { 0x47, 0x8B }, -OOVPA_END; - -// ****************************************************************** -// * CMcpxVoiceClient::SetEG -// ****************************************************************** -OOVPA_XREF(CMcpxVoiceClient_SetEG, 4242, 8, - - XREF_CMcpxVoiceClient_SetEG, - XRefZero) - - { 0x1E, 0x75 }, - { 0x3E, 0x0F }, - { 0x5E, 0xE3 }, - { 0x7E, 0x4E }, - { 0x9E, 0x40 }, - { 0xBE, 0x50 }, - { 0xDE, 0x1C }, - { 0xFE, 0x1C }, -OOVPA_END; - -// ****************************************************************** -// * CDirectSoundBuffer::SetEG -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetEG, 4242, 8, - - XREF_CDirectSoundBuffer_SetEG, - XRefOne) - - XREF_ENTRY( 0x32, XREF_CDirectSoundVoice_SetEG ), - - { 0x0C, 0x00 }, - { 0x12, 0x85 }, - { 0x1C, 0x15 }, - { 0x26, 0xEB }, - { 0x30, 0x10 }, - { 0x3A, 0x74 }, - { 0x47, 0x8B }, -OOVPA_END; - // ****************************************************************** // * DSound_4361 // ****************************************************************** From a87f43db55b5759ef4fa2421d01954d0faf8857b Mon Sep 17 00:00:00 2001 From: Luke Usher Date: Wed, 18 Oct 2017 21:08:46 +0100 Subject: [PATCH 135/146] Fix GetTypeInformation This completes a rebase onto master! --- src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl index c7458e9e2..7e2bc898a 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.OOVPA.inl @@ -133,6 +133,7 @@ OOVPATable XAPILIB_OOVPAV2[] = { REGISTER_OOVPAS(GetOverlappedResult, PATCH, 3911), REGISTER_OOVPAS(GetThreadPriority, PATCH, 3911, 5788), REGISTER_OOVPAS(GetTimeZoneInformation, UNPATCHED, 3911), + REGISTER_OOVPAS(GetTypeInformation, XREF, 4134), // TODO: Actually introduced in some unknown XDK between 4134 and 4361 REGISTER_OOVPAS(OutputDebugStringA, PATCH, 3911), REGISTER_OOVPAS(QueueUserAPC, PATCH, 3911), REGISTER_OOVPAS(RaiseException, PATCH, 3911), From 4bb5b2de2df07837376ab79481961d11a92100d0 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 16 Oct 2017 17:46:53 +0900 Subject: [PATCH 136/146] Minor Update D3D 3911 Database --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl | 30 +++++++++++++++++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 4 ++- src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 2 +- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl index 1ff45b8de..4d8bf24fe 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl @@ -891,11 +891,10 @@ OOVPA_NO_XREF(Direct3D_CheckDeviceMultiSampleType, 3911, 7) { 0x6E, 0x03 }, OOVPA_END; - // ****************************************************************** // * D3DDevice_GetOverlayUpdateStatus // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 3911, 15) // Also for 4134, 4361, 4627, 5344, 5558, 5788, 5849 +OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 3911, 16) // Also for 4134, 4361, 4627, 5344, 5558, 5788, 5849 { 0x00, 0xA1 }, @@ -912,12 +911,14 @@ OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 3911, 15) // Also for 4134, 4361 { 0x12, 0x33 }, { 0x13, 0xD2 }, { 0x14, 0x3B }, - { 0x15, 0xCE }, +// { 0x15, 0xCE }, // F1 vs CE + { 0x16, 0x0F }, { 0x17, 0x95 }, { 0x18, 0xC2 }, { 0x19, 0x5E }, - + { 0x1A, 0x8B }, + { 0x1B, 0xC2 }, { 0x1C, 0xC3 }, OOVPA_END; @@ -1049,3 +1050,24 @@ OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 3911, 2+15, { 0x4F, 0x04 }, { 0x50, 0x04 }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_RunPushBuffer +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 3911, 12) + + { 0x00, 0x83 }, + { 0x05, 0x1D }, + + { 0x0A, 0x55 }, + { 0x0B, 0x56 }, + { 0x0C, 0x57 }, + { 0x0D, 0x6A }, + { 0x0E, 0x00 }, + { 0x0F, 0x8B }, + { 0x10, 0xCB }, + { 0x11, 0xE8 }, + + { 0x1A, 0x83 }, + { 0x23, 0x8B }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index f373b8455..b54a6e9b5 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -3601,6 +3601,7 @@ OOVPA_NO_XREF(D3DDevice_DeleteVertexShader, 3925, 6) { 0x17, 0x04 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_RunPushBuffer // ****************************************************************** @@ -3627,6 +3628,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 3925, 15) { 0xF6, 0x04 }, { 0xF7, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BlockOnFence @@ -4772,7 +4774,7 @@ OOVPATable D3D8_3925[] = { REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3925, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_RunPushBuffer, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_RunPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3925, PATCH), REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3925, DISABLED), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index 365e96ff7..af841b74c 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -229,7 +229,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_PrimeVertexCache, PATCH, 3925, 4134, 4361, 4627), REGISTER_OOVPAS(D3DDevice_Release, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3925, 4039), - REGISTER_OOVPAS(D3DDevice_RunPushBuffer, PATCH, 3925, 4039, 4627, 5120, 5558), // for 5455 (from 5558's comment) + REGISTER_OOVPAS(D3DDevice_RunPushBuffer, PATCH, 3911, 4039, 4627, 5120, 5558), // for 5455 (from 5558's comment) REGISTER_OOVPAS(D3DDevice_RunVertexStateShader, PATCH, 3925, 4134), REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3925, 4039, 4627, 5344, 5455), REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, PATCH, 4361), From cee6e1901952e8be9d3d28c485955ea2eeadde06 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 16 Oct 2017 19:00:11 +0900 Subject: [PATCH 137/146] Moved 3925 to 3911 Except following 3 OOVPAs D3DDevice_SetRenderState_MultiSampleMode D3D_EnumAdapterModes D3D_GetAdapterModeCount --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl | 3323 +++++++++++++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 779 +++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 88 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 88 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 76 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 70 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 56 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 58 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 56 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 52 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 52 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 50 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 44 +- src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 312 +- 14 files changed, 4286 insertions(+), 818 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl index 4d8bf24fe..c7e6224b8 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl @@ -101,7 +101,6 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 21) // Also for 4361 { 0x1F, 0x16 }, OOVPA_END; - // ****************************************************************** // * D3DDevice_SetTexture // ****************************************************************** @@ -150,6 +149,7 @@ OOVPA_END; // * D3DDevice_DrawRectPatch // ****************************************************************** OOVPA_NO_XREF(D3DDevice_DrawRectPatch, 3911, 27) // Also verified for 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 + { 0x00, 0x83 }, { 0x01, 0xEC }, { 0x02, 0x38 }, @@ -221,7 +221,7 @@ OOVPA_END; // * D3DDevice_CreateVertexShader // ****************************************************************** // Based on Dxbx patterns for 3911, 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 -OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 3925, 38) +OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 3911, 38) // IDirect3DDevice8_CreateVertexShader+0x00 : push ecx; push ebx; push ebp { 0x00, 0x51 }, { 0x01, 0x53 }, @@ -303,7 +303,6 @@ OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 3925, 38) */ OOVPA_END; - // ****************************************************************** // * D3DDevice_Release // ****************************************************************** @@ -463,7 +462,7 @@ OOVPA_XREF(D3DDevice_GetLightEnable, 3911, 1+24, // valid upto at least 5233, ne { 0x01, 0x4C }, { 0x02, 0x24 }, { 0x03, 0x04 }, - + { 0x04, 0xA1 }, { 0x09, 0x8B }, { 0x0A, 0x90 }, @@ -597,6 +596,7 @@ OOVPA_END; // * CMiniport::InitHardware // ****************************************************************** OOVPA_NO_XREF(CMiniport_InitHardware, 3911, 24) + { 0x00, 0x55 }, { 0x01, 0x8B }, { 0x02, 0xEC }, @@ -629,6 +629,7 @@ OOVPA_END; // * CMiniport::CreateCtxDmaObject // ****************************************************************** OOVPA_NO_XREF(CMiniport_CreateCtxDmaObject, 3911, 32) + { 0x00, 0x55 }, { 0x01, 0x8B }, { 0x02, 0xEC }, @@ -1071,3 +1072,3317 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 3911, 12) { 0x1A, 0x83 }, { 0x23, 0x8B }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_IsBusy +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_IsBusy, 3911, 8) + + { 0x0B, 0x8B }, + { 0x0C, 0x90 }, + { 0x0D, 0x04 }, + { 0x0E, 0x04 }, + + { 0x1E, 0x74 }, + { 0x1F, 0x06 }, + + { 0x25, 0xC3 }, + + { 0x33, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetDeviceCaps +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetDeviceCaps, 3911, 11) + + // D3DDevice_GetDeviceCaps+0x00 : push esi; push edi + { 0x00, 0x56 }, + { 0x01, 0x57 }, + + // D3DDevice_GetDeviceCaps+0x06 : mov ecx, 0x35 + { 0x06, 0xB9 }, + { 0x07, 0x35 }, + { 0x08, 0x00 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + + // D3DDevice_GetDeviceCaps+0x10 : rep movsd + { 0x10, 0xF3 }, + { 0x11, 0xA5 }, + + // D3DDevice_GetDeviceCaps+0x14 : retn 0x04 + { 0x14, 0xC2 }, + { 0x15, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_BeginVisibilityTest +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 3911, 11) + + // D3DDevice_BeginVisibilityTest+0x0D : mov ecx, 1 + { 0x0D, 0xB9 }, + { 0x0E, 0x01 }, + { 0x0F, 0x00 }, + + // D3DDevice_BeginVisibilityTest+0x12 : mov dword ptr [eax], 0x000817C8 + { 0x12, 0xC7 }, + { 0x13, 0x00 }, + { 0x14, 0xC8 }, + { 0x15, 0x17 }, + { 0x16, 0x08 }, + + // D3DDevice_BeginVisibilityTest+0x1E : add eax, 0x0C + { 0x1E, 0x83 }, + { 0x1F, 0xC0 }, + { 0x20, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetMaterial, 3911, 9) + + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + { 0x0C, 0xB0 }, + { 0x0D, 0x18 }, + { 0x0E, 0x0B }, + { 0x11, 0xB9 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_EndVisibilityTest +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 3911, 13) + + // D3DDevice_EndVisibilityTest+0x11 : mov eax, 0x8007000E + { 0x11, 0xB8 }, + { 0x12, 0x0E }, + { 0x13, 0x00 }, + { 0x14, 0x07 }, + { 0x15, 0x80 }, + + // D3DDevice_EndVisibilityTest+0x2D : mov dword ptr [eax], 0x000817CC + { 0x2D, 0xC7 }, + { 0x2E, 0x00 }, + { 0x2F, 0xCC }, + { 0x30, 0x17 }, + { 0x31, 0x08 }, + + // D3DDevice_EndVisibilityTest+0x43 : add eax, 0x0C + { 0x43, 0x83 }, + { 0x44, 0xC0 }, + { 0x45, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVisibilityTestResult +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVisibilityTestResult, 3911, 11) + + // D3DDevice_GetVisibilityTestResult+0x0C : shr ecx, 8 + { 0x0C, 0xC1 }, + { 0x0D, 0xE9 }, + { 0x0E, 0x08 }, + + // D3DDevice_GetVisibilityTestResult+0x0F : and eax, 0xFF + { 0x0F, 0x25 }, + { 0x10, 0xFF }, + { 0x11, 0x00 }, + + // D3DDevice_GetVisibilityTestResult+0x2B : mov eax, 0x88760828 + { 0x2B, 0xB8 }, + { 0x2C, 0x28 }, + { 0x2D, 0x08 }, + { 0x2E, 0x76 }, + { 0x2F, 0x88 }, +OOVPA_END; + +// ****************************************************************** +// * D3D::CDevice::KickOff +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_KickOff, 3911, 10) + + { 0x01, 0xA1 }, + + { 0x32, 0x81 }, + { 0x33, 0xCA }, + { 0x36, 0x01 }, + + { 0x5E, 0x89 }, + { 0x5F, 0x50 }, + { 0x60, 0x40 }, + + { 0x90, 0x83 }, + { 0x91, 0xEA }, + { 0x92, 0x02 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_LoadVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 3911, 10) + + // D3DDevice_LoadVertexShader+0x07 : mov al, [ebx+0x0C] + { 0x07, 0x8A }, + { 0x08, 0x43 }, + { 0x09, 0x0C }, + + // D3DDevice_LoadVertexShader+0x3D : mov dword ptr [eax], 0x00041E9C + { 0x3D, 0xC7 }, + { 0x3E, 0x00 }, + { 0x3F, 0x9C }, + { 0x40, 0x1E }, + { 0x41, 0x04 }, + + // D3DDevice_LoadVertexShader+0x4E : mov [ebx], ebx + { 0x4E, 0x89 }, + { 0x4F, 0x13 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SelectVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 3911, 11) + + // D3DDevice_SelectVertexShader+0x16 : or ecx, 0x3A0 + { 0x16, 0x81 }, + { 0x17, 0xC9 }, + { 0x18, 0xA0 }, + { 0x19, 0x03 }, + + // D3DDevice_SelectVertexShader+0x3F : mov dword ptr [eax], 0x00081E94 + { 0x3F, 0xC7 }, + { 0x40, 0x00 }, + { 0x41, 0x94 }, + { 0x42, 0x1E }, + { 0x43, 0x08 }, + + // D3DDevice_SelectVertexShader+0x51 : mov [esi], eax + { 0x51, 0x89 }, + { 0x52, 0x06 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 3911, 14) + + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0;push 0;push 1 + { 0x05, 0x6A }, + { 0x06, 0x00 }, + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x01 }, + + // D3DDevice_BlockUntilVerticalBlank+0x0B : mov dword ptr [eax+0x24F4], + { 0x0B, 0xC7 }, + { 0x0C, 0x80 }, + { 0x0D, 0xF4 }, + { 0x0E, 0x24 }, + { 0x0F, 0x00 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : and eax, 0x24F0 + { 0x17, 0x05 }, + { 0x18, 0xF0 }, + { 0x19, 0x24 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVerticalBlankCallback +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 3911, 12) + + // D3DDevice_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetVerticalBlankCallback+0x0A : mov [ecx+0x24EC], eax + { 0x0A, 0x89 }, + { 0x0B, 0x81 }, + { 0x0C, 0xEC }, + { 0x0D, 0x24 }, + { 0x0E, 0x00 }, + + // D3DDevice_SetVerticalBlankCallback+0x10 : retn 0x04 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, + { 0x12, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderTarget +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3911, 11) + + // D3DDevice_SetRenderTarget+0x00 : sub esp, 0x20 + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x20 }, + + // D3DDevice_SetRenderTarget+0x32 : mov [esp+0x34], ebx + { 0x32, 0x89 }, + { 0x33, 0x5C }, + { 0x34, 0x24 }, + { 0x35, 0x34 }, + + // D3DDevice_SetRenderTarget+0x55 : and ecx, 0x0F + { 0x55, 0x83 }, + { 0x56, 0xE1 }, + { 0x57, 0x0F }, + + // D3DDevice_SetRenderTarget+0xDC : push edx + { 0xDC, 0x52 }, +OOVPA_END; + +// ****************************************************************** +// * D3DSurface_GetDesc +// ****************************************************************** +OOVPA_NO_XREF(D3DSurface_GetDesc, 3911, 16) + + // D3DSurface_GetDesc+0x00 : mov eax, [esp+0x08] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x08 }, + + // D3DSurface_GetDesc+0x04 : mov ecx, [esp+0x04] + { 0x04, 0x8B }, + { 0x05, 0x4C }, + { 0x06, 0x24 }, + { 0x07, 0x04 }, + + // D3DSurface_GetDesc+0x08 : push eax + { 0x08, 0x50 }, + + // D3DSurface_GetDesc+0x09 : push 0 + { 0x09, 0x6A }, + { 0x0A, 0x00 }, + + // D3DSurface_GetDesc+0x0B : push ecx + { 0x0B, 0x51 }, + + // D3DSurface_GetDesc+0x0C : call [abs] + { 0x0C, 0xE8 }, + + // D3DSurface_GetDesc+0x11 : retn 0x08 + { 0x11, 0xC2 }, + { 0x12, 0x08 }, + { 0x13, 0x00 }, + +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetTransform +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTransform, 3911, 12) + + // D3DDevice_GetTransform+0x06 : mov esi, [esp+4+arg_0] + { 0x06, 0x8B }, + { 0x07, 0x74 }, + { 0x08, 0x24 }, + + // D3DDevice_GetTransform+0x12 : shl esi, 6; add esi, eax + { 0x12, 0xC1 }, + { 0x13, 0xE6 }, + { 0x14, 0x06 }, + { 0x15, 0x03 }, + { 0x16, 0xF0 }, + + // D3DDevice_GetTransform+0x17 : mov ecx, 0x10 + { 0x17, 0xB9 }, + { 0x18, 0x10 }, + + // D3DDevice_GetTransform+0x20 : retn 0x08 + { 0x20, 0xC2 }, + { 0x21, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetStreamSource +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetStreamSource, 3911, 12) + + // D3DDevice_SetStreamSource+0x39 : add edx, 0xFFF80000 + { 0x39, 0x81 }, + { 0x3A, 0xC2 }, + { 0x3B, 0x00 }, + { 0x3C, 0x00 }, + { 0x3D, 0xF8 }, + { 0x3E, 0xFF }, + + // D3DDevice_SetStreamSource+0x49 : jnz +0x06 + { 0x49, 0x75 }, + { 0x4A, 0x06 }, + + // D3DDevice_SetStreamSource+0x6A : or ecx, 0x280 + { 0x6A, 0x81 }, + { 0x6B, 0xC9 }, + { 0x6C, 0x80 }, + { 0x6D, 0x02 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVertexShader, 3911, 14) + + // D3DDevice_SetVertexShader+0x05 : test bl, 1 + { 0x05, 0xF6 }, + { 0x06, 0xC3 }, + { 0x07, 0x01 }, + + // D3DDevice_SetVertexShader+0x10 : mov eax, [esi+0x0470] + { 0x10, 0x8B }, + { 0x11, 0x86 }, + { 0x12, 0x70 }, + { 0x13, 0x04 }, + + // D3DDevice_SetVertexShader+0x6D : retn 0x04 + { 0x6D, 0xC2 }, + { 0x6E, 0x04 }, + + // D3DDevice_SetVertexShader+0x8C : mov dword ptr [eax], 0x81E94 + { 0x8C, 0xC7 }, + { 0x8D, 0x40 }, + { 0x8E, 0x08 }, + { 0x8F, 0x94 }, + { 0x90, 0x1E }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreatePixelShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 3911, 11) + + // D3DDevice_CreatePixelShader+0x00 : push 0xFC + { 0x00, 0x68 }, + { 0x01, 0xFC }, + + // D3DDevice_CreatePixelShader+0x10 : mov eax, 0x8007000E + { 0x10, 0xB8 }, + { 0x11, 0x0E }, + { 0x12, 0x00 }, + { 0x13, 0x07 }, + { 0x14, 0x80 }, + + // D3DDevice_CreatePixelShader+0x31 : mov ecx, 0x3C + { 0x31, 0xB9 }, + { 0x32, 0x3C }, + + // D3DDevice_CreatePixelShader+0x42 : retn 0x08 + { 0x42, 0xC2 }, + { 0x43, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetPixelShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetPixelShader, 3911, 10) + + // D3DDevice_SetPixelShader+0x0E : mov esi, [ebx+0x0414] + { 0x0E, 0x8B }, + { 0x0F, 0xB3 }, + { 0x10, 0x14 }, + { 0x11, 0x04 }, + + // D3DDevice_SetPixelShader+0x34 : or eax, 0x40 + { 0x35, 0xC8 }, + { 0x36, 0x40 }, + + // D3DDevice_SetPixelShader+0x68 : retn 0x04 + { 0x68, 0xC2 }, + { 0x69, 0x04 }, + + // D3DDevice_SetPixelShader+0xE3 : rep movsd + { 0xE3, 0xF3 }, + { 0xE4, 0xA5 }, + +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetIndices +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetIndices, 3911, 11) + + // D3DDevice_SetIndices+0x0E : jz +0x10 + { 0x0E, 0x74 }, + { 0x0F, 0x10 }, + + // D3DDevice_SetIndices+0x3E : test ecx, 0x78FFFF + { 0x3E, 0xF7 }, + { 0x3F, 0xC1 }, + { 0x40, 0xFF }, + { 0x41, 0xFF }, + { 0x42, 0x78 }, + + // D3DDevice_SetIndices+0x67 : mov [esi+0x047C], edi + { 0x67, 0x89 }, + { 0x68, 0xBE }, + { 0x69, 0x7C }, + { 0x6A, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetViewport +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetViewport, 3911, 10) + + // D3DDevice_SetViewport+0x00 : sub esp, 0x08 + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x08 }, + + // D3DDevice_SetViewport+0x2F : mov ebx, [esp+0x1C] + { 0x2F, 0x8B }, + { 0x30, 0x5C }, + { 0x31, 0x24 }, + { 0x32, 0x1C }, + + // D3DDevice_SetViewport+0x55 : jnz +0x12 + { 0x55, 0x75 }, + { 0x56, 0x12 }, + + // D3DDevice_SetViewport+0x9D : inc edx + { 0x9D, 0x42 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_DrawIndexedVertices +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DrawIndexedVertices, 3911, 12) + + // D3DDevice_DrawIndexedVertices+0x0E : mov eax, [esi+0x0478] + { 0x0E, 0x8B }, + { 0x0F, 0x86 }, + { 0x10, 0x78 }, + { 0x11, 0x04 }, + + // D3DDevice_DrawIndexedVertices+0x44 : mov dword ptr [ebx-8], 0x000417FC + { 0x44, 0xC7 }, + { 0x45, 0x43 }, + { 0x46, 0xF8 }, + { 0x47, 0xFC }, + { 0x48, 0x17 }, + { 0x49, 0x04 }, + + // D3DDevice_DrawIndexedVertices+0xDA : lea ebx, [ebx+0] + { 0xDA, 0x8D }, + { 0xDB, 0x9B }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_Begin +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_Begin, 3911, 11) + + // D3DDevice_Begin+0x20 : mov dword ptr [eax], 0x417FC + { 0x20, 0xC7 }, + { 0x21, 0x00 }, + { 0x22, 0xFC }, + { 0x23, 0x17 }, + { 0x24, 0x04 }, + { 0x25, 0x00 }, + + // D3DDevice_Begin+0x2E : shl edx, 6 + { 0x2E, 0x0D }, + { 0x2F, 0x00 }, + { 0x30, 0x08 }, + + // D3DDevice_Begin+0x38 : retn 0x08 + { 0x38, 0xC2 }, + { 0x39, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVertexData2f +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 3911, 14) + + // D3DDevice_SetVertexData2f+0x11 : lea edx, ds:abs[ecx*8] + { 0x11, 0x8D }, + { 0x12, 0x14 }, + { 0x13, 0xCD }, + + // D3DDevice_SetVertexData2f+0x1C : mov [eax], edx; mov edx, [esp+0x10] + { 0x1C, 0x89 }, + { 0x1D, 0x10 }, + { 0x1E, 0x8B }, + { 0x1F, 0x54 }, + { 0x20, 0x24 }, + { 0x21, 0x10 }, + + // D3DDevice_SetVertexData2f+0x28 : add eax, 0x0C + { 0x28, 0x83 }, + { 0x29, 0xC0 }, + { 0x2A, 0x0C }, + + // D3DDevice_SetVertexData2f+0x2E : retn 0x0C + { 0x2E, 0xC2 }, + { 0x2F, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVertexData2s +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVertexData2s, 3911, 11) + + // D3DDevice_SetVertexData2s+0x11 : lea edx, ds:abs[ecx*4] + { 0x11, 0x8D }, + { 0x12, 0x14 }, + { 0x13, 0x8D }, + + // D3DDevice_SetVertexData2s+0x24 : shl ecx, 0x10 + { 0x24, 0xC1 }, + { 0x25, 0xE1 }, + { 0x26, 0x10 }, + + // D3DDevice_SetVertexData2s+0x29 : mov [eax+4], ecx + { 0x29, 0x89 }, + { 0x2A, 0x48 }, + { 0x2B, 0x04 }, + + // D3DDevice_SetVertexData2s+0x32 : retn 0x0C + { 0x32, 0xC2 }, + { 0x33, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVertexData4f +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVertexData4f, 3911, 11) + + // D3DDevice_SetVertexData4f+0x11 : cmp ecx, -1; jnz +0x07 + { 0x11, 0x83 }, + { 0x12, 0xF9 }, + { 0x13, 0xFF }, + { 0x14, 0x75 }, + { 0x15, 0x07 }, + + // D3DDevice_SetVertexData4f+0x1D : add ecx, 0x01A0 + { 0x1D, 0x81 }, + { 0x1E, 0xC1 }, + { 0x1F, 0xA0 }, + { 0x20, 0x01 }, + + // D3DDevice_SetVertexData4f+0x50 : retn 0x14 + { 0x50, 0xC2 }, + { 0x51, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVertexDataColor +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 3911, 18) + + // D3DDevice_SetVertexDataColor+0x00 : push esi + { 0x00, 0x56 }, + + // D3DDevice_SetVertexDataColor+0x1F : mov byte ptr [esp+?] + { 0x1F, 0x0F }, + { 0x20, 0xB6 }, + { 0x21, 0x54 }, + { 0x22, 0x24 }, + { 0x23, 0x12 }, + + // D3DDevice_SetVertexDataColor+0x26 : add edi, 0xFF; shl edi, 0x10 + { 0x26, 0x81 }, + { 0x27, 0xE7 }, + { 0x28, 0xFF }, + { 0x2C, 0xC1 }, + { 0x2D, 0xE7 }, + { 0x2E, 0x10 }, + + // D3DDevice_SetVertexDataColor+0x31 : and ecx, 0xFF00FF00 + { 0x31, 0x81 }, + { 0x32, 0xE1 }, + { 0x33, 0x00 }, + { 0x34, 0xFF }, + { 0x35, 0x00 }, + { 0x36, 0xFF }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_End +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_End, 3911, 12) + + // D3DDevice_End+0x17 : mov dword ptr [eax], 0x417FC + { 0x17, 0xC7 }, + { 0x18, 0x00 }, + { 0x19, 0xFC }, + { 0x1A, 0x17 }, + { 0x1B, 0x04 }, + { 0x1C, 0x00 }, + + // D3DDevice_End+0x2C : test ah, 0x10 + { 0x2C, 0xF6 }, + { 0x2D, 0xC4 }, + { 0x2E, 0x10 }, + + // D3DDevice_End+0x2F : jz +0x07 + { 0x2F, 0x74 }, + { 0x30, 0x07 }, + + // D3DDevice_End+0x40 : retn + { 0x40, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_Clear +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_Clear, 3911, 10) + + // D3DDevice_Clear+0x00 : sub esp, 0x38 + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x38 }, + + // D3DDevice_Clear+0x25 : test cl, 1 + { 0x25, 0xF6 }, + { 0x26, 0xC1 }, + { 0x27, 0x01 }, + + // D3DDevice_Clear+0x5D : mov [esi], eax; xor ebp, ebp + { 0x5D, 0x89 }, + { 0x5E, 0x06 }, + { 0x5F, 0x33 }, + { 0x60, 0xED }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreatePalette +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreatePalette, 3911, 12) + + // D3DDevice_CreatePalette+0x01 : push 0x0C + { 0x01, 0x6A }, + { 0x02, 0x0C }, + + // D3DDevice_CreatePalette+0x03 : push 0x40 + { 0x03, 0x6A }, + { 0x04, 0x40 }, + + // D3DDevice_CreatePalette+0x10 : mov eax, 0x8007000E + { 0x10, 0xB8 }, + { 0x11, 0x0E }, + { 0x12, 0x00 }, + { 0x13, 0x07 }, + { 0x14, 0x80 }, + + // D3DDevice_CreatePalette+0x4E : shl esi, 0x1E + { 0x4E, 0xC1 }, + { 0x4F, 0xE6 }, + { 0x50, 0x1E }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetPalette +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetPalette, 3911, 12) + + // D3DDevice_SetPalette+0x0D : mov eax, [edi+esi*4+0x0BB0] + { 0x0D, 0x8B }, + { 0x0E, 0x84 }, + { 0x0F, 0xB7 }, + { 0x10, 0xB0 }, + { 0x11, 0x0B }, + + // D3DDevice_SetPalette+0x68 : add esi, 0x41B20 + { 0x68, 0x81 }, + { 0x69, 0xC6 }, + { 0x6A, 0x20 }, + { 0x6B, 0x1B }, + { 0x6C, 0x04 }, + + // D3DDevice_SetPalette+0x7C : retn 0x08 + { 0x7C, 0xC2 }, + { 0x7D, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreateTexture +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateTexture, 3911, 14) + + // D3DDevice_CreateTexture+0x00 : mov eax, [esp+0x1C] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x1C }, + + // D3DDevice_CreateTexture+0x0C : push eax + { 0x0C, 0x50 }, + + // D3DDevice_CreateTexture+0x11 : push 0 + { 0x11, 0x6A }, + { 0x12, 0x00 }, + + // D3DDevice_CreateTexture+0x13 : push 0 + { 0x13, 0x6A }, + { 0x14, 0x00 }, + + // D3DDevice_CreateTexture+0x15 : push ecx + { 0x15, 0x51 }, + + // D3DDevice_CreateTexture+0x22 : push ecx + { 0x22, 0x51 }, + + // D3DDevice_CreateTexture+0x23 : push edx + { 0x23, 0x52 }, + + // D3DDevice_CreateTexture+0x29 : retn 0x1C + { 0x29, 0xC2 }, + { 0x2A, 0x1C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreateVolumeTexture +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateVolumeTexture, 3911, 15) + + // D3DDevice_CreateVolumeTexture+0x00 : mov eax, [esp+0x1C] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x20 }, + + // D3DDevice_CreateVolumeTexture+0x0C : push eax + { 0x0C, 0x50 }, + + // D3DDevice_CreateVolumeTexture+0x11 : push 1 + { 0x11, 0x6A }, + { 0x12, 0x01 }, + + // D3DDevice_CreateVolumeTexture+0x13 : push 0 + { 0x13, 0x6A }, + { 0x14, 0x00 }, + + // D3DDevice_CreateVolumeTexture+0x16 : mov ecx, [esp+0x1C] + { 0x16, 0x8B }, + { 0x17, 0x4C }, + { 0x18, 0x24 }, + { 0x19, 0x1C }, + + // D3DDevice_CreateVolumeTexture+0x2C : retn 0x20 + { 0x2C, 0xC2 }, + { 0x2D, 0x20 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreateCubeTexture +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateCubeTexture, 3911, 15) + + // D3DDevice_CreateCubeTexture+0x00 : mov eax, [esp+0x1C] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x18 }, + + // D3DDevice_CreateCubeTexture+0x0C : push eax + { 0x0C, 0x50 }, + + // D3DDevice_CreateCubeTexture+0x11 : push 0 + { 0x11, 0x6A }, + { 0x12, 0x00 }, + + // D3DDevice_CreateCubeTexture+0x13 : push 1 + { 0x13, 0x6A }, + { 0x14, 0x01 }, + + // D3DDevice_CreateCubeTexture+0x18 : mov eax, [esp+0x1C] + { 0x18, 0x8B }, + { 0x19, 0x44 }, + { 0x1A, 0x24 }, + { 0x1B, 0x1C }, + + // D3DDevice_CreateCubeTexture+0x25 : retn 0x18 + { 0x25, 0xC2 }, + { 0x26, 0x18 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreateIndexBuffer +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateIndexBuffer, 3911, 13) + + // D3DDevice_CreateIndexBuffer+0x13 : mov eax, 0x8007000E + { 0x13, 0xB8 }, + { 0x14, 0x0E }, + { 0x15, 0x00 }, + { 0x16, 0x07 }, + { 0x17, 0x80 }, + + // D3DDevice_CreateIndexBuffer+0x18 : retn 0x14 + { 0x18, 0xC2 }, + { 0x19, 0x14 }, + + // D3DDevice_CreateIndexBuffer+0x2E : mov dword ptr [eax], 0x1010001 + { 0x2E, 0xC7 }, + { 0x2F, 0x00 }, + { 0x30, 0x01 }, + { 0x31, 0x00 }, + { 0x32, 0x01 }, + { 0x33, 0x01 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVertexShaderConstant +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant, 3911, 10) + + // D3DDevice_SetVertexShaderConstant+0x11 : mov cl, [ebx+0x0C] + { 0x11, 0x8A }, + { 0x12, 0x4B }, + { 0x13, 0x0C }, + + // D3DDevice_SetVertexShaderConstant+0x1A : test cl, 0x10 + { 0x1A, 0xF6 }, + { 0x1B, 0xC1 }, + { 0x1C, 0x10 }, + + // D3DDevice_SetVertexShaderConstant+0x63 : jle +0x19 + { 0x63, 0x7E }, + { 0x64, 0x19 }, + + // D3DDevice_SetVertexShaderConstant+0x9B : retn 0x0C + { 0x9B, 0xC2 }, + { 0x9C, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetFlickerFilter +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 3911, 12) + + // D3DDevice_SetFlickerFilter+0x0A : mov edx, [ecx+0x2308] + { 0x0A, 0x8B }, + { 0x0B, 0x91 }, + { 0x0C, 0x08 }, + { 0x0D, 0x23 }, + + // D3DDevice_SetFlickerFilter+0x10 : push 0; push eax; push 0x0B; push edx + { 0x10, 0x6A }, + { 0x11, 0x00 }, + { 0x12, 0x50 }, + { 0x13, 0x6A }, + { 0x14, 0x0B }, + { 0x15, 0x52 }, + + // D3DDevice_SetFlickerFilter+0x1C : retn 0x08 + { 0x1C, 0xC2 }, + { 0x1D, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetSoftDisplayFilter +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 3911, 12) + + // D3DDevice_SetSoftDisplayFilter+0x0A : mov edx, [ecx+0x2308] + { 0x0A, 0x8B }, + { 0x0B, 0x91 }, + { 0x0C, 0x08 }, + { 0x0D, 0x23 }, + + // D3DDevice_SetSoftDisplayFilter+0x10 : push 0; push eax; push 0x0E; push edx + { 0x10, 0x6A }, + { 0x11, 0x00 }, + { 0x12, 0x50 }, + { 0x13, 0x6A }, + { 0x14, 0x0E }, + { 0x15, 0x52 }, + + // D3DDevice_SetSoftDisplayFilter+0x1C : retn 0x08 + { 0x1C, 0xC2 }, + { 0x1D, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetTextureState_BorderColor +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 3911, 13) + + // D3DDevice_SetTextureState_BorderColor+0x13 : shl eax, 0x07 + { 0x13, 0xC1 }, + { 0x14, 0xE2 }, + { 0x15, 0x06 }, + + // D3DDevice_SetTextureState_BorderColor+0x16 : add edx, 0x41B24 + { 0x16, 0x81 }, + { 0x17, 0xC2 }, + { 0x18, 0x24 }, + { 0x19, 0x1B }, + { 0x1A, 0x04 }, + + // D3DDevice_SetTextureState_BorderColor+0x2A : shl ecx, 7 + { 0x2A, 0xC1 }, + { 0x2B, 0xE1 }, + { 0x2C, 0x07 }, + + // D3DDevice_SetTextureState_BorderColor+0x34 : retn 0x08 + { 0x34, 0xC2 }, + { 0x35, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_PSTextureModes +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_PSTextureModes, 3911, 11) + + // D3DDevice_SetRenderState_PSTextureModes+0x0C : or edx, 0x400 + { 0x0C, 0x81 }, + { 0x0D, 0xCA }, + { 0x0E, 0x00 }, + { 0x0F, 0x04 }, + + // D3DDevice_SetRenderState_PSTextureModes+0x12 : mov [eax+0x420], ecx + { 0x12, 0x89 }, + { 0x13, 0x88 }, + { 0x14, 0x20 }, + { 0x15, 0x04 }, + { 0x16, 0x00 }, + + // D3DDevice_SetRenderState_PSTextureModes+0x21 : retn 4 + { 0x21, 0xC2 }, + { 0x22, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_StencilFail +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 3911, 12) + + // D3DDevice_SetRenderState_StencilFail+0x19 : mov ecx, 2 + { 0x19, 0xB9 }, + { 0x1A, 0x02 }, + { 0x1B, 0x00 }, + + // D3DDevice_SetRenderState_StencilFail+0x3E : or ecx, 1 + { 0x3E, 0x83 }, + { 0x3F, 0xC9 }, + { 0x40, 0x01 }, + + // D3DDevice_SetRenderState_StencilFail+0x48 : mov dword ptr [eax], 0x00041D84 + { 0x48, 0xC7 }, + { 0x49, 0x00 }, + { 0x4A, 0x84 }, + { 0x4B, 0x1D }, + { 0x4C, 0x04 }, + { 0x4D, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_Simple +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_Simple, 3911, 13) + + // D3DDevice_SetRenderState_Simple+0x05 : add eax, 0x08 + { 0x05, 0x83 }, + { 0x06, 0xC0 }, + { 0x07, 0x08 }, + + // D3DDevice_SetRenderState_Simple+0x0E : jnb +0x0C + { 0x0E, 0x73 }, + { 0x0F, 0x0C }, + + // D3DDevice_SetRenderState_Simple+0x15 : mov [eax-8], ecx + { 0x15, 0x89 }, + { 0x16, 0x48 }, + { 0x17, 0xF8 }, + + // D3DDevice_SetRenderState_Simple+0x18 : mov [eax-4], ecx + { 0x18, 0x89 }, + { 0x19, 0x50 }, + { 0x1A, 0xFC }, + + // D3DDevice_SetRenderState_Simple+0x2B : jmp +0xD3 + { 0x2B, 0xEB }, + { 0x2C, 0xD3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetTransform +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetTransform, 3911, 10) + + // D3DDevice_SetTransform+0x3A : fld dword ptr [edx+0x28] + { 0x3A, 0xD9 }, + { 0x3B, 0x42 }, + { 0x3C, 0x28 }, + + // D3DDevice_SetTransform+0x47 : test ah, 0x44 + { 0x47, 0xF6 }, + { 0x48, 0xC4 }, + { 0x49, 0x44 }, + + // D3DDevice_SetTransform+0x55 : fnstsw ax + { 0x55, 0xDF }, + { 0x56, 0xE0 }, + + // D3DDevice_SetTransform+0x7A : fdivp st(1), st + { 0x7A, 0xDE }, + { 0x7B, 0xF9 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_FogColor +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor, 3911, 11) + + // D3DDevice_SetRenderState_FogColor+0x2E : mov dword ptr [eax], 0x402A8 + { 0x2E, 0xC7 }, + { 0x2F, 0x00 }, + { 0x30, 0xA8 }, + { 0x31, 0x02 }, + { 0x32, 0x04 }, + { 0x33, 0x00 }, + + // D3DDevice_SetRenderState_FogColor+0x37 : add eax, 0x08 + { 0x37, 0x83 }, + { 0x38, 0xC0 }, + { 0x39, 0x08 }, + + // D3DDevice_SetRenderState_FogColor+0x44 : retn 0x04 + { 0x44, 0xC2 }, + { 0x45, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_FillMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 3911, 11) + + // D3DDevice_SetRenderState_FillMode+0x23 : mov dword ptr [eax], 0x8038C + { 0x23, 0xC7 }, + { 0x24, 0x00 }, + { 0x25, 0x8C }, + { 0x26, 0x03 }, + { 0x27, 0x08 }, + { 0x28, 0x00 }, + + // D3DDevice_SetRenderState_FillMode+0x2F : add eax, 0x0C + { 0x2F, 0x83 }, + { 0x30, 0xC0 }, + { 0x31, 0x0C }, + + // D3DDevice_SetRenderState_FillMode+0x3B : retn 0x04 + { 0x3B, 0xC2 }, + { 0x3C, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_StencilEnable +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 3911, 11) + + // D3DDevice_SetRenderState_StencilEnable+0x45 : mov dword ptr [eax], 0x41D84 + { 0x45, 0xC7 }, + { 0x46, 0x00 }, + { 0x47, 0x84 }, + { 0x48, 0x1D }, + { 0x49, 0x04 }, + { 0x4A, 0x00 }, + + // D3DDevice_SetRenderState_StencilEnable+0x71 : add eax, 0x08 + { 0x71, 0x83 }, + { 0x72, 0xC0 }, + { 0x73, 0x08 }, + + // D3DDevice_SetRenderState_StencilEnable+0x7D : retn 0x04 + { 0x7D, 0xC2 }, + { 0x7E, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_Dxt1NoiseEnable +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 3911, 11) + + // D3DDevice_SetRenderState_Dxt1NoiseEnable+0x0C : mov eax, [esi+0x040C] + { 0x0C, 0x8B }, + { 0x0D, 0x86 }, + { 0x0E, 0x0C }, + { 0x0F, 0x04 }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + + // D3DDevice_SetRenderState_Dxt1NoiseEnable+0x22 : cmp dl, 0x20 + { 0x22, 0x80 }, + { 0x23, 0xFA }, + { 0x24, 0x20 }, + + // D3DDevice_SetRenderState_Dxt1NoiseEnable+0x74 : retn 0x04 + { 0x74, 0xC2 }, + { 0x75, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_ZBias +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_ZBias, 3911, 10) + + // D3DDevice_SetRenderState_ZBias+0x0B : setnz al + { 0x0B, 0x0F }, + { 0x0C, 0x95 }, + { 0x0D, 0xC0 }, + + // D3DDevice_SetRenderState_ZBias+0x14 : fild [esp+0x10] + { 0x14, 0xDB }, + { 0x15, 0x44 }, + { 0x16, 0x24 }, + + // D3DDevice_SetRenderState_ZBias+0x45 : push 0x4E + { 0x45, 0x6A }, + { 0x46, 0x4E }, + + // D3DDevice_SetRenderState_ZBias+0x45 : retn 0x04 + { 0x71, 0xC2 }, + { 0x72, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_ZEnable +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 3911, 13) + + // D3DDevice_SetRenderState_ZEnable+0x13 : jz +0x11 + { 0x13, 0x74 }, + { 0x14, 0x11 }, + + // D3DDevice_SetRenderState_ZEnable+0x15 : mov edx, [esi+0x0410] + { 0x15, 0x8B }, + { 0x16, 0x96 }, + { 0x17, 0x10 }, + { 0x18, 0x04 }, + + // D3DDevice_SetRenderState_ZEnable+0x28 : mov dword ptr [eax], 0x4030 + { 0x28, 0xC7 }, + { 0x29, 0x00 }, + { 0x2A, 0x0C }, + { 0x2B, 0x03 }, + { 0x2C, 0x04 }, + + // D3DDevice_SetRenderState_ZEnable+0x69 : retn 0x04 + { 0x69, 0xC2 }, + { 0x6A, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_Present +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_Present, 3911, 10) + + // D3DDevice_Present+0x0A : push 2 + { 0x0A, 0x6A }, + { 0x0B, 0x02 }, + + // D3DDevice_Present+0x11 : mov eax, [esi+2518] + { 0x11, 0x8B }, + { 0x12, 0x86 }, + { 0x13, 0x18 }, + { 0x14, 0x25 }, + + // D3DDevice_Present+0xBE : shr ebx, 1 + { 0xBE, 0xD1 }, + { 0xBF, 0xEB }, + + // D3DDevice_Present+0xC0 : xor edi, edi + { 0xC0, 0x33 }, + { 0xC1, 0xFF }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetShaderConstantMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 3911, 12) + + // D3DDevice_SetShaderConstantMode+0x26 : mov [ebp+0x2140], eax + { 0x26, 0x89 }, + { 0x27, 0x85 }, + { 0x28, 0x40 }, + { 0x29, 0x21 }, + + // D3DDevice_SetShaderConstantMode+0x51 : mov dword ptr [ebx+0x04], 0x3C + { 0x51, 0xC7 }, + { 0x52, 0x43 }, + { 0x53, 0x04 }, + { 0x54, 0x3C }, + + // D3DDevice_SetShaderConstantMode+0xE4 : add ebx, 0x0124 + { 0xE4, 0x81 }, + { 0xE5, 0xC3 }, + { 0xE6, 0x24 }, + { 0xE7, 0x01 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetBackBuffer +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 3911, 12) + + // D3DDevice_GetBackBuffer+0x04 : cmp eax, 0xFFFFFFFF + { 0x04, 0x83 }, + { 0x05, 0xF8 }, + { 0x06, 0xFF }, + + // D3DDevice_GetBackBuffer+0x0D : jnz +0x07 + { 0x0D, 0x75 }, + { 0x0E, 0x07 }, + + // D3DDevice_GetBackBuffer+0x1E : lea eax, [ecx+eax*8+0x2150] + { 0x1E, 0x8D }, + { 0x1F, 0x84 }, + { 0x20, 0xC1 }, + { 0x21, 0x50 }, + { 0x22, 0x21 }, + + // D3DDevice_GetBackBuffer+0x31 : retn 0x0C + { 0x31, 0xC2 }, + { 0x32, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetRenderTarget +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 3911, 9) + + // D3DDevice_GetRenderTarget+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_GetRenderTarget+0x05 : mov eax, [eax + 0x040C] + { 0x05, 0x8B }, + { 0x06, 0x80 }, + { 0x07, 0x0C }, + { 0x08, 0x04 }, + + // D3DDevice_GetRenderTarget+0x11 : mov [ecx], eax + { 0x11, 0x89 }, + { 0x12, 0x01 }, + + // D3DDevice_GetRenderTarget+0x1D : retn 0x04 + { 0x1D, 0xC2 }, + { 0x1E, 0x04 }, +OOVPA_END; + + + + +// ****************************************************************** +// * D3DDevice_CreateVertexBuffer +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer, 3911, 13) + + // D3DDevice_CreateVertexBuffer+0x03 : push 0x40 + { 0x03, 0x6A }, + { 0x04, 0x40 }, + + // D3DDevice_CreateVertexBuffer+0x10 : mov eax, [esp+8] + { 0x10, 0x8B }, + { 0x11, 0x44 }, + { 0x12, 0x24 }, + { 0x13, 0x08 }, + + // D3DDevice_CreateVertexBuffer+0x48 : mov dword ptr [esi], 0x01000001 + { 0x48, 0xC7 }, + { 0x49, 0x06 }, + { 0x4A, 0x01 }, + { 0x4B, 0x00 }, + { 0x4D, 0x01 }, + + // D3DDevice_CreateVertexBuffer+0x53 : retn 0x14 + { 0x53, 0xC2 }, + { 0x54, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * D3DVertexBuffer_Lock +// ****************************************************************** +OOVPA_NO_XREF(D3DVertexBuffer_Lock, 3911, 11) + + // D3DVertexBuffer_Lock+0x01 : mov bl, [esp+0x18] + { 0x01, 0x8A }, + { 0x02, 0x5C }, + { 0x03, 0x24 }, + { 0x04, 0x18 }, + + // D3DVertexBuffer_Lock+0x09 : jnz +0x24 + { 0x09, 0x75 }, + { 0x0A, 0x1E }, + + // D3DVertexBuffer_Lock+0x29 : test bl, 0xA0 + { 0x29, 0xF6 }, + { 0x2A, 0xC3 }, + { 0x2B, 0xA0 }, + + // D3DVertexBuffer_Lock+0x4A : retn 0x14 + { 0x4A, 0xC2 }, + { 0x4B, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * D3DResource_Register +// ****************************************************************** +OOVPA_NO_XREF(D3DResource_Register, 3911, 19) + + // D3DResource_Register+0x00 : mov ecx, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x4C }, + { 0x03, 0x04 }, + + // D3DResource_Register+0x04 : mov edx, [esp+0x08] + { 0x04, 0x8B }, + { 0x05, 0x54 }, + { 0x07, 0x08 }, + + // D3DResource_Register+0x08 : mov eax, [ecx+0x04] + { 0x08, 0x8B }, + { 0x09, 0x41 }, + { 0x0A, 0x04 }, + + // D3DResource_Register+0x0F : and edx, 0x00070000 + { 0x0F, 0x81 }, + { 0x10, 0xE2 }, + { 0x13, 0x07 }, + + // D3DResource_Register+0x15 : cmp edx, 0x00020000 + { 0x15, 0x81 }, + { 0x16, 0xFA }, + { 0x19, 0x02 }, + + // D3DResource_Register+0x1B : jnz +0x05 + { 0x1B, 0x74 }, + { 0x1C, 0x05 }, + + // D3DResource_Register+0x25 : retn 0x08 + { 0x25, 0xC2 }, + { 0x26, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DResource_Release +// ****************************************************************** +OOVPA_NO_XREF(D3DResource_Release, 3911, 11) +#define D3DResource_Release_4627 D3DResource_Release_3911 + + // D3DResource_Release+0x09 : and ecx, 0xFFFF + { 0x09, 0x81 }, + { 0x0A, 0xE1 }, + { 0x0B, 0xFF }, + { 0x0C, 0xFF }, + + // D3DResource_Release+0x14 : and eax, 0x00070000 + { 0x14, 0x25 }, + { 0x17, 0x07 }, + + // D3DResource_Release+0x19 : cmp eax, 0x00050000 + { 0x19, 0x3D }, + { 0x1C, 0x05 }, + + // D3DResource_Release+0x3E : pop esi + { 0x3E, 0x5E }, + + // D3DResource_Release+0x4B : retn 0x04 + { 0x4B, 0xC2 }, + { 0x4C, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DResource_AddRef +// ****************************************************************** +OOVPA_NO_XREF(D3DResource_AddRef, 3911, 10) + + // D3DResource_AddRef+0x07 : test eax, 0xFFFF + { 0x07, 0xA9 }, + { 0x08, 0xFF }, + { 0x09, 0xFF }, + + // D3DResource_AddRef+0x0E : and eax, 0x00070000 + { 0x0E, 0x25 }, + { 0x11, 0x07 }, + + // D3DResource_AddRef+0x13 : cmp eax, 0x00050000 + { 0x13, 0x3D }, + { 0x16, 0x05 }, + + // D3DResource_AddRef+0x33 : pop esi + { 0x33, 0x5E }, + + // D3DResource_AddRef+0x34 : retn 0x04 + { 0x34, 0xC2 }, + { 0x35, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DResource_IsBusy +// ****************************************************************** +OOVPA_NO_XREF(D3DResource_IsBusy, 3911, 11) + + // D3DResource_IsBusy+0x24 : test eax, 0x780000 + { 0x24, 0xA9 }, + { 0x25, 0x00 }, + { 0x26, 0x00 }, + { 0x27, 0x78 }, + + // D3DResource_IsBusy+0x35 : jnz +0x44 + { 0x35, 0x75 }, + { 0x36, 0x44 }, + + // D3DResource_IsBusy+0x4E : mov eax, [ecx+0x14] + { 0x4E, 0x8B }, + { 0x4F, 0x41 }, + { 0x50, 0x14 }, + + // D3DResource_IsBusy+0x79 : jnb +0x09 + { 0x79, 0x73 }, + { 0x7A, 0x09 }, +OOVPA_END; + +// ****************************************************************** +// * D3DSurface_LockRect +// ****************************************************************** +OOVPA_NO_XREF(D3DSurface_LockRect, 3911, 16) + + // D3DSurface_LockRect+0x00 : mov eax, [esp+0x10] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x10 }, + + // D3DSurface_LockRect+0x04 : mov ecx, [esp+0x0C] + { 0x04, 0x8B }, + { 0x05, 0x4C }, + { 0x06, 0x24 }, + { 0x07, 0x0C }, + + // D3DSurface_LockRect+0x0C : push eax + { 0x0C, 0x50 }, + + // D3DSurface_LockRect+0x11 : push ecx; push edx; push 0; push 0 + { 0x11, 0x51 }, + { 0x12, 0x52 }, + { 0x13, 0x6A }, + { 0x15, 0x6A }, + + // D3DSurface_LockRect+0x18 : call [abs] + { 0x18, 0xE8 }, + + // D3DSurface_LockRect+0x11 : retn 0x10 + { 0x1D, 0xC2 }, + { 0x1E, 0x10 }, +OOVPA_END; + +// ****************************************************************** +// * D3DPalette_Lock +// ****************************************************************** +OOVPA_NO_XREF(D3DPalette_Lock, 3911, 13) + + // D3DPalette_Lock+0x00 : test [esp+0x0C], 0xA0 + { 0x00, 0xF6 }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x0C }, + { 0x04, 0xA0 }, + + // D3DPalette_Lock+0x0A : jnz +0x06 + { 0x0A, 0x75 }, + { 0x0B, 0x06 }, + + // D3DPalette_Lock+0x18 : mov ecx, [esp+0x0C] + { 0x18, 0x8B }, + { 0x19, 0x4C }, + { 0x1A, 0x24 }, + { 0x1B, 0x0C }, + + // D3DPalette_Lock+0x1C : mov [ecx], eax + { 0x1C, 0x89 }, + { 0x1D, 0x01 }, +OOVPA_END; + +// ****************************************************************** +// * D3DTexture_LockRect +// ****************************************************************** +OOVPA_NO_XREF(D3DTexture_LockRect, 3911, 17) + + // D3DTexture_LockRect+0x00 : mov eax, [esp+0x14] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x14 }, + + // D3DTexture_LockRect+0x04 : mov ecx, [esp+0x10] + { 0x04, 0x8B }, + { 0x05, 0x4C }, + { 0x06, 0x24 }, + { 0x07, 0x10 }, + + // D3DTexture_LockRect+0x0C : push eax, push ecx, push edx, push eax, push 0 + { 0x0C, 0x50 }, + { 0x11, 0x51 }, + { 0x16, 0x52 }, + { 0x17, 0x50 }, + { 0x18, 0x6A }, + { 0x19, 0x00 }, + + // D3DTexture_LockRect+0x1B : call [addr] + { 0x1B, 0xE8 }, + + // D3DTexture_LockRect+0x20 : retn 0x14 + { 0x20, 0xC2 }, + { 0x21, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * D3DVolumeTexture_LockBox +// ****************************************************************** +OOVPA_NO_XREF(D3DVolumeTexture_LockBox, 3911, 11) + + // D3DVolumeTexture_LockBox+0x08 : test bl, 0x20 + { 0x08, 0xF6 }, + { 0x09, 0xC3 }, + { 0x0A, 0x20 }, + + // D3DVolumeTexture_LockBox+0x40 : test bl, 0x40 + { 0x40, 0xF6 }, + { 0x41, 0xC3 }, + { 0x42, 0x40 }, + + // D3DVolumeTexture_LockBox+0x83 : lea ecx, [eax+edx] + { 0x83, 0x8D }, + { 0x84, 0x0C }, + { 0x85, 0x10 }, + + // D3DVolumeTexture_LockBox+0x99 : retn 0x14 + { 0x99, 0xC2 }, + { 0x9A, 0x14 }, +OOVPA_END; + +// ****************************************************************** +// * D3DCubeTexture_LockRect +// ****************************************************************** +OOVPA_NO_XREF(D3DCubeTexture_LockRect, 3911, 11) + + // D3DCubeTexture_LockRect+0x06 : test bl, 0x20 + { 0x06, 0xF6 }, + { 0x07, 0xC3 }, + { 0x08, 0x20 }, + + // D3DCubeTexture_LockRect+0x3F : test bl, 0x40 + { 0x3F, 0xF6 }, + { 0x40, 0xC3 }, + { 0x41, 0x40 }, + + // D3DCubeTexture_LockRect+0x71 : shr edx, 0x03 + { 0x71, 0xC1 }, + { 0x72, 0xEA }, + { 0x73, 0x03 }, + + // D3DCubeTexture_LockRect+0x98 : retn 0x18 + { 0x98, 0xC2 }, + { 0x99, 0x18 }, +OOVPA_END; + +// ****************************************************************** +// * D3DTexture_GetSurfaceLevel +// ****************************************************************** +OOVPA_NO_XREF(D3DTexture_GetSurfaceLevel, 3911, 11) + + // D3DTexture_GetSurfaceLevel+0x08 : lea [esp+0x14] + { 0x08, 0x8D }, + { 0x0B, 0x14 }, + + // D3DTexture_GetSurfaceLevel+0x17 : mov edx, [esp+0x24] + { 0x17, 0x8B }, + { 0x1A, 0x24 }, + + // D3DTexture_GetSurfaceLevel+0x20 : lea ecx, [esp+0x28] + { 0x23, 0x28 }, + + // D3DTexture_GetSurfaceLevel+0x24 : push ecx + { 0x24, 0x51 }, + + // D3DTexture_GetSurfaceLevel+0x25 : push edx + { 0x25, 0x52 }, + + // D3DTexture_GetSurfaceLevel+0x26 : push 0 + { 0x26, 0x6A }, + + // D3DTexture_GetSurfaceLevel+0x43 : call [abs] + { 0x43, 0xE8 }, + + // D3DTexture_GetSurfaceLevel+0x4C : retn 0x0C + { 0x4C, 0xC2 }, + { 0x4D, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * Lock2DSurface +// ****************************************************************** +OOVPA_NO_XREF(Lock2DSurface, 3911, 11) + + { 0x06, 0xF6 }, + { 0x07, 0xC3 }, + { 0x08, 0x20 }, + + { 0x3F, 0xF6 }, + { 0x40, 0xC3 }, + { 0x41, 0x40 }, + + { 0x71, 0xC1 }, + { 0x72, 0xEA }, + { 0x73, 0x03 }, + + { 0x98, 0xC2 }, + { 0x99, 0x18 }, +OOVPA_END; + +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +OOVPA_NO_XREF(Get2DSurfaceDesc, 3911, 10) + + // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] + { 0x2B, 0x0F }, + { 0x2C, 0xB6 }, + { 0x2D, 0x57 }, + { 0x2E, 0x0D }, + + // Get2DSurfaceDesc+0x56 : cmp eax, [edx+0x2154] + { 0x56, 0x3B }, + { 0x57, 0x82 }, + { 0x58, 0x54 }, + { 0x59, 0x21 }, + + // Get2DSurfaceDesc+0xAE : retn 0x0C + { 0xAE, 0xC2 }, + { 0xAF, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderSize +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShaderSize, 3911, 12) + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x08 }, + + { 0x08, 0x8B }, + { 0x09, 0x4C }, + { 0x0A, 0x24 }, + { 0x0B, 0x04 }, + + { 0x0C, 0x8B }, + { 0x0D, 0x51 }, +// { 0x0E, 0x07 }, 0F vs 07 + + { 0x11, 0xC2 }, + { 0x12, 0x08 }, +/* + { 0x01, 0x44 }, + { 0x04, 0x85 }, + { 0x07, 0x09 }, + { 0x0A, 0x24 }, + { 0x0D, 0x51 }, + { 0x10, 0x10 }, + { 0x13, 0x00 },*/ +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetGammaRamp +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 3911, 9) + + // D3DDevice_SetGammaRamp+0x11 : and eax, 1; push ebx + { 0x11, 0x83 }, + { 0x12, 0xE0 }, + { 0x13, 0x01 }, + { 0x14, 0x53 }, + + // D3DDevice_SetGammaRamp+0x2F : rep movsd + { 0x2F, 0xF3 }, + { 0x30, 0xA5 }, + + // D3DDevice_SetGammaRamp+0x3E : push ebx; mov ecx, edx + { 0x3E, 0x53 }, + { 0x3F, 0x8B }, + { 0x40, 0xCA }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetMaterial, 3911, 11) + + // D3DDevice_SetMaterial+0x0B : lea edi, [eax+0xB18] + { 0x0B, 0x8D }, + { 0x0C, 0xB8 }, + { 0x0D, 0x18 }, + { 0x0E, 0x0B }, + + // D3DDevice_SetMaterial+0x11 : mov ecx, 0x11 + { 0x11, 0xB9 }, + { 0x12, 0x11 }, + + // D3DDevice_SetMaterial+0x1C : or ecx, 0x20 + { 0x1B, 0x83 }, + { 0x1C, 0xC9 }, + { 0x1D, 0x20 }, + + // D3DDevice_SetMaterial+0x23 : retn 0x04 + { 0x23, 0xC2 }, + { 0x24, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_AddRef +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_AddRef, 3911, 10) + + // D3DDevice_AddRef+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_AddRef+0x05 : mov ecx, [eax+0x0408] + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x08 }, + { 0x08, 0x04 }, + + // D3DDevice_AddRef+0x0B : inc ecx + { 0x0B, 0x41 }, + + // D3DDevice_AddRef+0x05 : mov [eax+0x0408], ecx + { 0x0C, 0x89 }, + { 0x0D, 0x88 }, + { 0x0E, 0x08 }, + { 0x0F, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetViewport +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetViewport, 3911, 10) + + // D3DDevice_GetViewport+0x05 : push esi; push edi + { 0x05, 0x56 }, + { 0x06, 0x57 }, + + // D3DDevice_GetViewport+0x0B : lea esi, [eax+0x0B00] + { 0x0B, 0x8D }, + { 0x0C, 0xB0 }, + { 0x0D, 0x00 }, + { 0x0E, 0x0B }, + + // D3DDevice_GetViewport+0x11 : mov ecx, 6 + { 0x11, 0xB9 }, + { 0x12, 0x06 }, + + // D3DDevice_GetViewport+0x1A : retn 0x04 + { 0x1A, 0xC2 }, + { 0x1B, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetDisplayFieldStatus +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 3911, 14) + + // D3DDevice_GetDisplayFieldStatus+0x05 : mov edx, [eax+0x2B28] + { 0x05, 0x8B }, + { 0x06, 0x90 }, + { 0x07, 0x28 }, + { 0x08, 0x2B }, + + // D3DDevice_GetDisplayFieldStatus+0x12 : test [eax+0x2510], 0x1200000 + { 0x12, 0xF7 }, + { 0x13, 0x80 }, + { 0x14, 0x10 }, + { 0x15, 0x25 }, + + // D3DDevice_GetDisplayFieldStatus+0x1E : mov dx, 0x80C0 + { 0x1E, 0x66 }, + { 0x1F, 0xBA }, + { 0x20, 0xC0 }, + { 0x21, 0x80 }, + + // D3DDevice_GetDisplayFieldStatus+0x3C : retn 4 + { 0x3C, 0xC2 }, + { 0x3D, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleAntiAlias +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 3911, 7) + + { 0x0B, 0x8B }, + { 0x1D, 0x8B }, + { 0x26, 0x8B }, + { 0x2C, 0x8B }, + { 0x38, 0x0B }, + { 0x40, 0x89 }, + { 0x49, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_VertexBlend +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend, 3911, 13) + + // D3DDevice_SetRenderState_VertexBlend+0x0A : or ecx, 2 + { 0x0A, 0x83 }, + { 0x0B, 0xC9 }, + { 0x0C, 0x02 }, + + // D3DDevice_SetRenderState_VertexBlend+0x1A : mov dword ptr [eax], 0x40328 + { 0x1A, 0xC7 }, + { 0x1B, 0x00 }, + { 0x1C, 0x28 }, + { 0x1D, 0x03 }, + { 0x1E, 0x04 }, + + // D3DDevice_SetRenderState_VertexBlend+0x23 : add eax, 8 + { 0x23, 0x83 }, + { 0x24, 0xC0 }, + { 0x25, 0x08 }, + + // D3DDevice_SetRenderState_VertexBlend+0x2F : retn 0x04 + { 0x2F, 0xC2 }, + { 0x30, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_BackFillMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 3911, 12) + + // D3DDevice_SetRenderState_BackFillMode+0x2B : jnz +0x2 + { 0x2B, 0x75 }, + { 0x2C, 0x02 }, + + // D3DDevice_SetRenderState_BackFillMode+0x32 : mov dword ptr [eax], abs + { 0x32, 0xC7 }, + { 0x33, 0x00 }, + + // D3DDevice_SetRenderState_BackFillMode+0x3B : add eax, 0x0C; mov [edi], eax; pop edi + { 0x3B, 0x83 }, + { 0x3C, 0xC0 }, + { 0x3D, 0x0C }, + { 0x3E, 0x89 }, + { 0x3F, 0x07 }, + { 0x40, 0x5F }, + + // D3DDevice_SetRenderState_BackFillMode+0x48 : retn 0x04 + { 0x48, 0xC2 }, + { 0x49, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_TwoSidedLighting +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 3911, 13) + + // D3DDevice_SetRenderState_TwoSidedLighting+0x06 : or dword ptr [eax+8], 0x20 + { 0x06, 0x83 }, + { 0x07, 0x48 }, + { 0x08, 0x08 }, + { 0x09, 0x20 }, + + // D3DDevice_SetRenderState_TwoSidedLighting+0x3B : mov dword ptr [eax], 0x8038C + { 0x3B, 0xC7 }, + { 0x3C, 0x00 }, + { 0x3D, 0x8C }, + { 0x3E, 0x03 }, + + // D3DDevice_SetRenderState_TwoSidedLighting+0x44 : add eax, 0x0C + { 0x44, 0x83 }, + { 0x45, 0xC0 }, + { 0x46, 0x0C }, + + // D3DDevice_SetRenderState_TwoSidedLighting+0x51 : retn 0x04 + { 0x51, 0xC2 }, + { 0x52, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_NormalizeNormals +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 3911, 8) + + // D3DDevice_SetRenderState_NormalizeNormals+0x1D : mov [esi], eax + { 0x1D, 0x89 }, + { 0x1E, 0x06 }, + + // D3DDevice_SetRenderState_NormalizeNormals+0x1F : or dword ptr [esi+8], 2 + { 0x1F, 0x83 }, + { 0x20, 0x4E }, + { 0x21, 0x08 }, + { 0x22, 0x02 }, + + // D3DDevice_SetRenderState_NormalizeNormals+0x2A : retn 0x04 + { 0x2A, 0xC2 }, + { 0x2B, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_FrontFace +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace, 3911, 9) + + // D3DDevice_SetRenderState_FrontFace+0x00 : push esi + { 0x00, 0x56 }, + + // D3DDevice_SetRenderState_FrontFace+0x07 : push esi + { 0x07, 0x56 }, + + // D3DDevice_SetRenderState_FrontFace+0xD : mov ecx, [esp+0x08] + { 0x0D, 0x8B }, + { 0x0E, 0x4C }, + { 0x0F, 0x24 }, + { 0x10, 0x08 }, + + // D3DDevice_SetRenderState_FrontFace+0x1A : add eax, 8 + { 0x1A, 0x83 }, + { 0x1B, 0xC0 }, + { 0x1C, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_TextureFactor +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 3911, 10) + + // D3DDevice_SetRenderState_TextureFactor+0x07 : mov eax, [esi+0x0414] + { 0x07, 0x8B }, + { 0x08, 0x86 }, + { 0x09, 0x14 }, + { 0x0A, 0x04 }, + + // D3DDevice_SetRenderState_TextureFactor+0x2E : rep stosd + { 0x2E, 0xF3 }, + { 0x2F, 0xAB }, + + // D3DDevice_SetRenderState_TextureFactor+0x3C : retn 0x04 + { 0x3C, 0xC2 }, + { 0x3D, 0x04 }, + + // D3DDevice_SetRenderState_TextureFactor+0x49 : retn 0x04 + { 0x49, 0xC2 }, + { 0x4A, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_LogicOp +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 3911, 9) + + // D3DDevice_SetRenderState_LogicOp+0x11 : test ecx, ecx + { 0x11, 0x85 }, + { 0x12, 0xC9 }, + + // D3DDevice_SetRenderState_LogicOp+0x2D : mov dword ptr [eax], 0x817BC + { 0x2D, 0xC7 }, + { 0x2E, 0x00 }, + { 0x2F, 0xBC }, + { 0x30, 0x17 }, + { 0x31, 0x08 }, + + // D3DDevice_SetRenderState_LogicOp+0x49 : retn 0x04 + { 0x49, 0xC2 }, + { 0x4A, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_EdgeAntiAlias +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias, 3911, 11) + + // D3DDevice_SetRenderState_EdgeAntiAlias+0x17 : mov [eax+0x04], ecx + { 0x17, 0x89 }, + { 0x18, 0x48 }, + { 0x19, 0x04 }, + + // D3DDevice_SetRenderState_EdgeAntiAlias+0x1A : mov [eax+0x08], ecx + { 0x1A, 0x89 }, + { 0x1B, 0x48 }, + { 0x1C, 0x08 }, + + // D3DDevice_SetRenderState_EdgeAntiAlias+0x1D : add eax, 0x0C + { 0x1D, 0x83 }, + { 0x1E, 0xC0 }, + { 0x1F, 0x0C }, + + // D3DDevice_SetRenderState_EdgeAntiAlias+0x29 : retn 0x04 + { 0x29, 0xC2 }, + { 0x2A, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMask +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask, 3911, 13) + + // D3DDevice_SetRenderState_MultiSampleMask+0x0B : mov ecx, esi + { 0x0B, 0x8B }, + { 0x0C, 0xCE }, + + // D3DDevice_SetRenderState_MultiSampleMask+0x32 : and ecx, 0x0F; shl edx, 0x10 + { 0x32, 0x83 }, + { 0x33, 0xE1 }, + { 0x34, 0x0F }, + { 0x35, 0xC1 }, + + // D3DDevice_SetRenderState_MultiSampleMask+0x3A : mov dword ptr [eax], 0x41D7C + { 0x3A, 0xC7 }, + { 0x3B, 0x00 }, + { 0x3C, 0x7C }, + { 0x3D, 0x1D }, + { 0x3E, 0x04 }, + + // D3DDevice_SetRenderState_MultiSampleMask+0x49 : retn 0x04 + { 0x49, 0xC2 }, + { 0x4A, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_PersistDisplay, 3911, 14) + + // D3DDevice_PersistDisplay+0x25 : mov eax, [ebx+0x408] + { 0x25, 0x8B }, + { 0x26, 0x83 }, + { 0x27, 0x08 }, + { 0x28, 0x04 }, + { 0x29, 0x00 }, + { 0x2A, 0x00 }, + + // D3DDevice_PersistDisplay+0x3A : lea edi, [ebx+0x2308] + { 0x3a, 0x8D }, + { 0x3B, 0xBB }, + { 0x3C, 0x08 }, + { 0x3D, 0x23 }, + { 0x3E, 0x00 }, + { 0x3F, 0x00 }, + + // D3DDevice_PersistDisplay+0x70 : shl edx, cl + { 0x70, 0xD3 }, + { 0x71, 0xE2 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_ShadowFunc +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc, 3911, 14) + + // D3DDevice_SetRenderState_ShadowFunc+0x00 : push esi + { 0x00, 0x56 }, + + // D3DDevice_SetRenderState_ShadowFunc+0x11 : mov dword ptr [eax], 0x41E6C + { 0x11, 0xC7 }, + { 0x12, 0x00 }, + { 0x13, 0x6C }, + { 0x14, 0x1E }, + { 0x15, 0x04 }, + { 0x16, 0x00 }, + + // D3DDevice_SetRenderState_ShadowFunc+0x17 : lea edx, [ecx-0x0200] + { 0x17, 0x8D }, + { 0x18, 0x91 }, + { 0x19, 0x00 }, + { 0x1A, 0xFE }, + + // D3DDevice_SetRenderState_ShadowFunc+0x20 : add eax, 0x08 + { 0x20, 0x83 }, + { 0x21, 0xC0 }, + { 0x22, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_LineWidth +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 3911, 10) + + // D3DDevice_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x508] + { 0x15, 0xD8 }, + { 0x16, 0x8E }, + { 0x17, 0x08 }, + { 0x18, 0x05 }, + + // D3DDevice_SetRenderState_LineWidth+0x32 : cmp edi, 0x1FF + { 0x32, 0x81 }, + { 0x33, 0xFF }, + + // D3DDevice_SetRenderState_LineWidth+0x3A : mov edi, 0x1FF + { 0x3A, 0xBF }, + { 0x3B, 0xFF }, + + // D3DDevice_SetRenderState_LineWidth+0x5C : retn 0x04 + { 0x5C, 0xC2 }, + { 0x5D, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_YuvEnable +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_YuvEnable, 3911, 10) + + // D3DDevice_SetRenderState_YuvEnable+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetRenderState_YuvEnable+0x04 : push edi + { 0x04, 0x56 }, + + // D3DDevice_SetRenderState_YuvEnable+0x0B : push edi + { 0x0B, 0x56 }, + + // D3DDevice_SetRenderState_YuvEnable+0x1F : mov [esi], eax + { 0x1F, 0x89 }, + { 0x20, 0x06 }, + + // D3DDevice_SetRenderState_YuvEnable+0x22 : retn 0x04 + { 0x22, 0xC2 }, + { 0x23, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_OcclusionCullEnable +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_OcclusionCullEnable, 3911, 12) + + // D3DDevice_SetRenderState_OcclusionCullEnable+0x20 : jz +0x05 + { 0x20, 0x74 }, + { 0x21, 0x05 }, + + // D3DDevice_SetRenderState_OcclusionCullEnable+0x3B : cmp [abs], 0x1E00 + { 0x3B, 0x81 }, + { 0x41, 0x00 }, + { 0x42, 0x1E }, + + // D3DDevice_SetRenderState_OcclusionCullEnable+0x4A : mov dword ptr [eax], 0x41D84 + { 0x4A, 0xC7 }, + { 0x4B, 0x00 }, + { 0x4C, 0x84 }, + { 0x4D, 0x1D }, + { 0x4E, 0x04 }, + + // D3DDevice_SetRenderState_OcclusionCullEnable+0x59 : retn 0x04 + { 0x59, 0xC2 }, + { 0x5A, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_StencilCullEnable +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetRenderState_StencilCullEnable, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x0D, XREF_D3DRS_STENCILCULLENABLE ), + + { 0x0B, 0x56 }, + { 0x16, 0x8B }, + { 0x22, 0xB9 }, + { 0x2E, 0xD2 }, + { 0x3A, 0x0C }, + { 0x46, 0x03 }, + { 0x52, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_DrawVerticesUP +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 3911, 8) + + { 0x1F, 0x8B }, + { 0x3E, 0xC0 }, + { 0x5E, 0x03 }, + { 0x7E, 0x07 }, + { 0x9E, 0xF0 }, + { 0xBE, 0x40 }, + { 0xDE, 0x75 }, + { 0xFE, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_DrawIndexedVerticesUP +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 3911, 8) + + { 0x1F, 0x8B }, + { 0x3E, 0x8B }, + { 0x5E, 0xF0 }, + { 0x7E, 0x8B }, + { 0xA2, 0x8B }, + { 0xBE, 0x83 }, + { 0xDE, 0x75 }, + { 0xFE, 0x75 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_DrawVertices +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DrawVertices, 3911, 8) + + { 0x12, 0x8B }, + { 0x27, 0x8B }, + { 0x3A, 0x89 }, + { 0x4E, 0xFF }, + { 0x62, 0x81 }, + { 0x76, 0x00 }, + { 0x8A, 0x17 }, + { 0x9E, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetDisplayMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 3911, 7) + + { 0x09, 0xB4 }, + { 0x14, 0x8B }, + { 0x1F, 0x10 }, + { 0x2A, 0x1B }, + { 0x35, 0x8B }, + { 0x41, 0x89 }, + { 0x4B, 0x89 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetTextureState_BumpEnv +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 3911, 7) + + { 0x0E, 0x8B }, + { 0x16, 0x8B }, + { 0x22, 0x24 }, + { 0x2E, 0x24 }, + { 0x3A, 0x04 }, + { 0x46, 0x8B }, + { 0x52, 0xB5 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetTextureState_ColorKeyColor +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 3911, 7) + + { 0x07, 0x56 }, + { 0x0D, 0x8B }, + { 0x13, 0x8D }, + { 0x1A, 0x8B }, + { 0x21, 0x83 }, + { 0x28, 0x07 }, + { 0x2F, 0x5E }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVertexData4s +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 3911, 8) + + { 0x07, 0x56 }, + { 0x10, 0x08 }, + { 0x19, 0xBF }, + { 0x22, 0x24 }, + { 0x2B, 0x54 }, + { 0x34, 0x24 }, + { 0x3D, 0x08 }, + { 0x46, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DResource_GetType +// ****************************************************************** +OOVPA_NO_XREF(D3DResource_GetType, 3911, 7) + + { 0x13, 0x2A }, + { 0x28, 0x00 }, + { 0x3D, 0x00 }, + { 0x52, 0x74 }, + { 0x67, 0x00 }, + { 0x7C, 0x04 }, + { 0x91, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3D_AllocContiguousMemory +// ****************************************************************** +OOVPA_NO_XREF(D3D_AllocContiguousMemory, 3911, 6) + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x04 }, + { 0x0E, 0x6A }, + { 0x16, 0xC2 }, + { 0x17, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_Deferred +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_Deferred, 3911, 9) + + // D3DDevice_SetRenderState_Deferred+0x00 : mov eax, ds:(g_DirtyFromRenderState)-148[ecx*4] + { 0x00, 0x8B }, + { 0x01, 0x04 }, + { 0x02, 0x8D }, + + // D3DDevice_SetRenderState_Deferred+0x07 : or dword ptr ds:g_Device+8,eax + { 0x07, 0x09 }, + { 0x08, 0x05 }, + + // D3DDevice_SetRenderState_Deferred+0x0D : mov dword ptr ds:D3D__RenderState[ecx*4], edx + { 0x0D, 0x89 }, + { 0x0E, 0x14 }, + { 0x0F, 0x8D }, + + // D3DDevice_SetRenderState_Deferred+0x14 : retn + { 0x14, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetLight +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetLight, 3911, 10) +// Based on Dxbx patterns for 3911, 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 + + // D3DDevice_GetLight+0x0B : mov esi, [ecx+XXXh] + { 0x0B, 0x8B }, + { 0x0C, 0xB1 }, + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + + // D3DDevice_GetLight+0x12 : mov edi, [esp+8+arg_4] + { 0x12, 0x8B }, + { 0x13, 0x7C }, + { 0x14, 0x24 }, + { 0x15, 0x10 }, + + // D3DDevice_GetLight+0x1F : mov ecx, 1Ah + { 0x1E, 0xB9 }, + { 0x1F, 0x1A }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetLight +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetLight, 3911, 8) + + { 0x1D, 0x0F }, + { 0x3C, 0xD8 }, + { 0x5B, 0x00 }, + { 0x7A, 0x89 }, + { 0x99, 0xA5 }, + { 0xB8, 0xC1 }, + { 0xD7, 0x00 }, + { 0xF6, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetProjectionViewportMatrix +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 3911, 7) + + { 0x02, 0x35 }, + { 0x07, 0x57 }, + { 0x0A, 0x24 }, + { 0x0E, 0xA0 }, + { 0x12, 0xB9 }, + { 0x16, 0x00 }, + { 0x1A, 0x5E }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetTile +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTile, 3911, 7) + + { 0x03, 0x04 }, + { 0x0A, 0x56 }, + { 0x0D, 0x7C }, + { 0x12, 0x40 }, + { 0x17, 0x21 }, + { 0x1C, 0x00 }, + { 0x21, 0x5F }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_ApplyStateBlock +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 3911, 8) + + { 0x1D, 0x83 }, + { 0x40, 0x83 }, + { 0x5B, 0x16 }, + { 0x7A, 0x01 }, + { 0x99, 0x46 }, + { 0xB8, 0x06 }, + { 0xD7, 0x39 }, + { 0xF6, 0x51 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CaptureStateBlock +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 3911, 7) + + { 0x1E, 0x76 }, + { 0x3E, 0xE8 }, + { 0x5E, 0x06 }, + { 0x7E, 0x26 }, + { 0x9E, 0xFF }, + { 0xBE, 0x04 }, + { 0xDE, 0xF8 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_DeleteStateBlock +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DeleteStateBlock, 3911, 7) + + { 0x11, 0x76 }, + { 0x24, 0x3B }, + { 0x37, 0xE8 }, + { 0x4A, 0x50 }, + { 0x5D, 0x74 }, + { 0x70, 0x06 }, + { 0x83, 0xEB }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetBackMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 3911, 8) + + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x0A, 0x0C }, + { 0x0D, 0x5C }, + { 0x0E, 0x0B }, + { 0x12, 0x11 }, + { 0x16, 0xF3 }, + { 0x1A, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreateStateBlock +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateStateBlock, 3911, 8) + + { 0x1E, 0x8B }, + { 0x3E, 0x89 }, + { 0x5E, 0x24 }, + { 0x7E, 0xF8 }, + { 0x9F, 0x01 }, + { 0xBE, 0xB6 }, + { 0xDE, 0xF8 }, + { 0xFE, 0x76 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_DeletePixelShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DeletePixelShader, 3911, 7) + + { 0x02, 0x24 }, + { 0x06, 0x75 }, + { 0x0A, 0x04 }, + { 0x0E, 0x09 }, + { 0x12, 0x04 }, + { 0x18, 0xC2 }, + { 0x1A, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetPixelShaderProgram +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 3911, 7) + + { 0x06, 0xA1 }, + { 0x0E, 0x88 }, + { 0x16, 0x00 }, + { 0x1E, 0x00 }, + { 0x26, 0x04 }, + { 0x32, 0xC7 }, + { 0x36, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3D_KickOffAndWaitForIdle +// ****************************************************************** +// * This is for the real D3D::KickOffAndWaitForIdle +// ****************************************************************** +OOVPA_XREF(D3D_KickOffAndWaitForIdle, 3911, 5, + + XREF_D3D_KickOffAndWaitForIdle, + XRefZero) + + { 0x05, 0x8B }, + { 0x06, 0x48 }, + { 0x07, 0x1C }, + { 0x0A, 0x51 }, + { 0x10, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetModelView +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetModelView, 3911, 7) + + { 0x12, 0x08 }, + { 0x26, 0x53 }, + { 0x3A, 0x8B }, + { 0x4E, 0x80 }, + { 0x62, 0x00 }, + { 0x76, 0x00 }, + { 0x8A, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_FlushVertexCache +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_FlushVertexCache, 3911, 8) + + { 0x00, 0x56 }, + { 0x07, 0x56 }, + { 0x08, 0xE8 }, + { 0x0D, 0xC7 }, + { 0x0F, 0x10 }, + { 0x12, 0x00 }, + { 0x17, 0x00 }, + { 0x1C, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetScissors +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetScissors, 3911, 8) + + { 0x1D, 0x08 }, + { 0x3C, 0x24 }, + { 0x5F, 0x8B }, + { 0x7A, 0x83 }, + { 0x99, 0xE0 }, + { 0xBA, 0xD9 }, + { 0xD9, 0x8B }, + { 0xF6, 0xDB }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVertexShaderInput +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput, 3911, 8) + + { 0x1E, 0x03 }, + { 0x3E, 0x8B }, + { 0x5E, 0xC7 }, + { 0x7E, 0xF8 }, + { 0x9E, 0xC6 }, + { 0xBE, 0x7F }, + { 0xDE, 0xCA }, + { 0xFE, 0x17 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_PrimeVertexCache +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_PrimeVertexCache, 3911, 8) + + { 0x0D, 0x00 }, + { 0x1C, 0x55 }, + { 0x2B, 0x00 }, + { 0x3A, 0x24 }, + { 0x49, 0xCB }, + { 0x58, 0x74 }, + { 0x67, 0x00 }, + { 0x76, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetVertexData4ub +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetVertexData4ub, 3911, 7) + + { 0x07, 0x56 }, + { 0x10, 0x08 }, + { 0x19, 0xC9 }, + { 0x22, 0x54 }, + { 0x2B, 0x14 }, + { 0x34, 0x24 }, + { 0x3D, 0xFC }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetPixelShaderConstant +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 3911, 7) + + { 0x1E, 0x4C }, + { 0x3E, 0x11 }, + { 0x61, 0xDF }, + { 0x7E, 0xF6 }, + { 0x9E, 0x05 }, + { 0xC0, 0x51 }, + { 0xDE, 0xC4 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_InsertCallback +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_InsertCallback, 3911, 7) + + { 0x0D, 0x8B }, + { 0x18, 0x8B }, + { 0x25, 0x50 }, + { 0x32, 0x10 }, + { 0x3F, 0x00 }, + { 0x4C, 0x00 }, + { 0x59, 0x03 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_BeginPushBuffer +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 3911, 7) + + { 0x0B, 0xCE }, + { 0x1B, 0x57 }, + { 0x25, 0x00 }, + { 0x32, 0x06 }, + { 0x3F, 0x03 }, + { 0x4C, 0x04 }, + { 0x59, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_EndPushBuffer +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 3911, 7) + + { 0x11, 0x8D }, + { 0x24, 0x8B }, + { 0x37, 0xFC }, + { 0x4A, 0xFF }, + { 0x5D, 0xF7 }, + { 0x70, 0x03 }, + { 0x83, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_RopZCmpAlwaysRead +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // D3DDevice_SetRenderState_RopZCmpAlwaysRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] + XREF_ENTRY( 0x05, XREF_D3DRS_ROPZCMPALWAYSREAD ), + + // D3DDevice_SetRenderState_RopZCmpAlwaysRead+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetRenderState_RopZCmpAlwaysRead+0x09 : call [abs] + { 0x09, 0xE8 }, + + // D3DDevice_SetRenderState_RopZCmpAlwaysRead+0x0E : retn 0x04 + { 0x0E, 0xC2 }, + { 0x0F, 0x04 }, + { 0x10, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_RopZRead +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetRenderState_RopZRead, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // D3DDevice_SetRenderState_RopZRead+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] + XREF_ENTRY( 0x05, XREF_D3DRS_ROPZREAD ), + + // D3DDevice_SetRenderState_RopZRead+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetRenderState_RopZRead+0x09 : call [abs] + { 0x09, 0xE8 }, + + // D3DDevice_SetRenderState_RopZRead+0x0E : retn 0x04 + { 0x0E, 0xC2 }, + { 0x0F, 0x04 }, + { 0x10, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetRenderState_DoNotCullUncompressed +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, 9, + + XRefNoSaveIndex, + XRefOne) + + // D3DDevice_SetRenderState_DoNotCullUncompressed+0x05 : D3D__RenderState[D3DRS_ROPZCMPALWAYSREAD] + XREF_ENTRY( 0x05, XREF_D3DRS_DONOTCULLUNCOMPRESSED ), + + // D3DDevice_SetRenderState_DoNotCullUncompressed+0x00 : mov eax, [esp+0x04] + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // D3DDevice_SetRenderState_DoNotCullUncompressed+0x09 : call [abs] + { 0x09, 0xE8 }, + + // D3DDevice_SetRenderState_DoNotCullUncompressed+0x0E : retn 0x04 + { 0x0E, 0xC2 }, + { 0x0F, 0x04 }, + { 0x10, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * XMETAL_StartPush +// ****************************************************************** +OOVPA_NO_XREF(XMETAL_StartPush, 3911, 11) + + // XMETAL_StartPush+0x00 : mov ecx, [esp+0x4] + { 0x00, 0x8B }, + { 0x01, 0x4C }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + + // XMETAL_StartPush+0x04 : mov eax, [ecx] + { 0x04, 0x8B }, + { 0x05, 0x01 }, + + // XMETAL_StartPush+0x06 : cmp eax, [ecx+0x4] + { 0x06, 0x3B }, + { 0x07, 0x41 }, + { 0x08, 0x04 }, + + // XMETAL_StartPush+0x10 : retn 4 + { 0x10, 0xC2 }, + { 0x11, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3D::SetFence +// ****************************************************************** +OOVPA_XREF(D3D_SetFence, 3911, 11, + + XREF_D3D_SetFence, + XRefZero) + + // D3D::SetFence+0x0F : mov edi, [esi+0x1C] + { 0x0F, 0x8B }, + { 0x10, 0x7E }, + { 0x11, 0x1C }, + + // D3D::SetFence+0x3D : and ecx, 0x3F + { 0x3D, 0x83 }, + { 0x3E, 0xE1 }, + { 0x3F, 0x3F }, + + // D3D::SetFence+0x77 : mov [esi*ebp*4], edi + { 0x77, 0x89 }, + { 0x78, 0x3C }, + { 0x79, 0xAE }, + + // D3D::SetFence+0x96 : retn 4 + { 0x96, 0xC2 }, + { 0x97, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_InsertFence +// ****************************************************************** +OOVPA_XREF(D3DDevice_InsertFence, 3911, 5, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x03, XREF_D3D_SetFence ), + + { 0x00, 0x6A }, + { 0x01, 0x00 }, + { 0x02, 0xE8 }, + { 0x07, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_LoadVertexShaderProgram +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 3911, 7) + + { 0x0B, 0x2D }, + { 0x18, 0x10 }, + { 0x25, 0x00 }, + { 0x32, 0xA5 }, + { 0x3F, 0x8B }, + { 0x4C, 0x00 }, + { 0x59, 0xE8 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_DeleteVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DeleteVertexShader, 3911, 6) + + { 0x02, 0x24 }, + { 0x06, 0xFF }, + { 0x0A, 0x08 }, + { 0x0E, 0x44 }, + + // D3DDevice_DeleteVertexShader+0x16 : retn 4 + { 0x16, 0xC2 }, + { 0x17, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_BlockOnFence +// ****************************************************************** +OOVPA_XREF(D3DDevice_BlockOnFence, 3911, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x08, XREF_D3D_BlockOnTime ), + + { 0x00, 0x8B }, + { 0x02, 0x24 }, + { 0x04, 0x6A }, + { 0x06, 0x50 }, + { 0x0C, 0xC2 }, + { 0x0D, 0x04 }, + { 0x0E, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_Reset +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_Reset, 3911, 7) + + { 0x15, 0x8B }, + { 0x2C, 0x8B }, + { 0x43, 0x8B }, + { 0x5A, 0x08 }, + { 0x74, 0x8B }, + { 0x88, 0x50 }, + { 0x9F, 0x03 }, +OOVPA_END; + +// ****************************************************************** +// * D3D_GetAdapterIdentifier +// ****************************************************************** +OOVPA_NO_XREF(D3D_GetAdapterIdentifier, 3911, 7) + + { 0x04, 0x85 }, + { 0x0A, 0x08 }, + { 0x10, 0x56 }, + { 0x16, 0xB9 }, + { 0x20, 0xF3 }, + { 0x22, 0x5F }, + { 0x28, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3D_GetDeviceCaps +// ****************************************************************** +OOVPA_NO_XREF(D3D_GetDeviceCaps, 3911, 7) + + { 0x04, 0x85 }, + { 0x0A, 0x08 }, + { 0x10, 0x83 }, + { 0x16, 0x08 }, + { 0x1C, 0xC2 }, + { 0x22, 0x0C }, + { 0x29, 0x33 }, +OOVPA_END; + +// ****************************************************************** +// * D3D::SetCommonDebugRegisters +// ****************************************************************** +OOVPA_NO_XREF(D3D_SetCommonDebugRegisters, 3911, 10) + + { 0x07, 0x8B }, + { 0x08, 0x96 }, + { 0x09, 0x44 }, + { 0x0A, 0x2B }, + { 0x31, 0x81 }, + { 0x32, 0xE2 }, + { 0x33, 0xFF }, + { 0x34, 0xFF }, + { 0x35, 0xEF }, + { 0x36, 0xE7 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreateImageSurface +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateImageSurface, 3911, 7) + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x24 }, + { 0x0E, 0x44 }, + { 0x12, 0x00 }, + { 0x16, 0xE8 }, + { 0x1B, 0xC2 }, +OOVPA_END; + +// ****************************************************************** +// * D3D::BlockOnTime +// ****************************************************************** +OOVPA_XREF(D3D_BlockOnTime, 3911, 10, + + XREF_D3D_BlockOnTime, + XRefZero) + + // D3D::BlockOnFence+0x00 : push ebp + { 0x00, 0x55 }, + + // D3D::BlockOnFence+0x0A : push edi + { 0x0A, 0x57 }, + + // D3D::BlockOnFence+0x4E : cmp eax, 0x8000 + { 0x4E, 0x3D }, + { 0x4F, 0x00 }, + { 0x50, 0x80 }, + { 0x51, 0x00 }, + + // D3D::BlockOnFence+0x6E : mov ebp, 0x40100 + { 0x6E, 0xBD }, + { 0x6F, 0x00 }, + { 0x70, 0x01 }, + { 0x71, 0x04 } +OOVPA_END; + +// ****************************************************************** +// * D3D::BlockOnResource +// ****************************************************************** +OOVPA_XREF(D3D_BlockOnResource, 3911, 9, + + XREF_D3D_BlockOnResource, + XRefZero) + + { 0x34, 0x8B }, // mov edx, [ecx+0x1C] + { 0x35, 0x51 }, + { 0x36, 0x1C }, + { 0x41, 0xC2 }, // retn 4 + { 0x42, 0x04 }, + { 0x43, 0x00 }, + { 0x7E, 0xC2 }, // retn 4 + { 0x7F, 0x04 }, + { 0x80, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DResource_BlockUntilNotBusy +// ****************************************************************** +OOVPA_XREF(D3DResource_BlockUntilNotBusy, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_D3D_BlockOnResource ), + + { 0x00, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetTile +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetTile, 3911, 9) + + // D3DDevice_SetTile+0x06 : sub esp, 0x18 + { 0x06, 0x83 }, + { 0x07, 0xEC }, + { 0x08, 0x18 }, + + // D3DDevice_SetTile+0x15 : cmp [esi+4], eax + { 0x15, 0x39 }, + { 0x16, 0x46 }, + { 0x17, 0x04 }, + + // D3DDevice_SetTile+0x7E : lea edi, [edx+ecx*8+21BCh] + { 0x7E, 0x83 }, + { 0x7F, 0xC4 }, + { 0x80, 0x18 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SetBackMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 3911, 9) + + { 0x0A, 0x57 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB8 }, + { 0x0D, 0x5C }, + { 0x0E, 0x0B }, + { 0x0F, 0x00 }, + { 0x14, 0x00 }, + { 0x18, 0x8B }, + { 0x1E, 0x5F }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_SwitchTexture +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SwitchTexture, 3911, 10) + + // D3DDevice_SwitchTexture+0x00 : mov eax, [addr] + { 0x00, 0xA1 }, + + // D3DDevice_SwitchTexture+0x05 : add eax, 0x0C + { 0x05, 0x83 }, + { 0x06, 0xC0 }, + { 0x07, 0x0C }, + + // D3DDevice_SwitchTexture+0x08 : cmp eax, ds:dword_XXXXX + { 0x08, 0x3B }, + { 0x09, 0x05 }, + + // D3DDevice_SwitchTexture+0x0E : jnb +0x15 + { 0x0E, 0x73 }, + { 0x0F, 0x15 }, + + // D3DDevice_SwitchTexture+0x22 : retn 0x04 + { 0x22, 0xC2 }, + { 0x23, 0x04 }, + +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetModelView +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetModelView, 3911, 10) + + { 0x05, 0x57 }, + { 0x0A, 0x85 }, + { 0x10, 0xB0 }, + { 0x11, 0xE0 }, + { 0x12, 0x05 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0xB9 }, + { 0x16, 0x10 }, + { 0x1C, 0x5E }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CopyRects +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CopyRects, 3911, 9) + + { 0x10, 0x0F }, + { 0x11, 0xB6 }, + { 0x12, 0x75 }, + { 0x13, 0x0D }, + { 0x14, 0x8A }, + { 0x15, 0x9E }, + { 0x40, 0xF6 }, + { 0x4F, 0x84 }, + { 0x75, 0x15 }, +OOVPA_END; + +// ****************************************************************** +// * D3DVertexBuffer_GetDesc +// ****************************************************************** +OOVPA_NO_XREF(D3DVertexBuffer_GetDesc, 3911, 7) + + { 0x02, 0x24 }, + { 0x06, 0x74 }, + { 0x0A, 0xC7 }, + { 0x0E, 0x00 }, + { 0x15, 0x89 }, + { 0x16, 0x46 }, + { 0x1A, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetShaderConstantMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 3911, 8) + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x40 }, + { 0x08, 0x21 }, + { 0x0B, 0x8B }, + { 0x0D, 0x24 }, + { 0x10, 0x0A }, + { 0x13, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShader, 3911, 7) + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x74 }, + { 0x0A, 0x00 }, + { 0x0D, 0x24 }, + { 0x10, 0x0A }, + { 0x13, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderConstant +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShaderConstant, 3911, 9) + + { 0x05, 0x8B }, + { 0x06, 0x74 }, + { 0x07, 0x24 }, + { 0x08, 0x08 }, + { 0x09, 0x57 }, + { 0x0A, 0x8B }, + { 0x0B, 0x3D }, + { 0x18, 0x00 }, + { 0x1F, 0xF7 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderInput +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShaderInput, 3911, 8) + + { 0x00, 0x8B }, + { 0x03, 0x08 }, + { 0x04, 0x85 }, + { 0x05, 0xC9 }, + { 0x06, 0xA1 }, + { 0x10, 0x07 }, + { 0x18, 0x04 }, + { 0x1F, 0x20 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_RunVertexStateShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_RunVertexStateShader, 3911, 9) + + { 0x0D, 0x8B }, + { 0x10, 0x0C }, + { 0x11, 0x85 }, + { 0x12, 0xC9 }, + { 0x13, 0x74 }, + { 0x14, 0x21 }, + { 0x15, 0xD9 }, + { 0x16, 0x41 }, + { 0x1F, 0x41 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderType +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShaderType, 3911, 7) + + { 0x04, 0x8B }, + { 0x0A, 0x07 }, + { 0x10, 0xEB }, + { 0x16, 0x00 }, + { 0x1C, 0x40 }, + { 0x22, 0xC9 }, + { 0x28, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderDeclaration +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 3911, 9) + + { 0x00F, 0x8B }, + { 0x010, 0x4C }, + { 0x011, 0x24 }, + { 0x012, 0x1C }, + { 0x013, 0xC7 }, + { 0x014, 0x01 }, + { 0x015, 0x00 }, + { 0x11F, 0x83 }, + { 0x129, 0x0F }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVertexShaderFunction +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShaderFunction, 3911, 7) + + { 0x16, 0xC0 }, + { 0x2E, 0x01 }, + { 0x46, 0x10 }, + { 0x5E, 0x07 }, + { 0x76, 0xC7 }, + { 0x8E, 0x00 }, + { 0xA6, 0xF8 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetPixelShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetPixelShader, 3911, 7) + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x14 }, + { 0x0A, 0x00 }, + { 0x0D, 0x24 }, + { 0x10, 0x0A }, + { 0x13, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_IsFencePending +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_IsFencePending, 3911, 11) + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0xF0 }, + { 0x08, 0x03 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x40 }, + { 0x0D, 0x1C }, + { 0x1A, 0x1B }, + { 0x1F, 0x04 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetPushBufferOffset +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 3911, 7) + + { 0x14, 0xB8 }, + { 0x2A, 0x8B }, + { 0x40, 0x47 }, + { 0x56, 0x89 }, + { 0x6C, 0xAB }, + { 0x82, 0x04 }, + { 0x98, 0x89 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index b54a6e9b5..6c3519175 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -83,7 +83,7 @@ OOVPA_NO_XREF(Direct3D_CreateDevice, 3925, 8) { 0x91, 0x18 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_IsBusy // ****************************************************************** @@ -100,7 +100,8 @@ OOVPA_NO_XREF(D3DDevice_IsBusy, 3925, 8) { 0x33, 0xC3 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetDeviceCaps // ****************************************************************** @@ -124,8 +125,8 @@ OOVPA_NO_XREF(D3DDevice_GetDeviceCaps, 3925, 11) { 0x14, 0xC2 }, { 0x15, 0x04 }, OOVPA_END; - - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_BeginVisibilityTest // ****************************************************************** @@ -148,8 +149,8 @@ OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 3925, 11) { 0x1F, 0xC0 }, { 0x20, 0x0C }, OOVPA_END; - - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -164,7 +165,8 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 3925, 9) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_EndVisibilityTest // ****************************************************************** @@ -189,7 +191,8 @@ OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 3925, 13) { 0x44, 0xC0 }, { 0x45, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetVisibilityTestResult // ****************************************************************** @@ -211,7 +214,8 @@ OOVPA_NO_XREF(D3DDevice_GetVisibilityTestResult, 3925, 11) { 0x2E, 0x76 }, { 0x2F, 0x88 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** @@ -230,7 +234,8 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 3925, 10) { 0x91, 0xEA }, { 0x92, 0x02 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_LoadVertexShader // ****************************************************************** @@ -251,7 +256,8 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 3925, 10) { 0x4E, 0x89 }, { 0x4F, 0x13 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** @@ -273,7 +279,8 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 3925, 11) { 0x51, 0x89 }, { 0x52, 0x06 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** @@ -298,7 +305,8 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 3925, 14) { 0x18, 0xF0 }, { 0x19, 0x24 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetVerticalBlankCallback // ****************************************************************** @@ -321,7 +329,8 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 3925, 12) { 0x11, 0x04 }, { 0x12, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderTarget // ****************************************************************** @@ -345,6 +354,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3925, 11) // D3DDevice_SetRenderTarget+0xDC : push edx { 0xDC, 0x52 }, OOVPA_END; +#endif #if 0 // Moved to 3948 // ****************************************************************** // * D3DDevice_SetRenderTarget @@ -368,6 +378,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3948, 8) { 0xDA, 0x52 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DSurface_GetDesc // ****************************************************************** @@ -403,7 +414,8 @@ OOVPA_NO_XREF(D3DSurface_GetDesc, 3925, 16) { 0x13, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetTransform // ****************************************************************** @@ -429,7 +441,8 @@ OOVPA_NO_XREF(D3DDevice_GetTransform, 3925, 12) { 0x20, 0xC2 }, { 0x21, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetStreamSource // ****************************************************************** @@ -452,7 +465,8 @@ OOVPA_NO_XREF(D3DDevice_SetStreamSource, 3925, 12) { 0x6C, 0x80 }, { 0x6D, 0x02 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetVertexShader // ****************************************************************** @@ -479,7 +493,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 3925, 14) { 0x8F, 0x94 }, { 0x90, 0x1E }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreatePixelShader // ****************************************************************** @@ -503,7 +518,8 @@ OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 3925, 11) { 0x42, 0xC2 }, { 0x43, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetPixelShader // ****************************************************************** @@ -527,7 +543,8 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShader, 3925, 10) { 0xE4, 0xA5 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** @@ -549,7 +566,8 @@ OOVPA_NO_XREF(D3DDevice_SetIndices, 3925, 11) { 0x69, 0x7C }, { 0x6A, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetViewport // ****************************************************************** @@ -572,7 +590,8 @@ OOVPA_NO_XREF(D3DDevice_SetViewport, 3925, 10) // D3DDevice_SetViewport+0x9D : inc edx { 0x9D, 0x42 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetTexture // ****************************************************************** @@ -595,6 +614,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 3925, 12) // Deprecated in favor of 3911 bel { 0x7D, 0xC2 }, { 0x7E, 0x08 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) @@ -755,6 +775,7 @@ OOVPA_NO_XREF(D3DDevice_DrawTriPatch, 3911, 27) // Also verified for 4361, 4627, { 0x1F, 0x24 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_DrawIndexedVertices // ****************************************************************** @@ -777,7 +798,8 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVertices, 3925, 12) { 0xDA, 0x8D }, { 0xDB, 0x9B }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_Begin // ****************************************************************** @@ -799,7 +821,8 @@ OOVPA_NO_XREF(D3DDevice_Begin, 3925, 11) { 0x38, 0xC2 }, { 0x39, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetVertexData2f // ****************************************************************** @@ -826,7 +849,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 3925, 14) { 0x2E, 0xC2 }, { 0x2F, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetVertexData2s // ****************************************************************** @@ -850,7 +874,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2s, 3925, 11) { 0x32, 0xC2 }, { 0x33, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetVertexData4f // ****************************************************************** @@ -872,7 +897,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4f, 3925, 11) { 0x50, 0xC2 }, { 0x51, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetVertexDataColor // ****************************************************************** @@ -904,7 +930,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 3925, 18) { 0x35, 0x00 }, { 0x36, 0xFF }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_End // ****************************************************************** @@ -929,7 +956,8 @@ OOVPA_NO_XREF(D3DDevice_End, 3925, 12) // D3DDevice_End+0x40 : retn { 0x40, 0xC3 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_Clear // ****************************************************************** @@ -950,7 +978,8 @@ OOVPA_NO_XREF(D3DDevice_Clear, 3925, 10) { 0x5F, 0x33 }, { 0x60, 0xED }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreatePalette // ****************************************************************** @@ -975,7 +1004,8 @@ OOVPA_NO_XREF(D3DDevice_CreatePalette, 3925, 12) { 0x4F, 0xE6 }, { 0x50, 0x1E }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -998,7 +1028,8 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 3925, 12) { 0x7C, 0xC2 }, { 0x7D, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreateTexture // ****************************************************************** @@ -1033,7 +1064,8 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture, 3925, 14) { 0x29, 0xC2 }, { 0x2A, 0x1C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreateVolumeTexture // ****************************************************************** @@ -1065,7 +1097,8 @@ OOVPA_NO_XREF(D3DDevice_CreateVolumeTexture, 3925, 15) { 0x2C, 0xC2 }, { 0x2D, 0x20 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreateCubeTexture // ****************************************************************** @@ -1097,7 +1130,8 @@ OOVPA_NO_XREF(D3DDevice_CreateCubeTexture, 3925, 15) { 0x25, 0xC2 }, { 0x26, 0x18 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreateIndexBuffer // ****************************************************************** @@ -1121,7 +1155,7 @@ OOVPA_NO_XREF(D3DDevice_CreateIndexBuffer, 3925, 13) { 0x32, 0x01 }, { 0x33, 0x01 }, OOVPA_END; - +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreateVertexShader @@ -1209,6 +1243,7 @@ OOVPA_NO_XREF(D3DDevice_CreateVertexShader, 3925, 38) */ OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetVertexShaderConstant // ****************************************************************** @@ -1231,7 +1266,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant, 3925, 10) { 0x9B, 0xC2 }, { 0x9C, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetFlickerFilter // ****************************************************************** @@ -1254,7 +1290,8 @@ OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 3925, 12) { 0x1C, 0xC2 }, { 0x1D, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetSoftDisplayFilter // ****************************************************************** @@ -1277,7 +1314,7 @@ OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 3925, 12) { 0x1C, 0xC2 }, { 0x1D, 0x04 }, OOVPA_END; - +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetTextureState_TexCoordIndex @@ -1309,7 +1346,7 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 3925, 1+11, { 0x98, 0xE0 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetTextureState_BorderColor // ****************************************************************** @@ -1335,7 +1372,8 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 3925, 13) { 0x34, 0xC2 }, { 0x35, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_PSTextureModes // ****************************************************************** @@ -1357,7 +1395,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_PSTextureModes, 3925, 11) { 0x21, 0xC2 }, { 0x22, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_StencilFail // ****************************************************************** @@ -1380,7 +1419,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 3925, 12) { 0x4C, 0x04 }, { 0x4D, 0x00 }, OOVPA_END; - +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_CullMode @@ -1417,7 +1456,7 @@ OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 3925, 2+15, { 0x50, 0x04 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_Simple // ****************************************************************** @@ -1445,7 +1484,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Simple, 3925, 13) { 0x2B, 0xEB }, { 0x2C, 0xD3 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetTransform // ****************************************************************** @@ -1468,7 +1508,8 @@ OOVPA_NO_XREF(D3DDevice_SetTransform, 3925, 10) { 0x7A, 0xDE }, { 0x7B, 0xF9 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_FogColor // ****************************************************************** @@ -1490,7 +1531,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor, 3925, 11) { 0x44, 0xC2 }, { 0x45, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_FillMode // ****************************************************************** @@ -1512,7 +1554,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 3925, 11) { 0x3B, 0xC2 }, { 0x3C, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_StencilEnable // ****************************************************************** @@ -1534,7 +1577,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 3925, 11) { 0x7D, 0xC2 }, { 0x7E, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** @@ -1556,7 +1600,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 3925, 11) { 0x74, 0xC2 }, { 0x75, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_ZBias // ****************************************************************** @@ -1579,7 +1624,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZBias, 3925, 10) { 0x71, 0xC2 }, { 0x72, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_ZEnable // ****************************************************************** @@ -1605,7 +1651,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 3925, 13) { 0x69, 0xC2 }, { 0x6A, 0x04 }, OOVPA_END; - +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_Release @@ -1651,7 +1697,7 @@ OOVPA_NO_XREF(D3DDevice_Release, 3925, 11) { 0x2E, 0x48 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_Present // ****************************************************************** @@ -1674,7 +1720,8 @@ OOVPA_NO_XREF(D3DDevice_Present, 3925, 10) { 0xC0, 0x33 }, { 0xC1, 0xFF }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** @@ -1698,7 +1745,8 @@ OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 3925, 12) { 0xE6, 0x24 }, { 0xE7, 0x01 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetBackBuffer // ****************************************************************** @@ -1724,7 +1772,8 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 3925, 12) { 0x31, 0xC2 }, { 0x32, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetRenderTarget // ****************************************************************** @@ -1747,6 +1796,7 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 3925, 9) { 0x1D, 0xC2 }, { 0x1E, 0x04 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetDepthStencilSurface @@ -1803,6 +1853,7 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 3925, 10) { 0x26, 0x04 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreateVertexBuffer // ****************************************************************** @@ -1829,7 +1880,8 @@ OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer, 3925, 13) { 0x53, 0xC2 }, { 0x54, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DVertexBuffer_Lock // ****************************************************************** @@ -1854,7 +1906,8 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock, 3925, 11) { 0x4A, 0xC2 }, { 0x4B, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DResource_Register // ****************************************************************** @@ -1893,7 +1946,8 @@ OOVPA_NO_XREF(D3DResource_Register, 3925, 19) { 0x25, 0xC2 }, { 0x26, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DResource_Release // ****************************************************************** @@ -1921,7 +1975,8 @@ OOVPA_NO_XREF(D3DResource_Release, 3925, 11) { 0x4B, 0xC2 }, { 0x4C, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DResource_AddRef // ****************************************************************** @@ -1947,7 +2002,8 @@ OOVPA_NO_XREF(D3DResource_AddRef, 3925, 10) { 0x34, 0xC2 }, { 0x35, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DResource_IsBusy // ****************************************************************** @@ -1972,7 +2028,8 @@ OOVPA_NO_XREF(D3DResource_IsBusy, 3925, 11) { 0x79, 0x73 }, { 0x7A, 0x09 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DSurface_LockRect // ****************************************************************** @@ -2006,7 +2063,8 @@ OOVPA_NO_XREF(D3DSurface_LockRect, 3925, 16) { 0x1D, 0xC2 }, { 0x1E, 0x10 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DPalette_Lock // ****************************************************************** @@ -2033,7 +2091,8 @@ OOVPA_NO_XREF(D3DPalette_Lock, 3925, 13) { 0x1C, 0x89 }, { 0x1D, 0x01 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DTexture_LockRect // ****************************************************************** @@ -2066,7 +2125,8 @@ OOVPA_NO_XREF(D3DTexture_LockRect, 3925, 17) { 0x20, 0xC2 }, { 0x21, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DVolumeTexture_LockBox // ****************************************************************** @@ -2091,7 +2151,8 @@ OOVPA_NO_XREF(D3DVolumeTexture_LockBox, 3925, 11) { 0x99, 0xC2 }, { 0x9A, 0x14 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DCubeTexture_LockRect // ****************************************************************** @@ -2116,7 +2177,8 @@ OOVPA_NO_XREF(D3DCubeTexture_LockRect, 3925, 11) { 0x98, 0xC2 }, { 0x99, 0x18 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DTexture_GetSurfaceLevel // ****************************************************************** @@ -2149,7 +2211,8 @@ OOVPA_NO_XREF(D3DTexture_GetSurfaceLevel, 3925, 11) { 0x4C, 0xC2 }, { 0x4D, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * Lock2DSurface // ****************************************************************** @@ -2170,7 +2233,8 @@ OOVPA_NO_XREF(Lock2DSurface, 3925, 11) { 0x98, 0xC2 }, { 0x99, 0x18 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -2192,7 +2256,8 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 3925, 10) { 0xAE, 0xC2 }, { 0xAF, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetVertexShaderSize // ****************************************************************** @@ -2223,7 +2288,8 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderSize, 3925, 12) { 0x10, 0x10 }, { 0x13, 0x00 },*/ OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetGammaRamp // ****************************************************************** @@ -2244,7 +2310,8 @@ OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 3925, 9) { 0x3F, 0x8B }, { 0x40, 0xCA }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** @@ -2269,7 +2336,8 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 3925, 11) { 0x23, 0xC2 }, { 0x24, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_AddRef // ****************************************************************** @@ -2293,7 +2361,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 3925, 10) { 0x0E, 0x08 }, { 0x0F, 0x04 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_CMiniport_GetDisplayCapabilities // Was D3DDevice_Unknown1 @@ -2314,7 +2382,7 @@ OOVPA_NO_XREF(D3D_CMiniport_GetDisplayCapabilities, 3925, 9) { 0x1E, 0xC3 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -2338,7 +2406,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 3925, 10) { 0x1A, 0xC2 }, { 0x1B, 0x04 }, OOVPA_END; - +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetGammaRamp @@ -2377,6 +2445,7 @@ OOVPA_NO_XREF(D3DDevice_GetGammaRamp, 3925, 7) { 0x28, 0x04 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** @@ -2401,7 +2470,8 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 3925, 14) { 0x3C, 0xC2 }, { 0x3D, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias // ****************************************************************** @@ -2415,7 +2485,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 3925, 7) { 0x40, 0x89 }, { 0x49, 0xC2 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_VertexBlend // ****************************************************************** @@ -2442,7 +2513,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend, 3925, 13) { 0x2F, 0xC2 }, { 0x30, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** @@ -2468,7 +2540,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 3925, 12) { 0x48, 0xC2 }, { 0x49, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_TwoSidedLighting // ****************************************************************** @@ -2495,7 +2568,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 3925, 13) { 0x51, 0xC2 }, { 0x52, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_NormalizeNormals // ****************************************************************** @@ -2515,7 +2589,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 3925, 8) { 0x2A, 0xC2 }, { 0x2B, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_FrontFace // ****************************************************************** @@ -2538,7 +2613,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FrontFace, 3925, 9) { 0x1B, 0xC0 }, { 0x1C, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** @@ -2562,7 +2638,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 3925, 10) { 0x49, 0xC2 }, { 0x4A, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_LogicOp // ****************************************************************** @@ -2583,7 +2660,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 3925, 9) { 0x49, 0xC2 }, { 0x4A, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_EdgeAntiAlias // ****************************************************************** @@ -2608,7 +2686,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias, 3925, 11) { 0x29, 0xC2 }, { 0x2A, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMask // ****************************************************************** @@ -2635,6 +2714,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask, 3925, 13) { 0x49, 0xC2 }, { 0x4A, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode @@ -2662,6 +2742,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 3925, 12) { 0x23, 0x04 }, OOVPA_END; +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** @@ -2685,7 +2766,8 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 3925, 14) { 0x70, 0xD3 }, { 0x71, 0xE2 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_ShadowFunc // ****************************************************************** @@ -2713,7 +2795,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc, 3925, 14) { 0x21, 0xC0 }, { 0x22, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_LineWidth // ****************************************************************** @@ -2737,7 +2820,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 3925, 10) { 0x5C, 0xC2 }, { 0x5D, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_YuvEnable // ****************************************************************** @@ -2763,7 +2847,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_YuvEnable, 3925, 10) { 0x22, 0xC2 }, { 0x23, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_OcclusionCullEnable // ****************************************************************** @@ -2789,7 +2874,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_OcclusionCullEnable, 3925, 12) { 0x59, 0xC2 }, { 0x5A, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_StencilCullEnable // ****************************************************************** @@ -2808,7 +2894,8 @@ OOVPA_XREF(D3DDevice_SetRenderState_StencilCullEnable, 3925, 8, { 0x46, 0x03 }, { 0x52, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -2823,7 +2910,8 @@ OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 3925, 8) { 0xDE, 0x75 }, { 0xFE, 0x8B }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_DrawIndexedVerticesUP // ****************************************************************** @@ -2838,7 +2926,8 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 3925, 8) { 0xDE, 0x75 }, { 0xFE, 0x75 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_DrawVertices // ****************************************************************** @@ -2853,7 +2942,8 @@ OOVPA_NO_XREF(D3DDevice_DrawVertices, 3925, 8) { 0x8A, 0x17 }, { 0x9E, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetDisplayMode // ****************************************************************** @@ -2867,7 +2957,8 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 3925, 7) { 0x41, 0x89 }, { 0x4B, 0x89 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetTextureState_BumpEnv // ****************************************************************** @@ -2881,7 +2972,8 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 3925, 7) { 0x46, 0x8B }, { 0x52, 0xB5 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetTextureState_ColorKeyColor // ****************************************************************** @@ -2895,7 +2987,8 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 3925, 7) { 0x28, 0x07 }, { 0x2F, 0x5E }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetVertexData4s // ****************************************************************** @@ -2910,6 +3003,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 3925, 8) { 0x3D, 0x08 }, { 0x46, 0x00 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3D_SetPushBufferSize @@ -2947,7 +3041,7 @@ OOVPA_NO_XREF(D3D_SetPushBufferSize, 3925, 7) { 0x14, 0x08 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DResource_GetType // ****************************************************************** @@ -2961,7 +3055,8 @@ OOVPA_NO_XREF(D3DResource_GetType, 3925, 7) { 0x7C, 0x04 }, { 0x91, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D_AllocContiguousMemory // ****************************************************************** @@ -2974,7 +3069,8 @@ OOVPA_NO_XREF(D3D_AllocContiguousMemory, 3925, 6) { 0x16, 0xC2 }, { 0x17, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_Deferred // ****************************************************************** @@ -2994,7 +3090,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Deferred, 3925, 9) // D3DDevice_SetRenderState_Deferred+0x14 : retn { 0x14, 0xC3 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetLight // ****************************************************************** @@ -3017,7 +3114,8 @@ OOVPA_NO_XREF(D3DDevice_GetLight, 3925, 10) { 0x1E, 0xB9 }, { 0x1F, 0x1A }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -3032,7 +3130,7 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 3925, 8) { 0xD7, 0x00 }, { 0xF6, 0x00 }, OOVPA_END; - +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_LightEnable @@ -3134,7 +3232,7 @@ OOVPA_XREF(D3DDevice_GetLightEnable, 3911, 1+24, // valid upto at least 5233, ne { 0x1F, 0x74 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix // ****************************************************************** @@ -3148,7 +3246,8 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 3925, 7) { 0x16, 0x00 }, { 0x1A, 0x5E }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -3162,7 +3261,8 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 3925, 7) { 0x1C, 0x00 }, { 0x21, 0x5F }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_ApplyStateBlock // ****************************************************************** @@ -3177,7 +3277,8 @@ OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 3925, 8) { 0xD7, 0x39 }, { 0xF6, 0x51 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CaptureStateBlock // ****************************************************************** @@ -3191,7 +3292,8 @@ OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 3925, 7) { 0xBE, 0x04 }, { 0xDE, 0xF8 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_DeleteStateBlock // ****************************************************************** @@ -3205,7 +3307,8 @@ OOVPA_NO_XREF(D3DDevice_DeleteStateBlock, 3925, 7) { 0x70, 0x06 }, { 0x83, 0xEB }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** @@ -3220,7 +3323,8 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 3925, 8) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreateStateBlock // ****************************************************************** @@ -3235,7 +3339,8 @@ OOVPA_NO_XREF(D3DDevice_CreateStateBlock, 3925, 8) { 0xDE, 0xF8 }, { 0xFE, 0x76 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_DeletePixelShader // ****************************************************************** @@ -3249,7 +3354,8 @@ OOVPA_NO_XREF(D3DDevice_DeletePixelShader, 3925, 7) { 0x18, 0xC2 }, { 0x1A, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetPixelShaderProgram // ****************************************************************** @@ -3263,7 +3369,8 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 3925, 7) { 0x32, 0xC7 }, { 0x36, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D_KickOffAndWaitForIdle // ****************************************************************** @@ -3280,7 +3387,8 @@ OOVPA_XREF(D3D_KickOffAndWaitForIdle, 3925, 5, { 0x0A, 0x51 }, { 0x10, 0xC3 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetModelView // ****************************************************************** @@ -3294,7 +3402,8 @@ OOVPA_NO_XREF(D3DDevice_SetModelView, 3925, 7) { 0x76, 0x00 }, { 0x8A, 0x0C }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_FlushVertexCache // ****************************************************************** @@ -3309,7 +3418,8 @@ OOVPA_NO_XREF(D3DDevice_FlushVertexCache, 3925, 8) { 0x17, 0x00 }, { 0x1C, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** @@ -3324,7 +3434,8 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 3925, 8) { 0xD9, 0x8B }, { 0xF6, 0xDB }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetVertexShaderInput // ****************************************************************** @@ -3339,7 +3450,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput, 3925, 8) { 0xDE, 0xCA }, { 0xFE, 0x17 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_PrimeVertexCache // ****************************************************************** @@ -3354,7 +3466,8 @@ OOVPA_NO_XREF(D3DDevice_PrimeVertexCache, 3925, 8) { 0x67, 0x00 }, { 0x76, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetVertexData4ub // ****************************************************************** @@ -3368,7 +3481,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4ub, 3925, 7) { 0x34, 0x24 }, { 0x3D, 0xFC }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** @@ -3382,7 +3496,8 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 3925, 7) { 0xC0, 0x51 }, { 0xDE, 0xC4 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_InsertCallback // ****************************************************************** @@ -3396,7 +3511,8 @@ OOVPA_NO_XREF(D3DDevice_InsertCallback, 3925, 7) { 0x4C, 0x00 }, { 0x59, 0x03 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_BeginPushBuffer // ****************************************************************** @@ -3410,7 +3526,8 @@ OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 3925, 7) { 0x4C, 0x04 }, { 0x59, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_EndPushBuffer // ****************************************************************** @@ -3424,7 +3541,8 @@ OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 3925, 7) { 0x70, 0x03 }, { 0x83, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_RopZCmpAlwaysRead // ****************************************************************** @@ -3450,7 +3568,8 @@ OOVPA_XREF(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, 9, { 0x0F, 0x04 }, { 0x10, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_RopZRead // ****************************************************************** @@ -3476,7 +3595,8 @@ OOVPA_XREF(D3DDevice_SetRenderState_RopZRead, 3925, 9, { 0x0F, 0x04 }, { 0x10, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetRenderState_DoNotCullUncompressed // ****************************************************************** @@ -3502,7 +3622,8 @@ OOVPA_XREF(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, 9, { 0x0F, 0x04 }, { 0x10, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * XMETAL_StartPush // ****************************************************************** @@ -3527,7 +3648,8 @@ OOVPA_NO_XREF(XMETAL_StartPush, 3925, 11) { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D::SetFence // ****************************************************************** @@ -3555,7 +3677,8 @@ OOVPA_XREF(D3D_SetFence, 3925, 11, { 0x96, 0xC2 }, { 0x97, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_InsertFence // ****************************************************************** @@ -3571,7 +3694,8 @@ OOVPA_XREF(D3DDevice_InsertFence, 3925, 5, { 0x02, 0xE8 }, { 0x07, 0xC3 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** @@ -3585,7 +3709,8 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 3925, 7) { 0x4C, 0x00 }, { 0x59, 0xE8 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_DeleteVertexShader // ****************************************************************** @@ -3600,7 +3725,7 @@ OOVPA_NO_XREF(D3DDevice_DeleteVertexShader, 3925, 6) { 0x16, 0xC2 }, { 0x17, 0x04 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_RunPushBuffer @@ -3629,7 +3754,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 3925, 15) { 0xF7, 0x00 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** @@ -3648,6 +3773,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 3925, 8, { 0x0D, 0x04 }, { 0x0E, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3D_EnumAdapterModes @@ -3679,6 +3805,7 @@ OOVPA_NO_XREF(D3D_GetAdapterModeCount, 3925, 8) { 0x9E, 0x00 }, OOVPA_END; +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_Reset // ****************************************************************** @@ -3692,7 +3819,8 @@ OOVPA_NO_XREF(D3DDevice_Reset, 3925, 7) { 0x88, 0x50 }, { 0x9F, 0x03 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D_GetAdapterIdentifier // ****************************************************************** @@ -3706,7 +3834,8 @@ OOVPA_NO_XREF(D3D_GetAdapterIdentifier, 3925, 7) { 0x22, 0x5F }, { 0x28, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D_GetDeviceCaps // ****************************************************************** @@ -3720,7 +3849,8 @@ OOVPA_NO_XREF(D3D_GetDeviceCaps, 3925, 7) { 0x22, 0x0C }, { 0x29, 0x33 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D::SetCommonDebugRegisters // ****************************************************************** @@ -3737,7 +3867,8 @@ OOVPA_NO_XREF(D3D_SetCommonDebugRegisters, 3925, 10) { 0x35, 0xEF }, { 0x36, 0xE7 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CreateImageSurface // ****************************************************************** @@ -3751,7 +3882,8 @@ OOVPA_NO_XREF(D3DDevice_CreateImageSurface, 3925, 7) { 0x16, 0xE8 }, { 0x1B, 0xC2 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** @@ -3778,7 +3910,8 @@ OOVPA_XREF(D3D_BlockOnTime, 3925, 10, { 0x70, 0x01 }, { 0x71, 0x04 } OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3D::BlockOnResource // ****************************************************************** @@ -3797,7 +3930,8 @@ OOVPA_XREF(D3D_BlockOnResource, 3925, 9, { 0x7F, 0x04 }, { 0x80, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DResource_BlockUntilNotBusy // ****************************************************************** @@ -3810,6 +3944,7 @@ OOVPA_XREF(D3DResource_BlockUntilNotBusy, 3925, 2, { 0x00, 0xE9 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3D_ClearStateBlockFlags @@ -3941,7 +4076,7 @@ OOVPA_NO_XREF(D3DDevice_EndStateBlock, 3925, 6) { 0x09, 0xE9 }, OOVPA_END; #endif - +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** @@ -3962,7 +4097,8 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 3925, 9) { 0x7F, 0xC4 }, { 0x80, 0x18 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** @@ -3978,7 +4114,8 @@ OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 3925, 9) { 0x18, 0x8B }, { 0x1E, 0x5F }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_SwitchTexture // ****************************************************************** @@ -4005,7 +4142,8 @@ OOVPA_NO_XREF(D3DDevice_SwitchTexture, 3925, 10) { 0x23, 0x04 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetModelView // ****************************************************************** @@ -4022,7 +4160,8 @@ OOVPA_NO_XREF(D3DDevice_GetModelView, 3925, 10) { 0x16, 0x10 }, { 0x1C, 0x5E }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_CopyRects // ****************************************************************** @@ -4038,7 +4177,8 @@ OOVPA_NO_XREF(D3DDevice_CopyRects, 3925, 9) { 0x4F, 0x84 }, { 0x75, 0x15 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DVertexBuffer_GetDesc // ****************************************************************** @@ -4052,7 +4192,8 @@ OOVPA_NO_XREF(D3DVertexBuffer_GetDesc, 3925, 7) { 0x16, 0x46 }, { 0x1A, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetShaderConstantMode // ****************************************************************** @@ -4067,7 +4208,8 @@ OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 3925, 8) { 0x10, 0x0A }, { 0x13, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetVertexShader // ****************************************************************** @@ -4081,7 +4223,8 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShader, 3925, 7) { 0x10, 0x0A }, { 0x13, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetVertexShaderConstant // ****************************************************************** @@ -4097,7 +4240,8 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderConstant, 3925, 9) { 0x18, 0x00 }, { 0x1F, 0xF7 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetVertexShaderInput // ****************************************************************** @@ -4112,7 +4256,8 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderInput, 3925, 8) { 0x18, 0x04 }, { 0x1F, 0x20 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_RunVertexStateShader // ****************************************************************** @@ -4128,7 +4273,8 @@ OOVPA_NO_XREF(D3DDevice_RunVertexStateShader, 3925, 9) { 0x16, 0x41 }, { 0x1F, 0x41 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetVertexShaderType // ****************************************************************** @@ -4142,7 +4288,8 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderType, 3925, 7) { 0x22, 0xC9 }, { 0x28, 0x08 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** @@ -4158,7 +4305,8 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 3925, 9) { 0x11F, 0x83 }, { 0x129, 0x0F }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetVertexShaderFunction // ****************************************************************** @@ -4172,7 +4320,8 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderFunction, 3925, 7) { 0x8E, 0x00 }, { 0xA6, 0xF8 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetPixelShader // ****************************************************************** @@ -4186,7 +4335,8 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 3925, 7) { 0x10, 0x0A }, { 0x13, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_IsFencePending // ****************************************************************** @@ -4204,6 +4354,7 @@ OOVPA_NO_XREF(D3DDevice_IsFencePending, 3925, 11) { 0x1A, 0x1B }, { 0x1F, 0x04 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * CMiniport::InitHardware @@ -4309,6 +4460,7 @@ OOVPA_NO_XREF(D3D_CMiniport_GetDisplayCapabilities, 3911, 15) { 0x1E, 0xC3 }, OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetPushBufferOffset // ****************************************************************** @@ -4322,6 +4474,7 @@ OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 3925, 7) { 0x82, 0x04 }, { 0x98, 0x89 }, OOVPA_END; +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DBaseTexture_GetLevelCount @@ -4633,178 +4786,178 @@ OOVPA_END; OOVPATable D3D8_3925[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_IsBusy, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3925, PATCH), - REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetMaterial, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackMaterial, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), + REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetMaterial, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackMaterial, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderTarget, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetStreamSource, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetIndices, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_SetViewport, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_Begin, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2f, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2s, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4f, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_End, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePalette, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetPalette, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderTarget, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetStreamSource, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetIndices, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_SetViewport, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_Begin, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2f, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2s, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4f, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_End, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetTransform, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_Present, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackBuffer, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetRenderTarget, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetTransform, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_Present, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackBuffer, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetRenderTarget, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3925, DISABLED), - REGISTER_OOVPA(D3DVertexBuffer_Lock, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DResource_IsBusy, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DPalette_Lock, 3925, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), + REGISTER_OOVPA(D3DVertexBuffer_Lock, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DResource_IsBusy, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), - REGISTER_OOVPA(Get2DSurfaceDesc, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetMaterial, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(Get2DSurfaceDesc, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetMaterial, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_PersistDisplay, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVertices, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayMode, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4s, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_PersistDisplay, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayMode, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4s, 3911, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), - REGISTER_OOVPA(D3DResource_GetType, 3925, DISABLED), // Probably not even necessary... - REGISTER_OOVPA(D3D_AllocContiguousMemory, 3925, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH - REGISTER_OOVPA(D3DDevice_SetRenderState_Deferred, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3DResource_GetType, 3911, DISABLED), // Probably not even necessary... + REGISTER_OOVPA(D3D_AllocContiguousMemory, 3911, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH + REGISTER_OOVPA(D3DDevice_SetRenderState_Deferred, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_SetRenderTarget, 3948, PATCH), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetTile, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetModelView, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_FlushVertexCache, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetScissors, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_InsertCallback, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), - REGISTER_OOVPA(XMETAL_StartPush, 3925, DISABLED), - REGISTER_OOVPA(D3D_SetFence, 3925, XREF), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetModelView, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_FlushVertexCache, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_InsertCallback, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), + REGISTER_OOVPA(XMETAL_StartPush, 3911, DISABLED), + REGISTER_OOVPA(D3D_SetFence, 3911, XREF), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 3925, PATCH), - REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3925, DISABLED), - REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), - REGISTER_OOVPA(D3D_SetCommonDebugRegisters, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateImageSurface, 3925, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 3925, PATCH), - REGISTER_OOVPA(D3D_BlockOnResource, 3925, PATCH), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), + REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3911, DISABLED), + REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), + REGISTER_OOVPA(D3D_SetCommonDebugRegisters, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateImageSurface, 3911, PATCH), + REGISTER_OOVPA(D3D_BlockOnTime, 3911, PATCH), + REGISTER_OOVPA(D3D_BlockOnResource, 3911, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 3911, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3DDevice_EndStateBlock, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackMaterial, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetModelView, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CopyRects, 3925, PATCH), - REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetPixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_IsFencePending, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackMaterial, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetModelView, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CopyRects, 3911, PATCH), + REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetPixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_IsFencePending, 3911, PATCH), REGISTER_OOVPA(CMiniport_InitHardware, 3911, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 3911, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 532a0cc04..fd185872a 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -2308,7 +2308,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), // ****************************************************************** // Tested on version 4039, The Simpsons - Road Rage (PAL) 4039 etc @@ -2335,13 +2335,13 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), REGISTER_OOVPA(D3D_SetFence, 4039, XREF), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 4039, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), @@ -2368,33 +2368,33 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_GetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_CreatePalette, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3925, DISABLED), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_GetType, 4034, PATCH), - REGISTER_OOVPA(D3D_AllocContiguousMemory, 3925, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH - REGISTER_OOVPA(D3DPalette_Lock, 3925, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3D_AllocContiguousMemory, 3911, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH + REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4034, PATCH), @@ -2405,8 +2405,8 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawRectPatch, 3911, PATCH), // TODO: Unused? REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), @@ -2431,9 +2431,9 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), - REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3925, DISABLED), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3911, DISABLED), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 4034, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), @@ -2447,15 +2447,15 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4034, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_AddRef, 4039, PATCH), // ****************************************************************** @@ -2464,20 +2464,20 @@ OOVPATable D3D8_4034[] = { // ****************************************************************** // REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_Present, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_Present, 3911, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), // REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_InsertCallback, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), @@ -2485,13 +2485,13 @@ OOVPATable D3D8_4034[] = { // REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), // REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 18f8694d0..cc1965e45 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -2721,46 +2721,46 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4034, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 3911, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePalette, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_Present, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3925, DISABLED), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_Present, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), - REGISTER_OOVPA(D3DPalette_Lock, 3925, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH), // Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), // Just calls Lock2DSurface - REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3925, PATCH), + REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface + REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4134, PATCH), REGISTER_OOVPA(D3D_CreateStandAloneSurface, 4134, XREF), @@ -2783,7 +2783,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4134, PATCH), @@ -2793,7 +2793,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4134, PATCH), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), @@ -2806,9 +2806,9 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4134, PATCH), @@ -2817,26 +2817,26 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), - REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3925, DISABLED), + REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4134, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), @@ -2845,20 +2845,20 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 3925, PATCH), + REGISTER_OOVPA(D3D_BlockOnTime, 3911, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4039, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), @@ -2878,13 +2878,13 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index d03734caf..2a1d0a706 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -1219,36 +1219,36 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4242, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4361, PATCH), @@ -1270,7 +1270,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH), @@ -1279,26 +1279,26 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), REGISTER_OOVPA(D3DResource_Release, 4361, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4134, PATCH), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3925, PATCH), + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_CreatePalette, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3925, DISABLED), // TODO: This needs to be verified on 4361, not just 4242! - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), - REGISTER_OOVPA(D3DPalette_Lock, 3925, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH), // Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), // Just calls Lock2DSurface + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3911, DISABLED), // TODO: This needs to be verified on 4361, not just 4242! + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), + REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface REGISTER_OOVPA(D3DDevice_SetPalette, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), @@ -1310,9 +1310,9 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4134, PATCH), @@ -1321,11 +1321,11 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4242, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), @@ -1335,7 +1335,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), @@ -1348,18 +1348,18 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), - REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), + REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4361, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4134, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 4361, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), @@ -1368,7 +1368,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 4134, PATCH), @@ -1380,7 +1380,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 4361, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_DrawRectPatch, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), @@ -1397,7 +1397,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4039, PATCH), }; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index b646112af..59c6fe57c 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -661,7 +661,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4432, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), @@ -679,11 +679,11 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), @@ -693,9 +693,9 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4432, PATCH), @@ -708,9 +708,9 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePalette, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH), // REGISTER_OOVPA(D3DDevice_Swap, 4531, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), @@ -721,45 +721,45 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 4432, PATCH), - REGISTER_OOVPA(D3DPalette_Lock, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), // REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4531, PATCH), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), // REGISTER_OOVPA(D3DVertexBuffer_Lock, 4531, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), @@ -768,11 +768,11 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 4134, DISABLED), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), @@ -782,20 +782,20 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetScissors, 4361, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3925, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface + REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4134, PATCH), @@ -805,7 +805,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 4134, PATCH), @@ -817,17 +817,17 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH),// Just calls Lock2DSurface + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),// Just calls Lock2DSurface REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3DDevice_SetTile, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4134, PATCH), @@ -839,7 +839,7 @@ OOVPATable D3D8_4432[] { // TODO: Need test cases // ****************************************************************** REGISTER_OOVPA(D3DDevice_DrawRectPatch, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index 87b08ea99..75e6bf7ca 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -3412,7 +3412,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4627, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_BeginPush, 4627, PATCH), @@ -3435,7 +3435,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_GetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), @@ -3443,8 +3443,8 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), - REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 4627, PATCH), // REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), @@ -3475,7 +3475,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), @@ -3498,7 +3498,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4627, PATCH), @@ -3506,22 +3506,22 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4627, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DResource_GetType, 4034, DISABLED), REGISTER_OOVPA(Get2DSurfaceDesc, 4627, PATCH), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 4627, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH), // Just calls Lock3DSurface + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH), @@ -3532,10 +3532,10 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), @@ -3550,11 +3550,11 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_InsertCallback, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4531, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4531, PATCH), // REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), // Beware of the typo... @@ -3563,9 +3563,9 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetStateUP, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4627, PATCH), // REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4627, PATCH), @@ -3579,13 +3579,13 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 4627, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH),//TODO 4721,4928 REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4627, PATCH), // Called D3DCubeTexture_GetCubeMapSurface2 @@ -3607,11 +3607,11 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_KickPushBuffer, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(CMiniport_IsFlipPending, 4627, XREF), REGISTER_OOVPA(CMiniport_InitHardware, 4627, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index f6d972c3a..f9ee986a8 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -1144,7 +1144,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), @@ -1163,7 +1163,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_GetTile, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), @@ -1171,8 +1171,8 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), - REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 5028, DISABLED), @@ -1199,7 +1199,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), @@ -1222,26 +1222,26 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5028, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DResource_GetType, 4034, DISABLED), // I forget why I had this in here... REGISTER_OOVPA(Get2DSurfaceDesc, 5028, PATCH), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH), // Just calls Lock3DSurface + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH), @@ -1252,10 +1252,10 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), @@ -1268,11 +1268,11 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), REGISTER_OOVPA(D3D_SetFence, 5028, XREF), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), // Beware of the typo... @@ -1281,9 +1281,9 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetStateUP, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), @@ -1293,9 +1293,9 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), @@ -1313,20 +1313,20 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), - REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), + REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // ****************************************************************** // Provisional registration functions in XDK 5028 @@ -1342,7 +1342,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index bd257d9f9..bc598c7eb 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -665,7 +665,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetScissors, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), @@ -675,18 +675,18 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), - REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 5028, DISABLED), @@ -708,7 +708,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), @@ -721,9 +721,9 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), @@ -731,8 +731,8 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), - REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), @@ -740,40 +740,40 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH), - REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), + REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5028, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 5028, PATCH), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5233, PATCH), REGISTER_OOVPA(D3D_SetFence, 5028, XREF), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), @@ -795,7 +795,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), @@ -812,8 +812,8 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5028, PATCH), @@ -821,7 +821,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), @@ -838,9 +838,9 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5028, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index 5eec74ac7..f9c8cb7e7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -1145,7 +1145,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetScissors, 5344, PATCH), // Was 5233 REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), @@ -1154,13 +1154,13 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), @@ -1189,7 +1189,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), @@ -1202,9 +1202,9 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH), // Was 5233 @@ -1213,30 +1213,30 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 5344, PATCH), // Was 4134 REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), - REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5344, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), // Was 5233 REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5344, PATCH), // Was 4627 - REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), + REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5344, PATCH), // 5233 REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 5344, PATCH), // Was 4627 REGISTER_OOVPA(D3DDevice_SetViewport, 5344, PATCH), // Was 5233 - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 5344, PATCH), // Was 5233 - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), @@ -1248,11 +1248,11 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5344, PATCH), // Was 5233 REGISTER_OOVPA(D3D_SetFence, 5028, XREF), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), @@ -1296,9 +1296,9 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5344, PATCH), @@ -1314,7 +1314,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), @@ -1325,11 +1325,11 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 9cdd2fe23..e1f1a512d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -2070,12 +2070,12 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5558, PATCH), @@ -2099,7 +2099,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), @@ -2107,7 +2107,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5558, PATCH), @@ -2135,27 +2135,27 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), REGISTER_OOVPA(Direct3D_CheckDeviceMultiSampleType, 3911, DISABLED), - REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3D_SetFence, 5558, XREF), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), - REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), + REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5344, PATCH), @@ -2164,7 +2164,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 4627, DISABLED), @@ -2194,14 +2194,14 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 5558, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5558, PATCH), REGISTER_OOVPA(D3DDevice_MakeSpace, 5558, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), @@ -2221,10 +2221,10 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), @@ -2242,7 +2242,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), // for 5455 @@ -2264,8 +2264,8 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), @@ -2276,9 +2276,9 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 74a25b103..fc35381b4 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -1070,7 +1070,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), @@ -1085,7 +1085,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), @@ -1115,22 +1115,22 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), - REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3925, DISABLED), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), + REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 5788, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 5788, PATCH), @@ -1139,12 +1139,12 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(Direct3D_CheckDeviceMultiSampleType, 3911, DISABLED), - REGISTER_OOVPA(D3D_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3D_AllocContiguousMemory, 5788, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH REGISTER_OOVPA(Get2DSurfaceDesc, 5788, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), @@ -1155,7 +1155,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3925, DISABLED), + REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5788, PATCH), @@ -1186,7 +1186,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3D_MakeRequestedSpace, 5788, XREF), REGISTER_OOVPA(D3D_Unknown, 5788, XREF), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), @@ -1199,9 +1199,9 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5788, PATCH), @@ -1217,7 +1217,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), @@ -1232,8 +1232,8 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), @@ -1242,17 +1242,17 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), REGISTER_OOVPA(D3D_SetFence, 5558, XREF), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index e2174fac8..ab435d292 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -187,7 +187,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), @@ -203,7 +203,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), @@ -231,18 +231,18 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), - REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), - REGISTER_OOVPA(D3DResource_AddRef, 3925, PATCH), - REGISTER_OOVPA(D3DResource_Release, 3925, PATCH), + REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), + REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), - REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), + REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), - REGISTER_OOVPA(D3DTexture_LockRect, 3925, PATCH), - REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), + REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 5788, PATCH), @@ -250,14 +250,14 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3D_SetFence, 5558, XREF), - REGISTER_OOVPA(D3DDevice_InsertFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5558, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5849, XREF), - REGISTER_OOVPA(D3DDevice_BlockOnFence, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3D_AllocContiguousMemory, 5788, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH REGISTER_OOVPA(Get2DSurfaceDesc, 5849, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), - REGISTER_OOVPA(Lock2DSurface, 3925, PATCH), + REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), @@ -297,7 +297,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3D_MakeRequestedSpace, 5788, XREF), REGISTER_OOVPA(D3D_Unknown, 5788, XREF), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), @@ -310,9 +310,9 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3925, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5788, PATCH), @@ -326,7 +326,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5788, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), @@ -339,7 +339,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), - REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3925, PATCH), + REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_IsBusy, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5788, PATCH), @@ -349,8 +349,8 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3925, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3925, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), @@ -362,9 +362,9 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index af841b74c..bf6b2cd3f 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -131,211 +131,211 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DBaseTexture_GetLevelCount, PATCH, 3911), REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, PATCH, 3911, 4134, 4627, 5558), // Called D3DCubeTexture_GetCubeMapSurface2 (from 4627's comment) NOTE: Use D3DCubeTexture_GetCubeMapSurface2 for 4627 and above REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, PATCH, 4627), - REGISTER_OOVPAS(D3DCubeTexture_LockRect, PATCH, 3925), // Just calls Lock2DSurface (from 4134, 4432's comment) - REGISTER_OOVPAS(D3DDevice_AddRef, PATCH, 3925, 4039, 4134, 4242, 4627, 5028, 5344, 5558, 5659), - REGISTER_OOVPAS(D3DDevice_ApplyStateBlock, PATCH, 3925, 4361, 4627), - REGISTER_OOVPAS(D3DDevice_Begin, PATCH, 3925, 4039), + REGISTER_OOVPAS(D3DCubeTexture_LockRect, PATCH, 3911), // Just calls Lock2DSurface (from 4134, 4432's comment) + REGISTER_OOVPAS(D3DDevice_AddRef, PATCH, 3911, 4039, 4134, 4242, 4627, 5028, 5344, 5558, 5659), + REGISTER_OOVPAS(D3DDevice_ApplyStateBlock, PATCH, 3911, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_Begin, PATCH, 3911, 4039), REGISTER_OOVPAS(D3DDevice_BeginPush, PATCH, 4134, 4432, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_BeginPushBuffer, PATCH, 3925, 4134), // Not implemented yet. (from 5788's comment) + REGISTER_OOVPAS(D3DDevice_BeginPushBuffer, PATCH, 3911, 4134), // Not implemented yet. (from 5788's comment) REGISTER_OOVPAS(D3DDevice_BeginStateBig, XREF, 5028), REGISTER_OOVPAS(D3DDevice_BeginStateBlock, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 3925, 4034, 4361, 4627), - REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3925/*, 4039, 4134, 5233*/), - REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3925, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3925, 4134, 4627, 5455), - REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3925, 4034, 4134, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3925, 4034, 4134, 4627, 5120), - REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3925, 4361, 4627), - REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3925, 4034, 4134, 4627),//TODO 4721,4928 (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer, UNPATCHED, 3925, 4627/*, 5558*/), // TODO: This needs to be verified on 4361 + REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 3911, 4034, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3911/*, 4039, 4134, 5233*/), + REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3911, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3911, 4134, 4627, 5455), + REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3911, 4034, 4134, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3911, 4034, 4134, 4627, 5120), + REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3911, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3911, 4034, 4134, 4627),//TODO 4721,4928 (from 4627's comment) + REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer, UNPATCHED, 3911, 4627/*, 5558*/), // TODO: This needs to be verified on 4361 REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer2, UNPATCHED, 4627, 5344), - REGISTER_OOVPAS(D3DDevice_CreatePalette, PATCH, 3925, 4627), // Called D3DDevice_CreatePalette2 (from 4627's comment) NOTE: Use D3DDevice_CreatePalette2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_CreatePalette, PATCH, 3911, 4627), // Called D3DDevice_CreatePalette2 (from 4627's comment) NOTE: Use D3DDevice_CreatePalette2 for 4627 and above REGISTER_OOVPAS(D3DDevice_CreatePalette2, PATCH, 4627, 5344, 5455), - REGISTER_OOVPAS(D3DDevice_CreatePixelShader, PATCH, 3925, 5344, 5788), - REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3925, 4627), - REGISTER_OOVPAS(D3DDevice_CreateTexture, PATCH, 3925, 4627),// Called D3DDevice_CreateTexture2 (from 4627's comment) NOTE: Use D3DDevice_CreateTexture2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_CreatePixelShader, PATCH, 3911, 5344, 5788), + REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3911, 4627), + REGISTER_OOVPAS(D3DDevice_CreateTexture, PATCH, 3911, 4627),// Called D3DDevice_CreateTexture2 (from 4627's comment) NOTE: Use D3DDevice_CreateTexture2 for 4627 and above REGISTER_OOVPAS(D3DDevice_CreateTexture2, PATCH, 4627, 4831, 5028, 5233), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer, UNPATCHED, 3925), + REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer, UNPATCHED, 3911), REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer2, UNPATCHED, 4627, 5344, 5455), - REGISTER_OOVPAS(D3DDevice_CreateVertexShader, PATCH, 3925), - REGISTER_OOVPAS(D3DDevice_CreateVolumeTexture, PATCH, 3925, 4627), + REGISTER_OOVPAS(D3DDevice_CreateVertexShader, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_CreateVolumeTexture, PATCH, 3911, 4627), REGISTER_OOVPAS(D3DDevice_DeletePatch, UNPATCHED, 4034), // (TODO) (from 4034's comment) - REGISTER_OOVPAS(D3DDevice_DeletePixelShader, PATCH, 3925, 5344), - REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 3925/*, 4361, 5788*/), - REGISTER_OOVPAS(D3DDevice_DeleteVertexShader, PATCH, 3925, 5344), - REGISTER_OOVPAS(D3DDevice_DrawIndexedVertices, PATCH, 3925, 4034, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, PATCH, 3925, 4039, 4134, 4627, 5028, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_DeletePixelShader, PATCH, 3911, 5344), + REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 3911/*, 4361, 5788*/), + REGISTER_OOVPAS(D3DDevice_DeleteVertexShader, PATCH, 3911, 5344), + REGISTER_OOVPAS(D3DDevice_DrawIndexedVertices, PATCH, 3911, 4034, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, PATCH, 3911, 4039, 4134, 4627, 5028, 5344, 5558, 5788), REGISTER_OOVPAS(D3DDevice_DrawRectPatch, PATCH, 3911), // TODO: Unused? (from 4034's comment) REGISTER_OOVPAS(D3DDevice_DrawTriPatch, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 3925, 4034, 5028), - REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 3925, 4039, 4134, 4627, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 3911, 4034, 5028), + REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 3911, 4039, 4134, 4627, 5344, 5558, 5788), REGISTER_OOVPAS(D3DDevice_EnableOverlay, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_End, PATCH, 3925, 4039, 4627, 5028, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_End, PATCH, 3911, 4039, 4627, 5028, 5344, 5558), REGISTER_OOVPAS(D3DDevice_EndPush, PATCH, 4134/*, 4627*/), // Was 4627 (from 5233's comment) - REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3925, 4134), // Not implemented yet. (from 5788's comment) + REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3911, 4134), // Not implemented yet. (from 5788's comment) REGISTER_OOVPAS(D3DDevice_EndStateBlock, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 3925, 4034, 4361, 4627, 5788), - REGISTER_OOVPAS(D3DDevice_FlushVertexCache, PATCH, 3925, 4134), - REGISTER_OOVPAS(D3DDevice_GetBackBuffer, PATCH, 3925, 4034, 4134, 4627, 5558), // Called D3DDevice_GetBackBuffer2 (from 4627's comment) NOTE: Use D3DDevice_GetBackBuffer2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 3911, 4034, 4361, 4627, 5788), + REGISTER_OOVPAS(D3DDevice_FlushVertexCache, PATCH, 3911, 4134), + REGISTER_OOVPAS(D3DDevice_GetBackBuffer, PATCH, 3911, 4034, 4134, 4627, 5558), // Called D3DDevice_GetBackBuffer2 (from 4627's comment) NOTE: Use D3DDevice_GetBackBuffer2 for 4627 and above REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, PATCH, 4627, 5028, 5344, 5455, 5558, 5788), // 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_GetBackMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5659, 5788), + REGISTER_OOVPAS(D3DDevice_GetBackMaterial, PATCH, 3911, 4134, 4627, 5344, 5455, 5558, 5659, 5788), REGISTER_OOVPAS(D3DDevice_GetCreationParameters, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface, PATCH, 3911, 4627), // Called D3DDevice_GetDepthStencilSurface2 (from 4627's comment) NOTE: Use D3DDevice_GetDepthStencilSurface2 for 4627 and above REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface2, PATCH, 4627, 5028, 5788), - REGISTER_OOVPAS(D3DDevice_GetDeviceCaps, UNPATCHED, 3925), - REGISTER_OOVPAS(D3DDevice_GetDisplayFieldStatus, PATCH, 3925, 4039, 4432, 5233, 5788), - REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 3925, 4039, 4432, 4627), + REGISTER_OOVPAS(D3DDevice_GetDeviceCaps, UNPATCHED, 3911), + REGISTER_OOVPAS(D3DDevice_GetDisplayFieldStatus, PATCH, 3911, 4039, 4432, 5233, 5788), + REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 3911, 4039, 4432, 4627), REGISTER_OOVPAS(D3DDevice_GetGammaRamp, PATCH, 3911/*, 3925, 4034*/), - REGISTER_OOVPAS(D3DDevice_GetLight, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_GetLight, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetLightEnable, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5659, 5788), - REGISTER_OOVPAS(D3DDevice_GetModelView, PATCH, 3925, 4134), + REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3911, 4134, 4627, 5344, 5455, 5558, 5659, 5788), + REGISTER_OOVPAS(D3DDevice_GetModelView, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_GetOverlayUpdateStatus, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetPersistedSurface2, PATCH, 4928), // For only on Unreal Championship (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_GetPixelShader, PATCH, 3925, 4039, 4134, 5028, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetProjectionViewportMatrix, PATCH, 3925, 4134, 4432, 4627, 5344, 5558), // For 5455 (from 5558's comment) - REGISTER_OOVPAS(D3DDevice_GetPushBufferOffset, PATCH, 3925, 4627),//TODO 4831 (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_GetRenderTarget, PATCH, 3925, 4039, 4134, 4361, 4432, 4627), // Called D3DDevice_GetRenderTarget2 (from 4627's comment) NOTE: Use D3DDevice_GetRenderTarget2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_GetPixelShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetProjectionViewportMatrix, PATCH, 3911, 4134, 4432, 4627, 5344, 5558), // For 5455 (from 5558's comment) + REGISTER_OOVPAS(D3DDevice_GetPushBufferOffset, PATCH, 3911, 4627),//TODO 4831 (from 4627's comment) + REGISTER_OOVPAS(D3DDevice_GetRenderTarget, PATCH, 3911, 4039, 4134, 4361, 4432, 4627), // Called D3DDevice_GetRenderTarget2 (from 4627's comment) NOTE: Use D3DDevice_GetRenderTarget2 for 4627 and above REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, PATCH, 4627, 5028), REGISTER_OOVPAS(D3DDevice_GetScissors, PATCH, 3911, 5788), - REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3925, 4134, 4627, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3911, 4134, 4627, 5344, 5558, 5788), REGISTER_OOVPAS(D3DDevice_GetStreamSource2, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3925, 4134, 4627, 5028, 5344, 5455), - REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3925, 4039), - REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3925, 4039, 4134, 5028, 5788), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderConstant, PATCH, 3925, 4039, 5028), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3925, 4134, 4627, 5455), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3925, 4134), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderInput, PATCH, 3925, 4134, 4627), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderSize, PATCH, 3925), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderType, PATCH, 3925), - REGISTER_OOVPAS(D3DDevice_GetViewport, PATCH, 3925, 4034, 4134, 4627, 5344, 5455/*, 5788*/), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3911, 4134, 4627, 5028, 5344, 5455), + REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3911, 4039), + REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3911, 4039, 4134, 5028, 5788), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderConstant, PATCH, 3911, 4039, 5028), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3911, 4134, 4627, 5455), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3911, 4134), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderInput, PATCH, 3911, 4134, 4627), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderSize, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderType, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_GetViewport, PATCH, 3911, 4034, 4134, 4627, 5344, 5455/*, 5788*/), // Was 4627 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale, PATCH, 4432/*, 5558*/), - REGISTER_OOVPAS(D3DDevice_GetVisibilityTestResult, PATCH, 3925, 5233), - REGISTER_OOVPAS(D3DDevice_InsertCallback, PATCH, 3925, 4134, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_InsertFence, PATCH, 3925), - REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3925, 4034, 5028, 5344), - REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3925, 4039, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3925, 4039, 4134, 4531, 5028, 5455, 5788), + REGISTER_OOVPAS(D3DDevice_GetVisibilityTestResult, PATCH, 3911, 5233), + REGISTER_OOVPAS(D3DDevice_InsertCallback, PATCH, 3911, 4134, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_InsertFence, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3911, 4034, 5028, 5344), + REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3911, 4039, 5028, 5558), + REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3911, 4039, 4134, 4531, 5028, 5455, 5788), REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_LazySetStateVB, XREF, 5028), REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911, 5028, 5344), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_LoadVertexShader, PATCH, 3925, 4034, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, PATCH, 3925, 4134, 4627, 5558), + REGISTER_OOVPAS(D3DDevice_LoadVertexShader, PATCH, 3911, 4034, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, PATCH, 3911, 4134, 4627, 5558), REGISTER_OOVPAS(D3DDevice_MakeSpace, UNPATCHED, 5558), - REGISTER_OOVPAS(D3DDevice_PersistDisplay, PATCH, 3925, 4039, 4627, 4831, 5455, 5558), - REGISTER_OOVPAS(D3DDevice_Present, PATCH, 3925), - REGISTER_OOVPAS(D3DDevice_PrimeVertexCache, PATCH, 3925, 4134, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_PersistDisplay, PATCH, 3911, 4039, 4627, 4831, 5455, 5558), + REGISTER_OOVPAS(D3DDevice_Present, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_PrimeVertexCache, PATCH, 3911, 4134, 4361, 4627), REGISTER_OOVPAS(D3DDevice_Release, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3925, 4039), + REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3911, 4039), REGISTER_OOVPAS(D3DDevice_RunPushBuffer, PATCH, 3911, 4039, 4627, 5120, 5558), // for 5455 (from 5558's comment) - REGISTER_OOVPAS(D3DDevice_RunVertexStateShader, PATCH, 3925, 4134), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3925, 4039, 4627, 5344, 5455), + REGISTER_OOVPAS(D3DDevice_RunVertexStateShader, PATCH, 3911, 4134), + REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3911, 4039, 4627, 5344, 5455), REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, PATCH, 4361), REGISTER_OOVPAS(D3DDevice_SetBackBufferScale, PATCH, 4134), - REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3925, 4134, 4627, 5344, 5455, 5558, 5659, 5788), + REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3911, 4134, 4627, 5344, 5455, 5558, 5659, 5788), REGISTER_OOVPAS(D3DDevice_SetDepthClipPlanes, PATCH, 4627, 5788, 5849), - REGISTER_OOVPAS(D3DDevice_SetFlickerFilter, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetGammaRamp, PATCH, 3925, 4627), - REGISTER_OOVPAS(D3DDevice_SetIndices, UNPATCHED, 3925, 4034, 4134, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_SetLight, PATCH, 3925, 4034, 4134, 5028, 5344, 5558), - REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3925, 4034, 4134, 4627, 5344, 5455, 5558, 5659, 5788), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetModelView, PATCH, 3925, 4134, 4627), - REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3925, 4034, 4134, 4432, 4627, 5233, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3925, 4039, 4134, 4432, 4627), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3925, 4039, 4831/*, 5233, 5558*/), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3925, 4361, 4627, 5558), - REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3925, 4034, 4134, 4531, 5788), + REGISTER_OOVPAS(D3DDevice_SetFlickerFilter, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetGammaRamp, PATCH, 3911, 4627), + REGISTER_OOVPAS(D3DDevice_SetIndices, UNPATCHED, 3911, 4034, 4134, 5028, 5558), + REGISTER_OOVPAS(D3DDevice_SetLight, PATCH, 3911, 4034, 4134, 5028, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3911, 4034, 4134, 4627, 5344, 5455, 5558, 5659, 5788), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetModelView, PATCH, 3911, 4134, 4627), + REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3911, 4034, 4134, 4432, 4627, 5233, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3911, 4039, 4134, 4432, 4627), + REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3911, 4039, 4831/*, 5233, 5558*/), + REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3911, 4361, 4627, 5558), + REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3911, 4034, 4134, 4531, 5788), REGISTER_OOVPAS(D3DDevice_SetRenderState_CullMode, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Deferred, UNPATCHED, 3925), - REGISTER_OOVPAS(D3DDevice_SetRenderState_DoNotCullUncompressed, PATCH, 3925), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Dxt1NoiseEnable, PATCH, 3925, 4034, 4134, 4627, 5028, 5344, 5558), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_EdgeAntiAlias, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FillMode, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FogColor, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FrontFace, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_LineWidth, PATCH, 3925, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_LogicOp, PATCH, 3925, 4034, 4134, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleAntiAlias, PATCH, 3925, 4034, 4134, 4432, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMask, PATCH, 3925, 4034, 4134, 4627), + REGISTER_OOVPAS(D3DDevice_SetRenderState_Deferred, UNPATCHED, 3911), + REGISTER_OOVPAS(D3DDevice_SetRenderState_DoNotCullUncompressed, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_SetRenderState_Dxt1NoiseEnable, PATCH, 3911, 4034, 4134, 4627, 5028, 5344, 5558), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetRenderState_EdgeAntiAlias, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_FillMode, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_FogColor, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_FrontFace, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_LineWidth, PATCH, 3911, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_LogicOp, PATCH, 3911, 4034, 4134, 4627), + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleAntiAlias, PATCH, 3911, 4034, 4134, 4432, 4627), + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMask, PATCH, 3911, 4034, 4134, 4627), REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMode, PATCH, 3925, 4034, 4134, 4627, 5233, 5455, 5558, 5788), REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, PATCH, 4034, 4134, 4627, 5233, 5344, 5455, 5558, 5788), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_NormalizeNormals, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_OcclusionCullEnable, PATCH, 3925, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_PSTextureModes, PATCH, 3925, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZCmpAlwaysRead, PATCH, 3925), - REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZRead, PATCH, 3925), + REGISTER_OOVPAS(D3DDevice_SetRenderState_NormalizeNormals, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_OcclusionCullEnable, PATCH, 3911, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_PSTextureModes, PATCH, 3911, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZCmpAlwaysRead, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZRead, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_SetRenderState_SampleAlpha, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ShadowFunc, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Simple, PATCH, 3925, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilCullEnable, PATCH, 3925, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilEnable, PATCH, 3925, 4034, 4134, 5849), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilFail, PATCH, 3925, 4034, 4134, 5849), - REGISTER_OOVPAS(D3DDevice_SetRenderState_TextureFactor, PATCH, 3925, 4034, 4134, 5028, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetRenderState_TwoSidedLighting, PATCH, 3925, 4034, 4134, 5344, 5558), // Beware of the typo... (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_VertexBlend, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_YuvEnable, PATCH, 3925, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ZBias, PATCH, 3925), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, PATCH, 3925, 4034, 4134, 4432, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3925, 3948, 4039, 4134, 4627, 5344, 5455/*, 5558*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_ShadowFunc, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_Simple, PATCH, 3911, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilCullEnable, PATCH, 3911, 4034), + REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilEnable, PATCH, 3911, 4034, 4134, 5849), + REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilFail, PATCH, 3911, 4034, 4134, 5849), + REGISTER_OOVPAS(D3DDevice_SetRenderState_TextureFactor, PATCH, 3911, 4034, 4134, 5028, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetRenderState_TwoSidedLighting, PATCH, 3911, 4034, 4134, 5344, 5558), // Beware of the typo... (from 4627's comment) + REGISTER_OOVPAS(D3DDevice_SetRenderState_VertexBlend, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_YuvEnable, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_ZBias, PATCH, 3911), + REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, PATCH, 3911, 4034, 4134, 4432, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3911, 3948, 4039, 4134, 4627, 5344, 5455/*, 5558*/), REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 5233, 5344), - REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3925, 4039, 4361, 4627, 5233, 5344, 5558), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3911, 4039, 4361, 4627, 5233, 5344, 5558), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4039, 5233, 5344, 5455), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3925, 4039, 4134, 4361, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3911, 4039, 4134, 4361, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter, PATCH, 3911, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetStateUP, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3DDevice_SetStateVB, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3DDevice_SetStipple, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetStreamSource, PATCH, 3925, 4034), + REGISTER_OOVPAS(D3DDevice_SetStreamSource, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), - REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3925, 4034, 4627, 4831, 5344), // Was 4928 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3925, 4034, 4361), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3925, 4039), - REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3925, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3911, 4034, 4627, 4831, 5344), // Was 4928 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3911, 4034, 4361), + REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3911, 4039), + REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3911, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3911, 4034, 4242, 4627), - REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3925, 4039, 4134, 4627, 5028, 5455/*, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. - REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3925, 4034, 4134, 5344, 5558), // Was 4134 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3925, 4039), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3925, 4134, 4361), - REGISTER_OOVPAS(D3DDevice_SetVertexData4f, PATCH, 3925, 4039), - REGISTER_OOVPAS(D3DDevice_SetVertexData4s, PATCH, 3925, 4134, 4361), - REGISTER_OOVPAS(D3DDevice_SetVertexData4ub, PATCH, 3925, 4134), - REGISTER_OOVPAS(D3DDevice_SetVertexDataColor, PATCH, 3925, 4039, 4361), - REGISTER_OOVPAS(D3DDevice_SetVertexShader, PATCH, 3925, 4034, 4134, 5028, 5455), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant, PATCH, 3925, 4034, 4627), + REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3911, 4039, 4134, 4627, 5028, 5455/*, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. + REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3911, 4034, 4134, 5344, 5558), // Was 4134 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3911, 4039), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3911, 4134, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexData4f, PATCH, 3911, 4039), + REGISTER_OOVPAS(D3DDevice_SetVertexData4s, PATCH, 3911, 4134, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexData4ub, PATCH, 3911, 4134), + REGISTER_OOVPAS(D3DDevice_SetVertexDataColor, PATCH, 3911, 4039, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexShader, PATCH, 3911, 4034, 4134, 5028, 5455), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant, PATCH, 3911, 4034, 4627), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1, PATCH, 4627, 5558, 5788), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1Fast, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant4, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInline, PATCH, 4627, 5028, 5558), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInlineFast, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, PATCH, 3925, 4134, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, PATCH, 3911, 4134, 4361), REGISTER_OOVPAS(D3DDevice_SetVertexShaderInputDirect, PATCH, 4361), - REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3925, 4039, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3925, 4034, 4627, 5028, 5344, 5455), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3911, 4039, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3911, 4034, 4627, 5028, 5344, 5455), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 4034, 4531, 4627, 5028, 5233), - REGISTER_OOVPAS(D3DDevice_SwitchTexture, PATCH, 3925, 4361), + REGISTER_OOVPAS(D3DDevice_SwitchTexture, PATCH, 3911, 4361), REGISTER_OOVPAS(D3DDevice_UpdateOverlay, PATCH, 3911, 4531,/* 5028,*/ 5233/*, 5344, 5558*/), - REGISTER_OOVPAS(D3DPalette_Lock, PATCH, 3925, 4531, 4627, 5344), // Called D3DPalette_Lock2 (from 4627's comment) NOTE: Use D3DPalette_Lock2 for 4627 and above + REGISTER_OOVPAS(D3DPalette_Lock, PATCH, 3911, 4531, 4627, 5344), // Called D3DPalette_Lock2 (from 4627's comment) NOTE: Use D3DPalette_Lock2 for 4627 and above REGISTER_OOVPAS(D3DPalette_Lock2, PATCH, 4627), - REGISTER_OOVPAS(D3DResource_AddRef, PATCH, 3925), - REGISTER_OOVPAS(D3DResource_BlockUntilNotBusy, PATCH, 3925), - REGISTER_OOVPAS(D3DResource_GetType, UNPATCHED, 3925, 4034), // Probably not even necessary... (from 3925's comment) // I forget why I had this in here... (from 5028's comment) - REGISTER_OOVPAS(D3DResource_IsBusy, PATCH, 3925, 4039), - REGISTER_OOVPAS(D3DResource_Register, PATCH, 3925), - REGISTER_OOVPAS(D3DResource_Release, PATCH, 3925, 4361), - REGISTER_OOVPAS(D3DSurface_GetDesc, PATCH, 3925), - REGISTER_OOVPAS(D3DSurface_LockRect, PATCH, 3925), - REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel, PATCH, 3925, 4432, 4627), + REGISTER_OOVPAS(D3DResource_AddRef, PATCH, 3911), + REGISTER_OOVPAS(D3DResource_BlockUntilNotBusy, PATCH, 3911), + REGISTER_OOVPAS(D3DResource_GetType, UNPATCHED, 3911, 4034), // Probably not even necessary... (from 3925's comment) // I forget why I had this in here... (from 5028's comment) + REGISTER_OOVPAS(D3DResource_IsBusy, PATCH, 3911, 4039), + REGISTER_OOVPAS(D3DResource_Register, PATCH, 3911), + REGISTER_OOVPAS(D3DResource_Release, PATCH, 3911, 4361), + REGISTER_OOVPAS(D3DSurface_GetDesc, PATCH, 3911), + REGISTER_OOVPAS(D3DSurface_LockRect, PATCH, 3911), + REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel, PATCH, 3911, 4432, 4627), REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel2, PATCH, 4627), - REGISTER_OOVPAS(D3DTexture_LockRect, PATCH, 3925), - REGISTER_OOVPAS(D3DVertexBuffer_GetDesc, UNPATCHED, 3925), - REGISTER_OOVPAS(D3DVertexBuffer_Lock, PATCH, 3925, 4034, 4531, 4627, 5788), + REGISTER_OOVPAS(D3DTexture_LockRect, PATCH, 3911), + REGISTER_OOVPAS(D3DVertexBuffer_GetDesc, UNPATCHED, 3911), + REGISTER_OOVPAS(D3DVertexBuffer_Lock, PATCH, 3911, 4034, 4531, 4627, 5788), REGISTER_OOVPAS(D3DVertexBuffer_Lock2, PATCH, 4627, 5788), - REGISTER_OOVPAS(D3DVolumeTexture_LockBox, PATCH, 3925), // Just calls Lock3DSurface (from 4134, 4432's comment) - REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3925, 5788), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment) - REGISTER_OOVPAS(D3D_BlockOnResource, PATCH, 3925, 4034), - REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3925, 4039, 4361, 4627, 5028, 5558, 5849), + REGISTER_OOVPAS(D3DVolumeTexture_LockBox, PATCH, 3911), // Just calls Lock3DSurface (from 4134, 4432's comment) + REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3911, 5788), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment) + REGISTER_OOVPAS(D3D_BlockOnResource, PATCH, 3911, 4034), + REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4039, 4361, 4627, 5028, 5558, 5849), REGISTER_OOVPAS(D3D_CMiniport_GetDisplayCapabilities, PATCH, 3911), REGISTER_OOVPAS(D3D_CheckDeviceFormat, UNPATCHED, 3911, 4134), REGISTER_OOVPAS(D3D_ClearStateBlockFlags, XREF, 3911, 5788), @@ -343,23 +343,23 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3D_CommonSetRenderTargetB, XREF, 4627), REGISTER_OOVPAS(D3D_CreateDeviceX, UNPATCHED, 4627), REGISTER_OOVPAS(D3D_CreateStandAloneSurface, XREF, 4134), - REGISTER_OOVPAS(D3D_GetAdapterIdentifier, UNPATCHED, 3925), - REGISTER_OOVPAS(D3D_GetDeviceCaps, UNPATCHED, 3925), - REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle, PATCH, 3925, 4034, 4627, 5028), + REGISTER_OOVPAS(D3D_GetAdapterIdentifier, UNPATCHED, 3911), + REGISTER_OOVPAS(D3D_GetDeviceCaps, UNPATCHED, 3911), + REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle, PATCH, 3911, 4034, 4627, 5028), REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle2, PATCH, 4627), REGISTER_OOVPAS(D3D_LazySetPointParams, PATCH, 3911, 4039), REGISTER_OOVPAS(D3D_RecordStateBlock, XREF, 3911, 5788), - REGISTER_OOVPAS(D3D_SetCommonDebugRegisters, PATCH, 3925), - REGISTER_OOVPAS(D3D_SetFence, XREF, 3925, 4039, 4134, 5028, 5558), + REGISTER_OOVPAS(D3D_SetCommonDebugRegisters, PATCH, 3911), + REGISTER_OOVPAS(D3D_SetFence, XREF, 3911, 4039, 4134, 5028, 5558), REGISTER_OOVPAS(D3D_SetPushBufferSize, UNPATCHED, 3911), REGISTER_OOVPAS(D3D_Unknown, XREF, 5788), REGISTER_OOVPAS(Direct3D_CheckDeviceMultiSampleType, UNPATCHED, 3911), REGISTER_OOVPAS(Direct3D_CreateDevice, PATCH, 3911, 5028), - REGISTER_OOVPAS(Get2DSurfaceDesc, PATCH, 3925, 4034, 4134, 4627, 5028, 5344, 5558, 5788, 5849), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(Lock2DSurface, PATCH, 3925), + REGISTER_OOVPAS(Get2DSurfaceDesc, PATCH, 3911, 4034, 4134, 4627, 5028, 5344, 5558, 5788, 5849), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(Lock2DSurface, PATCH, 3911), REGISTER_OOVPAS(Lock3DSurface, PATCH, 3911), REGISTER_OOVPAS(D3D_MakeRequestedSpace, PATCH, 4134, 5028, 5558, 5788), - REGISTER_OOVPAS(XMETAL_StartPush, UNPATCHED, 3925), + REGISTER_OOVPAS(XMETAL_StartPush, UNPATCHED, 3911), }; // ****************************************************************** From 1e6d43e38e8c4f7d8c4463a2eae8c3eef727aab2 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 16 Oct 2017 19:44:42 +0900 Subject: [PATCH 138/146] Reregisterd Obsolete OOVPA UNPATCHED --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl | 85 ++++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 7 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 5 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 25 +++++++ src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 3 + 5 files changed, 121 insertions(+), 4 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl index c7e6224b8..504ba5773 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl @@ -4386,3 +4386,88 @@ OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 3911, 7) { 0x82, 0x04 }, { 0x98, 0x89 }, OOVPA_END; + +// ****************************************************************** +// * D3D_GetAdapterDisplayMode +// ****************************************************************** +OOVPA_NO_XREF(D3D_GetAdapterDisplayMode, 3911, 21) + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x85 }, + { 0x05, 0xC0 }, + { 0x06, 0x74 }, + { 0x07, 0x08 }, + { 0x08, 0xB8 }, + { 0x09, 0x6C }, + { 0x0A, 0x08 }, + { 0x0B, 0x76 }, + { 0x0C, 0x88 }, + { 0x0D, 0xC2 }, + { 0x0E, 0x08 }, + { 0x0F, 0x00 }, + { 0x10, 0x8B }, + //{ 0x11, 0x0D }, // 0D vs 15 + + { 0x1E, 0x33 }, + { 0x1F, 0xC0 }, + + { 0x30, 0x00 }, + { 0x31, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * D3D_EnumAdapterModes +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(D3D_EnumAdapterModes, 3911, 14) + + { 0x00, 0x83 }, + { 0x01, 0xEC }, + + { 0x12, 0x57 }, + { 0x13, 0x89 }, + { 0x14, 0x44 }, + { 0x15, 0x24 }, + { 0x16, 0x14 }, + { 0x17, 0x89 }, + { 0x18, 0x4C }, + { 0x19, 0x24 }, + { 0x1A, 0x20 }, + { 0x1B, 0xE8 }, + + { 0x50, 0x6C }, + { 0x51, 0x24 }, +OOVPA_END; + +// ****************************************************************** +// * D3D_GetAdapterModeCount +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(D3D_GetAdapterModeCount, 3911, 20) + + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x08 }, + { 0x03, 0x53 }, + { 0x04, 0x55 }, + { 0x05, 0x56 }, + { 0x06, 0x57 }, + { 0x07, 0xC7 }, + { 0x08, 0x44 }, + { 0x09, 0x24 }, + { 0x0A, 0x10 }, + { 0x0B, 0x00 }, + { 0x0C, 0x00 }, + { 0x0D, 0x00 }, + { 0x0E, 0x00 }, + { 0x0F, 0xE8 }, + + { 0x1D, 0x8B }, + { 0x1E, 0xD1 }, + + { 0x40, 0x14 }, + { 0x41, 0xEB }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index 6c3519175..f8d862217 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -3774,7 +3774,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 3925, 8, { 0x0E, 0x00 }, OOVPA_END; #endif - +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_EnumAdapterModes // ****************************************************************** @@ -3789,7 +3789,8 @@ OOVPA_NO_XREF(D3D_EnumAdapterModes, 3925, 8) { 0xE2, 0x89 }, { 0xFE, 0x5D }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_GetAdapterModeCount // ****************************************************************** @@ -3804,7 +3805,7 @@ OOVPA_NO_XREF(D3D_GetAdapterModeCount, 3925, 8) { 0x8A, 0x3B }, { 0x9E, 0x00 }, OOVPA_END; - +#endif #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_Reset diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index cc1965e45..037e3d3b2 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -112,6 +112,7 @@ OOVPA_NO_XREF(D3D_CheckDeviceFormat, 4134, 8) { 0x62, 0x18 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_GetAdapterModeCount // ****************************************************************** @@ -137,7 +138,8 @@ OOVPA_NO_XREF(D3D_GetAdapterModeCount, 4134, 12) { 0x9A, 0xC4 }, { 0x9B, 0x08 }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_EnumAdapterModes // ****************************************************************** @@ -159,6 +161,7 @@ OOVPA_NO_XREF(D3D_EnumAdapterModes, 4134, 10) { 0xF7, 0x10 }, { 0xF8, 0x1E }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_FogColor diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index 75e6bf7ca..df17291e5 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -129,6 +129,30 @@ OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 4627, 12) { 0x15, 0x80 }, OOVPA_END; +// ****************************************************************** +// * D3D_GetAdapterDisplayMode +// ****************************************************************** +// Generic OOVPA as of 4627 and newer. +OOVPA_NO_XREF(D3D_GetAdapterDisplayMode, 4627, 13) + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + + { 0x0A, 0x08 }, + { 0x0B, 0x76 }, + { 0x0C, 0x88 }, + { 0x0D, 0xC2 }, + { 0x0E, 0x08 }, + { 0x0F, 0x00 }, + { 0x10, 0x56 }, + { 0x11, 0x8B }, + { 0x12, 0x35 }, + + { 0x30, 0xC2 }, + { 0x31, 0x08 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3D_GetAdapterDisplayMode // ****************************************************************** @@ -155,6 +179,7 @@ OOVPA_NO_XREF(D3D_GetAdapterDisplayMode, 4627, 13) { 0xB6, 0xC2 }, { 0xB7, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * D3D_KickOffAndWaitForIdle diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index bf6b2cd3f..61ce255e4 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -343,7 +343,10 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3D_CommonSetRenderTargetB, XREF, 4627), REGISTER_OOVPAS(D3D_CreateDeviceX, UNPATCHED, 4627), REGISTER_OOVPAS(D3D_CreateStandAloneSurface, XREF, 4134), + REGISTER_OOVPAS(D3D_EnumAdapterModes, UNPATCHED, 3911), + REGISTER_OOVPAS(D3D_GetAdapterDisplayMode, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3D_GetAdapterIdentifier, UNPATCHED, 3911), + REGISTER_OOVPAS(D3D_GetAdapterModeCount, UNPATCHED, 3911), REGISTER_OOVPAS(D3D_GetDeviceCaps, UNPATCHED, 3911), REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle, PATCH, 3911, 4034, 4627, 5028), REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle2, PATCH, 4627), From 4a480465c0d995f8843aa0b7bb62964d0e381c93 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 16 Oct 2017 20:28:22 +0900 Subject: [PATCH 139/146] Update D3D Database - D3D_Unknown 5788 is D3DDevice_MakeSpace, meaged to D3DDevice_MakeSpace 4134 version. - Improved signature D3DDevice_End D3DDevice_EndVisibilityTest D3DDevice_SetRenderState_MultiSampleRenderTargetMode D3DVertexBuffer_Lock D3DVertexBuffer_Lock2 D3DVertexBuffer_Lock --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl | 90 +++++++++++++++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 53 +++++++------ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 36 ++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 21 ++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 6 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 9 ++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 4 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 29 ++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl | 14 ++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 14 ++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 27 ++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 14 ++-- src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 18 ++--- 15 files changed, 266 insertions(+), 73 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl index 504ba5773..8604c65bf 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl @@ -1155,6 +1155,38 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 3911, 9) { 0x1A, 0xC2 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_EndVisibilityTest +// ****************************************************************** +//Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 3911, 21) + + { 0x00, 0x8B }, + { 0x06, 0xE8 }, + + { 0x0B, 0x8B }, + { 0x0C, 0xF0 }, + { 0x0D, 0x85 }, + { 0x0E, 0xF6 }, + { 0x0F, 0x75 }, + { 0x10, 0x09 }, + { 0x11, 0xB8 }, + { 0x12, 0x0E }, + { 0x13, 0x00 }, + { 0x14, 0x07 }, + { 0x15, 0x80 }, + { 0x16, 0x5E }, + { 0x17, 0xC2 }, + { 0x18, 0x04 }, + { 0x19, 0x00 }, + { 0x1A, 0x57 }, + { 0x1B, 0x8B }, + { 0x1C, 0x3D }, + + { 0x37, 0x00 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_EndVisibilityTest // ****************************************************************** @@ -1179,6 +1211,7 @@ OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 3911, 13) { 0x44, 0xC0 }, { 0x45, 0x0C }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetVisibilityTestResult @@ -1713,7 +1746,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_End // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_End, 3911, 12) +OOVPA_NO_XREF(D3DDevice_End, 3911, 13) + + // D3DDevice_End+0x00 : push esi + { 0x00, 0x56 }, // D3DDevice_End+0x17 : mov dword ptr [eax], 0x417FC { 0x17, 0xC7 }, @@ -3419,6 +3455,28 @@ OOVPA_NO_XREF(D3DResource_GetType, 3911, 7) { 0x91, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3D_AllocContiguousMemory +// ****************************************************************** +OOVPA_NO_XREF(D3D_AllocContiguousMemory, 3911, 14) + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x08 }, + { 0x04, 0x8B }, + { 0x05, 0x4C }, + { 0x06, 0x24 }, + { 0x07, 0x04 }, + { 0x08, 0x68 }, + { 0x09, 0x04 }, + { 0x0A, 0x04 }, + { 0x0B, 0x00 }, + { 0x0C, 0x00 }, + { 0x0D, 0x50 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_AllocContiguousMemory // ****************************************************************** @@ -3431,6 +3489,7 @@ OOVPA_NO_XREF(D3D_AllocContiguousMemory, 3911, 6) { 0x16, 0xC2 }, { 0x17, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_Deferred @@ -4471,3 +4530,32 @@ OOVPA_NO_XREF(D3D_GetAdapterModeCount, 3911, 20) { 0x40, 0x14 }, { 0x41, 0xEB }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_DeletePatch +// ****************************************************************** +// Generic OOVPA as of 3911 and newer. +OOVPA_NO_XREF(D3DDevice_DeletePatch, 3911, 19) + + { 0x00, 0x8B }, + { 0x05, 0x0D }, + { 0x0C, 0xA1 }, + + { 0x11, 0x56 }, + { 0x12, 0x8B }, + { 0x13, 0x34 }, + { 0x14, 0x88 }, + { 0x15, 0x85 }, + { 0x16, 0xF6 }, + { 0x17, 0x74 }, + { 0x18, 0x17 }, + { 0x19, 0x8B }, + { 0x1A, 0x4E }, + { 0x1B, 0x04 }, + { 0x1C, 0xC7 }, + { 0x1D, 0x04 }, + { 0x1E, 0x88 }, + { 0x1F, 0x00 }, + + { 0x25, 0xE8 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index f8d862217..bb43c103d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -32,6 +32,32 @@ // * // ****************************************************************** +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 3925, 12) + + // D3DDevice_SetRenderState_MultiSampleMode+0x05 : mov ecx, [esp+4] + { 0x05, 0x8B }, + { 0x06, 0x4C }, + { 0x07, 0x24 }, + { 0x08, 0x04 }, + + // D3DDevice_SetRenderState_MultiSampleMode+0x0F : mov edx, [eax+0x410] + { 0x0F, 0x8B }, + { 0x10, 0x90 }, + { 0x11, 0x10 }, + { 0x12, 0x04 }, + + // D3DDevice_SetRenderState_MultiSampleMode+0x15 : mov eax, [eax+0x40C] + { 0x15, 0x8B }, + { 0x16, 0x80 }, + + // D3DDevice_SetRenderState_MultiSampleMode+0x22 : retn 0x04 + { 0x22, 0xC2 }, + { 0x23, 0x04 }, +OOVPA_END; + #if 0 // Moved to 3911 // ****************************************************************** // * Direct3D_CreateDevice @@ -2715,33 +2741,6 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask, 3925, 13) { 0x4A, 0x04 }, OOVPA_END; #endif - -// ****************************************************************** -// * D3DDevice_SetRenderState_MultiSampleMode -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 3925, 12) - - // D3DDevice_SetRenderState_MultiSampleMode+0x05 : mov ecx, [esp+4] - { 0x05, 0x8B }, - { 0x06, 0x4C }, - { 0x07, 0x24 }, - { 0x08, 0x04 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x0F : mov edx, [eax+0x410] - { 0x0F, 0x8B }, - { 0x10, 0x90 }, - { 0x11, 0x10 }, - { 0x12, 0x04 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x15 : mov eax, [eax+0x40C] - { 0x15, 0x8B }, - { 0x16, 0x80 }, - - // D3DDevice_SetRenderState_MultiSampleMode+0x22 : retn 0x04 - { 0x22, 0xC2 }, - { 0x23, 0x04 }, -OOVPA_END; - #if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_PersistDisplay diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index fd185872a..693bf4b6a 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -258,6 +258,7 @@ OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 4034, 7) { 0x28, 0x06 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_EndVisibilityTest // ****************************************************************** @@ -271,6 +272,7 @@ OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 4034, 7) { 0x46, 0x89 }, { 0x55, 0x5F }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CopyRects @@ -287,6 +289,7 @@ OOVPA_NO_XREF(D3DDevice_CopyRects, 4034, 8) { 0xFE, 0x14 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_DeletePatch // ****************************************************************** @@ -300,6 +303,7 @@ OOVPA_NO_XREF(D3DDevice_DeletePatch, 4034, 7) { 0x2A, 0x56 }, { 0x30, 0x5E }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_DrawIndexedVertices @@ -1474,6 +1478,32 @@ OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 4039, 13) { 0x25, 0x0F }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_End +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_End, 4039, 16) // Up to 5233 + + { 0x01, 0x8B }, + { 0x07, 0x8B }, + { 0x0E, 0xE8 }, + { 0x16, 0x17 }, + { 0x1E, 0x00 }, + + { 0x22, 0x08 }, + { 0x23, 0x89 }, + { 0x24, 0x06 }, + { 0x25, 0x8B }, + { 0x26, 0x46 }, + { 0x27, 0x08 }, + { 0x28, 0xF6 }, + { 0x29, 0xC4 }, + + { 0x2E, 0x01 }, + { 0x36, 0x08 }, + { 0x3C, 0xC3 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_End // ****************************************************************** @@ -1486,7 +1516,7 @@ OOVPA_NO_XREF(D3DDevice_End, 4039, 7) { 0x2E, 0x01 }, { 0x36, 0x08 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetFlickerFilter @@ -2398,9 +2428,9 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_DeletePatch, 4034, DISABLED), // (TODO) + REGISTER_OOVPA(D3DDevice_DeletePatch, 3911, DISABLED), // (TODO) REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 037e3d3b2..4ec9931ca 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -2698,6 +2698,25 @@ OOVPA_NO_XREF(D3DDevice_SetBackBufferScale, 4134, 16) { 0x2E, 0x0F }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_MakeSpace +// ****************************************************************** +OOVPA_XREF(D3DDevice_MakeSpace, 4134, 8, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x0A, XREF_D3D_MakeRequestedSpace ), + + { 0x00, 0xA1 }, + { 0x05, 0x50 }, + { 0x06, 0xD1 }, + { 0x07, 0xE8 }, + { 0x08, 0x50 }, + { 0x09, 0xE8 }, + { 0x0E, 0xC3 }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -2723,7 +2742,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index 2a1d0a706..e6e693bdd 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -1334,7 +1334,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index 59c6fe57c..c8f53eacf 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -682,7 +682,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index df17291e5..a79c316f5 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -101,6 +101,7 @@ OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 4627, 11) { 0x26, 0x0C }, OOVPA_END; +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_EndVisibilityTest // ****************************************************************** @@ -128,6 +129,7 @@ OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 4627, 12) { 0x14, 0x07 }, { 0x15, 0x80 }, OOVPA_END; +#endif // ****************************************************************** // * D3D_GetAdapterDisplayMode @@ -3436,7 +3438,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4627, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle2, 4627, PATCH), @@ -3482,7 +3484,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_End, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4627, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index f9ee986a8..11875f75f 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -794,7 +794,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_End // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_End, 5028, 12) +OOVPA_NO_XREF(D3DDevice_End, 5028, 13) + + // D3DDevice_End+0x00 : push esi + { 0x00, 0x56 }, // D3DDevice_End+0x13 : mov dword ptr [eax], 0x417FC { 0x13, 0xC7 }, @@ -1143,7 +1146,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), @@ -1181,7 +1184,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_End, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 5028, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index bc598c7eb..3f61a31ef 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -695,7 +695,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), - REGISTER_OOVPA(D3DDevice_End, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), @@ -793,7 +793,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index f9c8cb7e7..06559f61f 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -672,6 +672,32 @@ OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 5344, 8) { 0x1C, 0x19 }, OOVPA_END; #endif + +// ****************************************************************** +// * D3DDevice_End +// ****************************************************************** +//Generic OOVPA as of 5344 and newer. +OOVPA_NO_XREF(D3DDevice_End, 5344, 14) + + { 0x08, 0x06 }, + { 0x0A, 0x46 }, + { 0x0E, 0xE8 }, + { 0x15, 0xFC }, + { 0x17, 0x04 }, + + { 0x34, 0x4E }, + { 0x35, 0x08 }, + { 0x36, 0x5E }, + { 0x37, 0x74 }, + { 0x38, 0x07 }, + { 0x39, 0x6A }, + { 0x3A, 0x01 }, + { 0x3B, 0xE8 }, + + { 0x40, 0xC3 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_End // ****************************************************************** @@ -687,6 +713,7 @@ OOVPA_NO_XREF(D3DDevice_End, 5344, 9) { 0x1B, 0x04 }, { 0x40, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CreatePixelShader @@ -1274,7 +1301,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5344, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl index 1d1372c05..54e93cc24 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl @@ -577,3 +577,17 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5455, 9) { 0xDE, 0x8B }, { 0xFE, 0x8B }, OOVPA_END; + +// ****************************************************************** +// * D3D_AllocContiguousMemory +// ****************************************************************** +OOVPA_NO_XREF(D3D_AllocContiguousMemory, 5455, 7) + + { 0x05, 0x10 }, + { 0x0C, 0x00 }, + { 0x13, 0x00 }, + { 0x1A, 0x08 }, + { 0x21, 0xBC }, + { 0x28, 0x0D }, + { 0x2F, 0x24 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index e1f1a512d..56fc9c25d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -1208,6 +1208,7 @@ OOVPA_XREF(D3D_MakeRequestedSpace, 5558, 26, // Also for 5659 { 0x1F, 0x00 }, OOVPA_END; +#if 0 // Moved to 4134 // ****************************************************************** // * D3DDevice_MakeSpace // ****************************************************************** @@ -1222,6 +1223,7 @@ OOVPA_NO_XREF(D3DDevice_MakeSpace, 5558, 7) { 0x09, 0xE8 }, { 0x0E, 0xC3 }, OOVPA_END; +#endif #if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetRenderTarget@8 @@ -1635,6 +1637,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5455, 9) { 0x26, 0x00 }, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** @@ -1650,6 +1653,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5558, 9) { 0x24, 0xC2 }, { 0x26, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable @@ -2093,7 +2097,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_End, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), @@ -2198,7 +2202,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 5558, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_MakeSpace, 5558, DISABLED), + REGISTER_OOVPA(D3DDevice_MakeSpace, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), @@ -2232,8 +2236,8 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), @@ -2254,7 +2258,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index fc35381b4..b198aab4e 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -230,6 +230,7 @@ OOVPA_NO_XREF(D3DDevice_BeginStateBig, 5788, 15) { 0x40, 0x5E }, OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DVertexBuffer8_Lock // ****************************************************************** @@ -244,7 +245,8 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock, 5788, 8) { 0x13, 0x33 }, { 0x16, 0x08 }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DVertexBuffer_Lock2 // ****************************************************************** @@ -258,7 +260,9 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock2, 5788, 7) { 0x3E, 0x8B }, { 0x44, 0x00 }, OOVPA_END; +#endif +#if 0 // Moved to 5455 // ****************************************************************** // * D3D_AllocContiguousMemory // ****************************************************************** @@ -272,6 +276,7 @@ OOVPA_NO_XREF(D3D_AllocContiguousMemory, 5788, 7) { 0x28, 0x0D }, { 0x2F, 0x24 }, OOVPA_END; +#endif // ****************************************************************** // * D3DTexture8_GetLevelDesc @@ -707,6 +712,7 @@ OOVPA_XREF(D3D_MakeRequestedSpace, 5788, 28, // Also for 5849, 5933 { 0x1F, 0x00 }, OOVPA_END; +#if 0 // No longer used, replaced by generic D3DDevice_MakeSpace 4134 version // ****************************************************************** // * D3D::Unknown (D3D::MakeSpace?) // ****************************************************************** @@ -725,7 +731,7 @@ OOVPA_XREF(D3D_Unknown, 5788, 6, { 0x08, 0x50 }, { 0x0E, 0xC3 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_AddRef @@ -863,6 +869,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5788, 9) { 0x26, 0x00 }, OOVPA_END; +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** @@ -878,7 +885,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5788, 9) { 0x24, 0xC2 }, { 0x26, 0x00 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias @@ -1061,7 +1068,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), @@ -1077,7 +1084,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_End, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), @@ -1132,8 +1139,8 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED), - REGISTER_OOVPA(D3DVertexBuffer_Lock, 5788, PATCH), - REGISTER_OOVPA(D3DVertexBuffer_Lock2, 5788, PATCH), + REGISTER_OOVPA(D3DVertexBuffer_Lock, 4627, PATCH), + REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), @@ -1141,7 +1148,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(Direct3D_CheckDeviceMultiSampleType, 3911, DISABLED), REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), - REGISTER_OOVPA(D3D_AllocContiguousMemory, 5788, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH + REGISTER_OOVPA(D3D_AllocContiguousMemory, 5455, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH REGISTER_OOVPA(Get2DSurfaceDesc, 5788, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), @@ -1184,7 +1191,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5788, XREF), - REGISTER_OOVPA(D3D_Unknown, 5788, XREF), + REGISTER_OOVPA(D3DDevice_MakeSpace, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), @@ -1205,7 +1212,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index ab435d292..a31acf91f 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -178,7 +178,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), @@ -195,7 +195,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_End, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), @@ -245,8 +245,8 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED), - REGISTER_OOVPA(D3DVertexBuffer_Lock, 5788, PATCH), - REGISTER_OOVPA(D3DVertexBuffer_Lock2, 5788, PATCH), + REGISTER_OOVPA(D3DVertexBuffer_Lock, 4627, PATCH), + REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), REGISTER_OOVPA(D3D_SetFence, 5558, XREF), @@ -254,7 +254,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_IsFencePending, 5558, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5849, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), - REGISTER_OOVPA(D3D_AllocContiguousMemory, 5788, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH + REGISTER_OOVPA(D3D_AllocContiguousMemory, 5455, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH REGISTER_OOVPA(Get2DSurfaceDesc, 5849, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), @@ -295,7 +295,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5788, XREF), - REGISTER_OOVPA(D3D_Unknown, 5788, XREF), + REGISTER_OOVPA(D3DDevice_MakeSpace, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), @@ -316,7 +316,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5788, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index 61ce255e4..e26122daa 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -159,7 +159,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer2, UNPATCHED, 4627, 5344, 5455), REGISTER_OOVPAS(D3DDevice_CreateVertexShader, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_CreateVolumeTexture, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_DeletePatch, UNPATCHED, 4034), // (TODO) (from 4034's comment) + REGISTER_OOVPAS(D3DDevice_DeletePatch, UNPATCHED, 3911/*, 4039*/), // (TODO) (from 4034's comment) REGISTER_OOVPAS(D3DDevice_DeletePixelShader, PATCH, 3911, 5344), REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 3911/*, 4361, 5788*/), REGISTER_OOVPAS(D3DDevice_DeleteVertexShader, PATCH, 3911, 5344), @@ -170,11 +170,11 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 3911, 4034, 5028), REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 3911, 4039, 4134, 4627, 5344, 5558, 5788), REGISTER_OOVPAS(D3DDevice_EnableOverlay, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_End, PATCH, 3911, 4039, 4627, 5028, 5344, 5558), + REGISTER_OOVPAS(D3DDevice_End, PATCH, 3911, 4039/*, 4627, 5028/*, 5344/*, 5558*/), REGISTER_OOVPAS(D3DDevice_EndPush, PATCH, 4134/*, 4627*/), // Was 4627 (from 5233's comment) REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3911, 4134), // Not implemented yet. (from 5788's comment) REGISTER_OOVPAS(D3DDevice_EndStateBlock, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 3911, 4034, 4361, 4627, 5788), + REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 3911/*, 4034, 4361, 4627, 5788*/), REGISTER_OOVPAS(D3DDevice_FlushVertexCache, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_GetBackBuffer, PATCH, 3911, 4034, 4134, 4627, 5558), // Called D3DDevice_GetBackBuffer2 (from 4627's comment) NOTE: Use D3DDevice_GetBackBuffer2 for 4627 and above REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, PATCH, 4627, 5028, 5344, 5455, 5558, 5788), // 5233 (from 5344's comment) @@ -223,7 +223,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911, 5028, 5344), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_LoadVertexShader, PATCH, 3911, 4034, 4627, 5028), REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, PATCH, 3911, 4134, 4627, 5558), - REGISTER_OOVPAS(D3DDevice_MakeSpace, UNPATCHED, 5558), + REGISTER_OOVPAS(D3DDevice_MakeSpace, UNPATCHED, 4134), REGISTER_OOVPAS(D3DDevice_PersistDisplay, PATCH, 3911, 4039, 4627, 4831, 5455, 5558), REGISTER_OOVPAS(D3DDevice_Present, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_PrimeVertexCache, PATCH, 3911, 4134, 4361, 4627), @@ -260,7 +260,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleAntiAlias, PATCH, 3911, 4034, 4134, 4432, 4627), REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMask, PATCH, 3911, 4034, 4134, 4627), REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMode, PATCH, 3925, 4034, 4134, 4627, 5233, 5455, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, PATCH, 4034, 4134, 4627, 5233, 5344, 5455, 5558, 5788), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, PATCH, 4034, 4134, 4627, 5233, 5344/*, 5455, 5558, 5788*/), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetRenderState_NormalizeNormals, PATCH, 3911, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetRenderState_OcclusionCullEnable, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetRenderState_PSTextureModes, PATCH, 3911, 4034), @@ -330,10 +330,10 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel2, PATCH, 4627), REGISTER_OOVPAS(D3DTexture_LockRect, PATCH, 3911), REGISTER_OOVPAS(D3DVertexBuffer_GetDesc, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DVertexBuffer_Lock, PATCH, 3911, 4034, 4531, 4627, 5788), - REGISTER_OOVPAS(D3DVertexBuffer_Lock2, PATCH, 4627, 5788), + REGISTER_OOVPAS(D3DVertexBuffer_Lock, PATCH, 3911, 4034, 4531, 4627/*, 5788*/), + REGISTER_OOVPAS(D3DVertexBuffer_Lock2, PATCH, 4627/*, 5788*/), REGISTER_OOVPAS(D3DVolumeTexture_LockBox, PATCH, 3911), // Just calls Lock3DSurface (from 4134, 4432's comment) - REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3911, 5788), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment) + REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3911, 5455/*, 5788*/), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment) REGISTER_OOVPAS(D3D_BlockOnResource, PATCH, 3911, 4034), REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4039, 4361, 4627, 5028, 5558, 5849), REGISTER_OOVPAS(D3D_CMiniport_GetDisplayCapabilities, PATCH, 3911), @@ -355,7 +355,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3D_SetCommonDebugRegisters, PATCH, 3911), REGISTER_OOVPAS(D3D_SetFence, XREF, 3911, 4039, 4134, 5028, 5558), REGISTER_OOVPAS(D3D_SetPushBufferSize, UNPATCHED, 3911), - REGISTER_OOVPAS(D3D_Unknown, XREF, 5788), + // REGISTER_OOVPAS(D3D_Unknown, XREF, 5788), // This one D3DDevice_MakeSpace REGISTER_OOVPAS(Direct3D_CheckDeviceMultiSampleType, UNPATCHED, 3911), REGISTER_OOVPAS(Direct3D_CreateDevice, PATCH, 3911, 5028), REGISTER_OOVPAS(Get2DSurfaceDesc, PATCH, 3911, 4034, 4134, 4627, 5028, 5344, 5558, 5788, 5849), // Was 5233 (from 5344's comment) From 8dcafeb9ff06b0c3a7ce4d9233bfcd9d5dd2912f Mon Sep 17 00:00:00 2001 From: jarupxx Date: Thu, 19 Oct 2017 06:36:02 +0900 Subject: [PATCH 140/146] Improved D3D OOVPA signature --- src/CxbxKrnl/HLEDataBase.h | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl | 384 ++++++++++++++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 204 ++++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 57 ++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 47 +++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 197 ++++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl | 23 ++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 89 ++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 172 ++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 121 ++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 59 +++- 11 files changed, 1294 insertions(+), 60 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index a355f52db..7490c7790 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -179,6 +179,7 @@ enum XRefDataBaseOffset XREF_D3DTexture_GetSurfaceLevel2, XREF_D3DDevice_CreatePalette2, XREF_D3DDevice_CreateIndexBuffer2, + XREF_D3DResource_AddRef, XREF_XnInit, XREF_XID_fCloseDevice, XREF_D3D_ClearStateBlockFlags, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl index 8604c65bf..5f36f2378 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl @@ -397,7 +397,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_LightEnable // ****************************************************************** -OOVPA_XREF(D3DDevice_LightEnable, 3911, 1 + 24,// valid upto at least 4627, next known difference is from 5028 onwards +OOVPA_XREF(D3DDevice_LightEnable, 3911, 1 + 24,// valid upto at least 4627, next known difference is from 5344 onwards XRefNoSaveIndex, XRefOne) @@ -1073,6 +1073,27 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 3911, 12) { 0x23, 0x8B }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_IsBusy +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_IsBusy, 3911, 11) + + { 0x00, 0xA1 }, + { 0x12, 0x49 }, + + { 0x20, 0xB8 }, + { 0x21, 0x01 }, + { 0x22, 0x00 }, + { 0x23, 0x00 }, + { 0x24, 0x00 }, + { 0x25, 0xC3 }, + { 0x26, 0x8B }, + { 0x27, 0x92 }, + + { 0x33, 0xC3 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_IsBusy // ****************************************************************** @@ -1090,6 +1111,7 @@ OOVPA_NO_XREF(D3DDevice_IsBusy, 3911, 8) { 0x33, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetDeviceCaps @@ -2410,9 +2432,6 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 3911, 9) { 0x1E, 0x04 }, OOVPA_END; - - - // ****************************************************************** // * D3DDevice_CreateVertexBuffer // ****************************************************************** @@ -2535,7 +2554,10 @@ OOVPA_END; // ****************************************************************** // * D3DResource_AddRef // ****************************************************************** -OOVPA_NO_XREF(D3DResource_AddRef, 3911, 10) +OOVPA_XREF(D3DResource_AddRef, 3911, 10, + + XREF_D3DResource_AddRef, + XRefZero) // D3DResource_AddRef+0x07 : test eax, 0xFFFF { 0x07, 0xA9 }, @@ -2904,6 +2926,31 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 3911, 10) { 0x0F, 0x04 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetViewport +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetViewport, 3911, 16) + + { 0x00, 0xA1 }, + { 0x0C, 0xB0 }, + + { 0x0F, 0x00 }, + { 0x10, 0x00 }, + { 0x11, 0xB9 }, + { 0x12, 0x06 }, + { 0x13, 0x00 }, + { 0x14, 0x00 }, + { 0x15, 0x00 }, + { 0x16, 0xF3 }, + { 0x17, 0xA5 }, + { 0x18, 0x5F }, + { 0x19, 0x5E }, + { 0x1A, 0xC2 }, + { 0x1B, 0x04 }, + { 0x1C, 0x00 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -2927,7 +2974,30 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 3911, 10) { 0x1A, 0xC2 }, { 0x1B, 0x04 }, OOVPA_END; +#endif +// ****************************************************************** +// * D3DDevice_GetDisplayFieldStatus +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 3911, 12) + + { 0x00, 0xA1 }, + + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x4C }, + { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, + { 0x10, 0x51 }, + { 0x11, 0x04 }, + { 0x12, 0xF7 }, + + { 0x1C, 0x74 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** @@ -2955,6 +3025,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 3911, 14) { 0x3C, 0xC2 }, { 0x3D, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias @@ -3369,6 +3440,32 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 3911, 8) { 0xFE, 0x75 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_DrawVertices +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DrawVertices, 3911, 17) + + { 0x00, 0x53 }, + { 0x01, 0x8B }, + + { 0x12, 0x8B }, + { 0x13, 0x7C }, + { 0x14, 0x24 }, + { 0x15, 0x18 }, + { 0x16, 0x8D }, + { 0x17, 0x77 }, + { 0x18, 0xFF }, + { 0x19, 0xC1 }, + { 0x1A, 0xEE }, + { 0x1B, 0x08 }, + { 0x1C, 0x46 }, + { 0x1D, 0x8D }, + { 0x1E, 0x46 }, + { 0x1F, 0x05 }, + { 0x20, 0x50 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_DrawVertices // ****************************************************************** @@ -3383,6 +3480,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVertices, 3911, 8) { 0x8A, 0x17 }, { 0x9E, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetDisplayMode @@ -3537,6 +3635,31 @@ OOVPA_NO_XREF(D3DDevice_GetLight, 3911, 10) { 0x1F, 0x1A }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetLight +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetLight, 3911, 15) + + { 0x15, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x3B }, + { 0x18, 0xDF }, + { 0x19, 0x89 }, + { 0x1A, 0x7C }, + { 0x1B, 0x24 }, + { 0x1C, 0x14 }, + { 0x1D, 0x0F }, + { 0x1E, 0x82 }, + { 0x1F, 0xBF }, + + { 0x3B, 0x8B }, + { 0x3C, 0xD8 }, + + { 0x62, 0x8B }, + { 0x63, 0xF3 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -3551,6 +3674,7 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 3911, 8) { 0xD7, 0x00 }, { 0xF6, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix @@ -3566,6 +3690,32 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 3911, 7) { 0x1A, 0x5E }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetTile +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTile, 3911, 16) + + { 0x00, 0x8B }, + + { 0x0A, 0x56 }, + { 0x0B, 0x57 }, + { 0x0C, 0x8B }, + { 0x0D, 0x7C }, + { 0x0E, 0x24 }, + { 0x0F, 0x10 }, + { 0x10, 0x8D }, + { 0x11, 0x04 }, + { 0x12, 0x40 }, + { 0x13, 0x8D }, + { 0x14, 0xB4 }, + { 0x15, 0xC1 }, + + { 0x1F, 0xF3 }, + { 0x23, 0xC2 }, + { 0x24, 0x08 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -3579,6 +3729,7 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 3911, 7) { 0x1C, 0x00 }, { 0x21, 0x5F }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_ApplyStateBlock @@ -3667,6 +3818,35 @@ OOVPA_NO_XREF(D3DDevice_DeletePixelShader, 3911, 7) { 0x1A, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetPixelShaderProgram +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 3911, 19) + + { 0x00, 0x8B }, + { 0x01, 0x54 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x85 }, + { 0x05, 0xD2 }, + { 0x06, 0xA1 }, + + { 0x11, 0x00 }, + { 0x12, 0x00 }, + { 0x13, 0xC7 }, + { 0x14, 0x01 }, + { 0x15, 0x01 }, + { 0x16, 0x00 }, + { 0x17, 0x00 }, + { 0x18, 0x00 }, + { 0x19, 0xC7 }, + { 0x1A, 0x80 }, + + { 0x29, 0x89 }, + { 0x3A, 0xE9 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetPixelShaderProgram // ****************************************************************** @@ -3680,6 +3860,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 3911, 7) { 0x32, 0xC7 }, { 0x36, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3D_KickOffAndWaitForIdle @@ -3727,6 +3908,32 @@ OOVPA_NO_XREF(D3DDevice_FlushVertexCache, 3911, 8) { 0x1C, 0x08 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetScissors +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetScissors, 3911, 17) // Up to 5233 + + { 0x00, 0x83 }, + { 0x01, 0xEC }, + { 0x02, 0x24 }, + { 0x03, 0x53 }, + { 0x04, 0x8B }, + { 0x05, 0x5C }, + { 0x06, 0x24 }, + { 0x07, 0x2C }, + { 0x08, 0x85 }, + { 0x09, 0xDB }, + { 0x0A, 0x55 }, + { 0x0B, 0x8B }, + { 0x0C, 0x2D }, + + { 0x3E, 0x44 }, + { 0x3F, 0x24 }, + { 0x52, 0x44 }, + { 0x53, 0x24 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** @@ -3741,6 +3948,7 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 3911, 8) { 0xD9, 0x8B }, { 0xF6, 0xDB }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetVertexShaderInput @@ -3828,6 +4036,29 @@ OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 3911, 7) { 0x59, 0x04 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_EndPushBuffer +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 3911, 13) // Up to 5849 + + { 0x01, 0x56 }, + { 0x11, 0x8D }, + + { 0x2E, 0x8D }, + { 0x2F, 0x4C }, + { 0x30, 0x11 }, + { 0x31, 0x04 }, + { 0x32, 0x89 }, + { 0x33, 0x48 }, + { 0x34, 0x0C }, + { 0x35, 0x8B }, + { 0x36, 0x86 }, + + { 0x6D, 0x8B }, + { 0x6E, 0x86 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_EndPushBuffer // ****************************************************************** @@ -3841,6 +4072,7 @@ OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 3911, 7) { 0x70, 0x03 }, { 0x83, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_RopZCmpAlwaysRead @@ -3989,6 +4221,31 @@ OOVPA_XREF(D3DDevice_InsertFence, 3911, 5, { 0x07, 0xC3 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_LoadVertexShaderProgram +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 3911, 16) + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x53 }, + { 0x05, 0x0F }, + { 0x06, 0xB7 }, + { 0x07, 0x58 }, + { 0x08, 0x02 }, + { 0x09, 0x55 }, + { 0x0A, 0x8B }, + { 0x0B, 0x2D }, + + { 0x14, 0xE3 }, + { 0x15, 0x02 }, + { 0x16, 0xF6 }, + { 0x17, 0xC1 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** @@ -4002,6 +4259,7 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 3911, 7) { 0x4C, 0x00 }, { 0x59, 0xE8 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_DeleteVertexShader @@ -4037,6 +4295,31 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 3911, 8, { 0x0E, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_Reset +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_Reset, 3911, 10) + + // D3DDevice_Reset+0x15 : mov ecx, ebp + { 0x15, 0x8B }, + { 0x16, 0xCD }, + + // D3DDevice_Reset+0x1E : jnz +0xF5 + { 0x1E, 0x75 }, + { 0x1F, 0xF5 }, + + // D3DDevice_Reset+0x27 : mov esi, [esp+0x14] + { 0x27, 0x8B }, + { 0x28, 0x74 }, + { 0x29, 0x24 }, + { 0x2A, 0x14 }, + + // D3DDevice_Reset+0x37 : jge +0x10 + { 0x37, 0x7D }, + { 0x38, 0x10 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_Reset // ****************************************************************** @@ -4050,6 +4333,7 @@ OOVPA_NO_XREF(D3DDevice_Reset, 3911, 7) { 0x88, 0x50 }, { 0x9F, 0x03 }, OOVPA_END; +#endif // ****************************************************************** // * D3D_GetAdapterIdentifier @@ -4283,29 +4567,48 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetShaderConstantMode // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 3911, 8) +OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 3911, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x40 }, { 0x08, 0x21 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 3911, 7) +OOVPA_NO_XREF(D3DDevice_GetVertexShader, 3911, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x74 }, + { 0x08, 0x04 }, + { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; @@ -4325,6 +4628,33 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderConstant, 3911, 9) { 0x1F, 0xF7 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetVertexShaderInput +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShaderInput, 3911, 17) + + { 0x05, 0xC9 }, + + { 0x0B, 0x74 }, + { 0x11, 0x00 }, + { 0x12, 0x00 }, + { 0x13, 0x89 }, + { 0x14, 0x11 }, + { 0x15, 0x8B }, + { 0x16, 0x4C }, + { 0x17, 0x24 }, + { 0x18, 0x04 }, + { 0x19, 0x85 }, + { 0x1A, 0xC9 }, + { 0x1B, 0x74 }, + { 0x1C, 0x08 }, + { 0x1D, 0x8B }, + + { 0x34, 0x8D }, + { 0x35, 0x0C }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderInput // ****************************************************************** @@ -4339,6 +4669,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderInput, 3911, 8) { 0x18, 0x04 }, { 0x1F, 0x20 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_RunVertexStateShader @@ -4370,6 +4701,32 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderType, 3911, 7) { 0x28, 0x08 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetVertexShaderDeclaration +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 3911, 15) + + { 0x00, 0x8B }, + { 0x04, 0x8A }, + + { 0x13, 0xC7 }, + { 0x14, 0x01 }, + { 0x15, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0x00 }, + { 0x18, 0x00 }, + { 0x19, 0x33 }, + { 0x1A, 0xC0 }, + { 0x1B, 0x83 }, + { 0x1C, 0xC4 }, + + { 0x1E, 0xC2 }, + { 0x1F, 0x0C }, + + { 0x40, 0x33 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** @@ -4385,6 +4742,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 3911, 9) { 0x11F, 0x83 }, { 0x129, 0x0F }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetVertexShaderFunction @@ -4403,14 +4761,24 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetPixelShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 3911, 7) +OOVPA_NO_XREF(D3DDevice_GetPixelShader, 3911, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x14 }, + { 0x08, 0x04 }, + { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 693bf4b6a..7998a78e9 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -455,6 +455,30 @@ OOVPA_NO_XREF(D3DDevice_DrawRectPatch, 4034, 8) OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_SetIndices +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetIndices, 4034, 14) + + { 0x00, 0x56 }, + { 0x02, 0x35 }, + + { 0x10, 0x81 }, + { 0x11, 0x07 }, + { 0x12, 0x00 }, + { 0x13, 0x00 }, + { 0x14, 0x08 }, + { 0x15, 0x00 }, + { 0x16, 0x8B }, + { 0x17, 0x47 }, + { 0x18, 0x04 }, + { 0x19, 0xA3 }, + + { 0x48, 0x50 }, + { 0x49, 0xE8 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** @@ -479,6 +503,7 @@ OOVPA_NO_XREF(D3DDevice_SetIndices, 4034, 11) { 0x78, 0x04 }, { 0x79, 0x05 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_EdgeAntiAlias @@ -735,10 +760,29 @@ OOVPA_NO_XREF(D3D_CheckDeviceFormat, 4034, 7) { 0x6E, 0x3C }, OOVPA_END; #endif + // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** -/*OOVPA_NO_XREF(Get2DSurfaceDesc, 4034, 10) +OOVPA_NO_XREF(Get2DSurfaceDesc, 4034, 10) + + { 0x10, 0x0D }, + { 0x48, 0x08 }, + { 0x49, 0x02 }, + { 0x4A, 0x00 }, + { 0x4B, 0x00 }, + { 0x4C, 0x00 }, + { 0x4D, 0xA1 }, + { 0x58, 0x53 }, + { 0x63, 0x80 }, + { 0xAE, 0xC2 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4034 version +// ****************************************************************** +// * Get2DSurfaceDesc +// ****************************************************************** +OOVPA_NO_XREF(Get2DSurfaceDesc, 4034, 10) // Get2DSurfaceDesc+0x2B : movzx edx, byte ptr [edi+0x0D] { 0x2B, 0x0F }, @@ -755,9 +799,8 @@ OOVPA_END; // Get2DSurfaceDesc+0xAE : retn 0x0C { 0xAE, 0xC2 }, { 0xAF, 0x0C }, - } OOVPA_END; -*/ +#endif // ****************************************************************** // * D3DDevice_SetRenderState_ZEnable @@ -817,6 +860,31 @@ OOVPA_NO_XREF(D3DDevice_LightEnable, 4034, 13) OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_SetRenderState_TextureFactor +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 4034, 15) + + { 0x00, 0x56 }, + { 0x07, 0x8B }, + { 0x08, 0x86 }, + { 0x2F, 0x90 }, + + { 0x40, 0x5E }, + { 0x41, 0xC2 }, + { 0x42, 0x04 }, + { 0x43, 0x00 }, + { 0x44, 0x8B }, + { 0x45, 0x44 }, + { 0x46, 0x24 }, + { 0x47, 0x08 }, + { 0x48, 0xA3 }, + + { 0x4E, 0xC2 }, + { 0x4F, 0x04 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** @@ -839,7 +907,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 4034, 9) { 0x4E, 0xC2 }, { 0x4F, 0x04 }, OOVPA_END; - +#endif +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -861,7 +930,34 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 4034, 10) { 0xAE, 0xC2 }, { 0xAF, 0x0C }, OOVPA_END; +#endif +// ****************************************************************** +// * D3DDevice_Clear +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_Clear, 4034, 16) + + { 0x00, 0x83 }, + { 0x01, 0xEC }, + + { 0x23, 0x33 }, + { 0x24, 0xF6 }, + { 0x25, 0xF6 }, + { 0x26, 0xC1 }, + { 0x27, 0x01 }, + { 0x28, 0x89 }, + { 0x29, 0x74 }, + { 0x2A, 0x24 }, + { 0x2B, 0x10 }, + { 0x2C, 0x89 }, + { 0x2D, 0x74 }, + { 0x2E, 0x24 }, + + { 0x54, 0x05 }, + { 0x81, 0xB6 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Clear // ****************************************************************** @@ -881,6 +977,7 @@ OOVPA_NO_XREF(D3DDevice_Clear, 4034, 9) { 0x0399, 0xC2 }, { 0x039A, 0x18 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetLight @@ -959,6 +1056,27 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4034, 10) // TODO : Alias 3911 instead ? { 0xCA, 0x4D }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetPalette +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetPalette, 4034, 12) + + { 0x00, 0x53 }, + { 0x08, 0x57 }, + { 0x1B, 0x89 }, + { 0x1C, 0x48 }, + + { 0x4D, 0x39 }, + { 0x4E, 0x55 }, + { 0x4F, 0x8B }, + { 0x50, 0x2B }, + { 0x51, 0x81 }, + { 0x52, 0xC5 }, + { 0x53, 0x00 }, + { 0x54, 0x00 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -982,6 +1100,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 4034, 12) { 0x8A, 0xC2 }, { 0x8B, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTextureState_TexCoordIndex @@ -1277,17 +1396,26 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4039, 9) +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4039, 11) + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 { 0x05, 0x6A }, { 0x06, 0x00 }, { 0x07, 0x6A }, { 0x08, 0x00 }, { 0x09, 0x6A }, { 0x0A, 0x01 }, - { 0x10, 0x00 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x25B0 { 0x17, 0x05 }, - { 0x1E, 0x15 }, + { 0x18, 0xB0 }, + { 0x19, 0x25 }, + + // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, + + // D3DDevice_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, OOVPA_END; // ****************************************************************** @@ -1933,6 +2061,40 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 4039, 15) { 0x5C, 0x8D }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetDisplayMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 4039, 24) + + { 0x00, 0x56 }, + + { 0x0B, 0x00 }, + { 0x0C, 0x00 }, + { 0x0D, 0x8B }, + { 0x0E, 0x41 }, + { 0x0F, 0x10 }, + { 0x10, 0x85 }, + { 0x11, 0xC0 }, + { 0x12, 0x57 }, + { 0x13, 0x75 }, + { 0x14, 0x12 }, + { 0x15, 0x8B }, + { 0x16, 0x49 }, + { 0x17, 0x0C }, + { 0x18, 0xC1 }, + { 0x19, 0xE9 }, + { 0x1A, 0x14 }, + { 0x1B, 0x83 }, + { 0x1C, 0xE1 }, + { 0x1D, 0x0F }, + { 0x1E, 0xB8 }, + { 0x1F, 0x01 }, + + { 0x4C, 0xD3 }, + { 0x4D, 0xE0 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_GetDisplayMode // ****************************************************************** @@ -1961,6 +2123,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 4039, 13) { 0x92, 0xC2 }, { 0x93, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTextureState_BumpEnv @@ -2194,7 +2357,9 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4039, 9) +OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4039, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, @@ -2202,15 +2367,23 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4039, 9) { 0x08, 0x04 }, { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; // ****************************************************************** // * D3DDevice_GetPixelShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 4039, 9) +OOVPA_NO_XREF(D3DDevice_GetPixelShader, 4039, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, @@ -2218,8 +2391,14 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 4039, 9) { 0x08, 0x04 }, { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; @@ -2280,15 +2459,20 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 4039, 7) +OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 4039, 11) // Up to 5344 { 0x06, 0x56 }, { 0x07, 0xD8 }, { 0x08, 0x44 }, { 0x09, 0x24 }, { 0x0A, 0x08 }, + { 0x0B, 0x8B }, + { 0x0C, 0x35 }, + { 0x2E, 0x8B }, { 0x2F, 0x06 }, + { 0x46, 0xC2 }, + { 0x47, 0x08 }, OOVPA_END; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 4ec9931ca..630787727 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -2050,6 +2050,25 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 4134, 8) OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_BeginPush +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BeginPush, 4134, 10) + + { 0x00, 0x56 }, + { 0x07, 0x6A }, + + { 0x10, 0x8B }, + { 0x11, 0x44 }, + { 0x12, 0x24 }, + { 0x13, 0x08 }, + { 0x14, 0x40 }, + { 0x15, 0x50 }, + { 0x16, 0x56 }, + { 0x17, 0xE8 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_BeginPush // ****************************************************************** @@ -2063,6 +2082,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPush, 4134, 7) { 0x1C, 0x8B }, { 0x21, 0x01 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_EndPush @@ -2290,17 +2310,24 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetShaderConstantMode // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 4134, 10) +OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 4134, 16) { 0x00, 0xA1 }, + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x18 }, { 0x08, 0x20 }, { 0x09, 0x00 }, { 0x0A, 0x00 }, { 0x0B, 0x8B }, { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; @@ -2384,12 +2411,14 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 4134, 14) +OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 4134, 16) // Up to 4531 { 0x02, 0x35 }, { 0x07, 0x57 }, + { 0x0E, 0x70 }, // 4361 0x7004 + { 0x0F, 0x04 }, { 0x10, 0x00 }, { 0x11, 0x00 }, { 0x12, 0xB9 }, @@ -2568,28 +2597,48 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4134, 7) +OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4134, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x84 }, + { 0x08, 0x03 }, + { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; // ****************************************************************** // * D3DDevice_GetPixelShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 4134, 7) +OOVPA_NO_XREF(D3DDevice_GetPixelShader, 4134, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x70 }, + { 0x08, 0x03 }, + { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index c8f53eacf..0df1f2c6b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -137,6 +137,28 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4432, 10) { 0xE4, 0xA5 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetRenderState_ZEnable +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4432, 12) + + { 0x08, 0x06 }, + { 0x0E, 0xE8 }, + + { 0x45, 0x48 }, + { 0x46, 0x0C }, + { 0x47, 0x83 }, + { 0x48, 0xC0 }, + { 0x49, 0x10 }, + { 0x4A, 0x89 }, + { 0x4B, 0x06 }, + { 0x4C, 0xA1 }, + + { 0x5A, 0x74 }, + { 0x60, 0x2A }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4432 version // ****************************************************************** // * D3DDevice_SetRenderState_ZEnable // ****************************************************************** @@ -163,6 +185,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4432, 13) { 0x8C, 0xC2 }, { 0x8D, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias @@ -642,6 +665,30 @@ OOVPA_NO_XREF(D3DDevice_GetViewportOffsetAndScale, 4432, 12) // Up to 5849 { 0x5C, 0x10 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetDepthClipPlanes +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 4432, 15) + + { 0x03, 0x0C }, + { 0x04, 0x48 }, + { 0x05, 0x83 }, + { 0x06, 0xF8 }, + { 0x07, 0x03 }, + { 0x08, 0x56 }, + { 0x09, 0x8B }, + { 0x0A, 0x35 }, + + { 0x0F, 0x77 }, + { 0x10, 0x5F }, + { 0x11, 0xFF }, + { 0x12, 0x24 }, + { 0x13, 0x85 }, + + { 0x18, 0x8B }, + { 0x1F, 0x0C }, +OOVPA_END; + // ****************************************************************** // * D3D8_4432 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index a79c316f5..3daf43012 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -524,7 +524,12 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetRenderTarget2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetRenderTarget2, 4627, 10) +OOVPA_XREF(D3DDevice_GetRenderTarget2, 4627, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x12, XREF_D3DResource_AddRef ), // D3DDevice_GetRenderTarget2+0x00 : mov eax, [addr] { 0x00, 0xA1 }, @@ -532,11 +537,11 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget2, 4627, 10) // D3DDevice_GetRenderTarget2+0x05 : push esi { 0x05, 0x56 }, - // D3DDevice_GetRenderTarget2+0x06 : mov esi, [eax + 0x21B4] + // D3DDevice_GetRenderTarget2+0x06 : mov esi, [eax + 0xXXXX] { 0x06, 0x8B }, { 0x07, 0xB0 }, - { 0x08, 0xB4 }, - { 0x09, 0x21 }, + //{ 0x08, 0xB4 }, + //{ 0x09, 0x21 }, // D3DDevice_GetRenderTarget2+0x0E : jz + 0x06 { 0x0E, 0x74 }, @@ -567,6 +572,38 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 4627, 10) { 0x1C, 0x04 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetDepthStencilSurface2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 20) + + { 0x00, 0xA1 }, + + { 0x05, 0x56 }, + { 0x06, 0x8B }, + { 0x07, 0xB0 }, + //{ 0x08, 0xB8 }, + //{ 0x09, 0x21 }, + { 0x0A, 0x00 }, + { 0x0B, 0x00 }, + { 0x0C, 0x85 }, + { 0x0D, 0xF6 }, + { 0x0E, 0x75 }, + { 0x0F, 0x04 }, + { 0x10, 0x33 }, + { 0x11, 0xC0 }, + { 0x12, 0x5E }, + { 0x13, 0xC3 }, + { 0x14, 0x56 }, + { 0x15, 0xE8 }, + + { 0x1A, 0x8B }, + { 0x1B, 0xC6 }, + { 0x1C, 0x5E }, + { 0x1D, 0xC3 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetDepthStencilSurface2 // ****************************************************************** @@ -594,6 +631,7 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 10) // D3DDevice_GetDepthStencilSurface2+0x1D : retn { 0x1D, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetTile @@ -636,12 +674,14 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 4627, 11) { 0x16, 0x46 }, { 0x17, 0x04 }, - // D3DDevice_SetTile+0x3D : lea edi, [edx+ecx*8+0x2260] + // D3DDevice_SetTile+0x3D : lea edi, [edx+ecx*8+0xXXXX] { 0x3D, 0x8D }, { 0x3E, 0xBC }, { 0x3F, 0xCA }, - { 0x40, 0x60 }, - { 0x41, 0x22 }, + //{ 0x40, 0x60 }, + //{ 0x41, 0x22 }, + { 0x42, 0x00 }, + { 0x43, 0x00 }, OOVPA_END; // ****************************************************************** @@ -1339,6 +1379,28 @@ OOVPA_NO_XREF(D3DDevice_Clear, 4627, 9) { 0xF8, 0x95 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_Swap +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_Swap, 4627, 13) + + { 0x2A, 0xBB }, + { 0x2B, 0x05 }, + { 0x37, 0xF6 }, + { 0x38, 0xC3 }, + { 0x39, 0x03 }, + + { 0x73, 0xEB }, + { 0x74, 0x36 }, + { 0x75, 0x8B }, + { 0x76, 0xFB }, + { 0x77, 0x83 }, + { 0x78, 0xE7 }, + { 0x79, 0x04 }, + { 0x7A, 0x74 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** @@ -1363,6 +1425,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4627, 11) { 0xD8, 0xC2 }, { 0xD9, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 @@ -1615,6 +1678,28 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias, 4627, 10) OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_SetRenderState_Dxt1NoiseEnable +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, 12) + + { 0x0D, 0x8B }, + { 0x0E, 0x87 }, + + { 0x50, 0x40 }, + { 0x51, 0x04 }, + { 0x52, 0x00 }, + { 0x53, 0x00 }, + { 0x54, 0x00 }, + { 0x55, 0x00 }, + { 0x56, 0xC1 }, + { 0x57, 0xE6 }, + + { 0x74, 0xC2 }, + { 0x75, 0x04 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** @@ -1635,7 +1720,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, 9) { 0x74, 0xC2 }, { 0x75, 0x04 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetRenderState_ZEnable // ****************************************************************** @@ -2091,16 +2176,27 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetShaderConstantMode // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 4627, 7) +OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 4627, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0xD8 }, + { 0x08, 0x20 }, + { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; + #if 0 // Moved to 4039 // ****************************************************************** // * D3DDevice_GetVertexShaderConstant @@ -2446,6 +2542,32 @@ OOVPA_NO_XREF(D3DDevice_DrawRectPatch, 4627, 8) OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_GetProjectionViewportMatrix +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 4627, 16) // Up to 5233 + + { 0x02, 0x35 }, + + { 0x07, 0x57 }, + + { 0x0E, 0x30 }, // 4361 0x7004 + { 0x0F, 0x05 }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0xB9 }, + { 0x13, 0x10 }, + { 0x14, 0x00 }, + { 0x15, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0xF3 }, + { 0x18, 0xA5 }, + { 0x19, 0x5F }, + { 0x1A, 0x5E }, + { 0x1B, 0xC2 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix // ****************************************************************** @@ -2459,7 +2581,7 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 4627, 7) { 0x16, 0x00 }, { 0x1A, 0x5E }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetScissors@12 // ****************************************************************** @@ -2684,6 +2806,29 @@ OOVPA_NO_XREF(D3DDevice_SetStipple, 4627, 7) { 0x44, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4627, 13) + + { 0x00, 0x51 }, + { 0x01, 0x53 }, + { 0x02, 0x8B }, + { 0x03, 0x1D }, + + { 0x0E, 0x85 }, + { 0x0F, 0xC0 }, + { 0x10, 0x74 }, + { 0x11, 0x0F }, + { 0x12, 0x50 }, + { 0x13, 0xFF }, + { 0x14, 0x15 }, + + { 0x21, 0x8B }, + { 0x42, 0xE8 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** @@ -2698,7 +2843,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 4627, 8) { 0xD7, 0x8B }, { 0xF6, 0xF9 }, OOVPA_END; - +#endif #if 0 // Moved to 4831 // ****************************************************************** // * D3DDevice_PersistDisplay @@ -2790,6 +2935,31 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 4627, 8) { 0x31, 0xC2 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetRenderState_MultiSampleRenderTargetMode +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4627, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x0B, XREF_D3DRS_MULTISAMPLERENDERTARGETMODE ), + + { 0x03, 0x04 }, + + { 0x19, 0x00 }, + { 0x1A, 0x00 }, + { 0x1B, 0x74 }, + { 0x1C, 0x14 }, + { 0x1D, 0x8D }, + { 0x1E, 0x90 }, + { 0x1F, 0x90 }, + { 0x20, 0x0A }, + + { 0x31, 0xC2 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** @@ -2804,6 +2974,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4627, 8) { 0x28, 0x00 }, { 0x31, 0xC2 }, OOVPA_END; +#endif #if 0 // High detection accuracy, use 4134. // ****************************************************************** // * D3DDevice_BeginStateBlock @@ -3083,9 +3254,9 @@ OOVPA_XREF(D3DPalette_Lock, 4627, 8, { 0x08, 0x50 }, { 0x0A, 0xE8 }, { 0x0F, 0x8B }, + { 0x10, 0x54 }, + { 0x13, 0x89 }, { 0x14, 0x02 }, - { 0x16, 0x0C }, - { 0x17, 0x00 }, OOVPA_END; #if 0 // No longer used, replaced by generic 3911 version diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl index 02746a941..411bede46 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl @@ -32,6 +32,28 @@ // * // ****************************************************************** +// ****************************************************************** +// * D3DDevice_CreateTexture2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_CreateTexture2, 4831, 12) + + { 0x00, 0x56 }, + { 0x01, 0x57 }, + + { 0x10, 0x0F }, + { 0x11, 0x94 }, + { 0x12, 0xC2 }, + { 0x13, 0x8D }, + { 0x14, 0x4C }, + { 0x15, 0x24 }, + { 0x16, 0x28 }, + { 0x17, 0x51 }, + + { 0x51, 0x24 }, + { 0x52, 0xF7 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_CreateTexture2 // ****************************************************************** @@ -61,6 +83,7 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 4831, 12) { 0x88, 0xC2 }, { 0x89, 0x1C }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTexture diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index 11875f75f..420364944 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -146,6 +146,32 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 5028, 11) // Also for 5233, 5344, 5558, { 0x52, 0xF7 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5028, 11) + + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, + { 0x06, 0x00 }, + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x01 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x1954 + { 0x17, 0x05 }, + { 0x18, 0x54 }, + { 0x19, 0x19 }, + + // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, + + // D3DDevice_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, +OOVPA_END; + +#if 0 // No longer used, replaced by another 5028 version // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** @@ -159,7 +185,7 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5028, 7) { 0x1C, 0x50 }, { 0x23, 0xC3 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -485,14 +511,24 @@ OOVPA_END; // ****************************************************************** // * D3D::SetFence // ****************************************************************** -OOVPA_XREF(D3D_SetFence, 5028, 7, +OOVPA_XREF(D3D_SetFence, 5028, 14, XREF_D3D_SetFence, XRefZero) { 0x0E, 0x05 }, { 0x18, 0xC9 }, + + { 0x28, 0xBA }, + { 0x29, 0x90 }, + { 0x2A, 0x1D }, + { 0x2B, 0x04 }, + { 0x2C, 0x00 }, + + { 0x3C, 0x83 }, + { 0x3D, 0xE1 }, { 0x3E, 0x3F }, + { 0x5E, 0x28 }, { 0x86, 0x5D }, { 0x98, 0xE8 }, @@ -624,14 +660,24 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5028, 7) +OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5028, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x80 }, + { 0x08, 0x03 }, + { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; @@ -653,14 +699,24 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetPixelShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5028, 7) +OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5028, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x6C }, + { 0x08, 0x03 }, + { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; @@ -1126,6 +1182,31 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 5120, 13) { 0x95, 0x8B }, OOVPA_END; #endif + +// ****************************************************************** +// * D3DDevice_GetShaderConstantMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5028, 16) + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0xD8 }, + { 0x08, 0x14 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, + { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, + { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, + { 0x13, 0x00 }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index 06559f61f..ef01643ef 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -126,6 +126,40 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5344, 10) { 0x24, 0x20 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetLight +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetLight, 5344, 15) + + // D3DDevice_SetLight+0x1f : add REG, 0x10 + { 0x1F, 0x83 }, + { 0x21, 0x10 }, + + // D3DDevice_SetLight+0x22 : and REG, 0xfffffff0 + { 0x22, 0x83 }, + { 0x24, 0xf0 }, + + // D3DDevice_SetLight+0x2c : push 0x24800000 + { 0x2C, 0x68 }, + { 0x2D, 0x00 }, + { 0x2E, 0x00 }, + { 0x2F, 0x80 }, + { 0x30, 0x24 }, + + // D3DDevice_SetLight+0x65 : jz +8 + { 0x65, 0x74 }, + { 0x66, 0x08 }, + + // D3DDevice_SetLight+0xe3 : jz +8 + { 0xE3, 0x74 }, + { 0xE4, 0x08 }, + + // D3DDevice_SetLight+0xfe : shr ???, 2 + { 0xFE, 0xC1 }, + { 0x100, 0x02 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -140,6 +174,7 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 5344, 8) { 0xDE, 0x03 }, { 0xFE, 0xC1 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode @@ -352,6 +387,28 @@ OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 5344, 12) { 0x4F, 0x04 }, OOVPA_END; #endif + +// ****************************************************************** +// * D3DDevice_SetMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetMaterial, 5344, 11) + + { 0x04, 0x08 }, + + { 0x0C, 0x81 }, + { 0x0D, 0xC7 }, + { 0x0E, 0xE0 }, + { 0x0F, 0x0A }, + { 0x10, 0x00 }, + + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic another 5344 version // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** @@ -367,7 +424,7 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5344, 9) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; - +#endif // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -635,6 +692,32 @@ OOVPA_NO_XREF(D3DDevice_CreatePalette2, 5344, 8) { 0x3C, 0x68 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_DrawVerticesUP +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 5344, 16) + + { 0x03, 0x83 }, + { 0x04, 0xEC }, + { 0x05, 0x14 }, + + { 0x25, 0x8B }, + { 0x26, 0x4D }, + { 0x27, 0x08 }, + { 0x28, 0x8B }, + { 0x29, 0x5D }, + { 0x2A, 0x10 }, + { 0x2B, 0x8B }, + { 0x2C, 0x75 }, + { 0x2D, 0x14 }, + { 0x2E, 0xC7 }, + { 0x2F, 0x00 }, + + { 0x50, 0xC3 }, + { 0x51, 0x8B }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -656,6 +739,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 5344, 10) { 0xC5, 0xFE }, { 0xC6, 0x80 }, OOVPA_END; +#endif #if 0 // Used 4361 // ****************************************************************** // * D3DDevice_SetVertexDataColor @@ -938,6 +1022,27 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5344, 8) { 0x1A, 0xC2 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetBackMaterial +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5344, 11) + + { 0x04, 0x08 }, + + { 0x0C, 0x81 }, + { 0x0D, 0xC7 }, + { 0x0E, 0x24 }, + { 0x0F, 0x0B }, + { 0x10, 0x00 }, + + { 0x16, 0x00 }, + { 0x1F, 0x81 }, + { 0x22, 0x90 }, + { 0x2C, 0x5E }, + { 0x2E, 0x04 }, +OOVPA_END; + +#if 0 // No longer used, replaced by another 5344 version // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** @@ -952,7 +1057,34 @@ OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5344, 8) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; +#endif +// ****************************************************************** +// * D3DDevice_GetProjectionViewportMatrix +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 5344, 16) // Up to 5455 + + { 0x02, 0x35 }, + + { 0x07, 0x57 }, + + { 0x0E, 0x60 }, // 4361 0x7004 + { 0x0F, 0x05 }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0xB9 }, + { 0x13, 0x10 }, + { 0x14, 0x00 }, + { 0x15, 0x00 }, + { 0x16, 0x00 }, + { 0x17, 0xF3 }, + { 0x18, 0xA5 }, + { 0x19, 0x5F }, + { 0x1A, 0x5E }, + { 0x1B, 0xC2 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix // ****************************************************************** @@ -966,7 +1098,7 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 5344, 7) { 0x16, 0x00 }, { 0x1A, 0x5E }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -1044,6 +1176,32 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 5344, 26) { 0x1F, 0x24 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5344, 11) + + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, + { 0x06, 0x00 }, + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x01 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x198C + { 0x17, 0x05 }, + { 0x18, 0x8C }, + { 0x19, 0x19 }, + + // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, + + // D3DDevice_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, +OOVPA_END; + +#if 0 // No longer used, replaced by another 5344 version // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** @@ -1063,6 +1221,7 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5344, 13) { 0x1E, 0x15 }, { 0x23, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BeginPush @@ -1136,17 +1295,24 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetShaderConstantMode // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5344, 10) +OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5344, 16) { 0x00, 0xA1 }, + { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x08 }, { 0x08, 0x15 }, { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 56fc9c25d..1cb09e225 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -348,7 +348,7 @@ OOVPA_END; OOVPA_NO_XREF(D3DDevice_SetLight, 5558, 15) // D3DDevice_SetLight+0x1f : add REG, 0x10 - { 0x1f, 0x83 }, + { 0x1F, 0x83 }, { 0x21, 0x10 }, // D3DDevice_SetLight+0x22 : and REG, 0xfffffff0 @@ -356,10 +356,10 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 5558, 15) { 0x24, 0xf0 }, // D3DDevice_SetLight+0x2c : push 0x24800000 - { 0x2c, 0x68 }, - { 0x2d, 0x00 }, - { 0x2e, 0x00 }, - { 0x2f, 0x80 }, + { 0x2C, 0x68 }, + { 0x2D, 0x00 }, + { 0x2E, 0x00 }, + { 0x2F, 0x80 }, { 0x30, 0x24 }, // D3DDevice_SetLight+0x65 : jz +8 @@ -367,11 +367,11 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 5558, 15) { 0x66, 0x08 }, // D3DDevice_SetLight+0xe3 : jz +8 - { 0xe3, 0x74 }, - { 0xe4, 0x08 }, + { 0xE3, 0x74 }, + { 0xE4, 0x08 }, // D3DDevice_SetLight+0xfe : shr ???, 2 - { 0xfe, 0xc1 }, + { 0xFE, 0xC1 }, { 0x100, 0x02 }, OOVPA_END; #if 0 // Moved to 5455 @@ -528,6 +528,32 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 5558, 12) { 0x8B, 0x08 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5558, 11) + + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, + { 0x06, 0x00 }, + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x01 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x1DAC + { 0x17, 0x05 }, + { 0x18, 0xAC }, + { 0x19, 0x1D }, + + // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, + + // D3DDevice_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, +OOVPA_END; + +#if 0 // No longer used, replaced by another 5558 version // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** @@ -541,7 +567,7 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5558, 7) { 0x1C, 0x50 }, { 0x23, 0xC3 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_DrawIndexedVerticesUP // ****************************************************************** @@ -568,7 +594,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTransform // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTransform, 5558, 10) +OOVPA_NO_XREF(D3DDevice_SetTransform, 5558, 12) { 0x04, 0x8B }, { 0x05, 0x54 }, @@ -578,6 +604,10 @@ OOVPA_NO_XREF(D3DDevice_SetTransform, 5558, 10) { 0x09, 0x8B }, { 0x0A, 0x1D }, { 0x0F, 0x56 }, + + { 0x2C, 0x8B }, + { 0x2D, 0x0C }, + { 0x9C, 0x00 }, { 0x9D, 0x00 }, OOVPA_END; @@ -653,7 +683,7 @@ OOVPA_END; // ****************************************************************** // * D3D::SetFence // ****************************************************************** -OOVPA_XREF(D3D_SetFence, 5558, 8, +OOVPA_XREF(D3D_SetFence, 5558, 9, XREF_D3D_SetFence, XRefZero) @@ -666,6 +696,8 @@ OOVPA_XREF(D3D_SetFence, 5558, 8, { 0x14, 0x8B }, { 0x15, 0x7E }, { 0x16, 0x2C }, + + { 0x39, 0x0C }, OOVPA_END; // ****************************************************************** @@ -1500,6 +1532,28 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5455, 12) OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_PersistDisplay +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5558, 12) + + { 0x00, 0x83 }, + { 0x1B, 0x6A }, + + { 0x28, 0x00 }, + { 0x29, 0x85 }, + { 0x2A, 0xC0 }, + { 0x2B, 0x75 }, + { 0x2C, 0x0A }, + { 0x2D, 0xB8 }, + { 0x2E, 0x05 }, + { 0x2F, 0x40 }, + + { 0x49, 0x85 }, + { 0x6B, 0xE1 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 5558 version // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** @@ -1513,7 +1567,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5558, 7) { 0xBE, 0x00 }, { 0xDE, 0x8B }, OOVPA_END; - +#endif // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface // ****************************************************************** @@ -1935,17 +1989,24 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetShaderConstantMode // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5558, 10) +OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5558, 16) { 0x00, 0xA1 }, + { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x18 }, { 0x08, 0x19 }, { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; @@ -1978,7 +2039,9 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetPixelShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5558, 9) +OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5558, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, @@ -1986,8 +2049,14 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5558, 9) { 0x08, 0x07 }, { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; @@ -2051,6 +2120,30 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5659, 12) OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_GetVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5558, 16) + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x94 }, + { 0x08, 0x07 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, + { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, + { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, + { 0x13, 0x00 }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index b198aab4e..5b3a75636 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -443,6 +443,32 @@ OOVPA_XREF(D3DDevice_SetVerticalBlankCallback, 5788, 7, OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5788, 11) + + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, + { 0x06, 0x00 }, + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x01 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x1DBC + { 0x17, 0x05 }, + { 0x18, 0xBC }, + { 0x19, 0x1D }, + + // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, + + // D3DDevice_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, +OOVPA_END; + +#if 0 // No longer used, replaced by another 5788 version // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** @@ -456,7 +482,7 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5788, 7) { 0x1C, 0x50 }, { 0x23, 0xC3 }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** @@ -1013,38 +1039,57 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetShaderConstantMode // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5788, 10) +OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5788, 16) { 0x00, 0xA1 }, + { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x28 }, { 0x08, 0x19 }, { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; // ****************************************************************** // * D3DDevice_GetVertexShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5788, 7) +OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5788, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, { 0x07, 0x98 }, + { 0x08, 0x07 }, + { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; // ****************************************************************** // * D3DDevice_GetPixelShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5788, 9) +OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5788, 16) + + { 0x00, 0xA1 }, { 0x05, 0x8B }, { 0x06, 0x88 }, @@ -1052,8 +1097,14 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5788, 9) { 0x08, 0x07 }, { 0x09, 0x00 }, { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; From 65410cf1bdc0641ba2d2fedb44682dcc2706eacc Mon Sep 17 00:00:00 2001 From: jarupxx Date: Thu, 19 Oct 2017 07:19:33 +0900 Subject: [PATCH 141/146] Set #if 1~#endif. It will move OOVPAs lowere. --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 24 ++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 109 +++++++++++++++------ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 47 ++++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 26 +++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl | 2 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 64 +++++++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 52 +++++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 26 +++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 29 +++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl | 21 +++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 55 +++++++---- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 71 +++++++++----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 9 +- 13 files changed, 388 insertions(+), 147 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 7998a78e9..324a2098d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -132,7 +132,7 @@ OOVPA_NO_XREF(D3DDevice_GetCreationParameters, 4034, 7) { 0x36, 0xC9 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -156,6 +156,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 4034, 10) { 0x1A, 0xC2 }, { 0x1B, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetViewport @@ -390,6 +391,7 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 4034, 8) { 0x36, 0xC2 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_DrawVertices // ****************************************************************** @@ -415,6 +417,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVertices, 4034, 12) { 0x9C, 0xC2 }, { 0x9D, 0x0C }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_LoadVertexShader @@ -534,6 +537,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 4034, 8) { 0x40, 0x5E }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** @@ -548,6 +552,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4034, 8) { 0x40, 0x08 }, { 0x4C, 0x5F }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_FogColor @@ -978,7 +983,7 @@ OOVPA_NO_XREF(D3DDevice_Clear, 4034, 9) { 0x039A, 0x18 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -1004,6 +1009,7 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 4034, 12) { 0xFE, 0x4B }, { 0xFF, 0x68 }, OOVPA_END; +#endif // ****************************************************************** // * D3DVertexBuffer_Lock @@ -1834,6 +1840,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4034, 12) { 0x2B, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_IsBusy // ****************************************************************** @@ -1847,6 +1854,7 @@ OOVPA_NO_XREF(D3DDevice_IsBusy, 4034, 7) { 0x28, 0x00 }, { 0x2F, 0xD2 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetRenderTarget @@ -1873,6 +1881,7 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 4039, 11) { 0x1E, 0x04 }, OOVPA_END; +#if 1 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** @@ -1892,6 +1901,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 4039, 12) { 0x12, 0xF7 }, { 0x1C, 0x74 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_PersistDisplay @@ -2174,6 +2184,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 4039, 15) { 0x87, 0xB8 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** @@ -2196,7 +2207,8 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 4039, 10) { 0x1B, 0x8B }, { 0x1C, 0x95 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** @@ -2220,7 +2232,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 4039, 10) { 0xC8, 0x1C }, { 0xC9, 0x24 }, OOVPA_END; - +#endif // ****************************************************************** // * D3D::SetFence @@ -2266,6 +2278,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 4039, 8) { 0xFE, 0x24 }, OOVPA_END; +#if 1 // Moved to 3911 // ****************************************************************** // * D3DDevice_Reset // ****************************************************************** @@ -2289,6 +2302,7 @@ OOVPA_NO_XREF(D3DDevice_Reset, 4039, 10) { 0x37, 0x7D }, { 0x38, 0x10 }, OOVPA_END; +#endif // ****************************************************************** // * D3D::BlockOnTime @@ -2312,7 +2326,7 @@ OOVPA_XREF(D3D_BlockOnTime, 4039, 10, { 0x2F, 0x53 }, OOVPA_END; -#if 0 // No longer used, replaced by generic 3925 version +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 630787727..7e1df3720 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -62,7 +62,7 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4134, 1+10, { 0xB6, 0x04 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetTransform // ****************************************************************** @@ -89,7 +89,8 @@ OOVPA_NO_XREF(D3DDevice_SetTransform, 4134, 11) { 0x92, 0xEB }, { 0x93, 0x10 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_CheckDeviceFormat // ****************************************************************** @@ -111,7 +112,7 @@ OOVPA_NO_XREF(D3D_CheckDeviceFormat, 4134, 8) { 0x61, 0xC2 }, { 0x62, 0x18 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_GetAdapterModeCount @@ -162,7 +163,7 @@ OOVPA_NO_XREF(D3D_EnumAdapterModes, 4134, 10) { 0xF8, 0x1E }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_FogColor // ****************************************************************** @@ -186,7 +187,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FogColor, 4134, 10) { 0x40, 0x89 }, { 0x41, 0x06 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Swap @@ -213,7 +214,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4134, 11) { 0xAF, 0x04 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Clear // ****************************************************************** @@ -233,7 +234,7 @@ OOVPA_NO_XREF(D3DDevice_Clear, 4134, 9) { 0x0399, 0xC2 }, { 0x039A, 0x18 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_Begin @@ -369,7 +370,7 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4134, 11) { 0x56, 0x06 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_CopyRects // ****************************************************************** @@ -391,7 +392,7 @@ OOVPA_NO_XREF(D3DDevice_CopyRects, 4134, 10) { 0xDD, 0x75 }, { 0xDE, 0x22 }, OOVPA_END; - +#endif // ****************************************************************** // * D3D::CreateStandAloneSurface @@ -465,6 +466,7 @@ OOVPA_NO_XREF(D3DDevice_CreateImageSurface, 4134, 28) OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetPixelShader // ****************************************************************** @@ -489,6 +491,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4134, 10) { 0xE4, 0xA5 }, OOVPA_END; +#endif #if 0 // Moved to 4039 // ****************************************************************** // * D3DDevice_SetTextureState_BumpEnv @@ -516,6 +519,7 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 4134, 12) { 0x52, 0x05 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** @@ -540,7 +544,8 @@ OOVPA_NO_XREF(D3DDevice_SetIndices, 4134, 11) { 0x78, 0x8C }, { 0x79, 0x03 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_VertexBlend // ****************************************************************** @@ -565,7 +570,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend, 4134, 11) { 0x3E, 0xC2 }, { 0x3F, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** @@ -588,7 +594,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 4134, 9) { 0x4E, 0xC2 }, { 0x4F, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_EdgeAntiAlias // ****************************************************************** @@ -612,6 +619,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, 10) { 0x2F, 0xC2 }, { 0x30, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_ZEnable @@ -640,6 +648,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4134, 13) { 0x99, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_StencilEnable // ****************************************************************** @@ -664,7 +673,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 4134, 11) { 0x81, 0xC2 }, { 0x82, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias // ****************************************************************** @@ -694,6 +704,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4134, 12) { 0x4F, 0xC2 }, { 0x50, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetVertexShader @@ -723,6 +734,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 4134, 14) { 0xB4, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -744,7 +756,8 @@ OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 4134, 10) { 0xC2, 0xFE }, { 0xC3, 0x80 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -770,6 +783,7 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 4134, 12) { 0xFE, 0x4B }, { 0xFF, 0x68 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetMaterial @@ -891,7 +905,7 @@ OOVPA_NO_XREF(D3DDevice_LightEnable, 4134, 13) { 0xE2, 0x08 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_NormalizeNormals // ****************************************************************** @@ -911,7 +925,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 4134, 8) { 0x36, 0xC2 }, { 0x37, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -933,6 +948,7 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 4134, 10) { 0xAE, 0xC2 }, { 0xAF, 0x0C }, OOVPA_END; +#endif #if 0 // Moved to 4039 // ****************************************************************** // * D3DDevice_Reset @@ -958,6 +974,7 @@ OOVPA_NO_XREF(D3DDevice_Reset, 4134, 10) { 0x38, 0x10 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_TwoSidedLighting // ****************************************************************** @@ -984,6 +1001,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 4134, 13) { 0x60, 0xC2 }, { 0x61, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode @@ -1012,6 +1030,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4134, 13) { 0x4F, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetTextureState_ColorKeyColor // ****************************************************************** @@ -1035,7 +1054,8 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 4134, 12) { 0x36, 0xC2 }, { 0x37, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_FrontFace // ****************************************************************** @@ -1063,7 +1083,8 @@ OOVPA_XREF(D3DDevice_SetRenderState_FrontFace, 4134, 11, { 0x21, 0xC0 }, { 0x22, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_LogicOp // ****************************************************************** @@ -1084,7 +1105,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 4134, 9) { 0x4F, 0xC2 }, { 0x50, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_StencilFail // ****************************************************************** @@ -1110,6 +1132,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilFail, 4134, 12) { 0x6A, 0xC2 }, { 0x6B, 0x04 }, OOVPA_END; +#endif #if 0 // Moved to 4034 // ****************************************************************** // * D3DDevice_SetRenderState_OcclusionCullEnable @@ -1170,6 +1193,7 @@ OOVPA_XREF(D3DDevice_SetRenderState_StencilCullEnable, 4134, 13, { 0x60, 0x04 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_FillMode // ****************************************************************** @@ -1194,7 +1218,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 4134, 11) { 0x36, 0xC0 }, { 0x37, 0x0C }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** @@ -1215,7 +1240,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4134, 9) { 0x7C, 0xC2 }, { 0x7D, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMask // ****************************************************************** @@ -1242,6 +1268,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask, 4134, 13) { 0x4F, 0xC2 }, { 0x50, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode @@ -1295,6 +1322,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4134, 12) { 0x2B, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_ShadowFunc // ****************************************************************** @@ -1323,7 +1351,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc, 4134, 13) { 0x27, 0xC0 }, { 0x28, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_YuvEnable // ****************************************************************** @@ -1352,7 +1381,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_YuvEnable, 4134, 13) { 0x28, 0xC2 }, { 0x29, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_DrawIndexedVerticesUP // ****************************************************************** @@ -1374,6 +1404,7 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 4134, 10) { 0x6A, 0xB8 }, { 0x6B, 0x10 }, OOVPA_END; +#endif #if 0 // Moved to 4039 // ****************************************************************** // * D3DDevice_SetPixelShaderConstant @@ -1564,6 +1595,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4134, 12) { 0x11, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -1588,7 +1620,8 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 4134, 11) { 0x23, 0xC2 }, { 0x24, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** @@ -1611,6 +1644,7 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 4134, 11) { 0x40, 0x1C }, { 0x41, 0x21 }, OOVPA_END; +#endif #if 0 // Moved to 4034 // ****************************************************************** // * D3DDevice_IsBusy @@ -1626,6 +1660,7 @@ OOVPA_NO_XREF(D3DDevice_IsBusy, 4134, 7) { 0x2F, 0xD2 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** @@ -1648,8 +1683,8 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 4134, 12) // D3D::CDevice::KickOff+0xE3 : retn { 0xE3, 0xC3 } OOVPA_END; - -#if 0 // No longer used, replaced by generic 4039 version +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** @@ -1746,6 +1781,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 4134, 13) { 0x93, 0x04 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** @@ -1759,6 +1795,7 @@ OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 4134, 7) { 0xB8, 0x00 }, { 0xD7, 0xC7 }, OOVPA_END; +#endif #if 0 // Moved to 4039 // ****************************************************************** // * D3D::LazySetPointParams @@ -1886,6 +1923,7 @@ OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 4134, 13) OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -1909,6 +1947,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 4134, 12) { 0x8A, 0xC2 }, { 0x8B, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_EnableOverlay @@ -2142,6 +2181,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 4134, 10) { 0x57, 0x83 }, OOVPA_END; +#if 1 // Moved to 3911 // ****************************************************************** // * D3DDevice_EndPushBuffer // ****************************************************************** @@ -2163,7 +2203,7 @@ OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 4134, 13) // Up to 5849 { 0x6D, 0x8B }, { 0x6E, 0x86 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_EndPushBuffer @@ -2282,7 +2322,7 @@ OOVPA_NO_XREF(D3DDevice_InsertCallback, 4134, 13) { 0x28, 0x08 }, OOVPA_END; - +#if 1 // Moved to 3911 // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** @@ -2306,6 +2346,7 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 4134, 16) { 0x16, 0xF6 }, { 0x17, 0xC1 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetShaderConstantMode @@ -2331,6 +2372,7 @@ OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 4134, 16) { 0x13, 0x00 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderInput // ****************************************************************** @@ -2353,6 +2395,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderInput, 4134, 15) { 0x1C, 0x08 }, { 0x1D, 0x8B }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_RunVertexStateShader @@ -2368,6 +2411,7 @@ OOVPA_NO_XREF(D3DDevice_RunVertexStateShader, 4134, 7) { 0x4B, 0x08 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** @@ -2388,7 +2432,8 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 4134, 14) { 0x1E, 0xC2 }, { 0x1F, 0x0C }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderFunction // ****************************************************************** @@ -2407,6 +2452,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderFunction, 4134, 12) { 0x12, 0x00 }, { 0x1C, 0x56 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix @@ -2447,6 +2493,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4ub, 4134, 7) { 0x44, 0x89 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface // ****************************************************************** @@ -2460,7 +2507,8 @@ OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface, 4134, 7) { 0x40, 0x24 }, { 0x4B, 0x5E }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -2484,6 +2532,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 4134, 10) { 0x1A, 0xC2 }, { 0x1B, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CaptureStateBlock diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index e6e693bdd..080d9483b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * CMiniport::InitHardware // ****************************************************************** @@ -63,6 +64,7 @@ OOVPA_NO_XREF(CMiniport_InitHardware, 4361, 24) { 0x1E, 0xA6 }, { 0x1F, 0xDC }, OOVPA_END; +#endif #if 0 // Moved to 4034 // ****************************************************************** // * CMiniport::CreateCtxDmaObject @@ -377,7 +379,7 @@ OOVPA_NO_XREF(D3DDevice_DeleteStateBlock, 4361, 7) { 0x83, 0xEB }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_ApplyStateBlock // ****************************************************************** @@ -401,6 +403,7 @@ OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 4361, 10) { 0x9F, 0xE8 }, { 0xA0, 0x60 }, OOVPA_END; +#endif #if 0 // Moved to 4134 // ****************************************************************** // * D3DDevice_EndStateBlock @@ -423,6 +426,7 @@ OOVPA_XREF(D3DDevice_EndStateBlock, 4361, 6, { 0x08, 0xDF }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_GetRenderTarget // ****************************************************************** @@ -445,6 +449,7 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 4361, 9) { 0x1D, 0xC2 }, { 0x1E, 0x04 }, OOVPA_END; +#endif #if 0 // Moved to 4134 // ****************************************************************** // * D3DDevice_GetViewport @@ -470,6 +475,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 4361, 10) { 0x1B, 0x04 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetTextureState_BorderColor // ****************************************************************** @@ -498,7 +504,8 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 4361, 15) { 0x3A, 0xC2 }, { 0x3B, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SwitchTexture // ****************************************************************** @@ -524,7 +531,7 @@ OOVPA_NO_XREF(D3DDevice_SwitchTexture, 4361, 10) { 0x2E, 0xEB }, { 0x2F, 0xD0 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Swap @@ -631,6 +638,7 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, 1+10, { 0xB5, 0x04 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DResource_Release // ****************************************************************** @@ -659,6 +667,7 @@ OOVPA_NO_XREF(D3DResource_Release, 4361, 13) { 0x4B, 0xC2 }, { 0x4C, 0x04 }, OOVPA_END; +#endif #if 0 // Moved to 4039 // ****************************************************************** // * D3DResource_IsBusy @@ -713,7 +722,7 @@ OOVPA_NO_XREF(D3DBaseTexture_GetLevelCount, 4361, 13) { 0x0C, 0x04 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** @@ -737,7 +746,7 @@ OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 4361, 12) { 0xE9, 0x24 }, { 0xEA, 0x01 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetFlickerFilter @@ -762,7 +771,7 @@ OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 4361, 11) { 0x40, 0x04 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_PrimeVertexCache // ****************************************************************** @@ -776,7 +785,7 @@ OOVPA_NO_XREF(D3DDevice_PrimeVertexCache, 4361, 7) { 0x5E, 0x04 }, { 0x6E, 0x04 }, OOVPA_END; - +#endif #if 0 // Moved to 4134 // ****************************************************************** // * D3DDevice_BeginPush @@ -915,6 +924,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 4361, 8) { 0xFE, 0x24 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_CreateCubeTexture // ****************************************************************** @@ -929,6 +939,7 @@ OOVPA_NO_XREF(D3DDevice_CreateCubeTexture, 4361, 8) { 0x25, 0xC2 }, { 0x26, 0x18 }, OOVPA_END; +#endif #if 0 // Moved to 4134 // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface @@ -944,6 +955,7 @@ OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface, 4361, 7) { 0x4B, 0x5E }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** @@ -965,8 +977,8 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 4361, 10) { 0x1D, 0xD8 }, { 0x1E, 0x09 }, OOVPA_END; - - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetPixelShaderProgram // ****************************************************************** @@ -983,6 +995,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 4361, 10) { 0x2B, 0x24 }, { 0x2C, 0x04 }, OOVPA_END; +#endif #if 0 // Moved to 4134 // ****************************************************************** // * D3DDevice_GetVertexShader @@ -998,6 +1011,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4361, 7) { 0x13, 0x00 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetVertexDataColor // ****************************************************************** @@ -1011,7 +1025,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 4361, 7) { 0x3A, 0xFF }, { 0x44, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetVertexShaderInput // ****************************************************************** @@ -1026,7 +1041,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput, 4361, 8) { 0xDE, 0xC6 }, { 0xFE, 0x89 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetVertexData2s // ****************************************************************** @@ -1041,7 +1057,8 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2s, 4361, 8) { 0x1A, 0x00 }, { 0x1F, 0xBF }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetVertexData4s // ****************************************************************** @@ -1057,6 +1074,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4s, 4361, 9) { 0x1B, 0x19 }, { 0x1F, 0xBF }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BeginVisibilityTest@0 @@ -1071,6 +1089,7 @@ OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 4361, 7) { 0x28, 0x06 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_EndVisibilityTest@4 // ****************************************************************** @@ -1083,7 +1102,7 @@ OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 4361, 7) { 0x46, 0x89 }, { 0x55, 0x5F }, OOVPA_END; - +#endif // ****************************************************************** // * D3DDevice_SetTexture @@ -1130,6 +1149,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4361, 28) { 0x1F, 0x24 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** @@ -1155,6 +1175,7 @@ OOVPA_XREF(D3D_BlockOnTime, 4361, 13, { 0x38, 0x8B }, { 0x44, 0xE8 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SelectVertexShaderDirect diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index 0df1f2c6b..38144f8b8 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -55,6 +55,7 @@ OOVPA_NO_XREF(Direct3D_CreateDevice, 4432, 8) { 0xA1, 0x18 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_GetRenderTarget // ****************************************************************** @@ -83,6 +84,7 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 4432, 11) { 0x1D, 0xC2 }, { 0x1E, 0x04 }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetDepthStencilSurface @@ -113,6 +115,7 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 4432, 11) { 0x26, 0x04 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetPixelShader // ****************************************************************** @@ -136,6 +139,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4432, 10) { 0xE3, 0xF3 }, { 0xE4, 0xA5 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_ZEnable @@ -186,7 +190,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4432, 13) { 0x8D, 0x04 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias // ****************************************************************** @@ -211,7 +215,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4432, 9) { 0x4F, 0xC2 }, { 0x50, 0x04 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_LineWidth @@ -237,7 +241,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 4432, 10) { 0x63, 0x04 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -261,7 +265,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 4432, 12) { 0x8A, 0xC2 }, { 0x8B, 0x08 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Swap @@ -432,6 +436,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4531, 9) { 0x43, 0x0C }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_BeginPush // ****************************************************************** @@ -444,7 +449,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPush, 4432, 6) { 0x17, 0xE8 }, { 0x1D, 0xC2 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_Release @@ -464,7 +469,7 @@ OOVPA_NO_XREF(D3DDevice_Release, 4432, 11) { 0x1F, 0x00 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DTexture_GetSurfaceLevel // ****************************************************************** @@ -498,7 +503,8 @@ OOVPA_NO_XREF(D3DTexture_GetSurfaceLevel, 4432, 14) { 0x4C, 0xC2 }, { 0x4D, 0x0C }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_GetDisplayMode // ****************************************************************** @@ -526,7 +532,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 4432, 12) { 0x92, 0xC2 }, { 0x93, 0x04 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetFlickerFilter @@ -602,6 +608,7 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock, 4531, 11) { 0x55, 0x14 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix // ****************************************************************** @@ -615,6 +622,7 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 4432, 7) { 0x16, 0x00 }, { 0x1A, 0x5E }, OOVPA_END; +#endif #if 0 // Moved to 4039 // ****************************************************************** // * D3DDevice_SetModelView @@ -630,6 +638,7 @@ OOVPA_NO_XREF(D3DDevice_SetModelView, 4432, 7) { 0x9F, 0x75 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** @@ -643,6 +652,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 4432, 7) { 0x25, 0x33 }, { 0x26, 0xD2 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetViewportOffsetAndScale diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl index e5185a85e..2eee4ec32 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl @@ -58,6 +58,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4531, 11) { 0xBA, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** @@ -73,6 +74,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4531, 9) { 0x42, 0xC0 }, { 0x43, 0x0C }, OOVPA_END; +#endif // ****************************************************************** // * D3DVertexBuffer_Lock diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index 3daf43012..dc7497590 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -255,6 +255,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPush, 4627, 7) { 0x44, 0x52 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetViewport // ****************************************************************** @@ -275,6 +276,7 @@ OOVPA_NO_XREF(D3DDevice_SetViewport, 4627, 9) { 0xE0, 0xE1 }, { 0xE1, 0x0F }, OOVPA_END; +#endif // ****************************************************************** // * D3D_CommonSetRenderTarget @@ -416,6 +418,7 @@ OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 4627, 17) // Up to 5849 { 0x77, 0x00 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** @@ -439,6 +442,7 @@ OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 4627, 12) { 0xE9, 0x24 }, { 0xEA, 0x01 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CopyRects @@ -632,7 +636,7 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 10) { 0x1D, 0xC3 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -657,6 +661,7 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 4627, 11) { 0x23, 0xC2 }, { 0x24, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTile @@ -1128,6 +1133,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture_unused, 4627, 10) // Deprecated in favor of 4 { 0xDA, 0x4D }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetTexture // ****************************************************************** @@ -1171,7 +1177,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4627, 28) { 0x1E, 0x44 }, { 0x1F, 0x24 }, OOVPA_END; - +#endif #if 0 // Moved to 4831 // ****************************************************************** // * D3DDevice_SetTexture @@ -1207,7 +1213,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4831, 15) { 0x56, 0x45 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_GetDisplayMode // ****************************************************************** @@ -1235,6 +1241,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 4627, 12) { 0x7F, 0xEB }, { 0x80, 0x1C }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_RunPushBuffer @@ -1343,7 +1350,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4f, 4627, 11) { 0x60, 0x14 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_End // ****************************************************************** @@ -1362,7 +1369,8 @@ OOVPA_NO_XREF(D3DDevice_End, 4627, 12) { 0x3B, 0x5E }, { 0x3C, 0xC3 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Clear // ****************************************************************** @@ -1378,6 +1386,7 @@ OOVPA_NO_XREF(D3DDevice_Clear, 4627, 9) { 0x81, 0xB6 }, { 0xF8, 0x95 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_Swap @@ -1577,6 +1586,7 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4627, 12) { 0x11, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -1600,6 +1610,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 4627, 10) { 0x1A, 0xC2 }, { 0x1B, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTextureState_TexCoordIndex @@ -1721,6 +1732,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, 9) { 0x75, 0x04 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4432 version // ****************************************************************** // * D3DDevice_SetRenderState_ZEnable // ****************************************************************** @@ -1736,7 +1748,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4627, 9) { 0x5A, 0x74 }, { 0x60, 0x2A }, OOVPA_END; - +#endif #if 0 // Used 4134 instead in 4627, 4721, 4831, 4928 // ****************************************************************** // * D3DDevice_SetRenderState_StencilEnable @@ -1820,7 +1832,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, 12) { 0x70, 0x04 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -1842,6 +1854,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 4627, 10) { 0x8B, 0x45 }, { 0x8C, 0x14 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_DrawIndexedVertices @@ -2065,6 +2078,7 @@ OOVPA_NO_XREF(D3DSurface_LockRect, 4627, 17) { 0x1E, 0x10 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -2081,6 +2095,7 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 4627, 10) { 0x63, 0x80 }, { 0xAE, 0xC2 }, OOVPA_END; +#endif // ****************************************************************** // * D3DTexture_GetSurfaceLevel2 @@ -2227,6 +2242,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderInputDirect, 4627, 7) { 0x2F, 0x00 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderInput // ****************************************************************** @@ -2240,6 +2256,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderInput, 4627, 7) { 0x4C, 0x03 }, { 0x59, 0xD0 }, OOVPA_END; +#endif #if 0 // Moved to 4039 // ****************************************************************** // * D3DDevice_RunVertexStateShader @@ -2294,6 +2311,7 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 4627, 7) { 0x4B, 0x8D }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** @@ -2308,7 +2326,8 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 4627, 8) { 0x25, 0xE0 }, { 0x32, 0x5F }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** @@ -2323,7 +2342,8 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4627, 8) { 0x6E, 0x89 }, { 0x7E, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** @@ -2338,6 +2358,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 4627, 8) { 0xDE, 0x9A }, { 0xFE, 0x10 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetStreamSource2 (Maybe same in older versions) @@ -2462,6 +2483,7 @@ OOVPA_NO_XREF(CMiniport_IsFlipPending, 4627, 18) // Was D3DDevice_Reset { 0x11, 0x81 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetPixelShaderProgram // ****************************************************************** @@ -2478,6 +2500,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 4627, 10) { 0x2B, 0x24 }, { 0x2C, 0x04 }, OOVPA_END; +#endif #if 0 // Moved to 4432 // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus @@ -2493,7 +2516,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 4627, 7) { 0x26, 0xD2 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_CreateStateBlock // ****************************************************************** @@ -2511,7 +2534,8 @@ OOVPA_NO_XREF(D3DDevice_CreateStateBlock, 4627, 11) { 0x8B, 0x33 }, { 0x8C, 0xC0 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_InsertCallback // ****************************************************************** @@ -2525,6 +2549,7 @@ OOVPA_NO_XREF(D3DDevice_InsertCallback, 4627, 7) { 0x58, 0x10 }, { 0x67, 0x07 }, OOVPA_END; +#endif #if 0 // obsolete, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_DrawRectPatch @@ -2582,6 +2607,7 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 4627, 7) { 0x1A, 0x5E }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetScissors@12 // ****************************************************************** @@ -2596,7 +2622,8 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 4627, 8) { 0xDE, 0x24 }, { 0xFE, 0x4C }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette@8 // ****************************************************************** @@ -2610,6 +2637,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 4627, 7) { 0x6E, 0x8B }, { 0x7C, 0x89 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMask @@ -2626,6 +2654,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask, 4627, 8) { 0x4E, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_LogicOp // ****************************************************************** @@ -2639,6 +2668,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 4627, 7) { 0x40, 0x89 }, { 0x4E, 0x5E }, OOVPA_END; +#endif #if 0 // Moved to 4531 // ****************************************************************** // * D3D::CDevice::KickOff @@ -3019,6 +3049,7 @@ OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 4627, 8) { 0xFE, 0x33 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_CaptureStateBlock // ****************************************************************** @@ -3033,6 +3064,7 @@ OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 4627, 8) { 0xD7, 0x89 }, { 0xF9, 0x8B }, OOVPA_END; +#endif // ****************************************************************** // * D3D::BlockOnTime @@ -3362,6 +3394,7 @@ OOVPA_NO_XREF(D3D_LazySetPointParams, 4627, 7) { 0x75, 0x41 }, OOVPA_END; +#if 1 // Moved to 4432 // ****************************************************************** // * D3DDevice_SetDepthClipPlanes // ****************************************************************** @@ -3385,7 +3418,7 @@ OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 4627, 15) { 0x18, 0x8B }, { 0x1F, 0x0C }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetDepthClipPlanes @@ -3448,6 +3481,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 4627, 8) { 0x1A, 0xC2 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_PrimeVertexCache // ****************************************************************** @@ -3462,7 +3496,7 @@ OOVPA_NO_XREF(D3DDevice_PrimeVertexCache, 4627, 8) { 0x3E, 0x00 }, { 0x4E, 0x89 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3D::BlockOnResource @@ -3498,6 +3532,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_SampleAlpha, 4627, 7) { 0x44, 0x83 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * CMiniport::InitHardware // ****************************************************************** @@ -3529,6 +3564,7 @@ OOVPA_NO_XREF(CMiniport_InitHardware, 4627, 24) // Also for 5344 { 0x1E, 0xA6 }, { 0x1F, 0xA4 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CreateVolumeTexture diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index 420364944..8131becc3 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -62,6 +62,7 @@ OOVPA_NO_XREF(Direct3D_CreateDevice, 5028, 20) // Also for 5120, 5233, 5344 (545 { 0x1F, 0xC7 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** @@ -84,7 +85,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 5028, 9) { 0x4E, 0xC2 }, { 0x4F, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** @@ -98,7 +100,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5028, 7) { 0x58, 0x05 }, { 0x75, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4432 version // ****************************************************************** // * D3DDevice_SetRenderState_ZEnable // ****************************************************************** @@ -113,6 +116,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 5028, 8) { 0x7C, 0xCE }, { 0x8E, 0x00 }, OOVPA_END; +#endif #if 0 // Moved to 4627 // ****************************************************************** // * D3DDevice_SetRenderState_SampleAlpha @@ -128,6 +132,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_SampleAlpha, 5028, 7) { 0x44, 0x83 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_CreateTexture2 // ****************************************************************** @@ -145,6 +150,7 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 5028, 11) // Also for 5233, 5344, 5558, { 0x42, 0x8B }, { 0x52, 0xF7 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank @@ -186,6 +192,7 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5028, 7) { 0x23, 0xC3 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -211,7 +218,8 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5028, 12) { 0x40, 0xC2 }, { 0x41, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetRenderTarget2 // ****************************************************************** @@ -224,7 +232,8 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget2, 5028, 6) { 0x16, 0x8B }, { 0x17, 0xC6 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetDepthStencilSurface2 // ****************************************************************** @@ -238,7 +247,8 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 5028, 7) { 0x1A, 0x8B }, { 0x1B, 0xC6 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetViewport // ****************************************************************** @@ -259,7 +269,8 @@ OOVPA_NO_XREF(D3DDevice_SetViewport, 5028, 9) { 0xE0, 0xE1 }, { 0xE1, 0x0F }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -285,7 +296,8 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 5028, 12) { 0xFE, 0x4B }, { 0xFF, 0x68 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_LightEnable // ****************************************************************** @@ -314,7 +326,8 @@ OOVPA_NO_XREF(D3DDevice_LightEnable, 5028, 13) { 0xE1, 0xC2 }, { 0xE2, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** @@ -328,7 +341,8 @@ OOVPA_NO_XREF(D3DDevice_SetIndices, 5028, 7) { 0x64, 0x89 }, { 0x75, 0x10 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** @@ -352,8 +366,8 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 5028, 11) { 0x42, 0x00 }, { 0x43, 0x00 }, OOVPA_END; - - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -376,7 +390,8 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 5028, 13) { 0x23, 0xC2 }, { 0x24, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Clear // ****************************************************************** @@ -390,7 +405,8 @@ OOVPA_NO_XREF(D3DDevice_Clear, 5028, 8) { 0xD7, 0x75 }, { 0xF6, 0xFF }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_DrawVertices // ****************************************************************** @@ -404,6 +420,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVertices, 5028, 7) { 0x70, 0x75 }, { 0x83, 0x40 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_DrawIndexedVertices @@ -451,6 +468,7 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 5028, 7) { 0x4B, 0x5E }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** @@ -465,6 +483,7 @@ OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 5028, 8) { 0xD7, 0x89 }, { 0xF6, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetVertexShader @@ -494,6 +513,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5028, 14) { 0xB4, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** @@ -507,6 +527,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 5028, 7) { 0xAC, 0xC6 }, { 0xC9, 0xC0 }, OOVPA_END; +#endif // ****************************************************************** // * D3D::SetFence @@ -578,6 +599,7 @@ OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle, 5028, 9) { 0x10, 0xC3 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -599,6 +621,7 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 5028, 10) { 0xAE, 0xC2 }, { 0xAF, 0x0C }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetVertexShaderConstantNotInline @@ -846,7 +869,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPush, 5028, 6) { 0x16, 0xE9 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_End // ****************************************************************** @@ -875,6 +898,7 @@ OOVPA_NO_XREF(D3DDevice_End, 5028, 13) // D3DDevice_End+0x3C : retn { 0x3C, 0xC3 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_IsFencePending diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 3f61a31ef..617dba980 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** @@ -45,7 +46,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 5233, 7) { 0x2E, 0x89 }, { 0x36, 0x00 }, OOVPA_END; - +#endif #if 0 // Moved to 4627 // ****************************************************************** // * D3DDevice_SetVertexShaderConstantNotInlineFast @@ -93,7 +94,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShader, 5233, 7) { 0xE1, 0xF6 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_CreateTexture2 // ****************************************************************** @@ -123,6 +124,7 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 5233, 12) { 0xB2, 0xC2 }, { 0xB3, 0x1C }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_CullMode @@ -176,7 +178,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 5233, 10) { 0xFE, 0xE2 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** @@ -192,6 +194,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 5233, 9) { 0x7C, 0x6A }, { 0xA6, 0xE8 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_UpdateOverlay @@ -321,7 +324,7 @@ OOVPA_NO_XREF(D3DDevice_CopyRects, 5120, 8) { 0xFE, 0x4C }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** @@ -336,7 +339,8 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 5233, 8) { 0xD4, 0x1C }, { 0xFE, 0x4C }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset // ****************************************************************** @@ -356,6 +360,7 @@ OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 5233, 8) { 0x46, 0xC2 }, { 0x47, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode @@ -388,6 +393,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5233, 13) { 0x26, 0x00 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** @@ -406,6 +412,7 @@ OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5233, 8, { 0x2C, 0xE8 }, { 0x32, 0x04 }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 5028 version // ****************************************************************** // * D3D::CommonSetRenderTarget @@ -425,7 +432,7 @@ OOVPA_XREF(D3D_CommonSetRenderTarget, 5233, 8, { 0xFF, 0x75 }, OOVPA_END; #endif -#if 0 // No longer used, replaced by generic 3925 version +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** @@ -443,7 +450,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 5233, 6, { 0x0D, 0x04 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -467,7 +474,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 5233, 12) { 0x8A, 0xC2 }, { 0x8B, 0x08 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetFlickerFilter @@ -616,6 +623,7 @@ OOVPA_NO_XREF(D3DDevice_GetVisibilityTestResult, 5233, 7) { 0x5F, 0x0C }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** @@ -631,7 +639,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 5233, 9) { 0x64, 0xC0 }, { 0x68, 0x2D }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_EndPushBuffer diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index ef01643ef..de1a3a246 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -102,6 +102,7 @@ OOVPA_XREF(D3D_MakeRequestedSpace, 5344, 28, { 0x1F, 0x03 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** @@ -125,6 +126,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5344, 10) { 0x23, 0xFA }, { 0x24, 0x20 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetLight @@ -223,6 +225,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 5344, 13) { 0x7E, 0x04 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset // ****************************************************************** @@ -236,7 +239,8 @@ OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 5344, 7) { 0x3A, 0x8B }, { 0x44, 0x06 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -250,7 +254,8 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 5344, 7) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -264,6 +269,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5344, 7) { 0x34, 0x15 }, { 0x3D, 0x8B }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_LightEnable @@ -425,6 +431,7 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5344, 9) { 0x2E, 0x04 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -446,7 +453,7 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 5344, 10) { 0xAE, 0xC2 }, { 0xAF, 0x0C }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetFlickerFilter @@ -572,6 +579,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5344, 7) { 0x10, 0xC2 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_SetRenderTargetFast // ****************************************************************** @@ -586,7 +594,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTargetFast, 5344, 8) { 0xD7, 0x0C }, { 0xF6, 0xC5 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** @@ -601,6 +610,7 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 5344, 8) { 0x38, 0x83 }, { 0x3C, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderTarget @@ -618,6 +628,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5344, 9) { 0x34, 0x14 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -641,7 +652,8 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 5344, 12) { 0x8A, 0xC2 }, { 0x8B, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5028 version // ****************************************************************** // * D3DDevice_IsBusy // ****************************************************************** @@ -660,6 +672,7 @@ OOVPA_NO_XREF(D3DDevice_IsBusy, 5344, 12) { 0x18, 0x06 }, { 0x1C, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 @@ -992,6 +1005,7 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 5344, 8) { 0x1A, 0xC2 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DPalette_Lock // ****************************************************************** @@ -1006,6 +1020,7 @@ OOVPA_NO_XREF(D3DPalette_Lock, 5344, 8) { 0x17, 0xC2 }, { 0x18, 0x0C }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetBackMaterial @@ -1099,6 +1114,7 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 5344, 7) { 0x1A, 0x5E }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -1115,6 +1131,7 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 5344, 10) { 0x11, 0x04 }, { 0x1F, 0xF3 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_CreateIndexBuffer2 @@ -1133,6 +1150,7 @@ OOVPA_XREF(D3DDevice_CreateIndexBuffer2, 5344, 7, { 0x2F, 0x48 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_SetTexture // ****************************************************************** @@ -1175,6 +1193,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 5344, 26) { 0x1E, 0x44 }, { 0x1F, 0x24 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl index 54e93cc24..3b8d9f147 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl @@ -105,6 +105,7 @@ OOVPA_NO_XREF(D3DDevice_CreatePalette2, 5455, 7) { 0x52, 0x89 }, OOVPA_END; +#if 1 // Moved to 5344 // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** @@ -124,7 +125,8 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5455, 11) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -141,6 +143,7 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 5455, 8) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetVertexShader @@ -157,6 +160,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5455, 8) { 0xFE, 0xC1 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -182,6 +186,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5455, 12) { 0x40, 0xC2 }, { 0x41, 0x04 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetVerticalBlankCallback @@ -268,6 +273,7 @@ OOVPA_XREF(D3DDevice_GetViewport, 5455, 1+17, { 0x31, 0x04 }, OOVPA_END; +#if 1 // Moved to 5344 // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** @@ -287,7 +293,8 @@ OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5455, 11) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** @@ -304,6 +311,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5455, 8) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank @@ -377,6 +385,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5455, 12) { 0x6F, 0xE1 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** @@ -392,7 +401,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5455, 9) { 0x24, 0xC2 }, { 0x26, 0x00 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** @@ -408,6 +418,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5455, 9) { 0x24, 0xC2 }, { 0x26, 0x00 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTile @@ -435,6 +446,7 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 5455, 16) { 0x9B, 0xCB }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_CaptureStateBlock // ****************************************************************** @@ -449,6 +461,7 @@ OOVPA_NO_XREF(D3DDevice_CaptureStateBlock, 5455, 8) { 0xDE, 0x83 }, { 0xFE, 0x45 }, OOVPA_END; +#endif // ****************************************************************** // * CMiniport::InitHardware @@ -538,6 +551,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 5455, 15) // { 0xAF, 0xC3 } OOVPA_END; +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** @@ -561,6 +575,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 5455, 14) { 0x54, 0x07 }, { 0x55, 0x01 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderTarget diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 1cb09e225..83e2825e0 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -118,6 +118,7 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 5558, 7) { 0x8A, 0x89 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetVertexShaderConstant1 // ****************************************************************** @@ -162,6 +163,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant1, 5558, 11) // D3DDevice_SetVertexShaderConstant1+0x53 : retn { 0x53, 0xC3 }, OOVPA_END; +#endif #if 0 // Moved to 4627 // ****************************************************************** // * D3DDevice_SetVertexShaderConstant1Fast @@ -327,7 +329,7 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 5558, 8) { 0xAE, 0x1C }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_End // ****************************************************************** @@ -341,7 +343,8 @@ OOVPA_NO_XREF(D3DDevice_End, 5558, 7) { 0x34, 0x4E }, { 0x40, 0xC3 }, OOVPA_END; - +#endif +#if 1 // Moved to 5344 // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -374,6 +377,7 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 5558, 15) { 0xFE, 0xC1 }, { 0x100, 0x02 }, OOVPA_END; +#endif #if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetMaterial @@ -504,6 +508,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5455, 8) { 0xFE, 0xC1 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -527,6 +532,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 5558, 12) { 0x8A, 0xC2 }, { 0x8B, 0x08 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank @@ -568,6 +574,7 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5558, 7) { 0x23, 0xC3 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_DrawIndexedVerticesUP // ****************************************************************** @@ -590,6 +597,7 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 5558, 10) { 0x6A, 0xB8 }, { 0x6B, 0x10 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetTransform @@ -612,6 +620,7 @@ OOVPA_NO_XREF(D3DDevice_SetTransform, 5558, 12) { 0x9D, 0x00 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -637,6 +646,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5558, 12) { 0x40, 0xC2 }, { 0x41, 0x04 }, OOVPA_END; +#endif #if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_GetBackBuffer2 @@ -823,7 +833,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5659, 10) { 0x0F, 0x09 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -846,7 +856,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 5558, 9) { 0xC5, 0xFE }, { 0xC6, 0x80 }, OOVPA_END; - +#endif #if 0 // Was _IDirect3DDevice8_CreateIndexBuffer@24, replaced by D3DDevice_CreateIndexBuffer 4627 version // ****************************************************************** // * D3DDevice_CreateIndexBuffer @@ -950,6 +960,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5558, 7) { 0x10, 0xC2 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** @@ -963,6 +974,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 5558, 7) { 0x40, 0x5E }, { 0x4D, 0x5E }, OOVPA_END; +#endif #if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_GetViewport @@ -1163,7 +1175,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5659, 8) { 0x1A, 0xC2 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_SetRenderState_TwoSidedLighting // ****************************************************************** @@ -1178,7 +1190,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 5558, 8) { 0x6E, 0x48 }, { 0x7E, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -1200,6 +1213,7 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 5558, 10) { 0xAE, 0xC2 }, { 0xAF, 0x0C }, OOVPA_END; +#endif // ****************************************************************** // * D3D::MakeRequestedSpace @@ -1288,6 +1302,7 @@ OOVPA_NO_XREF(D3DTexture_LockRect, 5558, 8) { 0x21, 0x14 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** @@ -1301,7 +1316,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 5558, 7) { 0xBE, 0x00 }, { 0xDE, 0xC0 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetFlickerFilter @@ -1481,7 +1496,7 @@ OOVPA_NO_XREF(D3DDevice_LightEnable, 5455, 13) { 0xFC, 0x08 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** @@ -1495,7 +1510,8 @@ OOVPA_NO_XREF(D3DDevice_SetIndices, 5558, 7) { 0x64, 0x89 }, { 0x75, 0x10 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer // ****************************************************************** @@ -1508,7 +1524,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 5558, 6) { 0x0D, 0x0C }, { 0x10, 0xC2 }, OOVPA_END; - +#endif #if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_PersistDisplay @@ -1568,6 +1584,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5558, 7) { 0xDE, 0x8B }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface // ****************************************************************** @@ -1581,6 +1598,7 @@ OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface, 5558, 7) { 0x22, 0x81 }, { 0x28, 0x8B }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetVertexData4f @@ -1612,7 +1630,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 5558, 8) { 0x36, 0x00 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** @@ -1626,7 +1644,8 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 5558, 7) { 0x4C, 0x83 }, { 0x5C, 0x89 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetPixelShaderProgram // ****************************************************************** @@ -1640,7 +1659,8 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 5558, 7) { 0x32, 0xC7 }, { 0x36, 0x00 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** @@ -1656,7 +1676,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5558, 9) { 0x24, 0xC2 }, { 0x26, 0x00 }, OOVPA_END; - +#endif #if 0 // Moved to 5455 // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode @@ -1708,7 +1728,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5558, 9) { 0x26, 0x00 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** @@ -1723,7 +1743,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, 8) { 0x67, 0xC0 }, { 0x76, 0x00 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5028 version // ****************************************************************** // * D3DDevice_IsFencePending // ****************************************************************** @@ -1737,7 +1758,7 @@ OOVPA_NO_XREF(D3DDevice_IsFencePending, 5558, 7) { 0x16, 0xC2 }, { 0x1A, 0xD8 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetSoftDisplayFilter diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 5b3a75636..3ac2133d0 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -32,6 +32,7 @@ // * // ****************************************************************** +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_EndVisibilityTest // ****************************************************************** @@ -45,7 +46,7 @@ OOVPA_NO_XREF(D3DDevice_EndVisibilityTest, 5788, 7) { 0x50, 0x0C }, { 0x58, 0x04 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_GetViewport @@ -77,6 +78,7 @@ OOVPA_NO_XREF(D3DDevice_SetBackBufferScale, 5788, 7) { 0xDE, 0xC0 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -102,7 +104,8 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5788, 12) { 0x40, 0xC2 }, { 0x41, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetDepthStencilSurface2 // ****************************************************************** @@ -130,7 +133,8 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 5788, 10) // D3DDevice_GetDepthStencilSurface2+0x1D : retn { 0x1D, 0xC3 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_CreatePixelShader // ****************************************************************** @@ -146,7 +150,8 @@ OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 5788, 9) { 0x3D, 0x24 }, { 0x46, 0x08 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** @@ -160,7 +165,8 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 5788, 7) { 0x40, 0x5E }, { 0x4D, 0x5E }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_DrawIndexedVerticesUP // ****************************************************************** @@ -175,7 +181,8 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 5788, 8) { 0xE4, 0xDB }, { 0xFF, 0x0C }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** @@ -191,7 +198,8 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5788, 9) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -206,7 +214,7 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 5788, 8) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; - +#endif #if 0 // Moved to 5028 // ****************************************************************** // * D3DDevice_BeginStateBig @@ -230,7 +238,7 @@ OOVPA_NO_XREF(D3DDevice_BeginStateBig, 5788, 15) { 0x40, 0x5E }, OOVPA_END; #endif -#if 0 // No longer used, replaced by generic 4627 version +#if 1 // This one _IDirect3DVertexBuffer8_Lock@20, replaced by generic 4627 version // ****************************************************************** // * D3DVertexBuffer8_Lock // ****************************************************************** @@ -277,7 +285,7 @@ OOVPA_NO_XREF(D3D_AllocContiguousMemory, 5788, 7) { 0x2F, 0x24 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DTexture8_GetLevelDesc // ****************************************************************** @@ -302,7 +310,7 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 5788, 10) { 0xAE, 0xC2 }, { 0xAF, 0x0C }, OOVPA_END; - +#endif #if 0 // Used 5028 // ****************************************************************** // * D3DDevice_CreateTexture2 @@ -322,7 +330,7 @@ OOVPA_XREF(D3DDevice_CreateTexture2, 5788, 8, { 0xAE, 0x1C }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetVertexShaderConstant1 // ****************************************************************** @@ -349,7 +357,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstant1, 5788, 11) { 0x5D, 0xEB }, { 0x5E, 0xA2 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetVertexData2f @@ -366,7 +374,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 5788, 8) { 0x35, 0x0C }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -381,6 +389,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 5788, 8) { 0xDE, 0x8B }, { 0xFE, 0x7D }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_BeginPushBuffer @@ -483,6 +492,7 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5788, 7) { 0x23, 0xC3 }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** @@ -499,7 +509,7 @@ OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5788, 10) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * IDirectD3DDevice8_Release @@ -615,7 +625,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 5788, 13) { 0x43, 0x04 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4432 version // ****************************************************************** // * D3DDevice8::SetDepthClipPlanes // ****************************************************************** @@ -643,7 +653,7 @@ OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 5788, 18) { 0x7C, 0x8B }, { 0x80, 0xE8 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5788 version // ****************************************************************** // * D3DDevice8::SetDepthClipPlanes @@ -670,7 +680,7 @@ OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 5788, 13) { 0x17, 0x00 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -684,6 +694,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 5788, 7) { 0x6E, 0x8B }, { 0x7C, 0x89 }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetPushBufferOffset @@ -699,6 +710,7 @@ OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 5788, 7) { 0x91, 0x5F }, OOVPA_END; #endif +#if 1 // No longer used, replaced by generic 5558 version // ****************************************************************** // * D3D::MakeRequestedSpace // ****************************************************************** @@ -737,7 +749,7 @@ OOVPA_XREF(D3D_MakeRequestedSpace, 5788, 28, // Also for 5849, 5933 { 0x1E, 0x00 }, { 0x1F, 0x00 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic D3DDevice_MakeSpace 4134 version // ****************************************************************** // * D3D::Unknown (D3D::MakeSpace?) @@ -773,7 +785,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5788, 7) { 0x13, 0xC1 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D::ClearStateBlockFlags // ****************************************************************** @@ -797,6 +809,7 @@ OOVPA_XREF(D3D_ClearStateBlockFlags, 5788, 9, { 0x30, 0xC1 }, { 0x31, 0x90 }, OOVPA_END; +#endif // ****************************************************************** // * D3D::RecordStateBlock @@ -823,6 +836,7 @@ OOVPA_XREF(D3D_RecordStateBlock, 5788, 10, { 0xD8, 0x01 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** @@ -836,6 +850,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 5788, 7) { 0x40, 0x08 }, { 0x4C, 0x5F }, OOVPA_END; +#endif #if 0 // Moved to 5558 // ****************************************************************** // * D3DDevice_GetTile @@ -851,7 +866,7 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 5788, 7) { 0x36, 0x14 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** @@ -878,7 +893,8 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 5788, 13) // D3D::CDevice::KickOff+0xAF : retn { 0xAF, 0xC3 } OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** @@ -894,7 +910,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5788, 9) { 0x24, 0xC2 }, { 0x26, 0x00 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode @@ -927,7 +943,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 5788, 7) { 0x6B, 0x5F }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** @@ -941,7 +957,8 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 5788, 7) { 0x2E, 0x89 }, { 0x36, 0x00 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetScissors // ****************************************************************** @@ -955,7 +972,8 @@ OOVPA_NO_XREF(D3DDevice_GetScissors, 5788, 7) { 0x40, 0xC1 }, { 0x4B, 0xA4 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** @@ -970,6 +988,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5788, 8) { 0x16, 0xF3 }, { 0x1A, 0xC2 }, OOVPA_END; +#endif #if 0 // No longer used, replaced by generic 3925 version // ****************************************************************** // * D3DDevice_DeleteStateBlock diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index a31acf91f..af670ea87 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -65,6 +65,7 @@ OOVPA_XREF(D3D_SetFence, 5849, 7, { 0xA8, 0x75 }, OOVPA_END; +#if 1 // No longer used, replaced by generic 5558 version // ****************************************************************** // * D3D::BlockOnTime // * Source: Spiderman 2 @@ -81,7 +82,8 @@ OOVPA_XREF(D3D_BlockOnTime, 5849, 6, { 0xD9, 0x56 }, { 0xF8, 0x47 }, OOVPA_END; - +#endif +#if 1 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -105,7 +107,7 @@ OOVPA_NO_XREF(Get2DSurfaceDesc, 5849, 10) { 0xAE, 0xC2 }, { 0xAF, 0x0C }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset @@ -126,7 +128,7 @@ OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 5849, 8) { 0x47, 0x08 }, OOVPA_END; #endif - +#if 1 // No longer used, replaced by generic 4432 version // ****************************************************************** // * D3DDevice8::SetDepthClipPlanes // ****************************************************************** @@ -151,6 +153,7 @@ OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 5849, 11) { 0x88, 0xC2 }, { 0x89, 0x0C }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_SetRenderState_StencilFail From ace13ba786bc8e1707439c00b1e1ded9df69e26a Mon Sep 17 00:00:00 2001 From: jarupxx Date: Thu, 19 Oct 2017 07:24:15 +0900 Subject: [PATCH 142/146] Moved OOVPAs lowere HLEDBv2 --- src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 200 ++++++++++++------------ 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index e26122daa..c23ae6d98 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -126,35 +126,35 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(CMiniport_CreateCtxDmaObject, PATCH, 3911, 4034), - REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 3911, 4034, 4361, 4627, 5455), + REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 3911, 4034/*, 4361, 4627*/, 5455), REGISTER_OOVPAS(CMiniport_IsFlipPending, XREF, 4627), REGISTER_OOVPAS(D3DBaseTexture_GetLevelCount, PATCH, 3911), - REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, PATCH, 3911, 4134, 4627, 5558), // Called D3DCubeTexture_GetCubeMapSurface2 (from 4627's comment) NOTE: Use D3DCubeTexture_GetCubeMapSurface2 for 4627 and above + REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, PATCH, 3911/*, 4134*/, 4627/*, 5558*/), // Called D3DCubeTexture_GetCubeMapSurface2 (from 4627's comment) NOTE: Use D3DCubeTexture_GetCubeMapSurface2 for 4627 and above REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, PATCH, 4627), REGISTER_OOVPAS(D3DCubeTexture_LockRect, PATCH, 3911), // Just calls Lock2DSurface (from 4134, 4432's comment) REGISTER_OOVPAS(D3DDevice_AddRef, PATCH, 3911, 4039, 4134, 4242, 4627, 5028, 5344, 5558, 5659), - REGISTER_OOVPAS(D3DDevice_ApplyStateBlock, PATCH, 3911, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_ApplyStateBlock, PATCH, 3911/*, 4361*/, 4627), REGISTER_OOVPAS(D3DDevice_Begin, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_BeginPush, PATCH, 4134, 4432, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_BeginPush, PATCH, 4134/*, 4432*/, 4627, 5028), REGISTER_OOVPAS(D3DDevice_BeginPushBuffer, PATCH, 3911, 4134), // Not implemented yet. (from 5788's comment) REGISTER_OOVPAS(D3DDevice_BeginStateBig, XREF, 5028), REGISTER_OOVPAS(D3DDevice_BeginStateBlock, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 3911, 4034, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 3911, 4034/*, 4361, 4627*/), REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3911/*, 4039, 4134, 5233*/), REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3911, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3911, 4134, 4627, 5455), - REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3911, 4034, 4134, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3911, 4034, 4134, 4627, 5120), - REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3911, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3911, 4134/*, 4627, 5455*/), + REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3911, 4034/*, 4134, 4627, 5028*/), + REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3911, 4034/*, 4134*/, 4627, 5120), + REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3911/*, 4361*/, 4627), REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3911, 4034, 4134, 4627),//TODO 4721,4928 (from 4627's comment) REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer, UNPATCHED, 3911, 4627/*, 5558*/), // TODO: This needs to be verified on 4361 REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer2, UNPATCHED, 4627, 5344), REGISTER_OOVPAS(D3DDevice_CreatePalette, PATCH, 3911, 4627), // Called D3DDevice_CreatePalette2 (from 4627's comment) NOTE: Use D3DDevice_CreatePalette2 for 4627 and above REGISTER_OOVPAS(D3DDevice_CreatePalette2, PATCH, 4627, 5344, 5455), - REGISTER_OOVPAS(D3DDevice_CreatePixelShader, PATCH, 3911, 5344, 5788), - REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3911, 4627), + REGISTER_OOVPAS(D3DDevice_CreatePixelShader, PATCH, 3911, 5344/*, 5788*/), + REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3911/*, 4627*/), REGISTER_OOVPAS(D3DDevice_CreateTexture, PATCH, 3911, 4627),// Called D3DDevice_CreateTexture2 (from 4627's comment) NOTE: Use D3DDevice_CreateTexture2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_CreateTexture2, PATCH, 4627, 4831, 5028, 5233), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_CreateTexture2, PATCH, 4627, 4831/*, 5028, 5233*/), // Was 4627 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer, UNPATCHED, 3911), REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer2, UNPATCHED, 4627, 5344, 5455), REGISTER_OOVPAS(D3DDevice_CreateVertexShader, PATCH, 3911), @@ -164,169 +164,169 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, PATCH, 3911/*, 4361, 5788*/), REGISTER_OOVPAS(D3DDevice_DeleteVertexShader, PATCH, 3911, 5344), REGISTER_OOVPAS(D3DDevice_DrawIndexedVertices, PATCH, 3911, 4034, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, PATCH, 3911, 4039, 4134, 4627, 5028, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, PATCH, 3911, 4039/*, 4134, 4627*/, 5028, 5344/*, 5558, 5788*/), REGISTER_OOVPAS(D3DDevice_DrawRectPatch, PATCH, 3911), // TODO: Unused? (from 4034's comment) REGISTER_OOVPAS(D3DDevice_DrawTriPatch, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 3911, 4034, 5028), - REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 3911, 4039, 4134, 4627, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_DrawVertices, PATCH, 3911/*, 4034, 5028*/), + REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, PATCH, 3911, 4039/*, 4134, 4627*/, 5344/*, 5558, 5788*/), REGISTER_OOVPAS(D3DDevice_EnableOverlay, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_End, PATCH, 3911, 4039/*, 4627, 5028/*, 5344/*, 5558*/), + REGISTER_OOVPAS(D3DDevice_End, PATCH, 3911, 4039/*, 4627, 5028*/, 5344/*, 5558*/), REGISTER_OOVPAS(D3DDevice_EndPush, PATCH, 4134/*, 4627*/), // Was 4627 (from 5233's comment) - REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3911, 4134), // Not implemented yet. (from 5788's comment) + REGISTER_OOVPAS(D3DDevice_EndPushBuffer, PATCH, 3911/*, 4134*/), // Not implemented yet. (from 5788's comment) REGISTER_OOVPAS(D3DDevice_EndStateBlock, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, PATCH, 3911/*, 4034, 4361, 4627, 5788*/), REGISTER_OOVPAS(D3DDevice_FlushVertexCache, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_GetBackBuffer, PATCH, 3911, 4034, 4134, 4627, 5558), // Called D3DDevice_GetBackBuffer2 (from 4627's comment) NOTE: Use D3DDevice_GetBackBuffer2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, PATCH, 4627, 5028, 5344, 5455, 5558, 5788), // 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_GetBackMaterial, PATCH, 3911, 4134, 4627, 5344, 5455, 5558, 5659, 5788), + REGISTER_OOVPAS(D3DDevice_GetBackBuffer, PATCH, 3911, 4034, 4134, 4627/*, 5558*/), // Called D3DDevice_GetBackBuffer2 (from 4627's comment) NOTE: Use D3DDevice_GetBackBuffer2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, PATCH, 4627/*, 5028, 5344, 5455, 5558, 5788*/), // 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_GetBackMaterial, PATCH, 3911, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 5788*/), REGISTER_OOVPAS(D3DDevice_GetCreationParameters, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface, PATCH, 3911, 4627), // Called D3DDevice_GetDepthStencilSurface2 (from 4627's comment) NOTE: Use D3DDevice_GetDepthStencilSurface2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface2, PATCH, 4627, 5028, 5788), + REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface2, PATCH, 4627/*, 5028, 5788*/), REGISTER_OOVPAS(D3DDevice_GetDeviceCaps, UNPATCHED, 3911), - REGISTER_OOVPAS(D3DDevice_GetDisplayFieldStatus, PATCH, 3911, 4039, 4432, 5233, 5788), - REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 3911, 4039, 4432, 4627), + REGISTER_OOVPAS(D3DDevice_GetDisplayFieldStatus, PATCH, 3911/*, 4039, 4432, 5233, 5788*/), + REGISTER_OOVPAS(D3DDevice_GetDisplayMode, PATCH, 3911, 4039/*, 4432, 4627*/), REGISTER_OOVPAS(D3DDevice_GetGammaRamp, PATCH, 3911/*, 3925, 4034*/), REGISTER_OOVPAS(D3DDevice_GetLight, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetLightEnable, PATCH, 3911, 5344), - REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3911, 4134, 4627, 5344, 5455, 5558, 5659, 5788), + REGISTER_OOVPAS(D3DDevice_GetMaterial, PATCH, 3911, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 5788*/), REGISTER_OOVPAS(D3DDevice_GetModelView, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_GetOverlayUpdateStatus, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetPersistedSurface2, PATCH, 4928), // For only on Unreal Championship (from 4627's comment) REGISTER_OOVPAS(D3DDevice_GetPixelShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_GetProjectionViewportMatrix, PATCH, 3911, 4134, 4432, 4627, 5344, 5558), // For 5455 (from 5558's comment) + REGISTER_OOVPAS(D3DDevice_GetProjectionViewportMatrix, PATCH, 3911, 4134/*, 4432*/, 4627, 5344, 5558), // For 5455 (from 5558's comment) REGISTER_OOVPAS(D3DDevice_GetPushBufferOffset, PATCH, 3911, 4627),//TODO 4831 (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_GetRenderTarget, PATCH, 3911, 4039, 4134, 4361, 4432, 4627), // Called D3DDevice_GetRenderTarget2 (from 4627's comment) NOTE: Use D3DDevice_GetRenderTarget2 for 4627 and above - REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, PATCH, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_GetScissors, PATCH, 3911, 5788), - REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3911, 4134, 4627, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetRenderTarget, PATCH, 3911, 4039, 4134/*, 4361, 4432*/, 4627), // Called D3DDevice_GetRenderTarget2 (from 4627's comment) NOTE: Use D3DDevice_GetRenderTarget2 for 4627 and above + REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, PATCH, 4627/*, 5028*/), + REGISTER_OOVPAS(D3DDevice_GetScissors, PATCH, 3911/*, 5788*/), + REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3911, 4134, 4627, 5028, 5344, 5558, 5788), REGISTER_OOVPAS(D3DDevice_GetStreamSource2, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3911, 4134, 4627, 5028, 5344, 5455), + REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3911/*, 4134, 4627, 5028, 5344*/, 5455), REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3911, 4039, 4134, 5028, 5788), + REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), REGISTER_OOVPAS(D3DDevice_GetVertexShaderConstant, PATCH, 3911, 4039, 5028), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3911, 4134, 4627, 5455), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_GetVertexShaderInput, PATCH, 3911, 4134, 4627), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3911/*, 4134, 4627, 5455*/), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3911/*, 4134*/), + REGISTER_OOVPAS(D3DDevice_GetVertexShaderInput, PATCH, 3911/*, 4134, 4627*/), REGISTER_OOVPAS(D3DDevice_GetVertexShaderSize, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetVertexShaderType, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_GetViewport, PATCH, 3911, 4034, 4134, 4627, 5344, 5455/*, 5788*/), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_GetViewport, PATCH, 3911/*, 4034, 4134, 4627, 5344*/, 5455/*, 5788*/), // Was 4627 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale, PATCH, 4432/*, 5558*/), REGISTER_OOVPAS(D3DDevice_GetVisibilityTestResult, PATCH, 3911, 5233), - REGISTER_OOVPAS(D3DDevice_InsertCallback, PATCH, 3911, 4134, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_InsertCallback, PATCH, 3911, 4134/*, 4627*/, 5028), REGISTER_OOVPAS(D3DDevice_InsertFence, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3911, 4034, 5028, 5344), - REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3911, 4039, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3911, 4039, 4134, 4531, 5028, 5455, 5788), + REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3911/*, 4034*/, 5028/*, 5344*/), + REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3911, 4039, 5028/*, 5558*/), + REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3911, 4039/*, 4134*/, 4531, 5028, 5455/*, 5788*/), REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_LazySetStateVB, XREF, 5028), - REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911, 5028, 5344), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911/*, 5028*/, 5344), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_LoadVertexShader, PATCH, 3911, 4034, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, PATCH, 3911, 4134, 4627, 5558), + REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, PATCH, 3911/*, 4134, 4627, 5558*/), REGISTER_OOVPAS(D3DDevice_MakeSpace, UNPATCHED, 4134), REGISTER_OOVPAS(D3DDevice_PersistDisplay, PATCH, 3911, 4039, 4627, 4831, 5455, 5558), REGISTER_OOVPAS(D3DDevice_Present, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_PrimeVertexCache, PATCH, 3911, 4134, 4361, 4627), + REGISTER_OOVPAS(D3DDevice_PrimeVertexCache, PATCH, 3911, 4134/*, 4361, 4627*/), REGISTER_OOVPAS(D3DDevice_Release, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3911, 4039), + REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3911/*, 4039*/), REGISTER_OOVPAS(D3DDevice_RunPushBuffer, PATCH, 3911, 4039, 4627, 5120, 5558), // for 5455 (from 5558's comment) REGISTER_OOVPAS(D3DDevice_RunVertexStateShader, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3911, 4039, 4627, 5344, 5455), + REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3911, 4039/*, 4627, 5344*/, 5455), REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, PATCH, 4361), REGISTER_OOVPAS(D3DDevice_SetBackBufferScale, PATCH, 4134), - REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3911, 4134, 4627, 5344, 5455, 5558, 5659, 5788), - REGISTER_OOVPAS(D3DDevice_SetDepthClipPlanes, PATCH, 4627, 5788, 5849), + REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3911, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 5788*/), + REGISTER_OOVPAS(D3DDevice_SetDepthClipPlanes, PATCH, 4432/*, 4627, 5788, 5849*/), REGISTER_OOVPAS(D3DDevice_SetFlickerFilter, PATCH, 3911, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetGammaRamp, PATCH, 3911, 4627), - REGISTER_OOVPAS(D3DDevice_SetIndices, UNPATCHED, 3911, 4034, 4134, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_SetLight, PATCH, 3911, 4034, 4134, 5028, 5344, 5558), - REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3911, 4034, 4134, 4627, 5344, 5455, 5558, 5659, 5788), // Was 4627 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetIndices, UNPATCHED, 3911, 4034/*, 4134, 5028, 5558*/), + REGISTER_OOVPAS(D3DDevice_SetLight, PATCH, 3911/*, 4034, 4134, 5028*/, 5344/*, 5558*/), + REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3911, 4034, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 5788*/), // Was 4627 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetModelView, PATCH, 3911, 4134, 4627), - REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3911, 4034, 4134, 4432, 4627, 5233, 5344, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3911, 4039, 4134, 4432, 4627), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3911, 4039, 4831/*, 5233, 5558*/), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3911, 4361, 4627, 5558), - REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3911, 4034, 4134, 4531, 5788), + REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3911, 4034/*, 4134, 4432, 4627, 5233, 5344, 5558, 5788*/), + REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3911, 4039/*, 4134, 4432*/, 4627), + REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3911/*, 4039*/, 4831/*, 5233, 5558*/), + REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3911/*, 4361, 4627, 5558*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3911/*, 4034*/, 4134/*, 4531, 5788*/), REGISTER_OOVPAS(D3DDevice_SetRenderState_CullMode, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetRenderState_Deferred, UNPATCHED, 3911), REGISTER_OOVPAS(D3DDevice_SetRenderState_DoNotCullUncompressed, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_Dxt1NoiseEnable, PATCH, 3911, 4034, 4134, 4627, 5028, 5344, 5558), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_EdgeAntiAlias, PATCH, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FillMode, PATCH, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FogColor, PATCH, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_FrontFace, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_Dxt1NoiseEnable, PATCH, 3911, 4034/*, 4134*/, 4627/*, 5028, 5344, 5558*/), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetRenderState_EdgeAntiAlias, PATCH, 3911, 4034/*, 4134*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_FillMode, PATCH, 3911, 4034/*, 4134*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_FogColor, PATCH, 3911, 4034/*, 4134*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_FrontFace, PATCH, 3911, 4034/*, 4134*/), REGISTER_OOVPAS(D3DDevice_SetRenderState_LineWidth, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_LogicOp, PATCH, 3911, 4034, 4134, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleAntiAlias, PATCH, 3911, 4034, 4134, 4432, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMask, PATCH, 3911, 4034, 4134, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMode, PATCH, 3925, 4034, 4134, 4627, 5233, 5455, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, PATCH, 4034, 4134, 4627, 5233, 5344/*, 5455, 5558, 5788*/), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_NormalizeNormals, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_LogicOp, PATCH, 3911, 4034/*, 4134, 4627*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleAntiAlias, PATCH, 3911, 4034/*, 4134, 4432*/, 4627), + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMask, PATCH, 3911, 4034/*, 4134*/, 4627), + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleMode, PATCH, 3925, 4034, 4134, 4627, 5233/*, 5455, 5558, 5788*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, PATCH, 4034, 4134, 4627/*, 5233*/, 5344/*, 5455, 5558, 5788*/), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetRenderState_NormalizeNormals, PATCH, 3911, 4034/*, 4134*/), REGISTER_OOVPAS(D3DDevice_SetRenderState_OcclusionCullEnable, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetRenderState_PSTextureModes, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZCmpAlwaysRead, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_SetRenderState_RopZRead, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_SetRenderState_SampleAlpha, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ShadowFunc, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_ShadowFunc, PATCH, 3911, 4034/*, 4134*/), REGISTER_OOVPAS(D3DDevice_SetRenderState_Simple, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilCullEnable, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilEnable, PATCH, 3911, 4034, 4134, 5849), - REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilFail, PATCH, 3911, 4034, 4134, 5849), - REGISTER_OOVPAS(D3DDevice_SetRenderState_TextureFactor, PATCH, 3911, 4034, 4134, 5028, 5558, 5788), - REGISTER_OOVPAS(D3DDevice_SetRenderState_TwoSidedLighting, PATCH, 3911, 4034, 4134, 5344, 5558), // Beware of the typo... (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_SetRenderState_VertexBlend, PATCH, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetRenderState_YuvEnable, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilEnable, PATCH, 3911, 4034/*, 4134*/, 5849), + REGISTER_OOVPAS(D3DDevice_SetRenderState_StencilFail, PATCH, 3911, 4034/*, 4134*/, 5849), + REGISTER_OOVPAS(D3DDevice_SetRenderState_TextureFactor, PATCH, 3911, 4034/*, 4134, 5028, 5558, 5788*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_TwoSidedLighting, PATCH, 3911, 4034/*, 4134*/, 5344/*, 5558*/), // Beware of the typo... (from 4627's comment) + REGISTER_OOVPAS(D3DDevice_SetRenderState_VertexBlend, PATCH, 3911, 4034/*, 4134*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_YuvEnable, PATCH, 3911, 4034/*, 4134*/), REGISTER_OOVPAS(D3DDevice_SetRenderState_ZBias, PATCH, 3911), - REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, PATCH, 3911, 4034, 4134, 4432, 4627, 5028), - REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3911, 3948, 4039, 4134, 4627, 5344, 5455/*, 5558*/), - REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 5233, 5344), - REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3911, 4039, 4361, 4627, 5233, 5344, 5558), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4039, 5233, 5344, 5455), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3911, 4039, 4134, 4361, 4627, 5028), + REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, PATCH, 3911, 4034, 4134, 4432/*, 4627, 5028*/), + REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3911, 3948, 4039/*, 4134*/, 4627, 5344, 5455/*, 5558*/), + REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 5233/*, 5344*/), + REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3911/*, 4039, 4361, 4627, 5233*/, 5344, 5558), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4039/*, 5233, 5344*/, 5455), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3911, 4039/*, 4134, 4361, 4627, 5028*/), REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter, PATCH, 3911, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetStateUP, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3DDevice_SetStateVB, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3DDevice_SetStipple, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_SetStreamSource, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), - REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3911, 4034, 4627, 4831, 5344), // Was 4928 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3911, 4034, 4361), + REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3911, 4034/*, 4627*/, 4831/*, 5344*/), // Was 4928 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3911, 4034/*, 4361*/), REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3911, 4034, 4134), + REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3911, 4034/*, 4134*/), REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3911, 4034, 4242, 4627), - REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3911, 4039, 4134, 4627, 5028, 5455/*, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. - REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3911, 4034, 4134, 5344, 5558), // Was 4134 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3911, 4039/*, 4134*/, 4627/*, 5028*/, 5455/*, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. + REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3911, 4034/*, 4134*/, 5344, 5558), // Was 4134 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3911, 4039), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3911, 4134, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3911, 4134/*, 4361*/), REGISTER_OOVPAS(D3DDevice_SetVertexData4f, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_SetVertexData4s, PATCH, 3911, 4134, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexData4s, PATCH, 3911, 4134/*, 4361*/), REGISTER_OOVPAS(D3DDevice_SetVertexData4ub, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SetVertexDataColor, PATCH, 3911, 4039, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexDataColor, PATCH, 3911, 4039/*, 4361*/), REGISTER_OOVPAS(D3DDevice_SetVertexShader, PATCH, 3911, 4034, 4134, 5028, 5455), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant, PATCH, 3911, 4034, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1, PATCH, 4627, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1, PATCH, 4627/*, 5558, 5788*/), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant1Fast, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant4, PATCH, 4627), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInline, PATCH, 4627, 5028, 5558), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInlineFast, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, PATCH, 3911, 4134, 4361), + REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, PATCH, 3911, 4134/*, 4361*/), REGISTER_OOVPAS(D3DDevice_SetVertexShaderInputDirect, PATCH, 4361), REGISTER_OOVPAS(D3DDevice_SetVerticalBlankCallback, PATCH, 3911, 4039, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3911, 4034, 4627, 5028, 5344, 5455), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 4034, 4531, 4627, 5028, 5233), - REGISTER_OOVPAS(D3DDevice_SwitchTexture, PATCH, 3911, 4361), + REGISTER_OOVPAS(D3DDevice_SetViewport, PATCH, 3911, 4034/*, 4627, 5028*/, 5344, 5455), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_Swap, PATCH, 4034, 4531, 4627/*, 5028, 5233*/), + REGISTER_OOVPAS(D3DDevice_SwitchTexture, PATCH, 3911/*, 4361*/), REGISTER_OOVPAS(D3DDevice_UpdateOverlay, PATCH, 3911, 4531,/* 5028,*/ 5233/*, 5344, 5558*/), - REGISTER_OOVPAS(D3DPalette_Lock, PATCH, 3911, 4531, 4627, 5344), // Called D3DPalette_Lock2 (from 4627's comment) NOTE: Use D3DPalette_Lock2 for 4627 and above + REGISTER_OOVPAS(D3DPalette_Lock, PATCH, 3911, 4531, 4627/*, 5344*/), // Called D3DPalette_Lock2 (from 4627's comment) NOTE: Use D3DPalette_Lock2 for 4627 and above REGISTER_OOVPAS(D3DPalette_Lock2, PATCH, 4627), REGISTER_OOVPAS(D3DResource_AddRef, PATCH, 3911), REGISTER_OOVPAS(D3DResource_BlockUntilNotBusy, PATCH, 3911), REGISTER_OOVPAS(D3DResource_GetType, UNPATCHED, 3911, 4034), // Probably not even necessary... (from 3925's comment) // I forget why I had this in here... (from 5028's comment) REGISTER_OOVPAS(D3DResource_IsBusy, PATCH, 3911, 4039), REGISTER_OOVPAS(D3DResource_Register, PATCH, 3911), - REGISTER_OOVPAS(D3DResource_Release, PATCH, 3911, 4361), + REGISTER_OOVPAS(D3DResource_Release, PATCH, 3911/*, 4361*/), REGISTER_OOVPAS(D3DSurface_GetDesc, PATCH, 3911), REGISTER_OOVPAS(D3DSurface_LockRect, PATCH, 3911), - REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel, PATCH, 3911, 4432, 4627), + REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel, PATCH, 3911/*, 4432*/, 4627), REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel2, PATCH, 4627), REGISTER_OOVPAS(D3DTexture_LockRect, PATCH, 3911), REGISTER_OOVPAS(D3DVertexBuffer_GetDesc, UNPATCHED, 3911), @@ -335,10 +335,10 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DVolumeTexture_LockBox, PATCH, 3911), // Just calls Lock3DSurface (from 4134, 4432's comment) REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3911, 5455/*, 5788*/), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment) REGISTER_OOVPAS(D3D_BlockOnResource, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4039, 4361, 4627, 5028, 5558, 5849), + REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4039/*, 4361*/, 4627, 5028, 5558/*, 5849*/), REGISTER_OOVPAS(D3D_CMiniport_GetDisplayCapabilities, PATCH, 3911), - REGISTER_OOVPAS(D3D_CheckDeviceFormat, UNPATCHED, 3911, 4134), - REGISTER_OOVPAS(D3D_ClearStateBlockFlags, XREF, 3911, 5788), + REGISTER_OOVPAS(D3D_CheckDeviceFormat, UNPATCHED, 3911/*, 4134*/), + REGISTER_OOVPAS(D3D_ClearStateBlockFlags, XREF, 3911/*, 5788*/), REGISTER_OOVPAS(D3D_CommonSetRenderTarget, XREF, 4627, 5028/*, 5233*/), // Used between 4627 to 5233 (from 5344's comment) REGISTER_OOVPAS(D3D_CommonSetRenderTargetB, XREF, 4627), REGISTER_OOVPAS(D3D_CreateDeviceX, UNPATCHED, 4627), @@ -351,17 +351,17 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle, PATCH, 3911, 4034, 4627, 5028), REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle2, PATCH, 4627), REGISTER_OOVPAS(D3D_LazySetPointParams, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3D_RecordStateBlock, XREF, 3911, 5788), + REGISTER_OOVPAS(D3D_RecordStateBlock, XREF, 3911/*, 5788*/), REGISTER_OOVPAS(D3D_SetCommonDebugRegisters, PATCH, 3911), REGISTER_OOVPAS(D3D_SetFence, XREF, 3911, 4039, 4134, 5028, 5558), REGISTER_OOVPAS(D3D_SetPushBufferSize, UNPATCHED, 3911), // REGISTER_OOVPAS(D3D_Unknown, XREF, 5788), // This one D3DDevice_MakeSpace REGISTER_OOVPAS(Direct3D_CheckDeviceMultiSampleType, UNPATCHED, 3911), REGISTER_OOVPAS(Direct3D_CreateDevice, PATCH, 3911, 5028), - REGISTER_OOVPAS(Get2DSurfaceDesc, PATCH, 3911, 4034, 4134, 4627, 5028, 5344, 5558, 5788, 5849), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(Get2DSurfaceDesc, PATCH, 3911, 4034/*, 4134, 4627, 5028, 5344, 5558, 5788, 5849*/), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(Lock2DSurface, PATCH, 3911), REGISTER_OOVPAS(Lock3DSurface, PATCH, 3911), - REGISTER_OOVPAS(D3D_MakeRequestedSpace, PATCH, 4134, 5028, 5558, 5788), + REGISTER_OOVPAS(D3D_MakeRequestedSpace, PATCH, 4134, 5028, 5558/*, 5788*/), REGISTER_OOVPAS(XMETAL_StartPush, UNPATCHED, 3911), }; From 8ea9e8a9788d73c28868fa3efabe269b7e909d04 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Thu, 19 Oct 2017 07:33:07 +0900 Subject: [PATCH 143/146] Moved OOVPAs lowere HLEDBv1 --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 30 ++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 90 +++++++-------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 120 +++++++++---------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 122 ++++++++++---------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 110 +++++++++--------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 118 +++++++++---------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 120 +++++++++---------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 112 +++++++++--------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 128 ++++++++++----------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 128 ++++++++++----------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 126 ++++++++++---------- 11 files changed, 602 insertions(+), 602 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 324a2098d..3c3b6d48b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -2557,7 +2557,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH), @@ -2567,11 +2567,11 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), REGISTER_OOVPA(D3D_SetFence, 4039, XREF), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 4039, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScissors, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 4039, PATCH), @@ -2593,7 +2593,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), @@ -2623,7 +2623,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4034, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), @@ -2639,7 +2639,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), @@ -2663,7 +2663,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), @@ -2678,7 +2678,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), @@ -2708,14 +2708,14 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), -// REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), -// REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4134, PATCH), +// REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), +// REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH), -// REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4134, PATCH), +// REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), -// REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4134, PATCH), -// REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), +// REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), +// REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), // REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), @@ -2727,7 +2727,7 @@ OOVPATable D3D8_4034[] = { // REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), // REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), -// REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), +// REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), // ****************************************************************** }; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 7e1df3720..883ab1052 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -2831,14 +2831,14 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), - REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), + REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4034, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), @@ -2849,7 +2849,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 3911, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPalette, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH), @@ -2882,61 +2882,61 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_CopyRects, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_CopyRects, 4034, PATCH), REGISTER_OOVPA(D3D_CreateStandAloneSurface, 4134, XREF), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetIndices, 4134, DISABLED), + REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), - REGISTER_OOVPA(Get2DSurfaceDesc, 4134, PATCH), + REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), @@ -2944,17 +2944,17 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4134, PATCH), @@ -2969,12 +2969,12 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), @@ -2989,21 +2989,21 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), - REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4134, PATCH), + REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScissors, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), @@ -3012,7 +3012,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index 080d9483b..2497ddc88 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -1228,12 +1228,12 @@ OOVPA_END; // ****************************************************************** OOVPATable D3D8_4361[] = { - REGISTER_OOVPA(CMiniport_InitHardware, 4361, PATCH), + REGISTER_OOVPA(CMiniport_InitHardware, 4034, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), - REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), + REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), @@ -1245,55 +1245,55 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CopyRects, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_CopyRects, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetIndices, 4134, DISABLED), + REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4134, PATCH), @@ -1301,16 +1301,16 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), - REGISTER_OOVPA(D3DResource_Release, 4361, PATCH), + REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), - REGISTER_OOVPA(Get2DSurfaceDesc, 4134, PATCH), + REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 3911, DISABLED), // TODO: This needs to be verified on 4361, not just 4242! @@ -1320,28 +1320,28 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface - REGISTER_OOVPA(D3DDevice_SetPalette, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), @@ -1349,18 +1349,18 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4242, PATCH), - REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), @@ -1374,32 +1374,32 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4361, PATCH), - REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScissors, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), + REGISTER_OOVPA(D3D_BlockOnTime, 4039, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), @@ -1408,10 +1408,10 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH), @@ -1419,7 +1419,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), }; // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index 38144f8b8..dbe440501 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -705,68 +705,68 @@ OOVPA_END; // No longer supported XDK 4531 by HLEDB_v1 OOVPATable D3D8_4432[] { - REGISTER_OOVPA(CMiniport_InitHardware, 4361, PATCH), + REGISTER_OOVPA(CMiniport_InitHardware, 4034, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), - REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), + REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4242, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPalette, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4034, PATCH), // REGISTER_OOVPA(D3DDevice_Swap, 4531, PATCH), @@ -774,19 +774,19 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4432, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), - REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 4432, PATCH), + REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), @@ -798,96 +798,96 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), // REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4531, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), - REGISTER_OOVPA(Get2DSurfaceDesc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), + REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), // REGISTER_OOVPA(D3DVertexBuffer_Lock, 4531, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetIndices, 4134, DISABLED), + REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_BeginPush, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_BeginPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetScissors, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),// Just calls Lock2DSurface - REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetTile, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4361, PATCH), + REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 4361, PATCH), + REGISTER_OOVPA(D3D_BlockOnTime, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), - REGISTER_OOVPA(D3DDevice_SetTile, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_CopyRects, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_CopyRects, 4034, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index dc7497590..bcf80fa01 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -1080,7 +1080,7 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture, 4627, 11) { 0x38, 0xC2 }, OOVPA_END; -#if 0 // Used 4134 instead in 4627, 4721, 4831, 4928 +#if 0 // Used 4034 instead in 4627, 4721, 4831, 4928 // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** @@ -3641,7 +3641,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), REGISTER_OOVPA(D3D_CreateDeviceX, 4627, DISABLED), - REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), + REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), @@ -3655,22 +3655,22 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4627, DISABLED), // Called D3DDevice_GetBackBuffer2 - REGISTER_OOVPA(D3DDevice_SetViewport, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3D_CommonSetRenderTarget, 4627, XREF), REGISTER_OOVPA(D3D_CommonSetRenderTargetB, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4627, DISABLED), // Called D3DDevice_GetRenderTarget2 REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 4627, DISABLED), // Called D3DDevice_GetDepthStencilSurface2 - REGISTER_OOVPA(D3DDevice_GetTile, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), @@ -3683,16 +3683,16 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_CreateTexture2, 4627, PATCH), // REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 4627, DISABLED), // Called D3DDevice_CreateTexture2 - REGISTER_OOVPA(D3DDevice_SetIndices, 4134, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), + REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), // REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4627, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED), @@ -3700,41 +3700,41 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), @@ -3746,7 +3746,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DResource_GetType, 4034, DISABLED), - REGISTER_OOVPA(Get2DSurfaceDesc, 4627, PATCH), + REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), @@ -3761,37 +3761,37 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_GetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetScissors, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetPalette, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_InsertCallback, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4531, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 4531, PATCH), // REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), // Beware of the typo... + REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), // Beware of the typo... REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStateVB, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_SetStateUP, 4627, DISABLED), @@ -3803,7 +3803,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_PersistDisplay, 4627, PATCH), // REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), @@ -3812,7 +3812,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), @@ -3832,22 +3832,22 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 4627, PATCH), // Called D3DPalette_Lock2 REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_GetPersistedSurface2, 4928, PATCH), // For only on Unreal Championship REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_KickPushBuffer, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(CMiniport_IsFlipPending, 4627, XREF), - REGISTER_OOVPA(CMiniport_InitHardware, 4627, PATCH), + REGISTER_OOVPA(CMiniport_InitHardware, 4034, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), @@ -3857,11 +3857,11 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_IsBusy, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index 8131becc3..55e88144b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -1242,13 +1242,13 @@ OOVPA_END; // No longer supported XDK 5120 by HLEDB_v1 OOVPATable D3D8_5028[] = { - REGISTER_OOVPA(CMiniport_InitHardware, 4627, XREF), + REGISTER_OOVPA(CMiniport_InitHardware, 4034, XREF), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, XREF), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, XREF), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5028, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 5028, PATCH), - REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), + REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), @@ -1259,20 +1259,20 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetViewport, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetTile, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), @@ -1282,66 +1282,66 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetIndices, 5028, DISABLED), + REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), + REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_Swap, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 4531, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4531, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLightEnable, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_LightEnable, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DResource_GetType, 4034, DISABLED), // I forget why I had this in here... - REGISTER_OOVPA(Get2DSurfaceDesc, 5028, PATCH), + REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), @@ -1355,35 +1355,35 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetScissors, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetPalette, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), REGISTER_OOVPA(D3D_SetFence, 5028, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), // Beware of the typo... + REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), // Beware of the typo... REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStateVB, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_SetStateUP, 4627, DISABLED), @@ -1394,7 +1394,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), @@ -1412,7 +1412,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3DDevice_KickPushBuffer, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), @@ -1422,12 +1422,12 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), @@ -1448,11 +1448,11 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 617dba980..94de6ed94 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -661,27 +661,27 @@ OOVPA_END; // ****************************************************************** OOVPATable D3D8_5233[] = { - REGISTER_OOVPA(CMiniport_InitHardware, 4627, PATCH), + REGISTER_OOVPA(CMiniport_InitHardware, 4034, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5233, PATCH), - REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), + REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), - REGISTER_OOVPA(D3DDevice_SetScissors, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), @@ -696,36 +696,36 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture2, 5233, PATCH), - REGISTER_OOVPA(D3DDevice_SetIndices, 5028, DISABLED), + REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), + REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), @@ -733,16 +733,16 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5233, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_LightEnable, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_LightEnable, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), @@ -751,12 +751,12 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5233, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetViewport, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), @@ -764,32 +764,32 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), - REGISTER_OOVPA(Get2DSurfaceDesc, 5028, PATCH), + REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), REGISTER_OOVPA(D3D_SetFence, 5028, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetPalette, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), // Beware of the typo... - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), // Beware of the typo... + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), // Was 4627 @@ -806,7 +806,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), @@ -814,51 +814,51 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetTile, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5028, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5028, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), // ****************************************************************** // Provisional registration functions in XDK 5233 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index de1a3a246..c0f35b8fa 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -1345,26 +1345,26 @@ OOVPA_END; // ****************************************************************** OOVPATable D3D8_5344[] = { - REGISTER_OOVPA(CMiniport_InitHardware, 4627, PATCH), + REGISTER_OOVPA(CMiniport_InitHardware, 4034, PATCH), REGISTER_OOVPA(CMiniport_CreateCtxDmaObject, 4034, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5028, PATCH), - REGISTER_OOVPA(D3D_CheckDeviceFormat, 4134, DISABLED), + REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5344, PATCH), // Was 5233 REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5344, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), @@ -1381,36 +1381,36 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), // Was 4627 - REGISTER_OOVPA(D3DDevice_SetIndices, 5028, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 5344, PATCH), // Was 4928 - REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), // Was 4627 + REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), + REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), // Was 4928 + REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), // Was 4627 REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5344, PATCH), // Was 5233 + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), // Was 5233 REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), @@ -1420,9 +1420,9 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH), // Was 5233 - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 5344, PATCH), // Was 4134 REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), @@ -1434,11 +1434,11 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DVertexBuffer_GetDesc, 3911, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5344, PATCH), // 5233 + REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), // 5233 REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_GetViewport, 5344, PATCH), // Was 4627 + REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), // Was 4627 REGISTER_OOVPA(D3DDevice_SetViewport, 5344, PATCH), // Was 5233 REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), @@ -1446,33 +1446,33 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), - REGISTER_OOVPA(Get2DSurfaceDesc, 5344, PATCH), // Was 5233 + REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), // Was 5233 REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5344, PATCH), // Was 5233 + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), // Was 5233 REGISTER_OOVPA(D3D_SetFence, 5028, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPalette, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5344, PATCH), // 4134 - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4627, PATCH), @@ -1483,52 +1483,52 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_IsBusy, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetTile, 5344, PATCH), - REGISTER_OOVPA(D3DPalette_Lock, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3DPalette_Lock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), @@ -1540,13 +1540,13 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 83e2825e0..43bf4df25 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -2183,7 +2183,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 3911, PATCH), REGISTER_OOVPA(Direct3D_CreateDevice, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), @@ -2194,55 +2194,55 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetPalette, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5558, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetMaterial, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_SetMaterial, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5558, PATCH), // REGISTER_OOVPA(D3DDevice_SetMaterial, 5659, PATCH), - REGISTER_OOVPA(D3DDevice_GetMaterial, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_GetMaterial, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 5558, PATCH), // REGISTER_OOVPA(D3DDevice_GetMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetIndices, 5558, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), + REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), @@ -2250,9 +2250,9 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), @@ -2262,11 +2262,11 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(Direct3D_CheckDeviceMultiSampleType, 3911, DISABLED), REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), REGISTER_OOVPA(D3D_SetFence, 5558, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF), @@ -2277,11 +2277,11 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_CopyRects, 5120, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), @@ -2291,34 +2291,34 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5344, PATCH), // For 5455 REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5558, PATCH), // REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5558, PATCH), // REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5659, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5344, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), - REGISTER_OOVPA(Get2DSurfaceDesc, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), + REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3D_MakeRequestedSpace, 5558, PATCH), REGISTER_OOVPA(D3DDevice_MakeSpace, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5455, PATCH), @@ -2327,57 +2327,57 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackBuffer, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4627, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 5455, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), - REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 5558, PATCH), + REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_IsFencePending, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5120, PATCH), // for 5455 REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_IsBusy, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), @@ -2385,21 +2385,21 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 3ac2133d0..471996026 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -1143,44 +1143,44 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_GetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetIndices, 5558, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), + REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), // Not implemented yet. - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), // Not implemented yet. + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), // Not implemented yet. REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), @@ -1188,9 +1188,9 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetMaterial, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_GetMaterial, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_SetMaterial, 5659, PATCH), + REGISTER_OOVPA(D3DDevice_GetMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), @@ -1205,7 +1205,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 5344, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED), @@ -1217,50 +1217,50 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(Direct3D_CheckDeviceMultiSampleType, 3911, DISABLED), REGISTER_OOVPA(D3D_GetDeviceCaps, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), REGISTER_OOVPA(D3D_AllocContiguousMemory, 5455, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH - REGISTER_OOVPA(Get2DSurfaceDesc, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), + REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), - REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5344, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH), - REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_IsFencePending, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetPalette, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), - REGISTER_OOVPA(D3D_MakeRequestedSpace, 5788, XREF), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 5558, XREF), REGISTER_OOVPA(D3DDevice_MakeSpace, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), @@ -1268,42 +1268,42 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5659, PATCH), - REGISTER_OOVPA(D3D_ClearStateBlockFlags, 5788, XREF), + REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetScissors, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_IsBusy, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), @@ -1312,12 +1312,12 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), - REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3D_SetFence, 5558, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), @@ -1326,9 +1326,9 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index af670ea87..ddec94b8b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -186,53 +186,53 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_GetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_Clear, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_Swap, 5233, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_Swap, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_CreatePixelShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShader, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 5849, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_ShadowFunc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetIndices, 5558, DISABLED), - REGISTER_OOVPA(D3DDevice_SetTexture, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), + REGISTER_OOVPA(D3DDevice_SetTexture, 4831, PATCH), REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_BeginPush, 5028, PATCH), REGISTER_OOVPA(D3DDevice_EndPush, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BeginPushBuffer, 4134, PATCH), // Not implemented yet. - REGISTER_OOVPA(D3DDevice_EndPushBuffer, 4134, PATCH), // Not implemented yet. + REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), // Not implemented yet. REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetMaterial, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5344, PATCH), + REGISTER_OOVPA(D3DDevice_SetMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), @@ -246,58 +246,58 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetLight, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetLight, 5344, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5455, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4627, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), REGISTER_OOVPA(D3D_SetFence, 5558, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_IsFencePending, 5558, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 5849, XREF), + REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), + REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3D_AllocContiguousMemory, 5455, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH - REGISTER_OOVPA(Get2DSurfaceDesc, 5849, PATCH), - REGISTER_OOVPA(D3DDevice_CreateTexture2, 5028, PATCH), + REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), - REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5344, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH), - REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 5849, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_Reset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_SampleAlpha, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 5233, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetPalette, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), - REGISTER_OOVPA(D3D_MakeRequestedSpace, 5788, XREF), + REGISTER_OOVPA(D3D_MakeRequestedSpace, 5558, XREF), REGISTER_OOVPA(D3DDevice_MakeSpace, 4134, DISABLED), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), @@ -305,49 +305,49 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SelectVertexShader, 5455, PATCH), REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5659, PATCH), - REGISTER_OOVPA(D3D_ClearStateBlockFlags, 5788, XREF), + REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_RopZRead, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), + REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 5558, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_GetScissors, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_GetBackMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 5849, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), + REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_CreateStateBlock, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_CreatePalette2, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SwitchTexture, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, XREF), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_IsBusy, 5344, PATCH), - REGISTER_OOVPA(D3DDevice_GetMaterial, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_GetMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF), @@ -356,17 +356,17 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), - REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 5455, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), From cc66a0615b755fae7c8d709d25e6ca6c594b322a Mon Sep 17 00:00:00 2001 From: jarupxx Date: Thu, 19 Oct 2017 07:36:25 +0900 Subject: [PATCH 144/146] Replaced Set #if 1~#endif to #if 0~#endif --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 20 +++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 80 +++++++++++----------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 34 ++++----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 18 ++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 50 +++++++------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 38 +++++----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 18 ++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 24 +++---- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl | 18 ++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 38 +++++----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 46 ++++++------- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 6 +- 13 files changed, 196 insertions(+), 196 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 3c3b6d48b..648f57065 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -132,7 +132,7 @@ OOVPA_NO_XREF(D3DDevice_GetCreationParameters, 4034, 7) { 0x36, 0xC9 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -391,7 +391,7 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 4034, 8) { 0x36, 0xC2 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_DrawVertices // ****************************************************************** @@ -537,7 +537,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 4034, 8) { 0x40, 0x5E }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** @@ -983,7 +983,7 @@ OOVPA_NO_XREF(D3DDevice_Clear, 4034, 9) { 0x039A, 0x18 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -1840,7 +1840,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4034, 12) { 0x2B, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_IsBusy // ****************************************************************** @@ -1881,7 +1881,7 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 4039, 11) { 0x1E, 0x04 }, OOVPA_END; -#if 1 // Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** @@ -2184,7 +2184,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 4039, 15) { 0x87, 0xB8 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** @@ -2208,7 +2208,7 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 4039, 10) { 0x1C, 0x95 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** @@ -2278,7 +2278,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 4039, 8) { 0xFE, 0x24 }, OOVPA_END; -#if 1 // Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_Reset // ****************************************************************** @@ -2326,7 +2326,7 @@ OOVPA_XREF(D3D_BlockOnTime, 4039, 10, { 0x2F, 0x53 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 883ab1052..1e559d8ac 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -62,7 +62,7 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4134, 1+10, { 0xB6, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetTransform // ****************************************************************** @@ -90,7 +90,7 @@ OOVPA_NO_XREF(D3DDevice_SetTransform, 4134, 11) { 0x93, 0x10 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_CheckDeviceFormat // ****************************************************************** @@ -163,7 +163,7 @@ OOVPA_NO_XREF(D3D_EnumAdapterModes, 4134, 10) { 0xF8, 0x1E }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_FogColor // ****************************************************************** @@ -214,7 +214,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4134, 11) { 0xAF, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Clear // ****************************************************************** @@ -370,7 +370,7 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4134, 11) { 0x56, 0x06 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_CopyRects // ****************************************************************** @@ -466,7 +466,7 @@ OOVPA_NO_XREF(D3DDevice_CreateImageSurface, 4134, 28) OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetPixelShader // ****************************************************************** @@ -519,7 +519,7 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 4134, 12) { 0x52, 0x05 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** @@ -545,7 +545,7 @@ OOVPA_NO_XREF(D3DDevice_SetIndices, 4134, 11) { 0x79, 0x03 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_VertexBlend // ****************************************************************** @@ -571,7 +571,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend, 4134, 11) { 0x3F, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** @@ -595,7 +595,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 4134, 9) { 0x4F, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_EdgeAntiAlias // ****************************************************************** @@ -648,7 +648,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4134, 13) { 0x99, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_StencilEnable // ****************************************************************** @@ -674,7 +674,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_StencilEnable, 4134, 11) { 0x82, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias // ****************************************************************** @@ -734,7 +734,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 4134, 14) { 0xB4, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -757,7 +757,7 @@ OOVPA_NO_XREF(D3DDevice_DrawVerticesUP, 4134, 10) { 0xC3, 0x80 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -905,7 +905,7 @@ OOVPA_NO_XREF(D3DDevice_LightEnable, 4134, 13) { 0xE2, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_NormalizeNormals // ****************************************************************** @@ -926,7 +926,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 4134, 8) { 0x37, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -974,7 +974,7 @@ OOVPA_NO_XREF(D3DDevice_Reset, 4134, 10) { 0x38, 0x10 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_TwoSidedLighting // ****************************************************************** @@ -1030,7 +1030,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4134, 13) { 0x4F, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetTextureState_ColorKeyColor // ****************************************************************** @@ -1055,7 +1055,7 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_ColorKeyColor, 4134, 12) { 0x37, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_FrontFace // ****************************************************************** @@ -1084,7 +1084,7 @@ OOVPA_XREF(D3DDevice_SetRenderState_FrontFace, 4134, 11, { 0x22, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_LogicOp // ****************************************************************** @@ -1106,7 +1106,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LogicOp, 4134, 9) { 0x50, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_StencilFail // ****************************************************************** @@ -1193,7 +1193,7 @@ OOVPA_XREF(D3DDevice_SetRenderState_StencilCullEnable, 4134, 13, { 0x60, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_FillMode // ****************************************************************** @@ -1219,7 +1219,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 4134, 11) { 0x37, 0x0C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** @@ -1241,7 +1241,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4134, 9) { 0x7D, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMask // ****************************************************************** @@ -1322,7 +1322,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4134, 12) { 0x2B, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_ShadowFunc // ****************************************************************** @@ -1352,7 +1352,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ShadowFunc, 4134, 13) { 0x28, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_YuvEnable // ****************************************************************** @@ -1382,7 +1382,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_YuvEnable, 4134, 13) { 0x29, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_DrawIndexedVerticesUP // ****************************************************************** @@ -1595,7 +1595,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4134, 12) { 0x11, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -1621,7 +1621,7 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 4134, 11) { 0x24, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** @@ -1660,7 +1660,7 @@ OOVPA_NO_XREF(D3DDevice_IsBusy, 4134, 7) { 0x2F, 0xD2 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** @@ -1684,7 +1684,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 4134, 12) { 0xE3, 0xC3 } OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** @@ -1781,7 +1781,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayMode, 4134, 13) { 0x93, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** @@ -1923,7 +1923,7 @@ OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 4134, 13) OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -2181,7 +2181,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPushBuffer, 4134, 10) { 0x57, 0x83 }, OOVPA_END; -#if 1 // Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_EndPushBuffer // ****************************************************************** @@ -2322,7 +2322,7 @@ OOVPA_NO_XREF(D3DDevice_InsertCallback, 4134, 13) { 0x28, 0x08 }, OOVPA_END; -#if 1 // Moved to 3911 +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** @@ -2372,7 +2372,7 @@ OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 4134, 16) { 0x13, 0x00 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderInput // ****************************************************************** @@ -2411,7 +2411,7 @@ OOVPA_NO_XREF(D3DDevice_RunVertexStateShader, 4134, 7) { 0x4B, 0x08 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** @@ -2433,7 +2433,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderDeclaration, 4134, 14) { 0x1F, 0x0C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderFunction // ****************************************************************** @@ -2493,7 +2493,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4ub, 4134, 7) { 0x44, 0x89 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface // ****************************************************************** @@ -2508,7 +2508,7 @@ OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface, 4134, 7) { 0x4B, 0x5E }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index 2497ddc88..44098ec3d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -32,7 +32,7 @@ // * // ****************************************************************** -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * CMiniport::InitHardware // ****************************************************************** @@ -379,7 +379,7 @@ OOVPA_NO_XREF(D3DDevice_DeleteStateBlock, 4361, 7) { 0x83, 0xEB }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_ApplyStateBlock // ****************************************************************** @@ -426,7 +426,7 @@ OOVPA_XREF(D3DDevice_EndStateBlock, 4361, 6, { 0x08, 0xDF }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_GetRenderTarget // ****************************************************************** @@ -475,7 +475,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 4361, 10) { 0x1B, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetTextureState_BorderColor // ****************************************************************** @@ -505,7 +505,7 @@ OOVPA_NO_XREF(D3DDevice_SetTextureState_BorderColor, 4361, 15) { 0x3B, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SwitchTexture // ****************************************************************** @@ -638,7 +638,7 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, 1+10, { 0xB5, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DResource_Release // ****************************************************************** @@ -722,7 +722,7 @@ OOVPA_NO_XREF(D3DBaseTexture_GetLevelCount, 4361, 13) { 0x0C, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** @@ -771,7 +771,7 @@ OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 4361, 11) { 0x40, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_PrimeVertexCache // ****************************************************************** @@ -924,7 +924,7 @@ OOVPA_NO_XREF(D3DDevice_RunPushBuffer, 4361, 8) { 0xFE, 0x24 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_CreateCubeTexture // ****************************************************************** @@ -955,7 +955,7 @@ OOVPA_NO_XREF(D3DCubeTexture_GetCubeMapSurface, 4361, 7) { 0x4B, 0x5E }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** @@ -978,7 +978,7 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 4361, 10) { 0x1E, 0x09 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetPixelShaderProgram // ****************************************************************** @@ -1011,7 +1011,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShader, 4361, 7) { 0x13, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetVertexDataColor // ****************************************************************** @@ -1026,7 +1026,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexDataColor, 4361, 7) { 0x44, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetVertexShaderInput // ****************************************************************** @@ -1042,7 +1042,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderInput, 4361, 8) { 0xFE, 0x89 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetVertexData2s // ****************************************************************** @@ -1058,7 +1058,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2s, 4361, 8) { 0x1F, 0xBF }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetVertexData4s // ****************************************************************** @@ -1089,7 +1089,7 @@ OOVPA_NO_XREF(D3DDevice_BeginVisibilityTest, 4361, 7) { 0x28, 0x06 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_EndVisibilityTest@4 // ****************************************************************** @@ -1149,7 +1149,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4361, 28) { 0x1F, 0x24 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index dbe440501..3c0e66f13 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -55,7 +55,7 @@ OOVPA_NO_XREF(Direct3D_CreateDevice, 4432, 8) { 0xA1, 0x18 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_GetRenderTarget // ****************************************************************** @@ -115,7 +115,7 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 4432, 11) { 0x26, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetPixelShader // ****************************************************************** @@ -190,7 +190,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_ZEnable, 4432, 13) { 0x8D, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias // ****************************************************************** @@ -241,7 +241,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 4432, 10) { 0x63, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -436,7 +436,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4531, 9) { 0x43, 0x0C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_BeginPush // ****************************************************************** @@ -469,7 +469,7 @@ OOVPA_NO_XREF(D3DDevice_Release, 4432, 11) { 0x1F, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DTexture_GetSurfaceLevel // ****************************************************************** @@ -504,7 +504,7 @@ OOVPA_NO_XREF(D3DTexture_GetSurfaceLevel, 4432, 14) { 0x4D, 0x0C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_GetDisplayMode // ****************************************************************** @@ -608,7 +608,7 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock, 4531, 11) { 0x55, 0x14 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_GetProjectionViewportMatrix // ****************************************************************** @@ -638,7 +638,7 @@ OOVPA_NO_XREF(D3DDevice_SetModelView, 4432, 7) { 0x9F, 0x75 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl index 2eee4ec32..ee09e3118 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl @@ -58,7 +58,7 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4531, 11) { 0xBA, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index bcf80fa01..3353422e5 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -255,7 +255,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPush, 4627, 7) { 0x44, 0x52 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetViewport // ****************************************************************** @@ -418,7 +418,7 @@ OOVPA_NO_XREF(D3DDevice_SetGammaRamp, 4627, 17) // Up to 5849 { 0x77, 0x00 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** @@ -636,7 +636,7 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 10) { 0x1D, 0xC3 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -1133,7 +1133,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture_unused, 4627, 10) // Deprecated in favor of 4 { 0xDA, 0x4D }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetTexture // ****************************************************************** @@ -1213,7 +1213,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4831, 15) { 0x56, 0x45 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_GetDisplayMode // ****************************************************************** @@ -1350,7 +1350,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData4f, 4627, 11) { 0x60, 0x14 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_End // ****************************************************************** @@ -1370,7 +1370,7 @@ OOVPA_NO_XREF(D3DDevice_End, 4627, 12) { 0x3C, 0xC3 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Clear // ****************************************************************** @@ -1586,7 +1586,7 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4627, 12) { 0x11, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -1732,7 +1732,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, 9) { 0x75, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4432 version +#if 0 // No longer used, replaced by generic 4432 version // ****************************************************************** // * D3DDevice_SetRenderState_ZEnable // ****************************************************************** @@ -1832,7 +1832,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, 12) { 0x70, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -2078,7 +2078,7 @@ OOVPA_NO_XREF(D3DSurface_LockRect, 4627, 17) { 0x1E, 0x10 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -2242,7 +2242,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderInputDirect, 4627, 7) { 0x2F, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderInput // ****************************************************************** @@ -2311,7 +2311,7 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 4627, 7) { 0x4B, 0x8D }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** @@ -2327,7 +2327,7 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 4627, 8) { 0x32, 0x5F }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** @@ -2343,7 +2343,7 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4627, 8) { 0x7E, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** @@ -2483,7 +2483,7 @@ OOVPA_NO_XREF(CMiniport_IsFlipPending, 4627, 18) // Was D3DDevice_Reset { 0x11, 0x81 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetPixelShaderProgram // ****************************************************************** @@ -2516,7 +2516,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 4627, 7) { 0x26, 0xD2 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_CreateStateBlock // ****************************************************************** @@ -2535,7 +2535,7 @@ OOVPA_NO_XREF(D3DDevice_CreateStateBlock, 4627, 11) { 0x8C, 0xC0 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_InsertCallback // ****************************************************************** @@ -2607,7 +2607,7 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 4627, 7) { 0x1A, 0x5E }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetScissors@12 // ****************************************************************** @@ -2623,7 +2623,7 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 4627, 8) { 0xFE, 0x4C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette@8 // ****************************************************************** @@ -2654,7 +2654,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMask, 4627, 8) { 0x4E, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_LogicOp // ****************************************************************** @@ -3049,7 +3049,7 @@ OOVPA_NO_XREF(D3DDevice_ApplyStateBlock, 4627, 8) { 0xFE, 0x33 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_CaptureStateBlock // ****************************************************************** @@ -3394,7 +3394,7 @@ OOVPA_NO_XREF(D3D_LazySetPointParams, 4627, 7) { 0x75, 0x41 }, OOVPA_END; -#if 1 // Moved to 4432 +#if 0 // Moved to 4432 // ****************************************************************** // * D3DDevice_SetDepthClipPlanes // ****************************************************************** @@ -3481,7 +3481,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 4627, 8) { 0x1A, 0xC2 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_PrimeVertexCache // ****************************************************************** @@ -3532,7 +3532,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_SampleAlpha, 4627, 7) { 0x44, 0x83 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * CMiniport::InitHardware // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index 55e88144b..e8dc3911b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -62,7 +62,7 @@ OOVPA_NO_XREF(Direct3D_CreateDevice, 5028, 20) // Also for 5120, 5233, 5344 (545 { 0x1F, 0xC7 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** @@ -86,7 +86,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 5028, 9) { 0x4F, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** @@ -101,7 +101,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5028, 7) { 0x75, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4432 version +#if 0 // No longer used, replaced by generic 4432 version // ****************************************************************** // * D3DDevice_SetRenderState_ZEnable // ****************************************************************** @@ -132,7 +132,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_SampleAlpha, 5028, 7) { 0x44, 0x83 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4831 version +#if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_CreateTexture2 // ****************************************************************** @@ -192,7 +192,7 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5028, 7) { 0x23, 0xC3 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -219,7 +219,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5028, 12) { 0x41, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetRenderTarget2 // ****************************************************************** @@ -233,7 +233,7 @@ OOVPA_NO_XREF(D3DDevice_GetRenderTarget2, 5028, 6) { 0x17, 0xC6 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetDepthStencilSurface2 // ****************************************************************** @@ -248,7 +248,7 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 5028, 7) { 0x1B, 0xC6 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetViewport // ****************************************************************** @@ -270,7 +270,7 @@ OOVPA_NO_XREF(D3DDevice_SetViewport, 5028, 9) { 0xE1, 0x0F }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -297,7 +297,7 @@ OOVPA_NO_XREF(D3DDevice_SetLight, 5028, 12) { 0xFF, 0x68 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_LightEnable // ****************************************************************** @@ -327,7 +327,7 @@ OOVPA_NO_XREF(D3DDevice_LightEnable, 5028, 13) { 0xE2, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** @@ -342,7 +342,7 @@ OOVPA_NO_XREF(D3DDevice_SetIndices, 5028, 7) { 0x75, 0x10 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** @@ -367,7 +367,7 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 5028, 11) { 0x43, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -391,7 +391,7 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 5028, 13) { 0x24, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_Clear // ****************************************************************** @@ -406,7 +406,7 @@ OOVPA_NO_XREF(D3DDevice_Clear, 5028, 8) { 0xF6, 0xFF }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_DrawVertices // ****************************************************************** @@ -468,7 +468,7 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShader, 5028, 7) { 0x4B, 0x5E }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** @@ -513,7 +513,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5028, 14) { 0xB4, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** @@ -599,7 +599,7 @@ OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle, 5028, 9) { 0x10, 0xC3 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -869,7 +869,7 @@ OOVPA_NO_XREF(D3DDevice_BeginPush, 5028, 6) { 0x16, 0xE9 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_End // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 94de6ed94..f0ae37cdc 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -32,7 +32,7 @@ // * // ****************************************************************** -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** @@ -94,7 +94,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShader, 5233, 7) { 0xE1, 0xF6 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4831 version +#if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_CreateTexture2 // ****************************************************************** @@ -178,7 +178,7 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 5233, 10) { 0xFE, 0xE2 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** @@ -324,7 +324,7 @@ OOVPA_NO_XREF(D3DDevice_CopyRects, 5120, 8) { 0xFE, 0x4C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** @@ -340,7 +340,7 @@ OOVPA_NO_XREF(D3DDevice_SetScissors, 5233, 8) { 0xFE, 0x4C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset // ****************************************************************** @@ -393,7 +393,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5233, 13) { 0x26, 0x00 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** @@ -432,7 +432,7 @@ OOVPA_XREF(D3D_CommonSetRenderTarget, 5233, 8, { 0xFF, 0x75 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_BlockOnFence // ****************************************************************** @@ -450,7 +450,7 @@ OOVPA_XREF(D3DDevice_BlockOnFence, 5233, 6, { 0x0D, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -623,7 +623,7 @@ OOVPA_NO_XREF(D3DDevice_GetVisibilityTestResult, 5233, 7) { 0x5F, 0x0C }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4831 version +#if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index c0f35b8fa..de306633f 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -102,7 +102,7 @@ OOVPA_XREF(D3D_MakeRequestedSpace, 5344, 28, { 0x1F, 0x03 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** @@ -225,7 +225,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 5344, 13) { 0x7E, 0x04 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset // ****************************************************************** @@ -240,7 +240,7 @@ OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 5344, 7) { 0x44, 0x06 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetViewport // ****************************************************************** @@ -255,7 +255,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewport, 5344, 7) { 0x1A, 0xC2 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -431,7 +431,7 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5344, 9) { 0x2E, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -579,7 +579,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5344, 7) { 0x10, 0xC2 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 5233 version +#if 0 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_SetRenderTargetFast // ****************************************************************** @@ -595,7 +595,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTargetFast, 5344, 8) { 0xF6, 0xC5 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4039 version +#if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** @@ -628,7 +628,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5344, 9) { 0x34, 0x14 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -653,7 +653,7 @@ OOVPA_NO_XREF(D3DDevice_SetPalette, 5344, 12) { 0x8B, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5028 version +#if 0 // No longer used, replaced by generic 5028 version // ****************************************************************** // * D3DDevice_IsBusy // ****************************************************************** @@ -1005,7 +1005,7 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 5344, 8) { 0x1A, 0xC2 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DPalette_Lock // ****************************************************************** @@ -1114,7 +1114,7 @@ OOVPA_NO_XREF(D3DDevice_GetProjectionViewportMatrix, 5344, 7) { 0x1A, 0x5E }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetTile // ****************************************************************** @@ -1150,7 +1150,7 @@ OOVPA_XREF(D3DDevice_CreateIndexBuffer2, 5344, 7, { 0x2F, 0x48 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4831 version +#if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_SetTexture // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl index 3b8d9f147..77c05366f 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl @@ -105,7 +105,7 @@ OOVPA_NO_XREF(D3DDevice_CreatePalette2, 5455, 7) { 0x52, 0x89 }, OOVPA_END; -#if 1 // Moved to 5344 +#if 0 // Moved to 5344 // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** @@ -126,7 +126,7 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5455, 11) { 0x2E, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5344 version +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -160,7 +160,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5455, 8) { 0xFE, 0xC1 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -273,7 +273,7 @@ OOVPA_XREF(D3DDevice_GetViewport, 5455, 1+17, { 0x31, 0x04 }, OOVPA_END; -#if 1 // Moved to 5344 +#if 0 // Moved to 5344 // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** @@ -294,7 +294,7 @@ OOVPA_NO_XREF(D3DDevice_SetBackMaterial, 5455, 11) { 0x2E, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5344 version +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** @@ -385,7 +385,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5455, 12) { 0x6F, 0xE1 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 5233 version +#if 0 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** @@ -402,7 +402,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 5455, 9) { 0x26, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5344 version +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleRenderTargetMode // ****************************************************************** @@ -446,7 +446,7 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 5455, 16) { 0x9B, 0xCB }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_CaptureStateBlock // ****************************************************************** @@ -551,7 +551,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 5455, 15) // { 0xAF, 0xC3 } OOVPA_END; -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetVertexShaderDeclaration // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 43bf4df25..48969d1c5 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -118,7 +118,7 @@ OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 5558, 7) { 0x8A, 0x89 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetVertexShaderConstant1 // ****************************************************************** @@ -329,7 +329,7 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 5558, 8) { 0xAE, 0x1C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5344 version +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_End // ****************************************************************** @@ -344,7 +344,7 @@ OOVPA_NO_XREF(D3DDevice_End, 5558, 7) { 0x40, 0xC3 }, OOVPA_END; #endif -#if 1 // Moved to 5344 +#if 0 // Moved to 5344 // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** @@ -508,7 +508,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 5455, 8) { 0xFE, 0xC1 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -574,7 +574,7 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5558, 7) { 0x23, 0xC3 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5344 version +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_DrawIndexedVerticesUP // ****************************************************************** @@ -620,7 +620,7 @@ OOVPA_NO_XREF(D3DDevice_SetTransform, 5558, 12) { 0x9D, 0x00 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -833,7 +833,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5659, 10) { 0x0F, 0x09 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5344 version +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -960,7 +960,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5558, 7) { 0x10, 0xC2 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** @@ -1175,7 +1175,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackMaterial, 5659, 8) { 0x1A, 0xC2 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5344 version +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_SetRenderState_TwoSidedLighting // ****************************************************************** @@ -1191,7 +1191,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 5558, 8) { 0x7E, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -1302,7 +1302,7 @@ OOVPA_NO_XREF(D3DTexture_LockRect, 5558, 8) { 0x21, 0x14 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4831 version +#if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_SetPixelShaderConstant // ****************************************************************** @@ -1496,7 +1496,7 @@ OOVPA_NO_XREF(D3DDevice_LightEnable, 5455, 13) { 0xFC, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetIndices // ****************************************************************** @@ -1511,7 +1511,7 @@ OOVPA_NO_XREF(D3DDevice_SetIndices, 5558, 7) { 0x75, 0x10 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer // ****************************************************************** @@ -1584,7 +1584,7 @@ OOVPA_NO_XREF(D3DDevice_PersistDisplay, 5558, 7) { 0xDE, 0x8B }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface // ****************************************************************** @@ -1630,7 +1630,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 5558, 8) { 0x36, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_LoadVertexShaderProgram // ****************************************************************** @@ -1645,7 +1645,7 @@ OOVPA_NO_XREF(D3DDevice_LoadVertexShaderProgram, 5558, 7) { 0x5C, 0x89 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_SetPixelShaderProgram // ****************************************************************** @@ -1660,7 +1660,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderProgram, 5558, 7) { 0x36, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5233 version +#if 0 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** @@ -1728,7 +1728,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 5558, 9) { 0x26, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_Dxt1NoiseEnable // ****************************************************************** @@ -1744,7 +1744,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Dxt1NoiseEnable, 5558, 8) { 0x76, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5028 version +#if 0 // No longer used, replaced by generic 5028 version // ****************************************************************** // * D3DDevice_IsFencePending // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 471996026..aebf9a0a2 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -32,7 +32,7 @@ // * // ****************************************************************** -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_EndVisibilityTest // ****************************************************************** @@ -78,7 +78,7 @@ OOVPA_NO_XREF(D3DDevice_SetBackBufferScale, 5788, 7) { 0xDE, 0xC0 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** @@ -105,7 +105,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 5788, 12) { 0x41, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_GetDepthStencilSurface2 // ****************************************************************** @@ -134,7 +134,7 @@ OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 5788, 10) { 0x1D, 0xC3 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5344 version +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_CreatePixelShader // ****************************************************************** @@ -151,7 +151,7 @@ OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 5788, 9) { 0x46, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_TextureFactor // ****************************************************************** @@ -166,7 +166,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TextureFactor, 5788, 7) { 0x4D, 0x5E }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5344 version +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_DrawIndexedVerticesUP // ****************************************************************** @@ -182,7 +182,7 @@ OOVPA_NO_XREF(D3DDevice_DrawIndexedVerticesUP, 5788, 8) { 0xFF, 0x0C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5659 version +#if 0 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** @@ -199,7 +199,7 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5788, 9) { 0x2E, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5659 version +#if 0 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -238,7 +238,7 @@ OOVPA_NO_XREF(D3DDevice_BeginStateBig, 5788, 15) { 0x40, 0x5E }, OOVPA_END; #endif -#if 1 // This one _IDirect3DVertexBuffer8_Lock@20, replaced by generic 4627 version +#if 0 // This one _IDirect3DVertexBuffer8_Lock@20, replaced by generic 4627 version // ****************************************************************** // * D3DVertexBuffer8_Lock // ****************************************************************** @@ -285,7 +285,7 @@ OOVPA_NO_XREF(D3D_AllocContiguousMemory, 5788, 7) { 0x2F, 0x24 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DTexture8_GetLevelDesc // ****************************************************************** @@ -330,7 +330,7 @@ OOVPA_XREF(D3DDevice_CreateTexture2, 5788, 8, { 0xAE, 0x1C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4627 version +#if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetVertexShaderConstant1 // ****************************************************************** @@ -374,7 +374,7 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 5788, 8) { 0x35, 0x0C }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5344 version +#if 0 // No longer used, replaced by generic 5344 version // ****************************************************************** // * D3DDevice_DrawVerticesUP // ****************************************************************** @@ -492,7 +492,7 @@ OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5788, 7) { 0x23, 0xC3 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5659 version +#if 0 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_SetBackMaterial // ****************************************************************** @@ -625,7 +625,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_LineWidth, 5788, 13) { 0x43, 0x04 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4432 version +#if 0 // No longer used, replaced by generic 4432 version // ****************************************************************** // * D3DDevice8::SetDepthClipPlanes // ****************************************************************** @@ -680,7 +680,7 @@ OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 5788, 13) { 0x17, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetPalette // ****************************************************************** @@ -710,7 +710,7 @@ OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 5788, 7) { 0x91, 0x5F }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5558 version +#if 0 // No longer used, replaced by generic 5558 version // ****************************************************************** // * D3D::MakeRequestedSpace // ****************************************************************** @@ -785,7 +785,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 5788, 7) { 0x13, 0xC1 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D::ClearStateBlockFlags // ****************************************************************** @@ -836,7 +836,7 @@ OOVPA_XREF(D3D_RecordStateBlock, 5788, 10, { 0xD8, 0x01 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 4134 version +#if 0 // No longer used, replaced by generic 4134 version // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** @@ -866,7 +866,7 @@ OOVPA_NO_XREF(D3DDevice_GetTile, 5788, 7) { 0x36, 0x14 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5455 version +#if 0 // No longer used, replaced by generic 5455 version // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** @@ -894,7 +894,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 5788, 13) { 0xAF, 0xC3 } OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5233 version +#if 0 // No longer used, replaced by generic 5233 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleMode // ****************************************************************** @@ -943,7 +943,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 5788, 7) { 0x6B, 0x5F }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetDisplayFieldStatus // ****************************************************************** @@ -958,7 +958,7 @@ OOVPA_NO_XREF(D3DDevice_GetDisplayFieldStatus, 5788, 7) { 0x36, 0x00 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 3911 version +#if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetScissors // ****************************************************************** @@ -973,7 +973,7 @@ OOVPA_NO_XREF(D3DDevice_GetScissors, 5788, 7) { 0x4B, 0xA4 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 5659 version +#if 0 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_GetBackMaterial // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index ddec94b8b..1bd38627e 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -65,7 +65,7 @@ OOVPA_XREF(D3D_SetFence, 5849, 7, { 0xA8, 0x75 }, OOVPA_END; -#if 1 // No longer used, replaced by generic 5558 version +#if 0 // No longer used, replaced by generic 5558 version // ****************************************************************** // * D3D::BlockOnTime // * Source: Spiderman 2 @@ -83,7 +83,7 @@ OOVPA_XREF(D3D_BlockOnTime, 5849, 6, { 0xF8, 0x47 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4034 version +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * Get2DSurfaceDesc // ****************************************************************** @@ -128,7 +128,7 @@ OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 5849, 8) { 0x47, 0x08 }, OOVPA_END; #endif -#if 1 // No longer used, replaced by generic 4432 version +#if 0 // No longer used, replaced by generic 4432 version // ****************************************************************** // * D3DDevice8::SetDepthClipPlanes // ****************************************************************** From e252cdf76778f760d27dc9046420704d71e1b725 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Thu, 19 Oct 2017 07:40:11 +0900 Subject: [PATCH 145/146] Insert an empty line --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl | 1 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 1 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl | 1 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 7 ++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 3 ++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl | 1 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 16 +++++++++++----- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl | 1 - src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 3 +++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 2 ++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 5 +++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 1 - 15 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl index 5f36f2378..3658789c5 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl @@ -71,7 +71,6 @@ OOVPA_XREF(D3DDevice_GetTexture2, 3911, 1 + 21, // Also for 4361 XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived #endif - OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 21) // Also for 4361 { 0x00, 0x8B }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index bb43c103d..fd2d38f8d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -653,7 +653,6 @@ OOVPA_XREF(D3DDevice_GetTexture2, 3911, 1 + 21, // Also for 4361 XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived #endif - OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 21) // Also for 4361 { 0x00, 0x8B }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl index 518e232b5..a384ddae7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3948.inl @@ -32,7 +32,6 @@ // * // ****************************************************************** - // ****************************************************************** // * D3DDevice_SetRenderTarget // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 648f57065..8979e3775 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -750,6 +750,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_VertexBlend, 4034, 7) { 0x34, 0x08 }, { 0x3D, 0x5E }, OOVPA_END; + #if 0 // Moved to 3911 // ****************************************************************** // * D3D_CheckDeviceFormat diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index 1e559d8ac..ee3439a64 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -298,6 +298,7 @@ OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 4134, 12) { 0x20, 0x7C }, { 0x21, 0x20 }, OOVPA_END; + #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_GetDepthStencilSurface @@ -1514,6 +1515,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_PSTextureModes, 4134, 10) { 0x1F, 0xC2 }, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** @@ -1892,6 +1894,7 @@ OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 4134, 11) { 0x40, 0x04 }, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_SetSoftDisplayFilter // ****************************************************************** @@ -2033,7 +2036,6 @@ OOVPA_NO_XREF(D3DDevice_GetModelView, 4134, 7) { 0x28, 0xE0 }, OOVPA_END; - // ****************************************************************** // * D3D_MakeRequestedSpace // ****************************************************************** @@ -2072,6 +2074,7 @@ OOVPA_XREF(D3D_MakeRequestedSpace, 4134, 28, // Also for 4361, 4627 { 0x1E, 0x54 }, { 0x1F, 0x03 }, OOVPA_END; + #if 0 // Moved to 4039 // ****************************************************************** // * D3DDevice_RunPushBuffer @@ -2596,6 +2599,7 @@ OOVPA_XREF(D3DDevice_BeginStateBlock, 4134, 6, { 0x07, 0x08 }, { 0x08, 0x20 }, OOVPA_END; + #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3D_ClearStateBlockFlags @@ -2714,6 +2718,7 @@ OOVPA_NO_XREF(D3DDevice_AddRef, 4134, 10) { 0x0E, 0x3C }, { 0x0F, 0x04 }, OOVPA_END; + #if 0 // No longer used, replaced by another 4134 version // ****************************************************************** // * D3DDevice_AddRef diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index 44098ec3d..299fd916d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -220,6 +220,7 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 4242, 12) { 0x11, 0x04 }, OOVPA_END; #endif + // ****************************************************************** // * D3D_GetAdapterDisplayMode // ****************************************************************** @@ -246,6 +247,7 @@ OOVPA_NO_XREF(D3D_GetAdapterDisplayMode, 4361, 13) { 0xBD, 0xC2 }, { 0xBE, 0x08 }, OOVPA_END; + #if 0 // Moved to 4242 // ****************************************************************** // * D3DDevice_AddRef @@ -1115,7 +1117,6 @@ OOVPA_XREF(D3DDevice_SetTexture, 4361, 1+28, XREF_ENTRY( 0x13, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived #endif - OOVPA_NO_XREF(D3DDevice_SetTexture, 4361, 28) { 0x00, 0x83 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index 3c0e66f13..66b597988 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -419,6 +419,7 @@ OOVPA_NO_XREF(D3DDevice_SetVerticalBlankCallback, 4432, 12) { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; + #if 0 // Moved to 4531 // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl index ee09e3118..16d675eeb 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl @@ -32,7 +32,6 @@ // * // ****************************************************************** - // ****************************************************************** // * D3DDevice_Swap // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index 3353422e5..f3cf078b8 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -758,6 +758,7 @@ OOVPA_NO_XREF(D3DDevice_SetPixelShaderConstant, 4831, 13) { 0xC2, 0x00 }, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_SetVertexShaderConstant // ****************************************************************** @@ -861,7 +862,6 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShaderConstantNotInline, 4627, 12) // (NOT 5344 { 0x28, 0xE8 }, OOVPA_END; - // ****************************************************************** // * D3DDevice_SetVertexShaderConstantNotInlineFast // ****************************************************************** @@ -1028,6 +1028,7 @@ OOVPA_NO_XREF(D3DDevice_CreateTexture2, 4627, 13) { 0xAE, 0xC2 }, { 0xAF, 0x1C }, OOVPA_END; + #if 0 // Moved to 4831 // ****************************************************************** // * D3DDevice_CreateTexture2 @@ -1325,7 +1326,6 @@ OOVPA_NO_XREF(D3DDevice_SetVertexData2f, 4627, 14) { 0x3E, 0x0C }, OOVPA_END; #endif - #if 0 // No longer used, replaced by generic 4039 version // ****************************************************************** // * D3DDevice_SetVertexData4f @@ -1662,7 +1662,6 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_NormalizeNormals, 4627, 8) { 0x40, 0x04 }, OOVPA_END; #endif - #if 0 // Used 4134 instead in 4627, 4721, 4831, 4928 // ****************************************************************** // * D3DDevice_SetRenderState_EdgeAntiAlias @@ -1801,6 +1800,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4627, 17) { 0x5C, 0x05 }, { 0x5D, 0xE8 }, OOVPA_END; + #if 0 // No longer used, replaced by generic 4627 version // ****************************************************************** // * D3DDevice_SetRenderState_MultiSampleAntiAlias @@ -2403,7 +2403,6 @@ OOVPA_NO_XREF(D3DDevice_SetVertexShader, 4627, 14) { 0xC6, 0x04 }, OOVPA_END; #endif - #if 0 // No longer used, replaced by generic 3911 version // ****************************************************************** // * D3DDevice_Release @@ -2458,6 +2457,7 @@ OOVPA_NO_XREF(D3DDevice_SetBackBufferScale, 4627, 6) { 0xDE, 0x8B }, OOVPA_END; #endif + // ****************************************************************** // * CMiniport_IsFlipPending // ****************************************************************** @@ -2697,6 +2697,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 4531, 13) { 0xE2, 0xC3 } OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_KickPushBuffer // ****************************************************************** @@ -3081,6 +3082,7 @@ OOVPA_XREF(D3D_BlockOnTime, 4627, 6, { 0xE3, 0x80 }, { 0xF5, 0x30 }, OOVPA_END; + #if 0 // Moved to 4039 // ****************************************************************** // * D3DDevice_BlockOnFence @@ -3144,7 +3146,6 @@ OOVPA_NO_XREF(D3DDevice_CreateImageSurface, 4627, 9) { 0x2E, 0x00 }, OOVPA_END; - // ****************************************************************** // * D3DCubeTexture_GetCubeMapSurface // ****************************************************************** @@ -3336,6 +3337,7 @@ OOVPA_NO_XREF(D3DDevice_EndPushBuffer, 4627, 7) { 0x7C, 0x88 }, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_GetPushBufferOffset // ****************************************************************** @@ -3352,6 +3354,7 @@ OOVPA_NO_XREF(D3DDevice_GetPushBufferOffset, 4627, 10) { 0x1E, 0x07 }, { 0x1F, 0x03 }, OOVPA_END; + #if 0 // Moved to 4928 // ****************************************************************** // * D3DDevice_GetPersistedSurface2 @@ -3366,6 +3369,7 @@ OOVPA_NO_XREF(D3DDevice_GetPersistedSurface2, 4928, 6) // For only on Unreal Cha { 0x05, 0x00 }, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_SetModelView // ****************************************************************** @@ -3434,6 +3438,7 @@ OOVPA_NO_XREF(D3DDevice_SetDepthClipPlanes, 4627, 7) { 0x8A, 0x00 }, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -3633,6 +3638,7 @@ OOVPA_NO_XREF(D3DPalette_Lock, 4531, 17) { 0x22, 0x0C }, OOVPA_END; #endif + // ****************************************************************** // * D3D8_4627 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl index 411bede46..e55c4020b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4831.inl @@ -119,7 +119,6 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4831, 15) { 0x56, 0x45 }, OOVPA_END; - // ****************************************************************** // * D3DDevice_PersistDisplay // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index e8dc3911b..4240bff95 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -766,6 +766,7 @@ OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 12, { 0x7E, 0xD8 }, { 0x7F, 0x05 }, OOVPA_END; + #if 0 // No longer used, replaced by generic 5028 version // ****************************************************************** // * D3D_CommonSetRenderTarget @@ -960,6 +961,7 @@ OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 5028, 12) { 0x1C, 0xC3 }, OOVPA_END; #endif + // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** @@ -1183,6 +1185,7 @@ OOVPA_XREF(D3D_MakeRequestedSpace, 5028, 28, // Also for 5344 { 0x1E, 0x50 }, { 0x1F, 0x03 }, OOVPA_END; + #if 0 // Moved to 5120 // ****************************************************************** // * D3DDevice_RunPushBuffer diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index f0ae37cdc..827b75ea3 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -159,7 +159,6 @@ OOVPA_XREF(D3DDevice_SetRenderState_CullMode, 5233, 2+13, { 0x56, 0x04 }, OOVPA_END; #endif - #if 0 // No longer used, replaced by generic 4831 version // ****************************************************************** // * D3DDevice_SetTexture @@ -267,6 +266,7 @@ OOVPA_NO_XREF(D3DDevice_GetOverlayUpdateStatus, 5233, 12) { 0x1C, 0xC3 }, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index de306633f..2256dbfe7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -479,6 +479,7 @@ OOVPA_NO_XREF(D3DDevice_SetFlickerFilter, 5344, 12) { 0x40, 0x04 }, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_SetViewport // ****************************************************************** @@ -836,6 +837,7 @@ OOVPA_NO_XREF(D3DDevice_CreatePixelShader, 5344, 11) { 0x45, 0xC2 }, { 0x46, 0x08 }, OOVPA_END; + #if 0 // Moved to 5233 // ****************************************************************** // * D3DDevice_SetPixelShaderConstant diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 48969d1c5..b67c7f89f 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -56,6 +56,7 @@ OOVPA_XREF(D3DDevice_LazySetStateVB, 5558, 12, { 0x7A, 0x40 }, { 0x7B, 0x00 }, OOVPA_END; + #if 0 // Moved to 5028 // ****************************************************************** // * D3DDevice_BeginPush @@ -399,6 +400,7 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5455, 11) { 0x2E, 0x04 }, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_SetMaterial // ****************************************************************** @@ -418,6 +420,7 @@ OOVPA_NO_XREF(D3DDevice_SetMaterial, 5558, 11) { 0x2C, 0x5E }, { 0x2E, 0x04 }, OOVPA_END; + #if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_SetMaterial @@ -457,6 +460,7 @@ OOVPA_NO_XREF(D3DDevice_GetMaterial, 5455, 8) { 0x1A, 0xC2 }, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_GetMaterial // ****************************************************************** @@ -769,6 +773,7 @@ OOVPA_XREF(D3D_BlockOnResource, 5558, 16, OOVPA_END; #endif + // ****************************************************************** // * D3DDevice_SetScissors // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index aebf9a0a2..91ac0209f 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -269,7 +269,6 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock2, 5788, 7) { 0x44, 0x00 }, OOVPA_END; #endif - #if 0 // Moved to 5455 // ****************************************************************** // * D3D_AllocContiguousMemory From 179c158cf27048c62af240cbc060c7c9ba9c4795 Mon Sep 17 00:00:00 2001 From: jarupxx Date: Thu, 19 Oct 2017 20:45:34 +0900 Subject: [PATCH 146/146] Fix OOVPA's XDK revision to lowest known match Refactoring of D3D8 library finished! The following functions are change address or re added. Fixed PATCH - D3DCubeTexture_LockRect Only perform a jmp, add XREF_Lock2DSurface. - D3DVolumeTexture_LockBox Only perform a jmp, add XREF_Lock3DSurface. - D3DDevice_SetTile 4627 and newer Only perform a jmp, add XREF_D3D_SetTileNoWait. Added UNPATCHED - CMiniport_IsFlipPending XREF in v1 database, any reason for this? - D3D_EnumAdapterModes Aready has signature, but missing REGISTER_OOVPA. - D3D_GetAdapterDisplayMode Aready has signature, but missing REGISTER_OOVPA. - D3D_GetAdapterModeCount Aready has signature, but missing REGISTER_OOVPA. - IDirect3DVertexBuffer8_Lock D3DVertexBuffer_Lock 5788 signature is accurately IDirect3DVertexBuffer8_Lock. Specific issues - [3925] Azurik Missing UNPATCHED D3D_SetPushBufferSize due locate in BINK section. Verified with [3925] Azurik [3948] Shikigami no Shiro [4034] Dark Summit [4039] New Legends [4134] Double-S.T.E.A.L [4242] NFL Blitz 2002 [4361] Hunter The Reckoning [4432] RedCard 2003 [4531] NHL HITZ 2003 [4627] MLB SlugFest 2003 [4721] Terminato - Dawn of Fate [4831] Frogger Beyond [4928] Drihoo [5028] Shikigami no Shiro Evolution [5120] N.U.D.E.@ [5233] Evil Dead [5344] Gladius OXM DEMO\default.xbe [5455] Dinosaur Hunting [5558] NHL HITZ Pro 2004 [5659] Midway Arcade Treasures - Paperboy [5788] Digimon Battle Chronicle [5849] Nickelodeon Tak 2 --- src/CxbxKrnl/HLEDataBase.h | 10 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl | 94 +++++++++++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 4 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 125 ++++++++++++---- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 76 +++++++--- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl | 49 +++++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 28 ++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 26 ++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl | 5 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 159 +++++++++++++++++---- src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl | 24 ++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 29 ++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 19 +-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 61 ++++++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl | 18 ++- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 58 ++++++-- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl | 134 +++++++++++++++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 102 +++++++------ src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 27 ++-- src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl | 86 +++++++---- 20 files changed, 890 insertions(+), 244 deletions(-) diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 7490c7790..b4af21dc2 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -172,18 +172,26 @@ enum XRefDataBaseOffset XREF_D3D_BlockOnTime, XREF_D3D_CreateStandAloneSurface, XREF_D3D_SetFence, + XREF_D3D_SetTileNoWait, XREF_D3D_KickOffAndWaitForIdle, XREF_D3D_MakeRequestedSpace, - XREF_D3D_KickOff, + XREF_D3D_CDevice_KickOff, XREF_D3DPalette_Lock2, XREF_D3DTexture_GetSurfaceLevel2, XREF_D3DDevice_CreatePalette2, XREF_D3DDevice_CreateIndexBuffer2, + XREF_D3DDevice_CreateVertexBuffer2, + XREF_D3DDevice_GetBackBuffer2, + XREF_D3DDevice_GetDepthStencilSurface2, + XREF_D3DDevice_GetRenderTarget2, XREF_D3DResource_AddRef, + XREF_D3DVertexBuffer_Lock2, XREF_XnInit, XREF_XID_fCloseDevice, XREF_D3D_ClearStateBlockFlags, XREF_D3D_RecordStateBlock, + XREF_Lock2DSurface, + XREF_Lock3DSurface, XREF_CDirectSound_SetDistanceFactor, XREF_CMcpxAPU_Set3dDistanceFactor, XREF_CDirectSound_SetRolloffFactor, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl index 3658789c5..21caad432 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl @@ -71,7 +71,7 @@ OOVPA_XREF(D3DDevice_GetTexture2, 3911, 1 + 21, // Also for 4361 XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived #endif -OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 21) // Also for 4361 +OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 23) // Also for 3948 { 0x00, 0x8B }, { 0x01, 0x44 }, @@ -84,7 +84,8 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 21) // Also for 4361 { 0x0B, 0x8D }, { 0x0C, 0xB4 }, { 0x0D, 0x81 }, - + { 0x0E, 0xA0 }, // GetTexture A00B vs GetPalette B00B + { 0x0F, 0x0B }, { 0x10, 0x00 }, { 0x11, 0x00 }, { 0x12, 0x8B }, @@ -803,7 +804,10 @@ OOVPA_END; // ****************************************************************** // * Lock3DSurface // ****************************************************************** -OOVPA_NO_XREF(Lock3DSurface, 3911, 11) +OOVPA_XREF(Lock3DSurface, 3911, 11, + + XREF_Lock3DSurface, + XRefZero) // D3D::PixelJar::Lock3DSurface + 0x08: test bl, 0x20 { 0x08, 0xF6 }, @@ -1260,7 +1264,10 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 3911, 10) +OOVPA_XREF(D3DDevice_KickOff, 3911, 10, + + XREF_D3D_CDevice_KickOff, + XRefZero) { 0x01, 0xA1 }, @@ -2698,6 +2705,20 @@ OOVPA_NO_XREF(D3DTexture_LockRect, 3911, 17) { 0x21, 0x14 }, OOVPA_END; +// ****************************************************************** +// * D3DVolumeTexture_LockBox +// ****************************************************************** +OOVPA_XREF(D3DVolumeTexture_LockBox, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_Lock3DSurface ), + + { 0x00, 0xE9 }, +OOVPA_END; + +#if 0 // only perform a jmp to Lock3DSurface // ****************************************************************** // * D3DVolumeTexture_LockBox // ****************************************************************** @@ -2722,7 +2743,22 @@ OOVPA_NO_XREF(D3DVolumeTexture_LockBox, 3911, 11) { 0x99, 0xC2 }, { 0x9A, 0x14 }, OOVPA_END; +#endif +// ****************************************************************** +// * D3DCubeTexture_LockRect +// ****************************************************************** +OOVPA_XREF(D3DCubeTexture_LockRect, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_Lock2DSurface ), + + { 0x00, 0xE9 }, +OOVPA_END; + +#if 0 // only perform a jmp to Lock2DSurface // ****************************************************************** // * D3DCubeTexture_LockRect // ****************************************************************** @@ -2747,6 +2783,7 @@ OOVPA_NO_XREF(D3DCubeTexture_LockRect, 3911, 11) { 0x98, 0xC2 }, { 0x99, 0x18 }, OOVPA_END; +#endif // ****************************************************************** // * D3DTexture_GetSurfaceLevel @@ -2784,7 +2821,10 @@ OOVPA_END; // ****************************************************************** // * Lock2DSurface // ****************************************************************** -OOVPA_NO_XREF(Lock2DSurface, 3911, 11) +OOVPA_XREF(Lock2DSurface, 3911, 11, + + XREF_Lock2DSurface, + XRefZero) { 0x06, 0xF6 }, { 0x07, 0xC3 }, @@ -4455,7 +4495,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTile, 3911, 9) +OOVPA_NO_XREF(D3DDevice_SetTile, 3911, 13) // D3DDevice_SetTile+0x06 : sub esp, 0x18 { 0x06, 0x83 }, @@ -4471,6 +4511,12 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 3911, 9) { 0x7E, 0x83 }, { 0x7F, 0xC4 }, { 0x80, 0x18 }, + + // D3DDevice_SetTile+0x7E : mov ecx, [esi+21D0h] + { 0x8E, 0x8B }, + { 0x8F, 0x8E }, + { 0x90, 0xD0 }, + { 0x91, 0x21 }, OOVPA_END; // ****************************************************************** @@ -4926,3 +4972,39 @@ OOVPA_NO_XREF(D3DDevice_DeletePatch, 3911, 19) { 0x25, 0xE8 }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_KickPushBuffer +// ****************************************************************** +OOVPA_XREF(D3DDevice_KickPushBuffer, 3911, 4, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x07, XREF_D3D_CDevice_KickOff ), + + { 0x00, 0x8B }, + { 0x01, 0x0D }, + { 0x06, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * CMiniport_IsFlipPending +// ****************************************************************** +OOVPA_NO_XREF(CMiniport_IsFlipPending, 3911, 14) + + { 0x00, 0x8B }, + { 0x01, 0x81 }, + { 0x02, 0xDC }, + { 0x03, 0x01 }, + { 0x04, 0x00 }, + { 0x05, 0x00 }, + { 0x06, 0x8B }, + { 0x07, 0x84 }, + { 0x08, 0xC1 }, + { 0x09, 0xB4 }, + { 0x0A, 0x01 }, + { 0x0B, 0x00 }, + { 0x0C, 0x00 }, + { 0x0D, 0xC3 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index fd2d38f8d..7aa1ea9b1 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -4851,11 +4851,11 @@ OOVPATable D3D8_3925[] = { REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 8979e3775..4c1f0ac3d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -537,7 +537,34 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 4034, 8) { 0x40, 0x5E }, OOVPA_END; -#if 0 // No longer used, replaced by generic 3911 version +// ****************************************************************** +// * D3DDevice_SetRenderState_BackFillMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4034, 13) + + // D3DDevice_SetRenderState_BackFillMode+0x1C : jb +0x05 + { 0x1C, 0x72 }, + { 0x1D, 0x05 }, + + // D3DDevice_SetRenderState_BackFillMode+0x35 : mov dword ptr [eax], abs + { 0x35, 0xC7 }, + { 0x36, 0x00 }, + + // D3DDevice_SetRenderState_BackFillMode+0x41 : add eax, 0x0C; mov [esi], eax; mov [abs], edi + { 0x41, 0x83 }, + { 0x42, 0xC0 }, + { 0x43, 0x0C }, + { 0x44, 0x89 }, + { 0x45, 0x06 }, + { 0x46, 0x89 }, + { 0x47, 0x3D }, + + // D3DDevice_SetRenderState_BackFillMode+0x4E : retn 0x04 + { 0x4E, 0xC2 }, + { 0x4F, 0x04 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** @@ -1275,6 +1302,44 @@ OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle, 4034, 9) { 0x10, 0xC3 }, OOVPA_END; +// ****************************************************************** +// * D3D::CreateStandAloneSurface +// ****************************************************************** +OOVPA_XREF(D3D_CreateStandAloneSurface, 4034, 12, + + XREF_D3D_CreateStandAloneSurface, + XRefZero) + + { 0x01, 0x54 }, + + { 0x17, 0x14 }, + { 0x18, 0x6A }, + { 0x19, 0x00 }, + { 0x1A, 0x6A }, + { 0x1B, 0x00 }, + { 0x1C, 0x6A }, + { 0x1D, 0x00 }, + { 0x1E, 0x52 }, + { 0x1F, 0x6A }, + + { 0x36, 0xF0 }, + { 0x4B, 0x15 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreateImageSurface +// ****************************************************************** +OOVPA_XREF(D3DDevice_CreateImageSurface, 4034, 2, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_D3D_CreateStandAloneSurface), + + { 0x00, 0xE9 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_CreateImageSurface // ****************************************************************** @@ -1297,6 +1362,7 @@ OOVPA_NO_XREF(D3DDevice_CreateImageSurface, 4034, 9) { 0x61, 0xC2 }, { 0x62, 0x10 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetBackBuffer @@ -1351,7 +1417,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetTransform // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetTransform, 4039, 12) +OOVPA_NO_XREF(D3DDevice_GetTransform, 4034, 12) // D3DDevice_GetTransform+0x0A : shl ecx, 0x06 { 0x0A, 0xC1 }, @@ -1379,7 +1445,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4039, 12) +OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4034, 12) // D3DDevice_SelectVertexShader+0x00 : mov eax, [esp+4] { 0x00, 0x8B }, @@ -1403,7 +1469,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4039, 11) +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4034, 11) // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 { 0x05, 0x6A }, @@ -1444,7 +1510,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetPixelShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4039, 12) +OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4034, 12) { 0x00, 0x8B }, { 0x01, 0x44 }, @@ -1486,7 +1552,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 4039, 9) +OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 4034, 9) { 0x08, 0x1D }, { 0x1A, 0x81 }, @@ -2139,7 +2205,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTextureState_BumpEnv // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 4039, 12) +OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 4034, 12) // D3DDevice_SetTextureState_BumpEnv+0x18 : jnz +0x03 { 0x18, 0x75 }, @@ -2165,7 +2231,10 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 4039, 15) +OOVPA_XREF(D3DDevice_KickOff, 4034, 15, + + XREF_D3D_CDevice_KickOff, + XRefZero) { 0x00, 0x51 }, { 0x0E, 0x04 }, @@ -2238,7 +2307,7 @@ OOVPA_END; // ****************************************************************** // * D3D::SetFence // ****************************************************************** -OOVPA_XREF(D3D_SetFence, 4039, 16, +OOVPA_XREF(D3D_SetFence, 4034, 16, XREF_D3D_SetFence, XRefZero) @@ -2308,7 +2377,7 @@ OOVPA_END; // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -OOVPA_XREF(D3D_BlockOnTime, 4039, 10, +OOVPA_XREF(D3D_BlockOnTime, 4034, 10, XREF_D3D_BlockOnTime, XRefZero) @@ -2351,7 +2420,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTile, 4039, 12) +OOVPA_NO_XREF(D3DDevice_SetTile, 4034, 12) { 0x05, 0x1D }, @@ -2474,7 +2543,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 4039, 11) // Up to 5344 +OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 4034, 11) // Up to 5344 { 0x06, 0x56 }, { 0x07, 0xD8 }, @@ -2493,7 +2562,7 @@ OOVPA_END; // ****************************************************************** // * D3D::LazySetPointParams // ****************************************************************** -OOVPA_NO_XREF(D3D_LazySetPointParams, 4039, 7) +OOVPA_NO_XREF(D3D_LazySetPointParams, 4034, 7) { 0x00, 0x83 }, { 0x01, 0xEC }, { 0x02, 0x14 }, @@ -2543,13 +2612,13 @@ OOVPATable D3D8_4034[] = { // Tested on version 4039, The Simpsons - Road Rage (PAL) 4039 etc // TODO: This needs to be verified on 4034 // ****************************************************************** - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), @@ -2563,23 +2632,23 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), - REGISTER_OOVPA(D3D_SetFence, 4039, XREF), + REGISTER_OOVPA(D3DDevice_KickOff, 4034, PATCH), + REGISTER_OOVPA(D3D_SetFence, 4034, XREF), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 4039, XREF), + REGISTER_OOVPA(D3D_BlockOnTime, 4034, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), // ****************************************************************** REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), @@ -2615,14 +2684,14 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3D_AllocContiguousMemory, 3911, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), @@ -2640,7 +2709,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index ee3439a64..2a4282dab 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -394,7 +394,7 @@ OOVPA_NO_XREF(D3DDevice_CopyRects, 4134, 10) { 0xDE, 0x22 }, OOVPA_END; #endif - +#if 0 // Moved to 4034 // ****************************************************************** // * D3D::CreateStandAloneSurface // ****************************************************************** @@ -403,7 +403,8 @@ OOVPA_XREF(D3D_CreateStandAloneSurface, 4134, 12, XREF_D3D_CreateStandAloneSurface, XRefZero) - { 0x02, 0x24 }, + { 0x01, 0x54 }, + { 0x17, 0x14 }, { 0x18, 0x6A }, { 0x19, 0x00 }, @@ -417,7 +418,8 @@ OOVPA_XREF(D3D_CreateStandAloneSurface, 4134, 12, { 0x36, 0xF0 }, { 0x4B, 0x15 }, OOVPA_END; - +#endif +#if 0 // Moved to 4034 // ****************************************************************** // * D3DDevice_CreateImageSurface // ****************************************************************** @@ -430,7 +432,7 @@ OOVPA_XREF(D3DDevice_CreateImageSurface, 4134, 2, { 0x00, 0xE9 }, OOVPA_END; - +#endif #if 0 // Probably ?Lock3DSurface@PixelJar@D3D@@YGXPAUD3DPixelContainer@@IPAU_D3DLOCKED_BOX@@PBU_D3DBOX@@K@Z // ****************************************************************** // * D3DDevice_CreateImageSurface @@ -1004,6 +1006,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 4134, 13) OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** @@ -1017,7 +1020,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4134, 13) { 0x35, 0xC7 }, { 0x36, 0x00 }, - // D3DDevice_SetRenderState_BackFillMode+0x3B : add eax, 0x0C; mov [esi], eax; mov [abs], edi + // D3DDevice_SetRenderState_BackFillMode+0x41 : add eax, 0x0C; mov [esi], eax; mov [abs], edi { 0x41, 0x83 }, { 0x42, 0xC0 }, { 0x43, 0x0C }, @@ -1030,7 +1033,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4134, 13) { 0x4E, 0xC2 }, { 0x4F, 0x04 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetTextureState_ColorKeyColor @@ -2820,6 +2823,39 @@ OOVPA_XREF(D3DDevice_MakeSpace, 4134, 8, { 0x0E, 0xC3 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTexture2, 4134, 23) // Up to 4531 + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + { 0x0E, 0x78 }, // GetTexture 780A vs GetPalette 880A + { 0x0F, 0x0A }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x16 }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -2873,8 +2909,6 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH), @@ -2884,15 +2918,17 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4034, PATCH), - REGISTER_OOVPA(D3D_CreateStandAloneSurface, 4134, XREF), - REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4134, PATCH), + REGISTER_OOVPA(D3D_CreateStandAloneSurface, 4034, XREF), + REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -2902,7 +2938,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), @@ -2924,7 +2960,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), @@ -2943,28 +2979,28 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4034, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 4034, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4134, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl index 10993fc29..fbf76d914 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl @@ -136,3 +136,52 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, 1+10, { 0xB4, 0xE2 }, { 0xB5, 0x04 }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4242, 11) + + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, + { 0x06, 0x00 }, + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x01 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x2434 + { 0x17, 0x05 }, + { 0x18, 0x34 }, + { 0x19, 0x24 }, + + // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, + + // D3DDevice_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CMiniport_IsFlipPending +// ****************************************************************** +OOVPA_NO_XREF(CMiniport_IsFlipPending, 4242, 17) + + { 0x00, 0x8B }, + { 0x01, 0x81 }, + { 0x02, 0xF4 }, + { 0x03, 0x01 }, + { 0x04, 0x00 }, + { 0x05, 0x00 }, + { 0x06, 0x83 }, + { 0x07, 0xE0 }, + { 0x08, 0x01 }, + { 0x09, 0x8B }, + { 0x0A, 0x84 }, + { 0x0B, 0xC1 }, + { 0x0C, 0xB4 }, + { 0x0D, 0x01 }, + { 0x0E, 0x00 }, + { 0x0F, 0x00 }, + { 0x10, 0xC3 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index 299fd916d..73048fb91 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -1237,7 +1237,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4242, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), @@ -1257,11 +1257,11 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), @@ -1273,7 +1273,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4242, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), @@ -1286,7 +1286,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), @@ -1319,13 +1319,11 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), @@ -1345,20 +1343,20 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4242, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4034, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), @@ -1381,7 +1379,9 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), @@ -1400,7 +1400,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 4039, PATCH), + REGISTER_OOVPA(D3D_BlockOnTime, 4034, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), @@ -1409,7 +1409,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 4034, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), @@ -1417,7 +1417,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index 66b597988..8c0c12d7b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -720,14 +720,14 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4034, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH), @@ -764,7 +764,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), @@ -803,14 +803,14 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), // REGISTER_OOVPA(D3DVertexBuffer_Lock, 4531, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), @@ -830,7 +830,9 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),// Just calls Lock2DSurface REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), @@ -850,7 +852,6 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), @@ -872,25 +873,24 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),// Just calls Lock2DSurface REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 4034, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 4039, PATCH), + REGISTER_OOVPA(D3D_BlockOnTime, 4034, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), - REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4034, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), // ****************************************************************** // Provisional registration functions in XDK 4432 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl index 16d675eeb..77a0af0f4 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl @@ -122,7 +122,10 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 4531, 13) +OOVPA_XREF(D3DDevice_KickOff, 4531, 13, + + XREF_D3D_CDevice_KickOff, + XRefZero) // D3D::CDevice::KickOff+0x0B : mov edx, [ecx+0x35C] { 0x0B, 0x8B }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index f3cf078b8..52a197de6 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -462,7 +462,12 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetBackBuffer // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 4627, 10) +OOVPA_XREF(D3DDevice_GetBackBuffer, 4627, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3DDevice_GetBackBuffer2 ), { 0x03, 0x04 }, { 0x05, 0xE8 }, @@ -480,7 +485,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 4627, 12) +OOVPA_XREF(D3DDevice_GetBackBuffer2, 4627, 12, + + XREF_D3DDevice_GetBackBuffer2, + XRefZero) // D3DDevice_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, @@ -508,7 +516,12 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetRenderTarget // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 4627, 12) +OOVPA_XREF(D3DDevice_GetRenderTarget, 4627, 13, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_D3DDevice_GetRenderTarget2 ), { 0x00, 0xE8 }, @@ -530,7 +543,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3DDevice_GetRenderTarget2, 4627, 9, - XRefNoSaveIndex, + XREF_D3DDevice_GetRenderTarget2, XRefOne) XREF_ENTRY( 0x12, XREF_D3DResource_AddRef ), @@ -561,7 +574,12 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetDepthStencilSurface // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 4627, 10) +OOVPA_XREF(D3DDevice_GetDepthStencilSurface, 4627, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_D3DDevice_GetDepthStencilSurface2 ), { 0x00, 0xE8 }, @@ -579,7 +597,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetDepthStencilSurface2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 20) +OOVPA_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 20, + + XREF_D3DDevice_GetDepthStencilSurface2, + XRefZero) { 0x00, 0xA1 }, @@ -664,22 +685,24 @@ OOVPA_END; #endif // ****************************************************************** -// * D3DDevice_SetTile +// * D3D_SetTileNoWait // ****************************************************************** -// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z -OOVPA_NO_XREF(D3DDevice_SetTile, 4627, 11) +OOVPA_XREF(D3D_SetTileNoWait, 4627, 11, - // D3DDevice_SetTile+0x06 : sub esp, 0x18 + XREF_D3D_SetTileNoWait, + XRefZero) + + // D3D_SetTileNoWait+0x06 : sub esp, 0x18 { 0x06, 0x83 }, { 0x07, 0xEC }, { 0x08, 0x18 }, - // D3DDevice_SetTile+0x15 : cmp [esi+4], eax + // D3D_SetTileNoWait+0x15 : cmp [esi+4], eax { 0x15, 0x39 }, { 0x16, 0x46 }, { 0x17, 0x04 }, - // D3DDevice_SetTile+0x3D : lea edi, [edx+ecx*8+0xXXXX] + // D3D_SetTileNoWait+0x3D : lea edi, [edx+ecx*8+0xXXXX] { 0x3D, 0x8D }, { 0x3E, 0xBC }, { 0x3F, 0xCA }, @@ -689,6 +712,20 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 4627, 11) { 0x43, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetTile +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetTile, 4627, 3, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3D_SetTileNoWait ), + + { 0x00, 0xE8 }, + { 0x05, 0xE9 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_CreateIndexBuffer2 // ****************************************************************** @@ -1436,10 +1473,39 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4627, 11) OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_CreateVertexBuffer +// ****************************************************************** +OOVPA_XREF(D3DDevice_CreateVertexBuffer, 4627, 13, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3DDevice_CreateVertexBuffer2 ), + + { 0x00, 0x8B }, + + { 0x0A, 0x8B }, + { 0x0B, 0x4C }, + { 0x0C, 0x24 }, + { 0x0D, 0x14 }, + { 0x0E, 0x33 }, + { 0x0F, 0xD2 }, + { 0x10, 0x85 }, + { 0x11, 0xC0 }, + { 0x12, 0x0F }, + + { 0x1E, 0x8B }, + { 0x1F, 0xC2 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 4627, 13) +OOVPA_XREF(D3DDevice_CreateVertexBuffer2, 4627, 13, + + XREF_D3DDevice_CreateVertexBuffer2, + XRefZero) // D3DDevice_CreateVertexBuffer2+0x03 : push 0x40 { 0x03, 0x6A }, @@ -1910,7 +1976,10 @@ OOVPA_END; // ****************************************************************** // * D3DVertexBuffer_Lock2 // ****************************************************************** -OOVPA_NO_XREF(D3DVertexBuffer_Lock2, 4627, 12) +OOVPA_XREF(D3DVertexBuffer_Lock2, 4627, 12, + + XREF_D3DVertexBuffer_Lock2, + XRefZero) // D3DVertexBuffer_Lock2B+0x00 : push ebx { 0x00, 0x53 }, @@ -1934,10 +2003,16 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock2, 4627, 12) { 0x48, 0xC2 }, { 0x49, 0x08 }, OOVPA_END; + // ****************************************************************** // * D3DVertexBuffer_Lock // ****************************************************************** -OOVPA_NO_XREF(D3DVertexBuffer_Lock, 4627, 25) +OOVPA_XREF(D3DVertexBuffer_Lock, 4627, 26, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x0B, XREF_D3DVertexBuffer_Lock2 ), { 0x00, 0x8B }, { 0x01, 0x44 }, @@ -2698,6 +2773,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 4531, 13) OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_KickPushBuffer // ****************************************************************** @@ -2706,12 +2782,13 @@ OOVPA_XREF(D3DDevice_KickPushBuffer, 4627, 4, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x07, XREF_D3D_KickOff ), + XREF_ENTRY( 0x07, XREF_D3D_CDevice_KickOff ), { 0x00, 0x8B }, { 0x01, 0x0D }, { 0x06, 0xE9 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetTexture2 @@ -2724,7 +2801,7 @@ OOVPA_XREF(D3DDevice_GetTexture2, 4627, 1 + 21, // Also for 5344, 5558, 5659, 57 XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived #endif -OOVPA_NO_XREF(D3DDevice_GetTexture2, 4627, 21) +OOVPA_NO_XREF(D3DDevice_GetTexture2, 4627, 23) // Up to 5233 { 0x00, 0x8B }, { 0x01, 0x44 }, @@ -2737,6 +2814,8 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 4627, 21) { 0x0B, 0x8D }, { 0x0C, 0xB4 }, { 0x0D, 0x81 }, + { 0x0E, 0x38 }, // GetTexture2 380B vs GetPalette2 480B + { 0x0F, 0x0B }, { 0x10, 0x00 }, { 0x11, 0x00 }, @@ -3639,6 +3718,29 @@ OOVPA_NO_XREF(D3DPalette_Lock, 4531, 17) OOVPA_END; #endif +// ****************************************************************** +// * IDirect3DVertexBuffer8_Lock +// ****************************************************************** +OOVPA_XREF(IDirect3DVertexBuffer8_Lock, 4627, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x03, XREF_D3DVertexBuffer_Lock2 ), + + { 0x00, 0x50 }, + { 0x01, 0x51 }, + { 0x02, 0xE8 }, + + { 0x07, 0x8B }, + { 0x08, 0x4C }, + { 0x09, 0x24 }, + { 0x0A, 0x04 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, + { 0x0D, 0x24 }, +OOVPA_END; + // ****************************************************************** // * D3D8_4627 // ****************************************************************** @@ -3667,12 +3769,13 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4627, DISABLED), // Called D3DDevice_GetRenderTarget2 REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 4627, DISABLED), // Called D3DDevice_GetDepthStencilSurface2 REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), @@ -3708,7 +3811,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -3718,7 +3821,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), @@ -3731,7 +3834,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), @@ -3759,7 +3862,6 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), @@ -3771,7 +3873,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), @@ -3785,11 +3887,11 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), @@ -3825,7 +3927,9 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3D_BlockOnTime, 4627, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH),//TODO 4721,4928 REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4627, PATCH), // Called D3DCubeTexture_GetCubeMapSurface2 @@ -3841,13 +3945,12 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_GetPersistedSurface2, 4928, PATCH), // For only on Unreal Championship REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_KickPushBuffer, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_KickPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl index 3d42c2596..ca255eba7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl @@ -44,3 +44,27 @@ OOVPA_NO_XREF(D3DDevice_GetPersistedSurface2, 4928, 6) // For only on Unreal Cha { 0x04, 0x3A }, { 0x05, 0x00 }, OOVPA_END; + +// ****************************************************************** +// * CMiniport_IsFlipPending +// ****************************************************************** +OOVPA_NO_XREF(CMiniport_IsFlipPending, 4928, 18) + + { 0x00, 0x8B }, + { 0x01, 0x81 }, + { 0x02, 0xBC }, + { 0x03, 0x01 }, + { 0x04, 0x00 }, + { 0x05, 0x00 }, + { 0x06, 0x83 }, + { 0x07, 0xE0 }, + { 0x08, 0x01 }, + { 0x09, 0x8D }, + { 0x0A, 0x44 }, + { 0x0B, 0x40 }, + { 0x0C, 0x5D }, + { 0x0D, 0x8B }, + { 0x0E, 0x04 }, + { 0x0F, 0x81 }, + { 0x10, 0xC3 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index 4240bff95..e8d276494 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -965,7 +965,10 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 5028, 8) +OOVPA_XREF(D3DDevice_KickOff, 5028, 8, + + XREF_D3D_CDevice_KickOff, + XRefZero) { 0x07, 0x08 }, { 0x17, 0xC4 }, @@ -1268,10 +1271,12 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF), + REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), @@ -1303,7 +1308,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -1313,8 +1318,8 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), @@ -1327,7 +1332,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), @@ -1350,7 +1355,6 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), @@ -1362,7 +1366,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), @@ -1376,7 +1380,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), @@ -1406,7 +1410,9 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), @@ -1414,9 +1420,9 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_KickPushBuffer, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_KickPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), @@ -1437,7 +1443,6 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // ****************************************************************** // Provisional registration functions in XDK 5028 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 827b75ea3..fe85d3ed2 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -674,13 +674,14 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), @@ -709,7 +710,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -719,7 +720,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), @@ -763,7 +764,9 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), @@ -776,13 +779,13 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3D_SetFence, 5028, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), @@ -814,14 +817,12 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5028, PATCH), @@ -854,7 +855,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index 2256dbfe7..4189c26a7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -678,7 +678,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 5344, 9) +OOVPA_XREF(D3DDevice_CreateVertexBuffer2, 5344, 9, + + XREF_D3DDevice_CreateVertexBuffer2, + XRefZero) { 0x08, 0xE8 }, { 0x0E, 0xF0 }, @@ -1337,6 +1340,43 @@ OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5344, 16) { 0x13, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetTexture2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTexture2, 5344, 23) // Up to 5455 + + // XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + { 0x0E, 0x68 }, // GetTexture2 680B vs GetPalette2 780B + { 0x0F, 0x0B }, + + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x06 }, +// { 0x21, 0xC2 }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -1360,12 +1400,13 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5344, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5344, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), @@ -1396,7 +1437,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -1406,7 +1447,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), // Was 5233 REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), @@ -1448,6 +1489,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), // Was 5233 REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), @@ -1460,7 +1502,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), // Was 5233 + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), // Was 5233 REGISTER_OOVPA(D3D_SetFence, 5028, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), @@ -1490,7 +1532,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), @@ -1521,7 +1563,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTexture2, 5344, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), @@ -1539,9 +1581,8 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), @@ -1549,7 +1590,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), // ****************************************************************** // Unused functions in XDK 5344 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl index 77c05366f..7dd909495 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl @@ -71,7 +71,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 5455, 14) +OOVPA_XREF(D3DDevice_CreateVertexBuffer2, 5455, 14, + + XREF_D3DDevice_CreateVertexBuffer2, + XRefZero) { 0x00, 0x56 }, { 0x08, 0xE8 }, @@ -421,10 +424,12 @@ OOVPA_END; #endif // ****************************************************************** -// * D3DDevice_SetTile +// * D3D_SetTileNoWait // ****************************************************************** -// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z -OOVPA_NO_XREF(D3DDevice_SetTile, 5455, 16) +OOVPA_XREF(D3D_SetTileNoWait, 5455, 16, + + XREF_D3D_SetTileNoWait, + XRefZero) { 0x00, 0x83 }, { 0x01, 0xEC }, @@ -520,7 +525,10 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 5455, 15) +OOVPA_XREF(D3DDevice_KickOff, 5455, 15, + + XREF_D3D_CDevice_KickOff, + XRefZero) { 0x06, 0xA8 }, { 0x07, 0x04 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index b67c7f89f..12bce2e34 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -1807,7 +1807,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewportOffsetAndScale, 5558, 8) { 0xFE, 0xC1 }, OOVPA_END; -#if 0 // Moved to 5455 +#if 0 // Moved to 5455, rename to D3D_SetTileNoWait // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** @@ -2170,6 +2170,43 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5558, 16) { 0x13, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetTexture2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTexture2, 5558, 23) // Up to 5659 + + // XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + { 0x0E, 0x78 }, // GetTexture2 780F vs GetPalette2 880F + { 0x0F, 0x0F }, + + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x06 }, +// { 0x21, 0xC2 }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -2218,7 +2255,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), @@ -2257,7 +2294,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), @@ -2288,7 +2325,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5558, PATCH), @@ -2325,6 +2362,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), @@ -2350,7 +2388,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5233, PATCH), @@ -2363,7 +2401,8 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 5455, XREF), + REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), @@ -2381,15 +2420,14 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTexture2, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH), @@ -2405,7 +2443,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetPixelShader, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl index 65b93e8ac..47a8254f1 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl @@ -186,3 +186,137 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5659, 12) { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5659, 16) + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x98 }, + { 0x08, 0x07 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, + { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, + { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, + { 0x13, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetPixelShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5659, 16) + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x84 }, + { 0x08, 0x07 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, + { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, + { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, + { 0x13, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5659, 11) + + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, + { 0x06, 0x00 }, + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x01 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x1DBC + { 0x17, 0x05 }, + { 0x18, 0xBC }, + { 0x19, 0x1D }, + + // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, + + // D3DDevice_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetShaderConstantMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5659, 16) + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x28 }, + { 0x08, 0x19 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, + { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, + { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, + { 0x13, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetTexture2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTexture2, 5659, 23) // Up to 5849 + + // XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + { 0x0E, 0x88 }, // GetTexture2 880F vs GetPalette2 980F + { 0x0F, 0x0F }, + + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x06 }, +// { 0x21, 0xC2 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 91ac0209f..95988448b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -450,33 +450,7 @@ OOVPA_XREF(D3DDevice_SetVerticalBlankCallback, 5788, 7, { 0x11, 0x04 }, OOVPA_END; #endif - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5788, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x1DBC - { 0x17, 0x05 }, - { 0x18, 0xBC }, - { 0x19, 0x1D }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -#if 0 // No longer used, replaced by another 5788 version +#if 0 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** @@ -1053,7 +1027,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderSize, 5788, 13) { 0x12, 0x08 }, OOVPA_END; #endif - +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_GetShaderConstantMode // ****************************************************************** @@ -1077,7 +1051,8 @@ OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5788, 16) { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_GetVertexShader // ****************************************************************** @@ -1101,7 +1076,8 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5788, 16) { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_GetPixelShader // ****************************************************************** @@ -1125,6 +1101,45 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5788, 16) { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; +#endif +#if 0 // Moved to 5659 +// ****************************************************************** +// * D3DDevice_GetTexture2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTexture2, 5788, 23) // Up to 5849 + + // XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + { 0x0E, 0x88 }, // GetTexture2 880F vs GetPalette2 980F + { 0x0F, 0x0F }, + + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x06 }, +// { 0x21, 0xC2 }, +OOVPA_END; +#endif // ****************************************************************** // * D3D8_5788 @@ -1156,7 +1171,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), @@ -1183,7 +1198,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), @@ -1221,6 +1236,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), @@ -1228,16 +1244,17 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5344, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 5455, XREF), + REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH), @@ -1271,7 +1288,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH), @@ -1295,7 +1312,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTexture2, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), @@ -1308,9 +1325,8 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), @@ -1322,16 +1338,16 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5659, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShader, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_GetPixelShader, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index 1bd38627e..322450f09 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -201,7 +201,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), @@ -228,7 +228,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5344, PATCH), @@ -261,6 +261,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), @@ -268,15 +269,16 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5344, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 5455, XREF), + REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH), @@ -309,7 +311,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH), @@ -331,7 +333,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTexture2, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), @@ -352,24 +354,23 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5659, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShader, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetPixelShader, 5659, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index c23ae6d98..d17caacac 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -32,24 +32,51 @@ // * // ****************************************************************** +// Titles which did compiled with full libary version +// [LibV] Title Name | Verify | Comments +//----------------------------------------------------------------------- +// * [3925] Azurik | 100% | Missing D3D_SetPushBufferSize due locate in BINK section, have 182/196 library. +// * [3948] Shikigami no Shiro | 100% | have 178/196 library. +// * [4034] Dark Summit | 100% | have 113/195 library. +// * [4039] New Legends | 100% | have 117/195 library. +// * [4134] Double-S.T.E.A.L | 100% | have 195/202 library. +// * [4242] NFL Blitz 2002 | 100% | have 180/202 library. +// * [4361] Hunter The Reckoning | 100% | have 117/204 library. +// * [4432] RedCard 2003 | 100% | have 184/206 library. +// * [4531] NHL HITZ 2003 | 100% | have 196/206 library. +// * [4627] MLB SlugFest 2003 | 100% | have 216/227 library. +// * [4721] Terminator - Dawn of Fate | 100% | have 202/227 library. +// * [4831] Frogger Beyond | 100% | have 200/227 library. +// * [4928] Drihoo | 100% | have 201/228 library. +// * [5028] Shikigami no Shiro Evolution | 100% | have 201/229 library. +// * [5120] N.U.D.E.@ | 100% | have 211/229 library. +// * [5233] Evil Dead | 100% | have 208/230 library. +// * [5344] Gladius DEMO | 100% | have 202/229 library. +// * [5455] Dinosaur Hunting | 100% | have 207/229 library. +// * [5558] NHL HITZ Pro 2004 | 100% | have 218/229 library. +// * [5659] Midway Arcade Treasures Paperboy | 100% | have 212/229 library. +// * [5788] Digimon Battle Chronicle | 100% | have 210/229 library. +// * [5849] Nickelodeon Tak 2 | 100% | have 210/229 library. + // TODO: Known D3D8 OOVPA issue list +// * CMiniport_IsFlipPending is XREF in v1 database, any reason for this? // * Following OOVPA revision are not verified // * D3DCubeTexture_GetCubeMapSurface (4721, 4928, 5233, 5455) // * D3DDevice_ApplyStateBlock (4039, 4721, 5028, 5120) -// * D3DDevice_BeginPushBuffer (3950, 4039, 4242, 5028) +// * D3DDevice_BeginPushBuffer (3948, 4039, 4242, 5028) // * D3DDevice_BeginStateBlock (4039, 4721, 5028, 5120) // * D3DDevice_BlockOnFence (4039) // * D3DDevice_CaptureStateBlock (4039, 4432, 4721, 4831, 5028, 5120) // * D3DDevice_CreateCubeTexture (4721, 4928, 5028, 5233, 5455) // * D3DDevice_CreateImageSurface (4721, 4928, 5028, 5120, 5233, 5455) // * D3DDevice_CreatePalette (4721, 4831, 4928, 5120, 5233, 5455) -// * D3DDevice_CreateStateBlock (3950, 4039, 4242, 4432, 4721, 4928, 5028, 5120) +// * D3DDevice_CreateStateBlock (3948, 4039, 4242, 4432, 4721, 4928, 5028, 5120) // * D3DDevice_CreateTexture (4721, 4928, 5233, 5455) // * D3DDevice_CreateVolumeTexture (4721, 4928, 5028, 5120, 5233, 5455) // * D3DDevice_DeleteStateBlock (4039, 4721, 4831, 5028, 5120) // * D3DDevice_DrawRectPatch (3948 and higher, only use by 3925?) // * D3DDevice_EnableOverlay (4039) -// * D3DDevice_EndPushBuffer (3950, 4039, 4242, 5028) +// * D3DDevice_EndPushBuffer (3948, 4039, 4242, 5028) // * D3DDevice_EndStateBlock (4039, 4721, 4831, 5028, 5120) // * D3DDevice_FlushVertexCache (4039) // * D3DDevice_GetBackBuffer (4721, 4831, 4928, 5028, 5120, 5233, 5455) @@ -59,7 +86,7 @@ // * D3DDevice_GetModelView (4039) // * D3DDevice_GetOverlayUpdateStatus (4039, 4242, 4432) // * D3DDevice_GetProjectionViewportMatrix (4039) -// * D3DDevice_GetPushBufferOffset (3950, 4039, 4242, 5028) +// * D3DDevice_GetPushBufferOffset (3948, 4039, 4242, 5028) // * D3DDevice_GetRenderTarget (5028) // * D3DDevice_GetScissors (4039) // * D3DDevice_GetShaderConstantMode (4039) @@ -77,20 +104,19 @@ // * D3DDevice_SetBackMaterial (4039) // * D3DDevice_SetModelView (4039) // * D3DDevice_SetPixelShaderProgram (4039) -// * D3DDevice_SetRenderTarget (5120) // * D3DDevice_SetVertexData2s (4039) // * D3DDevice_SetVertexData4s (4039) // * D3DDevice_SetVertexData4ub (4039) -// * D3DDevice_SetVertexShaderConstant (4721, 4928) +// * D3DDevice_SetVertexShaderConstant (4928) // * D3DDevice_SetVertexShaderInput (4039) // * D3DDevice_SwitchTexture (4039) // * D3DDevice_UpdateOverlay (4039) // * D3DPalette_Lock (4721, 4831, 4928, 5028, 5120, 5233) -// * D3DTexture_GetSurfaceLevel (4928), 5455) // * D3DTexture_GetSurfaceLevel (4928, 5455) // * D3DVertexBuffer_Lock (4721, 4831, 4928, 5120, 5233, 5455) // * D3D_ClearStateBlockFlags (4039, 4721, 5028, 5120) // * D3D_RecordStateBlock (4039, 4721, 5028, 5120) +// * CMiniport_IsFlipPending (4039, 4134) #ifndef D3D8_OOVPA_INL #define D3D8_OOVPA_INL @@ -127,7 +153,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(CMiniport_CreateCtxDmaObject, PATCH, 3911, 4034), REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 3911, 4034/*, 4361, 4627*/, 5455), - REGISTER_OOVPAS(CMiniport_IsFlipPending, XREF, 4627), + REGISTER_OOVPAS(CMiniport_IsFlipPending, UNPATCHED, 3911, 4242, 4627, 4928), REGISTER_OOVPAS(D3DBaseTexture_GetLevelCount, PATCH, 3911), REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, PATCH, 3911/*, 4134*/, 4627/*, 5558*/), // Called D3DCubeTexture_GetCubeMapSurface2 (from 4627's comment) NOTE: Use D3DCubeTexture_GetCubeMapSurface2 for 4627 and above REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, PATCH, 4627), @@ -141,12 +167,12 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_BeginStateBlock, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 3911, 4034/*, 4361, 4627*/), REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3911/*, 4039, 4134, 5233*/), - REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3911, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3911, 4034, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659/*, 5788*/), REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3911, 4134/*, 4627, 5455*/), REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3911, 4034/*, 4134, 4627, 5028*/), REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3911, 4034/*, 4134*/, 4627, 5120), REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3911/*, 4361*/, 4627), - REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3911, 4034, 4134, 4627),//TODO 4721,4928 (from 4627's comment) + REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3911, 4034/*, 4134*/, 4627),//TODO 4721,4928 (from 4627's comment) REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer, UNPATCHED, 3911, 4627/*, 5558*/), // TODO: This needs to be verified on 4361 REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer2, UNPATCHED, 4627, 5344), REGISTER_OOVPAS(D3DDevice_CreatePalette, PATCH, 3911, 4627), // Called D3DDevice_CreatePalette2 (from 4627's comment) NOTE: Use D3DDevice_CreatePalette2 for 4627 and above @@ -155,7 +181,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3911/*, 4627*/), REGISTER_OOVPAS(D3DDevice_CreateTexture, PATCH, 3911, 4627),// Called D3DDevice_CreateTexture2 (from 4627's comment) NOTE: Use D3DDevice_CreateTexture2 for 4627 and above REGISTER_OOVPAS(D3DDevice_CreateTexture2, PATCH, 4627, 4831/*, 5028, 5233*/), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer, UNPATCHED, 3911), + REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer2, UNPATCHED, 4627, 5344, 5455), REGISTER_OOVPAS(D3DDevice_CreateVertexShader, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_CreateVolumeTexture, PATCH, 3911, 4627), @@ -192,18 +218,18 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_GetModelView, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_GetOverlayUpdateStatus, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetPersistedSurface2, PATCH, 4928), // For only on Unreal Championship (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_GetPixelShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetPixelShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5659/*, 5788*/), REGISTER_OOVPAS(D3DDevice_GetProjectionViewportMatrix, PATCH, 3911, 4134/*, 4432*/, 4627, 5344, 5558), // For 5455 (from 5558's comment) REGISTER_OOVPAS(D3DDevice_GetPushBufferOffset, PATCH, 3911, 4627),//TODO 4831 (from 4627's comment) REGISTER_OOVPAS(D3DDevice_GetRenderTarget, PATCH, 3911, 4039, 4134/*, 4361, 4432*/, 4627), // Called D3DDevice_GetRenderTarget2 (from 4627's comment) NOTE: Use D3DDevice_GetRenderTarget2 for 4627 and above REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, PATCH, 4627/*, 5028*/), REGISTER_OOVPAS(D3DDevice_GetScissors, PATCH, 3911/*, 5788*/), - REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3911, 4134, 4627, 5028, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3911, 4134, 4627, 5028, 5344, 5558, 5659/*, 5788*/), REGISTER_OOVPAS(D3DDevice_GetStreamSource2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 3911, 4134, 4627, 5344, 5558, 5659/*, 5788*/), REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3911/*, 4134, 4627, 5028, 5344*/, 5455), - REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3911, 4034), + REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5659/*5788*/), REGISTER_OOVPAS(D3DDevice_GetVertexShaderConstant, PATCH, 3911, 4039, 5028), REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3911/*, 4134, 4627, 5455*/), REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3911/*, 4134*/), @@ -217,8 +243,8 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_InsertFence, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3911/*, 4034*/, 5028/*, 5344*/), REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3911, 4039, 5028/*, 5558*/), - REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3911, 4039/*, 4134*/, 4531, 5028, 5455/*, 5788*/), - REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3911, 4034/*, 4134*/, 4531, 5028, 5455/*, 5788*/), + REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 3911/*, 4627*/), REGISTER_OOVPAS(D3DDevice_LazySetStateVB, XREF, 5028), REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911/*, 5028*/, 5344), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_LoadVertexShader, PATCH, 3911, 4034, 4627, 5028), @@ -231,7 +257,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3911/*, 4039*/), REGISTER_OOVPAS(D3DDevice_RunPushBuffer, PATCH, 3911, 4039, 4627, 5120, 5558), // for 5455 (from 5558's comment) REGISTER_OOVPAS(D3DDevice_RunVertexStateShader, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3911, 4039/*, 4627, 5344*/, 5455), + REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3911, 4034/*, 4627, 5344*/, 5455), REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, PATCH, 4361), REGISTER_OOVPAS(D3DDevice_SetBackBufferScale, PATCH, 4134), REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3911, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 5788*/), @@ -243,10 +269,10 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3911, 4034, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 5788*/), // Was 4627 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetModelView, PATCH, 3911, 4134, 4627), REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3911, 4034/*, 4134, 4432, 4627, 5233, 5344, 5558, 5788*/), - REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3911, 4039/*, 4134, 4432*/, 4627), + REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3911, 4034/*, 4134, 4432*/, 4627), REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3911/*, 4039*/, 4831/*, 5233, 5558*/), REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3911/*, 4361, 4627, 5558*/), - REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3911/*, 4034*/, 4134/*, 4531, 5788*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3911, 4034/*, 4134, 4531, 5788*/), REGISTER_OOVPAS(D3DDevice_SetRenderState_CullMode, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetRenderState_Deferred, UNPATCHED, 3911), REGISTER_OOVPAS(D3DDevice_SetRenderState_DoNotCullUncompressed, PATCH, 3911), @@ -281,8 +307,8 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3911, 3948, 4039/*, 4134*/, 4627, 5344, 5455/*, 5558*/), REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 5233/*, 5344*/), REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3911/*, 4039, 4361, 4627, 5233*/, 5344, 5558), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4039/*, 5233, 5344*/, 5455), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3911, 4039/*, 4134, 4361, 4627, 5028*/), + REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4034/*, 5233, 5344*/, 5455), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3911, 4034/*, 4134, 4361, 4627, 5028*/), REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter, PATCH, 3911, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetStateUP, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3DDevice_SetStateVB, UNPATCHED, 3911, 4627), @@ -291,10 +317,10 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3911, 4034/*, 4627*/, 4831/*, 5344*/), // Was 4928 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3911, 4034/*, 4361*/), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3911, 4039), + REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3911, 4034/*, 4134*/), REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3911, 4034, 4242, 4627), - REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3911, 4039/*, 4134*/, 4627/*, 5028*/, 5455/*, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. + REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3911, 4034/*, 4134*/, 4627/*, 5028, 5455, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3911, 4034/*, 4134*/, 5344, 5558), // Was 4134 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3911, 4039), // Was 4627 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3911, 4134/*, 4361*/), @@ -335,14 +361,14 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DVolumeTexture_LockBox, PATCH, 3911), // Just calls Lock3DSurface (from 4134, 4432's comment) REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3911, 5455/*, 5788*/), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment) REGISTER_OOVPAS(D3D_BlockOnResource, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4039/*, 4361*/, 4627, 5028, 5558/*, 5849*/), + REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4034/*, 4361*/, 4627, 5028, 5558/*, 5849*/), REGISTER_OOVPAS(D3D_CMiniport_GetDisplayCapabilities, PATCH, 3911), REGISTER_OOVPAS(D3D_CheckDeviceFormat, UNPATCHED, 3911/*, 4134*/), REGISTER_OOVPAS(D3D_ClearStateBlockFlags, XREF, 3911/*, 5788*/), REGISTER_OOVPAS(D3D_CommonSetRenderTarget, XREF, 4627, 5028/*, 5233*/), // Used between 4627 to 5233 (from 5344's comment) REGISTER_OOVPAS(D3D_CommonSetRenderTargetB, XREF, 4627), REGISTER_OOVPAS(D3D_CreateDeviceX, UNPATCHED, 4627), - REGISTER_OOVPAS(D3D_CreateStandAloneSurface, XREF, 4134), + REGISTER_OOVPAS(D3D_CreateStandAloneSurface, XREF, 4034), REGISTER_OOVPAS(D3D_EnumAdapterModes, UNPATCHED, 3911), REGISTER_OOVPAS(D3D_GetAdapterDisplayMode, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3D_GetAdapterIdentifier, UNPATCHED, 3911), @@ -350,11 +376,12 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3D_GetDeviceCaps, UNPATCHED, 3911), REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle, PATCH, 3911, 4034, 4627, 5028), REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle2, PATCH, 4627), - REGISTER_OOVPAS(D3D_LazySetPointParams, PATCH, 3911, 4039), + REGISTER_OOVPAS(D3D_LazySetPointParams, PATCH, 3911, 4034), REGISTER_OOVPAS(D3D_RecordStateBlock, XREF, 3911/*, 5788*/), REGISTER_OOVPAS(D3D_SetCommonDebugRegisters, PATCH, 3911), - REGISTER_OOVPAS(D3D_SetFence, XREF, 3911, 4039, 4134, 5028, 5558), + REGISTER_OOVPAS(D3D_SetFence, XREF, 3911, 4034, 4134, 5028, 5558), REGISTER_OOVPAS(D3D_SetPushBufferSize, UNPATCHED, 3911), + REGISTER_OOVPAS(D3D_SetTileNoWait, XREF, 4627, 5455), // REGISTER_OOVPAS(D3D_Unknown, XREF, 5788), // This one D3DDevice_MakeSpace REGISTER_OOVPAS(Direct3D_CheckDeviceMultiSampleType, UNPATCHED, 3911), REGISTER_OOVPAS(Direct3D_CreateDevice, PATCH, 3911, 5028), @@ -363,6 +390,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(Lock3DSurface, PATCH, 3911), REGISTER_OOVPAS(D3D_MakeRequestedSpace, PATCH, 4134, 5028, 5558/*, 5788*/), REGISTER_OOVPAS(XMETAL_StartPush, UNPATCHED, 3911), + REGISTER_OOVPAS(IDirect3DVertexBuffer8_Lock, UNPATCHED, 4627), }; // ******************************************************************