progressing antz
This commit is contained in:
parent
7f1799f6a0
commit
a33719afa4
|
@ -1138,6 +1138,18 @@ VOID WINAPI EmuIDirect3DDevice8_DrawIndexedVertices
|
||||||
CONST PWORD pIndexData
|
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
|
// * func: EmuIDirect3DDevice8_SetLight
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
|
|
@ -4840,7 +4840,7 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_UpdateOverlay
|
||||||
int h = g_dwOverlayH;
|
int h = g_dwOverlayH;
|
||||||
|
|
||||||
// TODO: sucker the game into rendering directly to the overlay (speed boost)
|
// 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);
|
memcpy(pDest, pSour, h*w*2);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -6587,6 +6587,75 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_DrawIndexedVertices
|
||||||
return;
|
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
|
// * func: EmuIDirect3DDevice8_SetLight
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
|
|
@ -145,7 +145,7 @@ static void HackUpdateSoundStreams()
|
||||||
// resize an emulated directsound buffer, if necessary
|
// resize an emulated directsound buffer, if necessary
|
||||||
static void EmuResizeIDirectSoundBuffer8(XTL::X_CDirectSoundBuffer *pThis, DWORD dwBytes)
|
static void EmuResizeIDirectSoundBuffer8(XTL::X_CDirectSoundBuffer *pThis, DWORD dwBytes)
|
||||||
{
|
{
|
||||||
if(dwBytes == pThis->EmuBufferDesc->dwBufferBytes)
|
if(dwBytes == pThis->EmuBufferDesc->dwBufferBytes || dwBytes == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#ifdef _DEBUG_TRACE
|
#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
|
// * IDirect3DTexture8_GetSurfaceLevel
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
@ -1677,6 +1741,26 @@ OOVPATable D3D8_1_0_4432[] =
|
||||||
"EmuIDirect3DDevice8_BlockUntilVerticalBlank"
|
"EmuIDirect3DDevice8_BlockUntilVerticalBlank"
|
||||||
#endif
|
#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 *)
|
// IDirect3DDevice8::SetStreamSource (* unchanged since 4361 *)
|
||||||
{
|
{
|
||||||
(OOVPA*)&IDirect3DDevice8_SetStreamSource_1_0_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
|
// * CDirectSound::CommitDeferredSettings
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
@ -563,6 +715,32 @@ OOVPATable DSound_1_0_4432[] =
|
||||||
"IDirectSoundBuffer8_SetCurrentPosition"
|
"IDirectSoundBuffer8_SetCurrentPosition"
|
||||||
#endif
|
#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)
|
// CDirectSoundVoice::SetMaxDistance (XREF)
|
||||||
{
|
{
|
||||||
(OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_4432, 0,
|
(OOVPA*)&CDirectSoundVoice_SetMaxDistance_1_0_4432, 0,
|
||||||
|
@ -631,6 +809,40 @@ OOVPATable DSound_1_0_4432[] =
|
||||||
"EmuIDirectSound8_SetI3DL2Listener"
|
"EmuIDirectSound8_SetI3DL2Listener"
|
||||||
#endif
|
#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
|
// CDirectSound::CommitDeferredSettings
|
||||||
{
|
{
|
||||||
(OOVPA*)&CDirectSound_CommitDeferredSettings_1_0_4432,
|
(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
|
// * CDirectSoundVoiceSettings::SetMixBinVolumes
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
@ -2024,33 +1872,33 @@ OOVPATable DSound_1_0_4627[] =
|
||||||
"EmuIDirectSound8_SetVelocity"
|
"EmuIDirectSound8_SetVelocity"
|
||||||
#endif
|
#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
|
#ifdef _DEBUG_TRACE
|
||||||
"CDirectSoundVoiceSettings::SetMixBins (XREF)"
|
"CDirectSoundVoiceSettings::SetMixBins (XREF)"
|
||||||
#endif
|
#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
|
#ifdef _DEBUG_TRACE
|
||||||
"CDirectSoundVoice::SetMixBins (XREF)"
|
"CDirectSoundVoice::SetMixBins (XREF)"
|
||||||
#endif
|
#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
|
#ifdef _DEBUG_TRACE
|
||||||
"CDirectSoundBuffer::SetMixBins (XREF)"
|
"CDirectSoundBuffer::SetMixBins (XREF)"
|
||||||
#endif
|
#endif
|
||||||
},
|
},
|
||||||
// IDirectSoundBuffer8_SetMixBins
|
// IDirectSoundBuffer8_SetMixBins (* unchanged since 4432 *)
|
||||||
{
|
{
|
||||||
(OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4627,
|
(OOVPA*)&IDirectSoundBuffer8_SetMixBins_1_0_4432,
|
||||||
|
|
||||||
XTL::EmuIDirectSoundBuffer8_SetMixBins,
|
XTL::EmuIDirectSoundBuffer8_SetMixBins,
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue