[Scummvm-git-logs] scummvm master -> 321a563a315898dcb8f8d0d0776c7c450d6e9caa

sev- sev at scummvm.org
Wed Jan 31 18:05:30 CET 2018


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:
321a563a31 TUCKER: Fix font rendering bug


Commit: 321a563a315898dcb8f8d0d0776c7c450d6e9caa
    https://github.com/scummvm/scummvm/commit/321a563a315898dcb8f8d0d0776c7c450d6e9caa
Author: Adrian Frühwirth (bonki at users.noreply.github.com)
Date: 2018-01-31T18:05:27+01:00

Commit Message:
TUCKER: Fix font rendering bug

Fixes Trac#6370.

Changed paths:
    engines/tucker/tucker.cpp


diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp
index 08ad6a0..cb3dd8e 100644
--- a/engines/tucker/tucker.cpp
+++ b/engines/tucker/tucker.cpp
@@ -3858,7 +3858,15 @@ void TuckerEngine::drawSpeechTextLine(const uint8 *dataPtr, int pos, int count,
 		x += _charWidthTable[dataPtr[pos]];
 		++pos;
 	}
-	addDirtyRect(xStart, y, x - xStart, Graphics::_charset._charH);
+	// At least in the English version of the game many glyphs in the character set are one pixel
+	// wider than specified in the character width table. This ensures that, when rendering text,
+	// characters are overlapping one pixel (i.e. their outlines overlap).
+	// This has the negative side effect that when a text line ends with a glyph whose specified
+	// size is narrower than its actual size, the calculated width for the dirty rect is wrong.
+	// To compensate for this we add the current character set's maximum glyph width to make sure
+	// that the dirty rect always covers the whole line.
+	// This fixes Bug #6370.
+	addDirtyRect(xStart, y, x - xStart + Graphics::_charset._charW, Graphics::_charset._charH);
 }
 
 void TuckerEngine::redrawScreen(int offset) {





More information about the Scummvm-git-logs mailing list