aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/staticres.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2009-08-25 22:37:34 +0000
committerJohannes Schickel2009-08-25 22:37:34 +0000
commit189b1ec62ff7de17fa2a089b454335f716f29a6b (patch)
tree976b9f27f404b6c166c6607f8c57a11e50b46ba9 /engines/kyra/staticres.cpp
parentfde3814fbc9063c8ac2c7e8329b78f283d41e1d6 (diff)
downloadscummvm-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.cpp12
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)