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.
This commit is contained in:
David Fioramonti 2018-07-12 19:13:22 -07:00 committed by Eugene Sandulenko
parent f515393a74
commit 9d88afe6bf
2 changed files with 18 additions and 2 deletions

View file

@ -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);
}

View file

@ -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.
*/