diff options
author | WinterGrascph | 2016-04-26 23:33:03 +0200 |
---|---|---|
committer | Bendegúz Nagy | 2016-08-26 23:02:22 +0200 |
commit | 5ae7d3a84b04336b65b93e2efe1c988c795e1752 (patch) | |
tree | 2642d7047a051c01cfed88ca3925c3ec511c2b6b /engines/dm | |
parent | 96cc074ea0752165d2eb9281c9affeda8e5be5b1 (diff) | |
download | scummvm-rg350-5ae7d3a84b04336b65b93e2efe1c988c795e1752.tar.gz scummvm-rg350-5ae7d3a84b04336b65b93e2efe1c988c795e1752.tar.bz2 scummvm-rg350-5ae7d3a84b04336b65b93e2efe1c988c795e1752.zip |
DM: Add detection for Amiga v2.0 English
Diffstat (limited to 'engines/dm')
-rw-r--r-- | engines/dm/detection.cpp | 33 | ||||
-rw-r--r-- | engines/dm/dm.cpp | 8 |
2 files changed, 32 insertions, 9 deletions
diff --git a/engines/dm/detection.cpp b/engines/dm/detection.cpp index 4c970e32c9..443d2dba78 100644 --- a/engines/dm/detection.cpp +++ b/engines/dm/detection.cpp @@ -7,13 +7,35 @@ #include "engines/advancedDetector.h" namespace DM { static const PlainGameDescriptor DMGames[] = { + {"dm", "Dungeon Master"}, {0, 0} }; static const ADGameDescription gameDescriptions[] = { + { + "dm", "Amiga 2.0v English", + { + {"graphics.dat", 0, "6A2F135B53C2220F0251FA103E2A6E7E", 411960}, + {"Dungeon.dat", 0, "30028FB6A301ECB20127EF0B3AF32B05", 25006}, + AD_LISTEND + }, + Common::EN_GRB, Common::kPlatformAmiga, ADGF_NO_FLAGS, GUIO1(GUIO_NONE) + }, + AD_TABLE_END_MARKER }; +static ADGameDescription fallbackDesc = { + "dm", + "Unknown version", + AD_ENTRY1(0, 0), // This should always be AD_ENTRY1(0, 0) in the fallback descriptor + Common::UNK_LANG, + Common::kPlatformDOS, + ADGF_NO_FLAGS, + GUIO1(GUIO_NONE) +}; + + static const ADExtraGuiOptionsMap optionsList[] = { AD_EXTRA_GUI_OPTIONS_TERMINATOR }; @@ -21,14 +43,12 @@ static const ADExtraGuiOptionsMap optionsList[] = { class DMMetaEngine : public AdvancedMetaEngine { public: - - DMMetaEngine() : AdvancedMetaEngine(DM::gameDescriptions, sizeof(ADGameDescription), DMGames, optionsList) { - _singleId = "Dummy"; + _singleId = "dm"; } virtual const char *getName() const { - return "Dummy"; + return "Dungeon Master"; } virtual const char *getOriginalCopyright() const { @@ -38,8 +58,9 @@ public: virtual const ADGameDescription *fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const { return gameDescriptions; } virtual bool hasFeature(MetaEngineFeature f) const { return false; } virtual bool createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const { - *engine = new DM::DMEngine(syst); - return true; + if(desc) + *engine = new DM::DMEngine(syst); + return desc != nullptr; } virtual int getMaximumSaveSlot() const { return 99; } virtual SaveStateList listSaves(const char *target) const { return SaveStateList(); } diff --git a/engines/dm/dm.cpp b/engines/dm/dm.cpp index b0c281a12b..ba6c326db8 100644 --- a/engines/dm/dm.cpp +++ b/engines/dm/dm.cpp @@ -21,9 +21,8 @@ DMEngine::DMEngine(OSystem *syst) : Engine(syst), _console(nullptr) { // Do these from run //Specify all default directories - const Common::FSNode gameDataDir(ConfMan.get("example")); - SearchMan.addSubDirectoryMatching(gameDataDir, "example2"); - + //const Common::FSNode gameDataDir(ConfMan.get("example")); + //SearchMan.addSubDirectoryMatching(gameDataDir, "example2"); DebugMan.addDebugChannel(kDMDebugExample, "example", "example desc"); // regiser random source @@ -55,6 +54,9 @@ Common::Error DMEngine::run() { // Run main loop debug("DMEngine:: start main loop"); + while (true) + debug("Run!"); + return Common::kNoError; } |