diff options
Diffstat (limited to 'engines/mortevielle/detection.cpp')
-rw-r--r-- | engines/mortevielle/detection.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/engines/mortevielle/detection.cpp b/engines/mortevielle/detection.cpp index 28cbc77b8b..ee9cb40c99 100644 --- a/engines/mortevielle/detection.cpp +++ b/engines/mortevielle/detection.cpp @@ -24,13 +24,22 @@ #include "engines/advancedDetector.h" #include "mortevielle/mortevielle.h" -#include "mortevielle/detection_tables.h" #include "mortevielle/saveload.h" namespace Mortevielle { -uint32 MortevielleEngine::getGameFlags() const { return _gameDescription->flags; } +struct MortevielleGameDescription { + ADGameDescription desc; + Common::Language originalLanguage; + uint8 dataFeature; +}; + +uint32 MortevielleEngine::getGameFlags() const { return _gameDescription->desc.flags; } + +Common::Language MortevielleEngine::getLanguage() const { return _gameDescription->desc.language; } -Common::Language MortevielleEngine::getLanguage() const { return _gameDescription->language; } +Common::Language MortevielleEngine::getOriginalLanguage() const { return _gameDescription->originalLanguage; } + +bool MortevielleEngine::useOriginalData() const { return _gameDescription->dataFeature == kUseOriginalData; } } @@ -39,12 +48,17 @@ static const PlainGameDescriptor MortevielleGame[] = { {0, 0} }; +#include "mortevielle/detection_tables.h" + class MortevielleMetaEngine : public AdvancedMetaEngine { public: - MortevielleMetaEngine() : AdvancedMetaEngine(Mortevielle::MortevielleGameDescriptions, sizeof(ADGameDescription), + MortevielleMetaEngine() : AdvancedMetaEngine(Mortevielle::MortevielleGameDescriptions, sizeof(Mortevielle::MortevielleGameDescription), MortevielleGame) { _md5Bytes = 512; _singleid = "mortevielle"; + // Use kADFlagUseExtraAsHint to distinguish between original and improved versions + // (i.e. use or not of the game data file). + _flags = kADFlagUseExtraAsHint; } virtual const char *getName() const { return "Mortevielle"; @@ -63,7 +77,7 @@ public: bool MortevielleMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const { if (desc) { - *engine = new Mortevielle::MortevielleEngine(syst, desc); + *engine = new Mortevielle::MortevielleEngine(syst, (const Mortevielle::MortevielleGameDescription *)desc); } return desc != 0; } |