aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v6.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/script_v6.cpp')
-rw-r--r--scumm/script_v6.cpp364
1 files changed, 182 insertions, 182 deletions
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index 6dc24eee59..8ea37363e7 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -40,9 +40,9 @@
#include "scumm/dialogs.h" // FIXME: This is just for the FT-INSANE warning.
// Remove when INSANE is implemented
-#define OPCODE(x) { &Scumm_v6::x, #x }
+#define OPCODE(x) { &ScummEngine_v6::x, #x }
-void Scumm_v6::setupOpcodes() {
+void ScummEngine_v6::setupOpcodes() {
static const OpcodeEntryV6 opcodes[256] = {
/* 00 */
OPCODE(o6_pushByte),
@@ -369,16 +369,16 @@ void Scumm_v6::setupOpcodes() {
_opcodesV6 = opcodes;
}
-void Scumm_v6::executeOpcode(byte i) {
+void ScummEngine_v6::executeOpcode(byte i) {
OpcodeProcV6 op = _opcodesV6[i].proc;
(this->*op) ();
}
-const char *Scumm_v6::getOpcodeDesc(byte i) {
+const char *ScummEngine_v6::getOpcodeDesc(byte i) {
return _opcodesV6[i].desc;
}
-int Scumm_v6::popRoomAndObj(int *room) {
+int ScummEngine_v6::popRoomAndObj(int *room) {
int obj;
if (_version >= 7) {
@@ -393,7 +393,7 @@ int Scumm_v6::popRoomAndObj(int *room) {
}
-int Scumm::readArray(int array, int idx, int base) {
+int ScummEngine::readArray(int array, int idx, int base) {
ArrayHeader *ah = (ArrayHeader *)getResourceAddress(rtString, readVar(array));
if (ah == NULL || ah->data == NULL) {
@@ -418,7 +418,7 @@ int Scumm::readArray(int array, int idx, int base) {
}
}
-void Scumm::writeArray(int array, int idx, int base, int value) {
+void ScummEngine::writeArray(int array, int idx, int base, int value) {
ArrayHeader *ah = (ArrayHeader *)getResourceAddress(rtString, readVar(array));
if (!ah)
return;
@@ -445,7 +445,7 @@ void Scumm::writeArray(int array, int idx, int base, int value) {
}
}
-int Scumm_v6::getStackList(int *args, uint maxnum) {
+int ScummEngine_v6::getStackList(int *args, uint maxnum) {
uint num, i;
for (i = 0; i < maxnum; i++)
@@ -464,225 +464,225 @@ int Scumm_v6::getStackList(int *args, uint maxnum) {
return num;
}
-void Scumm_v6::o6_pushByte() {
+void ScummEngine_v6::o6_pushByte() {
push(fetchScriptByte());
}
-void Scumm_v6::o6_pushWord() {
+void ScummEngine_v6::o6_pushWord() {
push(fetchScriptWordSigned());
}
-void Scumm_v6::o6_pushByteVar() {
+void ScummEngine_v6::o6_pushByteVar() {
push(readVar(fetchScriptByte()));
}
-void Scumm_v6::o6_pushWordVar() {
+void ScummEngine_v6::o6_pushWordVar() {
push(readVar(fetchScriptWord()));
}
-void Scumm_v6::o6_invalid() {
+void ScummEngine_v6::o6_invalid() {
error("Invalid opcode '%x' at %x", _opcode, _scriptPointer - _scriptOrgPointer);
}
-void Scumm_v6::o6_byteArrayRead() {
+void ScummEngine_v6::o6_byteArrayRead() {
int base = pop();
push(readArray(fetchScriptByte(), 0, base));
}
-void Scumm_v6::o6_wordArrayRead() {
+void ScummEngine_v6::o6_wordArrayRead() {
int base = pop();
push(readArray(fetchScriptWord(), 0, base));
}
-void Scumm_v6::o6_byteArrayIndexedRead() {
+void ScummEngine_v6::o6_byteArrayIndexedRead() {
int base = pop();
int idx = pop();
push(readArray(fetchScriptByte(), idx, base));
}
-void Scumm_v6::o6_wordArrayIndexedRead() {
+void ScummEngine_v6::o6_wordArrayIndexedRead() {
int base = pop();
int idx = pop();
push(readArray(fetchScriptWord(), idx, base));
}
-void Scumm_v6::o6_dup() {
+void ScummEngine_v6::o6_dup() {
int a = pop();
push(a);
push(a);
}
-void Scumm_v6::o6_not() {
+void ScummEngine_v6::o6_not() {
push(pop() == 0);
}
-void Scumm_v6::o6_eq() {
+void ScummEngine_v6::o6_eq() {
push(pop() == pop());
}
-void Scumm_v6::o6_neq() {
+void ScummEngine_v6::o6_neq() {
push(pop() != pop());
}
-void Scumm_v6::o6_gt() {
+void ScummEngine_v6::o6_gt() {
int a = pop();
push(pop() > a);
}
-void Scumm_v6::o6_lt() {
+void ScummEngine_v6::o6_lt() {
int a = pop();
push(pop() < a);
}
-void Scumm_v6::o6_le() {
+void ScummEngine_v6::o6_le() {
int a = pop();
push(pop() <= a);
}
-void Scumm_v6::o6_ge() {
+void ScummEngine_v6::o6_ge() {
int a = pop();
push(pop() >= a);
}
-void Scumm_v6::o6_add() {
+void ScummEngine_v6::o6_add() {
int a = pop();
push(pop() + a);
}
-void Scumm_v6::o6_sub() {
+void ScummEngine_v6::o6_sub() {
int a = pop();
push(pop() - a);
}
-void Scumm_v6::o6_mul() {
+void ScummEngine_v6::o6_mul() {
int a = pop();
push(pop() * a);
}
-void Scumm_v6::o6_div() {
+void ScummEngine_v6::o6_div() {
int a = pop();
if (a == 0)
error("division by zero");
push(pop() / a);
}
-void Scumm_v6::o6_land() {
+void ScummEngine_v6::o6_land() {
int a = pop();
push(pop() && a);
}
-void Scumm_v6::o6_lor() {
+void ScummEngine_v6::o6_lor() {
int a = pop();
push(pop() || a);
}
-void Scumm_v6::o6_bor() {
+void ScummEngine_v6::o6_bor() {
int a = pop();
push(pop() | a);
}
-void Scumm_v6::o6_band() {
+void ScummEngine_v6::o6_band() {
int a = pop();
push(pop() & a);
}
-void Scumm_v6::o6_pop() {
+void ScummEngine_v6::o6_pop() {
pop();
}
-void Scumm_v6::o6_writeByteVar() {
+void ScummEngine_v6::o6_writeByteVar() {
writeVar(fetchScriptByte(), pop());
}
-void Scumm_v6::o6_writeWordVar() {
+void ScummEngine_v6::o6_writeWordVar() {
writeVar(fetchScriptWord(), pop());
}
-void Scumm_v6::o6_byteArrayWrite() {
+void ScummEngine_v6::o6_byteArrayWrite() {
int a = pop();
writeArray(fetchScriptByte(), 0, pop(), a);
}
-void Scumm_v6::o6_wordArrayWrite() {
+void ScummEngine_v6::o6_wordArrayWrite() {
int a = pop();
writeArray(fetchScriptWord(), 0, pop(), a);
}
-void Scumm_v6::o6_byteArrayIndexedWrite() {
+void ScummEngine_v6::o6_byteArrayIndexedWrite() {
int val = pop();
int base = pop();
writeArray(fetchScriptByte(), pop(), base, val);
}
-void Scumm_v6::o6_wordArrayIndexedWrite() {
+void ScummEngine_v6::o6_wordArrayIndexedWrite() {
int val = pop();
int base = pop();
writeArray(fetchScriptWord(), pop(), base, val);
}
-void Scumm_v6::o6_byteVarInc() {
+void ScummEngine_v6::o6_byteVarInc() {
int var = fetchScriptByte();
writeVar(var, readVar(var) + 1);
}
-void Scumm_v6::o6_wordVarInc() {
+void ScummEngine_v6::o6_wordVarInc() {
int var = fetchScriptWord();
writeVar(var, readVar(var) + 1);
}
-void Scumm_v6::o6_byteArrayInc() {
+void ScummEngine_v6::o6_byteArrayInc() {
int var = fetchScriptByte();
int base = pop();
writeArray(var, 0, base, readArray(var, 0, base) + 1);
}
-void Scumm_v6::o6_wordArrayInc() {
+void ScummEngine_v6::o6_wordArrayInc() {
int var = fetchScriptWord();
int base = pop();
writeArray(var, 0, base, readArray(var, 0, base) + 1);
}
-void Scumm_v6::o6_byteVarDec() {
+void ScummEngine_v6::o6_byteVarDec() {
int var = fetchScriptByte();
writeVar(var, readVar(var) - 1);
}
-void Scumm_v6::o6_wordVarDec() {
+void ScummEngine_v6::o6_wordVarDec() {
int var = fetchScriptWord();
writeVar(var, readVar(var) - 1);
}
-void Scumm_v6::o6_byteArrayDec() {
+void ScummEngine_v6::o6_byteArrayDec() {
int var = fetchScriptByte();
int base = pop();
writeArray(var, 0, base, readArray(var, 0, base) - 1);
}
-void Scumm_v6::o6_wordArrayDec() {
+void ScummEngine_v6::o6_wordArrayDec() {
int var = fetchScriptWord();
int base = pop();
writeArray(var, 0, base, readArray(var, 0, base) - 1);
}
-void Scumm_v6::o6_jumpTrue() {
+void ScummEngine_v6::o6_jumpTrue() {
if (pop())
o6_jump();
else
fetchScriptWord();
}
-void Scumm_v6::o6_jumpFalse() {
+void ScummEngine_v6::o6_jumpFalse() {
if (!pop())
o6_jump();
else
fetchScriptWord();
}
-void Scumm_v6::o6_jump() {
+void ScummEngine_v6::o6_jump() {
_scriptPointer += fetchScriptWordSigned();
}
-void Scumm_v6::o6_startScriptEx() {
+void ScummEngine_v6::o6_startScriptEx() {
int args[16];
int script, flags;
@@ -692,7 +692,7 @@ void Scumm_v6::o6_startScriptEx() {
runScript(script, (flags & 1) != 0, (flags & 2) != 0, args);
}
-void Scumm_v6::o6_jumpToScript() {
+void ScummEngine_v6::o6_jumpToScript() {
int args[16];
int script, flags;
@@ -703,7 +703,7 @@ void Scumm_v6::o6_jumpToScript() {
runScript(script, (flags & 1) != 0, (flags & 2) != 0, args);
}
-void Scumm_v6::o6_startScript() {
+void ScummEngine_v6::o6_startScript() {
int args[16];
int script;
getStackList(args, ARRAYSIZE(args));
@@ -711,7 +711,7 @@ void Scumm_v6::o6_startScript() {
runScript(script, 0, 0, args);
}
-void Scumm_v6::o6_startScriptQuick() {
+void ScummEngine_v6::o6_startScriptQuick() {
int args[16];
int script;
getStackList(args, ARRAYSIZE(args));
@@ -719,7 +719,7 @@ void Scumm_v6::o6_startScriptQuick() {
runScript(script, 0, 1, args);
}
-void Scumm_v6::o6_startObjectEx() {
+void ScummEngine_v6::o6_startObjectEx() {
int args[16];
int script, entryp;
int flags;
@@ -730,7 +730,7 @@ void Scumm_v6::o6_startObjectEx() {
runObjectScript(script, entryp, (flags & 1) != 0, (flags & 2) != 0, args);
}
-void Scumm_v6::o6_startObjectQuick() {
+void ScummEngine_v6::o6_startObjectQuick() {
int args[16];
int script, entryp;
getStackList(args, ARRAYSIZE(args));
@@ -739,7 +739,7 @@ void Scumm_v6::o6_startObjectQuick() {
runObjectScript(script, entryp, 0, 1, args);
}
-void Scumm_v6::o6_setObjectState() {
+void ScummEngine_v6::o6_setObjectState() {
int a = pop();
int b = pop();
if (a == 0)
@@ -749,7 +749,7 @@ void Scumm_v6::o6_setObjectState() {
setObjectState(b, a, -1, -1);
}
-void Scumm_v6::o6_setObjectXY() {
+void ScummEngine_v6::o6_setObjectXY() {
int y = pop();
int x = pop();
int obj = pop();
@@ -757,25 +757,25 @@ void Scumm_v6::o6_setObjectXY() {
setObjectState(obj, 1, x, y);
}
-void Scumm_v6::o6_stopObjectCode() {
+void ScummEngine_v6::o6_stopObjectCode() {
stopObjectCode();
}
-void Scumm_v6::o6_endCutscene() {
+void ScummEngine_v6::o6_endCutscene() {
endCutscene();
}
-void Scumm_v6::o6_cutscene() {
+void ScummEngine_v6::o6_cutscene() {
int args[16];
getStackList(args, ARRAYSIZE(args));
beginCutscene(args);
}
-void Scumm_v6::o6_stopMusic() {
+void ScummEngine_v6::o6_stopMusic() {
_sound->stopAllSounds();
}
-void Scumm_v6::o6_freezeUnfreeze() {
+void ScummEngine_v6::o6_freezeUnfreeze() {
int a = pop();
if (a)
freezeScripts(a);
@@ -783,7 +783,7 @@ void Scumm_v6::o6_freezeUnfreeze() {
unfreezeScripts();
}
-void Scumm_v6::o6_cursorCommand() {
+void ScummEngine_v6::o6_cursorCommand() {
int a, i;
int args[16];
int op = fetchScriptByte();
@@ -851,12 +851,12 @@ void Scumm_v6::o6_cursorCommand() {
VAR(VAR_USERPUT) = _userPut;
}
-void Scumm_v6::o6_breakHere() {
+void ScummEngine_v6::o6_breakHere() {
updateScriptPtr();
_currentScript = 0xFF;
}
-void Scumm_v6::o6_ifClassOfIs() {
+void ScummEngine_v6::o6_ifClassOfIs() {
int args[16];
int num, obj, cls;
bool b;
@@ -874,7 +874,7 @@ void Scumm_v6::o6_ifClassOfIs() {
push(cond);
}
-void Scumm_v6::o6_setClass() {
+void ScummEngine_v6::o6_setClass() {
int args[16];
int num, obj, cls;
@@ -892,11 +892,11 @@ void Scumm_v6::o6_setClass() {
}
}
-void Scumm_v6::o6_getState() {
+void ScummEngine_v6::o6_getState() {
push(getState(pop()));
}
-void Scumm_v6::o6_setState() {
+void ScummEngine_v6::o6_setState() {
int state = pop();
int obj = pop();
@@ -913,36 +913,36 @@ void Scumm_v6::o6_setState() {
clearDrawObjectQueue();
}
-void Scumm_v6::o6_setOwner() {
+void ScummEngine_v6::o6_setOwner() {
int owner = pop();
int obj = pop();
setOwnerOf(obj, owner);
}
-void Scumm_v6::o6_getOwner() {
+void ScummEngine_v6::o6_getOwner() {
push(getOwner(pop()));
}
-void Scumm_v6::o6_startSound() {
+void ScummEngine_v6::o6_startSound() {
if ((_features & GF_HUMONGOUS) && (_gameId != GID_PUTTDEMO))
pop(); // offset which seems to always be zero
_sound->addSoundToQueue(pop());
}
-void Scumm_v6::o6_stopSound() {
+void ScummEngine_v6::o6_stopSound() {
_sound->stopSound(pop());
}
-void Scumm_v6::o6_startMusic() {
+void ScummEngine_v6::o6_startMusic() {
_sound->addSoundToQueue(pop());
}
-void Scumm_v6::o6_stopObjectScript() {
+void ScummEngine_v6::o6_stopObjectScript() {
stopObjectScript(pop());
}
-void Scumm_v6::o6_panCameraTo() {
+void ScummEngine_v6::o6_panCameraTo() {
if (_version >= 7) {
int y = pop();
int x = pop();
@@ -952,14 +952,14 @@ void Scumm_v6::o6_panCameraTo() {
}
}
-void Scumm_v6::o6_actorFollowCamera() {
+void ScummEngine_v6::o6_actorFollowCamera() {
if (_version >= 7)
setCameraFollows(derefActor(pop(), "actorFollowCamera"));
else
actorFollowCamera(pop());
}
-void Scumm_v6::o6_setCameraAt() {
+void ScummEngine_v6::o6_setCameraAt() {
if (_version >= 7) {
int x, y;
@@ -975,13 +975,13 @@ void Scumm_v6::o6_setCameraAt() {
}
}
-void Scumm_v6::o6_loadRoom() {
+void ScummEngine_v6::o6_loadRoom() {
int room = pop();
startScene(room, 0, 0);
_fullRedraw = 1;
}
-void Scumm_v6::o6_stopScript() {
+void ScummEngine_v6::o6_stopScript() {
int script = pop();
if (script == 0)
stopObjectCode();
@@ -989,7 +989,7 @@ void Scumm_v6::o6_stopScript() {
stopScript(script);
}
-void Scumm_v6::o6_walkActorToObj() {
+void ScummEngine_v6::o6_walkActorToObj() {
int act, obj, dist;
Actor *a, *a2;
int x, y;
@@ -1033,7 +1033,7 @@ void Scumm_v6::o6_walkActorToObj() {
}
}
-void Scumm_v6::o6_walkActorTo() {
+void ScummEngine_v6::o6_walkActorTo() {
int x, y;
y = pop();
x = pop();
@@ -1041,7 +1041,7 @@ void Scumm_v6::o6_walkActorTo() {
a->startWalkActor(x, y, -1);
}
-void Scumm_v6::o6_putActorInRoom() {
+void ScummEngine_v6::o6_putActorInRoom() {
int room, x, y, act;
Actor *a;
@@ -1064,7 +1064,7 @@ void Scumm_v6::o6_putActorInRoom() {
}
-void Scumm_v6::o6_putActorAtObject() {
+void ScummEngine_v6::o6_putActorAtObject() {
int room, obj, x, y;
Actor *a;
@@ -1082,13 +1082,13 @@ void Scumm_v6::o6_putActorAtObject() {
a->putActor(x, y, room);
}
-void Scumm_v6::o6_faceActor() {
+void ScummEngine_v6::o6_faceActor() {
int obj = pop();
Actor *a = derefActor(pop(), "o6_faceActor");
a->faceToObject(obj);
}
-void Scumm_v6::o6_animateActor() {
+void ScummEngine_v6::o6_animateActor() {
int anim = pop();
int act = pop();
if (_gameId == GID_TENTACLE && _roomResource == 57 &&
@@ -1104,7 +1104,7 @@ void Scumm_v6::o6_animateActor() {
a->animateActor(anim);
}
-void Scumm_v6::o6_doSentence() {
+void ScummEngine_v6::o6_doSentence() {
int verb, objectA, objectB, dummy = 0;
objectB = pop();
@@ -1116,7 +1116,7 @@ void Scumm_v6::o6_doSentence() {
doSentence(verb, objectA, objectB);
}
-void Scumm_v6::o6_pickupObject() {
+void ScummEngine_v6::o6_pickupObject() {
int obj, room;
int i;
@@ -1141,7 +1141,7 @@ void Scumm_v6::o6_pickupObject() {
runInventoryScript(obj); /* Difference */
}
-void Scumm_v6::o6_loadRoomWithEgo() {
+void ScummEngine_v6::o6_loadRoomWithEgo() {
Actor *a;
int obj, room, x, y;
@@ -1172,7 +1172,7 @@ void Scumm_v6::o6_loadRoomWithEgo() {
}
}
-void Scumm_v6::o6_getRandomNumber() {
+void ScummEngine_v6::o6_getRandomNumber() {
int rnd;
rnd = _rnd.getRandomNumber(pop());
if (VAR_V6_RANDOM_NR != 0xFF)
@@ -1180,7 +1180,7 @@ void Scumm_v6::o6_getRandomNumber() {
push(rnd);
}
-void Scumm_v6::o6_getRandomNumberRange() {
+void ScummEngine_v6::o6_getRandomNumberRange() {
int max = pop();
int min = pop();
int rnd = _rnd.getRandomNumberRng(min, max);
@@ -1189,20 +1189,20 @@ void Scumm_v6::o6_getRandomNumberRange() {
push(rnd);
}
-void Scumm_v6::o6_isScriptRunning() {
+void ScummEngine_v6::o6_isScriptRunning() {
push(isScriptRunning(pop()));
}
-void Scumm_v6::o6_isRoomScriptRunning() {
+void ScummEngine_v6::o6_isRoomScriptRunning() {
push(isRoomScriptRunning(pop()));
}
-void Scumm_v6::o6_getActorMoving() {
+void ScummEngine_v6::o6_getActorMoving() {
Actor *a = derefActor(pop(), "o6_getActorMoving");
push(a->moving);
}
-void Scumm_v6::o6_getActorRoom() {
+void ScummEngine_v6::o6_getActorRoom() {
int act = pop();
if (act == 0) {
@@ -1228,80 +1228,80 @@ void Scumm_v6::o6_getActorRoom() {
push(a->room);
}
-void Scumm_v6::o6_getActorWalkBox() {
+void ScummEngine_v6::o6_getActorWalkBox() {
Actor *a = derefActor(pop(), "o6_getActorWalkBox");
push(a->ignoreBoxes ? 0 : a->walkbox);
}
-void Scumm_v6::o6_getActorCostume() {
+void ScummEngine_v6::o6_getActorCostume() {
Actor *a = derefActor(pop(), "o6_getActorCostume");
push(a->costume);
}
-void Scumm_v6::o6_getActorElevation() {
+void ScummEngine_v6::o6_getActorElevation() {
Actor *a = derefActor(pop(), "o6_getActorElevation");
push(a->elevation);
}
-void Scumm_v6::o6_getActorWidth() {
+void ScummEngine_v6::o6_getActorWidth() {
Actor *a = derefActor(pop(), "o6_getActorWidth");
push(a->width);
}
-void Scumm_v6::o6_getActorScaleX() {
+void ScummEngine_v6::o6_getActorScaleX() {
Actor *a = derefActor(pop(), "o6_getActorScale");
push(a->scalex);
}
-void Scumm_v6::o6_getActorAnimCounter1() {
+void ScummEngine_v6::o6_getActorAnimCounter1() {
Actor *a = derefActor(pop(), "o6_getActorAnimCounter");
push(a->cost.animCounter);
}
-void Scumm_v6::o6_getAnimateVariable() {
+void ScummEngine_v6::o6_getAnimateVariable() {
int var = pop();
Actor *a = derefActor(pop(), "o6_getAnimateVariable");
push(a->getAnimVar(var));
}
-void Scumm_v6::o6_isActorInBox() {
+void ScummEngine_v6::o6_isActorInBox() {
int box = pop();
Actor *a = derefActor(pop(), "o6_isActorInBox");
push(checkXYInBoxBounds(box, a->_pos.x, a->_pos.y));
}
-void Scumm_v6::o6_getActorLayer() {
+void ScummEngine_v6::o6_getActorLayer() {
Actor *a = derefActor(pop(), "getActorLayer");
push(a->layer);
}
-void Scumm_v6::o6_getObjectX() {
+void ScummEngine_v6::o6_getObjectX() {
push(getObjX(pop()));
}
-void Scumm_v6::o6_getObjectY() {
+void ScummEngine_v6::o6_getObjectY() {
push(getObjY(pop()));
}
-void Scumm_v6::o6_getObjectOldDir() {
+void ScummEngine_v6::o6_getObjectOldDir() {
push(getObjOldDir(pop()));
}
-void Scumm_v6::o6_getObjectNewDir() {
+void ScummEngine_v6::o6_getObjectNewDir() {
push(getObjNewDir(pop()));
}
-void Scumm_v6::o6_findInventory() {
+void ScummEngine_v6::o6_findInventory() {
int idx = pop();
int owner = pop();
push(findInventory(owner, idx));
}
-void Scumm_v6::o6_getInventoryCount() {
+void ScummEngine_v6::o6_getInventoryCount() {
push(getInventoryCount(pop()));
}
-void Scumm_v6::o6_getVerbFromXY() {
+void ScummEngine_v6::o6_getVerbFromXY() {
int y = pop();
int x = pop();
int over = checkMouseOver(x, y);
@@ -1310,15 +1310,15 @@ void Scumm_v6::o6_getVerbFromXY() {
push(over);
}
-void Scumm_v6::o6_beginOverride() {
+void ScummEngine_v6::o6_beginOverride() {
beginOverride();
}
-void Scumm_v6::o6_endOverride() {
+void ScummEngine_v6::o6_endOverride() {
endOverride();
}
-void Scumm_v6::o6_setObjectName() {
+void ScummEngine_v6::o6_setObjectName() {
int obj = pop();
int i;
@@ -1348,7 +1348,7 @@ void Scumm_v6::o6_setObjectName() {
error("New name of %d overflows name table (max = %d)", obj, 50);
}
-void Scumm_v6::o6_isSoundRunning() {
+void ScummEngine_v6::o6_isSoundRunning() {
int snd = pop();
if (snd)
@@ -1357,7 +1357,7 @@ void Scumm_v6::o6_isSoundRunning() {
push(snd);
}
-void Scumm_v6::o6_setBoxFlags() {
+void ScummEngine_v6::o6_setBoxFlags() {
int table[65];
int num, value;
@@ -1369,11 +1369,11 @@ void Scumm_v6::o6_setBoxFlags() {
}
}
-void Scumm_v6::o6_createBoxMatrix() {
+void ScummEngine_v6::o6_createBoxMatrix() {
createBoxMatrix();
}
-void Scumm_v6::o6_resourceRoutines() {
+void ScummEngine_v6::o6_resourceRoutines() {
int resid, op;
op = fetchScriptByte();
@@ -1486,7 +1486,7 @@ void Scumm_v6::o6_resourceRoutines() {
}
-void Scumm_v6::o6_roomOps() {
+void ScummEngine_v6::o6_roomOps() {
int a, b, c, d, e;
byte op;
@@ -1615,7 +1615,7 @@ void Scumm_v6::o6_roomOps() {
}
}
-void Scumm_v6::o6_actorOps() {
+void ScummEngine_v6::o6_actorOps() {
Actor *a;
int i, j, k;
int args[8];
@@ -1803,7 +1803,7 @@ void Scumm_v6::o6_actorOps() {
}
}
-void Scumm_v6::o6_verbOps() {
+void ScummEngine_v6::o6_verbOps() {
int slot, a, b;
VerbSlot *vs;
byte op;
@@ -1926,20 +1926,20 @@ void Scumm_v6::o6_verbOps() {
}
}
-void Scumm_v6::o6_getActorFromXY() {
+void ScummEngine_v6::o6_getActorFromXY() {
int y = pop();
int x = pop();
push(getActorFromPos(x, y));
}
-void Scumm_v6::o6_findObject() {
+void ScummEngine_v6::o6_findObject() {
int y = pop();
int x = pop();
int r = findObject(x, y);
push(r);
}
-void Scumm_v6::o6_pseudoRoom() {
+void ScummEngine_v6::o6_pseudoRoom() {
int list[100];
int num, a, value;
@@ -1953,13 +1953,13 @@ void Scumm_v6::o6_pseudoRoom() {
}
}
-void Scumm_v6::o6_getVerbEntrypoint() {
+void ScummEngine_v6::o6_getVerbEntrypoint() {
int e = pop();
int v = pop();
push(getVerbEntrypoint(v, e));
}
-void Scumm_v6::o6_arrayOps() {
+void ScummEngine_v6::o6_arrayOps() {
byte subOp = fetchScriptByte();
int array = fetchScriptWord();
int b, c, d, len;
@@ -2001,7 +2001,7 @@ void Scumm_v6::o6_arrayOps() {
}
}
-void Scumm_v6::o6_saveRestoreVerbs() {
+void ScummEngine_v6::o6_saveRestoreVerbs() {
int a, b, c;
int slot, slot2;
@@ -2054,7 +2054,7 @@ void Scumm_v6::o6_saveRestoreVerbs() {
}
}
-void Scumm_v6::o6_drawBox() {
+void ScummEngine_v6::o6_drawBox() {
int x, y, x2, y2, color;
color = pop();
y2 = pop();
@@ -2064,7 +2064,7 @@ void Scumm_v6::o6_drawBox() {
drawBox(x, y, x2, y2, color);
}
-void Scumm_v6::o6_wait() {
+void ScummEngine_v6::o6_wait() {
int actnum;
int offs = -2;
Actor *a;
@@ -2136,14 +2136,14 @@ void Scumm_v6::o6_wait() {
o6_breakHere();
}
-void Scumm_v6::o6_soundKludge() {
+void ScummEngine_v6::o6_soundKludge() {
int list[16];
int num = getStackList(list, ARRAYSIZE(list));
_sound->soundKludge(list, num);
}
-void Scumm_v6::o6_isAnyOf() {
+void ScummEngine_v6::o6_isAnyOf() {
int list[100];
int num;
int16 val;
@@ -2161,7 +2161,7 @@ void Scumm_v6::o6_isAnyOf() {
return;
}
-void Scumm_v6::o6_quitPauseRestart() {
+void ScummEngine_v6::o6_quitPauseRestart() {
byte subOp = fetchScriptByte();
switch (subOp) {
case 158: // Restart
@@ -2178,7 +2178,7 @@ void Scumm_v6::o6_quitPauseRestart() {
}
}
-void Scumm_v6::o6_delay() {
+void ScummEngine_v6::o6_delay() {
// FIXME - what exactly are we measuring here? In order for the other two
// delay functions to be right, it should be 1/60th of a second. But for
// CMI it would seem this should delay for 1/10th of a second...
@@ -2188,7 +2188,7 @@ void Scumm_v6::o6_delay() {
o6_breakHere();
}
-void Scumm_v6::o6_delaySeconds() {
+void ScummEngine_v6::o6_delaySeconds() {
uint32 delay = (uint32)pop();
if (_gameId != GID_CMI)
// FIXME - are we really measuring minutes here?
@@ -2203,7 +2203,7 @@ void Scumm_v6::o6_delaySeconds() {
o6_breakHere();
}
-void Scumm_v6::o6_delayMinutes() {
+void ScummEngine_v6::o6_delayMinutes() {
// FIXME - are we really measuring minutes here?
uint32 delay = (uint16)pop() * 3600;
vm.slot[_currentScript].delay = delay;
@@ -2211,39 +2211,39 @@ void Scumm_v6::o6_delayMinutes() {
o6_breakHere();
}
-void Scumm_v6::o6_stopSentence() {
+void ScummEngine_v6::o6_stopSentence() {
_sentenceNum = 0;
stopScript(VAR(VAR_SENTENCE_SCRIPT));
clearClickedStatus();
}
-void Scumm_v6::o6_printLine() {
+void ScummEngine_v6::o6_printLine() {
_actorToPrintStrFor = 0xFF;
decodeParseString(0, 0);
}
-void Scumm_v6::o6_printCursor() {
+void ScummEngine_v6::o6_printCursor() {
decodeParseString(1, 0);
}
-void Scumm_v6::o6_printDebug() {
+void ScummEngine_v6::o6_printDebug() {
decodeParseString(2, 0);
}
-void Scumm_v6::o6_printSystem() {
+void ScummEngine_v6::o6_printSystem() {
decodeParseString(3, 0);
}
-void Scumm_v6::o6_printActor() {
+void ScummEngine_v6::o6_printActor() {
decodeParseString(0, 1);
}
-void Scumm_v6::o6_printEgo() {
+void ScummEngine_v6::o6_printEgo() {
push(VAR(VAR_EGO));
decodeParseString(0, 1);
}
-void Scumm_v6::o6_talkActor() {
+void ScummEngine_v6::o6_talkActor() {
_actorToPrintStrFor = pop();
_messagePtr = translateTextAndPlaySpeech(_scriptPointer);
@@ -2253,12 +2253,12 @@ void Scumm_v6::o6_talkActor() {
actorTalk();
}
-void Scumm_v6::o6_talkEgo() {
+void ScummEngine_v6::o6_talkEgo() {
push(VAR(VAR_EGO));
o6_talkActor();
}
-void Scumm_v6::o6_dim() {
+void ScummEngine_v6::o6_dim() {
int data;
switch (fetchScriptByte()) {
@@ -2287,13 +2287,13 @@ void Scumm_v6::o6_dim() {
defineArray(fetchScriptWord(), data, 0, pop());
}
-void Scumm_v6::o6_dummy() {
+void ScummEngine_v6::o6_dummy() {
/* nothing */
if (_features & GF_HUMONGOUS)
stopObjectCode();
}
-void Scumm_v6::o6_dim2() {
+void ScummEngine_v6::o6_dim2() {
int a, b, data;
switch (fetchScriptByte()) {
case 199:
@@ -2320,19 +2320,19 @@ void Scumm_v6::o6_dim2() {
defineArray(fetchScriptWord(), data, a, b);
}
-void Scumm_v6::o6_abs() {
+void ScummEngine_v6::o6_abs() {
int a = pop(); // palmos: prevent multi pop if we use an abs function defined as : #define abs(a) ((a) < 0 ? -(a) : (a))
push(abs(a));
}
-void Scumm_v6::o6_distObjectObject() {
+void ScummEngine_v6::o6_distObjectObject() {
int a, b;
b = pop();
a = pop();
push(getDistanceBetween(true, a, 0, true, b, 0));
}
-void Scumm_v6::o6_distObjectPt() {
+void ScummEngine_v6::o6_distObjectPt() {
int a, b, c;
c = pop();
b = pop();
@@ -2340,7 +2340,7 @@ void Scumm_v6::o6_distObjectPt() {
push(getDistanceBetween(true, a, 0, false, b, c));
}
-void Scumm_v6::o6_distPtPt() {
+void ScummEngine_v6::o6_distPtPt() {
int a, b, c, d;
d = pop();
c = pop();
@@ -2349,7 +2349,7 @@ void Scumm_v6::o6_distPtPt() {
push(getDistanceBetween(false, a, b, false, c, d));
}
-void Scumm_v6::o6_drawBlastObject() {
+void ScummEngine_v6::o6_drawBlastObject() {
int args[16];
int a, b, c, d, e;
@@ -2363,7 +2363,7 @@ void Scumm_v6::o6_drawBlastObject() {
}
// Set BOMP processing window
-void Scumm_v6::o6_setBlastObjectWindow() {
+void ScummEngine_v6::o6_setBlastObjectWindow() {
// TODO - implement this
int a, b, c, d;
@@ -2375,7 +2375,7 @@ void Scumm_v6::o6_setBlastObjectWindow() {
warning("o6_setBlastObjectWindow(%d, %d, %d, %d)", a, b, c, d);
}
-void Scumm_v6::o6_kernelSetFunctions() {
+void ScummEngine_v6::o6_kernelSetFunctions() {
int args[30];
int num;
Actor *a;
@@ -2656,7 +2656,7 @@ void Scumm_v6::o6_kernelSetFunctions() {
}
}
-void Scumm_v6::o6_kernelGetFunctions() {
+void ScummEngine_v6::o6_kernelGetFunctions() {
int args[30];
int i;
Actor *a;
@@ -2755,7 +2755,7 @@ void Scumm_v6::o6_kernelGetFunctions() {
}
}
-void Scumm_v6::o6_delayFrames() {
+void ScummEngine_v6::o6_delayFrames() {
ScriptSlot *ss = &vm.slot[_currentScript];
if (ss->delayFrameCount == 0) {
ss->delayFrameCount = pop();
@@ -2768,7 +2768,7 @@ void Scumm_v6::o6_delayFrames() {
}
}
-void Scumm_v6::o6_pickOneOf() {
+void ScummEngine_v6::o6_pickOneOf() {
int args[100];
int i, num;
@@ -2779,7 +2779,7 @@ void Scumm_v6::o6_pickOneOf() {
push(args[i]);
}
-void Scumm_v6::o6_pickOneOfDefault() {
+void ScummEngine_v6::o6_pickOneOfDefault() {
int args[100];
int i, num, def;
@@ -2793,7 +2793,7 @@ void Scumm_v6::o6_pickOneOfDefault() {
push(i);
}
-void Scumm_v6::o6_stampObject() {
+void ScummEngine_v6::o6_stampObject() {
int object, x, y, state;
// V6 version
@@ -2846,11 +2846,11 @@ void Scumm_v6::o6_stampObject() {
}
}
-void Scumm_v6::o6_stopTalking() {
+void ScummEngine_v6::o6_stopTalking() {
stopTalk();
}
-void Scumm_v6::o6_openFile() {
+void ScummEngine_v6::o6_openFile() {
int mode, len, slot, l, r;
byte filename[100];
@@ -2888,13 +2888,13 @@ void Scumm_v6::o6_openFile() {
push(slot);
}
-void Scumm_v6::o6_closeFile() {
+void ScummEngine_v6::o6_closeFile() {
int slot = pop();
_hFileTable[slot].close();
warning("o6_closeFile(%d)", slot);
}
-void Scumm_v6::o6_deleteFile() {
+void ScummEngine_v6::o6_deleteFile() {
int len, r;
byte filename[100];
@@ -2913,7 +2913,7 @@ void Scumm_v6::o6_deleteFile() {
warning("stub o6_deleteFile(\"%s\")", filename + r);
}
-int Scumm_v6::readFileToArray(int slot, int32 size) {
+int ScummEngine_v6::readFileToArray(int slot, int32 size) {
if (size == 0)
size = _hFileTable[slot].size() - _hFileTable[slot].pos();
writeVar(0, 0);
@@ -2923,7 +2923,7 @@ int Scumm_v6::readFileToArray(int slot, int32 size) {
return readVar(0);
}
-void Scumm_v6::o6_readFile() {
+void ScummEngine_v6::o6_readFile() {
int32 size = pop();
int slot = pop();
@@ -2937,14 +2937,14 @@ void Scumm_v6::o6_readFile() {
warning("o6_readFile(%d, %d)", slot, size);
}
-void Scumm_v6::writeFileFromArray(int slot, int resID) {
+void ScummEngine_v6::writeFileFromArray(int slot, int resID) {
byte *ptr = getResourceAddress(rtString, resID);
// FIXME: hack for proper size: / 2 - 5
int32 size = getResourceSize(rtString, resID) / 2 - 5;
_hFileTable[slot].write(ptr, size);
}
-void Scumm_v6::o6_writeFile() {
+void ScummEngine_v6::o6_writeFile() {
int32 size = pop();
int16 resID = pop();
int slot = pop();
@@ -2959,7 +2959,7 @@ void Scumm_v6::o6_writeFile() {
warning("o6_writeFile(%d, %d)", slot, resID);
}
-void Scumm_v6::o6_findAllObjects() {
+void ScummEngine_v6::o6_findAllObjects() {
// FIXME is this even remotely correct?
// see http://users.bigpond.net.au/tgray2/findallobjects.txt
// for asm
@@ -2981,7 +2981,7 @@ void Scumm_v6::o6_findAllObjects() {
push(readVar(0));
}
-void Scumm_v6::shuffleArray(int num, int minIdx, int maxIdx) {
+void ScummEngine_v6::shuffleArray(int num, int minIdx, int maxIdx) {
int range = maxIdx - minIdx;
int count = range * 2;
@@ -2999,11 +2999,11 @@ void Scumm_v6::shuffleArray(int num, int minIdx, int maxIdx) {
}
}
-void Scumm_v6::o6_shuffle() {
+void ScummEngine_v6::o6_shuffle() {
shuffleArray(fetchScriptWord(), pop(), pop());
}
-void Scumm_v6::o6_pickVarRandom() {
+void ScummEngine_v6::o6_pickVarRandom() {
int num;
int args[100];
int var_C, var_A;
@@ -3051,7 +3051,7 @@ void Scumm_v6::o6_pickVarRandom() {
push(readArray(value, 0, num));
}
-void Scumm_v6::o6_getDateTime() {
+void ScummEngine_v6::o6_getDateTime() {
struct tm *t;
time_t now = time(NULL);
@@ -3067,7 +3067,7 @@ void Scumm_v6::o6_getDateTime() {
VAR(VAR_TIMEDATE_SECOND) = t->tm_sec;
}
-void Scumm_v6::o6_unknownE1() {
+void ScummEngine_v6::o6_unknownE1() {
// this opcode check ground area in minigame "Asteroid Lander" in the dig
int y = pop();
int x = pop();
@@ -3099,7 +3099,7 @@ void Scumm_v6::o6_unknownE1() {
push(area);
}
-void Scumm_v6::o6_unknownE0() {
+void ScummEngine_v6::o6_unknownE0() {
int a = fetchScriptByte();
a -= 222;
if (a != 0) {
@@ -3112,11 +3112,11 @@ void Scumm_v6::o6_unknownE0() {
}
}
-void Scumm_v6::o6_unknownE4() {
+void ScummEngine_v6::o6_unknownE4() {
warning("o6_unknownE4(%d) stub", pop());
}
-void Scumm_v6::o6_unknownFA() {
+void ScummEngine_v6::o6_unknownFA() {
int len, a = fetchScriptByte();
len = resStrLen(_scriptPointer);
@@ -3124,7 +3124,7 @@ void Scumm_v6::o6_unknownFA() {
_scriptPointer += len + 1;
}
-void Scumm_v6::o6_unknownEA() {
+void ScummEngine_v6::o6_unknownEA() {
int edi, esi, eax;
edi = pop();
esi = pop();
@@ -3148,11 +3148,11 @@ void Scumm_v6::o6_unknownEA() {
}
}
-void Scumm_v6::unknownEA_func(int a, int b, int c, int d, int e) {
+void ScummEngine_v6::unknownEA_func(int a, int b, int c, int d, int e) {
warning("unknownEA_func(%d, %d, %d, %d, %d) stub", a, b, c, d, e);
}
-void Scumm_v6::o6_readINI() {
+void ScummEngine_v6::o6_readINI() {
int len;
len = resStrLen(_scriptPointer);
@@ -3163,11 +3163,11 @@ void Scumm_v6::o6_readINI() {
}
-void Scumm_v6::o6_localizeArray() {
+void ScummEngine_v6::o6_localizeArray() {
warning("stub localizeArray(%d)", pop());
}
-void Scumm_v6::decodeParseString(int m, int n) {
+void ScummEngine_v6::decodeParseString(int m, int n) {
byte b;
b = fetchScriptByte();