Mostly Predicted (lowered) Revision for DSound 4134

85% possible correct lowest revision
- Add IDirectSoundStream_SetHeadroom to 4134
- Add CDirectSoundStream_SetConeAngles to 4134
- Add CDirectSoundStream_SetFrequency to 4134
- Moved CDirectSound_SetMixBinHeadroom 4627 to 4134
- Moved CDirectSoundStream_SetHeadroom 4627 to 4134
- Moved CDirectSoundStream_SetOutputBuffer 4627 to 4134
- Moved CDirectSoundBuffer_SetNotificationPositions 4627 to 4134

Verified
- Add IDirectSoundStream_SetFormat to 4242
- Add CMcpxStream_Flush to 4361
- Moved CDirectSoundBuffer_Play 4361 to 4134
- Improved CMcpxBuffer_Play to 4134
- Improved CMcpxBuffer_Play in 4721
- Improved CMcpxBuffer_Play in 4831
- Improved CDirectSound_SetAllParameters 4134 to support 4361 and
possible later titles.

NOTE: 4039 and 4134 additions/lowered are not tested, they are predicted
and verified with [4361] Hunter: The Reckoning.

WARNING: Hunter: The Reckoning title can cause your computer to crash
once it reach to main menu.

Verified with
- [4134] Blood Omen 2
- [4361] Hunter: The Reckoning
This commit is contained in:
RadWolfie 2017-10-23 15:31:36 -05:00
parent b2a32db9e2
commit f3e660692c
15 changed files with 400 additions and 264 deletions

View File

@ -308,6 +308,7 @@ enum XRefDataBaseOffset
XREF_CDirectSoundBuffer_SetI3DL2Source, XREF_CDirectSoundBuffer_SetI3DL2Source,
XREF_CDirectSoundVoice_SetFormat, XREF_CDirectSoundVoice_SetFormat,
XREF_CDirectSoundBuffer_SetFormat, XREF_CDirectSoundBuffer_SetFormat,
XREF_CDirectSoundStream_SetFormat,
XREF_CFullHRTFSource_GetCenterVolume, XREF_CFullHRTFSource_GetCenterVolume,
XREF_CHRTFSource_SetFullHRTF5Channel, XREF_CHRTFSource_SetFullHRTF5Channel,
XREF_CMcpxVoiceClient_SetLFO, XREF_CMcpxVoiceClient_SetLFO,

View File

