diff options
-rw-r--r-- | scumm/charset.cpp | 2 | ||||
-rw-r--r-- | scumm/string.cpp | 21 |
2 files changed, 13 insertions, 10 deletions
diff --git a/scumm/charset.cpp b/scumm/charset.cpp index 2011afa23e..032c5b769c 100644 --- a/scumm/charset.cpp +++ b/scumm/charset.cpp @@ -156,7 +156,7 @@ static int SJIStoFMTChunk(int f, int s) { //converts sjis code to fmt font offse else if (kanjiType == EKANJI) chunk = 144; break; default: - error("Invalid Char! f %x s %x base %x c %d p %d", f, s, base, c, p); + debug(4, "Invalid Char! f %x s %x base %x c %d p %d", f, s, base, c, p); return 0; } diff --git a/scumm/string.cpp b/scumm/string.cpp index ee761bd63e..1aceec7676 100644 --- a/scumm/string.cpp +++ b/scumm/string.cpp @@ -455,15 +455,7 @@ void ScummEngine::CHARSET_1() { _charset->_left = _charset->_nextLeft; _charset->_top = _charset->_nextTop; - if (c & 0x80 && _useCJKMode) { - if (_language == Common::JA_JPN && !checkSJISCode(c)) { - c = 0x20; //not in S-JIS - } else { - byte *buffer = _charsetBuffer + _charsetBufPos; - c += *buffer++ * 256; //LE - _charsetBufPos = buffer - _charsetBuffer; - } - } + if (_version >= 7) { #ifndef DISABLE_SCUMM_7_8 if (subtitleLine == subtitleBuffer) { @@ -474,6 +466,15 @@ void ScummEngine::CHARSET_1() { *subtitleLine = '\0'; #endif } else { + if (c & 0x80 && _useCJKMode) { + if (_language == Common::JA_JPN && !checkSJISCode(c)) { + c = 0x20; //not in S-JIS + } else { + byte *buffer = _charsetBuffer + _charsetBufPos; + c += *buffer++ * 256; //LE + _charsetBufPos = buffer - _charsetBuffer; + } + } if (_version <= 3) { _charset->printChar(c); } else { @@ -988,6 +989,8 @@ void ScummEngine_v7::loadLanguageBundle() { for (i = 0; i < lineCount; i++) { if (*ptr == '!') { // Don't know what a line with '!' means, just ignore it + } else if (*ptr == 'h') { + // File contains Korean text (Hangul). just ignore it } else if (*ptr == 'e') { // File is encoded! enc = 0x13; |