diff options
Diffstat (limited to 'engines/composer/composer.cpp')
-rw-r--r-- | engines/composer/composer.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/engines/composer/composer.cpp b/engines/composer/composer.cpp index f070338978..13ba76191b 100644 --- a/engines/composer/composer.cpp +++ b/engines/composer/composer.cpp @@ -23,11 +23,8 @@ #include "common/config-manager.h" #include "common/events.h" -#include "common/file.h" #include "common/random.h" -#include "common/fs.h" #include "common/keyboard.h" -#include "common/substream.h" #include "graphics/cursorman.h" #include "graphics/surface.h" @@ -35,9 +32,6 @@ #include "graphics/wincursor.h" #include "engines/util.h" -#include "engines/advancedDetector.h" - -#include "audio/audiostream.h" #include "composer/composer.h" #include "composer/graphics.h" @@ -127,6 +121,9 @@ Common::Error ComposerEngine::run() { else warning("FPS in book.ini is zero. Defaulting to 8..."); uint32 lastDrawTime = 0; + _lastSaveTime = _system->getMillis(); + + bool loadFromLauncher = ConfMan.hasKey("save_slot"); while (!shouldQuit()) { for (uint i = 0; i < _pendingPageChanges.size(); i++) { @@ -176,7 +173,12 @@ Common::Error ComposerEngine::run() { } else if (_needsUpdate) { redraw(); } - + if (loadFromLauncher) { + loadGameState(ConfMan.getInt("save_slot")); + loadFromLauncher = false; + } + if (shouldPerformAutoSave(_lastSaveTime)) + saveGameState(0, "Autosave"); while (_eventMan->pollEvent(event)) { switch (event.type) { case Common::EVENT_LBUTTONDOWN: @@ -385,7 +387,7 @@ void ComposerEngine::loadLibrary(uint id) { } Common::String filename; - + Common::String oldGroup = _bookGroup; if (getGameType() == GType_ComposerV1) { if (!id || _bookGroup.empty()) filename = getStringFromConfig("Common", "StartPage"); @@ -419,6 +421,7 @@ void ComposerEngine::loadLibrary(uint id) { Library library; library._id = id; + library._group = oldGroup; library._archive = new ComposerArchive(); if (!library._archive->openFile(filename)) error("failed to open '%s'", filename.c_str()); |