aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/kyra/detection.cpp15
-rw-r--r--engines/kyra/kyra_v2.cpp2
-rw-r--r--engines/kyra/resource.cpp2
-rw-r--r--engines/kyra/sequences_v2.cpp2
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];