diff options
author | Max Horn | 2004-09-20 19:19:57 +0000 |
---|---|---|
committer | Max Horn | 2004-09-20 19:19:57 +0000 |
commit | f9f79225834572047c2b6fa00ea0a3ca58a23d09 (patch) | |
tree | ab53a5bcd9661929902a3c5a836f184b3a646e84 | |
parent | 0fad7a95387eb27e10c5776c1ccd8a069d2e8364 (diff) | |
download | scummvm-rg350-f9f79225834572047c2b6fa00ea0a3ca58a23d09.tar.gz scummvm-rg350-f9f79225834572047c2b6fa00ea0a3ca58a23d09.tar.bz2 scummvm-rg350-f9f79225834572047c2b6fa00ea0a3ca58a23d09.zip |
cleanup
svn-id: r15204
-rw-r--r-- | scumm/intern.h | 13 | ||||
-rw-r--r-- | scumm/script_v72he.cpp | 60 | ||||
-rw-r--r-- | scumm/script_v80he.cpp | 8 | ||||
-rw-r--r-- | scumm/script_v90he.cpp | 8 |
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), |