aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2005-11-27 10:32:21 +0000
committerTravis Howell2005-11-27 10:32:21 +0000
commit8c45a9a3c0c3ae809a4eeeb64773cc39d314019c (patch)
treee8b396737267a41aa33e788f6e2d9638234f42a9 /scumm
parentee69f9317d14915816943b3d803a09def2605872 (diff)
downloadscummvm-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.cpp2
-rw-r--r--scumm/string.cpp21
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;