[Scummvm-cvs-logs] CVS: tools descumm3.cpp,1.22,1.23

Jonathan Gray khalek at users.sourceforge.net
Sat Apr 12 01:47:03 CEST 2003


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

Modified Files:
	descumm3.cpp 
Log Message:
add -u option for unblocked scripts

Index: descumm3.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm3.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- descumm3.cpp	11 Apr 2003 21:05:01 -0000	1.22
+++ descumm3.cpp	12 Apr 2003 08:45:52 -0000	1.23
@@ -111,6 +111,7 @@
 int gameFlag;
 
 bool GF_OLD256 = true;	// TODO - this should be controlled by a command line option
+bool GF_UNBLOCKED = false;
 
 
 bool emit_if(char *before, char *after);
@@ -2106,11 +2107,14 @@
 				 "\tdescumm [-o] filename\n"
 				 "Flags:\n"
 				 "\t-3\tUse Indy3-256 specific hacks\n"
+				 "\t-u\tScript is Unblocked/has no header\n"
 				 "\t-o\tAlways Show offsets\n"
 				 "\t-i\tDon't output ifs\n"
 				 "\t-e\tDon't output else\n"
 				 "\t-f\tDon't output else-if\n"
-				 "\t-c\tDon't show opcode\n" "\t-x\tDon't show offsets\n" "\t-h\tHalt on error\n");
+				 "\t-c\tDon't show opcode\n" 
+				 "\t-x\tDon't show offsets\n" 
+				 "\t-h\tHalt on error\n");
 	exit(0);
 }
 
@@ -2176,6 +2180,9 @@
 				case 'h':
 					HaltOnError = 1;
 					break;
+				case 'u':
+					GF_UNBLOCKED = true;
+					break;
 				default:
 					ShowHelpAndExit();
 				}
@@ -2199,30 +2206,34 @@
 
 	memorg = mem = (byte *)malloc(65536);
 	len = fread(mem, 1, 65536, in);
+	
 	fclose(in);
 	size_of_code = len;
 
 	buf = (char *)malloc(4096);
-	switch (TO_LE_16(*((unsigned short *)mem + 2))) {
-	case MKID('LS'):
-		printf("Script# %d\n", (unsigned char)mem[8]);
-		mem += 7;
-		break;											/* Local script */
-	case MKID('SC'):
-		mem += 6;
-		break;											/* Script */
-	case MKID('EN'):
-		mem += 6;
-		break;											/* Entry code */
-	case MKID('EX'):
-		mem += 6;
-		break;											/* Exit code */
-	case MKID('OC'):
-		mem += skipVerbHeader(mem + 19);
-		break;											/* Verb */
-	default:
-		printf("Unknown script type!\n");
-		exit(0);
+
+	if (!GF_UNBLOCKED) {
+		switch (TO_LE_16(*((unsigned short *)mem + 2))) {
+			case MKID('LS'):
+				printf("Script# %d\n", (unsigned char)mem[8]);
+				mem += 7;
+				break;			/* Local script */
+			case MKID('SC'):
+				mem += 6;
+				break;			/* Script */
+			case MKID('EN'):
+				mem += 6;
+				break;			/* Entry code */
+			case MKID('EX'):
+				mem += 6;
+				break;			/* Exit code */
+			case MKID('OC'):
+				mem += skipVerbHeader(mem + 19);
+				break;			/* Verb */
+			default:
+				printf("Unknown script type!\n");
+				exit(0);
+			}
 	}
 
 	cur_pos = mem;





More information about the Scummvm-git-logs mailing list