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 | |
| 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
| -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;  }  | 
