[Scummvm-cvs-logs] SF.net SVN: scummvm: [28167] scummvm/trunk/engines/scumm

sev at users.sourceforge.net sev at users.sourceforge.net
Mon Jul 23 00:59:09 CEST 2007


Revision: 28167
          http://scummvm.svn.sourceforge.net/scummvm/?rev=28167&view=rev
Author:   sev
Date:     2007-07-22 15:59:08 -0700 (Sun, 22 Jul 2007)

Log Message:
-----------
- Fix wrong languages in Chinese COMI
- Fix credits rendering in Chinese COMI

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/charset.cpp
    scummvm/trunk/engines/scumm/string.cpp

Modified: scummvm/trunk/engines/scumm/charset.cpp
===================================================================
--- scummvm/trunk/engines/scumm/charset.cpp	2007-07-22 21:01:31 UTC (rev 28166)
+++ scummvm/trunk/engines/scumm/charset.cpp	2007-07-22 22:59:08 UTC (rev 28167)
@@ -371,7 +371,7 @@
 					break;
 			}
 		} else {
-			if (chr == '@')
+			if (chr == '@' && _vm->_language != Common::ZH_TWN)
 				continue;
 			if (chr == 255 || (_vm->_game.version <= 6 && chr == 254)) {
 				chr = text[pos++];
@@ -397,6 +397,15 @@
 					continue;
 				}
 			}
+			
+			// Some localizations may override colors
+			// See credits in Chinese COMI
+			if (chr == '^' && pos == 1) {
+				if (text[pos] == 'c') {
+					pos += 4;
+					chr = text[pos++];
+				}
+			}
 		}
 		if ((chr & 0x80) && _vm->_useCJKMode) {
 			pos++;

Modified: scummvm/trunk/engines/scumm/string.cpp
===================================================================
--- scummvm/trunk/engines/scumm/string.cpp	2007-07-22 21:01:31 UTC (rev 28166)
+++ scummvm/trunk/engines/scumm/string.cpp	2007-07-22 22:59:08 UTC (rev 28167)
@@ -172,6 +172,20 @@
 				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 @@
 				num += (_game.version == 8) ? 4 : 2;
 			}
 		} else {
-			if (!(chr == '@' && _game.heversion <= 71)) {
+			if (!(chr == '@' && _game.heversion <= 71) || _language == Common::ZH_TWN) {
 				*dst++ = chr;
 			}
 		}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list