[Scummvm-cvs-logs] CVS: scummvm/scumm scumm.h,1.160,1.161 scummvm.cpp,2.67,2.68

Pawel Kolodziejski aquadran at users.sourceforge.net
Sun Apr 6 12:42:04 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv27501/scumm

Modified Files:
	scumm.h scummvm.cpp 
Log Message:
fixed detection of early scumm games

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.160
retrieving revision 1.161
diff -u -d -r1.160 -r1.161
--- scumm.h	17 Mar 2003 12:32:46 -0000	1.160
+++ scumm.h	6 Apr 2003 19:41:34 -0000	1.161
@@ -170,6 +170,7 @@
 	GID_LOOM256,
 	GID_ZAK256,
 	GID_INDY3_256,
+	GID_INDY3,
 	GID_LOOM,
 	GID_FT,
 	GID_DIG,

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.67
retrieving revision 2.68
diff -u -d -r2.67 -r2.68
--- scummvm.cpp	29 Mar 2003 20:48:57 -0000	2.67
+++ scummvm.cpp	6 Apr 2003 19:41:34 -0000	2.68
@@ -61,42 +61,43 @@
 
 	/* 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 @@
 	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;
 }





More information about the Scummvm-git-logs mailing list