@ -767,6 +767,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_Play // * IDirectSoundBuffer_Play
// ****************************************************************** // ******************************************************************
// Generic OOVPA as of 3911 and newer.
OOVPA_XREF(IDirectSoundBuffer_Play, 3911, 16, OOVPA_XREF(IDirectSoundBuffer_Play, 3911, 16,
XRefNoSaveIndex, XRefNoSaveIndex,

View File

@ -976,6 +976,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetPlayRegion // * IDirectSoundBuffer_SetPlayRegion
// ****************************************************************** // ******************************************************************
// Generic OOVPA as of 4039 and newer
OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 4039, 10, OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 4039, 10,
XRefNoSaveIndex, XRefNoSaveIndex,
@ -3700,3 +3701,19 @@ OOVPA_XREF(DirectSoundCreateStream, 4039, 11,
{ 0x4F, 0xC2 }, { 0x4F, 0xC2 },
{ 0x50, 0x08 }, { 0x50, 0x08 },
OOVPA_END; 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;

View File

@ -942,13 +942,16 @@ OOVPA_XREF(CDirectSoundBuffer_GetCurrentPosition, 4134, 10,
{ 0x53, 0x0C }, { 0x53, 0x0C },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with better OOVPA 4134
// ****************************************************************** // ******************************************************************
// * CDirectSoundBuffer::Play // * CDirectSoundBuffer::Play
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundBuffer_Play, 4134, 11, OOVPA_XREF(CDirectSoundBuffer_Play, 4134, 12,
XREF_CDirectSoundBuffer_Play, XREF_CDirectSoundBuffer_Play,
XRefZero) XRefOne)
XREF_ENTRY(0x35, XREF_CMcpxBuffer_Play),
{ 0x05, 0xFF }, { 0x05, 0xFF },
{ 0x0D, 0x0F }, { 0x0D, 0x0F },
@ -962,6 +965,7 @@ OOVPA_XREF(CDirectSoundBuffer_Play, 4134, 11,
{ 0x32, 0x24 }, { 0x32, 0x24 },
{ 0x33, 0x18 }, { 0x33, 0x18 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CDirectSound::SetDistanceFactorA // * CDirectSound::SetDistanceFactorA
@ -3252,7 +3256,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CDirectSound::SetAllParameters // * CDirectSound::SetAllParameters
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSound_SetAllParameters, 4134, 13, OOVPA_XREF(CDirectSound_SetAllParameters, 4134, 11,
XREF_CDirectSound_SetAllParameters, XREF_CDirectSound_SetAllParameters,
XRefZero) XRefZero)
@ -3272,8 +3276,9 @@ OOVPA_XREF(CDirectSound_SetAllParameters, 4134, 13,
{ 0x55, 0x5A }, { 0x55, 0x5A },
{ 0x56, 0x44 }, { 0x56, 0x44 },
{ 0xE3, 0xC2 }, // Removed both OVs to support 4361 titles
{ 0xE4, 0x0C }, //{ 0xE3, 0xC2 },
//{ 0xE4, 0x0C },
OOVPA_END; OOVPA_END;
// ****************************************************************** // ******************************************************************
@ -3613,6 +3618,224 @@ OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4134, 18,
{ 0x4C, 0x08 }, { 0x4C, 0x08 },
OOVPA_END; 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 // * DSound_4134
// ****************************************************************** // ******************************************************************

View File

@ -94,7 +94,7 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CDirectSoundStream_SetFormat, 4242, 9, OOVPA_XREF(CDirectSoundStream_SetFormat, 4242, 9,
XRefNoSaveIndex, XREF_CDirectSoundStream_SetFormat,
XRefOne) XRefOne)
XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFormat ), XREF_ENTRY( 0x36, XREF_CDirectSoundVoice_SetFormat ),
@ -232,3 +232,19 @@ OOVPA_XREF(CMcpxStream_Flush, 4242, 10,
{ 0xD1, 0xC9 }, { 0xD1, 0xC9 },
{ 0xD2, 0xC3 }, { 0xD2, 0xC3 },
OOVPA_END; 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;

View File

@ -160,6 +160,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetPlayRegion, 4361, 10,
{ 0x4A, 0x88 }, { 0x4A, 0x88 },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 4039
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetPlayRegion // * IDirectSoundBuffer_SetPlayRegion
// ****************************************************************** // ******************************************************************
@ -179,6 +180,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetPlayRegion, 4361, 9,
{ 0x1D, 0xC2 }, { 0x1D, 0xC2 },
{ 0x1E, 0x0C }, { 0x1E, 0x0C },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) // * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long)
@ -209,33 +211,7 @@ OOVPA_XREF(CMcpxBuffer_Play, 4361, 11,
{ 0x73, 0x18 }, { 0x73, 0x18 },
OOVPA_END; OOVPA_END;
// ****************************************************************** #if 0 // Replaced with generic OOVPA 3911
// * 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;
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_Play // * IDirectSoundBuffer_Play
// ****************************************************************** // ******************************************************************
@ -261,6 +237,8 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 4361, 9,
{ 0x19, 0x23 }, { 0x19, 0x23 },
{ 0x1A, 0xC8 }, { 0x1A, 0xC8 },
OOVPA_END; OOVPA_END;
#endif
#if 0 // Moved to 4242 #if 0 // Moved to 4242
// ****************************************************************** // ******************************************************************
// * CMcpxBuffer_Stop // * CMcpxBuffer_Stop
@ -669,6 +647,31 @@ OOVPA_XREF(CDirectSoundVoice_SetDopplerFactor, 4361, 12,
{ 0x32, 0x00 } { 0x32, 0x00 }
OOVPA_END; 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 // * DSound_4361
// ****************************************************************** // ******************************************************************
@ -686,7 +689,7 @@ OOVPATable DSound_4361[] = {
REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, 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(CDirectSoundBuffer_SetLoopRegion, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetVolume, 4039, PATCH),
@ -700,8 +703,8 @@ OOVPATable DSound_4361[] = {
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop, 4242, XREF),
REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Stop2, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Stop, 4134, XREF),

View File

@ -159,7 +159,7 @@ OOVPATable DSound_4432[] = {
REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), 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(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),
REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH),

View File

@ -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 // * IDirectSound_SetMixBinHeadroom
// ****************************************************************** // ******************************************************************
@ -94,6 +64,7 @@ OOVPA_XREF(IDirectSound_SetMixBinHeadroom, 4627, 12,
{ 0x15, 0x23 }, { 0x15, 0x23 },
{ 0x16, 0xC8 }, { 0x16, 0xC8 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CDirectSound::SetVelocity // * CDirectSound::SetVelocity
@ -326,11 +297,14 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * CMcpxBuffer_Play // * CMcpxBuffer_Play
// ****************************************************************** // ******************************************************************
OOVPA_XREF(CMcpxBuffer_Play, 4721, 10, OOVPA_XREF(CMcpxBuffer_Play, 4721, 11,
XREF_CMcpxBuffer_Play, XREF_CMcpxBuffer_Play,
XRefZero) XRefZero)
// CMcpxBuffer_Play+0x00 : push ebx
{ 0x00, 0x53 },
// CMcpxBuffer_Play+0x2E : test byte ptr [eax+9], 20h // CMcpxBuffer_Play+0x2E : test byte ptr [eax+9], 20h
{ 0x2E, 0xF6 }, { 0x2E, 0xF6 },
{ 0x2F, 0x40 }, { 0x2F, 0x40 },
@ -351,11 +325,15 @@ OOVPA_END;
// ****************************************************************** // ******************************************************************
// * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) // * 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, XREF_CMcpxBuffer_Play,
XRefZero) XRefZero)
// CMcpxBuffer_Play+0x00 : push ebx
{ 0x00, 0x53 },
// CMcpxBuffer_Play+0x32 : test byte ptr [esi+12h], 42h // CMcpxBuffer_Play+0x32 : test byte ptr [esi+12h], 42h
{ 0x32, 0xF6 }, { 0x32, 0xF6 },
{ 0x33, 0x46 }, { 0x33, 0x46 },
@ -1030,24 +1008,6 @@ OOVPA_XREF(CDirectSoundVoice_SetHeadroom, 4627, 8,
{ 0x21, 0x08 }, { 0x21, 0x08 },
OOVPA_END; 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 #if 0 // Moved to 4039
// ****************************************************************** // ******************************************************************
// * DirectSound::CDirectSoundVoice::SetOutputBuffer // * DirectSound::CDirectSoundVoice::SetOutputBuffer
@ -1088,25 +1048,6 @@ OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4627, 8,
OOVPA_END; OOVPA_END;
#endif #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 #if 0 // Moved to 3911
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_SetOutputBuffer // * IDirectSoundBuffer_SetOutputBuffer
@ -1242,26 +1183,6 @@ OOVPA_NO_XREF(XWaveFileCreateMediaObject, 4627, 7)
{ 0x67, 0x07 }, { 0x67, 0x07 },
OOVPA_END; 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 // * XFileCreateMediaObjectEx
// ****************************************************************** // ******************************************************************
@ -1487,13 +1408,13 @@ OOVPATable DSound_4627[] = {
REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, 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(CDirectSoundBuffer_SetLoopRegion, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH),
REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF),
@ -1552,8 +1473,8 @@ OOVPATable DSound_4627[] = {
REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF),
REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF),
REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF),
@ -1652,18 +1573,18 @@ OOVPATable DSound_4627[] = {
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, 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(CDirectSoundVoice_SetOutputBuffer, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), 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(CDirectSoundVoice_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH),
REGISTER_OOVPA(XFileCreateMediaObjectEx, 4627, PATCH), REGISTER_OOVPA(XFileCreateMediaObjectEx, 4627, PATCH),
REGISTER_OOVPA(XWaveFileCreateMediaObject, 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(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF),

View File

@ -57,13 +57,13 @@ OOVPATable DSound_5028[] = {
REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH), REGISTER_OOVPA(DirectSoundGetSampleTime, 4361, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, 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(CDirectSoundBuffer_SetLoopRegion, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetI3DL2Listener, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH), REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH),
REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF),
@ -122,8 +122,8 @@ OOVPATable DSound_5028[] = {
REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4361, XREF),
REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4721, XREF),
REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH), REGISTER_OOVPA(IDirectSound_Release, 3911, PATCH),
REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH), REGISTER_OOVPA(IDirectSound_DownloadEffectsImage, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSound_SetOrientation, 4134, XREF),
@ -230,18 +230,18 @@ OOVPATable DSound_5028[] = {
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, 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(CDirectSoundVoice_SetOutputBuffer, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), 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(CDirectSoundVoice_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 4627, XREF), REGISTER_OOVPA(CDirectSoundStream_SetRolloffCurve, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffCurve, 4627, PATCH),
REGISTER_OOVPA(XFileCreateMediaObjectEx, 5028, PATCH), REGISTER_OOVPA(XFileCreateMediaObjectEx, 5028, PATCH),
REGISTER_OOVPA(XWaveFileCreateMediaObject, 4627, 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(IDirectSoundBuffer_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF),

View File

@ -295,34 +295,6 @@ OOVPA_XREF(CDirectSoundBuffer_SetVolume, 5233, 8,
{ 0x47, 0x8B }, { 0x47, 0x8B },
OOVPA_END; 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 #if 0 // Replaced with generic OOVPA 4134
// ****************************************************************** // ******************************************************************
// * CDirectSoundStream::SetMixBins // * CDirectSoundStream::SetMixBins
@ -388,8 +360,8 @@ OOVPATable DSound_5233[] = {
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetMixBins, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetPosition, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH), REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH),
REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH), REGISTER_OOVPA(DirectSoundCreateBuffer, 4242, PATCH),
@ -397,7 +369,7 @@ OOVPATable DSound_5233[] = {
REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), 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(CMcpxVoiceClient_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF),
@ -419,8 +391,8 @@ OOVPATable DSound_5233[] = {
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF),
REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH),
REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5233, XREF), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5233, XREF),
@ -484,8 +456,6 @@ OOVPATable DSound_5233[] = {
REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF),
REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetLFO, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetLFO, 4039, XREF),
@ -510,7 +480,7 @@ OOVPATable DSound_5233[] = {
REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), 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(CDirectSoundBuffer_SetAllParameters, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOutsideVolume, 4134, XREF),
@ -519,12 +489,12 @@ OOVPATable DSound_5233[] = {
REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), 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(XAudioDownloadEffectsImage, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, 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_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),

