aboutsummaryrefslogtreecommitdiff
path: root/engines/queen/queen.cpp
diff options
context:
space:
mode:
authorMax Horn2009-03-01 04:42:46 +0000
committerMax Horn2009-03-01 04:42:46 +0000
commitdd98126423d915c19baf43184ba40fb0d9a68b64 (patch)
treedc6c65d5ca3d7c5c69f54e9dc980067980a2ae9a /engines/queen/queen.cpp
parent3fcbda829a2aa17cbaf6423d34f69214b91b0e6c (diff)
downloadscummvm-rg350-dd98126423d915c19baf43184ba40fb0d9a68b64.tar.gz
scummvm-rg350-dd98126423d915c19baf43184ba40fb0d9a68b64.tar.bz2
scummvm-rg350-dd98126423d915c19baf43184ba40fb0d9a68b64.zip
Engines: Fused several init&go methods into a single run method
svn-id: r39003
Diffstat (limited to 'engines/queen/queen.cpp')
-rw-r--r--engines/queen/queen.cpp55
1 files changed, 26 insertions, 29 deletions
diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp
index b8523a9a53..802a432546 100644
--- a/engines/queen/queen.cpp
+++ b/engines/queen/queen.cpp
@@ -444,35 +444,7 @@ GUI::Debugger *QueenEngine::getDebugger() {
return _debugger;
}
-Common::Error QueenEngine::go() {
- _logic->start();
- if (ConfMan.hasKey("save_slot") && canLoadOrSave()) {
- loadGameState(ConfMan.getInt("save_slot"));
- }
- _lastSaveTime = _lastUpdateTime = _system->getMillis();
-
- while (!shouldQuit()) {
- if (_logic->newRoom() > 0) {
- _logic->update();
- _logic->oldRoom(_logic->currentRoom());
- _logic->currentRoom(_logic->newRoom());
- _logic->changeRoom();
- _display->fullscreen(false);
- if (_logic->currentRoom() == _logic->newRoom()) {
- _logic->newRoom(0);
- }
- } else if (_logic->joeWalk() == JWM_EXECUTE) {
- _logic->joeWalk(JWM_NORMAL);
- _command->executeCurrentAction();
- } else {
- _logic->joeWalk(JWM_NORMAL);
- update(true);
- }
- }
- return Common::kNoError;
-}
-
-Common::Error QueenEngine::init() {
+Common::Error QueenEngine::run() {
initGraphics(GAME_SCREEN_WIDTH, GAME_SCREEN_HEIGHT, false);
_resource = new Resource();
@@ -501,6 +473,31 @@ Common::Error QueenEngine::init() {
registerDefaultSettings();
readOptionSettings();
+ _logic->start();
+ if (ConfMan.hasKey("save_slot") && canLoadOrSave()) {
+ loadGameState(ConfMan.getInt("save_slot"));
+ }
+ _lastSaveTime = _lastUpdateTime = _system->getMillis();
+
+ while (!shouldQuit()) {
+ if (_logic->newRoom() > 0) {
+ _logic->update();
+ _logic->oldRoom(_logic->currentRoom());
+ _logic->currentRoom(_logic->newRoom());
+ _logic->changeRoom();
+ _display->fullscreen(false);
+ if (_logic->currentRoom() == _logic->newRoom()) {
+ _logic->newRoom(0);
+ }
+ } else if (_logic->joeWalk() == JWM_EXECUTE) {
+ _logic->joeWalk(JWM_NORMAL);
+ _command->executeCurrentAction();
+ } else {
+ _logic->joeWalk(JWM_NORMAL);
+ update(true);
+ }
+ }
+
return Common::kNoError;
}