aboutsummaryrefslogtreecommitdiff
path: root/engines/m4/detection.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2010-01-30 09:21:07 +0000
committerPaul Gilbert2010-01-30 09:21:07 +0000
commit3285a4ba4d585739577176baddd8f48478d2f229 (patch)
tree86f8e10aab8e619116721398918bca88abf4ce5d /engines/m4/detection.cpp
parent28aee9c5f3462cd72db0b91b7f578649869738d5 (diff)
downloadscummvm-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.cpp15
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;
}