View File

@ -908,7 +908,7 @@ OOVPATable DSound_5344[] = {
REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetFrequency, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetFrequency, 4039, PATCH), 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(CMcpxVoiceClient_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetVolume, 5233, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 5233, XREF),
@ -929,8 +929,8 @@ OOVPATable DSound_5344[] = {
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF), REGISTER_OOVPA(CMcpxBuffer_Play, 4831, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 4361, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Play, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Play, 4361, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Play, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF), REGISTER_OOVPA(CDirectSoundStream_FlushEx, 5233, XREF),
REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH), REGISTER_OOVPA(IDirectSoundStream_FlushEx, 4627, PATCH),
REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5344, XREF), REGISTER_OOVPA(CDirectSound_EnableHeadphones, 5344, XREF),
@ -996,8 +996,8 @@ OOVPATable DSound_5344[] = {
REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetPitch, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetPitch, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF), REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4134, XREF),
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4134, XREF),
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH), REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4627, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5344, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5344, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5344, PATCH),
@ -1027,7 +1027,7 @@ OOVPATable DSound_5344[] = {
REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), 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(CDirectSoundVoice_SetAllParameters, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetAllParameters, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetAllParameters, 4039, PATCH),
@ -1041,13 +1041,13 @@ OOVPATable DSound_5344[] = {
REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeAngles, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeAngles, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 4361, XREF), 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(XAudioDownloadEffectsImage, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 5344, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetConeOrientation, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetConeOrientation, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetConeOrientation, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetConeOrientation, 4134, 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_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),

