aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/detection.cpp
diff options
context:
space:
mode:
authorDavid Corrales2007-08-05 19:34:20 +0000
committerDavid Corrales2007-08-05 19:34:20 +0000
commit6856535010bd2fa4449bcfde1c88dc06cd46e26f (patch)
treeb81a2234c2beff0312c93e039d6cafda4babeca6 /engines/saga/detection.cpp
parent1400d28bfb37fc94f3c44dec0a4d0cef65fb8fb7 (diff)
parentec1803f838d5efc7decf75c05a1fb4a9633751e5 (diff)
downloadscummvm-rg350-6856535010bd2fa4449bcfde1c88dc06cd46e26f.tar.gz
scummvm-rg350-6856535010bd2fa4449bcfde1c88dc06cd46e26f.tar.bz2
scummvm-rg350-6856535010bd2fa4449bcfde1c88dc06cd46e26f.zip
Merged fsnode with trunk: r27971:28460
svn-id: r28462
Diffstat (limited to 'engines/saga/detection.cpp')
-rw-r--r--engines/saga/detection.cpp34
1 files changed, 33 insertions, 1 deletions
diff --git a/engines/saga/detection.cpp b/engines/saga/detection.cpp
index 9b9a0ca872..c8918998f1 100644
--- a/engines/saga/detection.cpp
+++ b/engines/saga/detection.cpp
@@ -69,7 +69,19 @@ int SagaEngine::getFontsCount() const { return _gameDescription->fontsCount; }
int SagaEngine::getGameId() const { return _gameDescription->gameId; }
int SagaEngine::getGameType() const { return _gameDescription->gameType; }
-uint32 SagaEngine::getFeatures() const { return _gameDescription->features; }
+
+uint32 SagaEngine::getFeatures() const {
+ uint32 result = _gameDescription->features;
+
+ if (_gf_wyrmkeep)
+ result |= GF_WYRMKEEP;
+
+ if (_gf_compressed_sounds)
+ result |= GF_COMPRESSED_SOUNDS;
+
+ return result;
+}
+
Common::Language SagaEngine::getLanguage() const { return _gameDescription->desc.language; }
Common::Platform SagaEngine::getPlatform() const { return _gameDescription->desc.platform; }
int SagaEngine::getGameNumber() const { return _gameNumber; }
@@ -133,6 +145,26 @@ bool SagaEngine::initGame() {
_displayClip.right = getDisplayInfo().logicalWidth;
_displayClip.bottom = getDisplayInfo().logicalHeight;
+ if (Common::File::exists("graphics/credit3n.dlt")) {
+ _gf_wyrmkeep = true;
+ }
+
+ // If a compressed sound file is found in the game's directory, set the compressed flag to true
+ if (_gameDescription->gameType == GType_ITE) {
+ if (Common::File::exists("sounds.cmp") || Common::File::exists("soundsd.cmp") ||
+ Common::File::exists("voices.cmp") || Common::File::exists("voicesd.cmp") ||
+ Common::File::exists("inherit the earth voices.cmp")) {
+ _gf_compressed_sounds = true;
+ }
+ } else {
+ if (Common::File::exists("voicess.cmp") || Common::File::exists("voices1.cmp") ||
+ Common::File::exists("voices2.cmp") || Common::File::exists("voices3.cmp") ||
+ Common::File::exists("voices4.cmp") || Common::File::exists("voices5.cmp") ||
+ Common::File::exists("voices6.cmp") || Common::File::exists("voicesd.cmp")) {
+ _gf_compressed_sounds = true;
+ }
+ }
+
return _resource->createContexts();
}