From c5998db876a0b8827d9b50cd0d925a13be792254 Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Thu, 12 Oct 2017 15:41:05 -0500 Subject: [PATCH] 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),