diff options
author | Paul Gilbert | 2010-01-30 09:21:07 +0000 |
---|---|---|
committer | Paul Gilbert | 2010-01-30 09:21:07 +0000 |
commit | 3285a4ba4d585739577176baddd8f48478d2f229 (patch) | |
tree | 86f8e10aab8e619116721398918bca88abf4ce5d /engines/m4/detection.cpp | |
parent | 28aee9c5f3462cd72db0b91b7f578649869738d5 (diff) | |
download | scummvm-rg350-3285a4ba4d585739577176baddd8f48478d2f229.tar.gz scummvm-rg350-3285a4ba4d585739577176baddd8f48478d2f229.tar.bz2 scummvm-rg350-3285a4ba4d585739577176baddd8f48478d2f229.zip |
Beginnings of a separation of the MADS and M4 engines into separate classes. This will be cleaner then having checks everywhere for whether the game mode is MADS or M4.
svn-id: r47705
Diffstat (limited to 'engines/m4/detection.cpp')
-rw-r--r-- | engines/m4/detection.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/engines/m4/detection.cpp b/engines/m4/detection.cpp index 9781823136..9493226c1a 100644 --- a/engines/m4/detection.cpp +++ b/engines/m4/detection.cpp @@ -39,10 +39,10 @@ struct M4GameDescription { uint32 features; }; -int M4Engine::getGameType() const { return _gameDescription->gameType; } -uint32 M4Engine::getFeatures() const { return _gameDescription->features; } -Common::Language M4Engine::getLanguage() const { return _gameDescription->desc.language; } -Common::Platform M4Engine::getPlatform() const { return _gameDescription->desc.platform; } +int MadsM4Engine::getGameType() const { return _gameDescription->gameType; } +uint32 MadsM4Engine::getFeatures() const { return _gameDescription->features; } +Common::Language MadsM4Engine::getLanguage() const { return _gameDescription->desc.language; } +Common::Platform MadsM4Engine::getPlatform() const { return _gameDescription->desc.platform; } } @@ -60,7 +60,7 @@ static const PlainGameDescriptor m4Games[] = { namespace M4 { -const char *M4Engine::getGameFile(int fileType) { +const char *MadsM4Engine::getGameFile(int fileType) { for (int i = 0; _gameDescription->desc.filesDescriptions[i].fileName; i++) { if (_gameDescription->desc.filesDescriptions[i].fileType == fileType) return _gameDescription->desc.filesDescriptions[i].fileName; @@ -421,7 +421,10 @@ public: bool M4MetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const { const M4::M4GameDescription *gd = (const M4::M4GameDescription *)desc; if (gd) { - *engine = new M4::M4Engine(syst, gd); + if ((gd->gameType == M4::GType_Burger) || (gd->gameType == M4::GType_Riddle)) + *engine = new M4::M4Engine(syst, gd); + else + *engine = new M4::MadsEngine(syst, gd); } return gd != 0; } |