diff options
author | Travis Howell | 2005-11-27 10:32:21 +0000 |
---|---|---|
committer | Travis Howell | 2005-11-27 10:32:21 +0000 |
commit | 8c45a9a3c0c3ae809a4eeeb64773cc39d314019c (patch) | |
tree | e8b396737267a41aa33e788f6e2d9638234f42a9 /scumm | |
parent | ee69f9317d14915816943b3d803a09def2605872 (diff) | |
download | scummvm-rg350-8c45a9a3c0c3ae809a4eeeb64773cc39d314019c.tar.gz scummvm-rg350-8c45a9a3c0c3ae809a4eeeb64773cc39d314019c.tar.bz2 scummvm-rg350-8c45a9a3c0c3ae809a4eeeb64773cc39d314019c.zip |
Add patch:
1367403 - Korean Fixes
svn-id: r19718
Diffstat (limited to 'scumm')
-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; |