diff options
-rw-r--r-- | engines/engine.cpp | 2 | ||||
-rw-r--r-- | engines/engine.h | 8 | ||||
-rw-r--r-- | engines/scumm/saveload.cpp | 4 | ||||
-rw-r--r-- | engines/scumm/scumm.cpp | 2 |
4 files changed, 10 insertions, 6 deletions
diff --git a/engines/engine.cpp b/engines/engine.cpp index 78e431aa09..0af01f72c9 100644 --- a/engines/engine.cpp +++ b/engines/engine.cpp @@ -410,7 +410,7 @@ uint32 Engine::getTotalPlayTime() const { return _pauseStartTime - _engineStartTime; } -void Engine::resetTotalPlayTime(uint32 time) { +void Engine::setTotalPlayTime(uint32 time) { const uint32 currentTime = _system->getMillis(); // We need to reset the pause start time here in case the engine is already diff --git a/engines/engine.h b/engines/engine.h index b1575962ff..b4764319b8 100644 --- a/engines/engine.h +++ b/engines/engine.h @@ -253,11 +253,15 @@ public: uint32 getTotalPlayTime() const; /** - * Reset the game time counter to the specified time. + * Set the game time counter to the specified time. + * + * This can be used to set the play time counter after loading a savegame + * for example. Another use case is in case the engine wants to exclude + * time from the counter the user spent in original engine dialogs. * * @param time Play time to set up in ms. */ - void resetTotalPlayTime(uint32 time = 0); + void setTotalPlayTime(uint32 time = 0); inline Common::TimerManager *getTimerManager() { return _timer; } inline Common::EventManager *getEventManager() { return _eventMan; } diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp index b9cb0ae10f..9cb603e27f 100644 --- a/engines/scumm/saveload.cpp +++ b/engines/scumm/saveload.cpp @@ -378,10 +378,10 @@ bool ScummEngine::loadState(int slot, bool compat) { return false; } - resetTotalPlayTime(infos.playtime * 1000); + setTotalPlayTime(infos.playtime * 1000); } else { // start time counting - resetTotalPlayTime(); + setTotalPlayTime(); } // Due to a bug in scummvm up to and including 0.3.0, save games could be saved diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 2c654402fa..42be33fff3 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -1927,7 +1927,7 @@ int ScummEngine::getTalkSpeed() { #pragma mark - Common::Error ScummEngine::go() { - resetTotalPlayTime(); + setTotalPlayTime(); // If requested, load a save game instead of running the boot script if (_saveLoadFlag != 2 || !loadState(_saveLoadSlot, _saveTemporaryState)) { |