[Scummvm-cvs-logs] CVS: tools descumm.cpp,1.44,1.45

Max Horn fingolfin at users.sourceforge.net
Sun May 18 05:04:05 CEST 2003


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

Modified Files:
	descumm.cpp 
Log Message:
fixed opcode 0x47; made skipVerbHeader_V5 endian safe; made skipVerbHeader_V5 behave similar to skipVerbHeader_V2/3

Index: descumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm.cpp,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -d -r1.44 -r1.45
--- descumm.cpp	18 May 2003 11:33:59 -0000	1.44
+++ descumm.cpp	18 May 2003 12:03:10 -0000	1.45
@@ -1680,6 +1680,7 @@
 		// clearState04
 		do_tok(buf, "clearState04", ((opcode & 0x80) ? A1V : A1W));
 		break;
+	case 0x47:
 	case 0xC7:
 		// clearState08
 		do_tok(buf, "clearState08", ((opcode & 0x80) ? A1V : A1W));
@@ -2086,7 +2087,6 @@
 		do_tok(buf, "setState04", A1W);
 		break;
 	case 0x07:
-	case 0x47:
 	case 0x87:
 		//setState08
 		do_tok(buf, "setState08", A1W);
@@ -2972,20 +2972,13 @@
 byte *skipVerbHeader_V5(byte *p)
 {
 	byte code;
-	byte *p2 = p;
 	int hdrlen;
 
-	while ((code = *p2++) != 0) {
-		p2 += sizeof(unsigned short);
-	}
-
 	printf("Events:\n");
 
-	hdrlen = p2 - p + 8;
-
 	while ((code = *p++) != 0) {
-		printf("  %2X - %.4X\n", code, *(unsigned short *)p - hdrlen);
-		p += sizeof(unsigned short);
+		printf("  %2X - %.4X\n", code, TO_LE_16(*(uint16 *)p));
+		p += 2;
 	}
 	return p;
 }
@@ -3117,7 +3110,7 @@
 			mem += 8;
 			break;											/* Exit code */
 		case 'VERB':
-			offs_of_line = skipVerbHeader_V5(mem + 8);
+			offs_of_line = skipVerbHeader_V5(mem + 8) - mem;
 			break;											/* Verb */
 		default:
 			printf("Unknown script type!\n");





More information about the Scummvm-git-logs mailing list