[Scummvm-cvs-logs] SF.net SVN: scummvm:[43902] scummvm/trunk/graphics/video/coktelvideo/ coktelvideo.cpp

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Tue Sep 1 23:53:00 CEST 2009


Revision: 43902
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43902&view=rev
Author:   drmccoy
Date:     2009-09-01 21:53:00 +0000 (Tue, 01 Sep 2009)

Log Message:
-----------
Add some more drawing constraints, so prevent overflowing the video memory

Modified Paths:
--------------
    scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp

Modified: scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp
===================================================================
--- scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp	2009-09-01 21:24:09 UTC (rev 43901)
+++ scummvm/trunk/graphics/video/coktelvideo/coktelvideo.cpp	2009-09-01 21:53:00 UTC (rev 43902)
@@ -1891,19 +1891,22 @@
 
 	width = postScaleX(width);
 
+	uint16 drawWidth  = MIN<uint16>(width , sW - left);
+	uint16 drawHeight = MIN<uint16>(height, sH - top );
+
 	// Evaluate the block type
 	if      (type == 0x01)
-		renderBlockSparse  (dest, srcPtr, width, height, sW, sH);
+		renderBlockSparse  (dest, srcPtr, drawWidth, drawHeight, sW, sH);
 	else if (type == 0x02)
-		renderBlockWhole   (dest, srcPtr, width, height, sW, sH);
+		renderBlockWhole   (dest, srcPtr, drawWidth, drawHeight, sW, sH);
 	else if (type == 0x03)
-		renderBlockRLE     (dest, srcPtr, width, height, sW, sH);
+		renderBlockRLE     (dest, srcPtr, drawWidth, drawHeight, sW, sH);
 	else if (type == 0x42)
-		renderBlockWhole4X (dest, srcPtr, width, height, sW, sH);
+		renderBlockWhole4X (dest, srcPtr, drawWidth, drawHeight, sW, sH);
 	else if ((type & 0x0F) == 0x02)
-		renderBlockWhole2Y (dest, srcPtr, width, height, sW, sH);
+		renderBlockWhole2Y (dest, srcPtr, drawWidth, drawHeight, sW, sH);
 	else
-		renderBlockSparse2Y(dest, srcPtr, width, height, sW, sH);
+		renderBlockSparse2Y(dest, srcPtr, drawWidth, drawHeight, sW, sH);
 
 
 	dest = _vidMemBuffer + postScaleX(_width) * (top - _y) + postScaleX(left - _x);


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