mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-14 16:07:39 +00:00
Merged scumm_settings into extra_versions, which in turn got renamed to gameVariantsTable
svn-id: r21768
This commit is contained in:
parent
8271273cb5
commit
8cbe1f3823
@ -186,211 +186,13 @@ static const ObsoleteGameID obsoleteGameIDsTable[] = {
|
|||||||
{NULL, NULL, UNK}
|
{NULL, NULL, UNK}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const GameSettings scumm_settings[] = {
|
|
||||||
/* Scumm Version 1 */
|
|
||||||
/* Scumm Version 2 */
|
|
||||||
|
|
||||||
{"maniac", 0, GID_MANIAC, 2, 0, MDT_PCSPK,
|
|
||||||
GF_SMALL_HEADER | GF_NO_SCALING | GF_16COLOR | GF_USE_KEY | GF_OLD_BUNDLE, UNK},
|
|
||||||
{"zak", 0, GID_ZAK, 2, 0, MDT_PCSPK,
|
|
||||||
GF_SMALL_HEADER | GF_NO_SCALING | GF_16COLOR | GF_USE_KEY | GF_OLD_BUNDLE, UNK},
|
|
||||||
|
|
||||||
/* Scumm Version 3 */
|
|
||||||
{"indy3", 0, GID_INDY3, 3, 0, MDT_PCSPK | MDT_ADLIB,
|
|
||||||
GF_SMALL_HEADER | GF_NO_SCALING | GF_16COLOR | GF_USE_KEY | GF_OLD_BUNDLE, UNK},
|
|
||||||
{"loom", 0, GID_LOOM, 3, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_SMALL_HEADER | GF_NO_SCALING | GF_16COLOR | GF_USE_KEY | GF_OLD_BUNDLE, UNK},
|
|
||||||
|
|
||||||
/* Scumm Version 4 */
|
|
||||||
{"pass", 0, GID_PASS, 4, 0, MDT_PCSPK | MDT_ADLIB,
|
|
||||||
GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR, Common::kPlatformPC},
|
|
||||||
|
|
||||||
/* Scumm version 5, small header -- we treat these as V4 games, since internally
|
|
||||||
they really are much closer to the V4 games than to all other V5 games. */
|
|
||||||
{"monkey", 0, GID_MONKEY_VGA, 4, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_SMALL_HEADER | GF_USE_KEY, Common::kPlatformPC},
|
|
||||||
|
|
||||||
/* Scumm version 5 */
|
|
||||||
{"monkey2", 0, GID_MONKEY2, 5, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_USE_KEY, UNK},
|
|
||||||
|
|
||||||
{"atlantis", 0, GID_INDY4, 5, 0, MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_USE_KEY, UNK},
|
|
||||||
|
|
||||||
/* Scumm Version 6 */
|
|
||||||
{"tentacle", 0, GID_TENTACLE, 6, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_USE_KEY, UNK},
|
|
||||||
|
|
||||||
{"samnmax", 0, GID_SAMNMAX, 6, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_USE_KEY, UNK},
|
|
||||||
|
|
||||||
// {"test", "Test demo game", GID_SAMNMAX, 6, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_MIDI, GF_NEW_OPCODES, Common::kPlatformUnknown},
|
|
||||||
|
|
||||||
#ifndef DISABLE_SCUMM_7_8
|
|
||||||
/* Scumm Version 7 */
|
|
||||||
{"ft", 0, GID_FT, 7, 0, MDT_NONE,
|
|
||||||
GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE, UNK},
|
|
||||||
|
|
||||||
{"dig", 0, GID_DIG, 7, 0, MDT_NONE,
|
|
||||||
GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE, UNK},
|
|
||||||
|
|
||||||
/* Scumm Version 8 */
|
|
||||||
{"comi", 0, GID_CMI, 8, 0, MDT_NONE,
|
|
||||||
GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 6
|
|
||||||
{"puttputt", 0, GID_HEGAME, 6, 61, MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
|
||||||
{"puttmoon", 0, GID_HEGAME, 6, 61, MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
|
||||||
{"funpack", 0, GID_FUNPACK, 6, 61, MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
|
||||||
{"fbpack", 0, GID_HEGAME, 6, 61, MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
|
||||||
{"fbear", 0, GID_FBEAR, 6, 61, MDT_ADLIB | MDT_MIDI,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
|
||||||
|
|
||||||
#ifndef DISABLE_HE
|
|
||||||
{"activity", 0, GID_HEGAME, 6, 70, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 7.1
|
|
||||||
// The first version to use 640x480 resolution
|
|
||||||
// There are also 7.1 versions of freddemo, airdemo and farmdemo
|
|
||||||
{"catalog", 0, GID_HEGAME, 6, 71, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"freddi", 0, GID_HEGAME, 6, 71, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 7.2
|
|
||||||
{"airport", 0, GID_HEGAME, 6, 72, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"puttzoo", 0, GID_HEGAME, 6, 72, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Changed o_getResourceSize to cover all resource types
|
|
||||||
{"farm", 0, GID_HEGAME, 6, 73, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"jungle", 0, GID_HEGAME, 6, 73, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 8.0 ? Scummsrc.80
|
|
||||||
{"freddi2", 0, GID_HEGAME, 6, 80, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"pajama", 0, GID_HEGAME, 6, 80, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"putttime", 0, GID_HEGAME, 6, 80, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
{"balloon", 0, GID_HEGAME, 6, 80, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"dog", 0, GID_HEGAME, 6, 80, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"maze", 0, GID_HEGAME, 6, 80, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"socks", 0, GID_HEGAME, 6, 80, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"water", 0, GID_WATER, 6, 80, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 9.0 ? Scummsys.90
|
|
||||||
{"baseball", 0, GID_HEGAME, 6, 90, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"thinkerk", 0, GID_HEGAME, 6, 90, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"thinker1", 0, GID_HEGAME, 6, 90, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"freddi3", 0, GID_HEGAME, 6, 90, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"spyfox", 0, GID_HEGAME, 6, 90, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 9.5 ? Scummsys.95
|
|
||||||
{"pajama2", 0, GID_HEGAME, 6, 95, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"chase", 0, GID_HEGAME, 6, 95, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 9.8 ? Scummsys.98
|
|
||||||
// these and later games can easily be identified by the .(a) file instead of a .he1
|
|
||||||
// and INIB chunk in the .he0
|
|
||||||
{"lost", 0, GID_HEGAME, 6, 98, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"puttrace", 0, GID_PUTTRACE, 6, 98, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"bluesabctime", 0, GID_HEGAME, 6, 98, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"soccer", 0, GID_SOCCER, 6, 98, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Global scripts increased to 2048
|
|
||||||
{"freddi4", 0, GID_HEGAME, 6, 98, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_985, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Humongous Entertainment Scumm Version 9.9 ? Scummsys.99
|
|
||||||
{"football", 0, GID_FOOTBALL, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"pajama3", 0, GID_HEGAME, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
|
||||||
{"puttcircus", 0, GID_HEGAME, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
|
||||||
{"spyfox2", 0, GID_HEGAME, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
|
||||||
{"mustard", 0, GID_HEGAME, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Added the use of fonts
|
|
||||||
{"FreddisFunShop", 0, GID_FUNSHOP, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
|
||||||
{"SamsFunShop", 0, GID_FUNSHOP, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
|
||||||
{"PuttsFunShop", 0, GID_FUNSHOP, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Added 16bit color
|
|
||||||
{"baseball2001", 0, GID_HEGAME, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
|
|
||||||
{"SoccerMLS", 0, GID_HEGAME, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
|
||||||
{"freddicove", 0, GID_HEGAME, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
|
||||||
{"spyozon", 0, GID_HEGAME, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Restructured the Scumm engine
|
|
||||||
{"pjgames", 0, GID_HEGAME, 6, 100, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Uses bink in external files for logos
|
|
||||||
{"Baseball2003", 0, GID_HEGAME, 6, 100, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
|
|
||||||
{"basketball", 0, GID_HEGAME, 6, 100, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"Soccer2004", 0, GID_HEGAME, 6, 100, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// Uses smacker in external files, for testing only
|
|
||||||
{"BluesBirthdayDemo", 0, GID_HEGAME, 6, 98, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"artdemo", 0, GID_HEGAME, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
|
|
||||||
{"readdemo", 0, GID_HEGAME, 6, 99, MDT_NONE,
|
|
||||||
GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
||||||
{NULL, NULL, 0, 0, 0, MDT_NONE, 0, Common::kPlatformUnknown}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// The following table contains information about variants of our various games.
|
// The following table contains information about variants of our various games.
|
||||||
// We index into it with help of md5table (from scumm-md5.h), to find the correct
|
// We index into it with help of md5table (from scumm-md5.h), to find the correct
|
||||||
// GameSettings for a given game variant.
|
// GameSettings for a given game variant.
|
||||||
//
|
//
|
||||||
// Note: This will probably eventually be merged with the scumm_settings table.
|
// The first listed variant is assumed to be the 'default' variant -- i.e. the
|
||||||
static const GameSettings extra_versions[] = {
|
// variant that gets used when no explicit variant code has been specified.
|
||||||
|
static const GameSettings gameVariantsTable[] = {
|
||||||
// The C64 version of MM is detected via the platform field and hence has no seperate entry in this list
|
// The C64 version of MM is detected via the platform field and hence has no seperate entry in this list
|
||||||
{"maniac", "V2", GID_MANIAC, 2, 0, MDT_PCSPK, GF_SMALL_HEADER | GF_NO_SCALING | GF_16COLOR | GF_USE_KEY | GF_OLD_BUNDLE, UNK},
|
{"maniac", "V2", GID_MANIAC, 2, 0, MDT_PCSPK, GF_SMALL_HEADER | GF_NO_SCALING | GF_16COLOR | GF_USE_KEY | GF_OLD_BUNDLE, UNK},
|
||||||
{"maniac", "NES", GID_MANIAC, 1, 0, MDT_NONE, GF_SMALL_HEADER | GF_NO_SCALING | GF_16COLOR | GF_USE_KEY | GF_OLD_BUNDLE, Common::kPlatformNES},
|
{"maniac", "NES", GID_MANIAC, 1, 0, MDT_NONE, GF_SMALL_HEADER | GF_NO_SCALING | GF_16COLOR | GF_USE_KEY | GF_OLD_BUNDLE, Common::kPlatformNES},
|
||||||
@ -421,61 +223,130 @@ static const GameSettings extra_versions[] = {
|
|||||||
{"monkey", "FM-TOWNS", GID_MONKEY, 5, 0, MDT_ADLIB, GF_USE_KEY | GF_AUDIOTRACKS, Common::kPlatformFMTowns},
|
{"monkey", "FM-TOWNS", GID_MONKEY, 5, 0, MDT_ADLIB, GF_USE_KEY | GF_AUDIOTRACKS, Common::kPlatformFMTowns},
|
||||||
{"monkey", "SEGA", GID_MONKEY, 5, 0, MDT_NONE, GF_USE_KEY | GF_AUDIOTRACKS, Common::kPlatformSegaCD},
|
{"monkey", "SEGA", GID_MONKEY, 5, 0, MDT_NONE, GF_USE_KEY | GF_AUDIOTRACKS, Common::kPlatformSegaCD},
|
||||||
|
|
||||||
|
{"monkey2", 0, GID_MONKEY2, 5, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
|
||||||
/* Scumm Version 5 */
|
|
||||||
{"monkey2", 0, GID_MONKEY2, 5, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
|
|
||||||
|
|
||||||
{"atlantis", 0, GID_INDY4, 5, 0, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
|
{"atlantis", 0, GID_INDY4, 5, 0, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
|
||||||
|
|
||||||
|
|
||||||
/* Scumm Version 6 */
|
|
||||||
{"tentacle", 0, GID_TENTACLE, 6, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
|
{"tentacle", 0, GID_TENTACLE, 6, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
|
||||||
|
|
||||||
{"samnmax", 0, GID_SAMNMAX, 6, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
|
{"samnmax", 0, GID_SAMNMAX, 6, 0, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
|
||||||
|
|
||||||
|
|
||||||
#ifndef DISABLE_SCUMM_7_8
|
#ifndef DISABLE_SCUMM_7_8
|
||||||
/* Scumm Version 7 */
|
{"ft", "", GID_FT, 7, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE, UNK},
|
||||||
{"ft", "", GID_FT, 7, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE, UNK},
|
{"ft", "Demo", GID_FT, 7, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE | GF_DEMO, UNK},
|
||||||
{"ft", "Demo", GID_FT, 7, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE | GF_DEMO, UNK},
|
|
||||||
|
|
||||||
{"dig", "", GID_DIG, 7, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE, UNK},
|
{"dig", "", GID_DIG, 7, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE, UNK},
|
||||||
{"dig", "Demo", GID_DIG, 7, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE | GF_DEMO, UNK},
|
{"dig", "Demo", GID_DIG, 7, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE | GF_DEMO, UNK},
|
||||||
|
|
||||||
/* Scumm Version 8 */
|
|
||||||
{"comi", "", GID_CMI, 8, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE, Common::kPlatformWindows},
|
{"comi", "", GID_CMI, 8, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE, Common::kPlatformWindows},
|
||||||
{"comi", "Demo", GID_CMI, 8, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE | GF_DEMO, Common::kPlatformWindows},
|
{"comi", "Demo", GID_CMI, 8, 0, MDT_NONE, GF_NEW_COSTUMES | GF_NEW_CAMERA | GF_DIGI_IMUSE | GF_DEMO, Common::kPlatformWindows},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Humongous Entertainment Scumm Version 6
|
||||||
{"fbear", "HE 61", GID_FBEAR, 6, 61, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
{"puttmoon", 0, GID_HEGAME, 6, 61, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
||||||
{"fbear", "HE 70", GID_FBEAR, 6, 70, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
{"funpack", 0, GID_FUNPACK, 6, 61, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
||||||
|
{"fbpack", 0, GID_HEGAME, 6, 61, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
||||||
#ifndef DISABLE_HE
|
|
||||||
|
|
||||||
{"water", "HE 80", GID_WATER, 6, 80, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"water", "HE 99", GID_WATER, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
|
|
||||||
{"puttrace", "HE 98", GID_PUTTRACE, 6, 98, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
{"puttrace", "HE 98.5", GID_PUTTRACE, 6, 98, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_985, Common::kPlatformWindows},
|
|
||||||
{"puttrace", "HE 99", GID_PUTTRACE, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
|
|
||||||
{"puttputt", "HE 61", GID_HEGAME, 6, 61, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
{"puttputt", "HE 61", GID_HEGAME, 6, 61, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
||||||
{"puttputt", "HE 60", GID_HEGAME, 6, 60, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, Common::kPlatformWindows},
|
{"puttputt", "HE 60", GID_HEGAME, 6, 60, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, Common::kPlatformWindows},
|
||||||
{"puttputt", "Demo", GID_PUTTDEMO, 6, 60, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
|
{"puttputt", "Demo", GID_PUTTDEMO, 6, 60, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK},
|
||||||
|
|
||||||
|
{"fbear", "HE 61", GID_FBEAR, 6, 61, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformPC},
|
||||||
|
{"fbear", "HE 70", GID_FBEAR, 6, 70, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
// The folloowing is used for the unencrypted russian version of freddi4.
|
#ifndef DISABLE_HE
|
||||||
// TODO: Get rid of GF_USE_KEY and detect XOR encryption on the fly.
|
{"activity", 0, GID_HEGAME, 6, 70, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
{"freddi4", "unenc", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_COSTUMES | GF_HE_985, Common::kPlatformWindows},
|
|
||||||
|
|
||||||
// The folloowing is used for the unencrypted russian version of freddicove.
|
// Humongous Entertainment Scumm Version 7.1
|
||||||
// TODO: Get rid of GF_USE_KEY and detect XOR encryption on the fly.
|
// The first version to use 640x480 resolution
|
||||||
|
// There are also 7.1 versions of freddemo, airdemo and farmdemo
|
||||||
|
{"catalog", 0, GID_HEGAME, 6, 71, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"freddi", 0, GID_HEGAME, 6, 71, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Humongous Entertainment Scumm Version 7.2
|
||||||
|
{"airport", 0, GID_HEGAME, 6, 72, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"puttzoo", 0, GID_HEGAME, 6, 72, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Changed o_getResourceSize to cover all resource types
|
||||||
|
{"farm", 0, GID_HEGAME, 6, 73, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"jungle", 0, GID_HEGAME, 6, 73, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Humongous Entertainment Scumm Version 8.0 ? Scummsrc.80
|
||||||
|
{"freddi2", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"pajama", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"putttime", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
{"balloon", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"dog", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"maze", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"socks", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
{"water", 0, GID_WATER, 6, 80, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"water", "HE 80", GID_WATER, 6, 80, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"water", "HE 99", GID_WATER, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Humongous Entertainment Scumm Version 9.0 ? Scummsys.90
|
||||||
|
{"baseball", 0, GID_HEGAME, 6, 90, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"thinkerk", 0, GID_HEGAME, 6, 90, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"thinker1", 0, GID_HEGAME, 6, 90, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"freddi3", 0, GID_HEGAME, 6, 90, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"spyfox", 0, GID_HEGAME, 6, 90, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Humongous Entertainment Scumm Version 9.5 ? Scummsys.95
|
||||||
|
{"pajama2", 0, GID_HEGAME, 6, 95, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"chase", 0, GID_HEGAME, 6, 95, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Humongous Entertainment Scumm Version 9.8 ? Scummsys.98
|
||||||
|
// these and later games can easily be identified by the .(a) file instead of a .he1
|
||||||
|
// and INIB chunk in the .he0
|
||||||
|
{"lost", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
{"puttrace", "HE 98", GID_PUTTRACE, 6, 98, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"puttrace", "HE 98.5", GID_PUTTRACE, 6, 98, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_985, Common::kPlatformWindows},
|
||||||
|
{"puttrace", "HE 99", GID_PUTTRACE, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
{"bluesabctime", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"soccer", 0, GID_SOCCER, 6, 98, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Global scripts increased to 2048
|
||||||
|
{"freddi4", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_985, Common::kPlatformWindows},
|
||||||
|
{"freddi4", "unenc", GID_HEGAME, 6, 98, MDT_NONE, GF_NEW_COSTUMES | GF_HE_985, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Humongous Entertainment Scumm Version 9.9 ? Scummsys.99
|
||||||
|
{"football", 0, GID_FOOTBALL, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"pajama3", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
||||||
|
{"puttcircus", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
||||||
|
{"spyfox2", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
||||||
|
{"mustard", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Added the use of fonts
|
||||||
|
{"FreddisFunShop", 0, GID_FUNSHOP, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
||||||
|
{"SamsFunShop", 0, GID_FUNSHOP, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
||||||
|
{"PuttsFunShop", 0, GID_FUNSHOP, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Added 16bit color
|
||||||
|
{"baseball2001", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
|
{"SoccerMLS", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
|
{"spyozon", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
{"freddicove", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
{"freddicove", "unenc", GID_HEGAME, 6, 99, MDT_NONE, GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
{"freddicove", "unenc", GID_HEGAME, 6, 99, MDT_NONE, GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
{"freddicove", "HE 100", GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
{"freddicove", "HE 100", GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Restructured the Scumm engine
|
||||||
|
{"pjgames", 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Uses bink in external files for logos
|
||||||
|
{"Baseball2003", 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
|
{"basketball", 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"Soccer2004", 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
// Uses smacker in external files, for testing only
|
||||||
|
{"BluesBirthdayDemo", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},
|
||||||
|
{"artdemo", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
|
{"readdemo", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows},
|
||||||
|
|
||||||
|
|
||||||
// The following are meant to be generic HE game variants and as such do
|
// 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
|
// not specify a game ID. Make sure that these are last in the table, else
|
||||||
// they'll override more specific entries that follow later on.
|
// they'll override more specific entries that follow later on.
|
||||||
@ -1328,7 +1199,16 @@ DetectedGameList Engine_SCUMM_detectGames(const FSList &fslist) {
|
|||||||
typedef Common::HashMap<Common::String, bool> StringSet;
|
typedef Common::HashMap<Common::String, bool> StringSet;
|
||||||
StringSet fileSet;
|
StringSet fileSet;
|
||||||
|
|
||||||
for (g = scumm_settings; g->gameid; ++g) {
|
const char *lastGameid = "";
|
||||||
|
|
||||||
|
for (g = gameVariantsTable; g->gameid; ++g) {
|
||||||
|
// HACK: For now we only consider the first ("default") variant for
|
||||||
|
// gameids that have multiple variants. In a future version of the
|
||||||
|
// detector code, this may change.
|
||||||
|
if (0 == strcmp(lastGameid, g->gameid))
|
||||||
|
continue;
|
||||||
|
lastGameid = g->gameid;
|
||||||
|
|
||||||
// Determine the 'detectname' for this game, that is, the name of a
|
// Determine the 'detectname' for this game, that is, the name of a
|
||||||
// file that *must* be presented if the directory contains the data
|
// file that *must* be presented if the directory contains the data
|
||||||
// for this game. For example, FOA requires atlantis.000
|
// for this game. For example, FOA requires atlantis.000
|
||||||
@ -1582,7 +1462,7 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {
|
|||||||
|
|
||||||
// Lookup the game ID in our database. If this lookup fails, then
|
// Lookup the game ID in our database. If this lookup fails, then
|
||||||
// the game ID is unknown, and we have to abort.
|
// the game ID is unknown, and we have to abort.
|
||||||
const GameSettings *g = scumm_settings;
|
const GameSettings *g = gameVariantsTable;
|
||||||
while (g->gameid) {
|
while (g->gameid) {
|
||||||
if (!scumm_stricmp(detector->_gameid.c_str(), g->gameid))
|
if (!scumm_stricmp(detector->_gameid.c_str(), g->gameid))
|
||||||
break;
|
break;
|
||||||
@ -1694,7 +1574,7 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {
|
|||||||
|
|
||||||
|
|
||||||
// If a match was found, we use the information obtained from the md5table
|
// If a match was found, we use the information obtained from the md5table
|
||||||
// to walk through the extra_versions array and find a match there.
|
// to walk through the gameVariantsTable array and find a match there.
|
||||||
// Otherwise, we print a warning about the MD5 being unknwon.
|
// Otherwise, we print a warning about the MD5 being unknwon.
|
||||||
if (elem) {
|
if (elem) {
|
||||||
// The MD5 is known and was found in our md5table.
|
// The MD5 is known and was found in our md5table.
|
||||||
@ -1706,8 +1586,8 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {
|
|||||||
md5, elem->gameid, gameid);
|
md5, elem->gameid, gameid);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compute the precise game settings using 'extra_versions'.
|
// Compute the precise game settings using 'gameVariantsTable'.
|
||||||
for (g = extra_versions; g->gameid; ++g) {
|
for (g = gameVariantsTable; g->gameid; ++g) {
|
||||||
if (g->gameid[0] == 0 || !scumm_stricmp(elem->gameid, g->gameid)) {
|
if (g->gameid[0] == 0 || !scumm_stricmp(elem->gameid, g->gameid)) {
|
||||||
// The gameid either matches, or is empty (the latter indicates
|
// The gameid either matches, or is empty (the latter indicates
|
||||||
// a generic entry, used currently for generic HE specifies.
|
// a generic entry, used currently for generic HE specifies.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user