[Scummvm-cvs-logs] CVS: scummvm/scumm charset.cpp,2.155,2.156 charset.h,2.48,2.49

kirben kirben at users.sourceforge.net
Fri Nov 4 05:10:49 CET 2005


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19425/scumm

Modified Files:
	charset.cpp charset.h 
Log Message:

Cleanup, remove hacks.


Index: charset.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/charset.cpp,v
retrieving revision 2.155
retrieving revision 2.156
diff -u -d -r2.155 -r2.156
--- charset.cpp	18 Oct 2005 01:30:20 -0000	2.155
+++ charset.cpp	4 Nov 2005 13:09:56 -0000	2.156
@@ -298,50 +298,49 @@
 	int code = (_vm->_heversion >= 80) ? 127 : 64;
 
 	while ((chr = text[pos++]) != 0) {
-		if (_vm->_heversion >= 72 && chr == code) {
-			chr = text[pos++];
-			if (chr == 84) {  // Strings of speech offset/size
-				while (chr != code)
-					chr = text[pos++];
-				continue;
-			}
-			if (chr == 119) // 'Wait'
-				break;
-			if (chr == 104|| chr == 110) // 'Newline'
-				break;
-		} else if (chr == '@')
-			continue;
-		if (chr == '\n' || chr == '\r')
-			break;
-		if (chr == 254 || chr == 255) {
-			//process in LE
-			if (chr == 254 && checkKSCode(text[pos], chr) && _vm->_useCJKMode) {
-				goto loc_avoid_ks_fe;
-			}
-			chr = text[pos++];
-			if (chr == 3)	// 'WAIT'
-				break;
-			if (chr == 8) { // 'Verb on next line'
-				if (arg == 1)
+		if (_vm->_heversion >= 72) {
+			if (chr == code) {
+				chr = text[pos++];
+				if (chr == 84) {  // Strings of speech offset/size
+					while (chr != code)
+						chr = text[pos++];
+					continue;
+				}
+				if (chr == 119) // 'Wait'
+					break;
+				if (chr == 104|| chr == 110) // 'Newline'
 					break;
-				while (text[pos++] == ' ')
-					;
-				continue;
 			}
-			if (chr == 10 || chr == 21 || chr == 12 || chr == 13) {
-				pos += 2;
+		} else {
+			if (chr == '@')
 				continue;
-			}
-			if (chr == 9 || chr == 1 || chr == 2) // 'Newline'
+			if (chr == '\n' || chr == '\r')
 				break;
-			if (chr == 14) {
-				int set = text[pos] | (text[pos + 1] << 8);
-				pos += 2;
-				setCurID(set);
-				continue;
+			if (chr == 255 || (_vm->_version <= 6 && chr == 254)) {
+				chr = text[pos++];
+				if (chr == 3)	// 'WAIT'
+					break;
+				if (chr == 8) { // 'Verb on next line'
+					if (arg == 1)
+						break;
+					while (text[pos++] == ' ')
+					;
+					continue;
+				}
+				if (chr == 10 || chr == 21 || chr == 12 || chr == 13) {
+					pos += 2;
+					continue;
+				}
+				if (chr == 9 || chr == 1 || chr == 2) // 'Newline'
+					break;
+				if (chr == 14) {
+					int set = text[pos] | (text[pos + 1] << 8);
+					pos += 2;
+					setCurID(set);
+					continue;
+				}
 			}
 		}
-loc_avoid_ks_fe:
 		if ((chr & 0x80) && _vm->_useCJKMode) {
 			pos++;
 			width += _vm->_2byteWidth;
@@ -363,62 +362,60 @@
 	int code = (_vm->_heversion >= 80) ? 127 : 64;
 
 	while ((chr = str[pos++]) != 0) {
-		if (_vm->_heversion >= 72 && chr == code) {
-			chr = str[pos++];
-			if (chr == 84) {  // Strings of speech offset/size
-				while (chr != code)
-					chr = str[pos++];
-				continue;
-			}
-			if (chr == 119) // 'Wait'
-				break;
-			if (chr == 110) { // 'Newline'
-				curw = 1;
-				continue;
-			}
-			if (chr == 104) // 'Don't terminate with \n'
-				break;
-		} else if (chr == '@')
-			continue;
-		if (chr == 254 || chr == 255) {
-			//process in LE
-			if (chr == 254 && checkKSCode(str[pos], chr) && _vm->_useCJKMode) {
-				goto loc_avoid_ks_fe;
-			}
-			chr = str[pos++];
-			if (chr == 3) // 'Wait'
-				break;
-			if (chr == 8) { // 'Verb on next line'
-				if (a == 1) {
+		if (_vm->_heversion >= 72) {
+			if (chr == code) {
+				chr = str[pos++];
+				if (chr == 84) {  // Strings of speech offset/size
+					while (chr != code)
+						chr = str[pos++];
+					continue;
+				}
+				if (chr == 119) // 'Wait'
+					break;
+				if (chr == 110) { // 'Newline'
 					curw = 1;
-				} else {
-					while (str[pos] == ' ')
-						str[pos++] = '@';
+					continue;
 				}
-				continue;
-			}
-			if (chr == 10 || chr == 21 || chr == 12 || chr == 13) {
-				pos += 2;
-				continue;
-			}
-			if (chr == 1) { // 'Newline'
-				curw = 1;
-				continue;
+				if (chr == 104) // 'Don't terminate with \n'
+					break;
 			}
-			if (chr == 2) // 'Don't terminate with \n'
-				break;
-			if (chr == 14) {
-				int set = str[pos] | (str[pos + 1] << 8);
-				pos += 2;
-				setCurID(set);
+		} else {
+			if (chr == '@')
 				continue;
+			if (chr == 255 || (_vm->_version <= 6 && chr == 254)) {
+				chr = str[pos++];
+				if (chr == 3) // 'Wait'
+					break;
+				if (chr == 8) { // 'Verb on next line'
+					if (a == 1) {
+						curw = 1;
+					} else {
+						while (str[pos] == ' ')
+							str[pos++] = '@';
+					}
+					continue;
+				}
+				if (chr == 10 || chr == 21 || chr == 12 || chr == 13) {
+					pos += 2;
+					continue;
+				}
+				if (chr == 1) { // 'Newline'
+					curw = 1;
+					continue;
+				}
+				if (chr == 2) // 'Don't terminate with \n'
+					break;
+				if (chr == 14) {
+					int set = str[pos] | (str[pos + 1] << 8);
+					pos += 2;
+					setCurID(set);
+					continue;
+				}
 			}
 		}
-
 		if (chr == ' ')
 			lastspace = pos - 1;
 
-loc_avoid_ks_fe:
 		if ((chr & 0x80) && _vm->_useCJKMode) {
 			pos++;
 			curw += _vm->_2byteWidth;

Index: charset.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/charset.h,v
retrieving revision 2.48
retrieving revision 2.49
diff -u -d -r2.48 -r2.49
--- charset.h	18 Oct 2005 01:30:20 -0000	2.48
+++ charset.h	4 Nov 2005 13:09:57 -0000	2.49
@@ -31,18 +31,6 @@
 class NutRenderer;
 struct VirtScreen;
 
-static inline bool checkKSCode(byte hi, byte lo) {
-	//hi : xx
-	//lo : yy
-	if ((0xA1 > lo) || (0xFE < lo)) {
-		return false;
-	}
-	if ((hi >= 0xB0) && (hi <= 0xC8)) {
-		return true;
-	}
-	return false;
-}
-
 static inline bool checkSJISCode(byte c) {
 	if ((c > 0x84 && c < 0x88) || (c > 0x9f && c < 0xe0) || (c > 0xea /* && c <= 0xff */))
 		return false;





More information about the Scummvm-git-logs mailing list