View File

@ -539,6 +539,7 @@ OOVPA_XREF(CDirectSoundBuffer_Play, 5558, 9,
{ 0x4B, 0xC7 }, { 0x4B, 0xC7 },
OOVPA_END; OOVPA_END;
#if 0 // Replaced with generic OOVPA 3911
// ****************************************************************** // ******************************************************************
// * IDirectSoundBuffer_Play // * IDirectSoundBuffer_Play
// ****************************************************************** // ******************************************************************
@ -557,6 +558,7 @@ OOVPA_XREF(IDirectSoundBuffer_Play, 5558, 8,
{ 0x1C, 0xE8 }, { 0x1C, 0xE8 },
{ 0x21, 0xC2 }, { 0x21, 0xC2 },
OOVPA_END; OOVPA_END;
#endif
// ****************************************************************** // ******************************************************************
// * CMcpxBuffer_GetStatus // * CMcpxBuffer_GetStatus
@ -1188,26 +1190,6 @@ OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 5558, 8,
{ 0x47, 0x8B }, { 0x47, 0x8B },
OOVPA_END; 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 // * IDirectSoundBuffer_SetHeadroom
// ****************************************************************** // ******************************************************************
@ -1668,7 +1650,7 @@ OOVPATable DSound_5558[] = {
REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH), REGISTER_OOVPA(IDirectSound_SetDopplerFactor, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_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(IDirectSoundBuffer_SetFrequency, 4039, PATCH),
REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF), REGISTER_OOVPA(CMcpxVoiceClient_SetVolume, 4134, XREF),
REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundStream, 4134, XREF),
@ -1680,7 +1662,7 @@ OOVPATable DSound_5558[] = {
REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetOutputBuffer, 4039, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetOutputBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetOutputBuffer, 3911, PATCH), 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(CDirectSoundVoice_SetMaxDistance, 5344, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMaxDistance, 5344, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMaxDistance, 3911, PATCH),
@ -1722,12 +1704,12 @@ OOVPATable DSound_5558[] = {
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4039, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), 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(CDirectSoundBuffer_SetLoopRegion, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 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(CMcpxBuffer_GetStatus, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetStatus, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetStatus, 3911, PATCH),
@ -1765,7 +1747,7 @@ OOVPATable DSound_5558[] = {
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 5558, PATCH), 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(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, PATCH),
@ -1800,7 +1782,7 @@ OOVPATable DSound_5558[] = {
REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), 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_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),
REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH),

