aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-02-14 05:47:12 +0000
committerTravis Howell2006-02-14 05:47:12 +0000
commit9e8b493990efb9e67a35db3da8e9a5bf07345f88 (patch)
tree7488cd1defc7ca8bc27fc36875ca09edf0f09580
parentde6aac4e2ff7a79506bcba10d4fe4ad618d4712a (diff)
downloadscummvm-rg350-9e8b493990efb9e67a35db3da8e9a5bf07345f88.tar.gz
scummvm-rg350-9e8b493990efb9e67a35db3da8e9a5bf07345f88.tar.bz2
scummvm-rg350-9e8b493990efb9e67a35db3da8e9a5bf07345f88.zip
Add HE100 specific version of setSystemMessage opcode, since cases are different.
svn-id: r20685
-rw-r--r--engines/scumm/intern_he.h1
-rw-r--r--engines/scumm/script_v100he.cpp22
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;