diff options
author | Max Horn | 2005-04-03 22:10:10 +0000 |
---|---|---|
committer | Max Horn | 2005-04-03 22:10:10 +0000 |
commit | 1419f0d5ef32d8ae811b567616070cf916792320 (patch) | |
tree | 31e668a14cdf23dfb026e49003a67327ef9d6fec /scumm/scumm.h | |
parent | eda317924ec0573d5c2a8407feaa8dafb6d4a9bc (diff) | |
download | scummvm-rg350-1419f0d5ef32d8ae811b567616070cf916792320.tar.gz scummvm-rg350-1419f0d5ef32d8ae811b567616070cf916792320.tar.bz2 scummvm-rg350-1419f0d5ef32d8ae811b567616070cf916792320.zip |
Split readResTypeList into a normal and a GF_OLD_BUNDLE version; added comments to many of the GF_ feature flags; removed GF_DRAWOBJ_OTHER_ORDER (it was only use by Sam&Max, I switched that to a direct check for Sam&Max)
svn-id: r17362
Diffstat (limited to 'scumm/scumm.h')
-rw-r--r-- | scumm/scumm.h | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/scumm/scumm.h b/scumm/scumm.h index cca3416350..65648c4e49 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -72,22 +72,55 @@ enum { KEY_ALL_SKIP = 3457 // WinCE }; -/** SCUMM feature flags. */ +/** + * SCUMM feature flags define for every game which specific set of engine + * features are used by that game. + * Note that some of them could be replaced by checks for the SCUMM version. + */ enum GameFeatures { + /** Games with the new stack based opcodes (ScummEngine_v6 and subclasses). */ GF_NEW_OPCODES = 1 << 0, + + /** Games with the new camera system (ScummEngine_v7 and subclasses). */ GF_NEW_CAMERA = 1 << 1, + + /** Games with the AKOS custome system (ScummEngine_v7 and subclasses, HE games). */ GF_NEW_COSTUMES = 1 << 2, + + /** Games with digital IMUSE (ScummEngine_v7 and subclasses). */ GF_DIGI_IMUSE = 1 << 3, + + /** Games using XOR encrypted data files. */ GF_USE_KEY = 1 << 4, - GF_DRAWOBJ_OTHER_ORDER = 1 << 5, + + /** Small header games (ScummEngine_v4 and subclasses). */ GF_SMALL_HEADER = 1 << 6, + + /** Small name games (ScummEngine_v3 and subclasses). */ GF_SMALL_NAMES = 1 << 7, + + /** Old bundle games (ScummEngine_v3old and subclasses). */ GF_OLD_BUNDLE = 1 << 8, + + /** EGA games. */ GF_16COLOR = 1 << 9, + + /** VGA versions of V3 games. */ GF_OLD256 = 1 << 10, + + /** Games which have Audio CD tracks. */ GF_AUDIOTRACKS = 1 << 11, + + /** Games without actor scaling (ScummEngine_v3 and subclasses). */ GF_NO_SCALING = 1 << 12, + + /** + * Games using only very few local variables in scripts. + * Apparently that is only the case for 256 color version of Indy3. + */ GF_FEW_LOCALS = 1 << 13, + + /** Games made by Humongous Entertainment. */ GF_HUMONGOUS = 1 << 14, GF_MULTIPLE_VERSIONS = 1 << 15, @@ -668,7 +701,7 @@ protected: bool openResourceFile(const char *filename, byte encByte); void loadPtrToResource(int type, int i, const byte *ptr); - void readResTypeList(int id, uint32 tag, const char *name); + virtual void readResTypeList(int id, uint32 tag, const char *name); void allocResTypeData(int id, uint32 tag, int num, const char *name, int mode); byte *createResource(int type, int index, uint32 size); int loadResource(int type, int i); |