View File

@ -556,7 +556,6 @@ OOVPATable DSound_5788[] = {
REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetPlayRegion, 4361, PATCH),
REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 5788, XREF), REGISTER_OOVPA(CMcpxBuffer_SetBufferData, 5788, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH),
@ -643,7 +642,7 @@ OOVPATable DSound_5788[] = {
REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_GetCurrentPosition, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_GetCurrentPosition, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, XREF), 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(CDirectSoundBuffer_SetLoopRegion, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetLoopRegion, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF),
@ -668,7 +667,7 @@ OOVPATable DSound_5788[] = {
REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 5788, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetRolloffFactor, 5788, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetFrequency, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_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(CDirectSoundVoice_SetDopplerFactor, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetDopplerFactor, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetDopplerFactor, 5558, PATCH),
@ -700,12 +699,12 @@ OOVPATable DSound_5788[] = {
REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF), REGISTER_OOVPA(WaveFormat_CreateXboxAdpcmFormat, 5344, XREF),
REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH), REGISTER_OOVPA(XAudioCreateAdpcmFormat, 5344, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, 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(CDirectSound_CreateSoundStream, 5558, XREF),
REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH), REGISTER_OOVPA(IDirectSound_CreateSoundStream, 3911, PATCH),
REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF), REGISTER_OOVPA(CMcpxBuffer_Play2, 5558, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, 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(CMcpxVoiceClient_SetEG, 4242, XREF),
REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF), REGISTER_OOVPA(CDirectSoundVoice_SetEG, 4039, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetEG, 4134, PATCH),
@ -726,7 +725,7 @@ OOVPATable DSound_5788[] = {
REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), 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_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),

