diff options
author | Florian Kagerer | 2009-10-20 18:34:12 +0000 |
---|---|---|
committer | Florian Kagerer | 2009-10-20 18:34:12 +0000 |
commit | 1fb02d2c4b33f8341c659429a07661cbff1a43dc (patch) | |
tree | 79db50bfd404b9babaf02104c33d58c8529aeb05 | |
parent | a60836c5eee662ec54ea8c232385b21edf1a2fa5 (diff) | |
download | scummvm-rg350-1fb02d2c4b33f8341c659429a07661cbff1a43dc.tar.gz scummvm-rg350-1fb02d2c4b33f8341c659429a07661cbff1a43dc.tar.bz2 scummvm-rg350-1fb02d2c4b33f8341c659429a07661cbff1a43dc.zip |
LOL/PC-98: fixed glitch in text displayer
svn-id: r45276
-rw-r--r-- | engines/kyra/text_lol.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/kyra/text_lol.cpp b/engines/kyra/text_lol.cpp index a327d88054..7311ead249 100644 --- a/engines/kyra/text_lol.cpp +++ b/engines/kyra/text_lol.cpp @@ -540,7 +540,7 @@ void TextDisplayer_LoL::printLine(char *str) { int sdx = _screen->curDimIndex(); bool pc98PrintFlag = (isPc98 && (sdx == 3 || sdx == 4 || sdx == 5 || sdx == 15)) ? true : false; - int fh = (_screen->getFontHeight() + _screen->_charOffset); + int fh = (_screen->_currentFont == Screen::FID_SJIS_FNT) ? 9 : (_screen->getFontHeight() + _screen->_charOffset); int lines = (sd->h - _screen->_charOffset) / fh; while (_textDimData[sdx].line >= lines) { @@ -571,11 +571,14 @@ void TextDisplayer_LoL::printLine(char *str) { if (pc98PrintFlag) { bool ct = true; - if ((lw + _textDimData[sdx].column) <= w) { + if ((lw + _textDimData[sdx].column) > w) { + if ((lines - 1) <= _lineCount) + w -= 80; + } else { if (!_sjisLineBreakFlag || (_lineCount + 1 < lines - 1)) ct = false; else - w -= (10 * (_screen->getFontWidth() + _screen->_charWidth)); + w -= 80; } if (ct) { |