diff options
Diffstat (limited to 'engines/agos')
-rw-r--r-- | engines/agos/agos.h | 1 | ||||
-rw-r--r-- | engines/agos/script_e2.cpp | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/engines/agos/agos.h b/engines/agos/agos.h index e487c38cc7..68c1dcd3ed 100644 --- a/engines/agos/agos.h +++ b/engines/agos/agos.h @@ -1316,6 +1316,7 @@ public: void oe2_moveDirn(); void oe2_doClass(); void oe2_pObj(); + void oe2_isCalled(); void oe2_loadGame(); void oe2_drawItem(); void oe2_doTable(); diff --git a/engines/agos/script_e2.cpp b/engines/agos/script_e2.cpp index 00f0848ed9..94ff6c2cc3 100644 --- a/engines/agos/script_e2.cpp +++ b/engines/agos/script_e2.cpp @@ -132,7 +132,7 @@ void AGOSEngine_Elvira2::setupOpcodes() { OPCODE(o_when), OPCODE(o_if1), OPCODE(o_if2), - OPCODE(oe1_isCalled), + OPCODE(oe2_isCalled), /* 80 */ OPCODE(o_is), OPCODE(o_invalid), @@ -315,6 +315,13 @@ void AGOSEngine_Elvira2::oe2_pObj() { showMessageFormat("%s\n", (const char *)getStringPtrByID(subObject->objectFlagValue[0])); // Difference } +void AGOSEngine_Elvira2::oe2_isCalled() { + // 79: childstruct fr2 is + Item *i = getNextItemPtr(); + uint stringId = getNextStringID(); + setScriptCondition(i->itemName == stringId); +} + void AGOSEngine_Elvira2::oe2_loadGame() { // 89: load game uint16 stringId = getNextStringID(); |