From def4463ae2d76ad8f99f2724687c7a4bf50f245a Mon Sep 17 00:00:00 2001 From: jarupxx Date: Mon, 3 Apr 2017 20:37:39 +0900 Subject: [PATCH] Added the GetLight (3925-5849) Based on Dxbx patterns --- src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl | 24 ++++++++++++++++++++++ src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl | 2 +- src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl | 1 + src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl | 1 + 12 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index 87723ce0c..6df0df70e 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -2650,6 +2650,29 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_Deferred, 3925, 9) { 0x14, 0xC3 }, 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 // ****************************************************************** @@ -3750,6 +3773,7 @@ OOVPATable D3D8_3925[] = { REGISTER_OOVPA(D3DResource_GetType, 3925, DISABLED), // Probably not even necessary... REGISTER_OOVPA(D3D_AllocContiguousMemory, 3925, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH // REGISTER_OOVPA(D3DDevice_SetRenderState_Deferred, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 3925, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index d064c319b..8b0e6f8f3 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -1240,6 +1240,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3925, DISABLED), REGISTER_OOVPA(D3DSurface_GetDesc, 3925, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 4034, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index d65a4df95..da5e27841 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -2084,6 +2084,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_DrawVertices, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 4134, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index c8114e8ef..2c8a52aa7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -1865,6 +1865,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_DrawVertices, 4361, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4361, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index c409160b8..bf783b0e2 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -750,6 +750,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetStreamSource, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4361, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 4361, PATCH), REGISTER_OOVPA(D3DResource_Register, 3925, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index f03f3d67f..4bf42d935 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -3203,6 +3203,7 @@ REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 4361, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, ALIAS, D3DDevice_DrawVerticesUPB), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 4361, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index 09ad282ca..b45d8b346 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -889,6 +889,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 5028, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 47de5d05f..b7725bca7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -1057,6 +1057,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetTransform, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4361, PATCH), REGISTER_OOVPA(D3D_GetDeviceCaps, 5233, DISABLED), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5233, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5233, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5233, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index e98f4db96..7b18d3c27 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -784,7 +784,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetTransform, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4361, PATCH), 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_LightEnable, 5233, DISABLED), REGISTER_OOVPA(D3DDevice_LightEnable, 5344, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index 9d5a728fe..221673aad 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -1530,6 +1530,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilFail, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 5558, PATCH), REGISTER_OOVPA(D3DDevice_LightEnable, 5558, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index f7053270d..68a9f51df 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -1339,6 +1339,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DTexture_LockRect, 5558, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 5788, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index 4ed08be7d..a855d35aa 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -1396,6 +1396,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DSurface_LockRect, 3925, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 4361, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetLight, 3925, PATCH), REGISTER_OOVPA(D3DDevice_SetLight, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5849, PATCH), REGISTER_OOVPA(D3DVertexBuffer_Lock, 5849, PATCH),