[Scummvm-cvs-logs] SF.net SVN: scummvm:[55575] scummvm/trunk/engines/gob/inter_v2.cpp

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Thu Jan 27 22:12:28 CET 2011


Revision: 55575
          http://scummvm.svn.sourceforge.net/scummvm/?rev=55575&view=rev
Author:   drmccoy
Date:     2011-01-27 21:12:27 +0000 (Thu, 27 Jan 2011)

Log Message:
-----------
GOB: Only draw text when coordinates are within the surface

Modified Paths:
--------------
    scummvm/trunk/engines/gob/inter_v2.cpp

Modified: scummvm/trunk/engines/gob/inter_v2.cpp
===================================================================
--- scummvm/trunk/engines/gob/inter_v2.cpp	2011-01-27 20:50:43 UTC (rev 55574)
+++ scummvm/trunk/engines/gob/inter_v2.cpp	2011-01-27 21:12:27 UTC (rev 55575)
@@ -1099,6 +1099,10 @@
 	_vm->_draw->_textToPrint = buf;
 	_vm->_draw->_transparency = 0;
 
+	SurfacePtr surface = _vm->_draw->_spritesArray[_vm->_draw->_destSurface];
+	uint16 destWidth  = surface ? surface->getWidth()  : 0;
+	uint16 destHeight = surface ? surface->getHeight() : 0;
+
 	if (_vm->_draw->_backColor == 16) {
 		_vm->_draw->_backColor = 0;
 		_vm->_draw->_transparency = 1;
@@ -1142,7 +1146,10 @@
 		} else
 			buf[i] = 0;
 
-		_vm->_draw->spriteOperation(DRAW_PRINTTEXT);
+		if ((_vm->_draw->_destSpriteX < destWidth) &&
+		    (_vm->_draw->_destSpriteY < destHeight))
+			_vm->_draw->spriteOperation(DRAW_PRINTTEXT);
+
 	} while (_vm->_game->_script->peekByte() != 200);
 
 	_vm->_game->_script->skip(1);


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