aboutsummaryrefslogtreecommitdiff
path: root/engines/agos
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agos')
-rw-r--r--engines/agos/agos.h1
-rw-r--r--engines/agos/script_e2.cpp9
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();