[Scummvm-git-logs] scummvm master -> 86407e93810c3b223b9bff40adb6c4cf9d1da4fd

bluegr noreply at scummvm.org
Sat Nov 29 23:38:07 UTC 2025


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

Summary:
e74d3f77b0 SHERLOCK: Use the IS_3DO macro to simplify a check
bc184e469f SHERLOCK: Fix obtaining the source pixel value for the 3DO version
86407e9381 SHERLOCK: Don't override font colors for the 3DO version


Commit: e74d3f77b0aed9978fe0edaa8e4582af764d907e
    https://github.com/scummvm/scummvm/commit/e74d3f77b0aed9978fe0edaa8e4582af764d907e
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2025-11-30T01:36:10+02:00

Commit Message:
SHERLOCK: Use the IS_3DO macro to simplify a check

Changed paths:
    engines/sherlock/fonts.cpp


diff --git a/engines/sherlock/fonts.cpp b/engines/sherlock/fonts.cpp
index 65a7aa20708..0d1cc184735 100644
--- a/engines/sherlock/fonts.cpp
+++ b/engines/sherlock/fonts.cpp
@@ -93,7 +93,7 @@ void Fonts::setFont(int fontNum) {
 		}
 	}
 
-	if (_vm->getPlatform() != Common::kPlatform3DO) {
+	if (!IS_3DO) {
 		// PC
 		// use FONT[number].VGS, which is a regular sherlock graphic file
 		fontFilename = Common::Path(Common::String::format("FONT%d.VGS", fontNum + 1));


Commit: bc184e469fbff56debf72cb660afea6f543ed0d2
    https://github.com/scummvm/scummvm/commit/bc184e469fbff56debf72cb660afea6f543ed0d2
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2025-11-30T01:36:12+02:00

Commit Message:
SHERLOCK: Fix obtaining the source pixel value for the 3DO version

This should fix one of the regressions caused by commit 649170864

Changed paths:
    engines/sherlock/surface.cpp


diff --git a/engines/sherlock/surface.cpp b/engines/sherlock/surface.cpp
index 4028846b8cb..61439247aa6 100644
--- a/engines/sherlock/surface.cpp
+++ b/engines/sherlock/surface.cpp
@@ -86,7 +86,7 @@ void BaseSurface::SHoverrideBlitFrom(const Graphics::Surface &src, const Common:
 
 	for (int y = 0; y < destRect.height(); y++) {
 		for (int x = 0; x < destRect.width(); x++) {
-			const uint8 srcVal = src.getPixel(srcRect.left + x, srcRect.top + y);
+			const uint32 srcVal = src.getPixel(srcRect.left + x, srcRect.top + y);
 			if (srcVal == transColor)
 				continue;
 			setPixel(destRect.left + x, destRect.top + y, overrideColor);


Commit: 86407e93810c3b223b9bff40adb6c4cf9d1da4fd
    https://github.com/scummvm/scummvm/commit/86407e93810c3b223b9bff40adb6c4cf9d1da4fd
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2025-11-30T01:36:13+02:00

Commit Message:
SHERLOCK: Don't override font colors for the 3DO version

Overriding colors when blitting surfaces is done in a different manner
in the 3DO version.

In the 3DO version, when blitting and using a color override, the
overridden color should be mixed with the source pixel color, instead
of replacing all target pixels.

This addresses the issue reported in bug #16346, where overriden colors
would not be mixed with the original image colors. Thus, we revert
to the older (and still incorrect) behavior before commit 649170864c,
where overriden colors, such as the color of the speaker's name, are
not drawn.

Fixes the badly drawn fonts reported in bug #16346

Changed paths:
    engines/sherlock/surface.cpp


diff --git a/engines/sherlock/surface.cpp b/engines/sherlock/surface.cpp
index 61439247aa6..4b1e9602142 100644
--- a/engines/sherlock/surface.cpp
+++ b/engines/sherlock/surface.cpp
@@ -89,7 +89,13 @@ void BaseSurface::SHoverrideBlitFrom(const Graphics::Surface &src, const Common:
 			const uint32 srcVal = src.getPixel(srcRect.left + x, srcRect.top + y);
 			if (srcVal == transColor)
 				continue;
-			setPixel(destRect.left + x, destRect.top + y, overrideColor);
+			if (!IS_3DO) {
+				setPixel(destRect.left + x, destRect.top + y, overrideColor);
+			} else {
+				// TODO: actually override the color properly, by mixing it
+				// with the source color
+				setPixel(destRect.left + x, destRect.top + y, srcVal);
+			}
 		}
 	}
 }




More information about the Scummvm-git-logs mailing list