diff options
author | Eugene Sandulenko | 2004-05-31 08:44:04 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2004-05-31 08:44:04 +0000 |
commit | f3014b9f4cbaf036271ea9ec9fa2b8010a38e723 (patch) | |
tree | acb9ac563142db9861b28fcb5d93b16e1a41db4c | |
parent | 50b39e3095b1ddc0560b559dadb17947d436cbcd (diff) | |
download | scummvm-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.h | 1 | ||||
-rw-r--r-- | scumm/script_v6he.cpp | 33 |
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 |