[Scummvm-git-logs] scummvm master -> c4eda7ab4a4be384ba2f433bcf9ad9ca702a8736

sluicebox 22204938+sluicebox at users.noreply.github.com
Mon Sep 7 05:00:35 UTC 2020


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

Summary:
c4eda7ab4a SCI32: Set Mac gamma level


Commit: c4eda7ab4a4be384ba2f433bcf9ad9ca702a8736
    https://github.com/scummvm/scummvm/commit/c4eda7ab4a4be384ba2f433bcf9ad9ca702a8736
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2020-09-06T21:56:58-07:00

Commit Message:
SCI32: Set Mac gamma level

Changed paths:
    engines/sci/engine/features.h
    engines/sci/graphics/palette32.cpp


diff --git a/engines/sci/engine/features.h b/engines/sci/engine/features.h
index 578cfb42d5..4dda92ae0d 100644
--- a/engines/sci/engine/features.h
+++ b/engines/sci/engine/features.h
@@ -172,6 +172,18 @@ public:
 			 g_sci->getGameId() == GID_SQ6);
 	}
 
+	inline bool useMacGammaLevel() const {
+		// SCI32 Mac interpreters were hard-coded to use gamma level 2 until
+		//  Torin's Passage, PQSWAT, and the 2.1 Late games. The colors in
+		//  the game resources are significantly darker than their PC versions.
+		//  Confirmed in disassembly of all Mac interpreters.
+		return g_sci->getPlatform() == Common::kPlatformMacintosh &&
+			getSciVersion() >= SCI_VERSION_2 &&
+			getSciVersion() < SCI_VERSION_2_1_LATE &&
+			g_sci->getGameId() != GID_PQSWAT &&
+			g_sci->getGameId() != GID_TORIN;
+	}
+
 	inline bool usesAlternateSelectors() const {
 		return g_sci->getGameId() == GID_PHANTASMAGORIA2;
 	}
diff --git a/engines/sci/graphics/palette32.cpp b/engines/sci/graphics/palette32.cpp
index 33ffbeb1b7..c3f28c3909 100644
--- a/engines/sci/graphics/palette32.cpp
+++ b/engines/sci/graphics/palette32.cpp
@@ -386,7 +386,7 @@ static const uint8 gammaTables[GfxPalette32::numGammaTables][256] = {
 	_cycleMap(),
 
 	// Gamma correction
-	_gammaLevel(-1),
+	_gammaLevel(g_sci->_features->useMacGammaLevel() ? 2 : -1),
 	_gammaChanged(false) {
 
 	for (int i = 0, len = ARRAYSIZE(_fadeTable); i < len; ++i) {




More information about the Scummvm-git-logs mailing list