[Scummvm-cvs-logs] CVS: tools descumm.cpp,1.90,1.91

Max Horn fingolfin at users.sourceforge.net
Mon Aug 2 13:56:48 CEST 2004


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

Modified Files:
	descumm.cpp 
Log Message:
don't duplicate code; fix get_ascii; add workaround for bug #985948

Index: descumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm.cpp,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -d -r1.90 -r1.91
--- descumm.cpp	24 Jul 2004 11:15:05 -0000	1.90
+++ descumm.cpp	2 Aug 2004 20:55:05 -0000	1.91
@@ -563,9 +563,17 @@
 			break;
 		buf = putascii(buf, i);
 		if (i == 255) {
-			buf = putascii(buf, get_byte());
-			buf = putascii(buf, get_byte());
-			buf = putascii(buf, get_byte());
+			i = get_byte();
+			buf = putascii(buf, i);
+
+			// Workaround for a script bug in Indy3
+			if (i == 46 && scriptVersion == 3 && IndyFlag)
+				continue;
+
+			if (i != 1 && i != 2 && i != 3 && i != 8) {
+				buf = putascii(buf, get_byte());
+				buf = putascii(buf, get_byte());
+			}
 		}
 	} while (1);
 
@@ -1571,22 +1579,9 @@
 			buf = do_tok(buf, "PlayCDTrack", ((opcode & 0x80) ? A1V : A1W) | ((opcode & 0x40) ? A2V : A2W));
 			break;
 		case 0xF:{
-				buf = strecpy(buf, "Text(\"");
-				while (1) {
-					i = get_byte();
-					if (!i)
-						break;
-					buf = putascii(buf, i);
-					if (i == 255) {
-						i = get_byte();
-						buf = putascii(buf, i);
-						if (i == 0 || i != 2 && i != 3 && i != 8) {
-							buf = putascii(buf, get_byte());
-							buf = putascii(buf, get_byte());
-						}
-					}
-				}
-				buf = strecpy(buf, "\")");
+				buf = strecpy(buf, "Text(");
+				buf = get_ascii(buf);
+				buf = strecpy(buf, ")");
 			}
 			goto exit_proc;
 		default:





More information about the Scummvm-git-logs mailing list