View File

@ -95,7 +95,7 @@ OOVPATable DSound_5849[] = {
REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH), REGISTER_OOVPA(DirectSoundCreate, 4134, PATCH),
REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF), REGISTER_OOVPA(CDirectSound_CreateSoundBuffer, 4134, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetPlayRegion, 5558, 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(CMcpxBuffer_SetBufferData, 5788, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF), REGISTER_OOVPA(CDirectSoundBuffer_SetBufferData, 4134, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_SetBufferData, 4134, PATCH),
@ -205,10 +205,10 @@ OOVPATable DSound_5849[] = {
REGISTER_OOVPA(DS_CMemoryManager_PoolAlloc, 5788, XREF), REGISTER_OOVPA(DS_CMemoryManager_PoolAlloc, 5788, XREF),
REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH), REGISTER_OOVPA(XFileCreateMediaObjectAsync, 5788, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFormat, 4242, 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(CMcpxBuffer_Play2, 4361, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_Play, 5788, 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(IDirectSound_AddRef, 3911, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_AddRef, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF), REGISTER_OOVPA(CDirectSound_SetDistanceFactor, 5558, XREF),
@ -238,9 +238,9 @@ OOVPATable DSound_5849[] = {
REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF), REGISTER_OOVPA(CDirectSoundBuffer_Use3DVoiceData, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Use3DVoiceData, 5558, PATCH),
REGISTER_OOVPA(CDirectSoundStream_Use3DVoiceData, 5558, XREF), 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_SetNotificationPositions, 3911, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 5233, PATCH), REGISTER_OOVPA(CDirectSoundStream_SetFrequency, 4134, PATCH),
REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH), REGISTER_OOVPA(IDirectSoundBuffer_Unlock, 3911, PATCH),
REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF), REGISTER_OOVPA(CDirectSound_GetCaps, 4361, XREF),
REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH), REGISTER_OOVPA(IDirectSound_GetCaps, 3911, PATCH),

View File

