[Scummvm-cvs-logs] CVS: scummvm/scumm script_v72he.cpp,2.233,2.234

kirben kirben at users.sourceforge.net
Wed Apr 6 08:02:11 CEST 2005


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

Modified Files:
	script_v72he.cpp 
Log Message:

Add missing code for decodeScriptString cases.


Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.233
retrieving revision 2.234
diff -u -d -r2.233 -r2.234
--- script_v72he.cpp	4 Apr 2005 11:41:15 -0000	2.233
+++ script_v72he.cpp	6 Apr 2005 15:01:46 -0000	2.234
@@ -538,6 +538,7 @@
 }
 
 void ScummEngine_v72he::decodeScriptString(byte *dst, bool scriptString) {
+	const byte *src;
 	int args[31];
 	int num = 0, len, val;
 	byte chr, string[256];
@@ -561,21 +562,27 @@
 			chr = string[num++];
 			switch(chr) {
 			case 'b':
-				// byte
-				error("decodeScriptString: byte unhandled");
+				itoa(args[val--], (char *)dst, 2);
+				while (*dst != 0)
+					*dst++;
 				break;
 			case 'c':
 				*dst++ = args[val--];
 				break;
 			case 'd':
-				dst += snprintf((char *)dst, 10, "%d", args[val--]);
+				itoa(args[val--], (char *)dst, 10);
+				while (*dst != 0)
+					*dst++;
 				break;
 			case 's':
-				dst += addStringToStack(dst, 512, args[val--]);
+				src = getStringAddress(args[val--]);
+				while (*src != 0)
+					*dst++ = *src++;
 				break;
 			case 'x':
-				// hexadecimal
-				error("decodeScriptString: hexadecimal unhandled");
+				itoa(args[val--], (char *)dst, 16);
+				while (*dst != 0)
+					*dst++;
 				break;
 			default:
 				error("decodeScriptString: Unknown type %d", chr);





More information about the Scummvm-git-logs mailing list