aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Fioramonti2018-07-12 19:13:22 -0700
committerEugene Sandulenko2018-07-21 13:15:14 +0200
commit9d88afe6bf077006945e2494f397a593ae70e9eb (patch)
treed53b7e08bd62a66ace17ba20a2ed06447990ce3d
parentf515393a74d5c28fcf6d654435727784f1282be0 (diff)
downloadscummvm-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.cpp6
-rw-r--r--engines/savestate.h14
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;