aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2004-09-18 04:12:14 +0000
committerTravis Howell2004-09-18 04:12:14 +0000
commitc35757d6bbb553fe9e6560922ed804313f483dc0 (patch)
tree79f95052f8a515d3e363bbd29e7364d2c2fdb4fe /scumm
parente6044abd27731830bf66a3380216dba6688dbaf1 (diff)
downloadscummvm-rg350-c35757d6bbb553fe9e6560922ed804313f483dc0.tar.gz
scummvm-rg350-c35757d6bbb553fe9e6560922ed804313f483dc0.tar.bz2
scummvm-rg350-c35757d6bbb553fe9e6560922ed804313f483dc0.zip
spyozon intro. runs
svn-id: r15155
Diffstat (limited to 'scumm')
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v72he.cpp1
-rw-r--r--scumm/script_v90he.cpp47
3 files changed, 48 insertions, 1 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index bae5db51c3..292ff03fa2 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -840,6 +840,7 @@ protected:
void o90_unknown36();
void o90_unknown37();
void o90_unknown3A();
+ void o90_unknown94();
void o90_unknown9E();
};
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp
index 36045be460..9798c90642 100644
--- a/scumm/script_v72he.cpp
+++ b/scumm/script_v72he.cpp
@@ -1024,6 +1024,7 @@ void ScummEngine_v72he::o72_actorOps() {
break;
case 98: // SO_SHADOW
a->shadow_mode = pop();
+ debug(0, "Set actor XMAP idx to %d\n", a->shadow_mode);
break;
case 99: // SO_TEXT_OFFSET
a->talkPosY = pop();
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index d408b86ecc..5f4fbea73e 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -230,7 +230,7 @@ void ScummEngine_v90he::setupOpcodes() {
OPCODE(o6_findInventory),
OPCODE(o6_getInventoryCount),
/* 94 */
- OPCODE(o6_getVerbFromXY),
+ OPCODE(o90_unknown94),
OPCODE(o6_beginOverride),
OPCODE(o6_endOverride),
OPCODE(o6_setObjectName),
@@ -658,6 +658,10 @@ void ScummEngine_v90he::o90_unknown26() {
case 91:
getStackList(args, ARRAYSIZE(args));
break;
+ case 105: // HE99+
+ pop();
+ pop();
+ break;
case 124:
break;
case 164:
@@ -909,6 +913,44 @@ void ScummEngine_v90he::o90_unknown3A() {
debug(1,"o90_unknown3A stub (%d)", subOp);
}
+void ScummEngine_v90he::o90_unknown94() {
+ int subOp = fetchScriptByte();
+ subOp -= 45;
+
+ switch (subOp) {
+ case 0:
+ pop();
+ pop();
+ pop();
+ pop();
+ pop();
+ pop();
+ break;
+ case 7:
+ pop();
+ pop();
+ pop();
+ break;
+ case 21:
+ pop();
+ pop();
+ break;
+ case 87:
+ pop();
+ pop();
+ break;
+ case 172:
+ pop();
+ pop();
+ pop();
+ break;
+ default:
+ error("o90_unknown94: Unknown case %d", subOp);
+ }
+ push(0);
+ debug(1,"o90_unknown94 stub (%d)", subOp);
+}
+
void ScummEngine_v90he::o90_unknown9E() {
int subOp = fetchScriptByte();
subOp -= 57;
@@ -933,6 +975,9 @@ void ScummEngine_v90he::o90_unknown9E() {
pop();
pop();
break;
+ case 19:
+ pop();
+ break;
case 29:
pop();
break;