aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/detection.cpp6
-rw-r--r--engines/kyra/script_tim.cpp15
-rw-r--r--engines/kyra/sequences_lol.cpp5
-rw-r--r--engines/kyra/wsamovie.cpp2
4 files changed, 20 insertions, 8 deletions
diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp
index 9303941ccc..8f56790a77 100644
--- a/engines/kyra/detection.cpp
+++ b/engines/kyra/detection.cpp
@@ -1036,9 +1036,7 @@ const KYRAGameDescription adGameDescs[] = {
LOL_PC98_SJIS_FLAGS
},
- // TODO: It looks like this demo version does use something between
- // WSA v1 and WSA v2 files, that means it is probably being quite old...
- /*{
+ {
{
"lol",
"Demo",
@@ -1052,7 +1050,7 @@ const KYRAGameDescription adGameDescs[] = {
ADGF_DEMO
},
LOL_DEMO_FLAGS
- },*/
+ },
{
{
diff --git a/engines/kyra/script_tim.cpp b/engines/kyra/script_tim.cpp
index b13639960c..5c94da4ba8 100644
--- a/engines/kyra/script_tim.cpp
+++ b/engines/kyra/script_tim.cpp
@@ -405,7 +405,18 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char
_drawPage2 = isLoLDemo ? 0 : 8;
- uint16 wsaOpenFlags = ((wsaFlags & 0x10) != 0) ? 2 : 0;
+ uint16 wsaOpenFlags = 0;
+ if (isLoLDemo) {
+ if (!(wsaFlags & 0x10))
+ wsaOpenFlags |= 1;
+ } else {
+ if (wsaFlags & 0x10)
+ wsaOpenFlags |= 2;
+ wsaOpenFlags |= 1;
+
+ if (offscreenBuffer == 2)
+ wsaOpenFlags = 1;
+ }
char file[32];
snprintf(file, 32, "%s.WSA", filename);
@@ -461,7 +472,7 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char
screen()->updateScreen();
}
- anim->wsa->displayFrame(0, x, y, 0, 0);
+ anim->wsa->displayFrame(0, 0, x, y, 0);
}
if (wsaFlags & 2)
diff --git a/engines/kyra/sequences_lol.cpp b/engines/kyra/sequences_lol.cpp
index 19cd7d215f..8c06748a91 100644
--- a/engines/kyra/sequences_lol.cpp
+++ b/engines/kyra/sequences_lol.cpp
@@ -180,7 +180,10 @@ void LoLEngine::setupPrologueData(bool load) {
// PAK file. Therefore a new call to loadSoundFile() is required
// whenever the PAK file configuration changes.
if (_flags.platform == Common::kPlatformPC98)
- _sound->loadSoundFile("sound.dat");
+ _sound->loadSoundFile("SOUND.DAT");
+
+ if (_flags.isDemo)
+ _sound->loadSoundFile("LOREINTR");
} else {
delete _chargenWSA; _chargenWSA = 0;
diff --git a/engines/kyra/wsamovie.cpp b/engines/kyra/wsamovie.cpp
index 0bd6bf5005..0684e2381a 100644
--- a/engines/kyra/wsamovie.cpp
+++ b/engines/kyra/wsamovie.cpp
@@ -154,7 +154,7 @@ void WSAMovie_v1::displayFrame(int frameNum, int pageNum, int x, int y, ...) {
if (_flags & WF_OFFSCREEN_DECODE)
Screen::decodeFrameDelta(dst, _deltaBuffer);
else
- Screen::decodeFrameDeltaPage(dst, _deltaBuffer, _width, (_flags & WF_XOR) == 0);
+ Screen::decodeFrameDeltaPage(dst, _deltaBuffer, _width, false);
}
_currentFrame = 0;
}