diff --git a/src/CxbxKrnl/EmuD3D8.cpp b/src/CxbxKrnl/EmuD3D8.cpp index a2f7552a6..8d825c428 100644 --- a/src/CxbxKrnl/EmuD3D8.cpp +++ b/src/CxbxKrnl/EmuD3D8.cpp @@ -9905,13 +9905,13 @@ HRESULT WINAPI XTL::EMUPATCH(D3DDevice_PersistDisplay)() // ****************************************************************** -// * patch: D3DDevice_Unknown1 +// * patch: D3D_CMiniport_GetDisplayCapabilities // ****************************************************************** -void WINAPI XTL::EMUPATCH(D3DDevice_Unknown1)() +void WINAPI XTL::EMUPATCH(D3D_CMiniport_GetDisplayCapabilities)() { FUNC_EXPORTS - DbgPrintf("EmuD3D8: EmuD3DDevice_Unknown1()\n"); + DbgPrintf("EmuD3D8: EmuD3D_CMiniport_GetDisplayCapabilities()\n"); // TODO: Find out what this actually is. // This function was only found in Run Like Hell (5233) @ 0x11FCD0. diff --git a/src/CxbxKrnl/EmuD3D8.h b/src/CxbxKrnl/EmuD3D8.h index 04ae8db2d..77a45b2bb 100644 --- a/src/CxbxKrnl/EmuD3D8.h +++ b/src/CxbxKrnl/EmuD3D8.h @@ -1754,9 +1754,9 @@ HRESULT WINAPI EMUPATCH(D3DDevice_GetPersistedSurface)(X_D3DSurface **ppSurface) X_D3DSurface* WINAPI EMUPATCH(D3DDevice_GetPersistedSurface2)(); // ****************************************************************** -// * patch: D3DDevice_Unknown1 +// * patch: D3D_CMiniport_GetDisplayCapabilities // ****************************************************************** -void WINAPI EMUPATCH(D3DDevice_Unknown1)(); +void WINAPI EMUPATCH(D3D_CMiniport_GetDisplayCapabilities)(); // ****************************************************************** // * patch: D3DDevice_PrimeVertexCache diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index c0afd03e0..0c41b4990 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -551,22 +551,29 @@ OOVPA_NO_XREF(D3DDevice_SetSoftDisplayFilter, 5233, 12) OOVPA_END; // ****************************************************************** -// * D3DDevice_Unknown1 +// * D3D_CMiniport_GetDisplayCapabilities // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_Unknown1, 5233, 9) +OOVPA_NO_XREF(D3D_CMiniport_GetDisplayCapabilities, 5233, 10) - // D3DDevice_Unknown1+0x00 : xor eax, eax - { 0x00, 0x33 }, - { 0x01, 0xC0 }, - // D3DDevice_Unknown1+0x13 : call ds:AvSendTVEncoderOption - { 0x13, 0xFF }, - { 0x14, 0x15 }, - { 0x15, 0x08 }, - { 0x16, 0x94 }, - { 0x17, 0x19 }, - { 0x18, 0x00 }, - // D3DDevice_Unknown1+0x1E : retn - { 0x1E, 0xC3 }, + // D3D_CMiniport_GetDisplayCapabilities+0x00 : xor eax, eax + { 0x00, 0x33 }, // (Offset,Value)-Pair #1 + { 0x01, 0xC0 }, // (Offset,Value)-Pair #2 + + // D3D_CMiniport_GetDisplayCapabilities+0x02 : cmp ds:_D3D__AvInfo, eax + { 0x02, 0x39 }, // (Offset,Value)-Pair #3 + { 0x03, 0x05 }, // (Offset,Value)-Pair #4 + + // D3D_CMiniport_GetDisplayCapabilities+0x10 : push 6, push eax + { 0x10, 0x6A }, // (Offset,Value)-Pair #5 + { 0x11, 0x06 }, // (Offset,Value)-Pair #6 + { 0x12, 0x50 }, // (Offset,Value)-Pair #7 + + // D3D_CMiniport_GetDisplayCapabilities+0x13 : call ds:AvSendTVEncoderOption + { 0x13, 0xFF }, // (Offset,Value)-Pair #8 + { 0x14, 0x15 }, // (Offset,Value)-Pair #9 + + // D3D_CMiniport_GetDisplayCapabilities+0x1E : retn + { 0x1E, 0xC3 }, // (Offset,Value)-Pair #10 OOVPA_END; // ****************************************************************** @@ -742,7 +749,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetCreationParameters, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 5233, PATCH), - // REGISTER_OOVPA(D3DDevice_Unknown1, 5233, PATCH) + REGISTER_OOVPA(D3D_CMiniport_GetDisplayCapabilities, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4134, PATCH), // Beware of the typo... REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4627, PATCH),