[Scummvm-cvs-logs] CVS: tools descumm-tool.cpp,1.2,1.3

Max Horn fingolfin at users.sourceforge.net
Sat Sep 27 18:27:02 CEST 2003


Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1:/tmp/cvs-serv1776

Modified Files:
	descumm-tool.cpp 
Log Message:
more cleanup

Index: descumm-tool.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm-tool.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- descumm-tool.cpp	28 Sep 2003 01:03:10 -0000	1.2
+++ descumm-tool.cpp	28 Sep 2003 01:26:34 -0000	1.3
@@ -89,20 +89,7 @@
 	return minOffset;
 }
 
-byte *skipVerbHeader_V5(byte *p)
-{
-	byte code;
-
-	printf("Events:\n");
-
-	while ((code = *p++) != 0) {
-		printf("  %2X - %.4X\n", code, TO_LE_16(*(uint16 *)p));
-		p += 2;
-	}
-	return p;
-}
-
-int skipVerbHeader_V67(byte *p)
+int skipVerbHeader_V567(byte *p)
 {
 	byte code;
 	int offset = 8;
@@ -121,24 +108,21 @@
 	return minOffset;
 }
 
-byte *skipVerbHeader_V8(byte *p)
+int skipVerbHeader_V8(byte *p)
 {
 	uint32 *ptr;
 	uint32 code;
-	int hdrlen;
-	
-	ptr = (uint32 *)p;
-	while (TO_LE_32(*ptr++) != 0) {
-		ptr++;
-	}
-	hdrlen = (byte *)ptr - p;
+	int offset;
+	int minOffset = 255;
 	
 	ptr = (uint32 *)p;
 	while ((code = TO_LE_32(*ptr++)) != 0) {
-		printf("  %2d - %.4X\n", code, TO_LE_32(*ptr++) - hdrlen);
+		offset = TO_LE_32(*ptr++);
+		printf("  %2d - %.4X\n", code, offset);
+		if (minOffset > offset)
+			minOffset = offset;
 	}
-
-	return (byte *)ptr;
+	return minOffset;
 }
 
 int main(int argc, char *argv[])
@@ -307,12 +291,11 @@
 			mem += 8;
 			break;											/* Exit code */
 		case 'VERB':
-			if (scriptVersion == 8)
-				mem = skipVerbHeader_V8(mem + 8);
-			else if (scriptVersion >= 6)
-				offs_of_line = skipVerbHeader_V67(mem);
-			else
-				offs_of_line = skipVerbHeader_V5(mem + 8) - mem;
+			if (scriptVersion == 8) {
+				mem += 8;
+				offs_of_line = skipVerbHeader_V8(mem);
+			} else
+				offs_of_line = skipVerbHeader_V567(mem);
 			break;											/* Verb */
 		default:
 			printf("Unknown script type!\n");





More information about the Scummvm-git-logs mailing list