aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTravis Howell2006-10-23 07:07:03 +0000
committerTravis Howell2006-10-23 07:07:03 +0000
commit8f44ef3209f6775624d4d8ce131b13ae355d35a5 (patch)
tree1601957269ddc98620ab1b0c99fd725670f0b55c /engines
parent80048e232787d247381ba718e68ca3aa7e5200cd (diff)
downloadscummvm-rg350-8f44ef3209f6775624d4d8ce131b13ae355d35a5.tar.gz
scummvm-rg350-8f44ef3209f6775624d4d8ce131b13ae355d35a5.tar.bz2
scummvm-rg350-8f44ef3209f6775624d4d8ce131b13ae355d35a5.zip
Add a few opcode stubs for Elvira 2
svn-id: r24469
Diffstat (limited to 'engines')
-rw-r--r--engines/agos/agos.h7
-rw-r--r--engines/agos/debug.h4
-rw-r--r--engines/agos/script_e2.cpp28
-rw-r--r--engines/agos/script_ww.cpp8
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()));