diff options
-rw-r--r-- | engines/kyra/detection.cpp | 15 | ||||
-rw-r--r-- | engines/kyra/kyra_v2.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/resource.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/sequences_v2.cpp | 2 |
4 files changed, 17 insertions, 4 deletions
diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp index 18b78d0395..80d9ca64ec 100644 --- a/engines/kyra/detection.cpp +++ b/engines/kyra/detection.cpp @@ -50,6 +50,7 @@ namespace { #define KYRA1_DEMO_FLAGS FLAGS(true, false, false, false, Kyra::GI_KYRA1) #define KYRA2_CD_FLAGS FLAGS(false, false, true, false, Kyra::GI_KYRA2) +#define KYRA2_CD_DEMO_FLAGS FLAGS(true, false, true, false, Kyra::GI_KYRA2) #define KYRA2_DEMO_FLAGS FLAGS(true, false, false, false, Kyra::GI_KYRA2) #define KYRA2_TOWNS_FLAGS FLAGS(false, false, false, false, Kyra::GI_KYRA2) #define KYRA2_TOWNS_SJIS_FLAGS FLAGS(false, false, false, true, Kyra::GI_KYRA2) @@ -328,7 +329,19 @@ const KYRAGameDescription adGameDescs[] = { KYRA2_CD_FLAGS }, - { // Demo + { // Interactive Demo + { + "kyra2", + "Demo", + AD_ENTRY1("THANKS.CPS", "b1a78d990b120bb2234b7094f74e30a5"), + Common::EN_ANY, + Common::kPlatformPC, + Common::ADGF_DEMO + }, + KYRA2_CD_DEMO_FLAGS + }, + + { // Non-Interactive Demo { "kyra2", "Demo", diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp index 855eb490fb..4b242b0f32 100644 --- a/engines/kyra/kyra_v2.cpp +++ b/engines/kyra/kyra_v2.cpp @@ -216,7 +216,7 @@ int KyraEngine_v2::init() { } // No mouse display in demo - if (_flags.isDemo) + if (_flags.isDemo && !_flags.isTalkie) return 0; tim_setupOpcodes(); diff --git a/engines/kyra/resource.cpp b/engines/kyra/resource.cpp index bef6e872c2..0f7da48495 100644 --- a/engines/kyra/resource.cpp +++ b/engines/kyra/resource.cpp @@ -75,7 +75,7 @@ bool Resource::reset() { loadPakFile("CHAPTER1.VRM"); } else if (_vm->game() == GI_KYRA2) { // mouse pointer, fonts, etc. required for initializing - if (_vm->gameFlags().isDemo) { + if (_vm->gameFlags().isDemo && !_vm->gameFlags().isTalkie) { loadPakFile("GENERAL.PAK"); } else { loadPakFile("INTROGEN.PAK"); diff --git a/engines/kyra/sequences_v2.cpp b/engines/kyra/sequences_v2.cpp index 5dcae4f43e..e7962354e0 100644 --- a/engines/kyra/sequences_v2.cpp +++ b/engines/kyra/sequences_v2.cpp @@ -2604,7 +2604,7 @@ void KyraEngine_v2::seq_init() { _res->loadFileList(_sequencePakList, _sequencePakListSize); int numShp = -1; - if (_flags.isDemo) { + if (_flags.isDemo && !_flags.isTalkie) { int size; const uint8 *tmp = _staticres->loadRawData(k2SeqplayShapeDefs, size); _demoShapeDefs = new uint8[size]; |