[Scummvm-cvs-logs] CVS: scummvm/scumm scumm.cpp,1.225,1.226 script_v72he.cpp,2.121,2.122

Travis Howell kirben at users.sourceforge.net
Tue Sep 21 23:56:21 CEST 2004


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

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

smaller is 99 after all.
add some array code


Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.225
retrieving revision 1.226
diff -u -d -r1.225 -r1.226
--- scumm.cpp	21 Sep 2004 21:10:22 -0000	1.225
+++ scumm.cpp	22 Sep 2004 03:56:26 -0000	1.226
@@ -305,8 +305,6 @@
 	// Humongous Entertainment Scumm Version 9.8 ?  Scummsys.98
 	// these and later games can easily be identified by the .(a) file instead of a .he1
 	// and INIB chunk in the .he0
-	{"smaller", "Pajama Sam's Lost & Found (Test)", GID_HEGAME, 6, 98, MDT_NONE,
-	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
 	{"lost", "Pajama Sam's Lost & Found", GID_HEGAME, 6, 98, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
 	{"racedemo", "Putt-Putt Enters the Race (Demo)", GID_HEGAME, 6, 98, MDT_NONE,
@@ -324,6 +322,8 @@
 
 	// Engine moved to c++ 
 	// Humongous Entertainment Scumm Version 9.9 ?  Scummsys.99
+	{"smaller", "Pajama Sam's Lost & Found (Test)", GID_HEGAME, 6, 99, MDT_NONE,
+	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
 	{"circdemo", "Putt-Putt Joins the Circus (Demo)", GID_HEGAME, 6, 99, MDT_NONE,
 	 GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
 	{"sf2-demo", "Spyfox 2: Some Assembly Required (Demo)", GID_HEGAME, 6, 99, MDT_NONE,

Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.121
retrieving revision 2.122
diff -u -d -r2.121 -r2.122
--- script_v72he.cpp	21 Sep 2004 21:10:22 -0000	2.121
+++ script_v72he.cpp	22 Sep 2004 03:56:27 -0000	2.122
@@ -1232,12 +1232,14 @@
 void ScummEngine_v72he::o72_arrayOps() {
 	byte subOp = fetchScriptByte();
 	int array = fetchScriptWord();
-	int a, b, c, d;
-	int id, len = 0;
+	int b, c;
+	int dim1end, dim1start, dim2end, dim2start;
+	int id, len, len2;
 	ArrayHeader *ah;
 	int list[128];
 	byte string[2048];
 
+	debug(1,"o72_arrayOps: case %d\n", subOp);
 	switch (subOp) {
 	case 7:			// SO_ASSIGN_STRING
 		copyScriptString(string);
@@ -1247,37 +1249,50 @@
 		break;
 
 	case 126:
-		len = getStackList(list, ARRAYSIZE(list));
-		a = pop();
-		b = pop();
-		c = pop();
-		d = pop();
+		len2 = getStackList(list, ARRAYSIZE(list));
+		dim1end = pop();
+		dim1start = pop();
+		dim2end = pop();
+		dim2start = pop();
 		id = readVar(array);
 		if (id == 0) {
-			defineArray(array, kDwordArray, d, c, b, a);
+			defineArray(array, kDwordArray, dim2start, dim2end, dim1start, dim1end);
+		}
+		while (dim2start < dim2end) {
+			len = len2;
+			while (--len >= 0) {
+				writeArray(array, dim2start, len, list[len]);
+			}
+			dim2start++;
 		}
-		// TODO write array
 		break;
 	case 127:
+		{
 		// TODO
-		fetchScriptWord();
-		pop();
-		pop();
-		pop();
-		pop();
-		pop();
-		pop();
-		pop();
-		pop();
+		// Array copy and cat?
+		//Array1
+		dim1end = pop();
+		dim1start = pop();
+		dim2end = pop();
+		dim2start = pop();
+		//Array2
+		array = fetchScriptWord();
+		dim1end = pop();
+		dim1start = pop();
+		dim2end = pop();
+		dim2start = pop();
+		}
 		break;
 	case 128:
-		a = pop();
 		b = pop();
 		c = pop();
-		d = pop();
+		dim1end = pop();
+		dim1start = pop();
+		dim2end = pop();
+		dim2start = pop();
 		id = readVar(array);
 		if (id == 0) {
-			defineArray(array, kDwordArray, d, c, b, a);
+			defineArray(array, kDwordArray, dim2start, dim2end, dim1start, dim1end);
 		}
 		// TODO write array
 		break;





More information about the Scummvm-git-logs mailing list