aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorMax Horn2003-03-01 21:26:45 +0000
committerMax Horn2003-03-01 21:26:45 +0000
commit956e5e2b3dfe7658732ee036862e347e4c8c13aa (patch)
tree08b5e616046086ae249910f4e5bd583adeb087b3 /common
parent3c3812d754c4c17039df0cce9751d52ed3085d4e (diff)
downloadscummvm-rg350-956e5e2b3dfe7658732ee036862e347e4c8c13aa.tar.gz
scummvm-rg350-956e5e2b3dfe7658732ee036862e347e4c8c13aa.tar.bz2
scummvm-rg350-956e5e2b3dfe7658732ee036862e347e4c8c13aa.zip
don't hardcode the Simon GameID values, rather use the #defines from simon/intern.h. Proper solution pending
svn-id: r6651
Diffstat (limited to 'common')
-rw-r--r--common/gameDetector.cpp30
-rw-r--r--common/gameDetector.h98
2 files changed, 69 insertions, 59 deletions
diff --git a/common/gameDetector.cpp b/common/gameDetector.cpp
index 257dd6b7e5..07f3afd745 100644
--- a/common/gameDetector.cpp
+++ b/common/gameDetector.cpp
@@ -23,11 +23,13 @@
#include "stdafx.h"
#include "sound/mididrv.h"
-#include "scumm/imuse.h"
#include "common/engine.h"
#include "common/gameDetector.h"
#include "common/config-file.h"
+#include "simon/intern.h" // FIXME - remove this, only used for the GAME_* constants in it!
+
+
#define CHECK_OPTION() if ((current_option != NULL) || (*s != '\0')) goto ShowHelpAndExit
#define HANDLE_OPTION() if ((*s == '\0') && (current_option == NULL)) goto ShowHelpAndExit; \
if ((*s != '\0') && (current_option != NULL)) goto ShowHelpAndExit; \
@@ -168,19 +170,19 @@ const VersionSettings version_settings[] = {
/* Simon the Sorcerer 1 & 2 (not SCUMM games) */
{"simon1dos", "Simon the Sorcerer 1 for DOS", GID_SIMON_FIRST+0, 99, 99, 99, 0, "GAMEPC"},
- {"simon1amiga", "Simon the Sorcerer 1 for Amiga", GID_SIMON_FIRST+32, 99, 99, 99, 0, "gameamiga"},
- {"simon2dos", "Simon the Sorcerer 2 for DOS", GID_SIMON_FIRST+1, 99, 99, 99, 0, "GAME32"},
- {"simon1talkie", "Simon the Sorcerer 1 Talkie for DOS", GID_SIMON_FIRST+4, 99, 99, 99, 0, "SIMON.GME"},
- {"simon2talkie", "Simon the Sorcerer 2 Talkie for DOS", GID_SIMON_FIRST+5, 99, 99, 99, 0, "GSPTR30"},
- {"simon2talkie", "Simon the Sorcerer 2 Talkie for DOS", GID_SIMON_FIRST+5, 99, 99, 99, 0, "GSPTR30."},
- {"simon1win", "Simon the Sorcerer 1 Talkie for Windows", GID_SIMON_FIRST+6, 99, 99, 99, 0, "SIMON.GME"},
- {"simon1cd32", "Simon the Sorcerer 1 Talkie for Amiga CD32", GID_SIMON_FIRST+36, 99, 99, 99, 0, "gameamiga"},
- {"simon2win", "Simon the Sorcerer 2 Talkie for Windows", GID_SIMON_FIRST+7, 99, 99, 99, 0, "GSPTR30"},
- {"simon2win", "Simon the Sorcerer 2 Talkie for Windows", GID_SIMON_FIRST+7, 99, 99, 99, 0, "GSPTR30."},
- {"simon2amiga", "Simon the Sorcerer 2 Talkie for Amiga", GID_SIMON_FIRST+23, 99, 99, 99, 0, "GSPTR30"},
- {"simon2mac", "Simon the Sorcerer 2 Talkie for Mac", GID_SIMON_FIRST+23, 99, 99, 99, 0, "GSPTR30"},
- {"simon1demo", "Simon the Sorcerer 1 for DOS (Demo)", GID_SIMON_FIRST+8, 99, 99, 99, 0, "GDEMO"},
- {"simon2demo", "Simon the Sorcerer 2 Talkie for DOS (Demo)", GID_SIMON_FIRST+5, 99, 99, 99, 0, "GSPTR30"},
+ {"simon1amiga", "Simon the Sorcerer 1 for Amiga", GID_SIMON_FIRST+GAME_SIMON1AMIGA, 99, 99, 99, 0, "gameamiga"},
+ {"simon2dos", "Simon the Sorcerer 2 for DOS", GID_SIMON_FIRST+GAME_SIMON2DOS, 99, 99, 99, 0, "GAME32"},
+ {"simon1talkie", "Simon the Sorcerer 1 Talkie for DOS", GID_SIMON_FIRST+GAME_SIMON1TALKIE, 99, 99, 99, 0, "SIMON.GME"},
+ {"simon2talkie", "Simon the Sorcerer 2 Talkie for DOS", GID_SIMON_FIRST+GAME_SIMON2TALKIE, 99, 99, 99, 0, "GSPTR30"},
+ {"simon2talkie", "Simon the Sorcerer 2 Talkie for DOS", GID_SIMON_FIRST+GAME_SIMON2TALKIE, 99, 99, 99, 0, "GSPTR30."},
+ {"simon1win", "Simon the Sorcerer 1 Talkie for Windows", GID_SIMON_FIRST+GAME_SIMON1WIN, 99, 99, 99, 0, "SIMON.GME"},
+ {"simon1cd32", "Simon the Sorcerer 1 Talkie for Amiga CD32", GID_SIMON_FIRST+GAME_SIMON1CD32, 99, 99, 99, 0, "gameamiga"},
+ {"simon2win", "Simon the Sorcerer 2 Talkie for Windows", GID_SIMON_FIRST+GAME_SIMON2WIN, 99, 99, 99, 0, "GSPTR30"},
+ {"simon2win", "Simon the Sorcerer 2 Talkie for Windows", GID_SIMON_FIRST+GAME_SIMON2WIN, 99, 99, 99, 0, "GSPTR30."},
+ {"simon2amiga", "Simon the Sorcerer 2 Talkie for Amiga", GID_SIMON_FIRST+GAME_SIMON2MAC, 99, 99, 99, 0, "GSPTR30"},
+ {"simon2mac", "Simon the Sorcerer 2 Talkie for Mac", GID_SIMON_FIRST+GAME_SIMON2MAC, 99, 99, 99, 0, "GSPTR30"},
+ {"simon1demo", "Simon the Sorcerer 1 for DOS (Demo)", GID_SIMON_FIRST+GAME_SIMON1DEMO, 99, 99, 99, 0, "GDEMO"},
+ {"simon2demo", "Simon the Sorcerer 2 Talkie for DOS (Demo)", GID_SIMON_FIRST+GAME_SIMON2TALKIE, 99, 99, 99, 0, "GSPTR30"},
{NULL, NULL, 0, 0, 0, 0, 0, NULL}
};
diff --git a/common/gameDetector.h b/common/gameDetector.h
index 6c0166ee52..1849e3de8c 100644
--- a/common/gameDetector.h
+++ b/common/gameDetector.h
@@ -36,54 +36,62 @@ enum {
enum GameId {
GID_TENTACLE = 1,
- GID_MONKEY2 = 2,
- GID_INDY4 = 3,
- GID_MONKEY = 4,
- GID_SAMNMAX = 5,
- GID_MONKEY_EGA = 6,
- GID_LOOM256 = 7,
- GID_ZAK256 = 8,
- GID_INDY3_256 = 9,
- GID_LOOM = 10,
- GID_FT = 11,
- GID_DIG = 12,
- GID_MONKEY_VGA = 13,
- GID_CMI = 14,
- GID_MANIAC = 15,
- GID_ZAK = 16,
- //GID_MANIAC64 = 17,
- //GID_ZAK64 = 18,
- GID_PUTTDEMO = 19,
-
- /* Simon the Sorcerer */
- GID_SIMON_FIRST = 20,
- GID_SIMON_LAST = GID_SIMON_FIRST + 36
+ 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,
+
+ // Simon the Sorcerer
+ GID_SIMON_FIRST = 100,
+ GID_SIMON_LAST = GID_SIMON_FIRST + 36,
+
+ // BASS
+ GID_BASS
+
};
enum GameFeatures {
- GF_NEW_OPCODES = 1,
- GF_AFTER_V6 = 2,
- GF_AFTER_V7 = 4,
- GF_HAS_ROOMTABLE = GF_AFTER_V7,
- GF_USE_KEY = 8,
- GF_USE_ANGLES = GF_AFTER_V7,
- GF_DRAWOBJ_OTHER_ORDER = 16,
-
- GF_DEFAULT = GF_USE_KEY,
-
- GF_SMALL_HEADER = 32,
- GF_EXTERNAL_CHARSET = GF_SMALL_HEADER,
- GF_SMALL_NAMES = 64,
- GF_OLD_BUNDLE = 128,
- GF_16COLOR = 256,
- GF_OLD256 = 512,
- GF_AUDIOTRACKS = 1024,
- GF_NO_SCALLING = 2048,
- GF_ADLIB_DEFAULT = 4096,
- GF_AMIGA = 8192,
- GF_HUMONGOUS = 16384,
- GF_AFTER_V8 = 32768,
- GF_NEW_COSTUMES = 65536
+ // SCUMM features
+ GF_NEW_OPCODES = 1 << 0,
+ GF_AFTER_V6 = 1 << 1,
+ GF_AFTER_V7 = 1 << 2,
+ GF_AFTER_V8 = 1 << 3,
+ GF_USE_KEY = 1 << 4,
+ GF_DRAWOBJ_OTHER_ORDER = 1 << 5,
+ GF_SMALL_HEADER = 1 << 6,
+ GF_SMALL_NAMES = 1 << 7,
+ GF_OLD_BUNDLE = 1 << 8,
+ GF_16COLOR = 1 << 9,
+ GF_OLD256 = 1 << 10,
+ GF_AUDIOTRACKS = 1 << 11,
+ GF_NO_SCALLING = 1 << 12,
+ GF_ADLIB_DEFAULT = 1 << 13,
+ GF_AMIGA = 1 << 14,
+ GF_HUMONGOUS = 1 << 15,
+ GF_NEW_COSTUMES = 1 << 16,
+
+ GF_HAS_ROOMTABLE = GF_AFTER_V7,
+ GF_USE_ANGLES = GF_AFTER_V7,
+ GF_DEFAULT = GF_USE_KEY,
+ GF_EXTERNAL_CHARSET = GF_SMALL_HEADER
+
+ // Simon features (TODO)
+
+ // BASS features (TODO)
};
struct VersionSettings {