diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index b4af21dc2..01a1a838b 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -308,6 +308,7 @@ enum XRefDataBaseOffset XREF_CDirectSoundBuffer_SetI3DL2Source, XREF_CDirectSoundVoice_SetFormat, XREF_CDirectSoundBuffer_SetFormat, + XREF_CDirectSoundStream_SetFormat, XREF_CFullHRTFSource_GetCenterVolume, XREF_CHRTFSource_SetFullHRTF5Channel, XREF_CMcpxVoiceClient_SetLFO, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl index 7dfaf8b08..dfdceb9b9 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.3911.inl @@ -767,6 +767,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_Play // ****************************************************************** +// Generic OOVPA as of 3911 and newer. OOVPA_XREF(IDirectSoundBuffer_Play, 3911, 16, XRefNoSaveIndex, diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl index fdb9115a7..9232574ec 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4039.inl @@ -976,6 +976,7 @@ OOVPA_END; // ****************************************************************** // * IDirectSoundBuffer_SetPlayRegion // ****************************************************************** +// Generic OOVPA as of 4039 and newer OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 4039, 10, XRefNoSaveIndex, @@ -3700,3 +3701,19 @@ OOVPA_XREF(DirectSoundCreateStream, 4039, 11, { 0x4F, 0xC2 }, { 0x50, 0x08 }, OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetHeadroom +// ****************************************************************** +// Generic OOVPA as of 4039 and newer +OOVPA_XREF(IDirectSoundStream_SetHeadroom, 4039, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetHeadroom+0x00 : jmp [CDirectSoundStream_SetHeadroom] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetHeadroom ), + + // IDirectSoundStream_SetHeadroom+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 0afc99a07..1f4df842e 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -942,13 +942,16 @@ OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 4134, 10, { 0x53, 0x0C }, OOVPA_END; +#if 0 // Replaced with better OOVPA 4134 // ****************************************************************** // * CDirectSoundBuffer::Play // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Play, 4134, 11, +OOVPA_XREF(CDirectSoundBuffer_Play, 4134, 12, XREF_CDirectSoundBuffer_Play, - XRefZero) + XRefOne) + + XREF_ENTRY(0x35, XREF_CMcpxBuffer_Play), { 0x05, 0xFF }, { 0x0D, 0x0F }, @@ -962,6 +965,7 @@ OOVPA_XREF(CDirectSoundBuffer_Play, 4134, 11, { 0x32, 0x24 }, { 0x33, 0x18 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSound::SetDistanceFactorA @@ -3252,7 +3256,7 @@ OOVPA_END; // ****************************************************************** // * CDirectSound::SetAllParameters // ****************************************************************** -OOVPA_XREF(CDirectSound_SetAllParameters, 4134, 13, +OOVPA_XREF(CDirectSound_SetAllParameters, 4134, 11, XREF_CDirectSound_SetAllParameters, XRefZero) @@ -3272,8 +3276,9 @@ OOVPA_XREF(CDirectSound_SetAllParameters, 4134, 13, { 0x55, 0x5A }, { 0x56, 0x44 }, - { 0xE3, 0xC2 }, - { 0xE4, 0x0C }, + // Removed both OVs to support 4361 titles + //{ 0xE3, 0xC2 }, + //{ 0xE4, 0x0C }, OOVPA_END; // ****************************************************************** @@ -3613,6 +3618,224 @@ OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4134, 18, { 0x4C, 0x08 }, OOVPA_END; +// ****************************************************************** +// * CDirectSound::SetMixBinHeadroom +// ****************************************************************** +OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 4134, 16, + + XREF_CDirectSound_SetMixBinHeadroom, + XRefZero) + + // CDirectSound_SetMixBinHeadroom+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSound_SetMixBinHeadroom+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSound_SetMixBinHeadroom+0x34 : mov bl, [esp+0x14] + { 0x34, 0x8A }, + { 0x35, 0x5C }, + { 0x36, 0x24 }, + { 0x37, 0x14 }, + + // CDirectSound_SetMixBinHeadroom+0x39 : mov [edx+ecx+0x14], bl + { 0x39, 0x88 }, + { 0x3A, 0x5C }, + { 0x3B, 0x0A }, + { 0x3C, 0x14 }, + + // CDirectSound_SetMixBinHeadroom+0x5C : retn 0x0C + { 0x5C, 0xC2 }, + { 0x5D, 0x0C }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetNotificationPositions +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_SetNotificationPositions, 4134, 11, + + XREF_CDirectSoundBuffer_SetNotificationPositions, + XRefZero) + + // CDirectSoundBuffer_SetNotificationPositions+0x00 : push ebx + { 0x00, 0x53 }, + + { 0x0C, 0x00 }, + { 0x1B, 0xFF }, + { 0x25, 0x80 }, + + { 0x2C, 0x0C }, + { 0x2D, 0x8B }, + { 0x2E, 0x4E }, + { 0x2F, 0x1C }, + + { 0x30, 0x57 }, + + { 0x47, 0xE8 }, + { 0x5D, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream::SetFrequency +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetFrequency, 4134, 12, + + XREF_CDirectSoundStream_SetFrequency, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFrequency ), + + { 0x00, 0x56 }, + + { 0x0C, 0x00 }, + // je XXXXXXXX + 0x0B + { 0x14, 0x74 }, + { 0x15, 0x0B }, + // jmp XXXXXXXX + 0x26 + { 0x26, 0xEB }, + { 0x27, 0x26 }, + + { 0x2A, 0x24 }, + // je XXXXXXXX + 0x0B + { 0x3E, 0x74 }, + { 0x3F, 0x0B }, + + // ret 8 + { 0x4F, 0xC2 }, + { 0x50, 0x08 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetOutputBuffer +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetOutputBuffer, 4134, 9, + + XREF_CDirectSoundStream_SetOutputBuffer, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetOutputBuffer ), + + { 0x00, 0x56 }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundStream_SetConeAngles +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetConeAngles, 4134, 9, + + XREF_CDirectSoundStream_SetConeAngles, + XRefOne) + + XREF_ENTRY( 0x3E, XREF_CDirectSoundVoice_SetConeAngles ), + + { 0x00, 0x56 }, + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + + { 0x30, 0x18 }, + { 0x33, 0x04 }, + { 0x37, 0x18 }, + + { 0x3D, 0xE8 }, +OOVPA_END; + +// ****************************************************************** +// * DirectSound::CDirectSoundStream::SetHeadroom +// ****************************************************************** +OOVPA_XREF(CDirectSoundStream_SetHeadroom, 4134, 9, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetHeadroom ), + + { 0x00, 0x56 }, + + { 0x0C, 0x00 }, + { 0x14, 0x74 }, + { 0x21, 0xB8 }, + { 0x2A, 0x24 }, + { 0x35, 0xE8 }, + { 0x40, 0x68 }, + { 0x4B, 0x8B }, +OOVPA_END; + +// ****************************************************************** +// * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) +// ****************************************************************** +OOVPA_XREF(CMcpxBuffer_Play, 4134, 13, + + XREF_CMcpxBuffer_Play, + XRefZero) + + // CMcpxBuffer_Play+0x00 : push ebx + { 0x00, 0x53 }, + + // CMcpxBuffer_Play+0x0E : cmp ebx, edi + { 0x0E, 0x3B }, + { 0x0F, 0xDF }, + + // CMcpxBuffer_Play+0x18 : test byte ptr [eax+09],0x20 + { 0x18, 0xF6 }, + { 0x19, 0x40 }, + { 0x1A, 0x09 }, + { 0x1B, 0x20 }, + + // CMcpxBuffer_Play+0x1C : jz +0x09 + { 0x1C, 0x74 }, + { 0x1D, 0x09 }, + + // CMcpxBuffer_Play+0x30 : test byte ptr [esi+0x12], 2 + { 0x30, 0xF6 }, + { 0x31, 0x46 }, + { 0x32, 0x12 }, + { 0x33, 0x02 }, + +OOVPA_END; + +// ****************************************************************** +// * CDirectSoundBuffer_Play +// ****************************************************************** +OOVPA_XREF(CDirectSoundBuffer_Play, 4134, 11, + + XREF_CDirectSoundBuffer_Play, + XRefOne) + + // CDirectSoundBuffer_Play+0x35 : call [CMcpxBuffer::Play] + XREF_ENTRY( 0x35, XREF_CMcpxBuffer_Play ), + + // CDirectSoundBuffer_Play+0x00 : push esi + { 0x00, 0x56 }, + + // CDirectSoundBuffer_Play+0x21 : mov eax, 0x80004005 + { 0x21, 0xB8 }, + { 0x22, 0x05 }, + { 0x23, 0x40 }, + { 0x24, 0x00 }, + { 0x25, 0x80 }, + + // CDirectSoundBuffer_Play+0x3D : jz +0x0B + { 0x3D, 0x74 }, + { 0x3E, 0x0B }, + + // CDirectSoundBuffer_Play+0x4E : retn 0x10 + { 0x4E, 0xC2 }, + { 0x4F, 0x10 }, +OOVPA_END; + // ****************************************************************** // * DSound_4134 // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl index 50a32d5d4..90f82ad08 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4242.inl @@ -94,7 +94,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(CDirectSoundStream_SetFormat, 4242, 9, - XRefNoSaveIndex, + XREF_CDirectSoundStream_SetFormat, XRefOne) XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFormat ), @@ -232,3 +232,19 @@ OOVPA_XREF(CMcpxStream_Flush, 4242, 10, { 0xD1, 0xC9 }, { 0xD2, 0xC3 }, OOVPA_END; + +// ****************************************************************** +// * IDirectSoundStream_SetFormat +// ****************************************************************** +// Generic OOVPA as of 4___ and newer +OOVPA_XREF(IDirectSoundStream_SetFormat, 4242, 2, + + XRefNoSaveIndex, + XRefOne) + + // IDirectSoundStream_SetFormat+0x00 : jmp [CDirectSoundStream_SetFormat] + XREF_ENTRY(0x01, XREF_CDirectSoundStream_SetFormat ), + + // IDirectSoundStream_SetFormat+0x00 : jmp 0x........ + { 0x00, 0xE9 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl index 62d78b927..9ed876447 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4361.inl @@ -160,6 +160,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4361, 10, { 0x4A, 0x88 }, OOVPA_END; +#if 0 // Replaced with generic OOVPA 4039 // ****************************************************************** // * IDirectSoundBuffer_SetPlayRegion // ****************************************************************** @@ -179,6 +180,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 4361, 9, { 0x1D, 0xC2 }, { 0x1E, 0x0C }, OOVPA_END; +#endif // ****************************************************************** // * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) @@ -209,33 +211,7 @@ OOVPA_XREF(CMcpxBuffer_Play, 4361, 11, { 0x73, 0x18 }, OOVPA_END; -// ****************************************************************** -// * CDirectSoundBuffer_Play -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_Play, 4361, 10, - - XREF_CDirectSoundBuffer_Play, - XRefOne) - - // CDirectSoundBuffer_Play+0x35 : call [CMcpxBuffer::Play] - XREF_ENTRY( 0x35, XREF_CMcpxBuffer_Play ), - - // CDirectSoundBuffer_Play+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSoundBuffer_Play+0x3D : jz +0x0B - { 0x3D, 0x74 }, - { 0x3E, 0x0B }, - - // CDirectSoundBuffer_Play+0x4E : retn 0x10 - { 0x4E, 0xC2 }, - { 0x4F, 0x10 }, -OOVPA_END; - +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSoundBuffer_Play // ****************************************************************** @@ -261,6 +237,8 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 4361, 9, { 0x19, 0x23 }, { 0x1A, 0xC8 }, OOVPA_END; +#endif + #if 0 // Moved to 4242 // ****************************************************************** // * CMcpxBuffer_Stop @@ -669,6 +647,31 @@ OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4361, 12, { 0x32, 0x00 } OOVPA_END; +// ****************************************************************** +// * CMcpxStream_Flush +// ****************************************************************** +OOVPA_XREF(CMcpxStream_Flush, 4361, 10, + XREF_CMcpxStream_Flush, + XRefZero) + + { 0x00, 0x55 }, + { 0x01, 0x8B }, + + { 0x12, 0x33 }, + + { 0x3D, 0x83 }, + { 0x3E, 0xFE }, + { 0x3F, 0x06 }, //4242 only has 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; + // ****************************************************************** // * DSound_4361 // ****************************************************************** @@ -686,7 +689,7 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), @@ -700,8 +703,8 @@ OOVPATable DSound_4361[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl index 94545137c..6aa848d93 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4432.inl @@ -159,7 +159,7 @@ OOVPATable DSound_4432[] = { 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_SetPlayRegion, 4039, 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.4627.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl index 90d34cee2..24c1b56cf 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4627.inl @@ -32,38 +32,8 @@ // * // ****************************************************************** -// ****************************************************************** -// * CDirectSound::SetMixBinHeadroom -// ****************************************************************** -OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 4627, 15, - - XREF_CDirectSound_SetMixBinHeadroom, - XRefZero) - - // CDirectSound_SetMixBinHeadroom+0x21 : mov eax, 0x80004005 - { 0x21, 0xB8 }, - { 0x22, 0x05 }, - { 0x23, 0x40 }, - { 0x24, 0x00 }, - { 0x25, 0x80 }, - - // CDirectSound_SetMixBinHeadroom+0x34 : mov bl, [esp+0x14] - { 0x34, 0x8A }, - { 0x35, 0x5C }, - { 0x36, 0x24 }, - { 0x37, 0x14 }, - - // CDirectSound_SetMixBinHeadroom+0x39 : mov [edx+ecx+0x14], bl - { 0x39, 0x88 }, - { 0x3A, 0x5C }, - { 0x3B, 0x0A }, - { 0x3C, 0x14 }, - - // CDirectSound_SetMixBinHeadroom+0x5C : retn 0x0C - { 0x5C, 0xC2 }, - { 0x5D, 0x0C }, -OOVPA_END; +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSound_SetMixBinHeadroom // ****************************************************************** @@ -94,6 +64,7 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 4627, 12, { 0x15, 0x23 }, { 0x16, 0xC8 }, OOVPA_END; +#endif // ****************************************************************** // * CDirectSound::SetVelocity @@ -326,11 +297,14 @@ OOVPA_END; // ****************************************************************** // * CMcpxBuffer_Play // ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Play, 4721, 10, +OOVPA_XREF(CMcpxBuffer_Play, 4721, 11, XREF_CMcpxBuffer_Play, XRefZero) + // CMcpxBuffer_Play+0x00 : push ebx + { 0x00, 0x53 }, + // CMcpxBuffer_Play+0x2E : test byte ptr [eax+9], 20h { 0x2E, 0xF6 }, { 0x2F, 0x40 }, @@ -351,11 +325,15 @@ OOVPA_END; // ****************************************************************** // * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) // ****************************************************************** -OOVPA_XREF(CMcpxBuffer_Play, 4831, 10, +// Generic OOVPA as of 4831 and newer +OOVPA_XREF(CMcpxBuffer_Play, 4831, 11, XREF_CMcpxBuffer_Play, XRefZero) + // CMcpxBuffer_Play+0x00 : push ebx + { 0x00, 0x53 }, + // CMcpxBuffer_Play+0x32 : test byte ptr [esi+12h], 42h { 0x32, 0xF6 }, { 0x33, 0x46 }, @@ -1030,24 +1008,6 @@ OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 4627, 8, { 0x21, 0x08 }, OOVPA_END; -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetHeadroom -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetHeadroom, 4627, 8, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x36, /*XREF_CDirectSoundVoice_SetHeadroom*/ XREF_CDirectSoundVoice_SetHeadroom ), - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; #if 0 // Moved to 4039 // ****************************************************************** // * DirectSound::CDirectSoundVoice::SetOutputBuffer @@ -1088,25 +1048,6 @@ OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4627, 8, OOVPA_END; #endif -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetOutputBuffer -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetOutputBuffer, 4627, 8, - - XREF_CDirectSoundStream_SetOutputBuffer, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetOutputBuffer ), - - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; - #if 0 // Moved to 3911 // ****************************************************************** // * IDirectSoundBuffer_SetOutputBuffer @@ -1242,26 +1183,6 @@ OOVPA_NO_XREF(XWaveFileCreateMediaObject, 4627, 7) { 0x67, 0x07 }, OOVPA_END; -// ****************************************************************** -// * DirectSound::CDirectSoundBuffer::SetNotificationPositions -// ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetNotificationPositions, 4627, 10, - - XREF_CDirectSoundBuffer_SetNotificationPositions, - XRefZero) - - { 0x0C, 0x00 }, - { 0x1B, 0xFF }, - { 0x25, 0x80 }, - { 0x2C, 0x0C }, - { 0x2D, 0x8B }, - { 0x2E, 0x4E }, - { 0x2F, 0x1C }, - { 0x30, 0x57 }, - { 0x47, 0xE8 }, - { 0x5D, 0x8B }, -OOVPA_END; - // ****************************************************************** // * XFileCreateMediaObjectEx // ****************************************************************** @@ -1487,13 +1408,13 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), - REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), + REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), @@ -1552,8 +1473,8 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), @@ -1652,18 +1573,18 @@ OOVPATable DSound_4627[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(XFileCreateMediaObjectEx, 4627, PATCH), REGISTER_OOVPA(XWaveFileCreateMediaObject, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), // Uncommenting these fixes dashboard 4920 + REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4134, XREF), // Uncommenting these fixes dashboard 4920 REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl index 486732bb3..34d050d67 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5028.inl @@ -57,13 +57,13 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), - REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), - REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), + REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), @@ -122,8 +122,8 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), @@ -230,18 +230,18 @@ OOVPATable DSound_5028[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(XFileCreateMediaObjectEx, 5028, PATCH), REGISTER_OOVPA(XWaveFileCreateMediaObject, 4627, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl index efa62d874..d9da28d2c 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5233.inl @@ -295,34 +295,6 @@ OOVPA_XREF(CDirectSoundBuffer_SetVolume, 5233, 8, { 0x47, 0x8B }, OOVPA_END; -// ****************************************************************** -// * CDirectSoundStream::SetFrequency -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetFrequency, 5233, 11, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFrequency ), - - { 0x0E, 0xB6 }, - // je XXXXXXXX + 0x0B - { 0x14, 0x74 }, - { 0x15, 0x0B }, - // jmp XXXXXXXX + 0x26 - { 0x26, 0xEB }, - { 0x27, 0x26 }, - - { 0x2A, 0x24 }, - // je XXXXXXXX + 0x0B - { 0x3E, 0x74 }, - { 0x3F, 0x0B }, - - // ret 8 - { 0x4F, 0xC2 }, - { 0x50, 0x08 }, -OOVPA_END; - #if 0 // Replaced with generic OOVPA 4134 // ****************************************************************** // * CDirectSoundStream::SetMixBins @@ -388,8 +360,8 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), 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_SetMixBinHeadroom, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), @@ -397,7 +369,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), @@ -419,8 +391,8 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5233, XREF), @@ -484,8 +456,6 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, 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), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), @@ -510,7 +480,7 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), @@ -519,12 +489,12 @@ OOVPATable DSound_5233[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4039, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl index f67cfed58..d7660f686 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5344.inl @@ -908,7 +908,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 4134, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), @@ -929,8 +929,8 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), + REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF), + REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5344, XREF), @@ -996,8 +996,8 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, 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), + REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4134, XREF), + REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5344, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5344, PATCH), @@ -1027,7 +1027,7 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetAllParameters, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), @@ -1041,13 +1041,13 @@ OOVPATable DSound_5344[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4039, PATCH), REGISTER_OOVPA(XAudioDownloadEffectsImage, 4627, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, PATCH), - REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl index d97e1afd2..2fe599eaf 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5558.inl @@ -539,6 +539,7 @@ OOVPA_XREF(CDirectSoundBuffer_Play, 5558, 9, { 0x4B, 0xC7 }, OOVPA_END; +#if 0 // Replaced with generic OOVPA 3911 // ****************************************************************** // * IDirectSoundBuffer_Play // ****************************************************************** @@ -557,6 +558,7 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 5558, 8, { 0x1C, 0xE8 }, { 0x21, 0xC2 }, OOVPA_END; +#endif // ****************************************************************** // * CMcpxBuffer_GetStatus @@ -1188,26 +1190,6 @@ OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 5558, 8, { 0x47, 0x8B }, OOVPA_END; -// ****************************************************************** -// * DirectSound::CDirectSoundStream::SetHeadroom -// ****************************************************************** -OOVPA_XREF(CDirectSoundStream_SetHeadroom, 5558, 9, - - XRefNoSaveIndex, - XRefOne) - - XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetHeadroom ), - - { 0x00, 0x56 }, - { 0x0C, 0x00 }, - { 0x14, 0x74 }, - { 0x21, 0xB8 }, - { 0x2A, 0x24 }, - { 0x35, 0xE8 }, - { 0x40, 0x68 }, - { 0x4B, 0x8B }, -OOVPA_END; - // ****************************************************************** // * IDirectSoundBuffer_SetHeadroom // ****************************************************************** @@ -1668,7 +1650,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), @@ -1680,7 +1662,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4627, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetOutputBuffer, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), @@ -1722,12 +1704,12 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_GetStatus, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), @@ -1765,7 +1747,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), @@ -1800,7 +1782,7 @@ OOVPATable DSound_5558[] = { REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl index be858469e..8bd9a89d5 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5788.inl @@ -556,7 +556,6 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), @@ -643,7 +642,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4039, PATCH), REGISTER_OOVPA(CDirectSoundBuffer_SetLoopRegion, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), @@ -668,7 +667,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 5788, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), - REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 4134, PATCH), REGISTER_OOVPA(CDirectSoundVoice_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 5558, PATCH), @@ -700,12 +699,12 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 5558, XREF), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(CMcpxVoiceClient_SetEG, 4242, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), @@ -726,7 +725,7 @@ OOVPATable DSound_5788[] = { REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl index 2810e9945..bec1355eb 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.5849.inl @@ -95,7 +95,7 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4039, PATCH), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 5788, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), @@ -205,10 +205,10 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(DS_CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 5558, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetHeadroom, 4134, PATCH), REGISTER_OOVPA(CMcpxBuffer_Play2, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, XREF), - REGISTER_OOVPA(IDirectSoundBuffer_Play, 5558, PATCH), + REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH), REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), @@ -238,9 +238,9 @@ OOVPATable DSound_5849[] = { REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), - REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4627, XREF), + REGISTER_OOVPA(CDirectSoundBuffer_SetNotificationPositions, 4134, XREF), REGISTER_OOVPA(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH), - REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), + REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 4134, 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.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl index 5c5cf48b0..675c595ab 100644 --- a/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/DSound.OOVPA.inl @@ -52,33 +52,33 @@ // * 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 +// * IDirectSound_GetOutputLevels (Lowest found was 4361) +// * IDirectSound_SynchPlayback (Lowest found was 5344) +// * IDirectSoundBuffer_GetVoiceProperties (Lowest found was 5344) +// * IDirectSoundBuffer_SetFormat (Lowest found was 4242) +// * IDirectSoundBuffer_SetDistanceFactor (Lowest found was 4134) +// * IDirectSoundBuffer_SetDopplerFactor (Lowest found was 4134) +// * IDirectSoundBuffer_SetRolloffFactor (Lowest found was 4134) +// * IDirectSoundBuffer_SetRolloffCurve (Lowest found was 4361) +// * IDirectSoundBuffer_Pause (Lowest found was 4928) +// * IDirectSoundBuffer_PauseEx (Lowest found was 5344, could be 4928 or lower) // * IDirectSoundBuffer_SetPlayRegion (Introduce in 4039, last known earliest revision) -// * IDirectSoundStream_FlushEx -// * IDirectSoundStream_GetVoiceProperties -// * IDirectSoundStream_PauseEx -// * IDirectSoundStream_SetDistanceFactor -// * IDirectSoundStream_SetDopplerFactor -// * IDirectSoundStream_SetFormat -// * IDirectSoundStream_SetRolloffCurve -// * IDirectSoundStream_SetRolloffFactor -// * DirectSoundDumpMemoryUsage -// * DirectSoundGetSampleTime -// * DirectSoundOverrideSpeakerConfig -// * XAudioDownloadEffectsImage -// * XAudioGetSpeakerConfig -// * XAudioSetEffectData -// * DirectSoundUseFullHRTF4Channel -// * DirectSoundUseLightHRTF4Channel +// * IDirectSoundStream_FlushEx (Lowest found was 4361) +// * IDirectSoundStream_GetVoiceProperties (Lowest found was 5344) +// * IDirectSoundStream_PauseEx (Lowest found was 4361) +// * IDirectSoundStream_SetDistanceFactor (Lowest found was 4361) +// * IDirectSoundStream_SetDopplerFactor (Lowest found was 4361) +// * IDirectSoundStream_SetFormat (Lowest found was 4361) +// * IDirectSoundStream_SetRolloffCurve (Lowest found was 4361) +// * IDirectSoundStream_SetRolloffFactor (Lowest found was 4361) +// * DirectSoundDumpMemoryUsage (Lowest found was 4361) +// * DirectSoundGetSampleTime (Need verify between 4039 to 4361) +// * DirectSoundOverrideSpeakerConfig (Lowest found was 4361) +// * XAudioDownloadEffectsImage (Lowest found was 4361) +// * XGetAudioFlags (Lowest found was 3911, XAudioGetSpeakerConfig introduced later as alias, is part of Xapi section) +// * XAudioSetEffectData (Lowest found was 5344?) +// * DirectSoundUseFullHRTF4Channel (Lowest found was 5344) +// * DirectSoundUseLightHRTF4Channel (Lowest found was 5344) // * 3911 to 3936: Following separater functions has exact asm codes as whole function are... // * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume // * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch @@ -148,6 +148,8 @@ // * 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. +// * CMcpxStream_Flush 4134, 4242, and 4361 has only one value changed at offset 0x3F (except 4134 is off by -1 offset for the leave/return op code) +// * It is possible to re-make this into generic support for 4134 to 5849. #ifndef DSOUND_OOVPA_INL @@ -192,14 +194,14 @@ OOVPATable DSound_OOVPAV2[] = { 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_Play, XREF, 3911, 4134, 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, 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, 4134), - REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 3936, 4039, 4134, 4242), + REGISTER_OOVPAS(CMcpxStream_Flush, XREF, 3911, 3936, 4039, 4134, 4242, 4361), REGISTER_OOVPAS(CMcpxStream_GetStatus, XREF, 4134), REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4134, /*4361,*/ 4831, 5788), REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), @@ -255,7 +257,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(CDirectSoundBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721), 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_Play, XREF, 3911, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_PlayEx, XREF, 3911, 4361, 5788), REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3911, 4039, 4134, 5558, 5788), @@ -278,7 +280,7 @@ 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, 3911, 4627), // Uncommenting these fixes dashboard 4920 (from 4627 comment) + REGISTER_OOVPAS(CDirectSoundBuffer_SetNotificationPositions, XREF, 3911, 4134), // Uncommenting these fixes dashboard 4920 (from 4627 comment) REGISTER_OOVPAS(CDirectSoundBuffer_SetOutputBuffer, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 4039, 4361, 5558), @@ -300,14 +302,14 @@ OOVPATable DSound_OOVPAV2[] = { 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), + REGISTER_OOVPAS(CDirectSoundStream_SetConeAngles, PATCH, 3911, 4039, 4134), 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, 4039, 5233), - REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3911, 4627, 5558), + REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3911, 4039, 4134), + REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, PATCH, 3911, 4039, 4134), @@ -316,7 +318,7 @@ 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, 4039, 4134), - REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 3911, 4039, 4627), + REGISTER_OOVPAS(CDirectSoundStream_SetOutputBuffer, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetPitch, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558), @@ -342,7 +344,7 @@ OOVPATable DSound_OOVPAV2[] = { 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, 4039, 4134, 5344, 5558), - REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3911, 4627, 5558), + REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3911, 4134, 5558), REGISTER_OOVPAS(CDirectSound_SetOrientation, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3911, 4039, 4134, 5344, 5558, 5788, 5849), @@ -353,7 +355,7 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundBuffer_GetStatus, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3911, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4928), - REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911, 4361, 5558), + REGISTER_OOVPAS(IDirectSoundBuffer_Play, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_PlayEx, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 3911, 4039), @@ -381,7 +383,7 @@ OOVPATable DSound_OOVPAV2[] = { 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), + REGISTER_OOVPAS(IDirectSoundBuffer_SetPlayRegion, PATCH, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetPosition, PATCH, 3911, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788), @@ -400,8 +402,9 @@ OOVPATable DSound_OOVPAV2[] = { REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundStream_SetLFO, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundStream_SetFilter, PATCH, 3911, 4039), + REGISTER_OOVPAS(IDirectSoundStream_SetFormat, UNPATCHED, 4242), REGISTER_OOVPAS(IDirectSoundStream_SetFrequency, PATCH, 3911, 4039), - REGISTER_OOVPAS(IDirectSoundStream_SetHeadroom, PATCH, 3911), + REGISTER_OOVPAS(IDirectSoundStream_SetHeadroom, PATCH, 3911, 4039), 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),