aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/kyra/kyra3.cpp2
-rw-r--r--engines/kyra/vqa.cpp16
-rw-r--r--engines/kyra/vqa.h2
3 files changed, 10 insertions, 10 deletions
diff --git a/engines/kyra/kyra3.cpp b/engines/kyra/kyra3.cpp
index b7c6f763cf..805a2395b6 100644
--- a/engines/kyra/kyra3.cpp
+++ b/engines/kyra/kyra3.cpp
@@ -163,9 +163,11 @@ void KyraEngine_v3::playVQA(const char *name) {
vqa.open(filename);
if (vqa.opened()) {
+ _screen->hideMouse();
vqa.setDrawPage(0);
vqa.play();
vqa.close();
+ _screen->showMouse();
}
if (_screen->_curPage == 0)
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;
diff --git a/engines/kyra/vqa.h b/engines/kyra/vqa.h
index ec13bb1c6c..05371d4869 100644
--- a/engines/kyra/vqa.h
+++ b/engines/kyra/vqa.h
@@ -108,7 +108,7 @@ protected:
uint32 _numVectorPointers;
uint16 *_vectorPointers;
- byte _palette[4 * 256];
+ byte _palette[3 * 256];
byte *_frame;
Audio::AppendableAudioStream *_stream;