diff options
author | Travis Howell | 2007-06-29 02:06:46 +0000 |
---|---|---|
committer | Travis Howell | 2007-06-29 02:06:46 +0000 |
commit | fc373c954439e93bb2b1c72b22caca82566782d3 (patch) | |
tree | e2ddba0636c15e068f72426bfb2c837287c49698 /engines/agos | |
parent | 92a4555472be61ee451d44413e3955f53798b67d (diff) | |
download | scummvm-rg350-fc373c954439e93bb2b1c72b22caca82566782d3.tar.gz scummvm-rg350-fc373c954439e93bb2b1c72b22caca82566782d3.tar.bz2 scummvm-rg350-fc373c954439e93bb2b1c72b22caca82566782d3.zip |
Fix some scripts failing to start in Elvira 2, due code difference in isCalled opcode.
svn-id: r27770
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(); |