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

Max Horn fingolfin at users.sourceforge.net
Mon Apr 28 10:30:18 CEST 2003


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

Modified Files:
	descumm3.cpp 
Log Message:
renamed GF_OLD256 -> GF_AFTER_V3; fixed Loom print/printEgo decoding (based on patch #728484); skip unblocked 'header'

Index: descumm3.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/descumm3.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- descumm3.cpp	12 Apr 2003 08:45:52 -0000	1.23
+++ descumm3.cpp	28 Apr 2003 17:29:22 -0000	1.24
@@ -110,7 +110,7 @@
 int get_curpos();
 int gameFlag;
 
-bool GF_OLD256 = true;	// TODO - this should be controlled by a command line option
+bool GF_AFTER_V3 = true;	// TODO - this should be controlled by a command line option
 bool GF_UNBLOCKED = false;
 
 
@@ -932,7 +932,7 @@
 	char	a[256];
 	char	b[256];
 	
-	if (GF_OLD256) {
+	if (GF_AFTER_V3) {
 		get_var_or_word(a, (master_opcode & 0x80));
 		get_var_or_word(b, (master_opcode & 0x40));
 	}
@@ -943,7 +943,7 @@
 
 	switch (opcode & 0x1F) {
 	case 0x01:
-		if (!GF_OLD256) {
+		if (!GF_AFTER_V3) {
 			get_var_or_word(a, (master_opcode & 0x80));
 			get_var_or_word(b, (master_opcode & 0x40));
 		}
@@ -954,7 +954,7 @@
 		buf = strecpy(buf, ")");
 		break;
 	case 0x02:
-		if (!GF_OLD256) {
+		if (!GF_AFTER_V3) {
 			get_var_or_word(a, (master_opcode & 0x80));
 			get_var_or_word(b, (master_opcode & 0x40));
 		}
@@ -965,7 +965,7 @@
 		buf = strecpy(buf, ")");
 		break;
 	case 0x03:
-		if (!GF_OLD256) {
+		if (!GF_AFTER_V3) {
 			get_var_or_word(a, (master_opcode & 0x80));
 			get_var_or_word(b, (master_opcode & 0x40));
 		}
@@ -976,7 +976,7 @@
 		buf = strecpy(buf, ")");
 		break;
 	case 0x04:
-		if (!GF_OLD256) {
+		if (!GF_AFTER_V3) {
 			get_var_or_word(a, (master_opcode & 0x80));
 			get_var_or_word(b, (master_opcode & 0x40));
 		}
@@ -1221,17 +1221,23 @@
 		case 0x2:
 			buf = do_tok(buf, "Clipped", ((opcode & 0x80) ? A1V : A1W));
 			break;
+		case 0x3:
+			buf = do_tok(buf, "Erase?", ((opcode & 0x80) ? A1V : A1W) | ((opcode & 0x40) ? A2V : A2W));
+			break;
 		case 0x4:
 			buf = do_tok(buf, "Center", 0);
 			break;
 		case 0x6:
-			buf = do_tok(buf, "Left", 0);
+			if (GF_UNBLOCKED)
+				buf = do_tok(buf, "Spacing?", ((opcode & 0x80) ? A1V: A1W));
+			else
+				buf = do_tok(buf, "Left", 0);
 			break;
 		case 0x7:
 			buf = do_tok(buf, "Overhead", 0);
 			break;
 		case 0x8:
-			buf = do_tok(buf, "Unk8", ((opcode & 0x80) ? A1V : A1W) | ((opcode & 0x40) ? A2V : A2W));
+			buf = do_tok(buf, "PlayCDTrack", ((opcode & 0x80) ? A1V : A1W) | ((opcode & 0x40) ? A2V : A2W));
 			break;
 		case 0xF:{
 				buf = strecpy(buf, "Text(\"");
@@ -2212,7 +2218,9 @@
 
 	buf = (char *)malloc(4096);
 
-	if (!GF_UNBLOCKED) {
+	if (GF_UNBLOCKED) {
+		mem += 4;
+	} else {
 		switch (TO_LE_16(*((unsigned short *)mem + 2))) {
 			case MKID('LS'):
 				printf("Script# %d\n", (unsigned char)mem[8]);





More information about the Scummvm-git-logs mailing list