aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/vqa.cpp
diff options
context:
space:
mode:
authorTorbjörn Andersson2006-05-21 19:03:27 +0000
committerTorbjörn Andersson2006-05-21 19:03:27 +0000
commitb98a67d1eb4aa77f7e3d3d4ccec0bce4706351c9 (patch)
treec0d8ad00831bc89e93e242f5eb31d47d080f6c32 /engines/kyra/vqa.cpp
parent7d15c60ab903accd2331cbdfcd05645235a42512 (diff)
downloadscummvm-rg350-b98a67d1eb4aa77f7e3d3d4ccec0bce4706351c9.tar.gz
scummvm-rg350-b98a67d1eb4aa77f7e3d3d4ccec0bce4706351c9.tar.bz2
scummvm-rg350-b98a67d1eb4aa77f7e3d3d4ccec0bce4706351c9.zip
More VQA fixes:
* Use setScreenPalette() rather than calling the backend directly. (As an extra bonus, the VQA player now only needs to store 3 bytes per colour.) * Hide the mouse cursor while the movie is playing. svn-id: r22563
Diffstat (limited to 'engines/kyra/vqa.cpp')
-rw-r--r--engines/kyra/vqa.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/engines/kyra/vqa.cpp b/engines/kyra/vqa.cpp
index b209f5ea6d..d74204bc36 100644
--- a/engines/kyra/vqa.cpp
+++ b/engines/kyra/vqa.cpp
@@ -511,10 +511,9 @@ void VQAMovie::displayFrame(int frameNum) {
_file.read(inbuf, size);
for (i = 0; i < size / 3; i++) {
- *pal++ = 4 * (0x3F & *inbuf++);
- *pal++ = 4 * (0x3F & *inbuf++);
- *pal++ = 4 * (0x3F & *inbuf++);
- *pal++ = 0;
+ *pal++ = *inbuf++;
+ *pal++ = *inbuf++;
+ *pal++ = *inbuf++;
}
break;
@@ -527,10 +526,9 @@ void VQAMovie::displayFrame(int frameNum) {
size = decodeFormat80(inbuf, outbuf);
for (i = 0; i < size / 3; i++) {
- *pal++ = 4 * (0x3F & *outbuf++);
- *pal++ = 4 * (0x3F & *outbuf++);
- *pal++ = 4 * (0x3F & *outbuf++);
- *pal++ = 0;
+ *pal++ = *outbuf++;
+ *pal++ = *outbuf++;
+ *pal++ = *outbuf++;
}
break;
@@ -575,7 +573,7 @@ void VQAMovie::displayFrame(int frameNum) {
// The frame has been decoded
if (_frameInfo[frameNum] & 0x80000000) {
- _system->setPalette(_palette, 0, 256);
+ _vm->screen()->setScreenPalette(_palette);
}
int blockPitch = _header.width / _header.blockW;