[Scummvm-git-logs] scummvm master -> 3a38ed1aafc5236e67c9a5c50c83b11b7fa98b13

athrxx noreply at scummvm.org
Mon Dec 29 16:28:33 UTC 2025


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
3a38ed1aaf SCI: fix bug no. 16426


Commit: 3a38ed1aafc5236e67c9a5c50c83b11b7fa98b13
    https://github.com/scummvm/scummvm/commit/3a38ed1aafc5236e67c9a5c50c83b11b7fa98b13
Author: athrxx (athrxx at scummvm.org)
Date: 2025-12-29T17:27:26+01:00

Commit Message:
SCI: fix bug no. 16426

("Skip EGA dithering pass ignored")

Changed paths:
    engines/sci/graphics/drivers/init.cpp
    engines/sci/sci.cpp


diff --git a/engines/sci/graphics/drivers/init.cpp b/engines/sci/graphics/drivers/init.cpp
index 175c4909ae1..fb2145140f5 100644
--- a/engines/sci/graphics/drivers/init.cpp
+++ b/engines/sci/graphics/drivers/init.cpp
@@ -116,10 +116,11 @@ Common::RenderMode getRenderMode() {
 	SciVersion version = getSciVersion();
 
 	// No extra modes supported for the Korean fan-patched games.
-	// Also set default mode if undithering is enabled for a SCI0 game and the render mode is either set to kRenderEGA
-	// or kRenderPC98_16c (probably redundant nowadays, but why not make sure everything works as intended).
-	if (lang == Common::KO_KOR || (undither && ((selectedMode == Common::kRenderEGA && (version <= SCI_VERSION_0_LATE || version == SCI_VERSION_1_EGA_ONLY)) || selectedMode == Common::kRenderPC98_16c)))
-		result = Common::kRenderDefault;
+	// Also set default mode if undithering is enabled for a 16 colors game and the render mode is not set to CGA, Hercules
+	// or PC-98 8 colors.
+	if (lang == Common::KO_KOR || (undither && version <= SCI_VERSION_1_EGA_ONLY && selectedMode != Common::kRenderCGA &&
+		selectedMode != Common::kRenderCGA_BW && selectedMode != Common::kRenderHercA && selectedMode != Common::kRenderHercG && selectedMode != Common::kRenderPC98_8c))
+			result = Common::kRenderDefault;
 
 	if (result == Common::kRenderDefault)
 		return result;
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 1e7ac6ddb46..2853a85d228 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -328,8 +328,9 @@ Common::Error SciEngine::run() {
 		bool undither = ConfMan.getBool("disable_dithering");
 		Common::RenderMode renderMode = SciGfxDriver::getRenderMode();
 
-		// Disable undithering for CGA, Hercules and other unsuitable video modes. The render mode should have been set to
-		// kRenderDefault by determineRenderMode() if undithering is selected, but we want to make sure that this matches.
+		// Disable undithering for CGA, Hercules and other unsuitable video modes. For all other modes,
+		// the render mode should have been changed to kRenderDefault inside SciGfxDriver::getRenderMode()
+		// if undithering is selected.
 		if (renderMode != Common::kRenderDefault)
 			undither = false;
 




More information about the Scummvm-git-logs mailing list