diff options
Diffstat (limited to 'engines/sci/detection.cpp')
-rw-r--r-- | engines/sci/detection.cpp | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp index a4d1edf2ed..a4914e57b4 100644 --- a/engines/sci/detection.cpp +++ b/engines/sci/detection.cpp @@ -29,6 +29,7 @@ #include "common/savefile.h" #include "common/system.h" #include "graphics/thumbnail.h" +#include "graphics/surface.h" #include "sci/sci.h" #include "sci/engine/kernel.h" @@ -118,7 +119,7 @@ static const PlainGameDescriptor s_sciGameTitles[] = { {"lsl7", "Leisure Suit Larry 7: Love for Sail!"}, {"lighthouse", "Lighthouse: The Dark Being"}, {"phantasmagoria2", "Phantasmagoria II: A Puzzle of Flesh"}, - {"shivers2", "Shivers II: Harvest of Souls"}, + //{"shivers2", "Shivers II: Harvest of Souls"}, // Not SCI {"rama", "RAMA"}, {0, 0} }; @@ -190,7 +191,7 @@ static const GameIdStrToEnum s_gameIdStrToEnum[] = { { "rama", GID_RAMA }, { "sci-fanmade", GID_FANMADE }, // FIXME: Do we really need/want this? { "shivers", GID_SHIVERS }, - { "shivers2", GID_SHIVERS2 }, + //{ "shivers2", GID_SHIVERS2 }, // Not SCI { "slater", GID_SLATER }, { "sq1sci", GID_SQ1 }, { "sq3", GID_SQ3 }, @@ -513,7 +514,7 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const Common::FSList &fsl ResourceManager *resMan = new ResourceManager(); assert(resMan); resMan->addAppropriateSources(fslist); - resMan->init(); + resMan->init(true); // TODO: Add error handling. #ifndef ENABLE_SCI32 @@ -624,7 +625,8 @@ bool SciMetaEngine::hasFeature(MetaEngineFeature f) const { (f == kSupportsDeleteSave) || (f == kSavesSupportMetaInfo) || (f == kSavesSupportThumbnail) || - (f == kSavesSupportCreationDate); + (f == kSavesSupportCreationDate) || + (f == kSavesSupportPlayTime); } bool SciEngine::hasFeature(EngineFeature f) const { @@ -665,7 +667,7 @@ SaveStateList SciMetaEngine::listSaves(const char *target) const { delete in; continue; } - saveList.push_back(SaveStateDescriptor(slotNum, meta.savegame_name)); + saveList.push_back(SaveStateDescriptor(slotNum, meta.name)); delete in; } } @@ -675,7 +677,7 @@ SaveStateList SciMetaEngine::listSaves(const char *target) const { } SaveStateDescriptor SciMetaEngine::querySaveMetaInfos(const char *target, int slot) const { - Common::String fileName = Common::String::printf("%s.%03d", target, slot); + Common::String fileName = Common::String::format("%s.%03d", target, slot); Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(fileName); if (in) { @@ -688,7 +690,7 @@ SaveStateDescriptor SciMetaEngine::querySaveMetaInfos(const char *target, int sl return desc; } - SaveStateDescriptor desc(slot, meta.savegame_name); + SaveStateDescriptor desc(slot, meta.name); Graphics::Surface *thumbnail = new Graphics::Surface(); assert(thumbnail); @@ -702,18 +704,18 @@ SaveStateDescriptor SciMetaEngine::querySaveMetaInfos(const char *target, int sl desc.setDeletableFlag(true); desc.setWriteProtectedFlag(false); - int day = (meta.savegame_date >> 24) & 0xFF; - int month = (meta.savegame_date >> 16) & 0xFF; - int year = meta.savegame_date & 0xFFFF; + int day = (meta.saveDate >> 24) & 0xFF; + int month = (meta.saveDate >> 16) & 0xFF; + int year = meta.saveDate & 0xFFFF; desc.setSaveDate(year, month, day); - int hour = (meta.savegame_time >> 16) & 0xFF; - int minutes = (meta.savegame_time >> 8) & 0xFF; + int hour = (meta.saveTime >> 16) & 0xFF; + int minutes = (meta.saveTime >> 8) & 0xFF; desc.setSaveTime(hour, minutes); - // TODO: played time + desc.setPlayTime(meta.playTime * 1000); delete in; @@ -726,12 +728,12 @@ SaveStateDescriptor SciMetaEngine::querySaveMetaInfos(const char *target, int sl int SciMetaEngine::getMaximumSaveSlot() const { return 99; } void SciMetaEngine::removeSaveState(const char *target, int slot) const { - Common::String fileName = Common::String::printf("%s.%03d", target, slot); + Common::String fileName = Common::String::format("%s.%03d", target, slot); g_system->getSavefileManager()->removeSavefile(fileName); } Common::Error SciEngine::loadGameState(int slot) { - Common::String fileName = Common::String::printf("%s.%03d", _targetName.c_str(), slot); + Common::String fileName = Common::String::format("%s.%03d", _targetName.c_str(), slot); Common::SaveFileManager *saveFileMan = g_engine->getSaveFileManager(); Common::SeekableReadStream *in = saveFileMan->openForLoading(fileName); @@ -750,7 +752,7 @@ Common::Error SciEngine::loadGameState(int slot) { } Common::Error SciEngine::saveGameState(int slot, const char *desc) { - Common::String fileName = Common::String::printf("%s.%03d", _targetName.c_str(), slot); + Common::String fileName = Common::String::format("%s.%03d", _targetName.c_str(), slot); Common::SaveFileManager *saveFileMan = g_engine->getSaveFileManager(); Common::OutSaveFile *out = saveFileMan->openForSaving(fileName); const char *version = ""; |