@ -52,33 +52,33 @@
// * IDirectSoundStream_AddRef (Using IUnknown_AddRef) // * IDirectSoundStream_AddRef (Using IUnknown_AddRef)
// * IDirectSoundStream_Release (Using IUnknown_Release) // * IDirectSoundStream_Release (Using IUnknown_Release)
// * 3911 to ????: These functions does not exist until newer XDK revision // * 3911 to ????: These functions does not exist until newer XDK revision
// * IDirectSound_GetOutputLevels // * IDirectSound_GetOutputLevels (Lowest found was 4361)
// * IDirectSound_SynchPlayback // * IDirectSound_SynchPlayback (Lowest found was 5344)
// * IDirectSoundBuffer_GetVoiceProperties // * IDirectSoundBuffer_GetVoiceProperties (Lowest found was 5344)
// * IDirectSoundBuffer_SetFormat // * IDirectSoundBuffer_SetFormat (Lowest found was 4242)
// * IDirectSoundBuffer_SetDistanceFactor // * IDirectSoundBuffer_SetDistanceFactor (Lowest found was 4134)
// * IDirectSoundBuffer_SetDopplerFactor // * IDirectSoundBuffer_SetDopplerFactor (Lowest found was 4134)
// * IDirectSoundBuffer_SetRolloffFactor // * IDirectSoundBuffer_SetRolloffFactor (Lowest found was 4134)
// * IDirectSoundBuffer_SetRolloffCurve // * IDirectSoundBuffer_SetRolloffCurve (Lowest found was 4361)
// * IDirectSoundBuffer_Pause // * IDirectSoundBuffer_Pause (Lowest found was 4928)
// * IDirectSoundBuffer_PauseEx // * IDirectSoundBuffer_PauseEx (Lowest found was 5344, could be 4928 or lower)
// * IDirectSoundBuffer_SetPlayRegion (Introduce in 4039, last known earliest revision) // * IDirectSoundBuffer_SetPlayRegion (Introduce in 4039, last known earliest revision)
// * IDirectSoundStream_FlushEx // * IDirectSoundStream_FlushEx (Lowest found was 4361)
// * IDirectSoundStream_GetVoiceProperties // * IDirectSoundStream_GetVoiceProperties (Lowest found was 5344)
// * IDirectSoundStream_PauseEx // * IDirectSoundStream_PauseEx (Lowest found was 4361)
// * IDirectSoundStream_SetDistanceFactor // * IDirectSoundStream_SetDistanceFactor (Lowest found was 4361)
// * IDirectSoundStream_SetDopplerFactor // * IDirectSoundStream_SetDopplerFactor (Lowest found was 4361)
// * IDirectSoundStream_SetFormat // * IDirectSoundStream_SetFormat (Lowest found was 4361)
// * IDirectSoundStream_SetRolloffCurve // * IDirectSoundStream_SetRolloffCurve (Lowest found was 4361)
// * IDirectSoundStream_SetRolloffFactor // * IDirectSoundStream_SetRolloffFactor (Lowest found was 4361)
// * DirectSoundDumpMemoryUsage // * DirectSoundDumpMemoryUsage (Lowest found was 4361)
// * DirectSoundGetSampleTime // * DirectSoundGetSampleTime (Need verify between 4039 to 4361)
// * DirectSoundOverrideSpeakerConfig // * DirectSoundOverrideSpeakerConfig (Lowest found was 4361)
// * XAudioDownloadEffectsImage // * XAudioDownloadEffectsImage (Lowest found was 4361)
// * XAudioGetSpeakerConfig // * XGetAudioFlags (Lowest found was 3911, XAudioGetSpeakerConfig introduced later as alias, is part of Xapi section)
// * XAudioSetEffectData // * XAudioSetEffectData (Lowest found was 5344?)
// * DirectSoundUseFullHRTF4Channel // * DirectSoundUseFullHRTF4Channel (Lowest found was 5344)
// * DirectSoundUseLightHRTF4Channel // * DirectSoundUseLightHRTF4Channel (Lowest found was 5344)
// * 3911 to 3936: Following separater functions has exact asm codes as whole function are... // * 3911 to 3936: Following separater functions has exact asm codes as whole function are...
// * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume // * IDirectSoundStream_SetVolume & CDirectSoundStream_SetVolume
// * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch // * IDirectSoundStream_SetPitch & CDirectSoundStream_SetPitch
@ -148,6 +148,8 @@
// * Need to review what's the difference and why is it necessary to be separated. // * Need to review what's the difference and why is it necessary to be separated.
// * It also have various revisions, we should be able to narrow it down to remove duplicates. // * 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. // * 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 #ifndef DSOUND_OOVPA_INL
@ -192,14 +194,14 @@ OOVPATable DSound_OOVPAV2[] = {
REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CMcpxBuffer_GetCurrentPosition, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721, 4831, 5558), REGISTER_OOVPAS(CMcpxBuffer_GetStatus, XREF, 3911, 4039, 4134, 4721, 4831, 5558),
REGISTER_OOVPAS(CMcpxBuffer_Pause, XREF, 4831), 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_Play2, XREF, 4361, 5558), // NOTE: ?Play@CMcpxBuffer@DirectSound@@QAEJ_JK@Z
REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788), REGISTER_OOVPAS(CMcpxBuffer_SetBufferData, XREF, 4134, 5788),
REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134, 5558, 5788), REGISTER_OOVPAS(CMcpxBuffer_SetCurrentPosition, XREF, 3911, 4039, 4134, 5558, 5788),
REGISTER_OOVPAS(CMcpxBuffer_Stop, XREF, 3911, 4134, 4242), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJK@Z REGISTER_OOVPAS(CMcpxBuffer_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(CMcpxBuffer_Stop2, XREF, 4361), // NOTE: ?Stop@CMcpxBuffer@DirectSound@@QAEJ_JK@Z
REGISTER_OOVPAS(CMcpxStream_Discontinuity, XREF, 3911, 4039, 4134), 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_GetStatus, XREF, 4134),
REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4134, /*4361,*/ 4831, 5788), REGISTER_OOVPAS(CMcpxStream_Pause, XREF, 3911, 4039, 4134, /*4361,*/ 4831, 5788),
REGISTER_OOVPAS(CSensaura3d_GetFullHRTFFilterPair, XREF, 3911, 3936), 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_GetStatus, XREF, 3911, 4039, 4134, 4721),
REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_Lock, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_Pause, XREF, 4928), 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_PlayEx, XREF, 3911, 4361, 5788),
REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetAllParameters, XREF, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_SetBufferData, XREF, 3911, 4039, 4134, 5558, 5788), 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_SetMixBins, XREF, 4039, 4134, 5558),
REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetMixBinVolumes, XREF, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_SetMode, XREF, 4039, 4134, 5233), 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_SetOutputBuffer, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134), REGISTER_OOVPAS(CDirectSoundBuffer_SetPitch, XREF, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundBuffer_SetPlayRegion, XREF, 4039, 4361, 5558), 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_Process, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_Release, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetAllParameters, 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_SetConeOrientation, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetConeOutsideVolume, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetEG, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetFilter, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242), REGISTER_OOVPAS(CDirectSoundStream_SetFormat, PATCH, 4242),
REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3911, 4039, 5233), REGISTER_OOVPAS(CDirectSoundStream_SetFrequency, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3911, 4627, 5558), REGISTER_OOVPAS(CDirectSoundStream_SetHeadroom, PATCH, 3911, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3911, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetI3DL2Source, PATCH, 3911, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetLFO, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetMaxDistance, 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_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_SetMixBinVolumes_8, PATCH, 4039), //Then it has changed in XDK 4039 and higher.
REGISTER_OOVPAS(CDirectSoundStream_SetMode, PATCH, 3911, 4039, 4134), 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_SetPitch, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4039, 4134), REGISTER_OOVPAS(CDirectSoundStream_SetPosition, PATCH, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSoundStream_SetRolloffCurve, XREF, 4627, 5558), 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_SetDopplerFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558, 5788),
REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 3911, 4134), REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 3911, 4134),
REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3911, 4039, 4134, 5344, 5558), 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_SetOrientation, XREF, 3911, 4039, 4134),
REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4039, 4134, 4627, 5344, 5558), REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4039, 4134, 4627, 5344, 5558),
REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3911, 4039, 4134, 5344, 5558, 5788, 5849), REGISTER_OOVPAS(CDirectSound_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_GetStatus, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3911, 5558), REGISTER_OOVPAS(IDirectSoundBuffer_Lock, PATCH, 3911, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_Pause, PATCH, 4928), 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_PlayEx, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_Release, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundBuffer_SetAllParameters, PATCH, 3911, 4039),
@ -381,7 +383,7 @@ OOVPATable DSound_OOVPAV2[] = {
REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 3911), REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, PATCH, 3911),
REGISTER_OOVPAS(IDirectSoundBuffer_SetPitch, PATCH, 3911, 4039), 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_SetPosition, PATCH, 3911, 5558),
REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffCurve, PATCH, 4627),
REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788), REGISTER_OOVPAS(IDirectSoundBuffer_SetRolloffFactor, PATCH, 4134, 5788),
@ -400,8 +402,9 @@ OOVPATable DSound_OOVPAV2[] = {
REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundStream_SetEG, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundStream_SetLFO, PATCH, 3911, 4039), REGISTER_OOVPAS(IDirectSoundStream_SetLFO, PATCH, 3911, 4039),
REGISTER_OOVPAS(IDirectSoundStream_SetFilter, 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_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_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_SetMaxDistance, UNPATCHED, 3911),
REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, UNPATCHED, 3911), REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, UNPATCHED, 3911),