diff options
-rw-r--r-- | scumm/intern.h | 1 | ||||
-rw-r--r-- | scumm/script_c64.cpp | 9 |
2 files changed, 8 insertions, 2 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index af19d825d2..aba640f23a 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -410,6 +410,7 @@ protected: void o_unknown53(); void o_cursorCommand(); void o_lights(); + void o_getObjectOwner(); void o_subtract(); }; diff --git a/scumm/script_c64.cpp b/scumm/script_c64.cpp index 9a0570b97d..8cf9682b6b 100644 --- a/scumm/script_c64.cpp +++ b/scumm/script_c64.cpp @@ -179,7 +179,7 @@ void ScummEngine_c64::setupOpcodes() { OPCODE(o_lights), OPCODE(o5_getActorCostume), OPCODE(o5_loadRoom), - OPCODE(o2_roomOps), + OPCODE(o_getObjectOwner), /* 74 */ OPCODE(o5_getDist), OPCODE(o2_findObject), @@ -339,7 +339,7 @@ void ScummEngine_c64::setupOpcodes() { OPCODE(o2_lights), OPCODE(o5_getActorCostume), OPCODE(o5_loadRoom), - OPCODE(o2_roomOps), + OPCODE(o_getObjectOwner), /* F4 */ OPCODE(o5_getDist), OPCODE(o2_findObject), @@ -470,6 +470,11 @@ void ScummEngine_c64::o_lights() { _fullRedraw = 1; } +void ScummEngine_c64::o_getObjectOwner() { + getResultPos(); + setResult(getOwner(getVarOrDirectByte(PARAM_1))); +} + void ScummEngine_c64::o_subtract() { int a; getResultPos(); |