[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