mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-04 18:06:26 +00:00
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
This commit is contained in:
parent
7d15c60ab9
commit
b98a67d1eb
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -108,7 +108,7 @@ protected:
|
||||
uint32 _numVectorPointers;
|
||||
uint16 *_vectorPointers;
|
||||
|
||||
byte _palette[4 * 256];
|
||||
byte _palette[3 * 256];
|
||||
byte *_frame;
|
||||
|
||||
Audio::AppendableAudioStream *_stream;
|
||||
|
Loading…
x
Reference in New Issue
Block a user