[Scummvm-git-logs] scummvm master -> af7d05999e944ffc446078054ed3b8a7a347e228
sluicebox
22204938+sluicebox at users.noreply.github.com
Mon Aug 9 21:42:08 UTC 2021
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:
af7d05999e SCI: Add SQ1 option to enable bearded musicians
Commit: af7d05999e944ffc446078054ed3b8a7a347e228
https://github.com/scummvm/scummvm/commit/af7d05999e944ffc446078054ed3b8a7a347e228
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2021-08-09T16:40:38-05:00
Commit Message:
SCI: Add SQ1 option to enable bearded musicians
Adds a game option to enable the original graphics that Sierra
disabled for legal reasons but still included.
Trac #12773
Changed paths:
common/gui_options.cpp
common/gui_options.h
engines/sci/detection.cpp
engines/sci/detection.h
engines/sci/detection_tables.h
engines/sci/resource/resource.cpp
diff --git a/common/gui_options.cpp b/common/gui_options.cpp
index 2941fbaa0d..6cf846de17 100644
--- a/common/gui_options.cpp
+++ b/common/gui_options.cpp
@@ -91,6 +91,7 @@ const struct GameOpt {
{ GUIO_GAMEOPTIONS13, "gameOptionD" },
{ GUIO_GAMEOPTIONS14, "gameOptionE" },
{ GUIO_GAMEOPTIONS15, "gameOptionF" },
+ { GUIO_GAMEOPTIONS16, "gameOptionG" },
{ GUIO_NONE, nullptr }
};
diff --git a/common/gui_options.h b/common/gui_options.h
index d771fd9739..88b0127bfe 100644
--- a/common/gui_options.h
+++ b/common/gui_options.h
@@ -83,6 +83,7 @@
#define GUIO_GAMEOPTIONS13 "\x3c"
#define GUIO_GAMEOPTIONS14 "\x3d"
#define GUIO_GAMEOPTIONS15 "\x3e"
+#define GUIO_GAMEOPTIONS16 "\x3f"
#define GUIO0() (GUIO_NONE)
#define GUIO1(a) (a)
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp
index 365164d2db..71a625aaa7 100644
--- a/engines/sci/detection.cpp
+++ b/engines/sci/detection.cpp
@@ -316,6 +316,17 @@ static const ADExtraGuiOptionsMap optionsList[] = {
}
},
+ // SQ1: Enable graphics that were disabled for legal reasons
+ {
+ GAMEOPTION_SQ1_BEARDED_MUSICIANS,
+ {
+ _s("Enable bearded musicians"),
+ _s("Enable graphics that were disabled for legal reasons"),
+ "enable_bearded_musicians",
+ false
+ }
+ },
+
AD_EXTRA_GUI_OPTIONS_TERMINATOR
};
diff --git a/engines/sci/detection.h b/engines/sci/detection.h
index ba3c3cf950..118bdd3cee 100644
--- a/engines/sci/detection.h
+++ b/engines/sci/detection.h
@@ -42,6 +42,7 @@ namespace Sci {
#define GAMEOPTION_UPSCALE_VIDEOS GUIO_GAMEOPTIONS13
#define GAMEOPTION_RGB_RENDERING GUIO_GAMEOPTIONS14
#define GAMEOPTION_PALETTE_MODS GUIO_GAMEOPTIONS15
+#define GAMEOPTION_SQ1_BEARDED_MUSICIANS GUIO_GAMEOPTIONS16
enum SciGameId {
GID_ASTROCHICKEN,
diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index d618f6dfd9..3e22b7ffbe 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -4933,6 +4933,13 @@ static const struct ADGameDescription SciGameDescriptions[] = {
AD_LISTEND},
Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO1(GUIO_NONE) },
+#define GUIO_SQ1_ENGLISH_PC GUIO6(GUIO_NOSPEECH, \
+ GAMEOPTION_PREFER_DIGITAL_SFX, \
+ GAMEOPTION_ORIGINAL_SAVELOAD, \
+ GAMEOPTION_MIDI_MODE, \
+ GAMEOPTION_RGB_RENDERING, \
+ GAMEOPTION_SQ1_BEARDED_MUSICIANS)
+
// Space Quest 1 VGA Remake - English Amiga (from www.back2roots.org)
// SCI interpreter version 1.000.510 (just a guess)
{"sq1sci", "SCI", {
@@ -4957,7 +4964,7 @@ static const struct ADGameDescription SciGameDescriptions[] = {
{"resource.003", 0, "c47600e50c6fc591957ae0c5020ee7b8", 1213262},
{"resource.004", 0, "e19ea4ad131472f9238590f2e1d40289", 1203051},
AD_LISTEND},
- Common::EN_ANY, Common::kPlatformDOS, 0, GUIO_STD16 },
+ Common::EN_ANY, Common::kPlatformDOS, 0, GUIO_SQ1_ENGLISH_PC },
// Space Quest 1 VGA Remake - Russian DOS (from ncuxonaT in bug report #10156)
// VERSION file reports "2.000"
@@ -5016,7 +5023,9 @@ static const struct ADGameDescription SciGameDescriptions[] = {
{"resource.004", 0, "975c6e81194ae6b65e960a248129ecaa", 684119},
{"resource.005", 0, "13d96f7905637552c0647175ff816145", 695589},
AD_LISTEND},
- Common::EN_ANY, Common::kPlatformDOS, 0, GUIO_STD16 },
+ Common::EN_ANY, Common::kPlatformDOS, 0, GUIO_SQ1_ENGLISH_PC },
+
+#undef GUIO_SQ1_ENGLISH_PC
// Space Quest 3 - English Amiga (from www.back2roots.org)
// SCI interpreter version 0.000.453 (just a guess)
diff --git a/engines/sci/resource/resource.cpp b/engines/sci/resource/resource.cpp
index 3b5020b48b..9af85d61a9 100644
--- a/engines/sci/resource/resource.cpp
+++ b/engines/sci/resource/resource.cpp
@@ -22,6 +22,7 @@
// Resource library
+#include "common/config-manager.h"
#include "common/file.h"
#include "common/fs.h"
#include "common/macresman.h"
@@ -1574,6 +1575,18 @@ bool ResourceManager::isBlacklistedPatch(const ResourceId &resId) const {
g_sci->getPlatform() == Common::kPlatformDOS &&
resId.getType() == kResourceTypeSound &&
resId.getNumber() == 1;
+ case GID_SQ1:
+ // In the SCI remake of SQ1, the bearded musicians at the bar in Kerona
+ // were removed for legal reasons. Sierra still included them, but the
+ // real graphics were suppressed with patch files that shrunk the
+ // guitarists to 13 pixels and replaced the drummer with an alien and
+ // the Sierra logo. We allow users to enable the original graphics,
+ // which we do by simply ignoring the patch files. In later versions
+ // the musicians were completely removed from the game scripts.
+ return resId.getType() == kResourceTypeView &&
+ (resId.getNumber() == 433 || resId.getNumber() == 533) &&
+ ConfMan.getBool("enable_bearded_musicians") &&
+ testResource(resId); // ensure that the original view exists, just to be safe
default:
return false;
}
More information about the Scummvm-git-logs
mailing list