4432+etc
This commit is contained in:
parent
0a40fb6414
commit
a8759a27b7
|
@ -62,9 +62,9 @@ typedef signed long sint32;
|
|||
|
||||
// version information
|
||||
#ifndef _DEBUG_TRACE
|
||||
#define _CXBX_VERSION "0.7.9-Pre7"
|
||||
#define _CXBX_VERSION "0.8.0-Pre1"
|
||||
#else
|
||||
#define _CXBX_VERSION "0.7.9-Pre7-Trace"
|
||||
#define _CXBX_VERSION "0.8.0-Pre1-Trace"
|
||||
#endif
|
||||
|
||||
// round dwValue to the nearest multiple of dwMult
|
||||
|
|
|
@ -784,6 +784,22 @@ VOID WINAPI EmuIDirect3DDevice8_SetTextureState_BumpEnv
|
|||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_FrontFace
|
||||
// ******************************************************************
|
||||
VOID WINAPI EmuIDirect3DDevice8_SetRenderState_FrontFace
|
||||
(
|
||||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_LogicOp
|
||||
// ******************************************************************
|
||||
VOID WINAPI EmuIDirect3DDevice8_SetRenderState_LogicOp
|
||||
(
|
||||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_NormalizeNormals
|
||||
// ******************************************************************
|
||||
|
@ -873,6 +889,14 @@ VOID WINAPI EmuIDirect3DDevice8_SetRenderState_CullMode
|
|||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_LineWidth
|
||||
// ******************************************************************
|
||||
VOID WINAPI EmuIDirect3DDevice8_SetRenderState_LineWidth
|
||||
(
|
||||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_StencilFail
|
||||
// ******************************************************************
|
||||
|
@ -881,6 +905,22 @@ VOID WINAPI EmuIDirect3DDevice8_SetRenderState_StencilFail
|
|||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable
|
||||
// ******************************************************************
|
||||
VOID WINAPI EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable
|
||||
(
|
||||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_StencilCullEnable
|
||||
// ******************************************************************
|
||||
VOID WINAPI EmuIDirect3DDevice8_SetRenderState_StencilCullEnable
|
||||
(
|
||||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_ZEnable
|
||||
// ******************************************************************
|
||||
|
@ -897,6 +937,30 @@ VOID WINAPI EmuIDirect3DDevice8_SetRenderState_StencilEnable
|
|||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_MultiSampleMask
|
||||
// ******************************************************************
|
||||
VOID WINAPI EmuIDirect3DDevice8_SetRenderState_MultiSampleMask
|
||||
(
|
||||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_MultiSampleMode
|
||||
// ******************************************************************
|
||||
VOID WINAPI EmuIDirect3DDevice8_SetRenderState_MultiSampleMode
|
||||
(
|
||||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode
|
||||
// ******************************************************************
|
||||
VOID WINAPI EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode
|
||||
(
|
||||
DWORD Value
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias
|
||||
// ******************************************************************
|
||||
|
|
|
@ -94,7 +94,9 @@ extern bool bXRefFirstPass;
|
|||
// ******************************************************************
|
||||
enum XRefDataBaseOffset
|
||||
{
|
||||
XREF_XNINIT = 0,
|
||||
XREF_DXSRSCULLMODE=0,
|
||||
XREF_D3DRS_STENCILCULLENABLE,
|
||||
XREF_XNINIT,
|
||||
XREF_FCLOSEDEVICE,
|
||||
XREF_CLEARSTATEBLOCKFLAGS,
|
||||
XREF_RECORDSTATEBLOCK,
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
|
||||
#include "OOVPA.h"
|
||||
|
||||
extern SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4432;
|
||||
|
||||
extern OOVPATable D3D8_1_0_4432[];
|
||||
extern uint32 D3D8_1_0_4432_SIZE;
|
||||
|
||||
|
|
|
@ -366,8 +366,6 @@ extern "C" CXBXKRNL_API void NTAPI EmuInit
|
|||
for(uint32 c=0;c<8;c++)
|
||||
szLibraryName[c] = pLibraryVersion[v].szName[c];
|
||||
|
||||
printf("EmuMain (0x%X): Locating HLE Information for %s %d.%d.%d...", GetCurrentThreadId(), szLibraryName, MajorVersion, MinorVersion, BuildVersion);
|
||||
|
||||
// TODO: HACK: These libraries are packed into one database
|
||||
if(strcmp(szLibraryName, "D3DX8") == 0)
|
||||
strcpy(szLibraryName, "D3D8");
|
||||
|
@ -383,23 +381,6 @@ extern "C" CXBXKRNL_API void NTAPI EmuInit
|
|||
bFoundD3D = true;
|
||||
}
|
||||
|
||||
bool found=false;
|
||||
|
||||
for(uint32 d=0;d<dwHLEEntries;d++)
|
||||
{
|
||||
if(BuildVersion != HLEDataBase[d].BuildVersion || MinorVersion != HLEDataBase[d].MinorVersion || MajorVersion != HLEDataBase[d].MajorVersion || strcmp(szLibraryName, HLEDataBase[d].Library) != 0)
|
||||
continue;
|
||||
|
||||
found = true;
|
||||
|
||||
printf("Found\n");
|
||||
|
||||
EmuInstallWrappers(HLEDataBase[d].OovpaTable, HLEDataBase[d].OovpaTableSize, Entry, pXbeHeader);
|
||||
}
|
||||
|
||||
if(!found)
|
||||
printf("Skipped\n");
|
||||
|
||||
if(bXRefFirstPass)
|
||||
{
|
||||
if(strcmp("XAPILIB", szLibraryName) == 0 && MajorVersion == 1 && MinorVersion == 0 && (BuildVersion == 3911 || BuildVersion == 4034 || BuildVersion == 4134 || BuildVersion == 4361 || BuildVersion == 4432 || BuildVersion == 4627))
|
||||
|
@ -428,7 +409,7 @@ extern "C" CXBXKRNL_API void NTAPI EmuInit
|
|||
}
|
||||
}
|
||||
}
|
||||
else if(strcmp("D3D8", szLibraryName) == 0 && MajorVersion == 1 && MinorVersion == 0 && (BuildVersion == 3925 || BuildVersion == 4134 || BuildVersion == 4361 || BuildVersion == 4627))
|
||||
else if(strcmp("D3D8", szLibraryName) == 0 && MajorVersion == 1 && MinorVersion == 0 && (BuildVersion == 3925 || BuildVersion == 4134 || BuildVersion == 4361 || BuildVersion == 4432 || BuildVersion == 4627))
|
||||
{
|
||||
uint32 lower = pXbeHeader->dwBaseAddr;
|
||||
uint32 upper = pXbeHeader->dwBaseAddr + pXbeHeader->dwSizeofImage;
|
||||
|
@ -447,13 +428,28 @@ extern "C" CXBXKRNL_API void NTAPI EmuInit
|
|||
{
|
||||
// NOTE: HACK: This is preliminary. If render states have a problem, maybe this is wrong!
|
||||
XTL::EmuD3DDeferredRenderState = (DWORD*)(*(DWORD*)((uint32)pFunc + 0x25) - 0x1FC + 82*4); // TODO: Verify
|
||||
XRefDataBase[XREF_D3DRS_STENCILCULLENABLE] = (uint32)XTL::EmuD3DDeferredRenderState + 142*4 - 82*4;
|
||||
}
|
||||
else if(BuildVersion == 4134)
|
||||
{
|
||||
XTL::EmuD3DDeferredRenderState = (DWORD*)(*(DWORD*)((uint32)pFunc + 0x2B) - 0x248 + 82*4); // TODO: Verify
|
||||
XRefDataBase[XREF_D3DRS_STENCILCULLENABLE] = (uint32)XTL::EmuD3DDeferredRenderState + 142*4 - 82*4;
|
||||
}
|
||||
else if(BuildVersion == 4361)
|
||||
{
|
||||
XTL::EmuD3DDeferredRenderState = (DWORD*)(*(DWORD*)((uint32)pFunc + 0x2B) - 0x200 + 82*4);
|
||||
XRefDataBase[XREF_D3DRS_STENCILCULLENABLE] = (uint32)XTL::EmuD3DDeferredRenderState + 142*4 - 82*4;
|
||||
}
|
||||
else if(BuildVersion == 4432)
|
||||
{
|
||||
XTL::EmuD3DDeferredRenderState = (DWORD*)(*(DWORD*)((uint32)pFunc + 0x2B) - 0x204 + 83*4);
|
||||
XRefDataBase[XREF_D3DRS_STENCILCULLENABLE] = (uint32)XTL::EmuD3DDeferredRenderState + 143*4 - 83*4;
|
||||
}
|
||||
else if(BuildVersion == 4627)
|
||||
{
|
||||
XTL::EmuD3DDeferredRenderState = (DWORD*)(*(DWORD*)((uint32)pFunc + 0x2B) - 0x24C + 92*4);
|
||||
XRefDataBase[XREF_D3DRS_STENCILCULLENABLE] = (uint32)XTL::EmuD3DDeferredRenderState + 162*4 - 92*4;
|
||||
}
|
||||
|
||||
for(int v=0;v<146;v++)
|
||||
XTL::EmuD3DDeferredRenderState[v] = X_D3DRS_UNK;
|
||||
|
@ -474,6 +470,8 @@ extern "C" CXBXKRNL_API void NTAPI EmuInit
|
|||
pFunc = EmuLocateFunction((OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4134, lower, upper);
|
||||
else if(BuildVersion == 4361)
|
||||
pFunc = EmuLocateFunction((OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4361, lower, upper);
|
||||
else if(BuildVersion == 4432)
|
||||
pFunc = EmuLocateFunction((OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4432, lower, upper);
|
||||
else if(BuildVersion == 4627)
|
||||
pFunc = EmuLocateFunction((OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4627, lower, upper);
|
||||
|
||||
|
@ -497,6 +495,25 @@ extern "C" CXBXKRNL_API void NTAPI EmuInit
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
printf("EmuMain (0x%X): Locating HLE Information for %s %d.%d.%d...", GetCurrentThreadId(), pLibraryVersion[v].szName, MajorVersion, MinorVersion, BuildVersion);
|
||||
|
||||
bool found=false;
|
||||
|
||||
for(uint32 d=0;d<dwHLEEntries;d++)
|
||||
{
|
||||
if(BuildVersion != HLEDataBase[d].BuildVersion || MinorVersion != HLEDataBase[d].MinorVersion || MajorVersion != HLEDataBase[d].MajorVersion || strcmp(szLibraryName, HLEDataBase[d].Library) != 0)
|
||||
continue;
|
||||
|
||||
found = true;
|
||||
|
||||
printf("Found\n");
|
||||
|
||||
EmuInstallWrappers(HLEDataBase[d].OovpaTable, HLEDataBase[d].OovpaTableSize, Entry, pXbeHeader);
|
||||
}
|
||||
|
||||
if(!found)
|
||||
printf("Skipped\n");
|
||||
}
|
||||
|
||||
bXRefFirstPass = false;
|
||||
|
@ -974,7 +991,7 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper)
|
|||
if(XRefDataBase[Value] == -1)
|
||||
goto skipout_L; // unsatisfied Xref is not acceptable
|
||||
|
||||
if(RealValue + cur + Offset+4 != XRefDataBase[Value])
|
||||
if((RealValue + cur + Offset+4 != XRefDataBase[Value]) && (RealValue != XRefDataBase[Value]))
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1003,7 +1020,9 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper)
|
|||
return (void*)cur;
|
||||
}
|
||||
else
|
||||
return 0; // already Found, no bother patching again
|
||||
{
|
||||
return (void*)XRefDataBase[Loovpa->XRefSaveIndex]; // already Found, no bother patching again
|
||||
}
|
||||
}
|
||||
|
||||
return (void*)cur;
|
||||
|
@ -1035,7 +1054,7 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper)
|
|||
if(XRefDataBase[Value] == -1)
|
||||
goto skipout_S; // Unsatisfied XRef is not acceptable
|
||||
|
||||
if( (RealValue + cur + Offset + 4 != XRefDataBase[Value]))
|
||||
if( (RealValue + cur + Offset + 4 != XRefDataBase[Value]) && (RealValue != XRefDataBase[Value]))
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1068,7 +1087,9 @@ static void *EmuLocateFunction(OOVPA *Oovpa, uint32 lower, uint32 upper)
|
|||
return (void*)cur;
|
||||
}
|
||||
else
|
||||
return 0; // already Found, no bother patching again
|
||||
{
|
||||
return (void*)XRefDataBase[Soovpa->XRefSaveIndex]; // already Found, no bother patching again
|
||||
}
|
||||
}
|
||||
|
||||
return (void*)cur;
|
||||
|
|
|
@ -5003,6 +5003,62 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_SetTextureState_BumpEnv
|
|||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_FrontFace
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace
|
||||
(
|
||||
DWORD Value
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
// debug trace
|
||||
#ifdef _DEBUG_TRACE
|
||||
{
|
||||
printf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetRenderState_FrontFace\n"
|
||||
"(\n"
|
||||
" Value : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Value);
|
||||
}
|
||||
#endif
|
||||
|
||||
EmuWarning("SetRenderState_FrontFace not supported!\n");
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_LogicOp
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp
|
||||
(
|
||||
DWORD Value
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
// debug trace
|
||||
#ifdef _DEBUG_TRACE
|
||||
{
|
||||
printf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetRenderState_LogicOp\n"
|
||||
"(\n"
|
||||
" Value : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Value);
|
||||
}
|
||||
#endif
|
||||
|
||||
EmuWarning("SetRenderState_LogicOp is not supported!");
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_NormalizeNormals
|
||||
// ******************************************************************
|
||||
|
@ -5247,7 +5303,7 @@ VOID __fastcall XTL::EmuIDirect3DDevice8_SetRenderState_Simple
|
|||
}
|
||||
|
||||
if(State == -1)
|
||||
EmuWarning("RenderState_Simple(0x%.08X, 0x%.08X) is unsupported", Method, Value);
|
||||
EmuWarning("RenderState_Simple(0x%.08X, 0x%.08X) is unsupported!", Method, Value);
|
||||
else
|
||||
{
|
||||
switch(State)
|
||||
|
@ -5408,6 +5464,36 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_CullMode
|
|||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_LineWidth
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth
|
||||
(
|
||||
DWORD Value
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
// debug trace
|
||||
#ifdef _DEBUG_TRACE
|
||||
{
|
||||
printf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetRenderState_LineWidth\n"
|
||||
"(\n"
|
||||
" Value : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Value);
|
||||
}
|
||||
#endif
|
||||
|
||||
// TODO: Convert to PC format??
|
||||
// g_pD3DDevice8->SetRenderState(D3DRS_LINEPATTERN, Value);
|
||||
EmuWarning("SetRenderState_LineWidth is not supported!");
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_StencilFail
|
||||
// ******************************************************************
|
||||
|
@ -5436,6 +5522,62 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail
|
|||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable
|
||||
(
|
||||
DWORD Value
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
// debug trace
|
||||
#ifdef _DEBUG_TRACE
|
||||
{
|
||||
printf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable\n"
|
||||
"(\n"
|
||||
" Value : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Value);
|
||||
}
|
||||
#endif
|
||||
|
||||
EmuWarning("SetRenderState_OcclusionCullEnable not supported!");
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_StencilCullEnable
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable
|
||||
(
|
||||
DWORD Value
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
// debug trace
|
||||
#ifdef _DEBUG_TRACE
|
||||
{
|
||||
printf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetRenderState_StencilCullEnable\n"
|
||||
"(\n"
|
||||
" Value : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Value);
|
||||
}
|
||||
#endif
|
||||
|
||||
EmuWarning("SetRenderState_StencilCullEnable not supported!");
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_ZEnable
|
||||
// ******************************************************************
|
||||
|
@ -5520,6 +5662,90 @@ VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias
|
|||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_MultiSampleMask
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask
|
||||
(
|
||||
DWORD Value
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
// debug trace
|
||||
#ifdef _DEBUG_TRACE
|
||||
{
|
||||
printf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetRenderState_MultiSampleMask\n"
|
||||
"(\n"
|
||||
" Value : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Value);
|
||||
}
|
||||
#endif
|
||||
|
||||
g_pD3DDevice8->SetRenderState(D3DRS_MULTISAMPLEMASK, Value);
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_MultiSampleMode
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode
|
||||
(
|
||||
DWORD Value
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
// debug trace
|
||||
#ifdef _DEBUG_TRACE
|
||||
{
|
||||
printf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetRenderState_MultiSampleMode\n"
|
||||
"(\n"
|
||||
" Value : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Value);
|
||||
}
|
||||
#endif
|
||||
|
||||
EmuWarning("SetRenderState_MultiSampleMode is not supported!");
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode
|
||||
(
|
||||
DWORD Value
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
// debug trace
|
||||
#ifdef _DEBUG_TRACE
|
||||
{
|
||||
printf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode\n"
|
||||
"(\n"
|
||||
" Value : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Value);
|
||||
}
|
||||
#endif
|
||||
|
||||
EmuWarning("SetRenderState_MultiSampleRenderTargetMode is not supported!");
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_SetRenderState_ShadowFunc
|
||||
// ******************************************************************
|
||||
|
|
|
@ -219,6 +219,8 @@ extern uint32 HLEDataBaseSize = sizeof(HLEDataBase);
|
|||
// ******************************************************************
|
||||
extern uint32 XRefDataBase[] =
|
||||
{
|
||||
-1, // XREF_DXSRSCULLMODE
|
||||
-1, // XREF_D3DRS_STENCILCULLENABLE
|
||||
-1, // XREF_XNINIT
|
||||
-1, // XREF_FCLOSEDEVICE
|
||||
-1, // XREF_CLEARSTATEBLOCKFLAGS
|
||||
|
|
|
@ -72,8 +72,8 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_CullMode_1_0_4134 =
|
|||
0, // Large == 0
|
||||
13, // Count == 13
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
XREF_DXSRSCULLMODE, // XRef Is Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_CullMode+0x19 : mov dword ptr [eax], 0x40308
|
||||
|
|
|
@ -309,6 +309,39 @@ SOOVPA<15> IDirect3DDevice8_SetTextureState_BorderColor_1_0_4432 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_FrontFace
|
||||
// ******************************************************************
|
||||
SOOVPA<11> IDirect3DDevice8_SetRenderState_FrontFace_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
11, // Count == 11
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_FrontFace+0x36 : jmp IDirect3DDevice8_SetRenderState_CullMode
|
||||
{ 0x36, XREF_DXSRSCULLMODE}, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_FrontFace+0x09 : cmp eax, [esi+4]
|
||||
{ 0x09, 0x3B }, // (Offset,Value)-Pair #2
|
||||
{ 0x0A, 0x46 }, // (Offset,Value)-Pair #3
|
||||
{ 0x0B, 0x04 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_FrontFace+0x13 : mov ecx, [esp+0x08]
|
||||
{ 0x13, 0x8B }, // (Offset,Value)-Pair #5
|
||||
{ 0x14, 0x4C }, // (Offset,Value)-Pair #6
|
||||
{ 0x15, 0x24 }, // (Offset,Value)-Pair #7
|
||||
{ 0x16, 0x08 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_FrontFace+0x20 : add eax, 8
|
||||
{ 0x20, 0x83 }, // (Offset,Value)-Pair #9
|
||||
{ 0x21, 0xC0 }, // (Offset,Value)-Pair #10
|
||||
{ 0x22, 0x08 }, // (Offset,Value)-Pair #11
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_NormalizeNormals
|
||||
// ******************************************************************
|
||||
|
@ -337,6 +370,96 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_LogicOp
|
||||
// ******************************************************************
|
||||
SOOVPA<9> IDirect3DDevice8_SetRenderState_LogicOp_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_LogicOp+0x07 : mov eax, [esi]
|
||||
{ 0x07, 0x8B }, // (Offset,Value)-Pair #1
|
||||
{ 0x08, 0x06 }, // (Offset,Value)-Pair #2
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_LogicOp+0x1B : mov dword ptr [eax], 0x417BC
|
||||
{ 0x1B, 0xC7 }, // (Offset,Value)-Pair #3
|
||||
{ 0x1C, 0x00 }, // (Offset,Value)-Pair #4
|
||||
{ 0x1D, 0xBC }, // (Offset,Value)-Pair #5
|
||||
{ 0x1E, 0x17 }, // (Offset,Value)-Pair #6
|
||||
{ 0x1F, 0x04 }, // (Offset,Value)-Pair #7
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_LogicOp+0x4F : retn 0x04
|
||||
{ 0x4F, 0xC2 }, // (Offset,Value)-Pair #8
|
||||
{ 0x50, 0x04 }, // (Offset,Value)-Pair #9
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetTextureState_TexCoordIndex
|
||||
// ******************************************************************
|
||||
SOOVPA<10> IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
10, // Count == 10
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetTextureState_TexCoordIndex+0x0D : shl eax, 0x07
|
||||
{ 0x0D, 0xC1 }, // (Offset,Value)-Pair #1
|
||||
{ 0x0E, 0xE0 }, // (Offset,Value)-Pair #2
|
||||
{ 0x0F, 0x07 }, // (Offset,Value)-Pair #3
|
||||
|
||||
// IDirect3DDevice8_SetTextureState_TexCoordIndex+0x24 : cmp eax, ecx
|
||||
{ 0x24, 0x3B }, // (Offset,Value)-Pair #4
|
||||
{ 0x25, 0xC1 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// IDirect3DDevice8_SetTextureState_TexCoordIndex+0x6B : mov ebp, 0x2400
|
||||
{ 0x6B, 0xBD }, // (Offset,Value)-Pair #6
|
||||
{ 0x6C, 0x24 }, // (Offset,Value)-Pair #7
|
||||
|
||||
// IDirect3DDevice8_SetTextureState_TexCoordIndex+0xB3 : shl edx, 0x04
|
||||
{ 0xB3, 0xC1 }, // (Offset,Value)-Pair #8
|
||||
{ 0xB4, 0xE2 }, // (Offset,Value)-Pair #9
|
||||
{ 0xB5, 0x04 }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable
|
||||
// ******************************************************************
|
||||
SOOVPA<9> IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x0C : mov eax, [edi+0x2070]
|
||||
{ 0x0C, 0x8B }, // (Offset,Value)-Pair #1
|
||||
{ 0x0D, 0x86 }, // (Offset,Value)-Pair #2
|
||||
{ 0x0E, 0x70 }, // (Offset,Value)-Pair #3
|
||||
{ 0x0F, 0x20 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x6E : add eax, 0x18
|
||||
{ 0x6E, 0x83 }, // (Offset,Value)-Pair #5
|
||||
{ 0x6F, 0xC0 }, // (Offset,Value)-Pair #6
|
||||
{ 0x70, 0x18 }, // (Offset,Value)-Pair #7
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable+0x7C : retn 0x04
|
||||
{ 0x7C, 0xC2 }, // (Offset,Value)-Pair #8
|
||||
{ 0x7D, 0x04 }, // (Offset,Value)-Pair #9
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_ZEnable
|
||||
// ******************************************************************
|
||||
|
@ -372,6 +495,174 @@ SOOVPA<13> IDirect3DDevice8_SetRenderState_ZEnable_1_0_4432 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias
|
||||
// ******************************************************************
|
||||
SOOVPA<9> IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x04 : push esi
|
||||
{ 0x04, 0x56 }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x12 : call [abs]
|
||||
{ 0x12, 0xE8 }, // (Offset,Value)-Pair #2
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x38 : shl ecx, 0x10
|
||||
{ 0x38, 0xC1 }, // (Offset,Value)-Pair #3
|
||||
{ 0x39, 0xE1 }, // (Offset,Value)-Pair #4
|
||||
{ 0x3A, 0x10 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x44 : or ecx, edx
|
||||
{ 0x44, 0x0B }, // (Offset,Value)-Pair #6
|
||||
{ 0x45, 0xCA }, // (Offset,Value)-Pair #7
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias+0x4F : retn 0x04
|
||||
{ 0x4F, 0xC2 }, // (Offset,Value)-Pair #8
|
||||
{ 0x50, 0x04 }, // (Offset,Value)-Pair #9
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_MultiSampleMask
|
||||
// ******************************************************************
|
||||
SOOVPA<13> IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
13, // Count == 13
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleMask+0x1C : jb +0x05
|
||||
{ 0x1C, 0x72 }, // (Offset,Value)-Pair #1
|
||||
{ 0x1D, 0x05 }, // (Offset,Value)-Pair #2
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleMask+0x38 : and ecx, 0x0F; shl edx, 0x10
|
||||
{ 0x38, 0x83 }, // (Offset,Value)-Pair #3
|
||||
{ 0x39, 0xE1 }, // (Offset,Value)-Pair #4
|
||||
{ 0x3A, 0x0F }, // (Offset,Value)-Pair #5
|
||||
{ 0x3B, 0xC1 }, // (Offset,Value)-Pair #6
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleMask+0x3E : mov dword ptr [eax], 0x41D7C
|
||||
{ 0x3E, 0xC7 }, // (Offset,Value)-Pair #7
|
||||
{ 0x3F, 0x00 }, // (Offset,Value)-Pair #8
|
||||
{ 0x40, 0x7C }, // (Offset,Value)-Pair #9
|
||||
{ 0x41, 0x1D }, // (Offset,Value)-Pair #10
|
||||
{ 0x42, 0x04 }, // (Offset,Value)-Pair #11
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleMask+0x4F : retn 0x04
|
||||
{ 0x4F, 0xC2 }, // (Offset,Value)-Pair #12
|
||||
{ 0x50, 0x04 }, // (Offset,Value)-Pair #13
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_MultiSampleMode
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12, // Count == 12
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleMode+0x0F : mov ecx, [eax+0x2070]
|
||||
{ 0x0F, 0x8B }, // (Offset,Value)-Pair #1
|
||||
{ 0x10, 0x88 }, // (Offset,Value)-Pair #2
|
||||
{ 0x11, 0x70 }, // (Offset,Value)-Pair #3
|
||||
{ 0x12, 0x20 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleMode+0x15 : cmp ecx, [eax+0x207C]
|
||||
{ 0x15, 0x3B }, // (Offset,Value)-Pair #5
|
||||
{ 0x16, 0x88 }, // (Offset,Value)-Pair #6
|
||||
{ 0x17, 0x7C }, // (Offset,Value)-Pair #7
|
||||
{ 0x18, 0x20 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleMode+0x1B : jnz +0x0D
|
||||
{ 0x1B, 0x75 }, // (Offset,Value)-Pair #9
|
||||
{ 0x1C, 0x0D }, // (Offset,Value)-Pair #10
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleMode+0x2A : retn 0x04
|
||||
{ 0x2A, 0xC2 }, // (Offset,Value)-Pair #11
|
||||
{ 0x2B, 0x04 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12, // Count == 12
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x0F : mov ecx, [eax+0x2070]
|
||||
{ 0x0F, 0x8B }, // (Offset,Value)-Pair #1
|
||||
{ 0x10, 0x88 }, // (Offset,Value)-Pair #2
|
||||
{ 0x11, 0x70 }, // (Offset,Value)-Pair #3
|
||||
{ 0x12, 0x20 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x15 : cmp ecx, [eax+0x207C]
|
||||
{ 0x15, 0x3B }, // (Offset,Value)-Pair #5
|
||||
{ 0x16, 0x88 }, // (Offset,Value)-Pair #6
|
||||
{ 0x17, 0x7C }, // (Offset,Value)-Pair #7
|
||||
{ 0x18, 0x20 }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x1B : jz +0x0D
|
||||
{ 0x1B, 0x74 }, // (Offset,Value)-Pair #9
|
||||
{ 0x1C, 0x0D }, // (Offset,Value)-Pair #10
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode+0x2A : retn 0x04
|
||||
{ 0x2A, 0xC2 }, // (Offset,Value)-Pair #11
|
||||
{ 0x2B, 0x04 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_LineWidth
|
||||
// ******************************************************************
|
||||
SOOVPA<10> IDirect3DDevice8_SetRenderState_LineWidth_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
10, // Count == 10
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_LineWidth+0x15 : fmul dword ptr [esi+0x460]
|
||||
{ 0x15, 0xD8 }, // (Offset,Value)-Pair #1
|
||||
{ 0x16, 0x8E }, // (Offset,Value)-Pair #2
|
||||
{ 0x17, 0x60 }, // (Offset,Value)-Pair #3
|
||||
{ 0x18, 0x04 }, // (Offset,Value)-Pair #4
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_LineWidth+0x32 : cmp edi, 0x1FF
|
||||
{ 0x32, 0x81 }, // (Offset,Value)-Pair #5
|
||||
{ 0x33, 0xFF }, // (Offset,Value)-Pair #6
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_LineWidth+0x3A : mov edi, 0x1FF
|
||||
{ 0x3A, 0xBF }, // (Offset,Value)-Pair #7
|
||||
{ 0x3B, 0xFF }, // (Offset,Value)-Pair #8
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_LineWidth+0x62 : retn 0x04
|
||||
{ 0x62, 0xC2 }, // (Offset,Value)-Pair #9
|
||||
{ 0x63, 0x04 }, // (Offset,Value)-Pair #10
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_StencilFail
|
||||
// ******************************************************************
|
||||
|
@ -406,6 +697,77 @@ SOOVPA<12> IDirect3DDevice8_SetRenderState_StencilFail_1_0_4432 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_OcclusionCullEnable
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12, // Count == 12
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x15 : jb +0x05
|
||||
{ 0x15, 0x72 }, // (Offset,Value)-Pair #1
|
||||
{ 0x16, 0x05 }, // (Offset,Value)-Pair #2
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x41 : cmp [abs], 0x1E00
|
||||
{ 0x41, 0x81 }, // (Offset,Value)-Pair #3
|
||||
{ 0x47, 0x00 }, // (Offset,Value)-Pair #4
|
||||
{ 0x48, 0x1E }, // (Offset,Value)-Pair #5
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x50 : mov dword ptr [eax], 0x41D84
|
||||
{ 0x50, 0xC7 }, // (Offset,Value)-Pair #6
|
||||
{ 0x51, 0x00 }, // (Offset,Value)-Pair #7
|
||||
{ 0x52, 0x84 }, // (Offset,Value)-Pair #8
|
||||
{ 0x53, 0x1D }, // (Offset,Value)-Pair #9
|
||||
{ 0x54, 0x04 }, // (Offset,Value)-Pair #10
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_OcclusionCullEnable+0x5F : retn 0x04
|
||||
{ 0x5F, 0xC2 }, // (Offset,Value)-Pair #11
|
||||
{ 0x60, 0x04 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_StencilCullEnable
|
||||
// ******************************************************************
|
||||
SOOVPA<13> IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4432 =
|
||||
{
|
||||
0, // Large == 0
|
||||
13, // Count == 13
|
||||
|
||||
-1, // XRef Not Saved
|
||||
1, // XRef Is Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetRenderState_StencilCullEnable+0x0C : D3D__RenderState[D3DRS_STENCILCULLENABLE]
|
||||
{ 0x0C, XREF_D3DRS_STENCILCULLENABLE }, // (Offset,Value)-Pair #1
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_StencilCullEnable+0x15 : jb +0x05
|
||||
{ 0x15, 0x72 }, // (Offset,Value)-Pair #2
|
||||
{ 0x16, 0x05 }, // (Offset,Value)-Pair #3
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_StencilCullEnable+0x41 : cmp [abs], 0x1E00
|
||||
{ 0x41, 0x81 }, // (Offset,Value)-Pair #4
|
||||
{ 0x47, 0x00 }, // (Offset,Value)-Pair #5
|
||||
{ 0x48, 0x1E }, // (Offset,Value)-Pair #6
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_StencilCullEnable+0x50 : mov dword ptr [eax], 0x41D84
|
||||
{ 0x50, 0xC7 }, // (Offset,Value)-Pair #7
|
||||
{ 0x51, 0x00 }, // (Offset,Value)-Pair #8
|
||||
{ 0x52, 0x84 }, // (Offset,Value)-Pair #9
|
||||
{ 0x53, 0x1D }, // (Offset,Value)-Pair #10
|
||||
{ 0x54, 0x04 }, // (Offset,Value)-Pair #11
|
||||
|
||||
// IDirect3DDevice8_SetRenderState_StencilCullEnable+0x5F : retn 0x04
|
||||
{ 0x5F, 0xC2 }, // (Offset,Value)-Pair #12
|
||||
{ 0x60, 0x04 }, // (Offset,Value)-Pair #13
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetRenderState_ShadowFunc
|
||||
// ******************************************************************
|
||||
|
@ -635,6 +997,26 @@ OOVPATable D3D8_1_0_4432[] =
|
|||
"EmuIDirect3DDevice8_SetRenderState_CullMode"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_FrontFace
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_FrontFace_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_FrontFace,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_FrontFace"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_LogicOp
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_LogicOp_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_LogicOp,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_LogicOp"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_NormalizeNormals
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_NormalizeNormals_1_0_4432,
|
||||
|
@ -715,6 +1097,16 @@ OOVPATable D3D8_1_0_4432[] =
|
|||
"EmuIDirect3DDevice8_SetRenderState_StencilEnable"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_LineWidth
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_LineWidth_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_LineWidth,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_LineWidth"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_StencilFail
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4432,
|
||||
|
@ -725,6 +1117,46 @@ OOVPATable D3D8_1_0_4432[] =
|
|||
"EmuIDirect3DDevice8_SetRenderState_StencilFail"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_OcclusionCullEnable
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_OcclusionCullEnable"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_StencilCullEnable
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_StencilCullEnable_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_StencilCullEnable,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_StencilCullEnable"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetTextureState_TexCoordIndex
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetTextureState_TexCoordIndex_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetTextureState_TexCoordIndex,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetTextureState_TexCoordIndex"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_Dxt1NoiseEnable
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_Dxt1NoiseEnable_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_Dxt1NoiseEnable"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_ZEnable
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_ZEnable_1_0_4432,
|
||||
|
@ -735,6 +1167,46 @@ OOVPATable D3D8_1_0_4432[] =
|
|||
"EmuIDirect3DDevice8_SetRenderState_ZEnable"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_MultiSampleAntiAlias
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleAntiAlias_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_MultiSampleAntiAlias"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_MultiSampleMask
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMask_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMask,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_MultiSampleMask"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_MultiSampleMode
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleMode_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleMode,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_MultiSampleMode"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_MultiSampleRenderTargetMode
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_MultiSampleRenderTargetMode"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_ShadowFunc
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_ShadowFunc_1_0_4432,
|
||||
|
|
Loading…
Reference in New Issue