aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2004-09-04 23:58:15 +0000
committerTravis Howell2004-09-04 23:58:15 +0000
commit2894f13d2b315004b94bdd88b1a7a5591fdfc5ac (patch)
tree0127eabe6e27cfe06a9acb69648c82f3fb6dbf86 /scumm
parentac140c296350f3f8e70674d8da5054ba7e3043cf (diff)
downloadscummvm-rg350-2894f13d2b315004b94bdd88b1a7a5591fdfc5ac.tar.gz
scummvm-rg350-2894f13d2b315004b94bdd88b1a7a5591fdfc5ac.tar.bz2
scummvm-rg350-2894f13d2b315004b94bdd88b1a7a5591fdfc5ac.zip
Add opcode
svn-id: r14900
Diffstat (limited to 'scumm')
-rw-r--r--scumm/intern.h3
-rw-r--r--scumm/script_v72he.cpp12
2 files changed, 13 insertions, 2 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index 29fc85f402..72e098376b 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -712,12 +712,13 @@ protected:
void o72_compareStackList();
void o72_unknown1C();
void o72_unknown50();
- void o72_unknown5A();
+ void o72_findObject();
void o72_wordArrayInc();
void o72_objectX();
void o72_objectY();
void o72_getTimer();
void o72_setTimer();
+ void o72_unknown5A();
void o72_wordArrayDec();
void o72_startScript();
void o72_startObject();
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp
index bd04832fa6..507855c5b6 100644
--- a/scumm/script_v72he.cpp
+++ b/scumm/script_v72he.cpp
@@ -148,7 +148,7 @@ void ScummEngine_v72he::setupOpcodes() {
/* 50 */
OPCODE(o72_unknown50),
OPCODE(o6_invalid),
- OPCODE(o6_invalid),
+ OPCODE(o72_findObject),
OPCODE(o72_wordArrayInc),
/* 54 */
OPCODE(o72_objectX),
@@ -641,6 +641,16 @@ void ScummEngine_v72he::o72_unknown50() {
VAR(VAR_OVERRIDE) = 0;
}
+void ScummEngine_v72he::o72_findObject() {
+ int args[16];
+
+ getStackList(args, ARRAYSIZE(args));
+ int y = pop();
+ int x = pop();
+ int r = findObject(x, y);
+ push(r);
+}
+
void ScummEngine_v72he::o72_wordArrayInc() {
int var = fetchScriptWord();
int base = pop();