diff options
author | Johannes Schickel | 2013-07-01 15:08:01 +0200 |
---|---|---|
committer | Johannes Schickel | 2013-07-01 15:10:06 +0200 |
commit | b1dcd252b3b3eb4c91ba9b334541bdd97a95ef14 (patch) | |
tree | a6a90a4babd33203e621c2bd74e30aa1b1976235 /engines/kyra | |
parent | a00c3e75b0921207bc386de4310899cf964517bd (diff) | |
download | scummvm-rg350-b1dcd252b3b3eb4c91ba9b334541bdd97a95ef14.tar.gz scummvm-rg350-b1dcd252b3b3eb4c91ba9b334541bdd97a95ef14.tar.bz2 scummvm-rg350-b1dcd252b3b3eb4c91ba9b334541bdd97a95ef14.zip |
KYRA: Fix (a few) font checks for systems with unsigend char.
Thanks to wjp for reporting those. This only affects games with SJIS font use.
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/kyra_rpg.cpp | 2 | ||||
-rw-r--r-- | engines/kyra/screen.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/engines/kyra/kyra_rpg.cpp b/engines/kyra/kyra_rpg.cpp index f8eb7d00cd..4f7adcc6e5 100644 --- a/engines/kyra/kyra_rpg.cpp +++ b/engines/kyra/kyra_rpg.cpp @@ -213,7 +213,7 @@ void KyraRpgEngine::drawDialogueButtons() { screen()->printText(_dialogueButtonString[i], (x + 37 - (screen()->getTextWidth(_dialogueButtonString[i])) / 2) & ~3, ((_dialogueButtonYoffs + _dialogueButtonPosY[i]) + 2) & ~7, _dialogueHighlightedButton == i ? 0xC1 : 0xE1, 0); } else { - int sjisYOffset = (_flags.lang == Common::JA_JPN && _dialogueButtonString[i][0] < 0) ? 2 : 0; + int sjisYOffset = (_flags.lang == Common::JA_JPN && (_dialogueButtonString[i][0] & 0x80)) ? 2 : 0; gui_drawBox(x, (_dialogueButtonYoffs + _dialogueButtonPosY[i]), _dialogueButtonWidth, guiSettings()->buttons.height, guiSettings()->colors.frame1, guiSettings()->colors.frame2, guiSettings()->colors.fill); screen()->printText(_dialogueButtonString[i], x + (_dialogueButtonWidth >> 1) - (screen()->getTextWidth(_dialogueButtonString[i])) / 2, (_dialogueButtonYoffs + _dialogueButtonPosY[i]) + 2 - sjisYOffset, _dialogueHighlightedButton == i ? _dialogueButtonLabelColor1 : _dialogueButtonLabelColor2, 0); diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp index 419b630714..054397a34a 100644 --- a/engines/kyra/screen.cpp +++ b/engines/kyra/screen.cpp @@ -1256,7 +1256,7 @@ int Screen::getTextWidth(const char *str) { while (1) { if (_sjisMixedFontMode) - setFont(*str < 0 ? FID_SJIS_FNT : curFont); + setFont((*str & 0x80) ? FID_SJIS_FNT : curFont); uint c = fetchChar(str); @@ -1296,7 +1296,7 @@ void Screen::printText(const char *str, int x, int y, uint8 color1, uint8 color2 while (1) { if (_sjisMixedFontMode) - setFont(*str < 0 ? FID_SJIS_FNT : curFont); + setFont((*str & 0x80) ? FID_SJIS_FNT : curFont); uint8 charHeightFnt = getFontHeight(); |