aboutsummaryrefslogtreecommitdiff
path: root/engines/agos
diff options
context:
space:
mode:
authorEugene Sandulenko2018-05-10 12:22:47 +0200
committerEugene Sandulenko2018-05-10 12:22:47 +0200
commit9729b099191e73d5958dbe13820a40f95d91dbcf (patch)
tree38f296cdd5260b319cd5c349f57c8d8409576865 /engines/agos
parent955e18c64874203b6f7156835d7d8458b6fb54de (diff)
downloadscummvm-rg350-9729b099191e73d5958dbe13820a40f95d91dbcf.tar.gz
scummvm-rg350-9729b099191e73d5958dbe13820a40f95d91dbcf.tar.bz2
scummvm-rg350-9729b099191e73d5958dbe13820a40f95d91dbcf.zip
AGOS: Added detection and support for Simon2 25th Anniversary Edition
Diffstat (limited to 'engines/agos')
-rw-r--r--engines/agos/detection_tables.h150
-rw-r--r--engines/agos/intern.h3
-rw-r--r--engines/agos/sound.cpp2
3 files changed, 153 insertions, 2 deletions
diff --git a/engines/agos/detection_tables.h b/engines/agos/detection_tables.h
index 90e5a84829..cf7dab9d85 100644
--- a/engines/agos/detection_tables.h
+++ b/engines/agos/detection_tables.h
@@ -2401,6 +2401,156 @@ static const AGOSGameDescription gameDescriptions[] = {
GF_TALKIE
},
+ // Simon the Sorcerer 2 - Russian Fan with MT-32 fix (25th Anniversary Edition)
+ {
+ {
+ "simon2",
+ "25th Anniversary Edition",
+
+ {
+ { "gsptr30", GAME_BASEFILE, "e26d162e573587f4601b88701292212c", 58851 },
+ { "icon.dat", GAME_ICONFILE, "72096a62d36e6034ea9fecc13b2dbdab", 18089 },
+ { "simon2.gme", GAME_GMEFILE, "f1727b15b3e389f0248363d890751ee7", 19695662 },
+ { "stripped.txt", GAME_STRFILE, "e229f84d46fa83f99b4a7115679f3fb6", 171 },
+ { "tbllist", GAME_TBLFILE, "2082f8d02075e590300478853a91ffd9", 513 },
+ { NULL, 0, NULL, 0}
+ },
+ Common::RU_RUS,
+ Common::kPlatformDOS,
+ ADGF_CD,
+ GUIO0()
+ },
+
+ GType_SIMON2,
+ GID_SIMON2,
+ GF_TALKIE
+ },
+
+ // Simon the Sorcerer 2 - Polish with MT-32 fix (25th Anniversary Edition)
+ {
+ {
+ "simon2",
+ "25th Anniversary Edition",
+
+ {
+ { "gsptr30", GAME_BASEFILE, "657fd873f5d0637097ee02315b447e6f", -1},
+ { "icon.dat", GAME_ICONFILE, "72096a62d36e6034ea9fecc13b2dbdab", -1},
+ { "simon2.gme", GAME_GMEFILE, "212fa5638a76869537d092d4e76524c0", 20037221},
+ { "stripped.txt", GAME_STRFILE, "e229f84d46fa83f99b4a7115679f3fb6", -1},
+ { "tbllist", GAME_TBLFILE, "2082f8d02075e590300478853a91ffd9", -1},
+ { NULL, 0, NULL, 0}
+ },
+ Common::PL_POL,
+ Common::kPlatformDOS,
+ ADGF_CD,
+ GUIO0()
+ },
+
+ GType_SIMON2,
+ GID_SIMON2,
+ GF_TALKIE | GF_WAVSFX
+ },
+
+ // Simon the Sorcerer 2 - Hebrew with MT-32 fix (25th Anniversary Edition)
+ {
+ {
+ "simon2",
+ "25th Anniversary Edition",
+
+ {
+ { "gsptr30", GAME_BASEFILE, "952a2b1be23c3c609ba8d988a9a1627d", 53366},
+ { "icon.dat", GAME_ICONFILE, "72096a62d36e6034ea9fecc13b2dbdab", 18089},
+ { "simon2.gme", GAME_GMEFILE, "40ac2d4763d97a9268023dc6db17e2ce", 20017302},
+ { "stripped.txt", GAME_STRFILE, "de9dbc24158660e153483fa0cf6c3172", 171},
+ { "tbllist", GAME_TBLFILE, "2082f8d02075e590300478853a91ffd9", 513},
+ { NULL, 0, NULL, 0}
+ },
+ Common::HE_ISR,
+ Common::kPlatformDOS,
+ ADGF_CD,
+ GUIO0()
+ },
+
+ GType_SIMON2,
+ GID_SIMON2,
+ GF_TALKIE | GF_WAVSFX
+ },
+
+ // Simon the Sorcerer 2 - Italian with MT-32 fix (25th Anniversary Edition)
+ {
+ {
+ "simon2",
+ "25th Anniversary Edition",
+
+ {
+ { "gsptr30", GAME_BASEFILE, "3e11d400bea0638f360a724687005cd1", -1},
+ { "icon.dat", GAME_ICONFILE, "72096a62d36e6034ea9fecc13b2dbdab", -1},
+ { "simon2.gme", GAME_GMEFILE, "510d012bcc5775a8513923163ffe4458", 20066490},
+ { "stripped.txt", GAME_STRFILE, "bea6843fb9f3b2144fcb146d62db0b9a", -1},
+ { "tbllist", GAME_TBLFILE, "2082f8d02075e590300478853a91ffd9", -1},
+ { NULL, 0, NULL, 0}
+ },
+ Common::IT_ITA,
+ Common::kPlatformDOS,
+ ADGF_CD,
+ GUIO0()
+ },
+
+ GType_SIMON2,
+ GID_SIMON2,
+ GF_TALKIE | GF_WAVSFX
+ },
+
+ // Simon the Sorcerer 2 - Czech with MT-32 fix (25th Anniversary Edition)
+ {
+ {
+ "simon2",
+ "25th Anniversary Edition",
+
+ {
+ { "gsptr30", GAME_BASEFILE, "eb8217f9ec4628d12ca606033146c48c", -1},
+ { "icon.dat", GAME_ICONFILE, "72096a62d36e6034ea9fecc13b2dbdab", -1},
+ { "simon2.gme", GAME_GMEFILE, "50188f9fde0d063c824476972936a52f", 20054555},
+ { "stripped.txt", GAME_STRFILE, "e229f84d46fa83f99b4a7115679f3fb6", -1},
+ { "tbllist", GAME_TBLFILE, "2082f8d02075e590300478853a91ffd9", -1},
+ { NULL, 0, NULL, 0}
+ },
+ Common::CZ_CZE,
+ Common::kPlatformDOS,
+ ADGF_CD,
+ GUIO0()
+ },
+
+ GType_SIMON2,
+ GID_SIMON2,
+ GF_TALKIE | GF_WAVSFX
+ },
+
+ // Simon the Sorcerer 2 - Spanish with MT-32 fix (25th Anniversary Edition)
+ {
+ {
+ "simon2",
+ "25th Anniversary Edition",
+
+ {
+ { "gsptr30", GAME_BASEFILE, "268dc322aa73bcf27bb016b8e8ceb889", -1},
+ { "icon.dat", GAME_ICONFILE, "72096a62d36e6034ea9fecc13b2dbdab", -1},
+ { "simon2.gme", GAME_GMEFILE, "2b997db3c677fb3d2174c73ba2cc53e1", 20049608},
+ { "stripped.txt", GAME_STRFILE, "d13753796bd81bf313a2449f34d8b112", -1},
+ { "tbllist", GAME_TBLFILE, "2082f8d02075e590300478853a91ffd9", -1},
+ { NULL, 0, NULL, 0}
+ },
+ Common::ES_ESP,
+ Common::kPlatformDOS,
+ ADGF_CD,
+ GUIO0()
+ },
+
+ GType_SIMON2,
+ GID_SIMON2,
+ GF_TALKIE | GF_WAVSFX
+ },
+
#ifdef ENABLE_AGOS2
// The Feeble Files - English DOS Demo
{
diff --git a/engines/agos/intern.h b/engines/agos/intern.h
index 3f5c8c519b..afc0cad08e 100644
--- a/engines/agos/intern.h
+++ b/engines/agos/intern.h
@@ -256,7 +256,8 @@ enum GameFeatures {
GF_PLANAR = 1 << 7,
GF_DEMO = 1 << 8,
GF_PACKED = 1 << 9,
- GF_BROKEN_FF_RATING = 1 << 10
+ GF_BROKEN_FF_RATING = 1 << 10,
+ GF_WAVSFX = 1 << 11
};
enum GameFileTypes {
diff --git a/engines/agos/sound.cpp b/engines/agos/sound.cpp
index 13b5bf761c..ae2412feb4 100644
--- a/engines/agos/sound.cpp
+++ b/engines/agos/sound.cpp
@@ -519,7 +519,7 @@ void Sound::loadSfxTable(const char *gameFilename, uint32 base) {
delete _effects;
const bool dataIsUnsigned = true;
- if (_vm->getPlatform() == Common::kPlatformWindows)
+ if (_vm->getPlatform() == Common::kPlatformWindows || (_vm->getFeatures() & GF_WAVSFX))
_effects = new WavSound(_mixer, gameFilename, base);
else
_effects = new VocSound(_mixer, gameFilename, dataIsUnsigned, base, false);