aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agos/agos.h1
-rw-r--r--engines/agos/script_e2.cpp10
-rw-r--r--engines/agos/script_ww.cpp4
3 files changed, 12 insertions, 3 deletions
diff --git a/engines/agos/agos.h b/engines/agos/agos.h
index f7631b5ebb..87b2102214 100644
--- a/engines/agos/agos.h
+++ b/engines/agos/agos.h
@@ -1129,6 +1129,7 @@ public:
// Opcodes, Elvira 2 only
void oe2_moveDirn();
+ void oe2_pObj();
void oe2_loadUserGame();
void oe2_setDoorOpen();
void oe2_setDoorClosed();
diff --git a/engines/agos/script_e2.cpp b/engines/agos/script_e2.cpp
index 976afb8de8..67805423d2 100644
--- a/engines/agos/script_e2.cpp
+++ b/engines/agos/script_e2.cpp
@@ -42,7 +42,7 @@ void AGOSEngine::setupElvira2Opcodes(OpcodeProc *op) {
op[37] = &AGOSEngine::oe1_whatO;
op[39] = &AGOSEngine::oe1_weigh;
op[54] = &AGOSEngine::oe2_moveDirn;
- op[73] = &AGOSEngine::oe1_pObj;
+ op[73] = &AGOSEngine::oe2_pObj;
op[74] = &AGOSEngine::oe1_pName;
op[75] = &AGOSEngine::oe1_pcName;
op[83] = &AGOSEngine::o1_rescan;
@@ -82,6 +82,14 @@ void AGOSEngine::oe2_moveDirn() {
moveDirn_e2(me(), d);
}
+void AGOSEngine::oe2_pObj() {
+ // 73: print object
+ SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
+
+ if (subObject != NULL && subObject->objectFlags & kOFText)
+ showMessageFormat((const char *)getStringPtrByID(subObject->objectFlagValue[0]));
+}
+
void AGOSEngine::oe2_loadUserGame() {
// 89: load user game
getStringPtrByID(getNextStringID());
diff --git a/engines/agos/script_ww.cpp b/engines/agos/script_ww.cpp
index 6532a11b01..662afb3297 100644
--- a/engines/agos/script_ww.cpp
+++ b/engines/agos/script_ww.cpp
@@ -49,7 +49,7 @@ void AGOSEngine::setupWaxworksOpcodes(OpcodeProc *op) {
op[66] = &AGOSEngine::o_setShortText;
op[67] = &AGOSEngine::o_setLongText;
op[70] = &AGOSEngine::o1_printLongText;
- op[73] = &AGOSEngine::oe1_pObj;
+ op[73] = &AGOSEngine::oe2_pObj;
op[74] = &AGOSEngine::oe1_pName;
op[75] = &AGOSEngine::oe1_pcName;
op[83] = &AGOSEngine::o1_rescan;
@@ -150,7 +150,7 @@ void AGOSEngine::oww_printBox() {
}
void AGOSEngine::oww_boxPObj() {
- // 188: print object flag name to box
+ // 188: print object name to box
SubObject *subObject = (SubObject *)findChildOfType(getNextItemPtr(), 2);
if (subObject != NULL && subObject->objectFlags & kOFText)