aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorScott Percival2019-12-04 21:41:29 +0800
committerScott Percival2019-12-17 22:56:02 +0800
commit127c3468167e6e60866920751c35580c984abbbb (patch)
treea8c915877d7a2e6066fc3c5606b3065b2ccf4072 /engines
parent8fe023ebce11ada798e0d3a7ce157476de10337d (diff)
downloadscummvm-rg350-127c3468167e6e60866920751c35580c984abbbb.tar.gz
scummvm-rg350-127c3468167e6e60866920751c35580c984abbbb.tar.bz2
scummvm-rg350-127c3468167e6e60866920751c35580c984abbbb.zip
DIRECTOR: Add target for a test archive
Diffstat (limited to 'engines')
-rw-r--r--engines/director/detection.cpp1
-rw-r--r--engines/director/detection_tables.h13
-rw-r--r--engines/director/director.h3
-rw-r--r--engines/director/resource.cpp4
4 files changed, 19 insertions, 2 deletions
diff --git a/engines/director/detection.cpp b/engines/director/detection.cpp
index 9e71e7dca4..354c34c402 100644
--- a/engines/director/detection.cpp
+++ b/engines/director/detection.cpp
@@ -73,6 +73,7 @@ bool DirectorEngine::hasFeature(EngineFeature f) const {
static const PlainGameDescriptor directorGames[] = {
{ "director", "Macromedia Director Game" },
{ "directortest", "Macromedia Director Test Target" },
+ { "directortestarch", "Macromedia Director Test Archive" },
{ "theapartment", "The Apartment, Interactive demo" },
{ "gundam0079", "Gundam 0079: The War for Earth" },
{ "jewels", "Jewels of the Oracle" },
diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index fc8d8e246e..dd780e4d6a 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -46,6 +46,19 @@ static const DirectorGameDescription gameDescriptions[] = {
GID_TEST,
3
},
+ {
+ {
+ "directortestarch",
+ "",
+ AD_ENTRY1("test.dir", 0),
+ Common::EN_ANY,
+ Common::kPlatformWindows,
+ ADGF_NO_FLAGS,
+ GUIO1(GUIO_NOASPECT)
+ },
+ GID_ARCHIVE,
+ 4
+ },
// Generic D3 Mac entry
MACGAME("director", "", "D3-mac", 0, -1, 3),
diff --git a/engines/director/director.h b/engines/director/director.h
index f04781d7c8..e52bdb95e5 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -45,7 +45,8 @@ namespace Director {
enum DirectorGameID {
GID_GENERIC,
- GID_TEST
+ GID_TEST,
+ GID_ARCHIVE
};
class Archive;
diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp
index 22b33e7bcc..f7e84fdb08 100644
--- a/engines/director/resource.cpp
+++ b/engines/director/resource.cpp
@@ -48,7 +48,9 @@ Archive *DirectorEngine::createArchive() {
}
void DirectorEngine::loadInitialMovie(const Common::String movie) {
- if (getPlatform() == Common::kPlatformWindows)
+ if (getGameID() == GID_ARCHIVE)
+ openMainArchive(movie);
+ else if (getPlatform() == Common::kPlatformWindows)
loadEXE(movie);
else
loadMac(movie);