Minor Update for DSound 4039 Database
- Add IDirectSoundBuffer_SetHeadroom to 4039 (Generic) - Add CDirectSound_SetPosition to 4039 - Add CDirectSound_SetVelocity to 4039 - Add CDirectSound_SetI3DL2Listener to 4039 - Improve CDirectSound_SetPosition 4134 - Improve CDirectSound_SetVelocity 4134 Verified with - [4039] Nightcaster
This commit is contained in:
parent
c3a9f78ef1
commit
9946018845
|
@ -215,8 +215,8 @@ enum XRefDataBaseOffset
|
|||
XREF_CDirectSoundVoiceSettings_SetMixBinVolumes,
|
||||
XREF_CDirectSound_SetPosition,
|
||||
XREF_CMcpxAPU_Set3dPosition,
|
||||
XREF_DSSETVELOCITYA,
|
||||
XREF_DSSETVELOCITYB,
|
||||
XREF_CDirectSound_SetVelocity,
|
||||
XREF_CMcpxAPU_Set3dVelocity,
|
||||
XREF_CDirectSound_DoWork,
|
||||
XREF_CMcpxAPU_ServiceDeferredCommandsLow,
|
||||
XREF_CDirectSound_SetAllParameters,
|
||||
|
|
|
@ -3404,6 +3404,7 @@ OOVPA_XREF(IDirectSound_SetPosition, 3911, 11,
|
|||
{ 0x32, 0xC2 },
|
||||
{ 0x33, 0x14 },
|
||||
OOVPA_END;
|
||||
|
||||
// ******************************************************************
|
||||
// * CMcpxVoiceClient_Set3dVelocity
|
||||
// ******************************************************************
|
||||
|
@ -4676,7 +4677,7 @@ OOVPA_END;
|
|||
// ******************************************************************
|
||||
OOVPA_XREF(CMcpxAPU_Set3dVelocity, 3911, 12,
|
||||
|
||||
XREF_DSSETVELOCITYB,
|
||||
XREF_CMcpxAPU_Set3dVelocity,
|
||||
XRefZero)
|
||||
|
||||
// CMcpxAPU_Set3dVelocity+0x0C : movsd; movsd; movsd
|
||||
|
@ -4703,11 +4704,11 @@ OOVPA_END;
|
|||
// ******************************************************************
|
||||
OOVPA_XREF(CDirectSound_SetVelocity, 3911, 10,
|
||||
|
||||
XREF_DSSETVELOCITYA,
|
||||
XREF_CDirectSound_SetVelocity,
|
||||
XRefOne)
|
||||
|
||||
// CDirectSound_SetVelocity+0x35 : call [CMcpxAPU_Set3dVelocity]
|
||||
XREF_ENTRY( 0x35, XREF_DSSETVELOCITYB ),
|
||||
XREF_ENTRY( 0x35, XREF_CMcpxAPU_Set3dVelocity ),
|
||||
|
||||
// CDirectSound_SetVelocity+0x06 : push esi; push edi
|
||||
{ 0x06, 0x56 },
|
||||
|
@ -4735,7 +4736,7 @@ OOVPA_XREF(IDirectSound_SetVelocity, 3911, 11,
|
|||
XRefOne)
|
||||
|
||||
// IDirectSound_SetVelocity+0x2D : call [CDirectSound_SetVelocity]
|
||||
XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ),
|
||||
XREF_ENTRY( 0x2D, XREF_CDirectSound_SetVelocity ),
|
||||
|
||||
// IDirectSound_SetVelocity+0x06 : fld [ebp+0x14]
|
||||
{ 0x06, 0xD9 },
|
||||
|
|
|
@ -2932,7 +2932,7 @@ OOVPA_END;
|
|||
// ******************************************************************
|
||||
OOVPA_XREF(CMcpxAPU_Set3dVelocity, 3936, 12,
|
||||
|
||||
XREF_DSSETVELOCITYB,
|
||||
XREF_CMcpxAPU_Set3dVelocity,
|
||||
XRefZero)
|
||||
|
||||
// CMcpxAPU_Set3dVelocity+0x0C : movsd; movsd; movsd
|
||||
|
@ -2960,11 +2960,11 @@ OOVPA_END;
|
|||
// ******************************************************************
|
||||
OOVPA_XREF(CDirectSound_SetVelocity, 3936, 10,
|
||||
|
||||
XREF_DSSETVELOCITYA,
|
||||
XREF_CDirectSound_SetVelocity,
|
||||
XRefOne)
|
||||
|
||||
// CDirectSound_SetVelocity+0x35 : call [CMcpxAPU_Set3dVelocity]
|
||||
XREF_ENTRY( 0x35, XREF_DSSETVELOCITYB ),
|
||||
XREF_ENTRY( 0x35, XREF_CMcpxAPU_Set3dVelocity ),
|
||||
|
||||
// CDirectSound_SetVelocity+0x06 : push esi; push edi
|
||||
{ 0x06, 0x56 },
|
||||
|
@ -2992,7 +2992,7 @@ OOVPA_XREF(IDirectSound_SetVelocity, 3936, 11,
|
|||
XRefOne)
|
||||
|
||||
// IDirectSound_SetVelocity+0x2D : call [CDirectSound_SetVelocity]
|
||||
XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ),
|
||||
XREF_ENTRY( 0x2D, XREF_CDirectSound_SetVelocity ),
|
||||
|
||||
// IDirectSound_SetVelocity+0x06 : fld [ebp+0x14]
|
||||
{ 0x06, 0xD9 },
|
||||
|
|
|
@ -2371,3 +2371,134 @@ OOVPA_XREF(CDirectSound_DownloadEffectsImage, 4039, 18,
|
|||
{ 0x60, 0xC2 },
|
||||
{ 0x61, 0x14 },
|
||||
OOVPA_END;
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer_SetHeadroom
|
||||
// ******************************************************************
|
||||
//Generic OOVPA as of 4039 and newer.
|
||||
OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 4039, 10,
|
||||
|
||||
XRefNoSaveIndex,
|
||||
XRefOne)
|
||||
|
||||
// IDirectSoundBuffer_SetHeadroom+0x15 : call [CDirectSoundBuffer_SetHeadroom]
|
||||
XREF_ENTRY( 0x15, XREF_CDirectSoundBuffer_SetHeadroom ),
|
||||
|
||||
// IDirectSoundBuffer_SetHeadroom+0x04 : push [esp+0x08]
|
||||
{ 0x04, 0xFF },
|
||||
{ 0x05, 0x74 },
|
||||
{ 0x06, 0x24 },
|
||||
{ 0x07, 0x08 },
|
||||
|
||||
// IDirectSoundBuffer_SetHeadroom+0x0A : add eax, 0xFFFFFFE4
|
||||
{ 0x0A, 0x83 },
|
||||
{ 0x0B, 0xC0 },
|
||||
{ 0x0C, 0xE4 },
|
||||
|
||||
// IDirectSoundBuffer_SetHeadroom+0x19 : retn 0x08
|
||||
{ 0x19, 0xC2 },
|
||||
{ 0x1A, 0x08 },
|
||||
OOVPA_END;
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSound_SetPosition
|
||||
// ******************************************************************
|
||||
OOVPA_XREF(CDirectSound_SetPosition, 4039, 14,
|
||||
|
||||
XREF_CDirectSound_SetPosition,
|
||||
XRefZero)
|
||||
|
||||
// CDirectSound_SetPosition+0x00 : push ebp
|
||||
{ 0x00, 0x55},
|
||||
|
||||
// CDirectSound_SetPosition+0x2A : mov ecx, [ebp+0x08]
|
||||
{ 0x2A, 0x8B },
|
||||
{ 0x2B, 0x4D },
|
||||
{ 0x2C, 0x08 },
|
||||
|
||||
// CDirectSound_SetPosition+0x3E : mov [edx+0x1C], edi
|
||||
{ 0x3E, 0x89 },
|
||||
{ 0x3F, 0x7A },
|
||||
{ 0x40, 0x1C },
|
||||
|
||||
// CDirectSound_SetPosition+0x4B : or word ptr [eax+0x84], 0x01FF
|
||||
{ 0x4B, 0x80 },
|
||||
{ 0x4C, 0x88 },
|
||||
{ 0x4D, 0x84 },
|
||||
{ 0x4E, 0x00 },
|
||||
{ 0x51, 0xFF },
|
||||
|
||||
// CDirectSound_SetPosition+0x72 : retn 0x14
|
||||
{ 0x72, 0xC2 },
|
||||
{ 0x73, 0x14 },
|
||||
OOVPA_END;
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSound::SetVelocity
|
||||
// ******************************************************************
|
||||
OOVPA_XREF(CDirectSound_SetVelocity, 4039, 16,
|
||||
|
||||
XREF_CDirectSound_SetVelocity,
|
||||
XRefZero)
|
||||
|
||||
// CDirectSound_SetVelocity+0x00 : push ebp
|
||||
{ 0x00, 0x55},
|
||||
|
||||
// CDirectSound_SetVelocity+0x23 : mov eax, 0x80004005
|
||||
{ 0x23, 0xB8 },
|
||||
{ 0x24, 0x05 },
|
||||
{ 0x25, 0x40 },
|
||||
{ 0x26, 0x00 },
|
||||
{ 0x27, 0x80 },
|
||||
|
||||
// CDirectSound_SetVelocity+0x36 : mov [edx+0x24], edi
|
||||
{ 0x36, 0x89 },
|
||||
{ 0x37, 0x7A },
|
||||
{ 0x38, 0x24 },
|
||||
|
||||
// CDirectSound_SetVelocity+0x4B : or dword ptr [eax+0x084], 0x40
|
||||
{ 0x4B, 0x83 },
|
||||
{ 0x4C, 0x88 },
|
||||
{ 0x4D, 0x84 },
|
||||
{ 0x4F, 0x00 },
|
||||
{ 0x51, 0x40 },
|
||||
|
||||
// CDirectSound_SetVelocity+0x72 : retn 0x14
|
||||
{ 0x72, 0xC2 },
|
||||
{ 0x73, 0x14 },
|
||||
OOVPA_END;
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSound::SetI3DL2Listener
|
||||
// ******************************************************************
|
||||
OOVPA_XREF(CDirectSound_SetI3DL2Listener, 4039, 16,
|
||||
|
||||
XREF_CDirectSound_SetI3DL2Listener,
|
||||
XRefZero)
|
||||
// CDirectSound_SetI3DL2Listener+0x00 : push ebp
|
||||
{ 0x00, 0x55 },
|
||||
|
||||
// CDirectSound_SetI3DL2Listener+0x35 : cmp dword ptr [eax+0C],-01
|
||||
{ 0x35, 0x83 },
|
||||
//{ 0x36, 0x78 },
|
||||
{ 0x37, 0x0C },
|
||||
{ 0x38, 0xFF },
|
||||
|
||||
// CDirectSound_SetI3DL2Listener+0x3B : mov [ebp-04h],0x88780032
|
||||
{ 0x3B, 0xC7 },
|
||||
{ 0x3C, 0x45 },
|
||||
{ 0x3D, 0xFC },
|
||||
{ 0x3E, 0x32 },
|
||||
{ 0x3F, 0x00 },
|
||||
{ 0x40, 0x78 },
|
||||
{ 0x41, 0x88 },
|
||||
|
||||
// CDirectSound_SetI3DL2Listener+0x45 : mov esi,[ebp+0Ch]
|
||||
{ 0x45, 0x8B },
|
||||
{ 0x46, 0x75 },
|
||||
{ 0x47, 0x0C },
|
||||
|
||||
// CDirectSound_SetI3DL2Listener+0x7F : retn 0x0C
|
||||
{ 0x7F, 0xC2 },
|
||||
{ 0x80, 0x0C },
|
||||
OOVPA_END;
|
||||
|
|
|
@ -248,7 +248,7 @@ OOVPA_XREF(CDirectSoundBuffer_SetHeadroom, 4134, 8,
|
|||
{ 0x47, 0x8B },
|
||||
OOVPA_END;
|
||||
|
||||
|
||||
#if 0 // Replaced with generic OOVPA 4039
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer_SetHeadroom
|
||||
// ******************************************************************
|
||||
|
@ -268,7 +268,7 @@ OOVPA_XREF(IDirectSoundBuffer_SetHeadroom, 4134, 8,
|
|||
{ 0x19, 0xC2 },
|
||||
{ 0x1A, 0x08 },
|
||||
OOVPA_END;
|
||||
|
||||
#endif
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoiceSettings::SetMixBins
|
||||
// ******************************************************************
|
||||
|
@ -405,11 +405,14 @@ OOVPA_END;
|
|||
// ******************************************************************
|
||||
// * CDirectSound_SetPosition
|
||||
// ******************************************************************
|
||||
OOVPA_XREF(CDirectSound_SetPosition, 4134, 11,
|
||||
OOVPA_XREF(CDirectSound_SetPosition, 4134, 14,
|
||||
|
||||
XREF_CDirectSound_SetPosition,
|
||||
XRefZero)
|
||||
|
||||
// CDirectSound_SetPosition+0x00 : push ebp
|
||||
{ 0x00, 0x55},
|
||||
|
||||
// CDirectSound_SetPosition+0x2B : mov ecx, [ebp+0x08]
|
||||
{ 0x2B, 0x8B },
|
||||
{ 0x2C, 0x4D },
|
||||
|
@ -426,6 +429,10 @@ OOVPA_XREF(CDirectSound_SetPosition, 4134, 11,
|
|||
{ 0x4E, 0xA4 },
|
||||
{ 0x4F, 0x00 },
|
||||
{ 0x52, 0xFF },
|
||||
|
||||
// CDirectSound_SetPosition+0x73 : retn 0x14
|
||||
{ 0x73, 0xC2 },
|
||||
{ 0x74, 0x14 },
|
||||
OOVPA_END;
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -2392,11 +2399,14 @@ OOVPA_END;
|
|||
// ******************************************************************
|
||||
// * CDirectSound::SetVelocity
|
||||
// ******************************************************************
|
||||
OOVPA_XREF(CDirectSound_SetVelocity, 4134, 15,
|
||||
OOVPA_XREF(CDirectSound_SetVelocity, 4134, 16,
|
||||
|
||||
XREF_DSSETVELOCITYA,
|
||||
XREF_CDirectSound_SetVelocity,
|
||||
XRefZero)
|
||||
|
||||
// CDirectSound_SetVelocity+0x00 : push ebp
|
||||
{ 0x00, 0x55},
|
||||
|
||||
// CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005
|
||||
{ 0x24, 0xB8 },
|
||||
{ 0x25, 0x05 },
|
||||
|
@ -3037,14 +3047,14 @@ OOVPATable DSound_4134[] = {
|
|||
REGISTER_OOVPA(IDirectSound_SetI3DL2Listener, 3911, PATCH),
|
||||
REGISTER_OOVPA(CDirectSoundVoice_SetHeadroom, 4134, XREF),
|
||||
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF),
|
||||
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH),
|
||||
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH),
|
||||
REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH),
|
||||
REGISTER_OOVPA(IDirectSound_SetAllParameters, 3911, PATCH),
|
||||
REGISTER_OOVPA(CDirectSoundVoiceSettings_SetMixBins, 4134, XREF),
|
||||
REGISTER_OOVPA(CDirectSoundVoice_SetMixBins, 4039, XREF),
|
||||
REGISTER_OOVPA(CDirectSoundBuffer_SetMixBins, 4134, XREF),
|
||||
REGISTER_OOVPA(IDirectSoundBuffer_SetMixBins, 4134, PATCH),
|
||||
REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF), // TODO: Find a cure for laziness...
|
||||
REGISTER_OOVPA(CDirectSound_SetPosition, 4134, XREF),
|
||||
REGISTER_OOVPA(IDirectSound_SetPosition, 3911, PATCH),
|
||||
REGISTER_OOVPA(IDirectSound_CreateSoundBuffer, 3911, PATCH),
|
||||
REGISTER_OOVPA(IDirectSound_AddRef, 3911, PATCH),
|
||||
|
|
|
@ -100,7 +100,7 @@ OOVPA_END;
|
|||
// ******************************************************************
|
||||
OOVPA_XREF(CDirectSound_SetVelocity, 4627, 15,
|
||||
|
||||
XREF_DSSETVELOCITYA,
|
||||
XREF_CDirectSound_SetVelocity,
|
||||
XRefZero)
|
||||
|
||||
// CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005
|
||||
|
@ -1489,7 +1489,7 @@ OOVPATable DSound_4627[] = {
|
|||
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF),
|
||||
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH),
|
||||
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF),
|
||||
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH),
|
||||
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH),
|
||||
REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF),
|
||||
REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH),
|
||||
REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4627, XREF),
|
||||
|
|
|
@ -65,7 +65,7 @@ OOVPATable DSound_5028[] = {
|
|||
REGISTER_OOVPA(CDirectSound_SetMixBinHeadroom, 4627, XREF),
|
||||
REGISTER_OOVPA(IDirectSound_SetMixBinHeadroom, 4627, PATCH),
|
||||
REGISTER_OOVPA(CDirectSoundBuffer_SetHeadroom, 4134, XREF),
|
||||
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4134, PATCH),
|
||||
REGISTER_OOVPA(IDirectSoundBuffer_SetHeadroom, 4039, PATCH),
|
||||
REGISTER_OOVPA(CDirectSound_SetVelocity, 4627, XREF),
|
||||
REGISTER_OOVPA(IDirectSound_SetVelocity, 3911, PATCH),
|
||||
REGISTER_OOVPA(CDirectSound_SetAllParametersA, 4627, XREF),
|
||||
|
|
|
@ -432,7 +432,7 @@ OOVPA_END;
|
|||
// ******************************************************************
|
||||
OOVPA_XREF(CDirectSound_SetVelocity, 5344, 14,
|
||||
|
||||
XREF_DSSETVELOCITYA,
|
||||
XREF_CDirectSound_SetVelocity,
|
||||
XRefZero)
|
||||
|
||||
// CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005
|
||||
|
|
|
@ -1422,7 +1422,7 @@ OOVPA_END;
|
|||
// ******************************************************************
|
||||
OOVPA_XREF(CDirectSound_SetVelocity, 5558, 7,
|
||||
|
||||
XREF_DSSETVELOCITYA,
|
||||
XREF_CDirectSound_SetVelocity,
|
||||
XRefZero)
|
||||
|
||||
{ 0x0F, 0x00 },
|
||||
|
@ -1442,7 +1442,7 @@ OOVPA_XREF(IDirectSound_SetVelocity, 5558, 8,
|
|||
XRefNoSaveIndex,
|
||||
XRefOne)
|
||||
|
||||
XREF_ENTRY( 0x2D, XREF_DSSETVELOCITYA ),
|
||||
XREF_ENTRY( 0x2D, XREF_CDirectSound_SetVelocity ),
|
||||
|
||||
{ 0x05, 0x18 },
|
||||
{ 0x0C, 0x83 },
|
||||
|
|
|
@ -275,12 +275,12 @@ OOVPATable DSound_OOVPAV2[] = {
|
|||
REGISTER_OOVPAS(CDirectSound_SetDistanceFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558),
|
||||
REGISTER_OOVPAS(CDirectSound_SetDopplerFactor, XREF, 3911, 4039, 4134, 4627, 5344, 5558, 5788),
|
||||
REGISTER_OOVPAS(CDirectSound_SetEffectData, XREF, 3911, 4134),
|
||||
REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3911, 4134, 5344, 5558),
|
||||
REGISTER_OOVPAS(CDirectSound_SetI3DL2Listener, XREF, 3911, 4039, 4134, 5344, 5558),
|
||||
REGISTER_OOVPAS(CDirectSound_SetMixBinHeadroom, XREF, 3911, 4627, 5558),
|
||||
REGISTER_OOVPAS(CDirectSound_SetOrientation, XREF, 3911, 4039, 4134),
|
||||
REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4134, 4627, 5344, 5558), // TODO: Find a cure for laziness... (from 4134's comment)
|
||||
REGISTER_OOVPAS(CDirectSound_SetPosition, XREF, 3911, 4039, 4134, 4627, 5344, 5558),
|
||||
REGISTER_OOVPAS(CDirectSound_SetRolloffFactor, XREF, 3911, 4039, 4134, 5344, 5558, 5788, 5849),
|
||||
REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3911, 4134, 4627, 5344, 5558),
|
||||
REGISTER_OOVPAS(CDirectSound_SetVelocity, XREF, 3911, 4039, 4134, 4627, 5344, 5558),
|
||||
REGISTER_OOVPAS(CDirectSound_SynchPlayback, XREF, 5233, 5344, 5558),
|
||||
REGISTER_OOVPAS(IDirectSoundBuffer_AddRef, PATCH, 3911),
|
||||
REGISTER_OOVPAS(IDirectSoundBuffer_GetCurrentPosition, PATCH, 3911),
|
||||
|
@ -302,7 +302,7 @@ OOVPATable DSound_OOVPAV2[] = {
|
|||
REGISTER_OOVPAS(IDirectSoundBuffer_SetFilter, PATCH, 3911, 4039),
|
||||
REGISTER_OOVPAS(IDirectSoundBuffer_SetFormat, PATCH, 4242, 5558),
|
||||
REGISTER_OOVPAS(IDirectSoundBuffer_SetFrequency, PATCH, 3911, 4039),
|
||||
REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3911, 4134, 5344, 5558),
|
||||
REGISTER_OOVPAS(IDirectSoundBuffer_SetHeadroom, PATCH, 3911, 4039, 5344, 5558),
|
||||
REGISTER_OOVPAS(IDirectSoundBuffer_SetI3DL2Source, PATCH, 3911, 4134, 5558),
|
||||
REGISTER_OOVPAS(IDirectSoundBuffer_SetLFO, PATCH, 3911, 4039),
|
||||
REGISTER_OOVPAS(IDirectSoundBuffer_SetLoopRegion, PATCH, 3911),
|
||||
|
|
Loading…
Reference in New Issue