diff options
| author | Bastien Bouclet | 2018-05-28 18:43:15 +0200 |
|---|---|---|
| committer | GitHub | 2018-05-28 18:43:15 +0200 |
| commit | 61f9398b04a4bce397a8be6ae96491a2015a6da2 (patch) | |
| tree | 478c127f74b21365255b31d11e455bfdbb463244 /engines/sci | |
| parent | 8d654285cbf0bf6423676244c89833557f811e38 (diff) | |
| parent | 1dcb8076db64420ab28722a73583f89b38314e71 (diff) | |
| download | scummvm-rg350-61f9398b04a4bce397a8be6ae96491a2015a6da2.tar.gz scummvm-rg350-61f9398b04a4bce397a8be6ae96491a2015a6da2.tar.bz2 scummvm-rg350-61f9398b04a4bce397a8be6ae96491a2015a6da2.zip | |
Merge pull request #1187 from bgK/detection-refactor-unknown
ENGINES: Return unknown game variants with the list of detected games
Diffstat (limited to 'engines/sci')
| -rw-r--r-- | engines/sci/detection.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp index bc7241269d..9a70429e47 100644 --- a/engines/sci/detection.cpp +++ b/engines/sci/detection.cpp @@ -562,7 +562,7 @@ public: } virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *gd) const; - const ADGameDescription *fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const; + ADDetectedGame fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const override; virtual bool hasFeature(MetaEngineFeature f) const; virtual SaveStateList listSaves(const char *target) const; virtual int getMaximumSaveSlot() const; @@ -590,7 +590,7 @@ Common::Language charToScummVMLanguage(const char c) { } } -const ADGameDescription *SciMetaEngine::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const { +ADDetectedGame SciMetaEngine::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const { bool foundResMap = false; bool foundRes000 = false; @@ -647,7 +647,7 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const FileMap &allFiles, // If these files aren't found, it can't be SCI if (!foundResMap && !foundRes000) - return 0; + return ADDetectedGame(); ResourceManager resMan(true); resMan.addAppropriateSourcesForDetection(fslist); @@ -658,7 +658,7 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const FileMap &allFiles, // Is SCI32 compiled in? If not, and this is a SCI32 game, // stop here if (getSciVersionForDetection() >= SCI_VERSION_2) - return 0; + return ADDetectedGame(); #endif ViewType gameViews = resMan.getViewType(); @@ -667,7 +667,7 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const FileMap &allFiles, // Can't be SCI (or unsupported SCI views). Pinball Creep by Sierra also uses resource.map/resource.000 files // but doesn't share SCI format at all if (gameViews == kViewUnknown) - return 0; + return ADDetectedGame(); // Set the platform to Amiga if the game is using Amiga views if (gameViews == kViewAmiga) @@ -678,7 +678,7 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const FileMap &allFiles, // If we don't have a game id, the game is not SCI if (sierraGameId.empty()) - return 0; + return ADDetectedGame(); Common::String gameId = convertSierraGameId(sierraGameId, &s_fallbackDesc.flags, resMan); strncpy(s_fallbackGameIdBuf, gameId.c_str(), sizeof(s_fallbackGameIdBuf) - 1); @@ -753,7 +753,7 @@ const ADGameDescription *SciMetaEngine::fallbackDetect(const FileMap &allFiles, s_fallbackDesc.extra = "CD"; } - return &s_fallbackDesc; + return ADDetectedGame(&s_fallbackDesc); } bool SciMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const { |
