aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorJohannes Schickel2009-04-28 18:56:54 +0000
committerJohannes Schickel2009-04-28 18:56:54 +0000
commit7661d82ace55e1795587ec305cc486c304267535 (patch)
treef9dea1e53c956aa4b0f52c88c71371fc0f33fd97 /engines/kyra
parentbc3dcd468a3ba785fe0caaa6f29fe7df24360341 (diff)
downloadscummvm-rg350-7661d82ace55e1795587ec305cc486c304267535.tar.gz
scummvm-rg350-7661d82ace55e1795587ec305cc486c304267535.tar.bz2
scummvm-rg350-7661d82ace55e1795587ec305cc486c304267535.zip
Some code for the intro only LoL demo. It is disabled currently though.
svn-id: r40187
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/detection.cpp20
-rw-r--r--engines/kyra/lol.cpp5
-rw-r--r--engines/kyra/resource.cpp2
-rw-r--r--engines/kyra/sequences_lol.cpp2
4 files changed, 26 insertions, 3 deletions
diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp
index cd56809e57..41acf2072a 100644
--- a/engines/kyra/detection.cpp
+++ b/engines/kyra/detection.cpp
@@ -71,6 +71,7 @@ namespace {
#define LOL_FLOPPY_FLAGS FLAGS(false, false, false, false, false, false, false, Kyra::GI_LOL)
#define LOL_FLOPPY_CMP_FLAGS FLAGS(false, false, false, false, false, false, true, Kyra::GI_LOL)
#define LOL_PC98_SJIS_FLAGS FLAGS(false, false, false, true, true, false, false, Kyra::GI_LOL)
+#define LOL_DEMO_FLAGS FLAGS(true, false, false, false, false, false, false, Kyra::GI_LOL)
#define LOL_KYRA2_DEMO_FLAGS FLAGS(true, false, false, false, false, false, false, Kyra::GI_KYRA2)
const KYRAGameDescription adGameDescs[] = {
@@ -1035,6 +1036,25 @@ const KYRAGameDescription adGameDescs[] = {
LOL_PC98_SJIS_FLAGS
},
+ // TODO: It looks like this demo version does not WSA v2 files, thus being
+ // quite old... Our TIM player does not support that currently, thus
+ // we disable the detection entry for now.
+ /*{
+ {
+ "lol",
+ "Demo",
+ {
+ { "INTRO.PAK", 0, "4bc22a3b57f19a49212c5de58ab014d6", -1 },
+ { "INTROVOC.PAK", 0, "7e578e4f1da31c1f294e14a8e8f3cc44", -1 },
+ { 0, 0, 0, 0 }
+ },
+ Common::EN_ANY,
+ Common::kPlatformPC,
+ ADGF_DEMO
+ },
+ LOL_DEMO_FLAGS
+ },*/
+
{
{
"lol",
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp
index ffce5d8570..acf4be35dc 100644
--- a/engines/kyra/lol.cpp
+++ b/engines/kyra/lol.cpp
@@ -506,9 +506,12 @@ Common::Error LoLEngine::go() {
setupPrologueData(true);
_sound->setSoundList(&_soundData[kMusicIntro]);
- if (!saveFileLoadable(0))
+ if (!saveFileLoadable(0) || _flags.isDemo)
showIntro();
+ if (_flags.isDemo)
+ return Common::kNoError;
+
preInit();
int processSelection = -1;
diff --git a/engines/kyra/resource.cpp b/engines/kyra/resource.cpp
index 77d6576360..bd8b62533f 100644
--- a/engines/kyra/resource.cpp
+++ b/engines/kyra/resource.cpp
@@ -123,7 +123,7 @@ bool Resource::reset() {
if (_vm->gameFlags().useInstallerPackage)
_files.add("installer", loadInstallerArchive("WESTWOOD", "%d", 0), 2, false);
- if (!_vm->gameFlags().isTalkie) {
+ if (!_vm->gameFlags().isTalkie && !_vm->gameFlags().isDemo) {
static const char * const list[] = {
"GENERAL.PAK", 0
};
diff --git a/engines/kyra/sequences_lol.cpp b/engines/kyra/sequences_lol.cpp
index df86b4a519..720e8fdf47 100644
--- a/engines/kyra/sequences_lol.cpp
+++ b/engines/kyra/sequences_lol.cpp
@@ -92,7 +92,7 @@ void LoLEngine::setupPrologueData(bool load) {
} else {
delete _chargenWSA; _chargenWSA = 0;
- if (!_res->loadFileList("FILEDATA.FDT"))
+ if (!_flags.isDemo && !_res->loadFileList("FILEDATA.FDT"))
error("Couldn't load file list: 'FILEDATA.FDT'");
uint8 *pal = _screen->getPalette(0);