From 60476f44ed862762ba8ec1fdcd69cb847935afaf Mon Sep 17 00:00:00 2001 From: narzoul Date: Sat, 29 Jun 2024 13:23:38 +0200 Subject: [PATCH] Fixed ColorKeyMethod=alphatest in Carnivores --- DDrawCompat/D3dDdi/DeviceState.cpp | 6 +++++- DDrawCompat/D3dDdi/Resource.cpp | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/DDrawCompat/D3dDdi/DeviceState.cpp b/DDrawCompat/D3dDdi/DeviceState.cpp index 12a7ae8..c387337 100644 --- a/DDrawCompat/D3dDdi/DeviceState.cpp +++ b/DDrawCompat/D3dDdi/DeviceState.cpp @@ -778,7 +778,11 @@ namespace D3dDdi if (resource) { resource->updatePalettizedTexture(stage); - resource->prepareForTextureRead(stage); + if (resource->prepareForTextureRead(stage) != m_current.textures[stage]) + { + m_changedStates |= CS_TEXTURE_STAGE; + m_maxChangedTextureStage = std::max(stage, m_maxChangedTextureStage); + } } } } diff --git a/DDrawCompat/D3dDdi/Resource.cpp b/DDrawCompat/D3dDdi/Resource.cpp index cea5fbd..5fbc9c0 100644 --- a/DDrawCompat/D3dDdi/Resource.cpp +++ b/DDrawCompat/D3dDdi/Resource.cpp @@ -1272,7 +1272,6 @@ namespace D3dDdi { return defaultResource; } - m_colorKey = appState.textureStageState[stage][D3DDDITSS_TEXTURECOLORKEYVAL] + 1; } if (!m_isColorKeyedSurfaceUpToDate ||