nba jam 2004
This commit is contained in:
parent
929fc3dd49
commit
971be33ed8
2
Cxbx.dsp
2
Cxbx.dsp
|
@ -1,5 +1,5 @@
|
|||
# Microsoft Developer Studio Project File - Name="Cxbx" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 60000
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||
|
|
|
@ -63,10 +63,10 @@ typedef signed long sint32;
|
|||
//#define _DEBUG_ALLOC
|
||||
|
||||
// define this to trace intercepted function calls
|
||||
//#define _DEBUG_TRACE
|
||||
#define _DEBUG_TRACE
|
||||
|
||||
// define this to trace warnings
|
||||
//#define _DEBUG_WARNINGS
|
||||
#define _DEBUG_WARNINGS
|
||||
|
||||
// version information
|
||||
#ifndef _DEBUG_TRACE
|
||||
|
|
|
@ -1230,6 +1230,14 @@ HRESULT WINAPI EmuIDirect3DDevice8_CreatePalette
|
|||
X_D3DPalette **ppPalette
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_CreatePalette2
|
||||
// ******************************************************************
|
||||
X_D3DPalette * WINAPI EmuIDirect3DDevice8_CreatePalette2
|
||||
(
|
||||
X_D3DPALETTESIZE Size
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_BlockUntilVerticalBlank
|
||||
// ******************************************************************
|
||||
|
@ -1279,6 +1287,15 @@ HRESULT WINAPI EmuIDirect3DPalette8_Lock
|
|||
DWORD Flags
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DPalette8_Lock2
|
||||
// ******************************************************************
|
||||
D3DCOLOR * WINAPI EmuIDirect3DPalette8_Lock2
|
||||
(
|
||||
X_D3DPalette *pThis,
|
||||
DWORD Flags
|
||||
);
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_GetVertexShaderSize
|
||||
// ******************************************************************
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#include "OOVPA.h"
|
||||
|
||||
extern SOOVPA<8> XapiInitProcess_1_0_5558;
|
||||
extern SOOVPA<8> XapiInitProcess_1_0_5659;
|
||||
extern OOVPATable XAPI_1_0_5558[];
|
||||
extern uint32 XAPI_1_0_5558_SIZE;
|
||||
|
||||
|
|
|
@ -379,6 +379,9 @@ extern "C" CXBXKRNL_API void NTAPI EmuInit
|
|||
uint16 MinorVersion = pLibraryVersion[v].wMinorVersion;
|
||||
uint16 BuildVersion = pLibraryVersion[v].wBuildVersion;
|
||||
|
||||
if(BuildVersion == 5659)
|
||||
BuildVersion = 5558;
|
||||
|
||||
char szLibraryName[9] = {0};
|
||||
|
||||
for(uint32 c=0;c<8;c++)
|
||||
|
@ -423,6 +426,13 @@ extern "C" CXBXKRNL_API void NTAPI EmuInit
|
|||
else if(BuildVersion >= 5558)
|
||||
{
|
||||
pFunc = EmuLocateFunction((OOVPA*)&XapiInitProcess_1_0_5558, lower, upper);
|
||||
|
||||
// 5659 has an updated function
|
||||
if(pFunc == 0)
|
||||
{
|
||||
pFunc = EmuLocateFunction((OOVPA*)&XapiInitProcess_1_0_5659, lower, upper);
|
||||
}
|
||||
|
||||
ProcessHeapOffs = 0x51;
|
||||
RtlCreateHeapOffs = 0x4A;
|
||||
}
|
||||
|
|
|
@ -1256,6 +1256,7 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_LoadVertexShader
|
|||
}
|
||||
|
||||
EmuSwapFS(); // Xbox FS
|
||||
|
||||
return D3D_OK;
|
||||
}
|
||||
|
||||
|
@ -1272,8 +1273,8 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SelectVertexShader
|
|||
|
||||
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SelectVertexShader\n"
|
||||
"(\n"
|
||||
" Handle : 0x%.08X\n"
|
||||
" Address : 0x%.08X\n"
|
||||
" Handle : 0x%.08X\n"
|
||||
" Address : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Handle, Address);
|
||||
|
||||
|
@ -1284,7 +1285,16 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SelectVertexShader
|
|||
}
|
||||
else if(Address < 136)
|
||||
{
|
||||
g_pD3DDevice8->SetVertexShader(((VERTEX_SHADER *)((X_D3DVertexShader *)g_VertexShaderSlots[Address])->Handle)->Handle);
|
||||
X_D3DVertexShader *pVertexShader = (X_D3DVertexShader*)g_VertexShaderSlots[Address];
|
||||
|
||||
if(pVertexShader != NULL)
|
||||
{
|
||||
g_pD3DDevice8->SetVertexShader(((VERTEX_SHADER *)((X_D3DVertexShader *)g_VertexShaderSlots[Address])->Handle)->Handle);
|
||||
}
|
||||
else
|
||||
{
|
||||
EmuWarning("g_VertexShaderSlots[%d] = 0", Address);
|
||||
}
|
||||
}
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
@ -1941,7 +1951,7 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SetShaderConstantMode
|
|||
|
||||
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_SetShaderConstantMode\n"
|
||||
"(\n"
|
||||
" Mode : 0x%.08X\n"
|
||||
" Mode : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Mode);
|
||||
|
||||
|
@ -3682,7 +3692,7 @@ HRESULT WINAPI XTL::EmuIDirect3DResource8_Register
|
|||
dwPitch = dwWidth*2;
|
||||
dwBPP = 2;
|
||||
}
|
||||
else if(X_Format == 0x00 /* X_D3DFMT_L8 */ || X_Format == 0x01 /* X_D3DFMT_AL8 */ || X_Format == 0x1A /* X_D3DFMT_A8L8 */)
|
||||
else if(X_Format == 0x00 /* X_D3DFMT_L8 */ || X_Format == 0x0B /* X_D3DFMT_P8 */ || X_Format == 0x01 /* X_D3DFMT_AL8 */ || X_Format == 0x1A /* X_D3DFMT_A8L8 */)
|
||||
{
|
||||
bSwizzled = TRUE;
|
||||
|
||||
|
@ -6804,18 +6814,30 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_CreatePalette
|
|||
X_D3DPALETTESIZE Size,
|
||||
X_D3DPalette **ppPalette
|
||||
)
|
||||
{
|
||||
*ppPalette = EmuIDirect3DDevice8_CreatePalette2(Size);
|
||||
|
||||
return D3D_OK;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DDevice8_CreatePalette2
|
||||
// ******************************************************************
|
||||
XTL::X_D3DPalette * WINAPI XTL::EmuIDirect3DDevice8_CreatePalette2
|
||||
(
|
||||
X_D3DPALETTESIZE Size
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_CreatePalette\n"
|
||||
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DDevice8_CreatePalette2\n"
|
||||
"(\n"
|
||||
" Size : 0x%.08X\n"
|
||||
" ppPalette : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), Size, ppPalette);
|
||||
|
||||
*ppPalette = new X_D3DPalette();
|
||||
GetCurrentThreadId(), Size);
|
||||
|
||||
X_D3DPalette *pPalette = new X_D3DPalette();
|
||||
|
||||
static int lk[4] =
|
||||
{
|
||||
256*sizeof(D3DCOLOR), // D3DPALETTE_256
|
||||
|
@ -6824,13 +6846,13 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_CreatePalette
|
|||
32*sizeof(D3DCOLOR) // D3DPALETTE_32
|
||||
};
|
||||
|
||||
(*ppPalette)->Common = 0;
|
||||
(*ppPalette)->Lock = 0x8000BEEF; // emulated reference count for palettes
|
||||
(*ppPalette)->Data = (DWORD)new uint08[lk[Size]];
|
||||
pPalette->Common = 0;
|
||||
pPalette->Lock = 0x8000BEEF; // emulated reference count for palettes
|
||||
pPalette->Data = (DWORD)new uint08[lk[Size]];
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return D3D_OK;
|
||||
return pPalette;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
@ -6915,22 +6937,35 @@ HRESULT WINAPI XTL::EmuIDirect3DPalette8_Lock
|
|||
D3DCOLOR **ppColors,
|
||||
DWORD Flags
|
||||
)
|
||||
{
|
||||
*ppColors = EmuIDirect3DPalette8_Lock2(pThis, Flags);
|
||||
|
||||
return D3D_OK;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * func: EmuIDirect3DPalette8_Lock2
|
||||
// ******************************************************************
|
||||
XTL::D3DCOLOR * WINAPI XTL::EmuIDirect3DPalette8_Lock2
|
||||
(
|
||||
X_D3DPalette *pThis,
|
||||
DWORD Flags
|
||||
)
|
||||
{
|
||||
EmuSwapFS(); // Win2k/XP FS
|
||||
|
||||
DbgPrintf("EmuD3D8 (0x%X): EmuIDirect3DPalette8_Lock\n"
|
||||
"(\n"
|
||||
" pThis : 0x%.08X\n"
|
||||
" ppColors : 0x%.08X\n"
|
||||
" Flags : 0x%.08X\n"
|
||||
");\n",
|
||||
GetCurrentThreadId(), ppColors, Flags);
|
||||
GetCurrentThreadId(), Flags);
|
||||
|
||||
*ppColors = (D3DCOLOR*)pThis->Data;
|
||||
D3DCOLOR *pColors = (D3DCOLOR*)pThis->Data;
|
||||
|
||||
EmuSwapFS(); // XBox FS
|
||||
|
||||
return D3D_OK;
|
||||
|
||||
return pColors;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
|
|
|
@ -32,6 +32,73 @@
|
|||
// *
|
||||
// ******************************************************************
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_LoadVertexShader
|
||||
// ******************************************************************
|
||||
SOOVPA<10> IDirect3DDevice8_LoadVertexShader_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
7, // Count == 7
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x09, 0x45 },
|
||||
{ 0x14, 0x75 },
|
||||
{ 0x21, 0x8B },
|
||||
{ 0x2D, 0x8B },
|
||||
{ 0x35, 0x04 },
|
||||
{ 0x40, 0x00 },
|
||||
{ 0x4B, 0x5E },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SelectVertexShader
|
||||
// ******************************************************************
|
||||
SOOVPA<11> IDirect3DDevice8_SelectVertexShader_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
7, // Count == 7
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x12, 0x07 },
|
||||
{ 0x26, 0x00 },
|
||||
{ 0x3A, 0x0D },
|
||||
{ 0x4F, 0x8B },
|
||||
{ 0x62, 0xE1 },
|
||||
{ 0x76, 0x3B },
|
||||
{ 0x8A, 0x89 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetViewport
|
||||
// ******************************************************************
|
||||
SOOVPA<9> IDirect3DDevice8_SetViewport_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x1E, 0x86 },
|
||||
{ 0x3E, 0x1B },
|
||||
{ 0x5E, 0x8B },
|
||||
{ 0x7E, 0x6D },
|
||||
{ 0x9E, 0x81 },
|
||||
{ 0xBE, 0x0C },
|
||||
{ 0xDE, 0x75 },
|
||||
{ 0xFE, 0x85 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_Clear
|
||||
// ******************************************************************
|
||||
|
@ -55,6 +122,28 @@ LOOVPA<8> IDirect3DDevice8_Clear_1_0_5558 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_CreatePalette2
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_CreatePalette2_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
7, // Count == 7
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x0D, 0x8B },
|
||||
{ 0x16, 0x00 },
|
||||
{ 0x23, 0x68 },
|
||||
{ 0x2E, 0x85 },
|
||||
{ 0x3D, 0x5E },
|
||||
{ 0x46, 0x1E },
|
||||
{ 0x52, 0x89 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetPixelShader
|
||||
// ******************************************************************
|
||||
|
@ -157,6 +246,76 @@ SOOVPA<8> IDirect3DDevice8_SetRenderState_ZEnable_1_0_5558 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetLight
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_SetLight_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x1E, 0x00 },
|
||||
{ 0x3E, 0x89 },
|
||||
{ 0x5E, 0x00 },
|
||||
{ 0x7E, 0x07 },
|
||||
{ 0x9E, 0xC8 },
|
||||
{ 0xBE, 0xC9 },
|
||||
{ 0xDE, 0x07 },
|
||||
{ 0xFE, 0xC1 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetMaterial
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_SetMaterial_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
9, // Count == 9
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x04, 0x08 },
|
||||
{ 0x0C, 0x81 },
|
||||
{ 0x0E, 0xF0 },
|
||||
{ 0x10, 0x00 },
|
||||
{ 0x16, 0x00 },
|
||||
{ 0x1F, 0x81 },
|
||||
{ 0x22, 0x90 },
|
||||
{ 0x2C, 0x5E },
|
||||
{ 0x2E, 0x04 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_LightEnable
|
||||
// ******************************************************************
|
||||
SOOVPA<13> IDirect3DDevice8_LightEnable_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x1E, 0x8D },
|
||||
{ 0x3E, 0xC7 },
|
||||
{ 0x5E, 0xC7 },
|
||||
{ 0x7E, 0x00 },
|
||||
{ 0x9E, 0x85 },
|
||||
{ 0xBE, 0x01 },
|
||||
{ 0xDE, 0x00 },
|
||||
{ 0xFE, 0x83 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetVertexShader
|
||||
// ******************************************************************
|
||||
|
@ -225,6 +384,38 @@ SOOVPA<7> IDirect3DDevice8_Begin_1_0_5558 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetPalette
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_SetPalette_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12, // Count == 12
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_SetPalette+0x0D : mov eax, [edi+esi*4+0x0A88]
|
||||
{ 0x0D, 0x8B }, // (Offset,Value)-Pair #1
|
||||
{ 0x0E, 0x84 }, // (Offset,Value)-Pair #2
|
||||
{ 0x0F, 0xBE }, // (Offset,Value)-Pair #3
|
||||
{ 0x10, 0x88 }, // (Offset,Value)-Pair #4
|
||||
{ 0x11, 0x0F }, // (Offset,Value)-Pair #5
|
||||
|
||||
// IDirect3DDevice8_SetPalette+0x76 : add esi, 0x41B20
|
||||
{ 0x76, 0x81 }, // (Offset,Value)-Pair #6
|
||||
{ 0x77, 0xC7 }, // (Offset,Value)-Pair #7
|
||||
{ 0x78, 0x20 }, // (Offset,Value)-Pair #8
|
||||
{ 0x79, 0x1B }, // (Offset,Value)-Pair #9
|
||||
{ 0x7A, 0x04 }, // (Offset,Value)-Pair #10
|
||||
|
||||
// IDirect3DDevice8_SetPalette+0x8A : retn 0x08
|
||||
{ 0x8A, 0xC2 }, // (Offset,Value)-Pair #11
|
||||
{ 0x8B, 0x08 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_Swap
|
||||
// ******************************************************************
|
||||
|
@ -247,6 +438,50 @@ SOOVPA<7> IDirect3DDevice8_Swap_1_0_5558 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_BlockUntilVerticalBlank
|
||||
// ******************************************************************
|
||||
SOOVPA<11> IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
7, // Count == 7
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x05, 0x6A },
|
||||
{ 0x08, 0x00 },
|
||||
{ 0x0D, 0xB0 },
|
||||
{ 0x12, 0x00 },
|
||||
{ 0x17, 0x05 },
|
||||
{ 0x1C, 0x50 },
|
||||
{ 0x23, 0xC3 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DPalette8_Lock2
|
||||
// ******************************************************************
|
||||
SOOVPA<13> IDirect3DPalette8_Lock2_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
7, // Count == 7
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x02, 0x24 },
|
||||
{ 0x06, 0x8B },
|
||||
{ 0x0A, 0x75 },
|
||||
{ 0x12, 0x8B },
|
||||
{ 0x13, 0x46 },
|
||||
{ 0x16, 0x00 },
|
||||
{ 0x1A, 0x5E },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetTransform
|
||||
// ******************************************************************
|
||||
|
@ -270,6 +505,85 @@ SOOVPA<8> IDirect3DDevice8_SetTransform_1_0_5558 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_GetBackBuffer2
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
12, // Count == 12
|
||||
|
||||
-1, // XRef Not Saved
|
||||
0, // XRef Not Used
|
||||
|
||||
{
|
||||
// IDirect3DDevice8_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF
|
||||
{ 0x04, 0x83 }, // (Offset,Value)-Pair #1
|
||||
{ 0x05, 0xF8 }, // (Offset,Value)-Pair #2
|
||||
{ 0x06, 0xFF }, // (Offset,Value)-Pair #3
|
||||
|
||||
// IDirect3DDevice8_GetBackBuffer2+0x0D : jnz +0x19
|
||||
{ 0x0D, 0x75 }, // (Offset,Value)-Pair #4
|
||||
{ 0x0E, 0x19 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// IDirect3DDevice8_GetBackBuffer2+0x18 : mov esi, [ecx+eax*4+0x21C0]
|
||||
{ 0x15, 0x8B }, // (Offset,Value)-Pair #6
|
||||
{ 0x16, 0xB4 }, // (Offset,Value)-Pair #7
|
||||
{ 0x17, 0x81 }, // (Offset,Value)-Pair #8
|
||||
{ 0x18, 0x04 }, // (Offset,Value)-Pair #9
|
||||
{ 0x19, 0x1A }, // (Offset,Value)-Pair #10
|
||||
|
||||
// IDirect3DDevice8_GetBackBuffer2+0x40 : retn 0x04
|
||||
{ 0x40, 0xC2 }, // (Offset,Value)-Pair #11
|
||||
{ 0x41, 0x04 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DDevice8_SetShaderConstantMode
|
||||
// ******************************************************************
|
||||
SOOVPA<12> IDirect3DDevice8_SetShaderConstantMode_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x1D, 0xFD },
|
||||
{ 0x3C, 0x8B },
|
||||
{ 0x5B, 0x0B },
|
||||
{ 0x7A, 0x56 },
|
||||
{ 0x99, 0xC0 },
|
||||
{ 0xB8, 0x00 },
|
||||
{ 0xD7, 0x89 },
|
||||
{ 0xF6, 0x00 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * IDirect3DTexture8_LockRect
|
||||
// ******************************************************************
|
||||
SOOVPA<17> IDirect3DTexture8_LockRect_1_0_5558 =
|
||||
{
|
||||
0, // Large == 0
|
||||
7, // Count == 7
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x03, 0x14 },
|
||||
{ 0x08, 0x8B },
|
||||
{ 0x0D, 0x8B },
|
||||
{ 0x12, 0x8B },
|
||||
{ 0x17, 0x50 },
|
||||
{ 0x20, 0xC2 },
|
||||
{ 0x21, 0x14 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * D3D8_1_0_5558
|
||||
// ******************************************************************
|
||||
|
@ -285,6 +599,26 @@ OOVPATable D3D8_1_0_5558[] =
|
|||
"EmuIDirect3D8_CreateDevice"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::LoadVertexShader
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_LoadVertexShader_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_LoadVertexShader,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_LoadVertexShader"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SelectVertexShader
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SelectVertexShader_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SelectVertexShader,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SelectVertexShader"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::Clear
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_Clear_1_0_5558,
|
||||
|
@ -295,6 +629,26 @@ OOVPATable D3D8_1_0_5558[] =
|
|||
"EmuIDirect3DDevice8_Clear"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::CreatePalette2
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_CreatePalette2_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_CreatePalette2,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_CreatePalette2"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetPalette
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetPalette_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetPalette,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetPalette"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::Swap
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_Swap_1_0_5558,
|
||||
|
@ -305,6 +659,16 @@ OOVPATable D3D8_1_0_5558[] =
|
|||
"EmuIDirect3DDevice8_Swap"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::BlockUntilVerticalBlank
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_BlockUntilVerticalBlank_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_BlockUntilVerticalBlank,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_BlockUntilVerticalBlank"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetPixelShader
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetPixelShader_1_0_5558,
|
||||
|
@ -455,6 +819,56 @@ OOVPATable D3D8_1_0_5558[] =
|
|||
"EmuIDirect3DDevice8_SetRenderState_ZEnable"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_StencilEnable (* unchanged since 4361 *)
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_StencilEnable_1_0_4361,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_StencilEnable,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_StencilEnable"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_StencilFail (* unchanged since 4432 *)
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_StencilFail_1_0_4432,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetRenderState_StencilFail,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetRenderState_StencilFail"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetLight
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetLight_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetLight,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetLight"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetMaterial
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetMaterial_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetMaterial,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetMaterial"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::LightEnable
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_LightEnable_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_LightEnable,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_LightEnable"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetRenderState_OcclusionCullEnable (* unchanged since 4432 *)
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetRenderState_OcclusionCullEnable_1_0_4432,
|
||||
|
@ -545,6 +959,36 @@ OOVPATable D3D8_1_0_5558[] =
|
|||
"EmuIDirect3DDevice8_SetStreamSource"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetViewport
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetViewport_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetViewport,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetViewport"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::GetBackBuffer2
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_GetBackBuffer2_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_GetBackBuffer2,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_GetBackBuffer2"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DDevice8::SetShaderConstantMode
|
||||
{
|
||||
(OOVPA*)&IDirect3DDevice8_SetShaderConstantMode_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DDevice8_SetShaderConstantMode,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DDevice8_SetShaderConstantMode"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DResource8::AddRef (* unchanged since 3925 *)
|
||||
{
|
||||
(OOVPA*)&IDirect3DResource8_AddRef_1_0_3925,
|
||||
|
@ -575,6 +1019,26 @@ OOVPATable D3D8_1_0_5558[] =
|
|||
"EmuIDirect3DSurface8_GetDesc"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DPalette8::Lock2
|
||||
{
|
||||
(OOVPA*)&IDirect3DPalette8_Lock2_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DPalette8_Lock2,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DPalette8_Lock2"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DTexture8::LockRect
|
||||
{
|
||||
(OOVPA*)&IDirect3DTexture8_LockRect_1_0_5558,
|
||||
|
||||
XTL::EmuIDirect3DTexture8_LockRect,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuIDirect3DTexture8_LockRect"
|
||||
#endif
|
||||
},
|
||||
// IDirect3DSurface8::LockRect (* unchanged since 4361 *)
|
||||
{
|
||||
(OOVPA*)&IDirect3DSurface8_LockRect_1_0_4361,
|
||||
|
|
|
@ -93,18 +93,18 @@ SOOVPA<12> IDirect3DDevice8_GetBackBuffer2_1_0_5849 =
|
|||
{ 0x05, 0xF8 }, // (Offset,Value)-Pair #2
|
||||
{ 0x06, 0xFF }, // (Offset,Value)-Pair #3
|
||||
|
||||
// IDirect3DDevice8_GetBackBuffer+0x0D : jnz +0x19
|
||||
// IDirect3DDevice8_GetBackBuffer2+0x0D : jnz +0x19
|
||||
{ 0x0D, 0x75 }, // (Offset,Value)-Pair #4
|
||||
{ 0x0E, 0x19 }, // (Offset,Value)-Pair #5
|
||||
|
||||
// IDirect3DDevice8_GetBackBuffer+0x18 : mov esi, [ecx+eax*4+0x21C0]
|
||||
// IDirect3DDevice8_GetBackBuffer2+0x18 : mov esi, [ecx+eax*4+0x21C0]
|
||||
{ 0x15, 0x8B }, // (Offset,Value)-Pair #6
|
||||
{ 0x16, 0xB4 }, // (Offset,Value)-Pair #7
|
||||
{ 0x17, 0x81 }, // (Offset,Value)-Pair #8
|
||||
{ 0x18, 0x14 }, // (Offset,Value)-Pair #9
|
||||
{ 0x19, 0x1A }, // (Offset,Value)-Pair #10
|
||||
|
||||
// IDirect3DDevice8_GetBackBuffer+0x40 : retn 0x04
|
||||
// IDirect3DDevice8_GetBackBuffer2+0x40 : retn 0x04
|
||||
{ 0x40, 0xC2 }, // (Offset,Value)-Pair #11
|
||||
{ 0x41, 0x04 }, // (Offset,Value)-Pair #12
|
||||
}
|
||||
|
|
|
@ -216,6 +216,29 @@ SOOVPA<8> XapiInitProcess_1_0_5558 =
|
|||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * XapiInitProcess
|
||||
// ******************************************************************
|
||||
SOOVPA<8> XapiInitProcess_1_0_5659 =
|
||||
{
|
||||
0, // Large == 0
|
||||
8, // Count == 8
|
||||
|
||||
-1, // Xref Not Saved
|
||||
0, // Xref Not Used
|
||||
|
||||
{
|
||||
{ 0x22, 0x6A },
|
||||
{ 0x3E, 0x01 },
|
||||
{ 0x5E, 0xEB },
|
||||
{ 0x7E, 0x8B },
|
||||
{ 0x9F, 0x68 },
|
||||
{ 0xBE, 0x01 },
|
||||
{ 0xDE, 0x6A },
|
||||
{ 0xFE, 0x02 },
|
||||
}
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * XAPI_1_0_5558
|
||||
// ******************************************************************
|
||||
|
@ -391,6 +414,16 @@ OOVPATable XAPI_1_0_5558[] =
|
|||
"EmuXapiInitProcess"
|
||||
#endif
|
||||
},
|
||||
// XapiInitProcess
|
||||
{
|
||||
(OOVPA*)&XapiInitProcess_1_0_5659,
|
||||
|
||||
XTL::EmuXapiInitProcess,
|
||||
|
||||
#ifdef _DEBUG_TRACE
|
||||
"EmuXapiInitProcess"
|
||||
#endif
|
||||
},
|
||||
// XapiBootToDash (* unchanged since 1.0.3911 *)
|
||||
{
|
||||
(OOVPA*)&XapiBootDash_1_0_3911,
|
||||
|
|
Loading…
Reference in New Issue