TITANIC: Don't show invalid meta info for original game saves

This commit is contained in:
Paul Gilbert 2017-08-05 18:34:50 -04:00
parent 9d2ca34ae4
commit 503b9c16d2
3 changed files with 27 additions and 4 deletions

View File

@ -42,6 +42,19 @@ static const char *const SAVEGAME_STR = "TNIC";
EMPTY_MESSAGE_MAP(CProjectItem, CFileItem);
/*------------------------------------------------------------------------*/
void TitanicSavegameHeader::clear() {
_version = 0;
_saveName = "";
_thumbnail = nullptr;
_year = _month = _day = 0;
_hour = _minute = 0;
_totalFrames = 0;
}
/*------------------------------------------------------------------------*/
void CFileListItem::save(SimpleFile *file, int indent) {
file->writeNumberLine(0, indent);
file->writeQuotedLine(_name, indent);

View File

@ -42,6 +42,13 @@ struct TitanicSavegameHeader {
int _year, _month, _day;
int _hour, _minute;
int _totalFrames;
TitanicSavegameHeader() { clear(); }
/**
* Clear the header
*/
void clear();
};

View File

@ -167,10 +167,13 @@ SaveStateDescriptor TitanicMetaEngine::querySaveMetaInfos(const char *target, in
// Create the return descriptor
SaveStateDescriptor desc(slot, header._saveName);
desc.setThumbnail(header._thumbnail);
desc.setSaveDate(header._year, header._month, header._day);
desc.setSaveTime(header._hour, header._minute);
desc.setPlayTime(header._totalFrames * GAME_FRAME_TIME);
if (header._version) {
desc.setThumbnail(header._thumbnail);
desc.setSaveDate(header._year, header._month, header._day);
desc.setSaveTime(header._hour, header._minute);
desc.setPlayTime(header._totalFrames * GAME_FRAME_TIME);
}
return desc;
}