aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schickel2007-04-03 14:26:12 +0000
committerJohannes Schickel2007-04-03 14:26:12 +0000
commite8b6baca74228144694f4ff1d39f8e71330adc5e (patch)
treed82f608699d6d77791a628b2aa59296239e0b441
parent8b63337ce014c3e3212c0d9cb6ee1294de8d1865 (diff)
downloadscummvm-rg350-e8b6baca74228144694f4ff1d39f8e71330adc5e.tar.gz
scummvm-rg350-e8b6baca74228144694f4ff1d39f8e71330adc5e.tar.bz2
scummvm-rg350-e8b6baca74228144694f4ff1d39f8e71330adc5e.zip
Little WSA loading fix.
svn-id: r26375
-rw-r--r--engines/kyra/wsamovie.cpp7
-rw-r--r--engines/kyra/wsamovie.h4
2 files changed, 5 insertions, 6 deletions
diff --git a/engines/kyra/wsamovie.cpp b/engines/kyra/wsamovie.cpp
index 8ba0793f8c..e0a6817d82 100644
--- a/engines/kyra/wsamovie.cpp
+++ b/engines/kyra/wsamovie.cpp
@@ -146,7 +146,7 @@ void WSAMovieV1::displayFrame(int frameNum) {
if (_flags & WF_OFFSCREEN_DECODE) {
Screen::decodeFrameDelta(dst, _deltaBuffer);
} else {
- Screen::decodeFrameDeltaPage(dst, _deltaBuffer, _width, true);
+ Screen::decodeFrameDeltaPage(dst, _deltaBuffer, _width, (_flags & WF_XOR) == 0);
}
}
_currentFrame = 0;
@@ -384,9 +384,8 @@ int WSAMovieV2::open(const char *filename, int unk1, uint8 *palBuf) {
}
}
- if (flags & 2) {
- _flags |= WF_MASKED_BLIT;
- }
+ if (flags & 2)
+ _flags |= WF_XOR;
if (!(unk1 & 2)) {
_flags |= WF_OFFSCREEN_DECODE;
diff --git a/engines/kyra/wsamovie.h b/engines/kyra/wsamovie.h
index 6744ba0715..e9b84a0bbb 100644
--- a/engines/kyra/wsamovie.h
+++ b/engines/kyra/wsamovie.h
@@ -71,10 +71,10 @@ public:
virtual void displayFrame(int frameNum);
enum WSAFlags {
- WF_MASKED_BLIT = 0x1,
WF_OFFSCREEN_DECODE = 0x10,
WF_NO_FIRST_FRAME = 0x40,
- WF_HAS_PALETTE = 0x100
+ WF_HAS_PALETTE = 0x100,
+ WF_XOR = 0x200
};
protected: