[Scummvm-cvs-logs] CVS: scummvm/scumm scumm.h,1.152,1.153 scummvm.cpp,2.50,2.51

Max Horn fingolfin at users.sourceforge.net
Sat Mar 1 14:06:32 CET 2003


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

Modified Files:
	scumm.h scummvm.cpp 
Log Message:
removed the single big VersionSettings list; instead, the simon & scumm modules now keep their target lists seperatly (and when we add BASS, it can have its own target list)

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -d -r1.152 -r1.153
--- scumm.h	27 Feb 2003 10:17:29 -0000	1.152
+++ scumm.h	1 Mar 2003 22:04:46 -0000	1.153
@@ -160,6 +160,28 @@
 	MBS_MAX_KEY	= 0x0200
 };
 
+enum ScummGameId {
+	GID_TENTACLE = GID_SCUMM_FIRST,
+	GID_MONKEY2,
+	GID_INDY4,
+	GID_MONKEY,
+	GID_SAMNMAX,
+	GID_MONKEY_EGA,
+	GID_LOOM256,
+	GID_ZAK256,
+	GID_INDY3_256,
+	GID_LOOM,
+	GID_FT,
+	GID_DIG,
+	GID_MONKEY_VGA,
+	GID_CMI,
+	GID_MANIAC,
+	GID_ZAK,
+	//GID_MANIAC64,
+	//GID_ZAK64,
+	GID_PUTTDEMO
+};
+
 #define _maxRooms res.num[rtRoom]
 #define _maxScripts res.num[rtScript]
 #define _maxCostumes res.num[rtCostume]

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.50
retrieving revision 2.51
diff -u -d -r2.50 -r2.51
--- scummvm.cpp	27 Feb 2003 10:17:29 -0000	2.50
+++ scummvm.cpp	1 Mar 2003 22:04:47 -0000	2.51
@@ -53,9 +53,106 @@
 extern NewGui *g_gui;
 extern uint16 _debugLevel;
 
+static const VersionSettings scumm_settings[] = {
+	/* Scumm Version 1 */
+//	{"maniac64",      "Maniac Mansion (C64)",                         GID_MANIAC64, 1, 0, 0,},
+//      {"zak64",         "Zak McKracken and the Alien Mindbenders (C64)", GID_ZAK64, 1, 0, 0,},
+
+	/* 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,},
+
+	/* 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"},
+	{"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"},
+	{"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"},
+
+	/* 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
+
+	/* 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"},
+	{"loomcd", "Loom (256 color CD version)", GID_LOOM256, 5, 1, 42,
+	 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},
+	{"monkey1", "Monkey Island 1 (alt)", GID_MONKEY, 5, 2, 2,
+	 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},
+	{"mi2demo", "Monkey Island 2: LeChuck's revenge (Demo)", GID_MONKEY2, 5, 2, 2,
+	 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},
+	{"playfate", "Indiana Jones and the Fate of Atlantis (Demo)", GID_INDY4, 5, 5, 0,
+	 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},
+
+	/* Scumm Version 6 */
+	{"puttputt", "Putt-Putt Joins The Parade (DOS)", GID_SAMNMAX, 6, 1, 1,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_ADLIB_DEFAULT | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+	{"puttdemo", "Putt-Putt Joins The Parade (DOS Demo)", GID_PUTTDEMO, 6, 1, 1,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_ADLIB_DEFAULT | GF_HUMONGOUS, 0},
+	{"moondemo", "Putt-Putt Goes To The Moon (DOS Demo)", GID_SAMNMAX, 6, 1, 1,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_ADLIB_DEFAULT | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+	{"puttmoon", "Putt-Putt Goes To The Moon (DOS)", GID_SAMNMAX, 6, 1, 1,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_ADLIB_DEFAULT | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+	{"funpack", "Putt-Putt's Fun Pack", GID_SAMNMAX, 6, 1, 1,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_ADLIB_DEFAULT | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+	{"fbpack", "Fatty Bear's Fun Pack", GID_SAMNMAX, 6, 1, 1,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_ADLIB_DEFAULT | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+	{"fbear", "Fatty Bear's Birthday Surprise (DOS)", GID_SAMNMAX, 6, 1, 1,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_ADLIB_DEFAULT | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+	{"fbdemo", "Fatty Bear's Birthday Surprise (DOS Demo)", GID_SAMNMAX, 6, 1, 1,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_ADLIB_DEFAULT | GF_HUMONGOUS | GF_NEW_COSTUMES, 0},
+	{"tentacle", "Day Of The Tentacle", GID_TENTACLE, 6, 4, 2,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_ADLIB_DEFAULT, 0},
+	{"dottdemo", "Day Of The Tentacle (Demo)", GID_TENTACLE, 6, 3, 2,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_ADLIB_DEFAULT, 0},
+	{"samnmax", "Sam & Max", GID_SAMNMAX, 6, 4, 2,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY | GF_DRAWOBJ_OTHER_ORDER, 0},
+	{"samdemo", "Sam & Max (Demo)", GID_SAMNMAX, 6, 3, 0,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY  | GF_DRAWOBJ_OTHER_ORDER | GF_ADLIB_DEFAULT, 0},
+	{"snmdemo", "Sam & Max (Demo)", GID_SAMNMAX, 6, 5, 0,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY  | GF_DRAWOBJ_OTHER_ORDER | GF_ADLIB_DEFAULT, 0},
+	{"snmidemo", "Sam & Max (Interactive WIP Demo)", GID_SAMNMAX, 6, 5, 0,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_USE_KEY  | GF_DRAWOBJ_OTHER_ORDER | GF_ADLIB_DEFAULT, 0},
+
+	{"test", "Test demo game", GID_SAMNMAX, 6, 6, 6, GF_NEW_OPCODES | GF_AFTER_V6, 0},
+
+	/* Scumm Version 7 */
+	{"ft", "Full Throttle", GID_FT, 7, 3, 0,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_AFTER_V7 | GF_NEW_COSTUMES, 0},
+	{"dig", "The Dig", GID_DIG, 7, 5, 0,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_AFTER_V7 | GF_NEW_COSTUMES, 0},
+
+	/* Scumm Version 8 */
+	{"comi", "The Curse of Monkey Island", GID_CMI, 8, 1, 0,
+	 GF_NEW_OPCODES | GF_AFTER_V6 | GF_AFTER_V7 | GF_AFTER_V8 | GF_NEW_COSTUMES, 0},
+
+	{NULL, NULL, 0, 0, 0, 0, 0, NULL}
+};
+
+const VersionSettings *Engine_SCUMM_targetList()
+{
+	return scumm_settings;
+}
+
 Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst)
 {
 	Engine *engine;
+
+	if (detector->_amiga)
+		detector->_features |= GF_AMIGA;
 
 	if (detector->_features & GF_OLD_BUNDLE)
 		engine = new Scumm_v2(detector, syst);





More information about the Scummvm-git-logs mailing list