[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