From 9d88afe6bf077006945e2494f397a593ae70e9eb Mon Sep 17 00:00:00 2001 From: David Fioramonti Date: Thu, 12 Jul 2018 19:13:22 -0700 Subject: GRAPHICS: Add playtime in milliseconds to SaveStateDescriptor This will make setting the playtime for the engine easier since the current savestate stores it as a string. This value gets set at the same time that the string playtime gets set. --- engines/savestate.cpp | 6 ++++-- engines/savestate.h | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/engines/savestate.cpp b/engines/savestate.cpp index 92c1eaf837..90ab4d0f6d 100644 --- a/engines/savestate.cpp +++ b/engines/savestate.cpp @@ -27,12 +27,12 @@ SaveStateDescriptor::SaveStateDescriptor() // FIXME: default to 0 (first slot) or to -1 (invalid slot) ? : _slot(-1), _description(), _isDeletable(true), _isWriteProtected(false), - _isLocked(false), _saveDate(), _saveTime(), _playTime(), _thumbnail() { + _isLocked(false), _saveDate(), _saveTime(), _playTime(), _playTimeMSecs(0), _thumbnail() { } SaveStateDescriptor::SaveStateDescriptor(int s, const Common::String &d) : _slot(s), _description(d), _isDeletable(true), _isWriteProtected(false), - _isLocked(false), _saveDate(), _saveTime(), _playTime(), _thumbnail() { + _isLocked(false), _saveDate(), _saveTime(), _playTime(), _playTimeMSecs(0), _thumbnail() { } void SaveStateDescriptor::setThumbnail(Graphics::Surface *t) { @@ -51,10 +51,12 @@ void SaveStateDescriptor::setSaveTime(int hour, int min) { } void SaveStateDescriptor::setPlayTime(int hours, int minutes) { + _playTimeMSecs = ((hours * 60 + minutes) * 60) * 1000; _playTime = Common::String::format("%.2d:%.2d", hours, minutes); } void SaveStateDescriptor::setPlayTime(uint32 msecs) { + _playTimeMSecs = msecs; uint minutes = msecs / 60000; setPlayTime(minutes / 60, minutes % 60); } diff --git a/engines/savestate.h b/engines/savestate.h index 567750c4be..e91cc9c78d 100644 --- a/engines/savestate.h +++ b/engines/savestate.h @@ -177,6 +177,14 @@ public: */ const Common::String &getPlayTime() const { return _playTime; } + /** + * Returns the time the game was played before the save state was created + * in milliseconds. + * + * It defaults to 0. + */ + uint32 getPlayTimeMSecs() const { return _playTimeMSecs; } + private: /** * The saveslot id, as it would be passed to the "-x" command line switch. @@ -219,6 +227,12 @@ private: */ Common::String _playTime; + /** + * The time the game was played before the save state was created + * in milliseconds. + */ + uint32 _playTimeMSecs; + /** * The thumbnail of the save state. */ -- cgit v1.2.3