[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