aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/charset.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2010-10-22 19:28:12 +0000
committerFlorian Kagerer2010-10-22 19:28:12 +0000
commit031e0167e4979fcb9f5bef3fde273605d3dc8eb9 (patch)
treeaf3de84306ead9c2a1de3b5096863826dcc84d0f /engines/scumm/charset.cpp
parent04cd1c1c116bac051f5cd3746922a371aac4f19d (diff)
downloadscummvm-rg350-031e0167e4979fcb9f5bef3fde273605d3dc8eb9.tar.gz
scummvm-rg350-031e0167e4979fcb9f5bef3fde273605d3dc8eb9.tar.bz2
scummvm-rg350-031e0167e4979fcb9f5bef3fde273605d3dc8eb9.zip
SCUMM/FM-TOWNS JAPANESE: fix another font spacing issue
(fixes MI1 character talk text) svn-id: r53704
Diffstat (limited to 'engines/scumm/charset.cpp')
-rw-r--r--engines/scumm/charset.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/engines/scumm/charset.cpp b/engines/scumm/charset.cpp
index db17ecd472..7de424d291 100644
--- a/engines/scumm/charset.cpp
+++ b/engines/scumm/charset.cpp
@@ -394,8 +394,8 @@ int CharsetRendererClassic::getCharWidth(uint16 chr) {
if (spacing) {
if (_vm->_game.id == GID_MONKEY) {
spacing++;
- //if (_curId == 2)
- // spacing++;
+ if (_curId == 2)
+ spacing++;
} else if (_vm->_game.id != GID_INDY4 && _curId == 1) {
spacing++;
}
@@ -910,7 +910,15 @@ void CharsetRendererClassic::printChar(int chr, bool ignoreCharsetMask) {
charPtr = 0;
_vm->_cjkChar = chr;
enableShadow(true);
- origWidth = width = getCharWidth(chr);
+
+ width = getCharWidth(chr);
+ // For whatever reason MI1 uses a different font width
+ // for alignment calculation and for drawing when
+ // charset 2 is active. This fixes some subtle glitches.
+ if (_vm->_game.id == GID_MONKEY && _curId == 2)
+ width--;
+ origWidth = width;
+
origHeight = height = getFontHeight();
offsX = offsY = 0;
} else