diff options
author | Christopher Page | 2008-07-11 00:49:01 +0000 |
---|---|---|
committer | Christopher Page | 2008-07-11 00:49:01 +0000 |
commit | 67c8c39fdf4ae01c0d4a1c6ce97afd720eb4be4e (patch) | |
tree | 96f9d8cb30893d374f6142c94e00851682c78dea | |
parent | b519013925608162f986ebc4983914ff37b559d3 (diff) | |
download | scummvm-rg350-67c8c39fdf4ae01c0d4a1c6ce97afd720eb4be4e.tar.gz scummvm-rg350-67c8c39fdf4ae01c0d4a1c6ce97afd720eb4be4e.tar.bz2 scummvm-rg350-67c8c39fdf4ae01c0d4a1c6ce97afd720eb4be4e.zip |
Queen works with the new GMM implementation, and made a correction to a change in parallaction
svn-id: r32999
-rw-r--r-- | backends/events/default/default-events.cpp | 2 | ||||
-rw-r--r-- | engines/parallaction/input.cpp | 2 | ||||
-rw-r--r-- | engines/queen/input.cpp | 1 | ||||
-rw-r--r-- | engines/queen/journal.cpp | 1 | ||||
-rw-r--r-- | engines/queen/logic.cpp | 10 | ||||
-rw-r--r-- | engines/queen/queen.cpp | 4 | ||||
-rw-r--r-- | engines/queen/queen.h | 3 | ||||
-rw-r--r-- | engines/queen/talk.cpp | 2 |
8 files changed, 12 insertions, 13 deletions
diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp index c56ceb0204..24750d038c 100644 --- a/backends/events/default/default-events.cpp +++ b/backends/events/default/default-events.cpp @@ -435,6 +435,8 @@ bool DefaultEventManager::pollEvent(Common::Event &event) { case Common::EVENT_MAINMENU: if (g_engine && !g_engine->isPaused()) g_engine->mainMenuDialog(); + if (_shouldQuit) + event.type = Common::EVENT_QUIT; break; case Common::EVENT_RTL: diff --git a/engines/parallaction/input.cpp b/engines/parallaction/input.cpp index 26135610fc..0fc00ce03b 100644 --- a/engines/parallaction/input.cpp +++ b/engines/parallaction/input.cpp @@ -80,7 +80,7 @@ uint16 Input::readInput() { break; case Common::EVENT_QUIT: - _quit = true; + _vm->_quit = true; return KeyDown; default: diff --git a/engines/queen/input.cpp b/engines/queen/input.cpp index 5a4741c222..e7fcf84959 100644 --- a/engines/queen/input.cpp +++ b/engines/queen/input.cpp @@ -120,7 +120,6 @@ void Input::delay(uint amount) { break; case Common::EVENT_QUIT: - _vm->quitGame(); if (_cutawayRunning) _cutawayQuit = true; return; diff --git a/engines/queen/journal.cpp b/engines/queen/journal.cpp index 0327fb74b8..c0bd3837c1 100644 --- a/engines/queen/journal.cpp +++ b/engines/queen/journal.cpp @@ -85,7 +85,6 @@ void Journal::use() { handleMouseWheel(1); break; case Common::EVENT_QUIT: - _vm->quitGame(); return; default: break; diff --git a/engines/queen/logic.cpp b/engines/queen/logic.cpp index 89e8f56fe1..7fcc761018 100644 --- a/engines/queen/logic.cpp +++ b/engines/queen/logic.cpp @@ -2076,7 +2076,7 @@ bool LogicDemo::changeToSpecialRoom() { displayRoom(currentRoom(), RDM_FADE_NOJOE, 100, 2, true); playCutaway("CLOGO.CUT"); sceneReset(); - if (_vm->_quit) + if (_vm->quit()) return true; currentRoom(ROOM_HOTEL_LOBBY); entryObj(584); @@ -2131,10 +2131,10 @@ bool LogicGame::changeToSpecialRoom() { } else if (currentRoom() == FOTAQ_LOGO && gameState(VAR_INTRO_PLAYED) == 0) { displayRoom(currentRoom(), RDM_FADE_NOJOE, 100, 2, true); playCutaway("COPY.CUT"); - if (_vm->_quit) + if (_vm->quit()) return true; playCutaway("CLOGO.CUT"); - if (_vm->_quit) + if (_vm->quit()) return true; if (_vm->resource()->getPlatform() != Common::kPlatformAmiga) { if (ConfMan.getBool("alt_intro") && _vm->resource()->isCD()) { @@ -2143,10 +2143,10 @@ bool LogicGame::changeToSpecialRoom() { playCutaway("CDINT.CUT"); } } - if (_vm->_quit) + if (_vm->quit()) return true; playCutaway("CRED.CUT"); - if (_vm->_quit) + if (_vm->quit()) return true; _vm->display()->palSetPanel(); sceneReset(); diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp index d9890d0c57..a164bcfcae 100644 --- a/engines/queen/queen.cpp +++ b/engines/queen/queen.cpp @@ -386,7 +386,7 @@ int QueenEngine::go() { } _lastSaveTime = _lastUpdateTime = _system->getMillis(); - while (!_quit) { + while (!quit()) { if (_logic->newRoom() > 0) { _logic->update(); _logic->oldRoom(_logic->currentRoom()); @@ -404,7 +404,7 @@ int QueenEngine::go() { update(true); } } - return _rtl; + return _eventMan->shouldRTL(); } int QueenEngine::init() { diff --git a/engines/queen/queen.h b/engines/queen/queen.h index 6652a08196..5ec18c1230 100644 --- a/engines/queen/queen.h +++ b/engines/queen/queen.h @@ -103,8 +103,7 @@ public: void talkSpeed(int speed) { _talkSpeed = speed; } bool subtitles() const { return _subtitles; } void subtitles(bool enable) { _subtitles = enable; } - void quitGame() { _quit = true; } - + void update(bool checkPlayerInput = false); bool canLoadOrSave() const; diff --git a/engines/queen/talk.cpp b/engines/queen/talk.cpp index ff18ef37d1..fa2ca669cd 100644 --- a/engines/queen/talk.cpp +++ b/engines/queen/talk.cpp @@ -807,7 +807,7 @@ void Talk::speakSegment( switch (command) { case SPEAK_PAUSE: - for (i = 0; i < 10 && !_vm->input()->talkQuit(); i++) { + for (i = 0; i < 10 && !_vm->input()->talkQuit() && !_vm->quit(); i++) { _vm->update(); } return; |