[Scummvm-cvs-logs] SF.net SVN: scummvm: [22563] scummvm/trunk/engines/kyra

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Sun May 21 12:04:05 CEST 2006


Revision: 22563
Author:   eriktorbjorn
Date:     2006-05-21 12:03:27 -0700 (Sun, 21 May 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=22563&view=rev

Log Message:
-----------
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.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/kyra3.cpp
    scummvm/trunk/engines/kyra/vqa.cpp
    scummvm/trunk/engines/kyra/vqa.h
Modified: scummvm/trunk/engines/kyra/kyra3.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra3.cpp	2006-05-21 18:49:26 UTC (rev 22562)
+++ scummvm/trunk/engines/kyra/kyra3.cpp	2006-05-21 19:03:27 UTC (rev 22563)
@@ -163,9 +163,11 @@
 
 	vqa.open(filename);
 	if (vqa.opened()) {
+		_screen->hideMouse();
 		vqa.setDrawPage(0);
 		vqa.play();
 		vqa.close();
+		_screen->showMouse();
 	}
 
 	if (_screen->_curPage == 0)

Modified: scummvm/trunk/engines/kyra/vqa.cpp
===================================================================
--- scummvm/trunk/engines/kyra/vqa.cpp	2006-05-21 18:49:26 UTC (rev 22562)
+++ scummvm/trunk/engines/kyra/vqa.cpp	2006-05-21 19:03:27 UTC (rev 22563)
@@ -511,10 +511,9 @@
 					_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 @@
 					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 @@
 	// The frame has been decoded
 
 	if (_frameInfo[frameNum] & 0x80000000) {
-		_system->setPalette(_palette, 0, 256);
+		_vm->screen()->setScreenPalette(_palette);
 	}
 
 	int blockPitch = _header.width / _header.blockW;

Modified: scummvm/trunk/engines/kyra/vqa.h
===================================================================
--- scummvm/trunk/engines/kyra/vqa.h	2006-05-21 18:49:26 UTC (rev 22562)
+++ scummvm/trunk/engines/kyra/vqa.h	2006-05-21 19:03:27 UTC (rev 22563)
@@ -108,7 +108,7 @@
 	uint32 _numVectorPointers;
 	uint16 *_vectorPointers;
 
-	byte _palette[4 * 256];
+	byte _palette[3 * 256];
 	byte *_frame;
 
 	Audio::AppendableAudioStream *_stream;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.





More information about the Scummvm-git-logs mailing list