diff options
author | David Fioramonti | 2018-07-12 19:13:22 -0700 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-21 13:15:14 +0200 |
commit | 9d88afe6bf077006945e2494f397a593ae70e9eb (patch) | |
tree | d53b7e08bd62a66ace17ba20a2ed06447990ce3d | |
parent | f515393a74d5c28fcf6d654435727784f1282be0 (diff) | |
download | scummvm-rg350-9d88afe6bf077006945e2494f397a593ae70e9eb.tar.gz scummvm-rg350-9d88afe6bf077006945e2494f397a593ae70e9eb.tar.bz2 scummvm-rg350-9d88afe6bf077006945e2494f397a593ae70e9eb.zip |
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.
-rw-r--r-- | engines/savestate.cpp | 6 | ||||
-rw-r--r-- | 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. @@ -220,6 +228,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. */ Common::SharedPtr<Graphics::Surface> _thumbnail; |