diff options
author | Eugene Sandulenko | 2007-07-22 22:59:08 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2007-07-22 22:59:08 +0000 |
commit | b6eedda8858eca9926619fec03dd3075ed4fa7ac (patch) | |
tree | c13f1c7e454aaf1ec521fab9522319ae6429867f /engines/scumm/string.cpp | |
parent | 8c21abc990c3130b2e76bb33b8642a74ce145574 (diff) | |
download | scummvm-rg350-b6eedda8858eca9926619fec03dd3075ed4fa7ac.tar.gz scummvm-rg350-b6eedda8858eca9926619fec03dd3075ed4fa7ac.tar.bz2 scummvm-rg350-b6eedda8858eca9926619fec03dd3075ed4fa7ac.zip |
- Fix wrong languages in Chinese COMI
- Fix credits rendering in Chinese COMI
svn-id: r28167
Diffstat (limited to 'engines/scumm/string.cpp')
-rw-r--r-- | engines/scumm/string.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp index 44e727b5d3..32fdf0e04e 100644 --- a/engines/scumm/string.cpp +++ b/engines/scumm/string.cpp @@ -172,6 +172,20 @@ void ScummEngine_v6::drawBlastTexts() { if (c == 0x0B) continue; + // Some localizations may override colors + // See credits in Chinese COMI + if (c == '^' && (buf == _blastTextQueue[i].text + 1)) { + int color; + switch (*buf) { + case 'c': + color = buf[3] - '0' + 10 *(buf[2] - '0'); + _charset->setColor(color); + + buf += 4; + c = *buf++; + } + } + if (c != 0 && c != 0xFF && c != '\n') { if (c & 0x80 && _useCJKMode) { if (_language == Common::JA_JPN && !checkSJISCode(c)) { @@ -1060,7 +1074,7 @@ int ScummEngine::convertMessageToString(const byte *msg, byte *dst, int dstSize) num += (_game.version == 8) ? 4 : 2; } } else { - if (!(chr == '@' && _game.heversion <= 71)) { + if (!(chr == '@' && _game.heversion <= 71) || _language == Common::ZH_TWN) { *dst++ = chr; } } |