diff options
author | Travis Howell | 2004-09-04 23:58:15 +0000 |
---|---|---|
committer | Travis Howell | 2004-09-04 23:58:15 +0000 |
commit | 2894f13d2b315004b94bdd88b1a7a5591fdfc5ac (patch) | |
tree | 0127eabe6e27cfe06a9acb69648c82f3fb6dbf86 /scumm | |
parent | ac140c296350f3f8e70674d8da5054ba7e3043cf (diff) | |
download | scummvm-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.h | 3 | ||||
-rw-r--r-- | scumm/script_v72he.cpp | 12 |
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(); |