[Scummvm-cvs-logs] CVS: tools descumm-common.cpp,1.9,1.10 descumm-tool.cpp,1.6,1.7 descumm.h,1.11,1.12 descumm6.cpp,1.178,1.179

Travis Howell kirben at users.sourceforge.net
Tue Sep 21 08:18:07 CEST 2004


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

Modified Files:
	descumm-common.cpp descumm-tool.cpp descumm.h descumm6.cpp 
Log Message:

A start on some HE72+ support.


Index: descumm-common.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm-common.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- descumm-common.cpp	6 Jan 2004 12:44:02 -0000	1.9
+++ descumm-common.cpp	21 Sep 2004 15:17:34 -0000	1.10
@@ -44,6 +44,7 @@
 bool haltOnError;
 
 byte scriptVersion;
+byte heVersion;
 
 byte *cur_pos, *org_pos;
 int offs_of_line;

Index: descumm-tool.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm-tool.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- descumm-tool.cpp	31 Aug 2004 14:03:35 -0000	1.6
+++ descumm-tool.cpp	21 Sep 2004 15:17:34 -0000	1.7
@@ -135,6 +135,7 @@
 	char *s;
 
 	scriptVersion = 0;
+	heVersion = 0;
 	
 	// Parse the arguments
 	filename = NULL;
@@ -198,6 +199,12 @@
 					g_jump_opcode = 0x66;
 					break;
 
+				case '9':
+					heVersion = 72;
+					scriptVersion = 6;
+					g_jump_opcode = 0x73;
+					break;
+
 				case 'o':
 					alwaysShowOffs = true;
 					break;
@@ -273,6 +280,10 @@
 		}
 	
 		switch (TO_BE_32(*((uint32 *)mem))) {
+		case 'LSC2':
+			printf("Script# %d\n", TO_LE_32(*((int32 *)(mem+8))));
+			mem += 12;
+			break;											/* Local script */
 		case 'LSCR':
 			if (scriptVersion == 8) {
 				printf("Script# %d\n", TO_LE_32(*((int32 *)(mem+8))));
@@ -352,6 +363,11 @@
 			next_line_V345(buf);
 			break;
 		case 6:
+			if (heVersion)
+				next_line_V72(buf);
+			else
+				next_line_V67(buf);
+			break;
 		case 7:
 			next_line_V67(buf);
 			break;

Index: descumm.h
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- descumm.h	26 Jan 2004 22:38:40 -0000	1.11
+++ descumm.h	21 Sep 2004 15:17:34 -0000	1.12
@@ -70,6 +70,7 @@
 // The SCUMM version used for the script we are descumming.
 //
 extern byte scriptVersion;
+extern byte heVersion;
 
 //
 // Various positions / offsets
@@ -106,6 +107,7 @@
 extern void next_line_V345(char *buf);	// For V3, V4, V5
 extern void next_line_V67(char *buf);
 extern void next_line_V8(char *buf);
+extern void next_line_V72(char *buf);
 extern bool HumongousFlag;
 extern bool ZakFlag;
 extern bool IndyFlag;

Index: descumm6.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm6.cpp,v
retrieving revision 1.178
retrieving revision 1.179
diff -u -d -r1.178 -r1.179
--- descumm6.cpp	22 Aug 2004 11:04:34 -0000	1.178
+++ descumm6.cpp	21 Sep 2004 15:17:34 -0000	1.179
@@ -165,6 +165,134 @@
 static int num_stack = 0;
 bool HumongousFlag = false;
 
+const char *var_names72[] = {
+	/* 0 */
+	"VAR_KEYPRESS",
+	"VAR_DEBUGMODE",
+	"VAR_TIMER_NEXT",
+	"VAR_OVERRIDE",
+	/* 4 */
+	"VAR_WALKTO_OBJ",
[...1094 lines suppressed...]
-					"\xF6ppppppppp|caseF6,"
-					"\xF7pp|caseF7,"
-					"\xF8ppppppppp|caseF8,"
+			ext(output, "x" "polygonOps\0"
+					"\xF6ppppppppp|polygonStore,"
+					"\xF7pp|polygonErase,"
+					"\xF8ppppppppp|polygonStore,"
 					);
 		else
 			invalidop(NULL, code);
 		break;
+	case 0xFC:
+		if (HumongousFlag)
+			ext(output, "rpp|polygonHit");
+		else
+			invalidop(NULL, code);
+		break;
 	default:
 		invalidop(NULL, code);
 		break;





More information about the Scummvm-git-logs mailing list