[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