diff options
-rw-r--r-- | engines/scumm/intern_he.h | 1 | ||||
-rw-r--r-- | engines/scumm/script_v100he.cpp | 22 |
2 files changed, 22 insertions, 1 deletions
diff --git a/engines/scumm/intern_he.h b/engines/scumm/intern_he.h index af645fc1fd..7a4917b8c9 100644 --- a/engines/scumm/intern_he.h +++ b/engines/scumm/intern_he.h @@ -580,6 +580,7 @@ protected: void o100_startScriptUnk(); void o100_redimArray(); void o100_roomOps(); + void o100_setSystemMessage(); void o100_startSound(); void o100_setSpriteInfo(); void o100_startScript(); diff --git a/engines/scumm/script_v100he.cpp b/engines/scumm/script_v100he.cpp index 3ff7e4a33c..6be750b03e 100644 --- a/engines/scumm/script_v100he.cpp +++ b/engines/scumm/script_v100he.cpp @@ -23,6 +23,8 @@ #include "common/stdafx.h" +#include "common/system.h" + #include "scumm/actor.h" #include "scumm/charset.h" #include "scumm/intern_he.h" @@ -183,7 +185,7 @@ void ScummEngine_v100he::setupOpcodes() { /* 70 */ OPCODE(o6_invalid), OPCODE(o6_setBoxSet), - OPCODE(o72_setSystemMessage), + OPCODE(o100_setSystemMessage), OPCODE(o6_shuffle), /* 74 */ OPCODE(o6_delay), @@ -1655,6 +1657,24 @@ void ScummEngine_v100he::o100_roomOps() { } } +void ScummEngine_v100he::o100_setSystemMessage() { + byte name[1024]; + + copyScriptString(name, sizeof(name)); + byte subOp = fetchScriptByte(); + + switch (subOp) { + case 80: // Set Window Caption + _system->setWindowCaption((const char *)name); + break; + case 131: // Set Version + debug(1,"o100_setSystemMessage: (%d) %s", subOp, name); + break; + default: + error("o100_setSystemMessage: default case %d", subOp); + } +} + void ScummEngine_v100he::o100_startSound() { byte filename[260]; int var, value; |