diff options
author | Paul Gilbert | 2014-08-09 12:12:39 -0400 |
---|---|---|
committer | Paul Gilbert | 2014-08-09 12:12:39 -0400 |
commit | 814d4ebdd01163f0a21d8eb4d04f8201e98cf57f (patch) | |
tree | 00f1c0e2a00cc96e6938e5814e653c04e0ad5d64 /engines | |
parent | 5a3dfb1a7bd27bef578479b3666a6dbf9a08ce3b (diff) | |
download | scummvm-rg350-814d4ebdd01163f0a21d8eb4d04f8201e98cf57f.tar.gz scummvm-rg350-814d4ebdd01163f0a21d8eb4d04f8201e98cf57f.tar.bz2 scummvm-rg350-814d4ebdd01163f0a21d8eb4d04f8201e98cf57f.zip |
ACCESS: Add detection entry and subfolder adding for CD version
Diffstat (limited to 'engines')
-rw-r--r-- | engines/access/access.cpp | 12 | ||||
-rw-r--r-- | engines/access/access.h | 1 | ||||
-rw-r--r-- | engines/access/detection.cpp | 4 | ||||
-rw-r--r-- | engines/access/detection_tables.h | 18 |
4 files changed, 35 insertions, 0 deletions
diff --git a/engines/access/access.cpp b/engines/access/access.cpp index 78274f1d59..cb1977a7f1 100644 --- a/engines/access/access.cpp +++ b/engines/access/access.cpp @@ -154,6 +154,18 @@ void AccessEngine::initialize() { DebugMan.addDebugChannel(kDebugScripts, "scripts", "Game scripts"); DebugMan.addDebugChannel(kDebugGraphics, "graphics", "Graphics handling"); + if (isCD()) { + const Common::FSNode gameDataDir(ConfMan.get("path")); + const Common::FSNode cdromDir = gameDataDir.getChild("cdrom"); + + for (int idx = 0; idx < 15; ++idx) { + Common::String folder = (idx == 0) ? "game" : + Common::String::format("chap%.2d", idx); + SearchMan.addSubDirectoryMatching(cdromDir, folder); + } + } + + // Create sub-objects of the engine _debugger = new Debugger(this); _events = new EventsManager(this); _files = new FileManager(this); diff --git a/engines/access/access.h b/engines/access/access.h index a0099402fd..18278bf56b 100644 --- a/engines/access/access.h +++ b/engines/access/access.h @@ -200,6 +200,7 @@ public: virtual ~AccessEngine(); uint32 getFeatures() const; + bool isCD() const; Common::Language getLanguage() const; Common::Platform getPlatform() const; uint16 getVersion() const; diff --git a/engines/access/detection.cpp b/engines/access/detection.cpp index ca04a64b0d..47f7af6191 100644 --- a/engines/access/detection.cpp +++ b/engines/access/detection.cpp @@ -56,6 +56,10 @@ uint32 AccessEngine::getFeatures() const { return _gameDescription->desc.flags; } +bool AccessEngine::isCD() const { + return (bool)(_gameDescription->desc.flags & ADGF_CD); +} + Common::Language AccessEngine::getLanguage() const { return _gameDescription->desc.language; } diff --git a/engines/access/detection_tables.h b/engines/access/detection_tables.h index cbef1d3b63..ad962f47b2 100644 --- a/engines/access/detection_tables.h +++ b/engines/access/detection_tables.h @@ -41,6 +41,24 @@ static const AccessGameDescription gameDescriptions[] = { 0 }, + { + // Amazon Guadians of Eden - CD English + { + "amazon", + "CD", + { + { "checksum.crc", 0, "bef85478132fec74cb5d9067f3a37d24", 8 }, + AD_LISTEND + }, + Common::EN_ANY, + Common::kPlatformDOS, + ADGF_CD, + GUIO1(GUIO_NONE) + }, + GType_Amazon, + 0 + }, + { AD_TABLE_END_MARKER, 0, 0 } }; |