diff options
Diffstat (limited to 'scumm/scummvm.cpp')
| -rw-r--r-- | scumm/scummvm.cpp | 55 | 
1 files changed, 29 insertions, 26 deletions
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index afa940e525..7c2071f6ea 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -61,42 +61,43 @@ static const VersionSettings scumm_settings[] = {  	/* Scumm Version 2 */  	{"maniac", "Maniac Mansion", GID_MANIAC, 2, 0, 0, -	GF_SMALL_HEADER | GF_USE_KEY | GF_SMALL_NAMES | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALLING, "MANIACEX.EXE"}, -//      {"zak",         "Zak McKracken and the Alien Mindbenders",      GID_ZAK,     2, 0, 0, -//      GF_SMALL_HEADER | GF_USE_KEY | GF_SMALL_NAMES | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALLING, "ZAKEXE.EXE"}, -//      {"indy3",       "Indiana Jones and the Last Crusade",           GID_INDY3,   2, 0, 0,}, +	 GF_AFTER_V2 | GF_SMALL_HEADER | GF_USE_KEY | GF_SMALL_NAMES | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALLING, "MANIAC.EXE"}, +//	{"zak",         "Zak McKracken and the Alien Mindbenders",      GID_ZAK,     2, 0, 0, +//	 GF_AFTER_V2 | GF_SMALL_HEADER | GF_USE_KEY | GF_SMALL_NAMES | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALLING, "ZAK.EXE"}, +//	{"indy3EGA",       "Indiana Jones and the Last Crusade",           GID_INDY3,   2, 0, 0,}, +//	 GF_AFTER_V2 | GF_SMALL_HEADER | GF_USE_KEY | GF_SMALL_NAMES | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALLING, "INDY3.EXE"},  	/* Scumm Version 3 */  	{"indy3", "Indiana Jones and the Last Crusade (256)", GID_INDY3_256, 3, 0, 22, -	 GF_SMALL_HEADER | GF_SMALL_NAMES | GF_OLD256 | GF_NO_SCALLING | GF_ADLIB_DEFAULT, "00.LFL"}, +	 GF_AFTER_V3 | GF_SMALL_HEADER | GF_SMALL_NAMES | GF_OLD256 | GF_NO_SCALLING | GF_ADLIB_DEFAULT, "00.LFL"},  	{"zak256", "Zak McKracken and the Alien Mindbenders (256)", GID_ZAK256, 3, 0, 0, -	 GF_SMALL_HEADER | GF_SMALL_NAMES | GF_OLD256 | GF_AUDIOTRACKS | GF_NO_SCALLING, "00.LFL"}, +	 GF_AFTER_V3 | GF_SMALL_HEADER | GF_SMALL_NAMES | GF_OLD256 | GF_AUDIOTRACKS | GF_NO_SCALLING, "00.LFL"},  	{"loom", "Loom", GID_LOOM, 3, 5, 40, -	 GF_SMALL_HEADER | GF_USE_KEY | GF_SMALL_NAMES | GF_OLD_BUNDLE | GF_16COLOR | GF_NO_SCALLING, "00.LFL"}, +	 GF_AFTER_V3 | GF_SMALL_HEADER | GF_USE_KEY | GF_SMALL_NAMES | GF_OLD_BUNDLE | GF_16COLOR | GF_NO_SCALLING, "00.LFL"},  	/* Scumm Version 4 */  	{"monkeyEGA", "Monkey Island 1 (EGA)", GID_MONKEY_EGA, 4, 0, 67, -	 GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR, 0},	// EGA version +	 GF_AFTER_V4 | GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR, 0},  	/* Scumm version 5 */  	{"monkeyVGA", "Monkey Island 1 (256 color Floppy version)", GID_MONKEY_VGA,  5, 0, 16, -	 GF_SMALL_HEADER | GF_USE_KEY | GF_ADLIB_DEFAULT, "000.LFL"}, +	 GF_AFTER_V4 | GF_SMALL_HEADER | GF_USE_KEY | GF_ADLIB_DEFAULT, "000.LFL"},  	{"loomcd", "Loom (256 color CD version)", GID_LOOM256, 5, 1, 42, -	 GF_SMALL_HEADER | GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT, "000.LFL"}, +	 GF_AFTER_V4 | GF_SMALL_HEADER | GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT, "000.LFL"},  	{"monkey", "Monkey Island 1", GID_MONKEY, 5, 2, 2, -	 GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT, 0}, +	 GF_AFTER_V5 | GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT, 0},  	{"monkey1", "Monkey Island 1 (alt)", GID_MONKEY, 5, 2, 2, -	 GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT, 0}, +	 GF_AFTER_V5 | GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT, 0},  	{"monkey2", "Monkey Island 2: LeChuck's revenge", GID_MONKEY2, 5, 2, 2, -	 GF_USE_KEY | GF_ADLIB_DEFAULT, 0}, +	 GF_AFTER_V5 | GF_USE_KEY | GF_ADLIB_DEFAULT, 0},  	{"mi2demo", "Monkey Island 2: LeChuck's revenge (Demo)", GID_MONKEY2, 5, 2, 2, -	 GF_USE_KEY | GF_ADLIB_DEFAULT, 0}, +	 GF_AFTER_V5 | GF_USE_KEY | GF_ADLIB_DEFAULT, 0},  	{"atlantis", "Indiana Jones and the Fate of Atlantis", GID_INDY4, 5, 5, 0, -	 GF_USE_KEY | GF_ADLIB_DEFAULT, 0}, +	 GF_AFTER_V5 | GF_USE_KEY | GF_ADLIB_DEFAULT, 0},  	{"playfate", "Indiana Jones and the Fate of Atlantis (Demo)", GID_INDY4, 5, 5, 0, -	 GF_USE_KEY | GF_ADLIB_DEFAULT, 0}, +	 GF_AFTER_V5 | GF_USE_KEY | GF_ADLIB_DEFAULT, 0},  	{"fate", "Indiana Jones and the Fate of Atlantis (Demo)", GID_INDY4, 5, 5, 0, -	 GF_USE_KEY | GF_ADLIB_DEFAULT, 0}, +	 GF_AFTER_V5 | GF_USE_KEY | GF_ADLIB_DEFAULT, 0},  	/* Scumm Version 6 */  	{"puttputt", "Putt-Putt Joins The Parade (DOS)", GID_SAMNMAX, 6, 1, 1, @@ -153,20 +154,22 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {  	if (detector->_amiga)  		detector->_features |= GF_AMIGA; -	if (detector->_features & GF_OLD_BUNDLE) -		engine = new Scumm_v2(detector, syst); -	else if (detector->_features & GF_OLD256) -		engine = new Scumm_v3(detector, syst); -	else if (detector->_features & GF_SMALL_HEADER)	// this forces loomCD as v4 -		engine = new Scumm_v4(detector, syst); -	else if (detector->_features & GF_AFTER_V8) +	if (detector->_features & GF_AFTER_V8)  		engine = new Scumm_v8(detector, syst);  	else if (detector->_features & GF_AFTER_V7)  		engine = new Scumm_v7(detector, syst); -	else if (detector->_features & GF_AFTER_V6)	// this forces SamnmaxCD as v6 +	else if (detector->_features & GF_AFTER_V6)  		engine = new Scumm_v6(detector, syst); -	else +	else if (detector->_features & GF_AFTER_V5)  		engine = new Scumm_v5(detector, syst); +	else if (detector->_features & GF_AFTER_V4) +		engine = new Scumm_v4(detector, syst); +	else if (detector->_features & GF_AFTER_V3) +		engine = new Scumm_v3(detector, syst); +	else if (detector->_features & GF_AFTER_V2) +		engine = new Scumm_v2(detector, syst); +	else +		error("Engine_SCUMM_create(): Unknown version of game engine");  	return engine;  }  | 
