[Scummvm-git-logs] scummvm master -> 536229f85be6da3e85eba3bacefa04170abf7612

bluegr noreply at scummvm.org
Sun Dec 21 10:26:23 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:
536229f85b SCI: Add Behind the Developer's Shield as a separate "game"


Commit: 536229f85be6da3e85eba3bacefa04170abf7612
    https://github.com/scummvm/scummvm/commit/536229f85be6da3e85eba3bacefa04170abf7612
Author: Torbjörn Andersson (eriktorbjorn at users.sourceforge.net)
Date: 2025-12-21T12:26:19+02:00

Commit Message:
SCI: Add Behind the Developer's Shield as a separate "game"

It's a set of patch files bundled with Inside the Chest that provides a
different set of articles and artwork. All that's needed is to prefer
the patch files over the original files.

Changed paths:
    engines/sci/detection.cpp
    engines/sci/detection.h
    engines/sci/detection_internal.cpp
    engines/sci/detection_tables.h
    engines/sci/engine/features.cpp
    engines/sci/sci.cpp


diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp
index 64b6b47e6bd..ee943810a19 100644
--- a/engines/sci/detection.cpp
+++ b/engines/sci/detection.cpp
@@ -149,6 +149,7 @@ static const PlainGameDescriptor s_sciGameTitles[] = {
 	{"phantasmagoria",  "Phantasmagoria"},
 	{"pqswat",          "Police Quest: SWAT"},
 	{"realm",           "The Realm"},
+	{"shield",          "Behind the Developer's Shield"},
 	{"shivers",         "Shivers"},
 	{"sq6",             "Space Quest 6: The Spinal Frontier"},
 	{"torin",           "Torin's Passage"},
diff --git a/engines/sci/detection.h b/engines/sci/detection.h
index 6652ee28da7..a5466329240 100644
--- a/engines/sci/detection.h
+++ b/engines/sci/detection.h
@@ -115,6 +115,7 @@ enum SciGameId {
 	GID_QFG4DEMO,	// We have a separate ID for QFG4 demo, because it's actually a completely different game (SCI1.1 vs SCI2/SCI2.1)
 	GID_RAMA,
 	GID_REALM,
+	GID_SHIELD,
 	GID_SHIVERS,
 	//GID_SHIVERS2,	// Not SCI
 	GID_SLATER,
diff --git a/engines/sci/detection_internal.cpp b/engines/sci/detection_internal.cpp
index 851faf0f1a1..927ef2165cf 100644
--- a/engines/sci/detection_internal.cpp
+++ b/engines/sci/detection_internal.cpp
@@ -98,6 +98,7 @@ const GameIdStrToEnum gameIdStrToEnum[] = {
 	{ "qfg4demo",        "",                GID_QFG4DEMO,         false, SCI_VERSION_NONE },	// Sierra ID is "glory", distinguished by resources
 	{ "rama",            "rama",            GID_RAMA,             true,  SCI_VERSION_NONE },
 	{ "sci-fanmade",     "",                GID_FANMADE,          false, SCI_VERSION_NONE },
+	{ "shield",          "archive",         GID_SHIELD,           true,  SCI_VERSION_NONE },
 	{ "shivers",         "",                GID_SHIVERS,          true,  SCI_VERSION_NONE },
 	//{ "shivers2",        "shivers2",        GID_SHIVERS2,       true,  SCI_VERSION_NONE },	// Not SCI
 	{ "slater",          "thegame",         GID_SLATER,           false, SCI_VERSION_NONE },
diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index eeedceb45ad..c4a98db0025 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -231,6 +231,12 @@ static const struct ADGameDescription SciGameDescriptions[] = {
 		AD_LISTEND},
 		Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO7(GUIO_NOSUBTITLES, GUIO_NOMUSIC, GUIO_NOSPEECH, GUIO_NOSFX, GUIO_NOMIDI, GUIO_NOLAUNCHLOAD, GUIO_NOASPECT)	},
 
+	{"shield", "", {
+		{"resource.map", 0, "9dd015e79cac4f91e7de805448f39775", 1912},
+		{"resource.000", 0, "e4efcd042f86679dd4e1834bb3a38edb", 3770943},
+		AD_LISTEND},
+		Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO7(GUIO_NOSUBTITLES, GUIO_NOMUSIC, GUIO_NOSPEECH, GUIO_NOSFX, GUIO_NOMIDI, GUIO_NOLAUNCHLOAD, GUIO_NOASPECT)	},
+
 	// Christmas Card 1988 - English DOS
 	// SCI interpreter version 0.000.294
 	{"christmas1988", "", {
diff --git a/engines/sci/engine/features.cpp b/engines/sci/engine/features.cpp
index 68f2dd9ec02..e113293e59e 100644
--- a/engines/sci/engine/features.cpp
+++ b/engines/sci/engine/features.cpp
@@ -494,7 +494,7 @@ bool GameFeatures::autoDetectSci21KernelType() {
 
 		// HACK: The Inside the Chest Demo and King's Questions minigame
 		// don't have sounds at all, but they're using a SCI2 kernel
-		if (g_sci->getGameId() == GID_CHEST || g_sci->getGameId() == GID_KQUESTIONS) {
+		if (g_sci->getGameId() == GID_CHEST || g_sci->getGameId() == GID_SHIELD || g_sci->getGameId() == GID_KQUESTIONS) {
 			_sci21KernelType = SCI_VERSION_2;
 		} else if (g_sci->getGameId() == GID_RAMA && g_sci->isDemo()) {
 			_sci21KernelType = SCI_VERSION_2_1_MIDDLE;
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 252fa9486ea..1e7ac6ddb46 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -188,6 +188,12 @@ SciEngine::SciEngine(OSystem *syst, const ADGameDescription *desc, SciGameId gam
 		SearchMan.addSubDirectoryMatching(gameDataDir, "bonus"); // resource patches
 	}
 
+	// Behind the Developer's Shield is an alternate set of articles and
+	// artwork bundled with Inside the Chest.
+	if (_gameId == GID_SHIELD) {
+		SearchMan.addSubDirectoryMatching(gameDataDir, "shield", -1);
+	}
+
 	switch (desc->language) {
 	case Common::DE_DEU:
 		SearchMan.addSubDirectoryMatching(gameDataDir, "german/msg");




More information about the Scummvm-git-logs mailing list