aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/access/access.cpp12
-rw-r--r--engines/access/access.h1
-rw-r--r--engines/access/detection.cpp4
-rw-r--r--engines/access/detection_tables.h18
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 }
};