Merge pull request #319 from jarupxx/getlight
Implemented D3DDevice_GetLight function
This commit is contained in:
commit
9204b71167
|
@ -8089,6 +8089,31 @@ VOID WINAPI XTL::EMUPATCH(D3DDevice_DrawIndexedVerticesUP)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ******************************************************************
|
||||||
|
// * patch: D3DDevice_GetLight
|
||||||
|
// ******************************************************************
|
||||||
|
HRESULT WINAPI XTL::EMUPATCH(D3DDevice_GetLight)
|
||||||
|
(
|
||||||
|
DWORD Index,
|
||||||
|
D3DLIGHT8 *pLight
|
||||||
|
)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
DbgPrintf("EmuD3D8: EmuD3DDevice_GetLight\n"
|
||||||
|
"(\n"
|
||||||
|
" Index : 0x%.08X\n"
|
||||||
|
" pLight : 0x%.08X\n"
|
||||||
|
");\n",
|
||||||
|
Index, pLight);
|
||||||
|
|
||||||
|
HRESULT hRet = g_pD3DDevice8->GetLight(Index, pLight);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return hRet;
|
||||||
|
}
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
// * patch: D3DDevice_SetLight
|
// * patch: D3DDevice_SetLight
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
|
|
@ -1278,6 +1278,15 @@ VOID WINAPI EMUPATCH(D3DDevice_DrawIndexedVerticesUP)
|
||||||
UINT VertexStreamZeroStride
|
UINT VertexStreamZeroStride
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// ******************************************************************
|
||||||
|
// * patch: D3DDevice_GetLight
|
||||||
|
// ******************************************************************
|
||||||
|
HRESULT WINAPI EMUPATCH(D3DDevice_GetLight)
|
||||||
|
(
|
||||||
|
DWORD Index,
|
||||||
|
D3DLIGHT8 *pLight
|
||||||
|
);
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
// * patch: D3DDevice_SetLight
|
// * patch: D3DDevice_SetLight
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
|
|
@ -2651,6 +2651,29 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Deferred, 3925, 9)
|
||||||
{ 0x14, 0xC3 },
|
{ 0x14, 0xC3 },
|
||||||
OOVPA_END;
|
OOVPA_END;
|
||||||
|
|
||||||
|
// ******************************************************************
|
||||||
|
// * D3DDevice_GetLight
|
||||||
|
// ******************************************************************
|
||||||
|
OOVPA_NO_XREF(D3DDevice_GetLight, 3925, 10)
|
||||||
|
// Based on Dxbx patterns for 3911, 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933
|
||||||
|
|
||||||
|
// D3DDevice_GetLight+0x0B : mov esi, [ecx+XXXh]
|
||||||
|
{ 0x0B, 0x8B }, // (Offset,Value)-Pair #1
|
||||||
|
{ 0x0C, 0xB1 }, // (Offset,Value)-Pair #2
|
||||||
|
{ 0x0F, 0x00 }, // (Offset,Value)-Pair #3
|
||||||
|
{ 0x10, 0x00 }, // (Offset,Value)-Pair #4
|
||||||
|
|
||||||
|
// D3DDevice_GetLight+0x12 : mov edi, [esp+8+arg_4]
|
||||||
|
{ 0x12, 0x8B }, // (Offset,Value)-Pair #5
|
||||||
|
{ 0x13, 0x7C }, // (Offset,Value)-Pair #6
|
||||||
|
{ 0x14, 0x24 }, // (Offset,Value)-Pair #7
|
||||||
|
{ 0x15, 0x10 }, // (Offset,Value)-Pair #8
|
||||||
|
|
||||||
|
// D3DDevice_GetLight+0x1F : mov ecx, 1Ah
|
||||||
|
{ 0x1E, 0xB9 }, // (Offset,Value)-Pair #9
|
||||||
|
{ 0x1F, 0x1A }, // (Offset,Value)-Pair #10
|
||||||
|
OOVPA_END;
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
// * D3DDevice_SetLight
|
// * D3DDevice_SetLight
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
@ -3751,6 +3774,7 @@ OOVPATable D3D8_3925[] = {
|
||||||
REGISTER_OOVPA(D3DResource_GetType, 3925, DISABLED), // Probably not even necessary...
|
REGISTER_OOVPA(D3DResource_GetType, 3925, DISABLED), // Probably not even necessary...
|
||||||
REGISTER_OOVPA(D3D_AllocContiguousMemory, 3925, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH
|
REGISTER_OOVPA(D3D_AllocContiguousMemory, 3925, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH
|
||||||
// REGISTER_OOVPA(D3DDevice_SetRenderState_Deferred, 3925, PATCH),
|
// REGISTER_OOVPA(D3DDevice_SetRenderState_Deferred, 3925, PATCH),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 3925, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_LightEnable, 3925, PATCH),
|
REGISTER_OOVPA(D3DDevice_LightEnable, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH),
|
REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH),
|
||||||
|
|
|
@ -1240,6 +1240,7 @@ OOVPATable D3D8_4034[] = {
|
||||||
REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH),
|
||||||
REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3925, DISABLED),
|
REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3925, DISABLED),
|
||||||
REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH),
|
REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 4034, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 4034, PATCH),
|
||||||
REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH),
|
REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH),
|
||||||
|
|
|
@ -2084,6 +2084,7 @@ OOVPATable D3D8_4134[] = {
|
||||||
REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_LightEnable, 4134, PATCH),
|
REGISTER_OOVPA(D3DDevice_LightEnable, 4134, PATCH),
|
||||||
|
|
|
@ -1865,6 +1865,7 @@ OOVPATable D3D8_4361[] = {
|
||||||
REGISTER_OOVPA(D3DDevice_DrawVertices, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawVertices, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4361, PATCH),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetMaterial, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetMaterial, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_LightEnable, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_LightEnable, 4361, PATCH),
|
||||||
|
|
|
@ -750,6 +750,7 @@ OOVPATable D3D8_4432[] {
|
||||||
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetVertexShader, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetVertexShader, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4361, PATCH),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_LightEnable, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_LightEnable, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DResource_Register, 3925, PATCH),
|
REGISTER_OOVPA(D3DResource_Register, 3925, PATCH),
|
||||||
|
|
|
@ -3205,6 +3205,7 @@ REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawVertices, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawVertices, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, ALIAS, D3DDevice_DrawVerticesUPB),
|
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, ALIAS, D3DDevice_DrawVerticesUPB),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4627, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4627, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH),
|
||||||
|
|
|
@ -889,6 +889,7 @@ OOVPATable D3D8_5028[] = {
|
||||||
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 5028, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 5028, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH),
|
||||||
|
|
|
@ -1057,6 +1057,7 @@ OOVPATable D3D8_5233[] = {
|
||||||
REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3D_GetDeviceCaps, 5233, DISABLED),
|
REGISTER_OOVPA(D3D_GetDeviceCaps, 5233, DISABLED),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 5233, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 5233, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_LightEnable, 5233, PATCH),
|
REGISTER_OOVPA(D3DDevice_LightEnable, 5233, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5233, PATCH),
|
REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5233, PATCH),
|
||||||
|
|
|
@ -904,7 +904,7 @@ OOVPATable D3D8_5344[] = {
|
||||||
REGISTER_OOVPA(D3DDevice_SetTransform, 5344, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetTransform, 5344, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetStreamSource, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3D_GetDeviceCaps, 5233, DISABLED),
|
REGISTER_OOVPA(D3D_GetDeviceCaps, 5233, DISABLED),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 5233, DISABLED),
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 5344, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 5344, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_LightEnable, 5233, DISABLED),
|
REGISTER_OOVPA(D3DDevice_LightEnable, 5233, DISABLED),
|
||||||
REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH),
|
REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH),
|
||||||
|
|
|
@ -1541,6 +1541,7 @@ OOVPATable D3D8_5558[] = {
|
||||||
REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5233, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5233, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4361, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetMaterial, 5558, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetMaterial, 5558, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_LightEnable, 5558, PATCH),
|
REGISTER_OOVPA(D3DDevice_LightEnable, 5558, PATCH),
|
||||||
|
|
|
@ -1339,6 +1339,7 @@ OOVPATable D3D8_5788[] = {
|
||||||
REGISTER_OOVPA(D3DTexture_LockRect, 5558, PATCH),
|
REGISTER_OOVPA(D3DTexture_LockRect, 5558, PATCH),
|
||||||
REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH),
|
REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 4361, PATCH),
|
REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 4361, PATCH),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH),
|
||||||
REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH),
|
REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH),
|
||||||
REGISTER_OOVPA(D3DTexture_LockRect, 5788, PATCH),
|
REGISTER_OOVPA(D3DTexture_LockRect, 5788, PATCH),
|
||||||
|
|
|
@ -1397,6 +1397,7 @@ OOVPATable D3D8_5849[] = {
|
||||||
REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH),
|
REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 4361, PATCH),
|
REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 4361, PATCH),
|
||||||
REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH),
|
REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH),
|
||||||
|
REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH),
|
REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH),
|
||||||
REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5849, PATCH),
|
REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5849, PATCH),
|
||||||
REGISTER_OOVPA(D3DVertexBuffer_Lock, 5849, PATCH),
|
REGISTER_OOVPA(D3DVertexBuffer_Lock, 5849, PATCH),
|
||||||
|
|
Loading…
Reference in New Issue