diff options
-rw-r--r-- | engines/agos/agos.h | 7 | ||||
-rw-r--r-- | engines/agos/debug.h | 4 | ||||
-rw-r--r-- | engines/agos/script_e2.cpp | 28 | ||||
-rw-r--r-- | engines/agos/script_ww.cpp | 8 |
4 files changed, 36 insertions, 11 deletions
diff --git a/engines/agos/agos.h b/engines/agos/agos.h index 83d00b67e7..984a3938e3 100644 --- a/engines/agos/agos.h +++ b/engines/agos/agos.h @@ -1145,10 +1145,12 @@ public: void oe2_ifDoorOpen(); void oe2_ifDoorClosed(); void oe2_ifDoorLocked(); - void oe2_opcode161(); - void oe2_screenTextMsg(); + void oe2_unk161(); + void oe2_unk162(); void oe2_setSuperRoom(); void oe2_getSuperRoom(); + void oe2_unk177(); + void oe2_unk178(); // Opcodes, Waxworks only void oww_moveDirn(); @@ -1156,6 +1158,7 @@ public: void oww_whereTo(); void oww_menu(); void oww_textMenu(); + void oww_screenTextMsg(); void oww_boxMessage(); void oww_boxMsg(); void oww_boxLongText(); diff --git a/engines/agos/debug.h b/engines/agos/debug.h index 6855e98fd3..4fe7f12f8d 100644 --- a/engines/agos/debug.h +++ b/engines/agos/debug.h @@ -588,7 +588,7 @@ static const char *const elvira2_opcodeNameTable[256] = { /* 160 */ "B|SET_INK", "|UNK_161", - "BT|PRINT_STR", + "TB|UNK_162", NULL, /* 164 */ NULL, @@ -821,7 +821,7 @@ static const char *const waxworks_opcodeNameTable[256] = { /* 160 */ "B|SET_INK", "|UNK_161", - "BT|PRINT_STR", + "TB|PRINT_STR", NULL, /* 164 */ NULL, diff --git a/engines/agos/script_e2.cpp b/engines/agos/script_e2.cpp index 4b628094ea..7f5975aabd 100644 --- a/engines/agos/script_e2.cpp +++ b/engines/agos/script_e2.cpp @@ -62,11 +62,13 @@ void AGOSEngine::setupElvira2Opcodes(OpcodeProc *op) { op[148] = &AGOSEngine::oe2_ifDoorOpen; op[149] = &AGOSEngine::oe2_ifDoorClosed; op[150] = &AGOSEngine::oe2_ifDoorLocked; - op[161] = &AGOSEngine::oe2_opcode161; - op[162] = &AGOSEngine::oe2_screenTextMsg; + op[161] = &AGOSEngine::oe2_unk161; + op[162] = &AGOSEngine::oe2_unk162; op[165] = &AGOSEngine::oe2_setSuperRoom; op[166] = &AGOSEngine::oe2_getSuperRoom; op[175] = &AGOSEngine::o_getDollar2; + op[177] = &AGOSEngine::oe2_unk177; + op[178] = &AGOSEngine::oe2_unk178; op[179] = &AGOSEngine::o_isAdjNoun; op[180] = &AGOSEngine::o_b2Set; op[181] = &AGOSEngine::o_b2Clear; @@ -147,14 +149,16 @@ void AGOSEngine::oe2_ifDoorLocked() { setScriptCondition(getDoorState(i, d) == 3); } -void AGOSEngine::oe2_opcode161() { +void AGOSEngine::oe2_unk161() { // 161: + debug(0, "oe2_unk161: stub"); } -void AGOSEngine::oe2_screenTextMsg() { - // 162: print string +void AGOSEngine::oe2_unk162() { + // 162: print string? showMessageFormat("%s\n", getStringPtrByID(getNextStringID())); - getVarOrByte(); + uint a = getVarOrByte(); + debug(0, "oe2_unk162: stub (%d)", a); } void AGOSEngine::oe2_setSuperRoom() { @@ -167,4 +171,16 @@ void AGOSEngine::oe2_getSuperRoom() { writeNextVarContents(_superRoomNumber); } +void AGOSEngine::oe2_unk177() { + // 177: set unknown vga event + uint a = getVarOrByte(); + debug(0, "oe2_unk177: stub (%d)", a); +} + +void AGOSEngine::oe2_unk178() { + // 178: set unknown vga event + uint a = getVarOrByte(); + debug(0, "oe2_unk178: stub (%d)", a); +} + } // End of namespace AGOS diff --git a/engines/agos/script_ww.cpp b/engines/agos/script_ww.cpp index 7bb378147a..09563df092 100644 --- a/engines/agos/script_ww.cpp +++ b/engines/agos/script_ww.cpp @@ -72,7 +72,7 @@ void AGOSEngine::setupWaxworksOpcodes(OpcodeProc *op) { op[148] = &AGOSEngine::oe2_ifDoorOpen; op[149] = &AGOSEngine::oe2_ifDoorClosed; op[150] = &AGOSEngine::oe2_ifDoorLocked; - op[162] = &AGOSEngine::oe2_screenTextMsg; + op[162] = &AGOSEngine::oww_screenTextMsg; op[175] = &AGOSEngine::o_getDollar2; op[179] = &AGOSEngine::o_isAdjNoun; op[180] = &AGOSEngine::o_b2Set; @@ -131,6 +131,12 @@ void AGOSEngine::oww_textMenu() { _textMenu[slot] = getVarOrByte(); } +void AGOSEngine::oww_screenTextMsg() { + // 162: print string + showMessageFormat("%s\n", getStringPtrByID(getNextStringID())); + getVarOrByte(); +} + void AGOSEngine::oww_boxMessage() { // 184: print message to box boxTextMessage((const char *)getStringPtrByID(getNextStringID())); |