Merge pull request #163 from jarupxx/fnc-4

Added DSound OOVPAs
This commit is contained in:
PatrickvL 2017-02-13 12:22:59 +01:00 committed by GitHub
commit b3fca84bf5
7 changed files with 303 additions and 8 deletions

View File

@ -290,6 +290,7 @@ enum XRefDataBaseOffset
XREF_DirectSound_CDirectSoundStream_SetFilter,
XREF_DirectSound_CDirectSoundBuffer_StopEx,
XREF_CMcpxBuffer_Stop2,
XREF_CMcpxBuffer_PlayA,
XREF_CMcpxAPU_Set3dDopplerFactor,
XREF_CSensaura3d_GetFullHRTFFilterPair,
XREF_CDirectSound_GetCaps,

View File

@ -324,31 +324,52 @@ OOVPA_XREF(IDirectSoundBuffer8_SetLoopRegion, 4361, 9,
OOVPA_END;
// ******************************************************************
// * IDirectSoundBuffer8_SetVolume
// * CDirectSoundBuffer::SetVolume
// ******************************************************************
OOVPA_NO_XREF(IDirectSoundBuffer8_SetVolume, 4361, 11)
// NOTE: This is actually intercepting CDirectSoundBuffer::SetVolume(ULONG)
OOVPA_XREF(CDirectSoundBuffer_SetVolume, 4361, 11,
// IDirectSoundBuffer8_SetVolume+0x0D : movzx esi, al
XREF_DirectSound_CDirectSoundBuffer_SetVolume,
XRefZero)
// CDirectSoundBuffer_SetVolume+0x0D : movzx esi, al
{ 0x0D, 0x0F }, // (Offset,Value)-Pair #1
{ 0x0E, 0xB6 }, // (Offset,Value)-Pair #2
{ 0x0F, 0xF0 }, // (Offset,Value)-Pair #3
// IDirectSoundBuffer8_SetVolume+0x26 : jmp +0x22
// CDirectSoundBuffer_SetVolume+0x26 : jmp +0x22
{ 0x26, 0xEB }, // (Offset,Value)-Pair #4
{ 0x27, 0x22 }, // (Offset,Value)-Pair #5
// IDirectSoundBuffer8_SetVolume+0x2D : push [esp+0x10]
// CDirectSoundBuffer_SetVolume+0x2D : push [esp+0x10]
{ 0x2D, 0xFF }, // (Offset,Value)-Pair #6
{ 0x2E, 0x74 }, // (Offset,Value)-Pair #7
{ 0x2F, 0x24 }, // (Offset,Value)-Pair #8
{ 0x30, 0x10 }, // (Offset,Value)-Pair #9
// IDirectSoundBuffer8_SetVolume+0x4B : retn 0x08
// CDirectSoundBuffer_SetVolume+0x4B : retn 0x08
{ 0x4B, 0xC2 }, // (Offset,Value)-Pair #10
{ 0x4C, 0x08 }, // (Offset,Value)-Pair #11
OOVPA_END;
// ******************************************************************
// * IDirectSoundBuffer8::SetVolume
// ******************************************************************
OOVPA_XREF(IDirectSoundBuffer8_SetVolume, 4361, 8,
XRefNoSaveIndex,
XRefOne)
{ 0x15, XREF_DirectSound_CDirectSoundBuffer_SetVolume },
{ 0x02, 0x24 },
{ 0x06, 0x24 },
{ 0x0A, 0x83 },
{ 0x0E, 0xD9 },
{ 0x12, 0xC8 },
{ 0x19, 0xC2 },
{ 0x1A, 0x08 },
OOVPA_END;
// ******************************************************************
// * CMcpxBuffer_SetBufferData
// ******************************************************************
@ -586,6 +607,26 @@ OOVPA_XREF(CMcpxBuffer_Play, 4361, 11,
{ 0x73, 0x18 }, // (Offset,Value)-Pair #11
OOVPA_END;
// ******************************************************************
// * CMcpxBuffer_PlayA
// ******************************************************************
OOVPA_XREF(CMcpxBuffer_PlayA, 4361, 10,
XREF_CMcpxBuffer_PlayA,
XRefZero)
{ 0x03, 0x8B },
{ 0x0E, 0xF1 },
{ 0x1C, 0x6A },
{ 0x1D, 0x03 },
{ 0x1E, 0xFF },
{ 0x1F, 0x50 },
{ 0x2F, 0x8B },
{ 0x30, 0xF8 },
{ 0x31, 0x8B },
{ 0x37, 0x0C },
OOVPA_END;
// ******************************************************************
// * CDirectSoundBuffer_Play
// ******************************************************************
@ -778,7 +819,7 @@ OOVPA_XREF(DirectSound_CDirectSoundBuffer_PlayEx, 4361, 8,
XREF_DirectSound_CDirectSoundBuffer_PlayEx,
XRefOne)
XREF_ENTRY( 0x3D, XREF_DSOUNDPLAY ),
XREF_ENTRY( 0x3D, XREF_CMcpxBuffer_PlayA ),
{ 0x0C, 0x00 },
{ 0x16, 0x68 },

View File

@ -891,6 +891,11 @@ OOVPA_XREF(CMcpxBuffer_Play, 4928, 10,
{ 0x72, 0xC0 }, // (Offset,Value)-Pair #10
OOVPA_END;
// ******************************************************************
// * CMcpxBuffer_PlayA
// ******************************************************************
#define CMcpxBuffer_PlayA_4627 CMcpxBuffer_PlayA_4361
// ******************************************************************
// * CDirectSound::SetDistanceFactorA
// ******************************************************************
@ -2938,6 +2943,16 @@ OOVPA_XREF(DirectSound_CDirectSoundStream_SetPitch, 4627, 12,
{ 0x51, 0x00 },
OOVPA_END;
// ******************************************************************
// * CDirectSoundBuffer::SetVolume
// ******************************************************************
#define CDirectSoundBuffer_SetVolume_4627 CDirectSoundBuffer_SetVolume_4361
// ******************************************************************
// * IDirectSoundBuffer8::SetVolume
// ******************************************************************
#define IDirectSoundBuffer8_SetVolume_4627 IDirectSoundBuffer8_SetVolume_4361
// ******************************************************************
// * Direct, 4627
// ******************************************************************
@ -3125,6 +3140,8 @@ OOVPATable DSound_4627[] = {
REGISTER_OOVPA(CDirectSoundBuffer_SetLFO, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetLFO, 4627, PATCH),
REGISTER_OOVPA(CDirectSoundStream_SetPitch, 4627, ALIAS, DirectSound_CDirectSoundStream_SetPitch),
REGISTER_OOVPA(CDirectSoundBuffer_SetVolume, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetVolume, 4627, PATCH),
};
// ******************************************************************

View File

@ -253,6 +253,24 @@ OOVPA_XREF(CDirectSoundVoice_SetMode, 5233, 8,
{ 0x24, 0x0C }, // (Offset,Value)-Pair #8
OOVPA_END;
// ******************************************************************
// CDirectSoundVoice::SetMode
// ******************************************************************
OOVPA_XREF(CDirectSoundVoice_SetMode, 5344, 8,
XREF_DSBUFFERSETMODEB,
XRefZero)
{ 0x09, 0xB4 }, // (Offset,Value)-Pair #1
{ 0x10, 0x08 }, // (Offset,Value)-Pair #2
{ 0x13, 0x40 }, // (Offset,Value)-Pair #3
{ 0x15, 0x41 }, // (Offset,Value)-Pair #4
{ 0x18, 0x80 }, // (Offset,Value)-Pair #5
{ 0x19, 0xB4 }, // (Offset,Value)-Pair #6
{ 0x2E, 0x33 }, // (Offset,Value)-Pair #7
{ 0x31, 0x0C }, // (Offset,Value)-Pair #8
OOVPA_END;
// ******************************************************************
// CDirectSoundBuffer::SetMode
// ******************************************************************
@ -933,6 +951,7 @@ OOVPATable DSound_5233[] = {
REGISTER_OOVPA(X_DirectSound_CDirectSoundBuffer_SetFormat, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetFormat, 4627, ALIAS, X_IDirectSoundBuffer_SetFormat),
REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5233, XREF),
//REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5344, XREF), // Add when needed...
REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5233, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetMode, 5233, PATCH),
REGISTER_OOVPA(CDirectSoundVoice_SetRolloffCurve, 5233, XREF),

View File

@ -1943,6 +1943,69 @@ OOVPA_XREF(DirectSound_CDirectSoundStream_SetFrequency, 5558, 9,
{ 0x4B, 0x8B },
OOVPA_END;
// ******************************************************************
// * DirectSound::CDirectSound::SetAllParameters
// ******************************************************************
OOVPA_XREF(DirectSound_CDirectSound_SetAllParameters, 5558, 8,
XREF_DSSETALLPARAMETERSA,
XRefZero)
{ 0x0C, 0x00 },
{ 0x0E, 0xB6 },
{ 0x10, 0x74 },
{ 0x12, 0x85 },
{ 0x14, 0x74 },
{ 0x16, 0x68 },
{ 0x2A, 0x00 },
{ 0x2B, 0x8B },
OOVPA_END;
// ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetFilter
// ******************************************************************
OOVPA_XREF(DirectSound_CMcpxVoiceClient_SetFilter, 5558, 10,
XREF_DirectSound_CMcpxVoiceClient_SetFilter,
XRefZero)
{ 0x05, 0x20 },
{ 0x07, 0x65 },
{ 0x09, 0x00 },
{ 0x0B, 0x56 },
{ 0x0F, 0x8D },
{ 0x17, 0x8B },
{ 0x19, 0x08 },
{ 0x1B, 0xF6 },
{ 0x1D, 0xFF },
{ 0x1F, 0x00 },
OOVPA_END;
// ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetEG
// ******************************************************************
#define DirectSound_CMcpxVoiceClient_SetEG_5558 DirectSound_CMcpxVoiceClient_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetEG
// ******************************************************************
#define DirectSound_CDirectSoundVoice_SetEG_5558 DirectSound_CDirectSoundVoice_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundStream::SetEG
// ******************************************************************
#define DirectSound_CDirectSoundStream_SetEG_5558 DirectSound_CDirectSoundStream_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetEG
// ******************************************************************
#define DirectSound_CDirectSoundBuffer_SetEG_5558 DirectSound_CDirectSoundBuffer_SetEG_4627
// ******************************************************************
// * IDirectSoundBuffer_SetEG
// ******************************************************************
#define IDirectSoundBuffer_SetEG_5558 IDirectSoundBuffer_SetEG_4627
// ******************************************************************
// * Direct, 5558
// ******************************************************************
@ -2083,6 +2146,19 @@ OOVPATable DSound_5558[] = {
REGISTER_OOVPA(IDirectSound8_SetVelocity, 5558, ALIAS, IDirectSound_SetVelocity),
REGISTER_OOVPA(DirectSound_CDirectSound_CreateSoundStream, 5558, XREF),
REGISTER_OOVPA(IDirectSound8_CreateStream, 5558, ALIAS, IDirectSound_CreateSoundStream),
REGISTER_OOVPA(DirectSound_CMcpxVoiceClient_SetEG, 5558, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundVoice_SetEG, 5558, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 5558, ALIAS, DirectSound_CDirectSoundStream_SetEG),
REGISTER_OOVPA(DirectSound_CDirectSoundBuffer_SetEG, 5558, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetEG, 5558, ALIAS, IDirectSoundBuffer_SetEG),
REGISTER_OOVPA(IDirectSound8_AddRef, 3936, PATCH),
REGISTER_OOVPA(DirectSound_CDirectSound_SetAllParameters, 5558, XREF),
REGISTER_OOVPA(IDirectSound8_SetAllParameters, 3936, PATCH),
REGISTER_OOVPA(DirectSound_CMcpxVoiceClient_SetFilter, 5558, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundVoice_SetFilter, 4627, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundBuffer_SetFilter, 4627, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, ALIAS, DirectSound_CDirectSoundStream_SetFilter),
REGISTER_OOVPA(IDirectSoundBuffer8_SetFilter, 4627, ALIAS, IDirectSoundBuffer_SetFilter),
};
// ******************************************************************

View File

@ -1584,6 +1584,32 @@ OOVPA_XREF(DirectSound_CDirectSoundStream_SetHeadroom, 5788, 9,
{ 0x4B, 0x8B },
OOVPA_END;
// ******************************************************************
// * DirectSound::CDirectSound::SetAllParameters
// ******************************************************************
#define DirectSound_CDirectSound_SetAllParameters_5788 DirectSound_CDirectSound_SetAllParameters_5558
// ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetFilter
// ******************************************************************
#define DirectSound_CMcpxVoiceClient_SetFilter_5788 DirectSound_CMcpxVoiceClient_SetFilter_5558
// ******************************************************************
// CDirectSoundVoice::SetMode
// ******************************************************************
#define CDirectSoundVoice_SetMode_5788 CDirectSoundVoice_SetMode_5344
// ******************************************************************
// CDirectSoundBuffer::SetMode
// ******************************************************************
#define CDirectSoundBuffer_SetMode_5788 CDirectSoundBuffer_SetMode_5233
// ******************************************************************
// * IDirectSoundBuffer8_SetMode
// ******************************************************************
#define IDirectSoundBuffer8_SetMode_5788 IDirectSoundBuffer8_SetMode_5233
// ******************************************************************
// * Direct, 5788
// ******************************************************************
@ -1744,6 +1770,17 @@ OOVPATable DSound_5788[] = {
REGISTER_OOVPA(CDirectSoundStream_SetEG, 4627, ALIAS, DirectSound_CDirectSoundStream_SetEG),
REGISTER_OOVPA(DirectSound_CDirectSoundBuffer_SetEG, 4627, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetEG, 4627, ALIAS, IDirectSoundBuffer_SetEG),
REGISTER_OOVPA(IDirectSound8_AddRef, 3936, PATCH),
REGISTER_OOVPA(DirectSound_CDirectSound_SetAllParameters, 5788, XREF),
REGISTER_OOVPA(IDirectSound8_SetAllParameters, 3936, PATCH),
REGISTER_OOVPA(DirectSound_CMcpxVoiceClient_SetFilter, 5788, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundVoice_SetFilter, 4627, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundBuffer_SetFilter, 4627, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, ALIAS, DirectSound_CDirectSoundStream_SetFilter),
REGISTER_OOVPA(IDirectSoundBuffer8_SetFilter, 4627, ALIAS, IDirectSoundBuffer_SetFilter),
REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5788, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5788, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetMode, 5788, PATCH),
};
// ******************************************************************

View File

@ -1602,6 +1602,86 @@ OOVPA_XREF(DirectSound_CDirectSoundStream_SetHeadroom, 5849, 9,
{ 0x4B, 0x8B },
OOVPA_END;
// ******************************************************************
// * DirectSound::CDirectSound::SetAllParameters
// ******************************************************************
#define DirectSound_CDirectSound_SetAllParameters_5849 DirectSound_CDirectSound_SetAllParameters_5558
// ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetFilter
// ******************************************************************
#define DirectSound_CMcpxVoiceClient_SetFilter_5849 DirectSound_CMcpxVoiceClient_SetFilter_5558
// ******************************************************************
// * DirectSound::CMcpxVoiceClient::SetEG
// ******************************************************************
#define DirectSound_CMcpxVoiceClient_SetEG_5849 DirectSound_CMcpxVoiceClient_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetEG
// ******************************************************************
#define DirectSound_CDirectSoundVoice_SetEG_5849 DirectSound_CDirectSoundVoice_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundStream::SetEG
// ******************************************************************
#define DirectSound_CDirectSoundStream_SetEG_5849 DirectSound_CDirectSoundStream_SetEG_4627
// ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetEG
// ******************************************************************
#define DirectSound_CDirectSoundBuffer_SetEG_5849 DirectSound_CDirectSoundBuffer_SetEG_4627
// ******************************************************************
// * IDirectSoundBuffer_SetEG
// ******************************************************************
#define IDirectSoundBuffer_SetEG_5849 IDirectSoundBuffer_SetEG_4627
// ******************************************************************
// CDirectSoundVoice::SetMode
// ******************************************************************
#define CDirectSoundVoice_SetMode_5849 CDirectSoundVoice_SetMode_5344
// ******************************************************************
// CDirectSoundBuffer::SetMode
// ******************************************************************
#define CDirectSoundBuffer_SetMode_5849 CDirectSoundBuffer_SetMode_5233
// ******************************************************************
// * IDirectSoundBuffer8_SetMode
// ******************************************************************
#define IDirectSoundBuffer8_SetMode_5849 IDirectSoundBuffer8_SetMode_5233
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetI3DL2Source
// ******************************************************************
#define DirectSound_CDirectSoundVoice_SetI3DL2Source_5849 DirectSound_CDirectSoundVoice_SetI3DL2Source_5558
// ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetI3DL2Source
// ******************************************************************
#define DirectSound_CDirectSoundBuffer_SetI3DL2Source_5849 DirectSound_CDirectSoundBuffer_SetI3DL2Source_5558
// ******************************************************************
// * IDirectSoundBuffer_SetI3DL2Source
// ******************************************************************
#define IDirectSoundBuffer_SetI3DL2Source_5849 IDirectSoundBuffer_SetI3DL2Source_5558
// ******************************************************************
// * DirectSound::CDirectSoundVoice::SetAllParameters
// ******************************************************************
#define DirectSound_CDirectSoundVoice_SetAllParameters_5849 DirectSound_CDirectSoundVoice_SetAllParameters_5558
// ******************************************************************
// * DirectSound::CDirectSoundBuffer::SetAllParameters
// ******************************************************************
#define DirectSound_CDirectSoundBuffer_SetAllParameters_5849 DirectSound_CDirectSoundBuffer_SetAllParameters_5558
// ******************************************************************
// * IDirectSoundBuffer_SetAllParameters
// ******************************************************************
#define IDirectSoundBuffer_SetAllParameters_5849 IDirectSoundBuffer_SetAllParameters_5558
// ******************************************************************
// * Direct, 5849
// ******************************************************************
@ -1717,6 +1797,30 @@ OOVPATable DSound_5849[] = {
REGISTER_OOVPA(DirectSound_CMcpxBuffer_Play2, 5849, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundBuffer_Play, 5849, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_Play, 5849, ALIAS, IDirectSoundBuffer_Play),
REGISTER_OOVPA(IDirectSound8_AddRef, 3936, PATCH),
REGISTER_OOVPA(CDirectSound_SetDistanceFactorA, 5558, XREF),
REGISTER_OOVPA(IDirectSound8_SetDistanceFactor, 4432, PATCH),
REGISTER_OOVPA(DirectSound_CDirectSound_SetAllParameters, 5849, XREF),
REGISTER_OOVPA(IDirectSound8_SetAllParameters, 3936, PATCH),
REGISTER_OOVPA(DirectSound_CMcpxVoiceClient_SetFilter, 5849, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundVoice_SetFilter, 4627, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundBuffer_SetFilter, 4627, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetFilter, 4627, ALIAS, DirectSound_CDirectSoundStream_SetFilter),
REGISTER_OOVPA(IDirectSoundBuffer8_SetFilter, 4627, ALIAS, IDirectSoundBuffer_SetFilter),
REGISTER_OOVPA(DirectSound_CMcpxVoiceClient_SetEG, 5849, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundVoice_SetEG, 5849, XREF),
REGISTER_OOVPA(CDirectSoundStream_SetEG, 5849, ALIAS, DirectSound_CDirectSoundStream_SetEG),
REGISTER_OOVPA(DirectSound_CDirectSoundBuffer_SetEG, 5849, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetEG, 5849, ALIAS, IDirectSoundBuffer_SetEG),
REGISTER_OOVPA(CDirectSoundVoice_SetMode, 5849, XREF),
REGISTER_OOVPA(CDirectSoundBuffer_SetMode, 5849, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetMode, 5849, PATCH),
REGISTER_OOVPA(DirectSound_CDirectSoundVoice_SetI3DL2Source, 5849, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundBuffer_SetI3DL2Source, 5849, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetI3DL2Source, 5849, ALIAS, IDirectSoundBuffer_SetI3DL2Source),
REGISTER_OOVPA(DirectSound_CDirectSoundVoice_SetAllParameters, 5849, XREF),
REGISTER_OOVPA(DirectSound_CDirectSoundBuffer_SetAllParameters, 5849, XREF),
REGISTER_OOVPA(IDirectSoundBuffer8_SetAllParameters, 5849, ALIAS, IDirectSoundBuffer_SetAllParameters),
};
// ******************************************************************