[Scummvm-cvs-logs] CVS: tools descumm3.cpp,1.15,1.16

Max Horn fingolfin at users.sourceforge.net
Sun Nov 24 05:13:01 CET 2002


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

Modified Files:
	descumm3.cpp 
Log Message:
attempt to get roomobj disassebly right

Index: descumm3.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm3.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- descumm3.cpp	23 Nov 2002 22:16:22 -0000	1.15
+++ descumm3.cpp	24 Nov 2002 13:12:15 -0000	1.16
@@ -2076,25 +2076,21 @@
 	exit(0);
 }
 
-byte *skipVerbHeader(byte *p)
+int skipVerbHeader(byte *p)
 {
 	byte code;
-	byte *p2 = p;
-	int hdrlen;
+	int offset = 19;
 
-	while ((code = *p2++) != 0) {
-		p2 += sizeof(unsigned short);
-	}
+// two bytes obj id
 
 	printf("Events:\n");
 
-	hdrlen = p2 - p + 8;
-
 	while ((code = *p++) != 0) {
-		printf("  %2X - %.4X\n", code, *(unsigned short *)p - hdrlen);
+		offset = TO_LE_16(*(unsigned short *)p);
+		printf("  %2X - %.4X\n", code, offset);
 		p += sizeof(unsigned short);
 	}
-	return p;
+	return offset;
 }
 
 
@@ -2184,7 +2180,7 @@
 		mem += 6;
 		break;											/* Exit code */
 	case MKID('OC'):
-		mem = skipVerbHeader(mem + 6);
+		mem += skipVerbHeader(mem + 19);
 		break;											/* Verb */
 	default:
 		printf("Unknown script type!\n");





More information about the Scummvm-git-logs mailing list