progressing antz
This commit is contained in:
parent
7f1799f6a0
commit
a33719afa4
|
@ -1138,6 +1138,18 @@ VOID WINAPI EmuIDirect3DDevice8_DrawIndexedVertices
|
|||
CONST PWORD pIndexData
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_DrawIndexedVerticesUP
|
||||
// ******************************************************************
|
||||
VOID WINAPI EmuIDirect3DDevice8_DrawIndexedVerticesUP
|
||||
(
|
||||
X_D3DPRIMITIVETYPE PrimitiveType,
|
||||
UINT VertexCount,
|
||||
CONST PVOID pIndexData,
|
||||
CONST PVOID pVertexStreamZeroData,
|
||||
UINT VertexStreamZeroStride
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetLight
|
||||
// ******************************************************************
|
||||
|
|
|
@ -4840,7 +4840,7 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_UpdateOverlay
|
|||
int h = g_dwOverlayH;
|
||||
|
||||
// TODO: sucker the game into rendering directly to the overlay (speed boost)
|
||||
if(ddsd2.lPitch == w*2 && g_dwOverlayP == w*2)
|
||||
if( (ddsd2.lPitch == w*2) && ((int)g_dwOverlayP == w*2) )
|
||||
memcpy(pDest, pSour, h*w*2);
|
||||
else
|
||||
{
|
||||
|
@ -6587,6 +6587,75 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_DrawIndexedVertices
|
|||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_DrawIndexedVerticesUP
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP
|
||||
(
|
||||
X_D3DPRIMITIVETYPE PrimitiveType,
|
||||
UINT VertexCount,
|
||||
CONST PVOID pIndexData,
|
||||
CONST PVOID pVertexStreamZeroData,
|
||||
UINT VertexStreamZeroStride
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
// debug trace
|
||||
#ifdef _DEBUG_TRACE
|
||||
{
|
||||
printf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_DrawIndexedVerticesUP\n"
|
||||
"(\n"
|
||||
" PrimitiveType : 0x%.08X\n"
|
||||
" VertexCount : 0x%.08X\n"
|
||||
" pIndexData : 0x%.08X\n"
|
||||
" pVertexStreamZeroData : 0x%.08X\n"
|
||||
" VertexStreamZeroStride : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), PrimitiveType, VertexCount, pIndexData, pVertexStreamZeroData, VertexStreamZeroStride);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// update index buffer, if necessary
|
||||
if(g_pIndexBuffer != 0 && g_pIndexBuffer->Lock == X_D3DRESOURCE_LOCK_FLAG_NOSIZE)
|
||||
EmuCleanup("g_pIndexBuffer != 0");
|
||||
|
||||
EmuUpdateDeferredStates();
|
||||
|
||||
if((DWORD)PrimitiveType == 0x08 || (DWORD)PrimitiveType == 0x09 || (DWORD)PrimitiveType == 0x10)
|
||||
EmuWarning("Unsupported PrimitiveType! (%d)", (DWORD)PrimitiveType);
|
||||
|
||||
UINT PrimitiveCount = EmuD3DVertex2PrimitiveCount(PrimitiveType, VertexCount);
|
||||
|
||||
// Convert from Xbox to PC enumeration
|
||||
D3DPRIMITIVETYPE PCPrimitiveType = EmuPrimitiveType(PrimitiveType);
|
||||
|
||||
IDirect3DVertexBuffer8 *pOrigVertexBuffer8 = 0;
|
||||
IDirect3DVertexBuffer8 *pHackVertexBuffer8 = 0;
|
||||
|
||||
PVOID pNewVertexStreamZeroData = pVertexStreamZeroData;
|
||||
|
||||
uint32 nStride = EmuFixupVerticesA(PrimitiveType, PrimitiveCount, pOrigVertexBuffer8, pHackVertexBuffer8, 0, pVertexStreamZeroData, VertexStreamZeroStride, &pNewVertexStreamZeroData);
|
||||
|
||||
g_pD3DDevice8->DrawIndexedPrimitiveUP
|
||||
(
|
||||
PCPrimitiveType, 0, VertexCount, PrimitiveCount, pIndexData, D3DFMT_INDEX16, pNewVertexStreamZeroData, VertexStreamZeroStride
|
||||
);
|
||||
|
||||
if(nStride != -1)
|
||||
{
|
||||
EmuFixupVerticesB(nStride, pOrigVertexBuffer8, pHackVertexBuffer8);
|
||||
|
||||
if(pNewVertexStreamZeroData != 0)
|
||||
free(pNewVertexStreamZeroData);
|
||||
}
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetLight
|
||||
// ******************************************************************
|
||||
|
|
|
@ -145,7 +145,7 @@ static void HackUpdateSoundStreams()
|
|||
// resize an emulated directsound buffer, if necessary
|
||||
static void EmuResizeIDirectSoundBuffer8(XTL::X_CDirectSoundBuffer *pThis, DWORD dwBytes)
|
||||
{
|
||||
if(dwBytes == pThis->EmuBufferDesc->dwBufferBytes)
|
||||
if(dwBytes == pThis->EmuBufferDesc->dwBufferBytes || dwBytes == 0)
|
||||
return;
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
|
|
|
@ -1060,6 +1060,70 @@ SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_4432 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetVerticalBlankCallback
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_SetVerticalBlankCallback_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12, // Count == 12
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetVerticalBlankCallback+0x00 : mov eax, [esp+0x04]
|
||||
{ 0x00, 0x8B }, // (Offset,Value)-Pair #1
|
||||
{ 0x01, 0x44 }, // (Offset,Value)-Pair #2
|
||||
{ 0x02, 0x24 }, // (Offset,Value)-Pair #3
|
||||
{ 0x03, 0x04 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirect3DDevice8_SetVerticalBlankCallback+0x04 : mov ecx, [addr]
|
||||
{ 0x04, 0x8B }, // (Offset,Value)-Pair #5
|
||||
{ 0x05, 0x0D }, // (Offset,Value)-Pair #6
|
||||
|
||||
// IDirect3DDevice8_SetVerticalBlankCallback+0x0A : mov [ecx+0x2444], eax
|
||||
{ 0x0A, 0x89 }, // (Offset,Value)-Pair #7
|
||||
{ 0x0B, 0x81 }, // (Offset,Value)-Pair #8
|
||||
{ 0x0C, 0x44 }, // (Offset,Value)-Pair #9
|
||||
{ 0x0D, 0x24 }, // (Offset,Value)-Pair #10
|
||||
|
||||
// IDirect3DDevice8_SetVerticalBlankCallback+0x10 : retn 0x04
|
||||
{ 0x10, 0xC2 }, // (Offset,Value)-Pair #11
|
||||
{ 0x11, 0x04 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_DrawIndexedVerticesUP
|
||||
// ******************************************************************
|
||||
SOOVPA<10> IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
10, // Count == 10
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_DrawIndexedVerticesUP+0x4A : or edx, 0x800
|
||||
{ 0x4A, 0x81 }, // (Offset,Value)-Pair #1
|
||||
{ 0x4B, 0xCA }, // (Offset,Value)-Pair #2
|
||||
{ 0x4C, 0x00 }, // (Offset,Value)-Pair #3
|
||||
{ 0x4D, 0x08 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirect3DDevice8_DrawIndexedVerticesUP+0x5C : lea edx, [edi+0x6C4]
|
||||
{ 0x5C, 0x8D }, // (Offset,Value)-Pair #5
|
||||
{ 0x5D, 0x97 }, // (Offset,Value)-Pair #6
|
||||
{ 0x5E, 0xC4 }, // (Offset,Value)-Pair #7
|
||||
{ 0x5F, 0x06 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirect3DDevice8_DrawIndexedVerticesUP+0x6A : mov eax, 0x10
|
||||
{ 0x6A, 0xB8 }, // (Offset,Value)-Pair #9
|
||||
{ 0x6B, 0x10 }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DTexture8_GetSurfaceLevel
|
||||
// ******************************************************************
|
||||
|
@ -1677,6 +1741,26 @@ OOVPATable D3D8_1_0_4432[] =
|
|||
"EmuIDirect3DDevice8_BlockUntilVerticalBlank"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetVerticalBlankCallback
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetVerticalBlankCallback_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetVerticalBlankCallback,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetVerticalBlankCallback"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::DrawIndexedVerticesUP
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_DrawIndexedVerticesUP_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_DrawIndexedVerticesUP,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_DrawIndexedVerticesUP"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *)
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_4361,
|
||||
|
|
|
@ -321,6 +321,158 @@ SOOVPA<12> IDirectSound8_SetI3DL2Listener_1_0_4432 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoiceSettings::SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<10> CDirectSoundVoiceSettings_SetMixBins_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
10, // Count == 10
|
||||
|
||||
XREF_DSSETMIXBINSC, // XRef Is Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x1A
|
||||
{ 0x06, 0x75 }, // (Offset,Value)-Pair #1
|
||||
{ 0x07, 0x1A }, // (Offset,Value)-Pair #2
|
||||
|
||||
// CDirectSoundVoiceSettings_SetMixBins+0x08 : test byte ptr [ecx+8], 0x10
|
||||
{ 0x08, 0xF6 }, // (Offset,Value)-Pair #3
|
||||
{ 0x09, 0x41 }, // (Offset,Value)-Pair #4
|
||||
{ 0x0A, 0x08 }, // (Offset,Value)-Pair #5
|
||||
{ 0x0B, 0x10 }, // (Offset,Value)-Pair #6
|
||||
|
||||
// CDirectSoundVoiceSettings_SetMixBins+0x2B : jbe +0x2B
|
||||
{ 0x2B, 0x76 }, // (Offset,Value)-Pair #7
|
||||
{ 0x2C, 0x2B }, // (Offset,Value)-Pair #8
|
||||
|
||||
// CDirectSoundVoiceSettings_SetMixBins+0xB2 : retn 0x04
|
||||
{ 0xB2, 0xC2 }, // (Offset,Value)-Pair #9
|
||||
{ 0xB3, 0x04 }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoice::SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<17> CDirectSoundVoice_SetMixBins_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
17, // Count == 17
|
||||
|
||||
XREF_DSSETMIXBINSB, // XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// CDirectSoundVoice_SetMixBins+0x0D : call [CDirectSoundVoiceSettings::SetMixBins]
|
||||
{ 0x0D, XREF_DSSETMIXBINSC }, // (Offset,Value)-Pair #1
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x01 : mov esi, [esp+8]
|
||||
{ 0x01, 0x8B }, // (Offset,Value)-Pair #2
|
||||
{ 0x02, 0x74 }, // (Offset,Value)-Pair #3
|
||||
{ 0x03, 0x24 }, // (Offset,Value)-Pair #4
|
||||
{ 0x04, 0x08 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x05 : push [esp+0x0C]
|
||||
{ 0x05, 0xFF }, // (Offset,Value)-Pair #6
|
||||
{ 0x06, 0x74 }, // (Offset,Value)-Pair #7
|
||||
{ 0x07, 0x24 }, // (Offset,Value)-Pair #8
|
||||
{ 0x08, 0x0C }, // (Offset,Value)-Pair #9
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x09 : mov ecx, [esi+0x10]
|
||||
{ 0x09, 0x8B }, // (Offset,Value)-Pair #10
|
||||
{ 0x0A, 0x4E }, // (Offset,Value)-Pair #11
|
||||
{ 0x0B, 0x10 }, // (Offset,Value)-Pair #12
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x0C]
|
||||
{ 0x11, 0x8B }, // (Offset,Value)-Pair #13
|
||||
{ 0x12, 0x4E }, // (Offset,Value)-Pair #14
|
||||
{ 0x13, 0x0C }, // (Offset,Value)-Pair #15
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x1A : retn 0x08
|
||||
{ 0x1A, 0xC2 }, // (Offset,Value)-Pair #16
|
||||
{ 0x1B, 0x08 }, // (Offset,Value)-Pair #17
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundBuffer::SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<17> CDirectSoundBuffer_SetMixBins_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
17, // Count == 17
|
||||
|
||||
XREF_DSSETMIXBINSA, // XRef Is Saved
|
||||
1, // XRef Not Used
|
||||
|
||||
{
|
||||
// CDirectSoundBuffer_SetMixBins+0x32 : call [CDirectSoundVoice::SetMixBins]
|
||||
{ 0x32, XREF_DSSETMIXBINSB }, // (Offset,Value)-Pair #1
|
||||
|
||||
// CDirectSoundBuffer_SetMixBins+0x21 : mov eax, 0x80004005
|
||||
{ 0x21, 0xB8 }, // (Offset,Value)-Pair #2
|
||||
{ 0x22, 0x05 }, // (Offset,Value)-Pair #3
|
||||
{ 0x23, 0x40 }, // (Offset,Value)-Pair #4
|
||||
{ 0x24, 0x00 }, // (Offset,Value)-Pair #5
|
||||
{ 0x25, 0x80 }, // (Offset,Value)-Pair #6
|
||||
|
||||
// CDirectSoundBuffer_SetMixBins+0x29 : push [esp+0x10]; push [esp+0x10]
|
||||
{ 0x29, 0xFF }, // (Offset,Value)-Pair #7
|
||||
{ 0x2A, 0x74 }, // (Offset,Value)-Pair #8
|
||||
{ 0x2B, 0x24 }, // (Offset,Value)-Pair #9
|
||||
{ 0x2C, 0x10 }, // (Offset,Value)-Pair #10
|
||||
{ 0x2D, 0xFF }, // (Offset,Value)-Pair #11
|
||||
{ 0x2E, 0x74 }, // (Offset,Value)-Pair #12
|
||||
{ 0x2F, 0x24 }, // (Offset,Value)-Pair #13
|
||||
{ 0x30, 0x10 }, // (Offset,Value)-Pair #14
|
||||
|
||||
// CDirectSoundBuffer_SetMixBins+0x49 : pop edi
|
||||
{ 0x49, 0x5F }, // (Offset,Value)-Pair #15
|
||||
|
||||
// CDirectSoundBuffer_SetMixBins+0x4B : retn 0x08
|
||||
{ 0x4B, 0xC2 }, // (Offset,Value)-Pair #16
|
||||
{ 0x4C, 0x08 }, // (Offset,Value)-Pair #17
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer8_SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirectSoundBuffer8_SetMixBins_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12, // Count == 12
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer8_SetMixBins+0x15 : call [CDirectSoundBuffer::SetMixBins]
|
||||
{ 0x15, XREF_DSSETMIXBINSA }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSoundBuffer8_SetMixBins+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_SetMixBins+0x0A : add eax, 0xFFFFFFE4
|
||||
{ 0x0A, 0x83 }, // (Offset,Value)-Pair #6
|
||||
{ 0x0B, 0xC0 }, // (Offset,Value)-Pair #7
|
||||
{ 0x0C, 0xE4 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirectSoundBuffer8_SetMixBins+0x0F : sbb ecx, ecx
|
||||
{ 0x0F, 0x1B }, // (Offset,Value)-Pair #9
|
||||
{ 0x10, 0xC9 }, // (Offset,Value)-Pair #10
|
||||
|
||||
// IDirectSoundBuffer8_SetMixBins+0x11 : and ecx, eax
|
||||
{ 0x11, 0x23 }, // (Offset,Value)-Pair #11
|
||||
{ 0x12, 0xC8 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSound::CommitDeferredSettings
|
||||
// ******************************************************************
|
||||
|
@ -563,6 +715,32 @@ OOVPATable DSound_1_0_4432[] =
|
|||
"IDirectSoundBuffer8_SetCurrentPosition"
|
||||
#endif
|
||||
},
|
||||
// CMcpxBuffer::Stop (* unchanged since 4361 *)
|
||||
{
|
||||
(OOVPA*)&CMcpxBuffer_Stop_1_0_4361, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CMcpxBuffer_Stop (XREF)"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundBuffer::Stop (* unchanged since 4361 *)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundBuffer_Stop_1_0_4361, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundBuffer_Stop (XREF)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8::Stop (* unchanged since 4361 *)
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer8_Stop_1_0_4361,
|
||||
|
||||
XTL::EmuIDirectSoundBuffer8_Stop,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"IDirectSoundBuffer8_Stop"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundVoice::SetMaxDistance (XREF)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_4432, 0,
|
||||
|
@ -631,6 +809,40 @@ OOVPATable DSound_1_0_4432[] =
|
|||
"EmuIDirectSound8_SetI3DL2Listener"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundVoiceSettings_SetMixBins
|
||||
{
|
||||
(OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_4432, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundVoiceSettings::SetMixBins (XREF)"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundVoice_SetMixBins
|
||||
{
|
||||
(OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_4432, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundVoice::SetMixBins (XREF)"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundBuffer_SetMixBins
|
||||
{
|
||||
(OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_4432, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundBuffer::SetMixBins (XREF)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8_SetMixBins
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4432,
|
||||
|
||||
XTL::EmuIDirectSoundBuffer8_SetMixBins,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirectSoundBuffer8_SetMixBins"
|
||||
#endif
|
||||
},
|
||||
// CDirectSound::CommitDeferredSettings
|
||||
{
|
||||
(OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_4432,
|
||||
|
|
|
@ -179,158 +179,6 @@ SOOVPA<15> CDirectSound_SetVelocity_1_0_4627 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoiceSettings::SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<10> CDirectSoundVoiceSettings_SetMixBins_1_0_4627 =
|
||||
{
|
||||
0, // Large == 0
|
||||
10, // Count == 10
|
||||
|
||||
XREF_DSSETMIXBINSC, // XRef Is Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// CDirectSoundVoiceSettings_SetMixBins+0x06 : jnz +0x1A
|
||||
{ 0x06, 0x75 }, // (Offset,Value)-Pair #1
|
||||
{ 0x07, 0x1A }, // (Offset,Value)-Pair #2
|
||||
|
||||
// CDirectSoundVoiceSettings_SetMixBins+0x08 : test byte ptr [ecx+8], 0x10
|
||||
{ 0x08, 0xF6 }, // (Offset,Value)-Pair #3
|
||||
{ 0x09, 0x41 }, // (Offset,Value)-Pair #4
|
||||
{ 0x0A, 0x08 }, // (Offset,Value)-Pair #5
|
||||
{ 0x0B, 0x10 }, // (Offset,Value)-Pair #6
|
||||
|
||||
// CDirectSoundVoiceSettings_SetMixBins+0x2B : jbe +0x2B
|
||||
{ 0x2B, 0x76 }, // (Offset,Value)-Pair #7
|
||||
{ 0x2C, 0x2B }, // (Offset,Value)-Pair #8
|
||||
|
||||
// CDirectSoundVoiceSettings_SetMixBins+0xB2 : retn 0x04
|
||||
{ 0xB2, 0xC2 }, // (Offset,Value)-Pair #9
|
||||
{ 0xB3, 0x04 }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoice::SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<17> CDirectSoundVoice_SetMixBins_1_0_4627 =
|
||||
{
|
||||
0, // Large == 0
|
||||
17, // Count == 17
|
||||
|
||||
XREF_DSSETMIXBINSB, // XRef Is Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// CDirectSoundVoice_SetMixBins+0x0D : call [CDirectSoundVoiceSettings::SetMixBins]
|
||||
{ 0x0D, XREF_DSSETMIXBINSC }, // (Offset,Value)-Pair #1
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x01 : mov esi, [esp+8]
|
||||
{ 0x01, 0x8B }, // (Offset,Value)-Pair #2
|
||||
{ 0x02, 0x74 }, // (Offset,Value)-Pair #3
|
||||
{ 0x03, 0x24 }, // (Offset,Value)-Pair #4
|
||||
{ 0x04, 0x08 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x05 : push [esp+0x0C]
|
||||
{ 0x05, 0xFF }, // (Offset,Value)-Pair #6
|
||||
{ 0x06, 0x74 }, // (Offset,Value)-Pair #7
|
||||
{ 0x07, 0x24 }, // (Offset,Value)-Pair #8
|
||||
{ 0x08, 0x0C }, // (Offset,Value)-Pair #9
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x09 : mov ecx, [esi+0x10]
|
||||
{ 0x09, 0x8B }, // (Offset,Value)-Pair #10
|
||||
{ 0x0A, 0x4E }, // (Offset,Value)-Pair #11
|
||||
{ 0x0B, 0x10 }, // (Offset,Value)-Pair #12
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x11 : mov ecx, [esi+0x0C]
|
||||
{ 0x11, 0x8B }, // (Offset,Value)-Pair #13
|
||||
{ 0x12, 0x4E }, // (Offset,Value)-Pair #14
|
||||
{ 0x13, 0x0C }, // (Offset,Value)-Pair #15
|
||||
|
||||
// CDirectSoundVoice_SetMixBins+0x1A : retn 0x08
|
||||
{ 0x1A, 0xC2 }, // (Offset,Value)-Pair #16
|
||||
{ 0x1B, 0x08 }, // (Offset,Value)-Pair #17
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundBuffer::SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<17> CDirectSoundBuffer_SetMixBins_1_0_4627 =
|
||||
{
|
||||
0, // Large == 0
|
||||
17, // Count == 17
|
||||
|
||||
XREF_DSSETMIXBINSA, // XRef Is Saved
|
||||
1, // XRef Not Used
|
||||
|
||||
{
|
||||
// CDirectSoundBuffer_SetMixBins+0x32 : call [CDirectSoundVoice::SetMixBins]
|
||||
{ 0x32, XREF_DSSETMIXBINSB }, // (Offset,Value)-Pair #1
|
||||
|
||||
// CDirectSoundBuffer_SetMixBins+0x21 : mov eax, 0x80004005
|
||||
{ 0x21, 0xB8 }, // (Offset,Value)-Pair #2
|
||||
{ 0x22, 0x05 }, // (Offset,Value)-Pair #3
|
||||
{ 0x23, 0x40 }, // (Offset,Value)-Pair #4
|
||||
{ 0x24, 0x00 }, // (Offset,Value)-Pair #5
|
||||
{ 0x25, 0x80 }, // (Offset,Value)-Pair #6
|
||||
|
||||
// CDirectSoundBuffer_SetMixBins+0x29 : push [esp+0x10]; push [esp+0x10]
|
||||
{ 0x29, 0xFF }, // (Offset,Value)-Pair #7
|
||||
{ 0x2A, 0x74 }, // (Offset,Value)-Pair #8
|
||||
{ 0x2B, 0x24 }, // (Offset,Value)-Pair #9
|
||||
{ 0x2C, 0x10 }, // (Offset,Value)-Pair #10
|
||||
{ 0x2D, 0xFF }, // (Offset,Value)-Pair #11
|
||||
{ 0x2E, 0x74 }, // (Offset,Value)-Pair #12
|
||||
{ 0x2F, 0x24 }, // (Offset,Value)-Pair #13
|
||||
{ 0x30, 0x10 }, // (Offset,Value)-Pair #14
|
||||
|
||||
// CDirectSoundBuffer_SetMixBins+0x49 : pop edi
|
||||
{ 0x49, 0x5F }, // (Offset,Value)-Pair #15
|
||||
|
||||
// CDirectSoundBuffer_SetMixBins+0x4B : retn 0x08
|
||||
{ 0x4B, 0xC2 }, // (Offset,Value)-Pair #16
|
||||
{ 0x4C, 0x08 }, // (Offset,Value)-Pair #17
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirectSoundBuffer8_SetMixBins
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirectSoundBuffer8_SetMixBins_1_0_4627 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12, // Count == 12
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirectSoundBuffer8_SetMixBins+0x15 : call [CDirectSoundBuffer::SetMixBins]
|
||||
{ 0x15, XREF_DSSETMIXBINSA }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirectSoundBuffer8_SetMixBins+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_SetMixBins+0x0A : add eax, 0xFFFFFFE4
|
||||
{ 0x0A, 0x83 }, // (Offset,Value)-Pair #6
|
||||
{ 0x0B, 0xC0 }, // (Offset,Value)-Pair #7
|
||||
{ 0x0C, 0xE4 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirectSoundBuffer8_SetMixBins+0x0F : sbb ecx, ecx
|
||||
{ 0x0F, 0x1B }, // (Offset,Value)-Pair #9
|
||||
{ 0x10, 0xC9 }, // (Offset,Value)-Pair #10
|
||||
|
||||
// IDirectSoundBuffer8_SetMixBins+0x11 : and ecx, eax
|
||||
{ 0x11, 0x23 }, // (Offset,Value)-Pair #11
|
||||
{ 0x12, 0xC8 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * CDirectSoundVoiceSettings::SetMixBinVolumes
|
||||
// ******************************************************************
|
||||
|
@ -2024,33 +1872,33 @@ OOVPATable DSound_1_0_4627[] =
|
|||
"EmuIDirectSound8_SetVelocity"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundVoiceSettings_SetMixBins
|
||||
// CDirectSoundVoiceSettings_SetMixBins (* unchanged since 4432 *)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_4627, 0,
|
||||
(OOVPA*)&CDirectSoundVoiceSettings_SetMixBins_1_0_4432, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundVoiceSettings::SetMixBins (XREF)"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundVoice_SetMixBins
|
||||
// CDirectSoundVoice_SetMixBins (* unchanged since 4432 *)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_4627, 0,
|
||||
(OOVPA*)&CDirectSoundVoice_SetMixBins_1_0_4432, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundVoice::SetMixBins (XREF)"
|
||||
#endif
|
||||
},
|
||||
// CDirectSoundBuffer_SetMixBins
|
||||
// CDirectSoundBuffer_SetMixBins (* unchanged since 4432 *)
|
||||
{
|
||||
(OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_4627, 0,
|
||||
(OOVPA*)&CDirectSoundBuffer_SetMixBins_1_0_4432, 0,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"CDirectSoundBuffer::SetMixBins (XREF)"
|
||||
#endif
|
||||
},
|
||||
// IDirectSoundBuffer8_SetMixBins
|
||||
// IDirectSoundBuffer8_SetMixBins (* unchanged since 4432 *)
|
||||
{
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4627,
|
||||
(OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4432,
|
||||
|
||||
XTL::EmuIDirectSoundBuffer8_SetMixBins,
|
||||
|
||||
|
|
Loading…
Reference in New Issue