From fc373c954439e93bb2b1c72b22caca82566782d3 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Fri, 29 Jun 2007 02:06:46 +0000 Subject: Fix some scripts failing to start in Elvira 2, due code difference in isCalled opcode. svn-id: r27770 --- engines/agos/agos.h | 1 + engines/agos/script_e2.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'engines/agos') 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(); -- cgit v1.2.3