aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2004-05-31 08:44:04 +0000
committerEugene Sandulenko2004-05-31 08:44:04 +0000
commitf3014b9f4cbaf036271ea9ec9fa2b8010a38e723 (patch)
treeacb9ac563142db9861b28fcb5d93b16e1a41db4c
parent50b39e3095b1ddc0560b559dadb17947d436cbcd (diff)
downloadscummvm-rg350-f3014b9f4cbaf036271ea9ec9fa2b8010a38e723.tar.gz
scummvm-rg350-f3014b9f4cbaf036271ea9ec9fa2b8010a38e723.tar.bz2
scummvm-rg350-f3014b9f4cbaf036271ea9ec9fa2b8010a38e723.zip
Add stub for HE o6_quitPauseRestart.
svn-id: r13908
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v6he.cpp33
2 files changed, 34 insertions, 0 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index f0857b0aa2..0166ad1a0d 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -596,6 +596,7 @@ protected:
void o6_unknownF9();
void o6_unknownFB();
void o6_readFilePos();
+ void o6_quitPauseRestart();
};
class ScummEngine_v7he : public ScummEngine_v6he {
diff --git a/scumm/script_v6he.cpp b/scumm/script_v6he.cpp
index 9e0b52a22f..db689e678e 100644
--- a/scumm/script_v6he.cpp
+++ b/scumm/script_v6he.cpp
@@ -1475,4 +1475,37 @@ void ScummEngine_v6he::decodeParseString(int m, int n) {
}
}
+void ScummEngine_v6he::o6_quitPauseRestart() {
+ byte subOp = fetchScriptByte();
+ int par1;
+
+ if (_heversion == 60)
+ if (subOp != 158 && subOp != 160)
+ error("o6_quitPauseRestart invalid case %d", subOp);
+
+
+ switch (subOp & 0xff) {
+ case 158: // SO_RESTART
+ restart();
+ break;
+ case 160: // SO_QUIT
+ shutDown();
+ break;
+ case 250:
+ par1 = pop();
+ warning("stub: o6_quitPauseRestart subOpcode %d", subOp);
+ break;
+ case 253:
+ par1 = pop();
+ warning("stub: o6_quitPauseRestart subOpcode %d", subOp);
+ case 244:
+ case 251:
+ case 252:
+ warning("stub: o6_quitPauseRestart subOpcode %d", subOp);
+ break;
+ default:
+ error("o6_quitPauseRestart invalid case %d", subOp);
+ }
+}
+
} // End of namespace Scumm