mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-16 06:39:17 +00:00
SCUMM: Allow detecting games from disabled subengines
This commit is contained in:
parent
0e6ad930f9
commit
16706dc63f
@ -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 {
|
||||
|
@ -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 }
|
||||
};
|
||||
|
||||
|
@ -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 }
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user