diff options
author | Johannes Schickel | 2009-08-25 22:37:34 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-08-25 22:37:34 +0000 |
commit | 189b1ec62ff7de17fa2a089b454335f716f29a6b (patch) | |
tree | 976b9f27f404b6c166c6607f8c57a11e50b46ba9 /engines/kyra/staticres.cpp | |
parent | fde3814fbc9063c8ac2c7e8329b78f283d41e1d6 (diff) | |
download | scummvm-rg350-189b1ec62ff7de17fa2a089b454335f716f29a6b.tar.gz scummvm-rg350-189b1ec62ff7de17fa2a089b454335f716f29a6b.tar.bz2 scummvm-rg350-189b1ec62ff7de17fa2a089b454335f716f29a6b.zip |
Implement support for the Kyrandia 1 CD demo.
svn-id: r43737
Diffstat (limited to 'engines/kyra/staticres.cpp')
-rw-r--r-- | engines/kyra/staticres.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp index be73df47f7..95f7c4ca2a 100644 --- a/engines/kyra/staticres.cpp +++ b/engines/kyra/staticres.cpp @@ -44,7 +44,7 @@ namespace Kyra { -#define RESFILE_VERSION 50 +#define RESFILE_VERSION 51 namespace { bool checkKyraDat(Common::SeekableReadStream *file) { @@ -92,6 +92,10 @@ enum { #define LANGUAGE_FLAGS (GF_ENGLISH | GF_FRENCH | GF_GERMAN | GF_SPANISH | GF_ITALIAN | GF_JAPANESE | GF_LNGUNK) uint32 createFeatures(const GameFlags &flags) { + // special case for kyrandia 1 CD demo + if (flags.gameID == GI_KYRA1 && flags.isTalkie && flags.isDemo) + return GF_TALKIE | GF_DEMO; + if (flags.isTalkie) return GF_TALKIE; if (flags.isDemo) @@ -1319,6 +1323,12 @@ const char *StaticResource::getFilename(const char *name) { else if (_vm->gameFlags().gameID == GI_LOL) filename += ".LOL"; + // Special case for Kyrandia 1 CD demo + if (_vm->gameFlags().gameID == GI_KYRA1 && _vm->gameFlags().isTalkie && _vm->gameFlags().isDemo) { + filename += ".CD.DEM"; + return filename.c_str(); + } + if (_vm->gameFlags().isTalkie && _vm->gameFlags().gameID != GI_KYRA3) filename += ".CD"; else if (_vm->gameFlags().isDemo) |