[Scummvm-cvs-logs] scummvm master -> bdb8bdae2a206e736278321d599ed2d1e3ae8b76
bluegr
bluegr at gmail.com
Tue Nov 6 00:36:42 CET 2012
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
bdb8bdae2a DREAMWEB: Filter out leftover invalid characters in game texts
Commit: bdb8bdae2a206e736278321d599ed2d1e3ae8b76
https://github.com/scummvm/scummvm/commit/bdb8bdae2a206e736278321d599ed2d1e3ae8b76
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2012-11-05T15:30:33-08:00
Commit Message:
DREAMWEB: Filter out leftover invalid characters in game texts
Thanks to eriktorbjorn for spotting the actual problem
Changed paths:
engines/dreamweb/print.cpp
diff --git a/engines/dreamweb/print.cpp b/engines/dreamweb/print.cpp
index 64b9849..f5a0ed3 100644
--- a/engines/dreamweb/print.cpp
+++ b/engines/dreamweb/print.cpp
@@ -59,9 +59,13 @@ uint8 DreamWebEngine::getNextWord(const GraphicsFile &charSet, const uint8 *stri
}
void DreamWebEngine::printChar(const GraphicsFile &charSet, uint16* x, uint16 y, uint8 c, uint8 nextChar, uint8 *width, uint8 *height) {
- if (c == 255)
+ // WORKAROUND: Some texts contain leftover tab characters, which will cause
+ // OOB memory access when showing a character, as all the printable ones are
+ // from 32 onwards. We compensate for that here by ignoring all the invalid
+ // characters (0 - 31).
+ if (c < 32 || c == 255)
return;
-
+
uint8 dummyWidth, dummyHeight;
if (width == NULL)
width = &dummyWidth;
More information about the Scummvm-git-logs
mailing list