[Scummvm-cvs-logs] SF.net SVN: scummvm: [30548] scummvm/branches/branch-0-11-0/engines/lure/ surface.cpp
dreammaster at users.sourceforge.net
dreammaster at users.sourceforge.net
Fri Jan 18 11:52:18 CET 2008
Revision: 30548
http://scummvm.svn.sourceforge.net/scummvm/?rev=30548&view=rev
Author: dreammaster
Date: 2008-01-18 02:52:18 -0800 (Fri, 18 Jan 2008)
Log Message:
-----------
Backport of r30547: Fix for Surface::writeSubstring to crop extra long talk option lines in German version
Modified Paths:
--------------
scummvm/branches/branch-0-11-0/engines/lure/surface.cpp
Modified: scummvm/branches/branch-0-11-0/engines/lure/surface.cpp
===================================================================
--- scummvm/branches/branch-0-11-0/engines/lure/surface.cpp 2008-01-18 10:49:48 UTC (rev 30547)
+++ scummvm/branches/branch-0-11-0/engines/lure/surface.cpp 2008-01-18 10:52:18 UTC (rev 30548)
@@ -156,11 +156,16 @@
const char *sPtr = line.c_str();
for (int index = 0; (index < len) && (*sPtr != '\0'); ++index, ++sPtr) {
+ int charSize = varLength ? fontSize[(uint8)*sPtr - 32] + 2 : FONT_WIDTH;
+ if (x + charSize >= width())
+ // Passed the right hand edge of the surface
+ break;
+
+ // Write next character
writeChar(x, y, (uint8) *sPtr, transparent, colour);
// Move to after the character in preparation for the next character
- if (!varLength) x += FONT_WIDTH;
- else x += fontSize[(uint8)*sPtr - 32] + 2;
+ x += charSize;
}
}
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