diff --git a/src/CxbxKrnl/HLEDataBase.h b/src/CxbxKrnl/HLEDataBase.h index 7490c7790..b4af21dc2 100644 --- a/src/CxbxKrnl/HLEDataBase.h +++ b/src/CxbxKrnl/HLEDataBase.h @@ -172,18 +172,26 @@ enum XRefDataBaseOffset XREF_D3D_BlockOnTime, XREF_D3D_CreateStandAloneSurface, XREF_D3D_SetFence, + XREF_D3D_SetTileNoWait, XREF_D3D_KickOffAndWaitForIdle, XREF_D3D_MakeRequestedSpace, - XREF_D3D_KickOff, + XREF_D3D_CDevice_KickOff, XREF_D3DPalette_Lock2, XREF_D3DTexture_GetSurfaceLevel2, XREF_D3DDevice_CreatePalette2, XREF_D3DDevice_CreateIndexBuffer2, + XREF_D3DDevice_CreateVertexBuffer2, + XREF_D3DDevice_GetBackBuffer2, + XREF_D3DDevice_GetDepthStencilSurface2, + XREF_D3DDevice_GetRenderTarget2, XREF_D3DResource_AddRef, + XREF_D3DVertexBuffer_Lock2, XREF_XnInit, XREF_XID_fCloseDevice, XREF_D3D_ClearStateBlockFlags, XREF_D3D_RecordStateBlock, + XREF_Lock2DSurface, + XREF_Lock3DSurface, XREF_CDirectSound_SetDistanceFactor, XREF_CMcpxAPU_Set3dDistanceFactor, XREF_CDirectSound_SetRolloffFactor, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl index 3658789c5..21caad432 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3911.inl @@ -71,7 +71,7 @@ OOVPA_XREF(D3DDevice_GetTexture2, 3911, 1 + 21, // Also for 4361 XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived #endif -OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 21) // Also for 4361 +OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 23) // Also for 3948 { 0x00, 0x8B }, { 0x01, 0x44 }, @@ -84,7 +84,8 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 21) // Also for 4361 { 0x0B, 0x8D }, { 0x0C, 0xB4 }, { 0x0D, 0x81 }, - + { 0x0E, 0xA0 }, // GetTexture A00B vs GetPalette B00B + { 0x0F, 0x0B }, { 0x10, 0x00 }, { 0x11, 0x00 }, { 0x12, 0x8B }, @@ -803,7 +804,10 @@ OOVPA_END; // ****************************************************************** // * Lock3DSurface // ****************************************************************** -OOVPA_NO_XREF(Lock3DSurface, 3911, 11) +OOVPA_XREF(Lock3DSurface, 3911, 11, + + XREF_Lock3DSurface, + XRefZero) // D3D::PixelJar::Lock3DSurface + 0x08: test bl, 0x20 { 0x08, 0xF6 }, @@ -1260,7 +1264,10 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 3911, 10) +OOVPA_XREF(D3DDevice_KickOff, 3911, 10, + + XREF_D3D_CDevice_KickOff, + XRefZero) { 0x01, 0xA1 }, @@ -2698,6 +2705,20 @@ OOVPA_NO_XREF(D3DTexture_LockRect, 3911, 17) { 0x21, 0x14 }, OOVPA_END; +// ****************************************************************** +// * D3DVolumeTexture_LockBox +// ****************************************************************** +OOVPA_XREF(D3DVolumeTexture_LockBox, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_Lock3DSurface ), + + { 0x00, 0xE9 }, +OOVPA_END; + +#if 0 // only perform a jmp to Lock3DSurface // ****************************************************************** // * D3DVolumeTexture_LockBox // ****************************************************************** @@ -2722,7 +2743,22 @@ OOVPA_NO_XREF(D3DVolumeTexture_LockBox, 3911, 11) { 0x99, 0xC2 }, { 0x9A, 0x14 }, OOVPA_END; +#endif +// ****************************************************************** +// * D3DCubeTexture_LockRect +// ****************************************************************** +OOVPA_XREF(D3DCubeTexture_LockRect, 3911, 2, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_Lock2DSurface ), + + { 0x00, 0xE9 }, +OOVPA_END; + +#if 0 // only perform a jmp to Lock2DSurface // ****************************************************************** // * D3DCubeTexture_LockRect // ****************************************************************** @@ -2747,6 +2783,7 @@ OOVPA_NO_XREF(D3DCubeTexture_LockRect, 3911, 11) { 0x98, 0xC2 }, { 0x99, 0x18 }, OOVPA_END; +#endif // ****************************************************************** // * D3DTexture_GetSurfaceLevel @@ -2784,7 +2821,10 @@ OOVPA_END; // ****************************************************************** // * Lock2DSurface // ****************************************************************** -OOVPA_NO_XREF(Lock2DSurface, 3911, 11) +OOVPA_XREF(Lock2DSurface, 3911, 11, + + XREF_Lock2DSurface, + XRefZero) { 0x06, 0xF6 }, { 0x07, 0xC3 }, @@ -4455,7 +4495,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTile, 3911, 9) +OOVPA_NO_XREF(D3DDevice_SetTile, 3911, 13) // D3DDevice_SetTile+0x06 : sub esp, 0x18 { 0x06, 0x83 }, @@ -4471,6 +4511,12 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 3911, 9) { 0x7E, 0x83 }, { 0x7F, 0xC4 }, { 0x80, 0x18 }, + + // D3DDevice_SetTile+0x7E : mov ecx, [esi+21D0h] + { 0x8E, 0x8B }, + { 0x8F, 0x8E }, + { 0x90, 0xD0 }, + { 0x91, 0x21 }, OOVPA_END; // ****************************************************************** @@ -4926,3 +4972,39 @@ OOVPA_NO_XREF(D3DDevice_DeletePatch, 3911, 19) { 0x25, 0xE8 }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_KickPushBuffer +// ****************************************************************** +OOVPA_XREF(D3DDevice_KickPushBuffer, 3911, 4, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x07, XREF_D3D_CDevice_KickOff ), + + { 0x00, 0x8B }, + { 0x01, 0x0D }, + { 0x06, 0xE9 }, +OOVPA_END; + +// ****************************************************************** +// * CMiniport_IsFlipPending +// ****************************************************************** +OOVPA_NO_XREF(CMiniport_IsFlipPending, 3911, 14) + + { 0x00, 0x8B }, + { 0x01, 0x81 }, + { 0x02, 0xDC }, + { 0x03, 0x01 }, + { 0x04, 0x00 }, + { 0x05, 0x00 }, + { 0x06, 0x8B }, + { 0x07, 0x84 }, + { 0x08, 0xC1 }, + { 0x09, 0xB4 }, + { 0x0A, 0x01 }, + { 0x0B, 0x00 }, + { 0x0C, 0x00 }, + { 0x0D, 0xC3 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl index fd2d38f8d..7aa1ea9b1 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.3925.inl @@ -4851,11 +4851,11 @@ OOVPATable D3D8_3925[] = { REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl index 8979e3775..4c1f0ac3d 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4034.inl @@ -537,7 +537,34 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_FillMode, 4034, 8) { 0x40, 0x5E }, OOVPA_END; -#if 0 // No longer used, replaced by generic 3911 version +// ****************************************************************** +// * D3DDevice_SetRenderState_BackFillMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4034, 13) + + // D3DDevice_SetRenderState_BackFillMode+0x1C : jb +0x05 + { 0x1C, 0x72 }, + { 0x1D, 0x05 }, + + // D3DDevice_SetRenderState_BackFillMode+0x35 : mov dword ptr [eax], abs + { 0x35, 0xC7 }, + { 0x36, 0x00 }, + + // D3DDevice_SetRenderState_BackFillMode+0x41 : add eax, 0x0C; mov [esi], eax; mov [abs], edi + { 0x41, 0x83 }, + { 0x42, 0xC0 }, + { 0x43, 0x0C }, + { 0x44, 0x89 }, + { 0x45, 0x06 }, + { 0x46, 0x89 }, + { 0x47, 0x3D }, + + // D3DDevice_SetRenderState_BackFillMode+0x4E : retn 0x04 + { 0x4E, 0xC2 }, + { 0x4F, 0x04 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** @@ -1275,6 +1302,44 @@ OOVPA_NO_XREF(D3D_KickOffAndWaitForIdle, 4034, 9) { 0x10, 0xC3 }, OOVPA_END; +// ****************************************************************** +// * D3D::CreateStandAloneSurface +// ****************************************************************** +OOVPA_XREF(D3D_CreateStandAloneSurface, 4034, 12, + + XREF_D3D_CreateStandAloneSurface, + XRefZero) + + { 0x01, 0x54 }, + + { 0x17, 0x14 }, + { 0x18, 0x6A }, + { 0x19, 0x00 }, + { 0x1A, 0x6A }, + { 0x1B, 0x00 }, + { 0x1C, 0x6A }, + { 0x1D, 0x00 }, + { 0x1E, 0x52 }, + { 0x1F, 0x6A }, + + { 0x36, 0xF0 }, + { 0x4B, 0x15 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_CreateImageSurface +// ****************************************************************** +OOVPA_XREF(D3DDevice_CreateImageSurface, 4034, 2, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_D3D_CreateStandAloneSurface), + + { 0x00, 0xE9 }, +OOVPA_END; + +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_CreateImageSurface // ****************************************************************** @@ -1297,6 +1362,7 @@ OOVPA_NO_XREF(D3DDevice_CreateImageSurface, 4034, 9) { 0x61, 0xC2 }, { 0x62, 0x10 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetBackBuffer @@ -1351,7 +1417,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetTransform // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetTransform, 4039, 12) +OOVPA_NO_XREF(D3DDevice_GetTransform, 4034, 12) // D3DDevice_GetTransform+0x0A : shl ecx, 0x06 { 0x0A, 0xC1 }, @@ -1379,7 +1445,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SelectVertexShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4039, 12) +OOVPA_NO_XREF(D3DDevice_SelectVertexShader, 4034, 12) // D3DDevice_SelectVertexShader+0x00 : mov eax, [esp+4] { 0x00, 0x8B }, @@ -1403,7 +1469,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4039, 11) +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4034, 11) // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 { 0x05, 0x6A }, @@ -1444,7 +1510,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetPixelShader // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4039, 12) +OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4034, 12) { 0x00, 0x8B }, { 0x01, 0x44 }, @@ -1486,7 +1552,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetShaderConstantMode // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 4039, 9) +OOVPA_NO_XREF(D3DDevice_SetShaderConstantMode, 4034, 9) { 0x08, 0x1D }, { 0x1A, 0x81 }, @@ -2139,7 +2205,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTextureState_BumpEnv // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 4039, 12) +OOVPA_NO_XREF(D3DDevice_SetTextureState_BumpEnv, 4034, 12) // D3DDevice_SetTextureState_BumpEnv+0x18 : jnz +0x03 { 0x18, 0x75 }, @@ -2165,7 +2231,10 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 4039, 15) +OOVPA_XREF(D3DDevice_KickOff, 4034, 15, + + XREF_D3D_CDevice_KickOff, + XRefZero) { 0x00, 0x51 }, { 0x0E, 0x04 }, @@ -2238,7 +2307,7 @@ OOVPA_END; // ****************************************************************** // * D3D::SetFence // ****************************************************************** -OOVPA_XREF(D3D_SetFence, 4039, 16, +OOVPA_XREF(D3D_SetFence, 4034, 16, XREF_D3D_SetFence, XRefZero) @@ -2308,7 +2377,7 @@ OOVPA_END; // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -OOVPA_XREF(D3D_BlockOnTime, 4039, 10, +OOVPA_XREF(D3D_BlockOnTime, 4034, 10, XREF_D3D_BlockOnTime, XRefZero) @@ -2351,7 +2420,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetTile, 4039, 12) +OOVPA_NO_XREF(D3DDevice_SetTile, 4034, 12) { 0x05, 0x1D }, @@ -2474,7 +2543,7 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_SetScreenSpaceOffset // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 4039, 11) // Up to 5344 +OOVPA_NO_XREF(D3DDevice_SetScreenSpaceOffset, 4034, 11) // Up to 5344 { 0x06, 0x56 }, { 0x07, 0xD8 }, @@ -2493,7 +2562,7 @@ OOVPA_END; // ****************************************************************** // * D3D::LazySetPointParams // ****************************************************************** -OOVPA_NO_XREF(D3D_LazySetPointParams, 4039, 7) +OOVPA_NO_XREF(D3D_LazySetPointParams, 4034, 7) { 0x00, 0x83 }, { 0x01, 0xEC }, { 0x02, 0x14 }, @@ -2543,13 +2612,13 @@ OOVPATable D3D8_4034[] = { // Tested on version 4039, The Simpsons - Road Rage (PAL) 4039 etc // TODO: This needs to be verified on 4034 // ****************************************************************** - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 4039, PATCH), @@ -2563,23 +2632,23 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), - REGISTER_OOVPA(D3D_SetFence, 4039, XREF), + REGISTER_OOVPA(D3DDevice_KickOff, 4034, PATCH), + REGISTER_OOVPA(D3D_SetFence, 4034, XREF), REGISTER_OOVPA(D3DDevice_RunPushBuffer, 4039, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 4039, XREF), + REGISTER_OOVPA(D3D_BlockOnTime, 4034, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetPixelShader, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 4039, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), // ****************************************************************** REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), @@ -2615,14 +2684,14 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3D_AllocContiguousMemory, 3911, DISABLED), // Just calls MmAllocateContiguousMemory. Was PATCH REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 4034, PATCH), @@ -2640,7 +2709,7 @@ OOVPATable D3D8_4034[] = { REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 3911, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl index ee3439a64..2a4282dab 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4134.inl @@ -394,7 +394,7 @@ OOVPA_NO_XREF(D3DDevice_CopyRects, 4134, 10) { 0xDE, 0x22 }, OOVPA_END; #endif - +#if 0 // Moved to 4034 // ****************************************************************** // * D3D::CreateStandAloneSurface // ****************************************************************** @@ -403,7 +403,8 @@ OOVPA_XREF(D3D_CreateStandAloneSurface, 4134, 12, XREF_D3D_CreateStandAloneSurface, XRefZero) - { 0x02, 0x24 }, + { 0x01, 0x54 }, + { 0x17, 0x14 }, { 0x18, 0x6A }, { 0x19, 0x00 }, @@ -417,7 +418,8 @@ OOVPA_XREF(D3D_CreateStandAloneSurface, 4134, 12, { 0x36, 0xF0 }, { 0x4B, 0x15 }, OOVPA_END; - +#endif +#if 0 // Moved to 4034 // ****************************************************************** // * D3DDevice_CreateImageSurface // ****************************************************************** @@ -430,7 +432,7 @@ OOVPA_XREF(D3DDevice_CreateImageSurface, 4134, 2, { 0x00, 0xE9 }, OOVPA_END; - +#endif #if 0 // Probably ?Lock3DSurface@PixelJar@D3D@@YGXPAUD3DPixelContainer@@IPAU_D3DLOCKED_BOX@@PBU_D3DBOX@@K@Z // ****************************************************************** // * D3DDevice_CreateImageSurface @@ -1004,6 +1006,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 4134, 13) OOVPA_END; #endif +#if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetRenderState_BackFillMode // ****************************************************************** @@ -1017,7 +1020,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4134, 13) { 0x35, 0xC7 }, { 0x36, 0x00 }, - // D3DDevice_SetRenderState_BackFillMode+0x3B : add eax, 0x0C; mov [esi], eax; mov [abs], edi + // D3DDevice_SetRenderState_BackFillMode+0x41 : add eax, 0x0C; mov [esi], eax; mov [abs], edi { 0x41, 0x83 }, { 0x42, 0xC0 }, { 0x43, 0x0C }, @@ -1030,7 +1033,7 @@ OOVPA_NO_XREF(D3DDevice_SetRenderState_BackFillMode, 4134, 13) { 0x4E, 0xC2 }, { 0x4F, 0x04 }, OOVPA_END; - +#endif #if 0 // No longer used, replaced by generic 4034 version // ****************************************************************** // * D3DDevice_SetTextureState_ColorKeyColor @@ -2820,6 +2823,39 @@ OOVPA_XREF(D3DDevice_MakeSpace, 4134, 8, { 0x0E, 0xC3 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetTexture, named with 2 suffix to match EMUPATCH(D3DDevice_GetTexture2) +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTexture2, 4134, 23) // Up to 4531 + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + { 0x0E, 0x78 }, // GetTexture 780A vs GetPalette 880A + { 0x0F, 0x0A }, + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x16 }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -2873,8 +2909,6 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DResource_IsBusy, 4039, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4f, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer, 4134, PATCH), @@ -2884,15 +2918,17 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface REGISTER_OOVPA(D3DDevice_SetGammaRamp, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4034, PATCH), - REGISTER_OOVPA(D3D_CreateStandAloneSurface, 4134, XREF), - REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4134, PATCH), + REGISTER_OOVPA(D3D_CreateStandAloneSurface, 4034, XREF), + REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -2902,7 +2938,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZEnable, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), @@ -2924,7 +2960,7 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), @@ -2943,28 +2979,28 @@ OOVPATable D3D8_4134[] = { REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4034, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 4034, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3D_GetAdapterIdentifier, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4134, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl index 10993fc29..fbf76d914 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4242.inl @@ -136,3 +136,52 @@ OOVPA_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, 1+10, { 0xB4, 0xE2 }, { 0xB5, 0x04 }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 4242, 11) + + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, + { 0x06, 0x00 }, + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x01 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x2434 + { 0x17, 0x05 }, + { 0x18, 0x34 }, + { 0x19, 0x24 }, + + // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, + + // D3DDevice_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * CMiniport_IsFlipPending +// ****************************************************************** +OOVPA_NO_XREF(CMiniport_IsFlipPending, 4242, 17) + + { 0x00, 0x8B }, + { 0x01, 0x81 }, + { 0x02, 0xF4 }, + { 0x03, 0x01 }, + { 0x04, 0x00 }, + { 0x05, 0x00 }, + { 0x06, 0x83 }, + { 0x07, 0xE0 }, + { 0x08, 0x01 }, + { 0x09, 0x8B }, + { 0x0A, 0x84 }, + { 0x0B, 0xC1 }, + { 0x0C, 0xB4 }, + { 0x0D, 0x01 }, + { 0x0E, 0x00 }, + { 0x0F, 0x00 }, + { 0x10, 0xC3 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl index 299fd916d..73048fb91 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4361.inl @@ -1237,7 +1237,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3D_CheckDeviceFormat, 3911, DISABLED), REGISTER_OOVPA(D3D_MakeRequestedSpace, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4242, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), @@ -1257,11 +1257,11 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetIndices, 4034, DISABLED), @@ -1273,7 +1273,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_UpdateOverlay, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4361, PATCH), + REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 4242, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), @@ -1286,7 +1286,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_StencilEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DrawVertices, 3911, PATCH), @@ -1319,13 +1319,11 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), @@ -1345,20 +1343,20 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LineWidth, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 4242, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4034, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_BeginVisibilityTest, 4361, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), @@ -1381,7 +1379,9 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // Just calls Lock2DSurface REGISTER_OOVPA(D3DDevice_SetScissors, 3911, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), @@ -1400,7 +1400,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 4039, PATCH), + REGISTER_OOVPA(D3D_BlockOnTime, 4034, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), REGISTER_OOVPA(D3DResource_BlockUntilNotBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DrawTriPatch, 3911, DISABLED), @@ -1409,7 +1409,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 4034, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), @@ -1417,7 +1417,7 @@ OOVPATable D3D8_4361[] = { REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 4134, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 4039, PATCH), REGISTER_OOVPA(D3DDevice_GetOverlayUpdateStatus, 3911, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl index 66b597988..8c0c12d7b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4432.inl @@ -720,14 +720,14 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetPixelShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetPixelShader, 4034, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTexture, 4034, PATCH), REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4242, PATCH), @@ -764,7 +764,7 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_Clear, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), @@ -803,14 +803,14 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3D_SetFence, 4134, XREF), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer, 3911, DISABLED), REGISTER_OOVPA(D3DVertexBuffer_Lock, 4034, PATCH), // REGISTER_OOVPA(D3DVertexBuffer_Lock, 4531, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreatePixelShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), @@ -830,7 +830,9 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),// Just calls Lock2DSurface REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), @@ -850,7 +852,6 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_PersistDisplay, 4039, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), @@ -872,25 +873,24 @@ OOVPATable D3D8_4432[] { REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH),// Just calls Lock2DSurface REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_KickOff, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_KickOff, 4034, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4034, PATCH), - REGISTER_OOVPA(D3D_BlockOnTime, 4039, PATCH), + REGISTER_OOVPA(D3D_BlockOnTime, 4034, PATCH), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(D3D_ClearStateBlockFlags, 3911, XREF), - REGISTER_OOVPA(D3DDevice_SetTile, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTile, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CopyRects, 4034, PATCH), REGISTER_OOVPA(D3D_RecordStateBlock, 3911, XREF), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), // ****************************************************************** // Provisional registration functions in XDK 4432 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl index 16d675eeb..77a0af0f4 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4531.inl @@ -122,7 +122,10 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 4531, 13) +OOVPA_XREF(D3DDevice_KickOff, 4531, 13, + + XREF_D3D_CDevice_KickOff, + XRefZero) // D3D::CDevice::KickOff+0x0B : mov edx, [ecx+0x35C] { 0x0B, 0x8B }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl index f3cf078b8..52a197de6 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4627.inl @@ -462,7 +462,12 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetBackBuffer // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackBuffer, 4627, 10) +OOVPA_XREF(D3DDevice_GetBackBuffer, 4627, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3DDevice_GetBackBuffer2 ), { 0x03, 0x04 }, { 0x05, 0xE8 }, @@ -480,7 +485,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetBackBuffer2, 4627, 12) +OOVPA_XREF(D3DDevice_GetBackBuffer2, 4627, 12, + + XREF_D3DDevice_GetBackBuffer2, + XRefZero) // D3DDevice_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF { 0x04, 0x83 }, @@ -508,7 +516,12 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetRenderTarget // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetRenderTarget, 4627, 12) +OOVPA_XREF(D3DDevice_GetRenderTarget, 4627, 13, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_D3DDevice_GetRenderTarget2 ), { 0x00, 0xE8 }, @@ -530,7 +543,7 @@ OOVPA_END; // ****************************************************************** OOVPA_XREF(D3DDevice_GetRenderTarget2, 4627, 9, - XRefNoSaveIndex, + XREF_D3DDevice_GetRenderTarget2, XRefOne) XREF_ENTRY( 0x12, XREF_D3DResource_AddRef ), @@ -561,7 +574,12 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetDepthStencilSurface // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 4627, 10) +OOVPA_XREF(D3DDevice_GetDepthStencilSurface, 4627, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x01, XREF_D3DDevice_GetDepthStencilSurface2 ), { 0x00, 0xE8 }, @@ -579,7 +597,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_GetDepthStencilSurface2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 20) +OOVPA_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 20, + + XREF_D3DDevice_GetDepthStencilSurface2, + XRefZero) { 0x00, 0xA1 }, @@ -664,22 +685,24 @@ OOVPA_END; #endif // ****************************************************************** -// * D3DDevice_SetTile +// * D3D_SetTileNoWait // ****************************************************************** -// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z -OOVPA_NO_XREF(D3DDevice_SetTile, 4627, 11) +OOVPA_XREF(D3D_SetTileNoWait, 4627, 11, - // D3DDevice_SetTile+0x06 : sub esp, 0x18 + XREF_D3D_SetTileNoWait, + XRefZero) + + // D3D_SetTileNoWait+0x06 : sub esp, 0x18 { 0x06, 0x83 }, { 0x07, 0xEC }, { 0x08, 0x18 }, - // D3DDevice_SetTile+0x15 : cmp [esi+4], eax + // D3D_SetTileNoWait+0x15 : cmp [esi+4], eax { 0x15, 0x39 }, { 0x16, 0x46 }, { 0x17, 0x04 }, - // D3DDevice_SetTile+0x3D : lea edi, [edx+ecx*8+0xXXXX] + // D3D_SetTileNoWait+0x3D : lea edi, [edx+ecx*8+0xXXXX] { 0x3D, 0x8D }, { 0x3E, 0xBC }, { 0x3F, 0xCA }, @@ -689,6 +712,20 @@ OOVPA_NO_XREF(D3DDevice_SetTile, 4627, 11) { 0x43, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_SetTile +// ****************************************************************** +OOVPA_XREF(D3DDevice_SetTile, 4627, 3, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3D_SetTileNoWait ), + + { 0x00, 0xE8 }, + { 0x05, 0xE9 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_CreateIndexBuffer2 // ****************************************************************** @@ -1436,10 +1473,39 @@ OOVPA_NO_XREF(D3DDevice_Swap, 4627, 11) OOVPA_END; #endif +// ****************************************************************** +// * D3DDevice_CreateVertexBuffer +// ****************************************************************** +OOVPA_XREF(D3DDevice_CreateVertexBuffer, 4627, 13, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x06, XREF_D3DDevice_CreateVertexBuffer2 ), + + { 0x00, 0x8B }, + + { 0x0A, 0x8B }, + { 0x0B, 0x4C }, + { 0x0C, 0x24 }, + { 0x0D, 0x14 }, + { 0x0E, 0x33 }, + { 0x0F, 0xD2 }, + { 0x10, 0x85 }, + { 0x11, 0xC0 }, + { 0x12, 0x0F }, + + { 0x1E, 0x8B }, + { 0x1F, 0xC2 }, +OOVPA_END; + // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 4627, 13) +OOVPA_XREF(D3DDevice_CreateVertexBuffer2, 4627, 13, + + XREF_D3DDevice_CreateVertexBuffer2, + XRefZero) // D3DDevice_CreateVertexBuffer2+0x03 : push 0x40 { 0x03, 0x6A }, @@ -1910,7 +1976,10 @@ OOVPA_END; // ****************************************************************** // * D3DVertexBuffer_Lock2 // ****************************************************************** -OOVPA_NO_XREF(D3DVertexBuffer_Lock2, 4627, 12) +OOVPA_XREF(D3DVertexBuffer_Lock2, 4627, 12, + + XREF_D3DVertexBuffer_Lock2, + XRefZero) // D3DVertexBuffer_Lock2B+0x00 : push ebx { 0x00, 0x53 }, @@ -1934,10 +2003,16 @@ OOVPA_NO_XREF(D3DVertexBuffer_Lock2, 4627, 12) { 0x48, 0xC2 }, { 0x49, 0x08 }, OOVPA_END; + // ****************************************************************** // * D3DVertexBuffer_Lock // ****************************************************************** -OOVPA_NO_XREF(D3DVertexBuffer_Lock, 4627, 25) +OOVPA_XREF(D3DVertexBuffer_Lock, 4627, 26, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x0B, XREF_D3DVertexBuffer_Lock2 ), { 0x00, 0x8B }, { 0x01, 0x44 }, @@ -2698,6 +2773,7 @@ OOVPA_NO_XREF(D3DDevice_KickOff, 4531, 13) OOVPA_END; #endif +#if 0 // Moved to 3911 // ****************************************************************** // * D3DDevice_KickPushBuffer // ****************************************************************** @@ -2706,12 +2782,13 @@ OOVPA_XREF(D3DDevice_KickPushBuffer, 4627, 4, XRefNoSaveIndex, XRefOne) - XREF_ENTRY( 0x07, XREF_D3D_KickOff ), + XREF_ENTRY( 0x07, XREF_D3D_CDevice_KickOff ), { 0x00, 0x8B }, { 0x01, 0x0D }, { 0x06, 0xE9 }, OOVPA_END; +#endif // ****************************************************************** // * D3DDevice_GetTexture2 @@ -2724,7 +2801,7 @@ OOVPA_XREF(D3DDevice_GetTexture2, 4627, 1 + 21, // Also for 5344, 5558, 5659, 57 XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived #endif -OOVPA_NO_XREF(D3DDevice_GetTexture2, 4627, 21) +OOVPA_NO_XREF(D3DDevice_GetTexture2, 4627, 23) // Up to 5233 { 0x00, 0x8B }, { 0x01, 0x44 }, @@ -2737,6 +2814,8 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 4627, 21) { 0x0B, 0x8D }, { 0x0C, 0xB4 }, { 0x0D, 0x81 }, + { 0x0E, 0x38 }, // GetTexture2 380B vs GetPalette2 480B + { 0x0F, 0x0B }, { 0x10, 0x00 }, { 0x11, 0x00 }, @@ -3639,6 +3718,29 @@ OOVPA_NO_XREF(D3DPalette_Lock, 4531, 17) OOVPA_END; #endif +// ****************************************************************** +// * IDirect3DVertexBuffer8_Lock +// ****************************************************************** +OOVPA_XREF(IDirect3DVertexBuffer8_Lock, 4627, 11, + + XRefNoSaveIndex, + XRefOne) + + XREF_ENTRY( 0x03, XREF_D3DVertexBuffer_Lock2 ), + + { 0x00, 0x50 }, + { 0x01, 0x51 }, + { 0x02, 0xE8 }, + + { 0x07, 0x8B }, + { 0x08, 0x4C }, + { 0x09, 0x24 }, + { 0x0A, 0x04 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, + { 0x0D, 0x24 }, +OOVPA_END; + // ****************************************************************** // * D3D8_4627 // ****************************************************************** @@ -3667,12 +3769,13 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget, 4627, DISABLED), // Called D3DDevice_GetRenderTarget2 REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface, 4627, DISABLED), // Called D3DDevice_GetDepthStencilSurface2 REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), @@ -3708,7 +3811,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -3718,7 +3821,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), @@ -3731,7 +3834,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShader, 4134, PATCH), @@ -3759,7 +3862,6 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), @@ -3771,7 +3873,7 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 4627, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), @@ -3785,11 +3887,11 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_LogicOp, 4034, PATCH), @@ -3825,7 +3927,9 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3D_BlockOnTime, 4627, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH),//TODO 4721,4928 REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface, 4627, PATCH), // Called D3DCubeTexture_GetCubeMapSurface2 @@ -3841,13 +3945,12 @@ OOVPATable D3D8_4627[] = { REGISTER_OOVPA(D3DDevice_EndPushBuffer, 3911, PATCH), // REGISTER_OOVPA(D3DDevice_GetPersistedSurface2, 4928, PATCH), // For only on Unreal Championship REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_KickPushBuffer, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_KickPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 4627, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3D_SetPushBufferSize, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3D_BlockOnResource, 4034, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl index 3d42c2596..ca255eba7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.4928.inl @@ -44,3 +44,27 @@ OOVPA_NO_XREF(D3DDevice_GetPersistedSurface2, 4928, 6) // For only on Unreal Cha { 0x04, 0x3A }, { 0x05, 0x00 }, OOVPA_END; + +// ****************************************************************** +// * CMiniport_IsFlipPending +// ****************************************************************** +OOVPA_NO_XREF(CMiniport_IsFlipPending, 4928, 18) + + { 0x00, 0x8B }, + { 0x01, 0x81 }, + { 0x02, 0xBC }, + { 0x03, 0x01 }, + { 0x04, 0x00 }, + { 0x05, 0x00 }, + { 0x06, 0x83 }, + { 0x07, 0xE0 }, + { 0x08, 0x01 }, + { 0x09, 0x8D }, + { 0x0A, 0x44 }, + { 0x0B, 0x40 }, + { 0x0C, 0x5D }, + { 0x0D, 0x8B }, + { 0x0E, 0x04 }, + { 0x0F, 0x81 }, + { 0x10, 0xC3 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl index 4240bff95..e8d276494 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5028.inl @@ -965,7 +965,10 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 5028, 8) +OOVPA_XREF(D3DDevice_KickOff, 5028, 8, + + XREF_D3D_CDevice_KickOff, + XRefZero) { 0x07, 0x08 }, { 0x17, 0xC4 }, @@ -1268,10 +1271,12 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF), + REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), @@ -1303,7 +1308,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetViewport, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -1313,8 +1318,8 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), @@ -1327,7 +1332,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SwitchTexture, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_YuvEnable, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStreamSource, 4034, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), @@ -1350,7 +1355,6 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DBaseTexture_GetLevelCount, 3911, PATCH), REGISTER_OOVPA(D3DTexture_GetSurfaceLevel2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 4432, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), @@ -1362,7 +1366,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_RunVertexStateShader, 4134, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderSize, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), @@ -1376,7 +1380,7 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_SetBackBufferScale, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetDisplayFieldStatus, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3DDevice_InsertCallback, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), @@ -1406,7 +1410,9 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH), // Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DCubeTexture_GetCubeMapSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), @@ -1414,9 +1420,9 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH), REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), - REGISTER_OOVPA(D3DDevice_KickPushBuffer, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_KickPushBuffer, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetMaterial, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackMaterial, 4627, PATCH), @@ -1437,7 +1443,6 @@ OOVPATable D3D8_5028[] = { REGISTER_OOVPA(D3DDevice_GetScissors, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), // ****************************************************************** // Provisional registration functions in XDK 5028 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl index 827b75ea3..fe85d3ed2 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5233.inl @@ -674,13 +674,14 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3D_CommonSetRenderTarget, 5028, XREF), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 4627, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), @@ -709,7 +710,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -719,7 +720,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), @@ -763,7 +764,9 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), @@ -776,13 +779,13 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), REGISTER_OOVPA(D3D_SetFence, 5028, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5028, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetPalette, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetCreationParameters, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), @@ -814,14 +817,12 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexDataColor, 4039, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_PersistDisplay, 4831, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 4039, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5028, PATCH), @@ -854,7 +855,7 @@ OOVPATable D3D8_5233[] = { REGISTER_OOVPA(D3DDevice_LazySetStateVB, 5028, XREF), REGISTER_OOVPA(D3DDevice_GetPushBufferOffset, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl index 2256dbfe7..4189c26a7 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5344.inl @@ -678,7 +678,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 5344, 9) +OOVPA_XREF(D3DDevice_CreateVertexBuffer2, 5344, 9, + + XREF_D3DDevice_CreateVertexBuffer2, + XRefZero) { 0x08, 0xE8 }, { 0x0E, 0xF0 }, @@ -1337,6 +1340,43 @@ OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5344, 16) { 0x13, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetTexture2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTexture2, 5344, 23) // Up to 5455 + + // XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + { 0x0E, 0x68 }, // GetTexture2 680B vs GetPalette2 780B + { 0x0F, 0x0B }, + + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x06 }, +// { 0x21, 0xC2 }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -1360,12 +1400,13 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetRenderTarget2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetDepthStencilSurface2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5344, PATCH), REGISTER_OOVPA(D3DDevice_AddRef, 5344, PATCH), REGISTER_OOVPA(D3DDevice_Reset, 3911, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_CreateVertexShader, 3911, PATCH), @@ -1396,7 +1437,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_EnableOverlay, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateVertexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_ColorKeyColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_VertexBlend, 4034, PATCH), @@ -1406,7 +1447,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_ZBias, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_EdgeAntiAlias, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FillMode, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FogColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), // Was 5233 REGISTER_OOVPA(D3DDevice_SetRenderState_Simple, 4034, PATCH), @@ -1448,6 +1489,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DPalette_Lock2, 4627, PATCH), REGISTER_OOVPA(D3DTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), // Was 5233 REGISTER_OOVPA(D3DSurface_GetDesc, 3911, PATCH), REGISTER_OOVPA(D3DSurface_LockRect, 3911, PATCH), @@ -1460,7 +1502,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShader, 5028, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4039, PATCH), // Was 5233 + REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 4034, PATCH), // Was 5233 REGISTER_OOVPA(D3D_SetFence, 5028, XREF), REGISTER_OOVPA(D3DDevice_InsertFence, 3911, PATCH), REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), @@ -1490,7 +1532,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_ApplyStateBlock, 4627, PATCH), REGISTER_OOVPA(D3DDevice_EndVisibilityTest, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SelectVertexShader, 4034, PATCH), REGISTER_OOVPA(D3DDevice_IsBusy, 5028, PATCH), REGISTER_OOVPA(D3DDevice_CreatePalette2, 5344, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), @@ -1521,7 +1563,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 3911, PATCH), REGISTER_OOVPA(D3DPalette_Lock, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTexture2, 5344, PATCH), REGISTER_OOVPA(D3DDevice_FlushVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetModelView, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), @@ -1539,9 +1581,8 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_CreateVolumeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), @@ -1549,7 +1590,7 @@ OOVPATable D3D8_5344[] = { REGISTER_OOVPA(D3DDevice_CreateImageSurface, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), // ****************************************************************** // Unused functions in XDK 5344 diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl index 77c05366f..7dd909495 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5455.inl @@ -71,7 +71,10 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_CreateVertexBuffer2, 5455, 14) +OOVPA_XREF(D3DDevice_CreateVertexBuffer2, 5455, 14, + + XREF_D3DDevice_CreateVertexBuffer2, + XRefZero) { 0x00, 0x56 }, { 0x08, 0xE8 }, @@ -421,10 +424,12 @@ OOVPA_END; #endif // ****************************************************************** -// * D3DDevice_SetTile +// * D3D_SetTileNoWait // ****************************************************************** -// Accurately this one ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z -OOVPA_NO_XREF(D3DDevice_SetTile, 5455, 16) +OOVPA_XREF(D3D_SetTileNoWait, 5455, 16, + + XREF_D3D_SetTileNoWait, + XRefZero) { 0x00, 0x83 }, { 0x01, 0xEC }, @@ -520,7 +525,10 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_NO_XREF(D3DDevice_KickOff, 5455, 15) +OOVPA_XREF(D3DDevice_KickOff, 5455, 15, + + XREF_D3D_CDevice_KickOff, + XRefZero) { 0x06, 0xA8 }, { 0x07, 0x04 }, diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl index b67c7f89f..12bce2e34 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5558.inl @@ -1807,7 +1807,7 @@ OOVPA_NO_XREF(D3DDevice_GetViewportOffsetAndScale, 5558, 8) { 0xFE, 0xC1 }, OOVPA_END; -#if 0 // Moved to 5455 +#if 0 // Moved to 5455, rename to D3D_SetTileNoWait // ****************************************************************** // * D3DDevice_SetTile // ****************************************************************** @@ -2170,6 +2170,43 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5558, 16) { 0x13, 0x00 }, OOVPA_END; +// ****************************************************************** +// * D3DDevice_GetTexture2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTexture2, 5558, 23) // Up to 5659 + + // XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + { 0x0E, 0x78 }, // GetTexture2 780F vs GetPalette2 880F + { 0x0F, 0x0F }, + + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x06 }, +// { 0x21, 0xC2 }, +OOVPA_END; + // ****************************************************************** // * Rollback support signature(s) // ****************************************************************** @@ -2218,7 +2255,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetDisplayMode, 4039, PATCH), REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_NormalizeNormals, 4034, PATCH), @@ -2257,7 +2294,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetBackBuffer2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DResource_Register, 3911, PATCH), REGISTER_OOVPA(D3DResource_AddRef, 3911, PATCH), REGISTER_OOVPA(D3DResource_Release, 3911, PATCH), @@ -2288,7 +2325,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetTransform, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer, 4627, DISABLED), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5558, PATCH), @@ -2325,6 +2362,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderConstant, 4831, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetFlickerFilter, 4134, PATCH), REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), @@ -2350,7 +2388,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, PATCH), REGISTER_OOVPA(D3DDevice_LoadVertexShaderProgram, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetPixelShaderProgram, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMask, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_MultiSampleMode, 5233, PATCH), @@ -2363,7 +2401,8 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_IsFencePending, 5028, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetSoftDisplayFilter, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 5455, XREF), + REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_DeletePixelShader, 5344, PATCH), @@ -2381,15 +2420,14 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetVisibilityTestResult, 5233, PATCH), REGISTER_OOVPA(D3DDevice_Release, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetStreamSource2, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTexture2, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData2s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4ub, 4134, PATCH), REGISTER_OOVPA(D3DDevice_CreateCubeTexture, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH), @@ -2405,7 +2443,7 @@ OOVPATable D3D8_5558[] = { REGISTER_OOVPA(D3DDevice_GetPixelShader, 5558, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl index 65b93e8ac..47a8254f1 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5659.inl @@ -186,3 +186,137 @@ OOVPA_NO_XREF(D3DDevice_SetSwapCallback, 5659, 12) { 0x10, 0xC2 }, { 0x11, 0x04 }, OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetVertexShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5659, 16) + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x98 }, + { 0x08, 0x07 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, + { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, + { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, + { 0x13, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetPixelShader +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5659, 16) + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x84 }, + { 0x08, 0x07 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, + { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, + { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, + { 0x13, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_BlockUntilVerticalBlank +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5659, 11) + + // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 + { 0x05, 0x6A }, + { 0x06, 0x00 }, + { 0x07, 0x6A }, + { 0x08, 0x00 }, + { 0x09, 0x6A }, + { 0x0A, 0x01 }, + + // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x1DBC + { 0x17, 0x05 }, + { 0x18, 0xBC }, + { 0x19, 0x1D }, + + // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] + { 0x1D, 0xFF }, + + // D3DDevice_BlockUntilVerticalBlank+0x23 : retn + { 0x23, 0xC3 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetShaderConstantMode +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5659, 16) + + { 0x00, 0xA1 }, + + { 0x05, 0x8B }, + { 0x06, 0x88 }, + { 0x07, 0x28 }, + { 0x08, 0x19 }, + { 0x09, 0x00 }, + { 0x0A, 0x00 }, + { 0x0B, 0x8B }, + { 0x0C, 0x54 }, + { 0x0D, 0x24 }, + { 0x0E, 0x04 }, + { 0x0F, 0x89 }, + { 0x10, 0x0A }, + { 0x11, 0xC2 }, + { 0x12, 0x04 }, + { 0x13, 0x00 }, +OOVPA_END; + +// ****************************************************************** +// * D3DDevice_GetTexture2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTexture2, 5659, 23) // Up to 5849 + + // XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + { 0x0E, 0x88 }, // GetTexture2 880F vs GetPalette2 980F + { 0x0F, 0x0F }, + + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x06 }, +// { 0x21, 0xC2 }, +OOVPA_END; diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl index 91ac0209f..95988448b 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5788.inl @@ -450,33 +450,7 @@ OOVPA_XREF(D3DDevice_SetVerticalBlankCallback, 5788, 7, { 0x11, 0x04 }, OOVPA_END; #endif - -// ****************************************************************** -// * D3DDevice_BlockUntilVerticalBlank -// ****************************************************************** -OOVPA_NO_XREF(D3DDevice_BlockUntilVerticalBlank, 5788, 11) - - // D3DDevice_BlockUntilVerticalBlank+0x05 : push 0; push 0; push 1 - { 0x05, 0x6A }, - { 0x06, 0x00 }, - { 0x07, 0x6A }, - { 0x08, 0x00 }, - { 0x09, 0x6A }, - { 0x0A, 0x01 }, - - // D3DDevice_BlockUntilVerticalBlank+0x17 : add eax, 0x1DBC - { 0x17, 0x05 }, - { 0x18, 0xBC }, - { 0x19, 0x1D }, - - // D3DDevice_BlockUntilVerticalBlank+0x1D : call [KrnlImport] - { 0x1D, 0xFF }, - - // D3DDevice_BlockUntilVerticalBlank+0x23 : retn - { 0x23, 0xC3 }, -OOVPA_END; - -#if 0 // No longer used, replaced by another 5788 version +#if 0 // No longer used, replaced by generic 5659 version // ****************************************************************** // * D3DDevice_BlockUntilVerticalBlank // ****************************************************************** @@ -1053,7 +1027,7 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShaderSize, 5788, 13) { 0x12, 0x08 }, OOVPA_END; #endif - +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_GetShaderConstantMode // ****************************************************************** @@ -1077,7 +1051,8 @@ OOVPA_NO_XREF(D3DDevice_GetShaderConstantMode, 5788, 16) { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_GetVertexShader // ****************************************************************** @@ -1101,7 +1076,8 @@ OOVPA_NO_XREF(D3DDevice_GetVertexShader, 5788, 16) { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; - +#endif +#if 0 // Moved to 5659 // ****************************************************************** // * D3DDevice_GetPixelShader // ****************************************************************** @@ -1125,6 +1101,45 @@ OOVPA_NO_XREF(D3DDevice_GetPixelShader, 5788, 16) { 0x12, 0x04 }, { 0x13, 0x00 }, OOVPA_END; +#endif +#if 0 // Moved to 5659 +// ****************************************************************** +// * D3DDevice_GetTexture2 +// ****************************************************************** +OOVPA_NO_XREF(D3DDevice_GetTexture2, 5788, 23) // Up to 5849 + + // XREF_ENTRY( 0x0E, XREF_OFFSET_D3DDEVICE_M_TEXTURES ), // derived + + { 0x00, 0x8B }, + { 0x01, 0x44 }, + { 0x02, 0x24 }, + { 0x03, 0x04 }, + { 0x04, 0x8B }, + { 0x05, 0x0D }, + + { 0x0A, 0x56 }, + { 0x0B, 0x8D }, + { 0x0C, 0xB4 }, + { 0x0D, 0x81 }, + { 0x0E, 0x88 }, // GetTexture2 880F vs GetPalette2 980F + { 0x0F, 0x0F }, + + { 0x10, 0x00 }, + { 0x11, 0x00 }, + { 0x12, 0x8B }, + { 0x13, 0x06 }, + { 0x14, 0x85 }, + { 0x15, 0xC0 }, + { 0x16, 0x74 }, + + { 0x18, 0x50 }, + { 0x19, 0xE8 }, + + { 0x1E, 0x8B }, + { 0x1F, 0x06 }, +// { 0x21, 0xC2 }, +OOVPA_END; +#endif // ****************************************************************** // * D3D8_5788 @@ -1156,7 +1171,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), @@ -1183,7 +1198,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreateIndexBuffer2, 5344, DISABLED), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), @@ -1221,6 +1236,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), @@ -1228,16 +1244,17 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetDeviceCaps, 3911, DISABLED), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5344, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 5455, XREF), + REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH), @@ -1271,7 +1288,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH), @@ -1295,7 +1312,7 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTexture2, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3DDevice_GetViewportOffsetAndScale, 5558, PATCH), @@ -1308,9 +1325,8 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), REGISTER_OOVPA(D3DDevice_CreateStateBlock, 3911, PATCH), @@ -1322,16 +1338,16 @@ OOVPATable D3D8_5788[] = { REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3D_BlockOnTime, 5558, XREF), REGISTER_OOVPA(D3DDevice_BlockOnFence, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5659, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShader, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_GetPixelShader, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl index 1bd38627e..322450f09 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.1.0.5849.inl @@ -201,7 +201,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_End, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetVerticalBlankCallback, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_TexCoordIndex, 4627, PATCH), - REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetTextureState_BumpEnv, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTextureState_BorderColor, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_CullMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TextureFactor, 4034, PATCH), @@ -228,7 +228,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_RunPushBuffer, 5558, PATCH), REGISTER_OOVPA(D3DDevice_Begin, 4039, PATCH), REGISTER_OOVPA(D3DDevice_BeginStateBig, 5028, XREF), - REGISTER_OOVPA(D3DDevice_GetTransform, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetTransform, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetTransform, 5558, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVertices, 5028, PATCH), REGISTER_OOVPA(D3DDevice_DrawIndexedVerticesUP, 5344, PATCH), @@ -261,6 +261,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(Get2DSurfaceDesc, 4034, PATCH), REGISTER_OOVPA(D3DDevice_CreateTexture2, 4831, PATCH), REGISTER_OOVPA(Lock2DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant4, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1, 4627, ALIAS, D3DDevice_SetVertexShaderConstant1Fast), @@ -268,15 +269,16 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstantNotInline, 4627, ALIAS, D3DDevice_SetVertexShaderConstantNotInlineFast), REGISTER_OOVPA(D3DDevice_DrawVerticesUP, 5344, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTarget, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_SetShaderConstantMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetViewport, 5455, PATCH), - REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_BlockUntilVerticalBlank, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetScreenSpaceOffset, 5455, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_FrontFace, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetBackMaterial, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_TwoSidedLighting, 5344, PATCH), REGISTER_OOVPA(D3D_KickOffAndWaitForIdle, 5028, PATCH), - REGISTER_OOVPA(D3DDevice_SetTile, 5455, PATCH), + REGISTER_OOVPA(D3D_SetTileNoWait, 5455, XREF), + REGISTER_OOVPA(D3DDevice_SetTile, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetGammaRamp, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetGammaRamp, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetSwapCallback, 5659, PATCH), @@ -309,7 +311,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3D_RecordStateBlock, 5788, XREF), REGISTER_OOVPA(D3DDevice_BeginStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_EndStateBlock, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4134, PATCH), + REGISTER_OOVPA(D3DDevice_SetRenderState_BackFillMode, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_Dxt1NoiseEnable, 4627, PATCH), REGISTER_OOVPA(D3DDevice_GetTile, 5455, PATCH), REGISTER_OOVPA(D3DDevice_KickOff, 5455, PATCH), @@ -331,7 +333,7 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_CaptureStateBlock, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteStateBlock, 3911, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderState_StencilCullEnable, 4034, PATCH), - REGISTER_OOVPA(D3DDevice_GetTexture2, 4627, PATCH), + REGISTER_OOVPA(D3DDevice_GetTexture2, 5659, PATCH), REGISTER_OOVPA(D3DDevice_SetRenderTargetFast, 5233, PATCH), REGISTER_OOVPA(D3DDevice_SetDepthClipPlanes, 4432, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInput, 4134, PATCH), @@ -352,24 +354,23 @@ OOVPATable D3D8_5849[] = { REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderConstant1Fast, 4627, XREF), REGISTER_OOVPA(D3DDevice_SetRenderState_PSTextureModes, 4034, PATCH), - REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface - REGISTER_OOVPA(D3DCubeTexture_LockRect, 3911, PATCH), REGISTER_OOVPA(Lock3DSurface, 3911, PATCH), + REGISTER_OOVPA(D3DVolumeTexture_LockBox, 3911, PATCH),// Just calls Lock3DSurface REGISTER_OOVPA(D3DDevice_PersistDisplay, 5558, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexData4s, 4134, PATCH), REGISTER_OOVPA(D3DDevice_GetProjectionViewportMatrix, 5558, PATCH), REGISTER_OOVPA(D3DDevice_PrimeVertexCache, 4134, PATCH), REGISTER_OOVPA(D3DDevice_DeleteVertexShader, 5344, PATCH), REGISTER_OOVPA(D3DDevice_GetModelView, 4134, PATCH), - REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5788, PATCH), - REGISTER_OOVPA(D3DDevice_GetVertexShader, 5788, PATCH), + REGISTER_OOVPA(D3DDevice_GetShaderConstantMode, 5659, PATCH), + REGISTER_OOVPA(D3DDevice_GetVertexShader, 5659, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderConstant, 5028, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderInput, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderType, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderDeclaration, 3911, PATCH), REGISTER_OOVPA(D3DDevice_GetVertexShaderFunction, 3911, PATCH), - REGISTER_OOVPA(D3DDevice_GetPixelShader, 5788, PATCH), - REGISTER_OOVPA(D3D_LazySetPointParams, 4039, PATCH), + REGISTER_OOVPA(D3DDevice_GetPixelShader, 5659, PATCH), + REGISTER_OOVPA(D3D_LazySetPointParams, 4034, PATCH), REGISTER_OOVPA(D3DDevice_SelectVertexShaderDirect, 4361, PATCH), REGISTER_OOVPA(D3DDevice_SetStipple, 4627, PATCH), REGISTER_OOVPA(D3DDevice_SetVertexShaderInputDirect, 4361, PATCH), diff --git a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl index c23ae6d98..d17caacac 100644 --- a/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl +++ b/src/CxbxKrnl/HLEDataBase/D3D8.OOVPA.inl @@ -32,24 +32,51 @@ // * // ****************************************************************** +// Titles which did compiled with full libary version +// [LibV] Title Name | Verify | Comments +//----------------------------------------------------------------------- +// * [3925] Azurik | 100% | Missing D3D_SetPushBufferSize due locate in BINK section, have 182/196 library. +// * [3948] Shikigami no Shiro | 100% | have 178/196 library. +// * [4034] Dark Summit | 100% | have 113/195 library. +// * [4039] New Legends | 100% | have 117/195 library. +// * [4134] Double-S.T.E.A.L | 100% | have 195/202 library. +// * [4242] NFL Blitz 2002 | 100% | have 180/202 library. +// * [4361] Hunter The Reckoning | 100% | have 117/204 library. +// * [4432] RedCard 2003 | 100% | have 184/206 library. +// * [4531] NHL HITZ 2003 | 100% | have 196/206 library. +// * [4627] MLB SlugFest 2003 | 100% | have 216/227 library. +// * [4721] Terminator - Dawn of Fate | 100% | have 202/227 library. +// * [4831] Frogger Beyond | 100% | have 200/227 library. +// * [4928] Drihoo | 100% | have 201/228 library. +// * [5028] Shikigami no Shiro Evolution | 100% | have 201/229 library. +// * [5120] N.U.D.E.@ | 100% | have 211/229 library. +// * [5233] Evil Dead | 100% | have 208/230 library. +// * [5344] Gladius DEMO | 100% | have 202/229 library. +// * [5455] Dinosaur Hunting | 100% | have 207/229 library. +// * [5558] NHL HITZ Pro 2004 | 100% | have 218/229 library. +// * [5659] Midway Arcade Treasures Paperboy | 100% | have 212/229 library. +// * [5788] Digimon Battle Chronicle | 100% | have 210/229 library. +// * [5849] Nickelodeon Tak 2 | 100% | have 210/229 library. + // TODO: Known D3D8 OOVPA issue list +// * CMiniport_IsFlipPending is XREF in v1 database, any reason for this? // * Following OOVPA revision are not verified // * D3DCubeTexture_GetCubeMapSurface (4721, 4928, 5233, 5455) // * D3DDevice_ApplyStateBlock (4039, 4721, 5028, 5120) -// * D3DDevice_BeginPushBuffer (3950, 4039, 4242, 5028) +// * D3DDevice_BeginPushBuffer (3948, 4039, 4242, 5028) // * D3DDevice_BeginStateBlock (4039, 4721, 5028, 5120) // * D3DDevice_BlockOnFence (4039) // * D3DDevice_CaptureStateBlock (4039, 4432, 4721, 4831, 5028, 5120) // * D3DDevice_CreateCubeTexture (4721, 4928, 5028, 5233, 5455) // * D3DDevice_CreateImageSurface (4721, 4928, 5028, 5120, 5233, 5455) // * D3DDevice_CreatePalette (4721, 4831, 4928, 5120, 5233, 5455) -// * D3DDevice_CreateStateBlock (3950, 4039, 4242, 4432, 4721, 4928, 5028, 5120) +// * D3DDevice_CreateStateBlock (3948, 4039, 4242, 4432, 4721, 4928, 5028, 5120) // * D3DDevice_CreateTexture (4721, 4928, 5233, 5455) // * D3DDevice_CreateVolumeTexture (4721, 4928, 5028, 5120, 5233, 5455) // * D3DDevice_DeleteStateBlock (4039, 4721, 4831, 5028, 5120) // * D3DDevice_DrawRectPatch (3948 and higher, only use by 3925?) // * D3DDevice_EnableOverlay (4039) -// * D3DDevice_EndPushBuffer (3950, 4039, 4242, 5028) +// * D3DDevice_EndPushBuffer (3948, 4039, 4242, 5028) // * D3DDevice_EndStateBlock (4039, 4721, 4831, 5028, 5120) // * D3DDevice_FlushVertexCache (4039) // * D3DDevice_GetBackBuffer (4721, 4831, 4928, 5028, 5120, 5233, 5455) @@ -59,7 +86,7 @@ // * D3DDevice_GetModelView (4039) // * D3DDevice_GetOverlayUpdateStatus (4039, 4242, 4432) // * D3DDevice_GetProjectionViewportMatrix (4039) -// * D3DDevice_GetPushBufferOffset (3950, 4039, 4242, 5028) +// * D3DDevice_GetPushBufferOffset (3948, 4039, 4242, 5028) // * D3DDevice_GetRenderTarget (5028) // * D3DDevice_GetScissors (4039) // * D3DDevice_GetShaderConstantMode (4039) @@ -77,20 +104,19 @@ // * D3DDevice_SetBackMaterial (4039) // * D3DDevice_SetModelView (4039) // * D3DDevice_SetPixelShaderProgram (4039) -// * D3DDevice_SetRenderTarget (5120) // * D3DDevice_SetVertexData2s (4039) // * D3DDevice_SetVertexData4s (4039) // * D3DDevice_SetVertexData4ub (4039) -// * D3DDevice_SetVertexShaderConstant (4721, 4928) +// * D3DDevice_SetVertexShaderConstant (4928) // * D3DDevice_SetVertexShaderInput (4039) // * D3DDevice_SwitchTexture (4039) // * D3DDevice_UpdateOverlay (4039) // * D3DPalette_Lock (4721, 4831, 4928, 5028, 5120, 5233) -// * D3DTexture_GetSurfaceLevel (4928), 5455) // * D3DTexture_GetSurfaceLevel (4928, 5455) // * D3DVertexBuffer_Lock (4721, 4831, 4928, 5120, 5233, 5455) // * D3D_ClearStateBlockFlags (4039, 4721, 5028, 5120) // * D3D_RecordStateBlock (4039, 4721, 5028, 5120) +// * CMiniport_IsFlipPending (4039, 4134) #ifndef D3D8_OOVPA_INL #define D3D8_OOVPA_INL @@ -127,7 +153,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(CMiniport_CreateCtxDmaObject, PATCH, 3911, 4034), REGISTER_OOVPAS(CMiniport_InitHardware, PATCH, 3911, 4034/*, 4361, 4627*/, 5455), - REGISTER_OOVPAS(CMiniport_IsFlipPending, XREF, 4627), + REGISTER_OOVPAS(CMiniport_IsFlipPending, UNPATCHED, 3911, 4242, 4627, 4928), REGISTER_OOVPAS(D3DBaseTexture_GetLevelCount, PATCH, 3911), REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, PATCH, 3911/*, 4134*/, 4627/*, 5558*/), // Called D3DCubeTexture_GetCubeMapSurface2 (from 4627's comment) NOTE: Use D3DCubeTexture_GetCubeMapSurface2 for 4627 and above REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, PATCH, 4627), @@ -141,12 +167,12 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_BeginStateBlock, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, PATCH, 3911, 4034/*, 4361, 4627*/), REGISTER_OOVPAS(D3DDevice_BlockOnFence, PATCH, 3911/*, 4039, 4134, 5233*/), - REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3911, 4039, 4134, 4361, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, PATCH, 3911, 4034, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659/*, 5788*/), REGISTER_OOVPAS(D3DDevice_CaptureStateBlock, PATCH, 3911, 4134/*, 4627, 5455*/), REGISTER_OOVPAS(D3DDevice_Clear, PATCH, 3911, 4034/*, 4134, 4627, 5028*/), REGISTER_OOVPAS(D3DDevice_CopyRects, PATCH, 3911, 4034/*, 4134*/, 4627, 5120), REGISTER_OOVPAS(D3DDevice_CreateCubeTexture, PATCH, 3911/*, 4361*/, 4627), - REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3911, 4034, 4134, 4627),//TODO 4721,4928 (from 4627's comment) + REGISTER_OOVPAS(D3DDevice_CreateImageSurface, PATCH, 3911, 4034/*, 4134*/, 4627),//TODO 4721,4928 (from 4627's comment) REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer, UNPATCHED, 3911, 4627/*, 5558*/), // TODO: This needs to be verified on 4361 REGISTER_OOVPAS(D3DDevice_CreateIndexBuffer2, UNPATCHED, 4627, 5344), REGISTER_OOVPAS(D3DDevice_CreatePalette, PATCH, 3911, 4627), // Called D3DDevice_CreatePalette2 (from 4627's comment) NOTE: Use D3DDevice_CreatePalette2 for 4627 and above @@ -155,7 +181,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_CreateStateBlock, PATCH, 3911/*, 4627*/), REGISTER_OOVPAS(D3DDevice_CreateTexture, PATCH, 3911, 4627),// Called D3DDevice_CreateTexture2 (from 4627's comment) NOTE: Use D3DDevice_CreateTexture2 for 4627 and above REGISTER_OOVPAS(D3DDevice_CreateTexture2, PATCH, 4627, 4831/*, 5028, 5233*/), // Was 4627 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer, UNPATCHED, 3911), + REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3DDevice_CreateVertexBuffer2, UNPATCHED, 4627, 5344, 5455), REGISTER_OOVPAS(D3DDevice_CreateVertexShader, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_CreateVolumeTexture, PATCH, 3911, 4627), @@ -192,18 +218,18 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_GetModelView, PATCH, 3911, 4134), REGISTER_OOVPAS(D3DDevice_GetOverlayUpdateStatus, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_GetPersistedSurface2, PATCH, 4928), // For only on Unreal Championship (from 4627's comment) - REGISTER_OOVPAS(D3DDevice_GetPixelShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetPixelShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5659/*, 5788*/), REGISTER_OOVPAS(D3DDevice_GetProjectionViewportMatrix, PATCH, 3911, 4134/*, 4432*/, 4627, 5344, 5558), // For 5455 (from 5558's comment) REGISTER_OOVPAS(D3DDevice_GetPushBufferOffset, PATCH, 3911, 4627),//TODO 4831 (from 4627's comment) REGISTER_OOVPAS(D3DDevice_GetRenderTarget, PATCH, 3911, 4039, 4134/*, 4361, 4432*/, 4627), // Called D3DDevice_GetRenderTarget2 (from 4627's comment) NOTE: Use D3DDevice_GetRenderTarget2 for 4627 and above REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, PATCH, 4627/*, 5028*/), REGISTER_OOVPAS(D3DDevice_GetScissors, PATCH, 3911/*, 5788*/), - REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3911, 4134, 4627, 5028, 5344, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetShaderConstantMode, PATCH, 3911, 4134, 4627, 5028, 5344, 5558, 5659/*, 5788*/), REGISTER_OOVPAS(D3DDevice_GetStreamSource2, PATCH, 4627), - REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_GetTexture2, PATCH, 3911, 4134, 4627, 5344, 5558, 5659/*, 5788*/), REGISTER_OOVPAS(D3DDevice_GetTile, PATCH, 3911/*, 4134, 4627, 5028, 5344*/, 5455), - REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5788), + REGISTER_OOVPAS(D3DDevice_GetTransform, PATCH, 3911, 4034), + REGISTER_OOVPAS(D3DDevice_GetVertexShader, PATCH, 3911, 4039, 4134, 5028, 5558, 5659/*5788*/), REGISTER_OOVPAS(D3DDevice_GetVertexShaderConstant, PATCH, 3911, 4039, 5028), REGISTER_OOVPAS(D3DDevice_GetVertexShaderDeclaration, PATCH, 3911/*, 4134, 4627, 5455*/), REGISTER_OOVPAS(D3DDevice_GetVertexShaderFunction, PATCH, 3911/*, 4134*/), @@ -217,8 +243,8 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_InsertFence, PATCH, 3911), REGISTER_OOVPAS(D3DDevice_IsBusy, PATCH, 3911/*, 4034*/, 5028/*, 5344*/), REGISTER_OOVPAS(D3DDevice_IsFencePending, PATCH, 3911, 4039, 5028/*, 5558*/), - REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3911, 4039/*, 4134*/, 4531, 5028, 5455/*, 5788*/), - REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 4627), + REGISTER_OOVPAS(D3DDevice_KickOff, PATCH, 3911, 4034/*, 4134*/, 4531, 5028, 5455/*, 5788*/), + REGISTER_OOVPAS(D3DDevice_KickPushBuffer, PATCH, 3911/*, 4627*/), REGISTER_OOVPAS(D3DDevice_LazySetStateVB, XREF, 5028), REGISTER_OOVPAS(D3DDevice_LightEnable, PATCH, 3911/*, 5028*/, 5344), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_LoadVertexShader, PATCH, 3911, 4034, 4627, 5028), @@ -231,7 +257,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_Reset, PATCH, 3911/*, 4039*/), REGISTER_OOVPAS(D3DDevice_RunPushBuffer, PATCH, 3911, 4039, 4627, 5120, 5558), // for 5455 (from 5558's comment) REGISTER_OOVPAS(D3DDevice_RunVertexStateShader, PATCH, 3911, 4134), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3911, 4039/*, 4627, 5344*/, 5455), + REGISTER_OOVPAS(D3DDevice_SelectVertexShader, PATCH, 3911, 4034/*, 4627, 5344*/, 5455), REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, PATCH, 4361), REGISTER_OOVPAS(D3DDevice_SetBackBufferScale, PATCH, 4134), REGISTER_OOVPAS(D3DDevice_SetBackMaterial, PATCH, 3911, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 5788*/), @@ -243,10 +269,10 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetMaterial, PATCH, 3911, 4034, 4134, 4627, 5344/*, 5455*/, 5558, 5659/*, 5788*/), // Was 4627 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetModelView, PATCH, 3911, 4134, 4627), REGISTER_OOVPAS(D3DDevice_SetPalette, PATCH, 3911, 4034/*, 4134, 4432, 4627, 5233, 5344, 5558, 5788*/), - REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3911, 4039/*, 4134, 4432*/, 4627), + REGISTER_OOVPAS(D3DDevice_SetPixelShader, PATCH, 3911, 4034/*, 4134, 4432*/, 4627), REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, PATCH, 3911/*, 4039*/, 4831/*, 5233, 5558*/), REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, PATCH, 3911/*, 4361, 4627, 5558*/), - REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3911/*, 4034*/, 4134/*, 4531, 5788*/), + REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, PATCH, 3911, 4034/*, 4134, 4531, 5788*/), REGISTER_OOVPAS(D3DDevice_SetRenderState_CullMode, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetRenderState_Deferred, UNPATCHED, 3911), REGISTER_OOVPAS(D3DDevice_SetRenderState_DoNotCullUncompressed, PATCH, 3911), @@ -281,8 +307,8 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetRenderTarget, PATCH, 3911, 3948, 4039/*, 4134*/, 4627, 5344, 5455/*, 5558*/), REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, PATCH, 5233/*, 5344*/), REGISTER_OOVPAS(D3DDevice_SetScissors, PATCH, 3911/*, 4039, 4361, 4627, 5233*/, 5344, 5558), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4039/*, 5233, 5344*/, 5455), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3911, 4039/*, 4134, 4361, 4627, 5028*/), + REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, PATCH, 4034/*, 5233, 5344*/, 5455), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, PATCH, 3911, 4034/*, 4134, 4361, 4627, 5028*/), REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter, PATCH, 3911, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetStateUP, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3DDevice_SetStateVB, UNPATCHED, 3911, 4627), @@ -291,10 +317,10 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DDevice_SetSwapCallback, PATCH, 4134, 4242, 4432, 4627, 5028, 5233, 5344, 5455, 5558, 5659), REGISTER_OOVPAS(D3DDevice_SetTexture, PATCH, 3911, 4034/*, 4627*/, 4831/*, 5344*/), // Was 4928 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, PATCH, 3911, 4034/*, 4361*/), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3911, 4039), + REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, PATCH, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, PATCH, 3911, 4034/*, 4134*/), REGISTER_OOVPAS(D3DDevice_SetTextureState_TexCoordIndex, PATCH, 3911, 4034, 4242, 4627), - REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3911, 4039/*, 4134*/, 4627/*, 5028*/, 5455/*, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. + REGISTER_OOVPAS(D3DDevice_SetTile, PATCH, 3911, 4034/*, 4134*/, 4627/*, 5028, 5455, 5788*/), // Then it has changed calls ?SetTileNoWait@D3D@@YGXKPBU_D3DTILE@@@Z in XDK 4627 and higher. REGISTER_OOVPAS(D3DDevice_SetTransform, PATCH, 3911, 4034/*, 4134*/, 5344, 5558), // Was 4134 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetVertexData2f, PATCH, 3911, 4039), // Was 4627 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetVertexData2s, PATCH, 3911, 4134/*, 4361*/), @@ -335,14 +361,14 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3DVolumeTexture_LockBox, PATCH, 3911), // Just calls Lock3DSurface (from 4134, 4432's comment) REGISTER_OOVPAS(D3D_AllocContiguousMemory, UNPATCHED, 3911, 5455/*, 5788*/), // Just calls MmAllocateContiguousMemory. Was PATCH (from 3925, 5788's comment) REGISTER_OOVPAS(D3D_BlockOnResource, PATCH, 3911, 4034), - REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4039/*, 4361*/, 4627, 5028, 5558/*, 5849*/), + REGISTER_OOVPAS(D3D_BlockOnTime, PATCH, 3911, 4034/*, 4361*/, 4627, 5028, 5558/*, 5849*/), REGISTER_OOVPAS(D3D_CMiniport_GetDisplayCapabilities, PATCH, 3911), REGISTER_OOVPAS(D3D_CheckDeviceFormat, UNPATCHED, 3911/*, 4134*/), REGISTER_OOVPAS(D3D_ClearStateBlockFlags, XREF, 3911/*, 5788*/), REGISTER_OOVPAS(D3D_CommonSetRenderTarget, XREF, 4627, 5028/*, 5233*/), // Used between 4627 to 5233 (from 5344's comment) REGISTER_OOVPAS(D3D_CommonSetRenderTargetB, XREF, 4627), REGISTER_OOVPAS(D3D_CreateDeviceX, UNPATCHED, 4627), - REGISTER_OOVPAS(D3D_CreateStandAloneSurface, XREF, 4134), + REGISTER_OOVPAS(D3D_CreateStandAloneSurface, XREF, 4034), REGISTER_OOVPAS(D3D_EnumAdapterModes, UNPATCHED, 3911), REGISTER_OOVPAS(D3D_GetAdapterDisplayMode, UNPATCHED, 3911, 4627), REGISTER_OOVPAS(D3D_GetAdapterIdentifier, UNPATCHED, 3911), @@ -350,11 +376,12 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(D3D_GetDeviceCaps, UNPATCHED, 3911), REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle, PATCH, 3911, 4034, 4627, 5028), REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle2, PATCH, 4627), - REGISTER_OOVPAS(D3D_LazySetPointParams, PATCH, 3911, 4039), + REGISTER_OOVPAS(D3D_LazySetPointParams, PATCH, 3911, 4034), REGISTER_OOVPAS(D3D_RecordStateBlock, XREF, 3911/*, 5788*/), REGISTER_OOVPAS(D3D_SetCommonDebugRegisters, PATCH, 3911), - REGISTER_OOVPAS(D3D_SetFence, XREF, 3911, 4039, 4134, 5028, 5558), + REGISTER_OOVPAS(D3D_SetFence, XREF, 3911, 4034, 4134, 5028, 5558), REGISTER_OOVPAS(D3D_SetPushBufferSize, UNPATCHED, 3911), + REGISTER_OOVPAS(D3D_SetTileNoWait, XREF, 4627, 5455), // REGISTER_OOVPAS(D3D_Unknown, XREF, 5788), // This one D3DDevice_MakeSpace REGISTER_OOVPAS(Direct3D_CheckDeviceMultiSampleType, UNPATCHED, 3911), REGISTER_OOVPAS(Direct3D_CreateDevice, PATCH, 3911, 5028), @@ -363,6 +390,7 @@ OOVPATable D3D8_OOVPAV2[] = { REGISTER_OOVPAS(Lock3DSurface, PATCH, 3911), REGISTER_OOVPAS(D3D_MakeRequestedSpace, PATCH, 4134, 5028, 5558/*, 5788*/), REGISTER_OOVPAS(XMETAL_StartPush, UNPATCHED, 3911), + REGISTER_OOVPAS(IDirect3DVertexBuffer8_Lock, UNPATCHED, 4627), }; // ******************************************************************