aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/dreamweb.cpp
diff options
context:
space:
mode:
authorVladimir Menshakov2011-06-18 12:59:55 +0400
committerVladimir Menshakov2011-06-18 13:33:58 +0400
commit4cdc9c9f8e883bdb4864e6b2c0ef127bf0824e9a (patch)
treedbfc99dea9e44ebddff747e7e4845c1dd8a6515a /engines/dreamweb/dreamweb.cpp
parent0d025153e0c5d53545b9e47555eb70a11be96b8f (diff)
downloadscummvm-rg350-4cdc9c9f8e883bdb4864e6b2c0ef127bf0824e9a.tar.gz
scummvm-rg350-4cdc9c9f8e883bdb4864e6b2c0ef127bf0824e9a.tar.bz2
scummvm-rg350-4cdc9c9f8e883bdb4864e6b2c0ef127bf0824e9a.zip
DREAMWEB: implemented clean exit
Diffstat (limited to 'engines/dreamweb/dreamweb.cpp')
-rw-r--r--engines/dreamweb/dreamweb.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index cb66dda26b..4f39671b85 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -100,8 +100,9 @@ void DreamWebEngine::waitForVSync() {
}
void DreamWebEngine::quit() {
- warning("Engine should quit gracefully (but doesn't yet)");
- g_system->quit();
+ _context.data.byte(DreamGen::DreamGenContext::kQuitrequested) = 1;
+ _context.data.byte(DreamGen::DreamGenContext::kLasthardkey) = 1;
+ _context.data.byte(DreamGen::DreamGenContext::kGetback) = 4;
}
void DreamWebEngine::processEvents() {
@@ -208,6 +209,7 @@ Common::Error DreamWebEngine::run() {
//http://martin.hinner.info/vga/timing.html
_context.__start();
+ _context.data.byte(DreamGen::DreamGenContext::kQuitrequested) = 0;
getTimerManager()->removeTimerProc(vSyncInterrupt);