aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorMax Horn2004-09-20 19:19:57 +0000
committerMax Horn2004-09-20 19:19:57 +0000
commitf9f79225834572047c2b6fa00ea0a3ca58a23d09 (patch)
treeab53a5bcd9661929902a3c5a836f184b3a646e84 /scumm
parent0fad7a95387eb27e10c5776c1ccd8a069d2e8364 (diff)
downloadscummvm-rg350-f9f79225834572047c2b6fa00ea0a3ca58a23d09.tar.gz
scummvm-rg350-f9f79225834572047c2b6fa00ea0a3ca58a23d09.tar.bz2
scummvm-rg350-f9f79225834572047c2b6fa00ea0a3ca58a23d09.zip
cleanup
svn-id: r15204
Diffstat (limited to 'scumm')
-rw-r--r--scumm/intern.h13
-rw-r--r--scumm/script_v72he.cpp60
-rw-r--r--scumm/script_v80he.cpp8
-rw-r--r--scumm/script_v90he.cpp8
4 files changed, 22 insertions, 67 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 08140333e4..6fc1b57ee8 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -357,8 +357,8 @@ protected:
ArrayHeader *defineArray(int array, int type, int dim2, int dim1);
int findFreeArrayId();
void nukeArray(int array);
- int readArray(int array, int index, int base);
- void writeArray(int array, int index, int base, int value);
+ virtual int readArray(int array, int index, int base);
+ virtual void writeArray(int array, int index, int base, int value);
void shuffleArray(int num, int minIdx, int maxIdx);
void setCursorTransparency(int a);
@@ -707,11 +707,10 @@ protected:
virtual void redrawBGAreas();
ArrayHeader *defineArray(int array, int type, int dim2start, int dim2end, int dim1start, int dim1end);
- int readArray(int array, int idx2, int idx1);
- void writeArray(int array, int idx2, int idx1, int value);
+ virtual int readArray(int array, int idx2, int idx1);
+ virtual void writeArray(int array, int idx2, int idx1, int value);
void redimArray(int arrayId, int newDim2start, int newDim2end,
int newDim1start, int newDim1end, int type);
- void shuffleArray(int num, int minIdx, int maxIdx);
int readFileToArray(int slot, int32 size);
void writeFileFromArray(int slot, int resID);
void arrrays_unk2(int dst, int src, int len2, int len);
@@ -731,10 +730,6 @@ protected:
/* HE version 72 script opcodes */
void o72_pushDWord();
void o72_addMessageToStack();
- void o72_wordArrayRead();
- void o72_wordArrayIndexedRead();
- void o72_wordArrayWrite();
- void o72_wordArrayIndexedWrite();
void o72_isAnyOf();
void o72_unknown50();
void o72_findObjectWithClassOf();
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp
index 4f8515e07e..fa8927024d 100644
--- a/scumm/script_v72he.cpp
+++ b/scumm/script_v72he.cpp
@@ -53,12 +53,12 @@ void ScummEngine_v72he::setupOpcodes() {
OPCODE(o72_addMessageToStack),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o72_wordArrayRead),
+ OPCODE(o6_wordArrayRead),
/* 08 */
OPCODE(o6_invalid),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o72_wordArrayIndexedRead),
+ OPCODE(o6_wordArrayIndexedRead),
/* 0C */
OPCODE(o6_dup),
OPCODE(o6_not),
@@ -133,12 +133,12 @@ void ScummEngine_v72he::setupOpcodes() {
OPCODE(o6_invalid),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o72_wordArrayWrite),
+ OPCODE(o6_wordArrayWrite),
/* 48 */
OPCODE(o6_invalid),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o72_wordArrayIndexedWrite),
+ OPCODE(o6_wordArrayIndexedWrite),
/* 4C */
OPCODE(o6_invalid),
OPCODE(o6_invalid),
@@ -654,17 +654,6 @@ void ScummEngine_v72he::o72_addMessageToStack() {
_scriptPointer += _stringLength;
}
-void ScummEngine_v72he::o72_wordArrayRead() {
- int base = pop();
- push(readArray(fetchScriptWord(), 0, base));
-}
-
-void ScummEngine_v72he::o72_wordArrayIndexedRead() {
- int base = pop();
- int idx = pop();
- push(readArray(fetchScriptWord(), idx, base));
-}
-
void ScummEngine_v72he::o72_isAnyOf() {
int args[128], i = 0;
int num = getStackList(args, ARRAYSIZE(args));
@@ -681,17 +670,6 @@ void ScummEngine_v72he::o72_isAnyOf() {
push(0);
}
-void ScummEngine_v72he::o72_wordArrayWrite() {
- int a = pop();
- writeArray(fetchScriptWord(), 0, pop(), a);
-}
-
-void ScummEngine_v72he::o72_wordArrayIndexedWrite() {
- int val = pop();
- int base = pop();
- writeArray(fetchScriptWord(), pop(), base, val);
-}
-
void ScummEngine_v72he::o72_unknown50() {
int idx;
@@ -719,6 +697,12 @@ void ScummEngine_v72he::o72_wordArrayInc() {
writeArray(var, 0, base, readArray(var, 0, base) + 1);
}
+void ScummEngine_v72he::o72_wordArrayDec() {
+ int var = fetchScriptWord();
+ int base = pop();
+ writeArray(var, 0, base, readArray(var, 0, base) - 1);
+}
+
void ScummEngine_v72he::o72_objectX() {
int object = pop();
int objnum = getObjectIndex(object);
@@ -789,12 +773,6 @@ void ScummEngine_v72he::o72_unknown5A() {
debug(1,"o72_unknown5A stub (%d)", snd);
}
-void ScummEngine_v72he::o72_wordArrayDec() {
- int var = fetchScriptWord();
- int base = pop();
- writeArray(var, 0, base, readArray(var, 0, base) - 1);
-}
-
void ScummEngine_v72he::o72_startScript() {
int args[16];
int script, flags;
@@ -1729,24 +1707,6 @@ void ScummEngine_v72he::o72_unknownCF() {
push(readVar(0));
}
-void ScummEngine_v72he::shuffleArray(int num, int minIdx, int maxIdx) {
- int range = maxIdx - minIdx;
- int count = range * 2;
-
- // Shuffle the array 'num'
- while (count--) {
- // Determine two random elements...
- int rand1 = _rnd.getRandomNumber(range) + minIdx;
- int rand2 = _rnd.getRandomNumber(range) + minIdx;
-
- // ...and swap them
- int val1 = readArray(num, 0, rand1);
- int val2 = readArray(num, 0, rand2);
- writeArray(num, 0, rand1, val2);
- writeArray(num, 0, rand2, val1);
- }
-}
-
void ScummEngine_v72he::o72_shuffle() {
int b = pop();
int a = pop();
diff --git a/scumm/script_v80he.cpp b/scumm/script_v80he.cpp
index bd0aff7190..5db388337b 100644
--- a/scumm/script_v80he.cpp
+++ b/scumm/script_v80he.cpp
@@ -53,12 +53,12 @@ void ScummEngine_v80he::setupOpcodes() {
OPCODE(o72_addMessageToStack),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o72_wordArrayRead),
+ OPCODE(o6_wordArrayRead),
/* 08 */
OPCODE(o6_invalid),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o72_wordArrayIndexedRead),
+ OPCODE(o6_wordArrayIndexedRead),
/* 0C */
OPCODE(o6_dup),
OPCODE(o6_not),
@@ -133,12 +133,12 @@ void ScummEngine_v80he::setupOpcodes() {
OPCODE(o6_invalid),
OPCODE(o80_unknown45),
OPCODE(o6_invalid),
- OPCODE(o72_wordArrayWrite),
+ OPCODE(o6_wordArrayWrite),
/* 48 */
OPCODE(o80_unknown48),
OPCODE(o80_unknown49),
OPCODE(o80_unknown4A),
- OPCODE(o72_wordArrayIndexedWrite),
+ OPCODE(o6_wordArrayIndexedWrite),
/* 4C */
OPCODE(o6_invalid),
OPCODE(o80_readConfigFile),
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index 0e1d30a431..8052c0d79b 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -53,12 +53,12 @@ void ScummEngine_v90he::setupOpcodes() {
OPCODE(o72_addMessageToStack),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o72_wordArrayRead),
+ OPCODE(o6_wordArrayRead),
/* 08 */
OPCODE(o6_invalid),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
- OPCODE(o72_wordArrayIndexedRead),
+ OPCODE(o6_wordArrayIndexedRead),
/* 0C */
OPCODE(o6_dup),
OPCODE(o6_not),
@@ -133,12 +133,12 @@ void ScummEngine_v90he::setupOpcodes() {
OPCODE(o6_invalid),
OPCODE(o80_unknown45),
OPCODE(o6_invalid),
- OPCODE(o72_wordArrayWrite),
+ OPCODE(o6_wordArrayWrite),
/* 48 */
OPCODE(o80_unknown48),
OPCODE(o80_unknown49),
OPCODE(o80_unknown4A),
- OPCODE(o72_wordArrayIndexedWrite),
+ OPCODE(o6_wordArrayIndexedWrite),
/* 4C */
OPCODE(o6_invalid),
OPCODE(o80_readConfigFile),