Fixed a bug in Xapi EmuRtlReAllocateHeap. Returned value was not updated with alignment offset. Caused crashes with the allocation tracker.
Temporarily fallback to simple dummy vertex shader if recompilation failed. Added XDK 3911 OOVPAs for Xapi. - RtlReAllocateHeap, moved back from 4432 - RtlSizeHeap, moved back from 4432 Added XDK 3936 OOVPAs for DSound. - CMcpxBuffer_GetStatus - CDirectSoundBuffer_GetStatus - IDirectSoundBuffer8_GetStatus - CMcpxVoiceClient_SetMixBins - CDirectSoundVoice_SetMixBins - IDirectSoundStream_SetMixBins - IDirectSoundBuffer8_SetMixBins - CMcpxVoiceClient_Set3dMode - CDirectSoundVoice_SetMode - IDirectSoundBuffer8_SetMode - CDirectSoundBuffer_SetVelocity - IDirectSoundBuffer8_SetVelocity, moved back from 4627 - CDirectSoundBuffer_SetPosition - IDirectSoundBuffer8_SetPosition, moved back from 4627
This commit is contained in:
parent
18bcc2160c
commit
6838efd341
|
@ -2401,6 +2401,30 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_CreateVertexShader
|
|||
pRecompiledBuffer->Release();
|
||||
pRecompiledBuffer = NULL;
|
||||
}
|
||||
|
||||
//* Fallback to dummy shader.
|
||||
if(FAILED(hRet))
|
||||
{
|
||||
static const char dummy[] =
|
||||
"vs.1.1\n"
|
||||
"mov oPos, v0\n";
|
||||
|
||||
EmuWarning("Trying fallback:\n%s\n", dummy);
|
||||
hRet = D3DXAssembleShader(dummy,
|
||||
strlen(dummy),
|
||||
D3DXASM_SKIPVALIDATION,
|
||||
NULL,
|
||||
&pRecompiledBuffer,
|
||||
NULL);
|
||||
hRet = g_pD3DDevice8->CreateVertexShader
|
||||
(
|
||||
pRecompiledDeclaration,
|
||||
(DWORD*)pRecompiledBuffer->GetBufferPointer(),
|
||||
&Handle,
|
||||
g_dwVertexShaderUsage
|
||||
);
|
||||
}
|
||||
//*/
|
||||
}
|
||||
// Save the status, to remove things later
|
||||
pVertexShader->Status = hRet;
|
||||
|
|
|
@ -257,15 +257,24 @@ PVOID WINAPI XTL::EmuRtlReAllocateHeap
|
|||
GetCurrentThreadId(), hHeap, dwFlags, lpMem, dwBytes);
|
||||
//*/
|
||||
|
||||
BYTE offs;
|
||||
|
||||
if(lpMem != NULL)
|
||||
{
|
||||
BYTE offs = *(BYTE*)((uint32)lpMem - 1);
|
||||
offs = *(BYTE*)((uint32)lpMem - 1);
|
||||
|
||||
lpMem = (PVOID)((uint32)lpMem - offs);
|
||||
}
|
||||
|
||||
PVOID pRet = CxbxRtlRealloc(hHeap, dwFlags, lpMem, dwBytes + 0x20);
|
||||
|
||||
if(lpMem != NULL)
|
||||
{
|
||||
pRet = (PVOID)((uint32)pRet + offs);
|
||||
}
|
||||
|
||||
DbgPrintf("pRet : 0x%.08X\n", pRet);
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return pRet;
|
||||
|
|
|
@ -412,7 +412,6 @@ extern uint32 XRefDataBase[] =
|
|||
-1, // XREF_COMMITDEFERREDSETTINGSA
|
||||
-1, // XREF_COMMITDEFERREDSETTINGSB
|
||||
// s+
|
||||
-1, // XREF_DSVOICESETMODE
|
||||
-1, // XREF_DSVOICESETMAXDISTANCE
|
||||
-1, // XREF_DSVOICESETMINDISTANCE
|
||||
-1, // XREF_DSVOICESETROLLOFFCURVE
|
||||
|
@ -425,7 +424,8 @@ extern uint32 XRefDataBase[] =
|
|||
-1, // XREF_DSVOICESETVELOCITY
|
||||
-1, // XREF_DSVOICESETDOPPLERFACTOR
|
||||
-1, // XREF_DSVOICESETI3DL2SOURCE
|
||||
-1, // XREF_DSBUFFERSETMODE
|
||||
-1, // XREF_DSBUFFERSETMODEA
|
||||
-1, // XREF_DSBUFFERSETMODEB
|
||||
-1, // XREF_DSBUFFERSETMAXDISTANCE
|
||||
-1, // XREF_DSBUFFERSETMINDISTANCE
|
||||
-1, // XREF_DSBUFFERSETROLLOFFCURVE
|
||||
|
|
|
@ -217,7 +217,6 @@ enum XRefDataBaseOffset
|
|||
XREF_COMMITDEFERREDSETTINGSB,
|
||||
// s+
|
||||
// DSOUND
|
||||
XREF_DSVOICESETMODE,
|
||||
XREF_DSVOICESETMAXDISTANCE,
|
||||
XREF_DSVOICESETMINDISTANCE,
|
||||
XREF_DSVOICESETROLLOFFCURVE,
|
||||
|
@ -230,7 +229,8 @@ enum XRefDataBaseOffset
|
|||
XREF_DSVOICESETVELOCITY,
|
||||
XREF_DSVOICESETDOPPLERFACTOR,
|
||||
XREF_DSVOICESETI3DL2SOURCE,
|
||||
XREF_DSBUFFERSETMODE,
|
||||
XREF_DSBUFFERSETMODEA,
|
||||
XREF_DSBUFFERSETMODEB,
|
||||
XREF_DSBUFFERSETMAXDISTANCE,
|
||||
XREF_DSBUFFERSETMINDISTANCE,
|
||||
XREF_DSBUFFERSETROLLOFFCURVE,
|
||||
|
|
|
@ -572,40 +572,6 @@ SOOVPA<10> IDirect3DDevice8_SetPixelShader_1_0_3925 =
|
|||
}
|
||||
};
|
||||
|
||||
/* FIXME: Is this correct?
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetPixelShader
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_SetPixelShader_1_0_3925 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12, // Count == 12
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetPixelShader+0x0D : lea ecx, [eax+0x0464]
|
||||
{ 0x0D, 0x8D }, // (Offset,Value)-Pair #1
|
||||
{ 0x0E, 0x88 }, // (Offset,Value)-Pair #2
|
||||
{ 0x0F, 0x64 }, // (Offset,Value)-Pair #3
|
||||
{ 0x10, 0x04 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirect3DDevice8_SetPixelShader+0x19 : mov dword ptr [eax+0x0468], 0
|
||||
{ 0x19, 0xC7 }, // (Offset,Value)-Pair #5
|
||||
{ 0x1A, 0x80 }, // (Offset,Value)-Pair #6
|
||||
{ 0x1B, 0x68 }, // (Offset,Value)-Pair #7
|
||||
{ 0x1C, 0x04 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirect3DDevice8_SetPixelShader+0x32 : mov [esp+0x04], 0
|
||||
{ 0x32, 0xC7 }, // (Offset,Value)-Pair #9
|
||||
{ 0x33, 0x44 }, // (Offset,Value)-Pair #10
|
||||
{ 0x34, 0x24 }, // (Offset,Value)-Pair #11
|
||||
{ 0x35, 0x04 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
};
|
||||
//*/
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetIndices
|
||||
// ******************************************************************
|
||||
|
|
|
@ -431,70 +431,71 @@ SOOVPA<10> IDirectSoundBuffer8_SetPitch_1_0_3936 =
|
|||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer8_GetStatusB
|
||||
// * CMcpxBuffer::GetStatus
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirectSoundBuffer8_GetStatusB_1_0_3936 =
|
||||
SOOVPA<13> CMcpxBuffer_GetStatus_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12,// Count == 12
|
||||
13,// Count == 13
|
||||
|
||||
XREF_DSBUFFERGETSTATUSB,// XRef Is Saved
|
||||
XREF_DSBUFFERGETSTATUSB, // XRef Is Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer8_GetStatusB+0x04 : mov [ebp-4], ecx
|
||||
{ 0x04, 0x89 }, // (Offset,Value)-Pair #1
|
||||
{ 0x05, 0x4D }, // (Offset,Value)-Pair #2
|
||||
{ 0x06, 0xFC }, // (Offset,Value)-Pair #3
|
||||
// CMcpxBuffer_GetStatus+0x10 : mov eax, [ebp+0x08]
|
||||
{ 0x10, 0x8B }, // (Offset,Value)-Pair #1
|
||||
{ 0x11, 0x45 }, // (Offset,Value)-Pair #2
|
||||
{ 0x12, 0x08 }, // (Offset,Value)-Pair #3
|
||||
|
||||
// IDirectSoundBuffer8_GetStatusB+0x07 : movzx eax, fs:24h
|
||||
{ 0x07, 0x64 }, // (Offset,Value)-Pair #4
|
||||
{ 0x08, 0x0F }, // (Offset,Value)-Pair #5
|
||||
{ 0x09, 0xB6 }, // (Offset,Value)-Pair #6
|
||||
{ 0x0A, 0x05 }, // (Offset,Value)-Pair #7
|
||||
{ 0x0B, 0x24 }, // (Offset,Value)-Pair #8
|
||||
// CMcpxBuffer_GetStatus+0x16 : xor ecx, ecx; inc ecx
|
||||
{ 0x16, 0x33 }, // (Offset,Value)-Pair #4
|
||||
{ 0x17, 0xC9 }, // (Offset,Value)-Pair #5
|
||||
{ 0x18, 0x41 }, // (Offset,Value)-Pair #6
|
||||
|
||||
// IDirectSoundBuffer8_GetStatusB+0x16 : sbb eax, eax; neg eax
|
||||
{ 0x16, 0x1B }, // (Offset,Value)-Pair #9
|
||||
{ 0x17, 0xC0 }, // (Offset,Value)-Pair #10
|
||||
{ 0x18, 0xF7 }, // (Offset,Value)-Pair #11
|
||||
{ 0x19, 0xD8 }, // (Offset,Value)-Pair #12
|
||||
// CMcpxBuffer_GetStatus+0x1C : jz +0x17
|
||||
{ 0x1C, 0x74 }, // (Offset,Value)-Pair #7
|
||||
{ 0x1D, 0x17 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// CMcpxBuffer_GetStatus+0x2F : mov [eax], 5
|
||||
{ 0x2F, 0xC7 }, // (Offset,Value)-Pair #9
|
||||
{ 0x30, 0x00 }, // (Offset,Value)-Pair #10
|
||||
{ 0x31, 0x05 }, // (Offset,Value)-Pair #11
|
||||
|
||||
// CMcpxBuffer_GetStatus+0x48 : retn 0x04
|
||||
{ 0x48, 0xC2 }, // (Offset,Value)-Pair #12
|
||||
{ 0x49, 0x04 }, // (Offset,Value)-Pair #13
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer8_GetStatusA
|
||||
// * CDirectSoundBuffer::GetStatus
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirectSoundBuffer8_GetStatusA_1_0_3936 =
|
||||
SOOVPA<10> CDirectSoundBuffer_GetStatus_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12,// Count == 12
|
||||
10, // Count == 10
|
||||
|
||||
XREF_DSBUFFERGETSTATUSA,// XRef Is Saved
|
||||
XREF_DSBUFFERGETSTATUSA, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer8_GetStatusA+0x0C : call [IDirectSoundBuffer8_GetStatusB]
|
||||
{ 0x0C, XREF_DSBUFFERGETSTATUSB }, // (Offset,Value)-Pair #1
|
||||
// CDirectSoundBuffer_GetStatus+0x14 : call [CMcpxBuffer::GetStatus]
|
||||
{ 0x15, XREF_DSBUFFERGETSTATUSB }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSoundBuffer8_GetStatusA+0x10 : mov eax, [ebp+0x08]
|
||||
{ 0x10, 0x8B }, // (Offset,Value)-Pair #2
|
||||
{ 0x11, 0x45 }, // (Offset,Value)-Pair #3
|
||||
{ 0x12, 0x08 }, // (Offset,Value)-Pair #4
|
||||
// CDirectSoundBuffer_GetStatus+0x07 : push [esp+0x10]
|
||||
{ 0x07, 0xFF }, // (Offset,Value)-Pair #2
|
||||
{ 0x08, 0x74 }, // (Offset,Value)-Pair #3
|
||||
{ 0x09, 0x24 }, // (Offset,Value)-Pair #4
|
||||
{ 0x0A, 0x10 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// IDirectSoundBuffer8_GetStatusA+0x18 : inc ecx; test [esi+8], cl
|
||||
{ 0x18, 0x41 }, // (Offset,Value)-Pair #5
|
||||
{ 0x19, 0x84 }, // (Offset,Value)-Pair #6
|
||||
{ 0x1A, 0x4E }, // (Offset,Value)-Pair #7
|
||||
{ 0x1B, 0x08 }, // (Offset,Value)-Pair #8
|
||||
// CDirectSoundBuffer_GetStatus+0x11 : mov ecx, [eax+0x20]
|
||||
{ 0x11, 0x8B }, // (Offset,Value)-Pair #6
|
||||
{ 0x12, 0x48 }, // (Offset,Value)-Pair #7
|
||||
{ 0x13, 0x20 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirectSoundBuffer8_GetStatusA+0x1C : jz +0x17
|
||||
{ 0x1C, 0x74 }, // (Offset,Value)-Pair #9
|
||||
{ 0x1D, 0x17 }, // (Offset,Value)-Pair #10
|
||||
|
||||
// IDirectSoundBuffer8_GetStatusA+0x48 : retn 0x04
|
||||
{ 0x48, 0xC2 }, // (Offset,Value)-Pair #11
|
||||
{ 0x49, 0x04 }, // (Offset,Value)-Pair #12
|
||||
// CDirectSoundBuffer_GetStatus+0x2E : retn 0x08
|
||||
{ 0x2E, 0xC2 }, // (Offset,Value)-Pair #9
|
||||
{ 0x2F, 0x08 }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -510,23 +511,23 @@ SOOVPA<10> IDirectSoundBuffer8_GetStatus_1_0_3936 =
|
|||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer8_GetStatus+0x15 : call [IDirectSoundBuffer8_GetStatusA]
|
||||
// IDirectSoundBuffer8_GetStatus+0x15 : call [CDirectSoundBuffer::GetStatus]
|
||||
{ 0x15, XREF_DSBUFFERGETSTATUSA }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSoundBuffer8_GetStatus+0x07 : push [esp+0x10]
|
||||
{ 0x07, 0xFF }, // (Offset,Value)-Pair #2
|
||||
{ 0x08, 0x74 }, // (Offset,Value)-Pair #3
|
||||
{ 0x09, 0x24 }, // (Offset,Value)-Pair #4
|
||||
{ 0x0A, 0x10 }, // (Offset,Value)-Pair #5
|
||||
// IDirectSoundBuffer8_GetStatus+0x04 : push [esp+0x08]
|
||||
{ 0x04, 0xFF }, // (Offset,Value)-Pair #2
|
||||
{ 0x05, 0x74 }, // (Offset,Value)-Pair #3
|
||||
{ 0x06, 0x24 }, // (Offset,Value)-Pair #4
|
||||
{ 0x07, 0x08 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// IDirectSoundBuffer8_GetStatus+0x11 : mov ecx, [eax+0x20]
|
||||
{ 0x11, 0x8B }, // (Offset,Value)-Pair #6
|
||||
{ 0x12, 0x48 }, // (Offset,Value)-Pair #7
|
||||
{ 0x13, 0x20 }, // (Offset,Value)-Pair #8
|
||||
// IDirectSoundBuffer8_GetStatus+0x0A : add eax, 0xFFFFFFE4
|
||||
{ 0x0A, 0x83 }, // (Offset,Value)-Pair #6
|
||||
{ 0x0B, 0xC0 }, // (Offset,Value)-Pair #7
|
||||
{ 0x0C, 0xE4 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirectSoundBuffer8_GetStatus+0x2E : retn 0x08
|
||||
{ 0x2E, 0xC2 }, // (Offset,Value)-Pair #9
|
||||
{ 0x2F, 0x08 }, // (Offset,Value)-Pair #10
|
||||
// IDirectSoundBuffer8_GetStatus+0x19 : retn 0x08
|
||||
{ 0x19, 0xC2 }, // (Offset,Value)-Pair #9
|
||||
{ 0x1A, 0x08 }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -543,7 +544,7 @@ SOOVPA<11> IDirectSoundBuffer8_SetVolumeB_1_0_3936 =
|
|||
|
||||
{
|
||||
// IDirectSoundBuffer8_SetVolumeB+0x26 : mov ecx, [esi+0xE0]
|
||||
{ 0x26, 0x8B }, // (Offset,Vclj)/Ð`mrHC*
|
||||
{ 0x26, 0x8B }, // (Offset,Value)-Pair #1
|
||||
{ 0x27, 0x8E }, // (Offset,Value)-Pair #2
|
||||
{ 0x28, 0xE0 }, // (Offset,Value)-Pair #3
|
||||
{ 0x29, 0x00 }, // (Offset,Value)-Pair #4
|
||||
|
@ -964,7 +965,7 @@ SOOVPA<10> IDirectSoundBuffer8_SetBufferData_1_0_3936 =
|
|||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer8_SetBufferData+0x19 : call [IDirectSoundBuffer8_SetBufferDataA]
|
||||
// IDirectSoundBuffer8_SetBufferData+0x18 : call [IDirectSoundBuffer8_SetBufferDataA]
|
||||
{ 0x19, XREF_DSSETBUFFERDATA }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSoundBuffer8_SetBufferData+0x04 : push [esp+0x0C]
|
||||
|
@ -984,6 +985,140 @@ SOOVPA<10> IDirectSoundBuffer8_SetBufferData_1_0_3936 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CMcpxVoiceClient::SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<15> CMcpxVoiceClient_SetMixBins_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
15, // Count == 15
|
||||
|
||||
XREF_DSSETMIXBINSB, // XRef Is Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// CMcpxVoiceClient_SetMixBins+0x1C : lea eax, [esi+0x84]
|
||||
{ 0x1D, 0x86 }, // (Offset,Value)-Pair #1
|
||||
{ 0x1E, 0x84 }, // (Offset,Value)-Pair #2
|
||||
{ 0x21, 0x00 }, // (Offset,Value)-Pair #3
|
||||
|
||||
// CMcpxVoiceClient_SetMixBins+0x2E : mov eax, [esi+0xE0]
|
||||
{ 0x2E, 0x8B }, // (Offset,Value)-Pair #4
|
||||
{ 0x30, 0xE0 }, // (Offset,Value)-Pair #5
|
||||
{ 0x31, 0x00 }, // (Offset,Value)-Pair #6
|
||||
|
||||
// CMcpxVoiceClient_SetMixBins+0x41 : jz +0x7F
|
||||
{ 0x41, 0x74 }, // (Offset,Value)-Pair #7
|
||||
{ 0x42, 0x7F }, // (Offset,Value)-Pair #8
|
||||
|
||||
// CMcpxVoiceClient_SetMixBins+0x5A : mov ds:[0xFE8202F8], eax
|
||||
{ 0x5A, 0xA3 }, // (Offset,Value)-Pair #9
|
||||
{ 0x5B, 0xF8 }, // (Offset,Value)-Pair #10
|
||||
{ 0x5C, 0x02 }, // (Offset,Value)-Pair #11
|
||||
{ 0x5D, 0x82 }, // (Offset,Value)-Pair #12
|
||||
|
||||
// CMcpxVoiceClient_SetMixBins+0xBF : jb +0x8C
|
||||
{ 0xBF, 0x72 }, // (Offset,Value)-Pair #13
|
||||
{ 0xC0, 0x8C }, // (Offset,Value)-Pair #14
|
||||
|
||||
// CMcpxVoiceClient_SetMixBins+0xD6 : retn
|
||||
{ 0xD6, 0xC3 }, // (Offset,Value)-Pair #15
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoice::SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<9> CDirectSoundVoice_SetMixBins_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
XREF_DSSETMIXBINSA, // XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// CDirectSoundVoice_SetMixBins+0x28 : call [CMcpxVoiceClient::SetMixBins]
|
||||
{ 0x29, XREF_DSSETMIXBINSB }, // (Offset,Value)-Pair #1
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x18]
|
||||
{ 0x11, 0x8B }, // (Offset,Value)-Pair #2
|
||||
{ 0x12, 0x4E }, // (Offset,Value)-Pair #3
|
||||
{ 0x13, 0x18 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x25 : mov ecx, [esi+0x14]
|
||||
{ 0x25, 0x8B }, // (Offset,Value)-Pair #5
|
||||
{ 0x26, 0x4E }, // (Offset,Value)-Pair #6
|
||||
{ 0x27, 0x14 }, // (Offset,Value)-Pair #7
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x55 : retn 0x08
|
||||
{ 0x55, 0xC2 }, // (Offset,Value)-Pair #8
|
||||
{ 0x56, 0x08 }, // (Offset,Value)-Pair #9
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundStream_SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<10> IDirectSoundStream_SetMixBins_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
10, // Count == 10
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundStream_SetFrequency+0x0C : call [CDirectSoundVoice::SetMixBins]
|
||||
{ 0x0D, XREF_DSSETMIXBINSA }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSoundStream_SetMixBins+0x04 : mov eax, [esp+0x08]
|
||||
{ 0x04, 0x8B }, // (Offset,Value)-Pair #2
|
||||
{ 0x05, 0x44 }, // (Offset,Value)-Pair #3
|
||||
{ 0x06, 0x24 }, // (Offset,Value)-Pair #4
|
||||
{ 0x07, 0x08 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// IDirectSoundStream_SetMixBins+0x08 : add eax, 0x04
|
||||
{ 0x08, 0x83 }, // (Offset,Value)-Pair #6
|
||||
{ 0x09, 0xC0 }, // (Offset,Value)-Pair #7
|
||||
{ 0x0A, 0x04 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirectSoundStream_SetMixBins+0x11 : retn 0x08
|
||||
{ 0x11, 0xC2 }, // (Offset,Value)-Pair #9
|
||||
{ 0x12, 0x08 }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer8_SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<8> IDirectSoundBuffer8_SetMixBins_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer8_SetMixBins+0x14 : call [CDirectSoundVoice::SetMixBins]
|
||||
{ 0x15, XREF_DSSETMIXBINSA }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSoundBuffer8_SetMixBins+0x0A : add eax, 0xFFFFFFE4
|
||||
{ 0x0A, 0x83 }, // (Offset,Value)-Pair #2
|
||||
{ 0x0B, 0xC0 }, // (Offset,Value)-Pair #3
|
||||
{ 0x0C, 0xE4 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirectSoundBuffer8_SetMixBins+0x0F : sbb ecx, ecx
|
||||
{ 0x0F, 0x1B }, // (Offset,Value)-Pair #5
|
||||
{ 0x10, 0xC9 }, // (Offset,Value)-Pair #6
|
||||
|
||||
// IDirectSoundBuffer8_SetMixBins+0x11 : and ecx, eax
|
||||
{ 0x11, 0x23 }, // (Offset,Value)-Pair #7
|
||||
{ 0x12, 0xC8 }, // (Offset,Value)-Pair #8
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CMcpxBuffer_GetCurrentPosition
|
||||
// ******************************************************************
|
||||
|
@ -1843,8 +1978,6 @@ SOOVPA<12> CDirectSoundStream_SetVelocityC_1_0_3936 =
|
|||
XREF_DSSTREAMSETVELOCITY1C, // XRef Is Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
// TODO: re-use for CDirectSoundBuffer_SetVelocityC!?
|
||||
|
||||
{
|
||||
// CDirectSoundStream_SetVelocityC+0x0C : or byte ptr [ecx+0x80], 0x40
|
||||
{ 0x0C, 0x83 }, // (Offset,Value)-Pair #1
|
||||
|
@ -1877,8 +2010,6 @@ SOOVPA<14> CDirectSoundStream_SetVelocityB_1_0_3936 =
|
|||
XREF_DSSTREAMSETVELOCITY1B, // XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
// TODO: re-use for CDirectSoundBuffer_SetVelocityB!?
|
||||
|
||||
{
|
||||
// CDirectSoundStream_SetVelocityB+0x35 : call [IDirectSoundStream::SetVelocityC]
|
||||
{ 0x35, XREF_DSSTREAMSETVELOCITY1C }, // (Offset,Value)-Pair #1
|
||||
|
@ -1919,8 +2050,6 @@ SOOVPA<9> CDirectSoundStream_SetVelocityA_1_0_3936 =
|
|||
XREF_DSSTREAMSETVELOCITY1A, // XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
// TODO: re-use for CDirectSoundBuffer_SetVelocityA!?
|
||||
|
||||
{
|
||||
// CDirectSoundStream_SetVelocityA+0x25 : call [IDirectSoundStream::SetVelocityB]
|
||||
{ 0x25, XREF_DSSTREAMSETVELOCITY1B }, // (Offset,Value)-Pair #1
|
||||
|
@ -1972,6 +2101,68 @@ SOOVPA<9> CDirectSoundStream_SetVelocity_1_0_3936 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundBuffer::SetVelocity
|
||||
// ******************************************************************
|
||||
SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
XREF_DSBUFFERSETVELOCITY, // XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// CDirectSoundBuffer_SetVelocity+0x20 : call [CDirectSoundStream::SetVelocityB]
|
||||
{ 0x21, XREF_DSSTREAMSETVELOCITY1B }, // (Offset,Value)-Pair #1
|
||||
|
||||
// CDirectSoundBuffer_SetVelocity+0x06 : fld [ebp+arg_C]
|
||||
{ 0x06, 0xD9 }, // (Offset,Value)-Pair #2
|
||||
{ 0x07, 0x45 }, // (Offset,Value)-Pair #3
|
||||
{ 0x08, 0x14 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// CDirectSoundBuffer_SetVelocity+0x1A : fstp [esp+0x10+var_10]
|
||||
{ 0x1A, 0xD9 }, // (Offset,Value)-Pair #5
|
||||
{ 0x1B, 0x1C }, // (Offset,Value)-Pair #6
|
||||
{ 0x1C, 0x24 }, // (Offset,Value)-Pair #7
|
||||
|
||||
// CDirectSoundBuffer_SetVelocity+0x26 : retn 0x14
|
||||
{ 0x27, 0x14 }, // (Offset,Value)-Pair #8
|
||||
{ 0x28, 0x00 }, // (Offset,Value)-Pair #9
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer8_SetVelocity
|
||||
// ******************************************************************
|
||||
SOOVPA<9> IDirectSoundBuffer8_SetVelocity_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer8_SetVelocity+0x2C : call [CDirectSoundBuffer::SetVelocity]
|
||||
{ 0x2D, XREF_DSBUFFERSETVELOCITY }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSoundBuffer8_SetVelocity+0x09 : mov eax, [ebp+arg_0]
|
||||
{ 0x09, 0x8B }, // (Offset,Value)-Pair #2
|
||||
{ 0x0A, 0x45 }, // (Offset,Value)-Pair #3
|
||||
{ 0x0B, 0x08 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirectSoundBuffer8_SetVelocity+0x28 : fstp [esp+0x10+var_10]
|
||||
{ 0x28, 0xD9 }, // (Offset,Value)-Pair #5
|
||||
{ 0x29, 0x1C }, // (Offset,Value)-Pair #6
|
||||
{ 0x2A, 0x24 }, // (Offset,Value)-Pair #7
|
||||
|
||||
// IDirectSoundBuffer8_SetVelocity+0x32 : retn 0x14
|
||||
{ 0x33, 0x14 }, // (Offset,Value)-Pair #8
|
||||
{ 0x34, 0x00 }, // (Offset,Value)-Pair #9
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundStream_SetConeOrientationC
|
||||
// ******************************************************************
|
||||
|
@ -2122,8 +2313,6 @@ SOOVPA<11> CDirectSoundStream_SetPositionC_1_0_3936 =
|
|||
XREF_DSSTREAMSETPOSITION1C, // XRef Is Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
// TODO: re-use for CDirectSoundBuffer_SetPositionC!?
|
||||
|
||||
{
|
||||
// CDirectSoundStream_SetPositionC+0x0C : or byte ptr [ecx+0x80], 0xFF
|
||||
{ 0x0C, 0x80 }, // (Offset,Value)-Pair #1
|
||||
|
@ -2155,8 +2344,6 @@ SOOVPA<14> CDirectSoundStream_SetPositionB_1_0_3936 =
|
|||
XREF_DSSTREAMSETPOSITION1B, // XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
// TODO: re-use for CDirectSoundBuffer_SetPositionB!?
|
||||
|
||||
{
|
||||
// CDirectSoundStream_SetPositionB+0x35 : call [IDirectSoundStream::SetPositionC]
|
||||
{ 0x35, XREF_DSSTREAMSETPOSITION1C }, // (Offset,Value)-Pair #1
|
||||
|
@ -2197,8 +2384,6 @@ SOOVPA<9> CDirectSoundStream_SetPositionA_1_0_3936 =
|
|||
XREF_DSSTREAMSETPOSITION1A, // XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
// TODO: re-use for CDirectSoundBuffer_SetPositionA!?
|
||||
|
||||
{
|
||||
// CDirectSoundStream_SetPositionA+0x25 : call [IDirectSoundStream::SetPositionB]
|
||||
{ 0x25, XREF_DSSTREAMSETPOSITION1B }, // (Offset,Value)-Pair #1
|
||||
|
@ -2250,6 +2435,68 @@ SOOVPA<9> CDirectSoundStream_SetPosition_1_0_3936 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundBuffer::SetPosition
|
||||
// ******************************************************************
|
||||
SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
XREF_DSBUFFERSETPOSITION, // XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// CDirectSoundBuffer_SetPosition+0x20 : call [CDirectSoundStream::PositionB]
|
||||
{ 0x21, XREF_DSSTREAMSETPOSITION1B }, // (Offset,Value)-Pair #1
|
||||
|
||||
// CDirectSoundBuffer_SetPosition+0x06 : fld [ebp+arg_C]
|
||||
{ 0x06, 0xD9 }, // (Offset,Value)-Pair #2
|
||||
{ 0x07, 0x45 }, // (Offset,Value)-Pair #3
|
||||
{ 0x08, 0x14 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// CDirectSoundBuffer_SetPosition+0x1A : fstp [esp+0x10+var_10]
|
||||
{ 0x1A, 0xD9 }, // (Offset,Value)-Pair #5
|
||||
{ 0x1B, 0x1C }, // (Offset,Value)-Pair #6
|
||||
{ 0x1C, 0x24 }, // (Offset,Value)-Pair #7
|
||||
|
||||
// CDirectSoundBuffer_SetPosition+0x26 : retn 0x14
|
||||
{ 0x27, 0x14 }, // (Offset,Value)-Pair #8
|
||||
{ 0x28, 0x00 }, // (Offset,Value)-Pair #9
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer8_SetPosition
|
||||
// ******************************************************************
|
||||
SOOVPA<9> IDirectSoundBuffer8_SetPosition_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer8_SetPosition+0x2C : call [CDirectSoundBuffer::SetPosition]
|
||||
{ 0x2D, XREF_DSBUFFERSETPOSITION }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSoundBuffer8_SetPosition+0x09 : mov eax, [ebp+arg_0]
|
||||
{ 0x09, 0x8B }, // (Offset,Value)-Pair #2
|
||||
{ 0x0A, 0x45 }, // (Offset,Value)-Pair #3
|
||||
{ 0x0B, 0x08 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirectSoundBuffer8_SetPosition+0x28 : fstp [esp+0x10+var_10]
|
||||
{ 0x28, 0xD9 }, // (Offset,Value)-Pair #5
|
||||
{ 0x29, 0x1C }, // (Offset,Value)-Pair #6
|
||||
{ 0x2A, 0x24 }, // (Offset,Value)-Pair #7
|
||||
|
||||
// IDirectSoundBuffer8_SetPosition+0x32 : retn 0x14
|
||||
{ 0x33, 0x14 }, // (Offset,Value)-Pair #8
|
||||
{ 0x34, 0x00 }, // (Offset,Value)-Pair #9
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundStream_SetFrequencyB
|
||||
// ******************************************************************
|
||||
|
@ -2261,8 +2508,6 @@ SOOVPA<11> CDirectSoundStream_SetFrequencyB_1_0_3936 =
|
|||
XREF_DSSTREAMSETFREQUENCY1B,// XRef Is Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
// TODO: re-use for CDirectSoundBuffer_SetFrequencyB!?
|
||||
|
||||
{
|
||||
// CDirectSoundStream_SetFrequencyB+0x08 : cmp esi, 0xBB80
|
||||
{ 0x08, 0x81 }, // (Offset,Value)-Pair #1
|
||||
|
@ -2296,10 +2541,8 @@ SOOVPA<9> CDirectSoundStream_SetFrequencyA_1_0_3936 =
|
|||
XREF_DSSTREAMSETFREQUENCY1A,// XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
// TODO: re-use for CDirectSoundBuffer_SetFrequencyA!?
|
||||
|
||||
{
|
||||
// CDirectSoundStream_SetFrequencyA+0x20 : mov eax, [esi+0x18]
|
||||
// CDirectSoundStream_SetFrequencyA+0x1F : call [CDirectSoundStream::SetFrequencyB]
|
||||
{ 0x20, XREF_DSSTREAMSETFREQUENCY1B }, // (Offset,Value)-Pair #1
|
||||
|
||||
// CDirectSoundStream_SetFrequencyA+0x15 : mov eax, [esi+0x18]
|
||||
|
@ -2381,20 +2624,18 @@ SOOVPA<8> IDirectSoundBuffer8_SetFrequency_1_0_3936 =
|
|||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundStream_SetRolloffFactorB
|
||||
// * CMcpxVoiceClient::Set3dMode
|
||||
// ******************************************************************
|
||||
SOOVPA<12> CDirectSoundStream_SetRolloffFactorB_1_0_3936 =
|
||||
SOOVPA<12> CMcpxVoiceClient_Set3dMode_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12, // Count == 12
|
||||
|
||||
XREF_DSSTREAMSETROLLOFFFACTOR1B,// XRef Is Saved
|
||||
XREF_DSBUFFERSETMODEB, // XRef Is Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
// TODO: re-use for CDirectSoundBuffer_SetRolloffFactorB!?
|
||||
|
||||
{
|
||||
// CDirectSoundStream_SetRolloffFactorB+0x04 : or byte ptr [ecx+0x80], 0xFF
|
||||
// CMcpxVoiceClient_Set3dMode+0x04 : or byte ptr [ecx+0x80], 0xFF
|
||||
{ 0x04, 0x80 }, // (Offset,Value)-Pair #1
|
||||
{ 0x05, 0x89 }, // (Offset,Value)-Pair #2
|
||||
{ 0x06, 0x80 }, // (Offset,Value)-Pair #3
|
||||
|
@ -2403,51 +2644,82 @@ SOOVPA<12> CDirectSoundStream_SetRolloffFactorB_1_0_3936 =
|
|||
{ 0x09, 0x00 }, // (Offset,Value)-Pair #6
|
||||
{ 0x0A, 0xFF }, // (Offset,Value)-Pair #7
|
||||
|
||||
// CDirectSoundStream_SetRolloffFactorB+0x10 : cmp [ecx+0x58], eax
|
||||
// CMcpxVoiceClient_Set3dMode+0x10 : cmp [ecx+0x58], eax
|
||||
{ 0x10, 0x89 }, // (Offset,Value)-Pair #8
|
||||
{ 0x11, 0x41 }, // (Offset,Value)-Pair #9
|
||||
{ 0x12, 0x58 }, // (Offset,Value)-Pair #10
|
||||
|
||||
// CDirectSoundStream_SetRolloffFactorB+0x1E : retn 0x08
|
||||
// CMcpxVoiceClient_Set3dMode+0x1E : retn 0x08
|
||||
{ 0x1E, 0xC2 }, // (Offset,Value)-Pair #11
|
||||
{ 0x1F, 0x08 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundStream_SetRolloffFactorA
|
||||
// * CDirectSoundVoice::SetMode
|
||||
// ******************************************************************
|
||||
SOOVPA<10> CDirectSoundStream_SetRolloffFactorA_1_0_3936 =
|
||||
SOOVPA<10> CDirectSoundVoice_SetMode_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
10,// Count == 10
|
||||
|
||||
XREF_DSSTREAMSETROLLOFFFACTOR1A,// XRef Is Saved
|
||||
XREF_DSBUFFERSETMODEA, // XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
// TODO: re-use for CDirectSoundBuffer_SetRolloffFactorA!?
|
||||
|
||||
{
|
||||
// CDirectSoundStream_SetRolloffFactorA+0x1F : mov eax, [esi+0x18]
|
||||
{ 0x1F, XREF_DSSTREAMSETROLLOFFFACTOR1B }, // (Offset,Value)-Pair #1
|
||||
// CDirectSoundVoice_SetMode+0x1E : call [CMcpxVoiceClient::Set3dMode]
|
||||
{ 0x1F, XREF_DSBUFFERSETMODEB }, // (Offset,Value)-Pair #1
|
||||
|
||||
// CDirectSoundStream_SetRolloffFactorA+0x17 : push [esp+0x14]
|
||||
// CDirectSoundVoice_SetMode+0x17 : push [esp+0x14]
|
||||
{ 0x17, 0xFF }, // (Offset,Value)-Pair #2
|
||||
{ 0x18, 0x74 }, // (Offset,Value)-Pair #3
|
||||
{ 0x19, 0x24 }, // (Offset,Value)-Pair #4
|
||||
{ 0x1A, 0x14 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// CDirectSoundStream_SetRolloffFactorA+0x1B : mov ecx, [eax+0x14]
|
||||
// CDirectSoundVoice_SetMode+0x1B : mov ecx, [eax+0x14]
|
||||
{ 0x1B, 0x8B }, // (Offset,Value)-Pair #6
|
||||
{ 0x1C, 0x48 }, // (Offset,Value)-Pair #7
|
||||
{ 0x1D, 0x14 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// CDirectSoundStream_SetRolloffFactorA+0x38 : retn 0x0C
|
||||
// CDirectSoundVoice_SetMode+0x38 : retn 0x0C
|
||||
{ 0x38, 0xC2 }, // (Offset,Value)-Pair #9
|
||||
{ 0x39, 0x0C }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer8_SetMode
|
||||
// ******************************************************************
|
||||
SOOVPA<10> IDirectSoundBuffer8_SetMode_1_0_3936 =
|
||||
{
|
||||
0, // Large == 0
|
||||
10, // Count == 10
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer8_SetMode+0x18 : call [CDirectSoundVoice::SetMode]
|
||||
{ 0x19, XREF_DSBUFFERSETMODEA }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSoundBuffer8_SetMode+0x04 : push [esp+0x0C]
|
||||
{ 0x04, 0xFF }, // (Offset,Value)-Pair #2
|
||||
{ 0x05, 0x74 }, // (Offset,Value)-Pair #3
|
||||
{ 0x06, 0x24 }, // (Offset,Value)-Pair #4
|
||||
{ 0x07, 0x0C }, // (Offset,Value)-Pair #5
|
||||
|
||||
// IDirectSoundBuffer8_SetMode+0x0E : add eax, 0xFFFFFFE4
|
||||
{ 0x0E, 0x83 }, // (Offset,Value)-Pair #6
|
||||
{ 0x0F, 0xC0 }, // (Offset,Value)-Pair #7
|
||||
{ 0x10, 0xE4 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirectSoundBuffer8_SetMode+0x1D : retn 0x0C
|
||||
{ 0x1D, 0xC2 }, // (Offset,Value)-Pair #9
|
||||
{ 0x1E, 0x0C }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
// ******************************************************************
|
||||
// * CDirectSoundStream_SetRolloffFactor
|
||||
// ******************************************************************
|
||||
|
@ -2479,7 +2751,7 @@ SOOVPA<10> CDirectSoundStream_SetRolloffFactor_1_0_3936 =
|
|||
{ 0x16, 0x0C }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
*/
|
||||
// ******************************************************************
|
||||
// * IDirectSoundStream_SetI3DL2SourceA
|
||||
// ******************************************************************
|
||||
|
@ -2548,8 +2820,7 @@ SOOVPA<10> IDirectSoundStream_SetI3DL2Source_1_0_3936 =
|
|||
{ 0x16, 0x0C }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
// ******************************************************************
|
||||
// * IDirectSoundStream_Unknown1
|
||||
// ******************************************************************
|
||||
|
@ -2582,7 +2853,7 @@ SOOVPA<9> IDirectSoundStream_Unknown1_1_0_3936 =
|
|||
{ 0x56, 0x08 }, // (Offset,Value)-Pair #9
|
||||
}
|
||||
};
|
||||
|
||||
//*/
|
||||
// ******************************************************************
|
||||
// * IDirectSoundStream_SetHeadroomA
|
||||
// ******************************************************************
|
||||
|
@ -3567,20 +3838,20 @@ OOVPATable DSound_1_0_3936[] =
|
|||
"EmuIDirectSoundBuffer8_SetPitch"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8::GetStatusB (XREF)
|
||||
// CMcpxBuffer::GetStatus (XREF)
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer8_GetStatusB_1_0_3936, 0,
|
||||
(OOVPA*)&CMcpxBuffer_GetStatus_1_0_3936, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"IDirectSoundBuffer8_GetStatusB (XRef)"
|
||||
"CMcpxBuffer::GetStatus (XRef)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8::GetStatusA (XREF)
|
||||
// CDirectSoundBuffer::GetStatus (XREF)
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer8_GetStatusA_1_0_3936, 0,
|
||||
(OOVPA*)&CDirectSoundBuffer_GetStatus_1_0_3936, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"IDirectSoundBuffer8_GetStatusA (XRef)"
|
||||
"CDirectSoundBuffer::GetStatus (XRef)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8::GetStatus
|
||||
|
@ -3717,6 +3988,42 @@ OOVPATable DSound_1_0_3936[] =
|
|||
"EmuIDirectSoundBuffer8_SetBufferData"
|
||||
#endif
|
||||
},
|
||||
// CMcpxVoiceClient::SetMixBins (XRef)
|
||||
{
|
||||
(OOVPA*)&CMcpxVoiceClient_SetMixBins_1_0_3936, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CMcpxVoiceClient::SetMixBins (XRef)"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundVoice::SetMixBins (XRef)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_3936, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundVoice::SetMixBins (XRef)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundStream::SetMixBins
|
||||
{
|
||||
(OOVPA*)&IDirectSoundStream_SetMixBins_1_0_3936,
|
||||
|
||||
XTL::EmuCDirectSoundStream_SetMixBins,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirectSoundStream_SetMixBins"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8::SetMixBins
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_3936,
|
||||
|
||||
XTL::EmuIDirectSoundBuffer8_SetMixBins,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirectSoundBuffer8_SetMixBins"
|
||||
#endif
|
||||
},
|
||||
// CMcpxBuffer::GetCurrentPosition
|
||||
{
|
||||
(OOVPA*)&CMcpxBuffer_GetCurrentPosition_1_0_3936, 0,
|
||||
|
@ -3969,6 +4276,24 @@ OOVPATable DSound_1_0_3936[] =
|
|||
"EmuCDirectSoundStream_SetVelocity"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundBuffer::SetVelocity (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundBuffer_SetVelocity_1_0_3936, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundBuffer::SetVelocity (XRef)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8_SetVelocity
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_3936,
|
||||
|
||||
XTL::EmuIDirectSoundBuffer8_SetVelocity,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirectSoundBuffer8_SetVelocity"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundStream::SetConeOrientationC (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundStream_SetConeOrientationC_1_0_3936, 0,
|
||||
|
@ -4037,6 +4362,24 @@ OOVPATable DSound_1_0_3936[] =
|
|||
"EmuCDirectSoundStream_SetPosition"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundBuffer::SetPosition (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundBuffer_SetPosition_1_0_3936, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundBuffer::SetPosition (XRef)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8_SetPosition
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_3936,
|
||||
|
||||
XTL::EmuIDirectSoundBuffer8_SetPosition,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirectSoundBuffer8_SetPosition"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundStream::SetFrequencyB (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundStream_SetFrequencyB_1_0_3936, 0,
|
||||
|
@ -4073,30 +4416,30 @@ OOVPATable DSound_1_0_3936[] =
|
|||
"EmuIDirectSoundBuffer8_SetFrequency"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundStream::SetRolloffFactorB (XREF)
|
||||
// CMcpxVoiceClient::Set3dMode (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundStream_SetRolloffFactorB_1_0_3936, 0,
|
||||
(OOVPA*)&CMcpxVoiceClient_Set3dMode_1_0_3936, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundStream_SetRolloffFactorB (XRef)"
|
||||
"CMcpxVoiceClient::Set3dMode (XRef)"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundStream::SetRolloffFactorA (XREF)
|
||||
// CDirectSoundVoice::SetMode (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundStream_SetRolloffFactorA_1_0_3936, 0,
|
||||
(OOVPA*)&CDirectSoundVoice_SetMode_1_0_3936, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundStream_SetRolloffFactorA (XRef)"
|
||||
"CDirectSoundVoice::SetMode (XRef)"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundStream::SetRolloffFactor
|
||||
// IDirectSoundBuffer8::SetMode
|
||||
{
|
||||
(OOVPA*)&CDirectSoundStream_SetRolloffFactor_1_0_3936,
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetMode_1_0_3936,
|
||||
|
||||
XTL::EmuCDirectSoundStream_SetRolloffFactor,
|
||||
XTL::EmuIDirectSoundBuffer8_SetMode,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuCDirectSoundStream_SetRolloffFactor"
|
||||
"EmuIDirectSoundBuffer8_SetMode"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundStream::SetI3DL2SourceA (XREF)
|
||||
|
@ -4117,6 +4460,7 @@ OOVPATable DSound_1_0_3936[] =
|
|||
"EmuIDirectSoundStream_SetI3DL2Source"
|
||||
#endif
|
||||
},
|
||||
/*
|
||||
// IDirectSoundStream::Unknown1
|
||||
{
|
||||
(OOVPA*)&IDirectSoundStream_Unknown1_1_0_3936,
|
||||
|
@ -4127,6 +4471,7 @@ OOVPATable DSound_1_0_3936[] =
|
|||
"EmuIDirectSoundStream_Unknown1"
|
||||
#endif
|
||||
},
|
||||
//*/
|
||||
// IDirectSoundStream::SetHeadroomA (XREF)
|
||||
{
|
||||
(OOVPA*)&IDirectSoundStream_SetHeadroomA_1_0_3936, 0,
|
||||
|
|
|
@ -1608,37 +1608,6 @@ SOOVPA<9> CDirectSoundBuffer_SetPosition_1_0_4627 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer_SetPosition
|
||||
// ******************************************************************
|
||||
SOOVPA<9> IDirectSoundBuffer_SetPosition_1_0_4627 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer_SetPosition+0x2C : call [CDirectSoundBuffer::SetPosition]
|
||||
{ 0x2D, XREF_DSBUFFERSETPOSITION },
|
||||
|
||||
// IDirectSoundBuffer_SetPosition+0x09 : mov eax, [ebp+arg_0]
|
||||
{ 0x09, 0x8B },
|
||||
{ 0x0A, 0x45 },
|
||||
{ 0x0B, 0x08 },
|
||||
|
||||
// IDirectSoundBuffer_SetPosition+0x28 : fstp [esp+10h+var_10]
|
||||
{ 0x28, 0xD9 },
|
||||
{ 0x29, 0x1C },
|
||||
{ 0x2A, 0x24 },
|
||||
|
||||
// IDirectSoundBuffer_SetPosition+0x32 : retn 14h
|
||||
{ 0x33, 0x14 },
|
||||
{ 0x34, 0x00 }
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoice::SetVelocity
|
||||
// ******************************************************************
|
||||
|
@ -1698,37 +1667,6 @@ SOOVPA<9> CDirectSoundBuffer_SetVelocity_1_0_4627 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer_SetVelocity
|
||||
// ******************************************************************
|
||||
SOOVPA<9> IDirectSoundBuffer_SetVelocity_1_0_4627 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer_SetVelocity+0x2C : call [CDirectSoundBuffer::SetVelocity]
|
||||
{ 0x2D, XREF_DSBUFFERSETVELOCITY },
|
||||
|
||||
// IDirectSoundBuffer_SetVelocity+0x09 : mov eax, [ebp+arg_0]
|
||||
{ 0x09, 0x8B },
|
||||
{ 0x0A, 0x45 },
|
||||
{ 0x0B, 0x08 },
|
||||
|
||||
// IDirectSoundBuffer_SetVelocity+0x28 : fstp [esp+10h+var_10]
|
||||
{ 0x28, 0xD9 },
|
||||
{ 0x29, 0x1C },
|
||||
{ 0x2A, 0x24 },
|
||||
|
||||
// IDirectSoundBuffer_SetVelocity+0x32 : retn 14h
|
||||
{ 0x33, 0x14 },
|
||||
{ 0x34, 0x00 }
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoice::SetDopplerFactor
|
||||
// ******************************************************************
|
||||
|
@ -2822,9 +2760,9 @@ OOVPATable DSound_1_0_4627[] =
|
|||
"CDirectSoundBuffer::SetPosition (XRef)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer_SetPosition
|
||||
// IDirectSoundBuffer8_SetPosition (* unchanged since 3936 *)
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer_SetPosition_1_0_4627,
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_3936,
|
||||
XTL::EmuIDirectSoundBuffer8_SetPosition,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
|
@ -2847,9 +2785,9 @@ OOVPATable DSound_1_0_4627[] =
|
|||
"CDirectSoundBuffer::SetVelocity (XRef)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer_SetVelocity
|
||||
// IDirectSoundBuffer8_SetVelocity (* unchanged since 3936 *)
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer_SetVelocity_1_0_4627,
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_3936,
|
||||
XTL::EmuIDirectSoundBuffer8_SetVelocity,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
|
|
|
@ -288,7 +288,7 @@ SOOVPA<8> CDirectSoundVoice_SetMode_1_0_5233 =
|
|||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
XREF_DSVOICESETMODE, // Xref Is Saved
|
||||
XREF_DSBUFFERSETMODEB, // Xref Is Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
|
@ -311,11 +311,11 @@ SOOVPA<8> CDirectSoundBuffer_SetMode_1_0_5233 =
|
|||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
XREF_DSBUFFERSETMODE, // Xref Is Saved
|
||||
XREF_DSBUFFERSETMODEA, // Xref Is Saved
|
||||
1, // Xref Is Used
|
||||
|
||||
{
|
||||
{ 0x36, XREF_DSVOICESETMODE }, // (Offset,Value)-Pair #1
|
||||
{ 0x36, XREF_DSBUFFERSETMODEB }, // (Offset,Value)-Pair #1
|
||||
|
||||
{ 0x01, 0xE8 }, // (Offset,Value)-Pair #2
|
||||
{ 0x15, 0x0B }, // (Offset,Value)-Pair #3
|
||||
|
@ -339,7 +339,7 @@ SOOVPA<8> IDirectSoundBuffer8_SetMode_1_0_5233 =
|
|||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
{ 0x19, XREF_DSBUFFERSETMODE }, // (Offset,Value)-Pair #1
|
||||
{ 0x19, XREF_DSBUFFERSETMODEA }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSound8_EnableHeadphones+0x0E : add eax, 0xFFFFFFE4
|
||||
{ 0x0E, 0x83 }, // (Offset,Value)-Pair #2
|
||||
|
@ -1177,9 +1177,9 @@ OOVPATable DSound_1_0_5233[] =
|
|||
"CDirectSoundBuffer::SetPosition (XREF)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer_SetPosition (* unchanged since 4627 *)
|
||||
// IDirectSoundBuffer8_SetPosition (* unchanged since 3936 *)
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer_SetPosition_1_0_4627,
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetPosition_1_0_3936,
|
||||
|
||||
XTL::EmuIDirectSoundBuffer8_SetPosition,
|
||||
|
||||
|
@ -1203,9 +1203,9 @@ OOVPATable DSound_1_0_5233[] =
|
|||
"CDirectSoundBuffer::SetVelocity (XREF)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer_SetVelocity (* unchanged since 4627 *)
|
||||
// IDirectSoundBuffer8_SetVelocity (* unchanged since 3936 *)
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer_SetVelocity_1_0_4627,
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetVelocity_1_0_3936,
|
||||
|
||||
XTL::EmuIDirectSoundBuffer8_SetVelocity,
|
||||
|
||||
|
|
|
@ -166,6 +166,69 @@ SOOVPA<10> RtlFreeHeap_1_0_3911 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * RtlReAllocateHeap
|
||||
// ******************************************************************
|
||||
SOOVPA<10> RtlReAllocateHeap_1_0_3911 =
|
||||
{
|
||||
0, // Large == 0
|
||||
10, // Count == 10
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// RtlReAllocateHeap+0x1C : test esi, esi
|
||||
{ 0x1C, 0x85 }, // (Offset,Value)-Pair #1
|
||||
{ 0x1D, 0xF6 }, // (Offset,Value)-Pair #2
|
||||
|
||||
// RtlReAllocateHeap+0x26 : mov edx, [ebp+0x14]
|
||||
{ 0x26, 0x8B }, // (Offset,Value)-Pair #3
|
||||
{ 0x27, 0x55 }, // (Offset,Value)-Pair #4
|
||||
{ 0x28, 0x14 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// RtlReAllocateHeap+0x5E : jz +0x06; add ecx, 0x10
|
||||
{ 0x5E, 0x74 }, // (Offset,Value)-Pair #6
|
||||
{ 0x5F, 0x06 }, // (Offset,Value)-Pair #7
|
||||
{ 0x60, 0x83 }, // (Offset,Value)-Pair #8
|
||||
{ 0x61, 0xC1 }, // (Offset,Value)-Pair #9
|
||||
{ 0x62, 0x10 }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * RtlSizeHeap
|
||||
// ******************************************************************
|
||||
SOOVPA<11> RtlSizeHeap_1_0_3911 =
|
||||
{
|
||||
0, // Large == 0
|
||||
11, // Count == 11
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// RtlSizeHeap+0x04 : mov al, [ecx-0x0B]
|
||||
{ 0x04, 0x8A }, // (Offset,Value)-Pair #1
|
||||
{ 0x05, 0x41 }, // (Offset,Value)-Pair #2
|
||||
{ 0x06, 0xF5 }, // (Offset,Value)-Pair #3
|
||||
|
||||
// RtlSizeHeap+0x07 : test al, 1
|
||||
{ 0x07, 0xA8 }, // (Offset,Value)-Pair #4
|
||||
{ 0x08, 0x01 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// RtlSizeHeap+0x14 : movzx edx, word ptr [ecx-0x10]
|
||||
{ 0x14, 0x0F }, // (Offset,Value)-Pair #6
|
||||
{ 0x15, 0xB7 }, // (Offset,Value)-Pair #7
|
||||
{ 0x16, 0x51 }, // (Offset,Value)-Pair #8
|
||||
{ 0x17, 0xF0 }, // (Offset,Value)-Pair #9
|
||||
|
||||
// RtlSizeHeap+0x2A : sub eax, ecx
|
||||
{ 0x2A, 0x2B }, // (Offset,Value)-Pair #10
|
||||
{ 0x2B, 0xC1 }, // (Offset,Value)-Pair #11
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * XInitDevices
|
||||
// ******************************************************************
|
||||
|
@ -768,6 +831,30 @@ OOVPATable XAPI_1_0_3911[] =
|
|||
"EmuRtlFreeHeap"
|
||||
#endif
|
||||
},
|
||||
//*
|
||||
// RtlReAllocateHeap
|
||||
{
|
||||
(OOVPA*)&RtlReAllocateHeap_1_0_3911,
|
||||
|
||||
XTL::EmuRtlReAllocateHeap,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuRtlReAllocateHeap"
|
||||
#endif
|
||||
},
|
||||
//*/
|
||||
//*
|
||||
// RtlSizeHeap
|
||||
{
|
||||
(OOVPA*)&RtlSizeHeap_1_0_3911,
|
||||
|
||||
XTL::EmuRtlSizeHeap,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuRtlSizeHeap"
|
||||
#endif
|
||||
},
|
||||
//*/
|
||||
// XInitDevices
|
||||
{
|
||||
(OOVPA*)&XInitDevices_1_0_3911,
|
||||
|
|
|
@ -63,69 +63,6 @@ SOOVPA<9> RtlFreeHeap_1_0_4432 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * RtlReAllocateHeap
|
||||
// ******************************************************************
|
||||
SOOVPA<10> RtlReAllocateHeap_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
10, // Count == 10
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// RtlReAllocateHeap+0x1C : test esi, esi
|
||||
{ 0x1C, 0x85 }, // (Offset,Value)-Pair #1
|
||||
{ 0x1D, 0xF6 }, // (Offset,Value)-Pair #2
|
||||
|
||||
// RtlReAllocateHeap+0x26 : mov edx, [ebp+0x14]
|
||||
{ 0x26, 0x8B }, // (Offset,Value)-Pair #3
|
||||
{ 0x27, 0x55 }, // (Offset,Value)-Pair #4
|
||||
{ 0x28, 0x14 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// RtlReAllocateHeap+0x5E : jz +0x06; add ecx, 0x10
|
||||
{ 0x5E, 0x74 }, // (Offset,Value)-Pair #6
|
||||
{ 0x5F, 0x06 }, // (Offset,Value)-Pair #7
|
||||
{ 0x60, 0x83 }, // (Offset,Value)-Pair #8
|
||||
{ 0x61, 0xC1 }, // (Offset,Value)-Pair #9
|
||||
{ 0x62, 0x10 }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * RtlSizeHeap
|
||||
// ******************************************************************
|
||||
SOOVPA<11> RtlSizeHeap_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
11, // Count == 11
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// RtlSizeHeap+0x04 : mov al, [ecx-0x0B]
|
||||
{ 0x04, 0x8A }, // (Offset,Value)-Pair #1
|
||||
{ 0x05, 0x41 }, // (Offset,Value)-Pair #2
|
||||
{ 0x06, 0xF5 }, // (Offset,Value)-Pair #3
|
||||
|
||||
// RtlSizeHeap+0x07 : test al, 1
|
||||
{ 0x07, 0xA8 }, // (Offset,Value)-Pair #4
|
||||
{ 0x08, 0x01 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// RtlSizeHeap+0x14 : movzx edx, word ptr [ecx-0x10]
|
||||
{ 0x14, 0x0F }, // (Offset,Value)-Pair #6
|
||||
{ 0x15, 0xB7 }, // (Offset,Value)-Pair #7
|
||||
{ 0x16, 0x51 }, // (Offset,Value)-Pair #8
|
||||
{ 0x17, 0xF0 }, // (Offset,Value)-Pair #9
|
||||
|
||||
// RtlSizeHeap+0x2A : sub eax, ecx
|
||||
{ 0x2A, 0x2B }, // (Offset,Value)-Pair #10
|
||||
{ 0x2B, 0xC1 }, // (Offset,Value)-Pair #11
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * XMountUtilityDrive
|
||||
// ******************************************************************
|
||||
|
@ -191,9 +128,9 @@ OOVPATable XAPI_1_0_4432[] =
|
|||
"EmuRtlFreeHeap"
|
||||
#endif
|
||||
},
|
||||
// RtlReAllocateHeap
|
||||
// RtlReAllocateHeap (* unchanged since 1.0.3911 *)
|
||||
{
|
||||
(OOVPA*)&RtlReAllocateHeap_1_0_4432,
|
||||
(OOVPA*)&RtlReAllocateHeap_1_0_3911,
|
||||
|
||||
XTL::EmuRtlReAllocateHeap,
|
||||
|
||||
|
@ -201,9 +138,9 @@ OOVPATable XAPI_1_0_4432[] =
|
|||
"EmuRtlReAllocateHeap"
|
||||
#endif
|
||||
},
|
||||
// RtlSizeHeap
|
||||
// RtlSizeHeap (* unchanged since 1.0.3911 *)
|
||||
{
|
||||
(OOVPA*)&RtlSizeHeap_1_0_4432,
|
||||
(OOVPA*)&RtlSizeHeap_1_0_3911,
|
||||
|
||||
XTL::EmuRtlSizeHeap,
|
||||
|
||||
|
|
|
@ -487,9 +487,9 @@ OOVPATable XAPI_1_0_4627[] =
|
|||
"EmuRtlReAllocateHeap"
|
||||
#endif
|
||||
},
|
||||
// RtlSizeHeap (* unchanged since 4432 *)
|
||||
// RtlSizeHeap (* unchanged since 3911 *)
|
||||
{
|
||||
(OOVPA*)&RtlSizeHeap_1_0_4432,
|
||||
(OOVPA*)&RtlSizeHeap_1_0_3911,
|
||||
|
||||
XTL::EmuRtlSizeHeap,
|
||||
|
||||
|
|
|
@ -280,9 +280,9 @@ OOVPATable XAPI_1_0_5233[] =
|
|||
"EmuRtlReAllocateHeap"
|
||||
#endif
|
||||
},
|
||||
// RtlSizeHeap (* unchanged since 4432 *)
|
||||
// RtlSizeHeap (* unchanged since 3911 *)
|
||||
{
|
||||
(OOVPA*)&RtlSizeHeap_1_0_4432,
|
||||
(OOVPA*)&RtlSizeHeap_1_0_3911,
|
||||
|
||||
XTL::EmuRtlSizeHeap,
|
||||
|
||||
|
|
|
@ -221,6 +221,15 @@ void EmuHLEIntercept(Xbe::LibraryVersion *pLibraryVersion, Xbe::Header *pXbeHead
|
|||
szLibraryName[c] = pLibraryVersion[v].szName[c];
|
||||
}
|
||||
|
||||
// Several 3911 titles has different DSound builds.
|
||||
if(strcmp(szLibraryName, "DSOUND") == 0)
|
||||
{
|
||||
if(BuildVersion < 4034)
|
||||
{
|
||||
BuildVersion = 3936;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: HACK: These libraries are packed into one database
|
||||
if(strcmp(szLibraryName, "D3DX8") == 0)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue