[Scummvm-cvs-logs] SF.net SVN: scummvm:[54924] scummvm/trunk/engines/sci/graphics/view.cpp

tdhs at users.sourceforge.net tdhs at users.sourceforge.net
Wed Dec 15 23:36:56 CET 2010


Revision: 54924
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54924&view=rev
Author:   tdhs
Date:     2010-12-15 22:36:55 +0000 (Wed, 15 Dec 2010)

Log Message:
-----------
SCI: Fixed View Cel RLE Decoding when RLE Code 0x40 is used (Corrects Bug #3135872 "LSL1VGA: "Pause Game" problem")

In the copy case, the runLength can be up to 127, not 64 i.e. the LSB of the RLE code forms part of the runLength.

Modified Paths:
--------------
    scummvm/trunk/engines/sci/graphics/view.cpp

Modified: scummvm/trunk/engines/sci/graphics/view.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/view.cpp	2010-12-15 20:37:09 UTC (rev 54923)
+++ scummvm/trunk/engines/sci/graphics/view.cpp	2010-12-15 22:36:55 UTC (rev 54924)
@@ -429,7 +429,9 @@
 					pixel = *rlePtr++;
 					runLength = pixel & 0x3F;
 					switch (pixel & 0xC0) {
-					case 0: // copy bytes as-is
+					case 0x40: // copy bytes as is (In copy case, runLength can go upto 127 i.e. pixel & 0x40)
+						runLength += 64;
+					case 0x00: // copy bytes as-is
 						while (runLength-- && pixelNo < pixelCount)
 							outPtr[pixelNo++] = *rlePtr++;
 						break;


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