aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTravis Howell2007-06-29 02:06:46 +0000
committerTravis Howell2007-06-29 02:06:46 +0000
commitfc373c954439e93bb2b1c72b22caca82566782d3 (patch)
treee2ddba0636c15e068f72426bfb2c837287c49698 /engines
parent92a4555472be61ee451d44413e3955f53798b67d (diff)
downloadscummvm-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')
-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();