[Scummvm-cvs-logs] CVS: scummvm/scumm script_v72he.cpp,2.294,2.295 script_v100he.cpp,2.152,2.153

kirben kirben at users.sourceforge.net
Sun May 22 03:05:07 CEST 2005


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

Modified Files:
	script_v72he.cpp script_v100he.cpp 
Log Message:

Sync HE100.
Minor cleanup.


Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.294
retrieving revision 2.295
diff -u -d -r2.294 -r2.295
--- script_v72he.cpp	22 May 2005 09:14:54 -0000	2.294
+++ script_v72he.cpp	22 May 2005 10:04:10 -0000	2.295
@@ -1443,17 +1443,17 @@
 }
 
 void ScummEngine_v72he::o72_arrayOps() {
-	byte subOp = fetchScriptByte();
-	int array = fetchScriptWord();
-	int offs, tmp, tmp2, tmp3;
-	int dim1end, dim1start, dim2end, dim2start;
-	int id, len, b, c;
 	ArrayHeader *ah;
-	int list[128];
 	byte string[1024];
+	int dim1end, dim1start, dim2end, dim2start;
+	int id, len, b, c, list[128];
+	int offs, tmp, tmp2;
+	uint tmp3;
 
+	byte subOp = fetchScriptByte();
+	int array = fetchScriptWord();
+	debug(1,"o72_arrayOps: array %d case %d", array, subOp);
 
-	debug(1,"o72_arrayOps: case %d", subOp);
 	switch (subOp) {
 	case 7:			// SO_ASSIGN_STRING
 		copyScriptString(string, sizeof(string));
@@ -1496,7 +1496,7 @@
 			int a1_dim2end = pop();
 			int a1_dim2start = pop();
 			if (a1_dim1end - a1_dim1start != a2_dim1end - a2_dim1start || a2_dim2end - a2_dim2start != a1_dim2end - a1_dim2start) {
-				warning("Source and dest ranges size are mismatched");
+				error("Source and dest ranges size are mismatched");
 			}
 			copyArray(array, a1_dim2start, a1_dim2end, a1_dim1start, a1_dim1end, array2, a2_dim2start, a2_dim2end, a2_dim1start, a2_dim1end);
 		}
@@ -1513,12 +1513,9 @@
 			defineArray(array, kDwordArray, dim2start, dim2end, dim1start, dim1end);
 		}
 
-		len = c - b;
-		len |= dim2end;
-		len = len - dim2end + 1;
 		offs = (b >= c) ? 1 : -1;
 		tmp2 = c;
-		tmp3 = len;
+		tmp3 = c - b + 1;;
 		while (dim2start <= dim2end) {
 			tmp = dim1start;
 			while (tmp <= dim1end) {

Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.152
retrieving revision 2.153
diff -u -d -r2.152 -r2.153
--- script_v100he.cpp	12 May 2005 13:58:22 -0000	2.152
+++ script_v100he.cpp	22 May 2005 10:04:10 -0000	2.153
@@ -578,26 +578,27 @@
 }
 
 void ScummEngine_v100he::o100_arrayOps() {
-	byte subOp = fetchScriptByte();
-	int array = fetchScriptWord();
-	int offs, tmp, tmp2, tmp3;
-	int dim1end, dim1start, dim2end, dim2start;
-	int id, len, b, c;
 	ArrayHeader *ah;
-	int list[128];
 	byte string[1024];
+	int dim1end, dim1start, dim2end, dim2start;
+	int id, len, b, c, list[128];
+	int offs, tmp, tmp2;
+	uint tmp3;
+
+	byte subOp = fetchScriptByte();
+	int array = fetchScriptWord();
+	debug(1,"o100_arrayOps: array %d case %d", array, subOp);
 
-	debug(1,"o100_arrayOps: case %d", subOp);
 	switch (subOp) {
 	case 35:
 		decodeScriptString(string);
-		len = resStrLen(string) + 1;
+		len = resStrLen(string);
 		ah = defineArray(array, kStringArray, 0, 0, 0, len);
 		memcpy(ah->data, string, len);
 		break;
 	case 77:			// SO_ASSIGN_STRING
 		copyScriptString(string, sizeof(string));
-		len = resStrLen(string) + 1;
+		len = resStrLen(string);
 		ah = defineArray(array, kStringArray, 0, 0, 0, len);
 		memcpy(ah->data, string, len);
 		break;
@@ -606,7 +607,7 @@
 		len = getStackList(list, ARRAYSIZE(list));
 		id = readVar(array);
 		if (id == 0)
-			error("o100_arrayOps: Must DIM a two dimensional array before assigning");
+			error("Must DIM a two dimensional array before assigning");
 		c = pop();
 		while (--len >= 0) {
 			writeArray(array, c, len, list[len]);
@@ -617,7 +618,7 @@
 		c = pop();
 		id = readVar(array);
 		if (id == 0) {
-			defineArray(array, kDwordArray, 0, 0, 0, b + c);
+			defineArray(array, kDwordArray, 0, 0, 0, b + c - 1);
 		}
 		while (c--) {
 			writeArray(array, 0, b + c, pop());
@@ -657,7 +658,7 @@
 			int a1_dim2end = pop();
 			int a1_dim2start = pop();
 			if (a1_dim1end - a1_dim1start != a2_dim1end - a2_dim1start || a2_dim2end - a2_dim2start != a1_dim2end - a1_dim2start) {
-				warning("Source and dest ranges size are mismatched");
+				error("Source and dest ranges size are mismatched");
 			}
 			copyArray(array, a1_dim2start, a1_dim2end, a1_dim1start, a1_dim1end, array2, a2_dim2start, a2_dim2end, a2_dim1start, a2_dim1end);
 		}
@@ -674,12 +675,9 @@
 			defineArray(array, kDwordArray, dim2start, dim2end, dim1start, dim1end);
 		}
 
-		len = c - b;
-		len |= dim2end;
-		len = len - dim2end + 1;
 		offs = (b >= c) ? 1 : -1;
 		tmp2 = c;
-		tmp3 = len;
+		tmp3 = c - b + 1;;
 		while (dim2start <= dim2end) {
 			tmp = dim1start;
 			while (tmp <= dim1end) {





More information about the Scummvm-git-logs mailing list