diff --git a/Source/Render/DX9/DeviceOwnerDX9.cpp b/Source/Render/DX9/DeviceOwnerDX9.cpp index 777767d4..0b6c37dc 100644 --- a/Source/Render/DX9/DeviceOwnerDX9.cpp +++ b/Source/Render/DX9/DeviceOwnerDX9.cpp @@ -214,7 +214,7 @@ HRESULT DeviceOwnerDX9::Initialize(HWND value, UINT selectedAdapter) { this->state.Initialize(this->device); this->state.SetInitialStates(); - this->dynamicTextures = (this->caps.Caps2 & D3DCAPS2_DYNAMICTEXTURES) != 0 && g_textureFiltering != 0; + this->UpdateMipmapFiltering(); this->ClipFullscreenCursor(); return D3D_OK; @@ -249,6 +249,14 @@ HRESULT DeviceOwnerDX9::Close() { } // OFFSET: 0x0054C020 +// FUNCTION: fn_45500 +void DeviceOwnerDX9::UpdateMipmapFiltering() { + if (!(this->caps.TextureFilterCaps & D3DPTFILTERCAPS_MIPFLINEAR)) { + this->dynamicTextures = false; + } else { + this->dynamicTextures = g_textureFiltering != 0; + } +} // OFFSET: 0x0054C070 // FUNCTION: fn_01917 diff --git a/Source/Render/DX9/RenderSystemDX9.cpp b/Source/Render/DX9/RenderSystemDX9.cpp index 89a0bb73..c6e3fe2c 100644 --- a/Source/Render/DX9/RenderSystemDX9.cpp +++ b/Source/Render/DX9/RenderSystemDX9.cpp @@ -125,7 +125,7 @@ std::shared_ptr CRenderSystemDX9::BackBufferSurface() { // OFFSET: 0x0056D740 // FUNCTION: fn_02365 void CRenderSystemDX9::UpdateOption() { - this->m_device->dynamicTextures = (this->m_device->caps.Caps2 & D3DCAPS2_DYNAMICTEXTURES) != 0 && g_textureFiltering != 0; + this->m_device->UpdateMipmapFiltering(); } // OFFSET: 0x0056D760