[Scummvm-git-logs] scummvm master -> 16706dc63f676b4ac92338493ae5503def3a5604

sev- sev at scummvm.org
Sat Nov 28 18:06:05 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:
16706dc63f SCUMM: Allow detecting games from disabled subengines


Commit: 16706dc63f676b4ac92338493ae5503def3a5604
    https://github.com/scummvm/scummvm/commit/16706dc63f676b4ac92338493ae5503def3a5604
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2020-11-28T19:06:01+01:00

Commit Message:
SCUMM: Allow detecting games from disabled subengines

Changed paths:
    engines/scumm/detection.cpp
    engines/scumm/detection_steam.h
    engines/scumm/detection_tables.h
    engines/scumm/metaengine.cpp


diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp
index 552df4f4c9..f4dc526395 100644
--- a/engines/scumm/detection.cpp
+++ b/engines/scumm/detection.cpp
@@ -130,23 +130,7 @@ DetectedGames ScummMetaEngineDetection::detectGames(const Common::FSList &fslist
 }
 
 const char *ScummMetaEngineDetection::getName() const {
-	return "SCUMM ["
-
-#if defined(ENABLE_SCUMM_7_8) && defined(ENABLE_HE)
-		"all games"
-#else
-
-		"v0-v6 games"
-
-#if defined(ENABLE_SCUMM_7_8)
-		", v7 & v8 games"
-#endif
-#if defined(ENABLE_HE)
-		", HE71+ games"
-#endif
-
-#endif
-		"]";
+	return "SCUMM";
 }
 
 const char *ScummMetaEngineDetection::getOriginalCopyright() const {
diff --git a/engines/scumm/detection_steam.h b/engines/scumm/detection_steam.h
index 20a8696bcd..83a802a581 100644
--- a/engines/scumm/detection_steam.h
+++ b/engines/scumm/detection_steam.h
@@ -34,10 +34,8 @@ static const SteamIndexFile steamIndexFiles[] = {
 	{ GID_INDY4, Common::kPlatformMacintosh, "atlantis.%03d", "ATLANTIS.000",  "The Fate of Atlantis",                       260224, 12035 },
 	{ GID_LOOM,  Common::kPlatformWindows,   "%03d.LFL",      "000.LFL",       "Loom.exe",                                   187248,  8307 },
 	{ GID_LOOM,  Common::kPlatformMacintosh, "%03d.LFL",      "000.LFL",       "Loom",                                       170464,  8307 },
-#ifdef ENABLE_SCUMM_7_8
 	{ GID_DIG,   Common::kPlatformWindows,   "dig.la%d",      "DIG.LA0",       "The Dig.exe",                                340632, 16304 },
 	{ GID_DIG,   Common::kPlatformMacintosh, "dig.la%d",      "DIG.LA0",       "The Dig",                                    339744, 16304 },
-#endif
 	{ 0,         Common::kPlatformUnknown,   nullptr,         nullptr,         nullptr,                                           0,     0 }
 };
 
diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h
index e4720c6bfb..7c8d94d515 100644
--- a/engines/scumm/detection_tables.h
+++ b/engines/scumm/detection_tables.h
@@ -70,12 +70,9 @@ static const PlainGameDescriptor gameDescriptions[] = {
 	{ "indyloom", "Indiana Jones and the Last Crusade & Loom" },
 	{ "indyzak", "Indiana Jones and the Last Crusade & Zak McKracken" },
 	{ "zakloom", "Zak McKracken & Loom" },
-
-#ifdef ENABLE_SCUMM_7_8
 	{ "ft", "Full Throttle" },
 	{ "dig", "The Dig" },
 	{ "comi", "The Curse of Monkey Island" },
-#endif
 
 	{ "activity", "Putt-Putt & Fatty Bear's Activity Pack" },
 	{ "brstorm", "Bear Stormin'" },
@@ -84,9 +81,6 @@ static const PlainGameDescriptor gameDescriptions[] = {
 	{ "funpack", "Putt-Putt's Fun Pack" },
 	{ "puttmoon", "Putt-Putt Goes to the Moon" },
 	{ "puttputt", "Putt-Putt Joins the Parade" },
-
-#ifdef ENABLE_HE
-#ifdef USE_RGB_COLOR
 	{ "arttime", "Blue's Art Time Activities" },
 	{ "baseball2001", "Backyard Baseball 2001" },
 	{ "Baseball2003", "Backyard Baseball 2003" },
@@ -99,7 +93,6 @@ static const PlainGameDescriptor gameDescriptions[] = {
 	{ "Soccer2004", "Backyard Soccer 2004" },
 	{ "SoccerMLS", "Backyard Soccer MLS Edition" },
 	{ "spyozon", "SPY Fox 3: Operation Ozone" },
-#endif
 	{ "airport", "Let's Explore the Airport with Buzzy" },
 	{ "balloon", "Putt-Putt and Pep's Balloon-O-Rama" },
 	{ "baseball", "Backyard Baseball" },
@@ -137,7 +130,6 @@ static const PlainGameDescriptor gameDescriptions[] = {
 	{ "thinker1", "Big Thinkers First Grade" },
 	{ "thinkerk", "Big Thinkers Kindergarten" },
 	{ "water", "Freddi Fish and Luther's Water Worries" },
-#endif
 	{ 0, 0 }
 };
 
@@ -185,9 +177,7 @@ static const GameSettings gameVariantsTable[] = {
 
 	{"loom", "EGA",      "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO1(GUIO_NOSPEECH)},
 	{"loom", "No AdLib", "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS,                        0, UNK, GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI)},
-#ifdef USE_RGB_COLOR
 	{"loom", "PC-Engine",    0, GID_LOOM, 3, 0, MDT_NONE,                         GF_AUDIOTRACKS | GF_OLD256 | GF_16BIT_COLOR, Common::kPlatformPCEngine, GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI)},
-#endif
 	{"loom", "FM-TOWNS",     0, GID_LOOM, 3, 0, MDT_TOWNS,                        GF_AUDIOTRACKS | GF_OLD256, Common::kPlatformFMTowns, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GUIO_NOASPECT)},
 	{"loom", "VGA",      "vga", GID_LOOM, 4, 0, MDT_NONE,                         GF_AUDIOTRACKS,             Common::kPlatformDOS, GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI)},
 	{"loom", "Steam",  "steam", GID_LOOM, 4, 0, MDT_NONE,                         GF_AUDIOTRACKS,  UNK, GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI)},
@@ -220,7 +210,6 @@ static const GameSettings gameVariantsTable[] = {
 	{"samnmax",  "", 0, GID_SAMNMAX,  6, 0, MDT_ADLIB | MDT_MIDI | MDT_PREFER_GM, GF_USE_KEY, UNK, GUIO0()},
 	{"samnmax",  "Floppy", 0, GID_SAMNMAX,  6, 0, MDT_ADLIB | MDT_MIDI | MDT_PREFER_GM, GF_USE_KEY, UNK, GUIO1(GUIO_NOSPEECH)},
 
-#ifdef ENABLE_SCUMM_7_8
 	{"ft",   "", 0, GID_FT,  7, 0, MDT_NONE, 0, UNK, GUIO1(GUIO_NOMIDI)},
 	{"ft",   "Demo", 0, GID_FT,  7, 0, MDT_NONE, GF_DEMO, UNK, GUIO1(GUIO_NOMIDI)},
 
@@ -230,7 +219,6 @@ static const GameSettings gameVariantsTable[] = {
 
 	{"comi", "", 0, GID_CMI, 8, 0, MDT_NONE, 0, Common::kPlatformWindows, GUIO2(GUIO_NOMIDI, GUIO_NOASPECT)},
 	{"comi", "Demo", 0, GID_CMI, 8, 0, MDT_NONE, GF_DEMO, Common::kPlatformWindows, GUIO2(GUIO_NOMIDI, GUIO_NOASPECT)},
-	#endif
 
 	// Humongous Entertainment Scumm Version 6
 	{"activity", "", 0, GID_HEGAME, 6, 62, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK, GUIO1(GUIO_NOLAUNCHLOAD)},
@@ -255,7 +243,6 @@ static const GameSettings gameVariantsTable[] = {
 	// they'll override more specific entries that follow later on.
 	{"", "HE 70",   0, GID_HEGAME, 6,  70, MDT_NONE, GF_USE_KEY, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI)},
 
-#ifdef ENABLE_HE
 	// HE CUP demos
 	{"", "HE CUP",  0, GID_HECUP,  6, 200, MDT_NONE, 0, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOSPEECH)},
 
@@ -341,7 +328,6 @@ static const GameSettings gameVariantsTable[] = {
 	// Added the use of smacker videos
 	{"BluesTreasureHunt", 0, 0, GID_TREASUREHUNT, 6, 99, MDT_NONE, GF_HE_LOCALIZED | GF_USE_KEY, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
 
-#ifdef USE_RGB_COLOR
 	// Added 16bit color
 	{"arttime", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
 	{"baseball2001", 0, 0, GID_BASEBALL2001, 6, 99, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
@@ -368,7 +354,6 @@ static const GameSettings gameVariantsTable[] = {
 	{"Baseball2003", 0, 0, GID_BASEBALL2003, 6, 101, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
 	{"basketball", 0, 0, GID_BASKETBALL, 6, 101, MDT_NONE, GF_USE_KEY| GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
 	{"football2002", 0, 0, GID_FOOTBALL2002, 6, 101, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
-#endif
 
 	// The following are meant to be generic HE game variants and as such do
 	// not specify a game ID. Make sure that these are last in the table, else
@@ -386,7 +371,7 @@ static const GameSettings gameVariantsTable[] = {
 	{"", "HE 99",   0, GID_HEGAME, 6,  99, MDT_NONE, GF_USE_KEY, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
 	{"", "HE 100",  0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
 	{"", "HE 101",  0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
-#endif
+
 	{NULL, NULL, 0, 0, 0, MDT_NONE, 0, 0, UNK, 0}
 };
 
@@ -470,7 +455,6 @@ static const GameFilenamePattern gameFilenamesTable[] = {
 	{ "samnmax", "snmidemo.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
 	{ "samnmax", "sdemo.sm%d", kGenDiskNum, Common::DE_DEU, UNK, 0 },
 
-#ifdef ENABLE_SCUMM_7_8
 	{ "dig", "dig.la%d", kGenDiskNum, UNK_LANG, UNK, 0 },
 	{ "dig", "thedig.la%d", kGenDiskNum, UNK_LANG, UNK, "Demo" }, // Used by an alternate version of the demo
 	{ "dig", "The Dig Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, 0 },
@@ -487,7 +471,6 @@ static const GameFilenamePattern gameFilenamesTable[] = {
 	{ "ft", "Vollgas Demo Data", kGenUnchanged, Common::DE_DEU, Common::kPlatformMacintosh, "Demo" },
 
 	{ "comi", "comi.la%d", kGenDiskNum, UNK_LANG, UNK, 0 },
-#endif
 
 	{ "activity", "activity", kGenHEPC, UNK_LANG, UNK, 0 },
 	{ "activity", "Putt & Fatty's Actpack", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
@@ -515,8 +498,6 @@ static const GameFilenamePattern gameFilenamesTable[] = {
 	{ "puttputt", "Putt-Putt Parade", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
 	{ "puttputt", "Putt-Putt", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
 
-#ifdef ENABLE_HE
-#ifdef USE_RGB_COLOR
 	{ "arttime", "arttime", kGenHEPC, UNK_LANG, UNK, 0 },
 	{ "arttime", "Blues-ArtTime", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
 	{ "arttime", "artdemo", kGenHEPC, UNK_LANG, UNK, 0 },
@@ -576,7 +557,6 @@ static const GameFilenamePattern gameFilenamesTable[] = {
 	{ "spyozon", "SPYFoxSOS", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
 	{ "spyozon", "SpyOzon", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
 	{ "spyozon", "ozonepre.cup", kGenUnchanged, UNK_LANG, UNK, "HE CUP" },
-#endif
 
 	{ "airport", "airport", kGenHEPC, UNK_LANG, UNK, 0 },
 	{ "airport", "airdemo", kGenHEPC, UNK_LANG, UNK, 0 },
@@ -912,7 +892,7 @@ static const GameFilenamePattern gameFilenamesTable[] = {
 	{ "water", "water", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
 	{ "water", "Water", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
 	{ "water", "Water Worries", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
-#endif
+
 	{ NULL, NULL, kGenUnchanged, UNK_LANG, UNK, 0 }
 };
 
diff --git a/engines/scumm/metaengine.cpp b/engines/scumm/metaengine.cpp
index e6af0f9cd4..58bcf9201c 100644
--- a/engines/scumm/metaengine.cpp
+++ b/engines/scumm/metaengine.cpp
@@ -412,6 +412,21 @@ Common::Error ScummMetaEngine::createInstance(OSystem *syst, Engine **engine) co
 		case 71:
 			*engine = new ScummEngine_v71he(syst, res);
 			break;
+#else
+		case 200:
+		case 101:
+		case 100:
+		case 99:
+		case 98:
+		case 95:
+		case 90:
+		case 85:
+		case 80:
+		case 74:
+		case 73:
+		case 72:
+		case 71:
+			return Common::Error(Common::kUnsupportedGameidError, _s("HE v71+ support is not compiled in"));
 #endif
 		case 70:
 			*engine = new ScummEngine_v70he(syst, res);
@@ -432,9 +447,13 @@ Common::Error ScummMetaEngine::createInstance(OSystem *syst, Engine **engine) co
 	case 8:
 		*engine = new ScummEngine_v8(syst, res);
 		break;
+#else
+	case 7:
+	case 8:
+		return Common::Error(Common::kUnsupportedGameidError, _s("SCUMM v7-8 support is not compiled in"));
 #endif
 	default:
-		error("Engine_SCUMM_create(): Unknown version of game engine");
+		return Common::kUnsupportedGameidError;
 	}
 
 	return Common::kNoError;




More information about the Scummvm-git-logs mailing list