aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2010-02-26 22:24:48 +0000
committerFilippos Karapetis2010-02-26 22:24:48 +0000
commit3f2471418d9e37aca3746bbc36d947471570fdae (patch)
treed09a0d4cb160a22ee4f56a9a01279b1187af7a9b
parentbd2e65a02f5335bbf29a7aefef6e660fc33b9d8b (diff)
downloadscummvm-rg350-3f2471418d9e37aca3746bbc36d947471570fdae.tar.gz
scummvm-rg350-3f2471418d9e37aca3746bbc36d947471570fdae.tar.bz2
scummvm-rg350-3f2471418d9e37aca3746bbc36d947471570fdae.zip
Fixed the music in some Mac versions of ITE and disabled some unused code for the original DOS demo of ITE
svn-id: r48139
-rw-r--r--engines/saga/music.cpp7
-rw-r--r--engines/saga/saga.h4
-rw-r--r--engines/saga/script.cpp4
3 files changed, 14 insertions, 1 deletions
diff --git a/engines/saga/music.cpp b/engines/saga/music.cpp
index 200537d62e..55ced7fff5 100644
--- a/engines/saga/music.cpp
+++ b/engines/saga/music.cpp
@@ -306,6 +306,13 @@ void Music::play(uint32 resourceId, MusicFlags flags) {
if (!_digitalMusicContext->isCompressed()) {
byte musicFlags = Audio::FLAG_STEREO |
Audio::FLAG_16BITS | Audio::FLAG_LITTLE_ENDIAN;
+
+ if (_vm->isBigEndian())
+ musicFlags &= ~Audio::FLAG_LITTLE_ENDIAN;
+
+ if (_vm->getFeatures() & GF_MONO_MUSIC)
+ musicFlags &= ~Audio::FLAG_STEREO;
+
audioStream = Audio::makeRawStream(musicStream, 11025, musicFlags, DisposeAfterUse::YES);
} else {
// Read compressed header to determine compression type
diff --git a/engines/saga/saga.h b/engines/saga/saga.h
index 674447a511..4605c0b5c7 100644
--- a/engines/saga/saga.h
+++ b/engines/saga/saga.h
@@ -145,7 +145,9 @@ enum GameFeatures {
GF_ITE_FLOPPY = 1 << 1,
GF_SCENE_SUBSTITUTES = 1 << 2,
GF_NON_INTERACTIVE = 1 << 3,
- GF_OLD_ITE_DOS = 1 << 4,
+#if 0
+ GF_OLD_ITE_DOS = 1 << 4, // Currently unused
+#endif
GF_MONO_MUSIC = 1 << 5,
GF_EXTRA_ITE_CREDITS = 1 << 6,
GF_IHNM_DEMO = 1 << 7,
diff --git a/engines/saga/script.cpp b/engines/saga/script.cpp
index 6f8810af40..cac3cec373 100644
--- a/engines/saga/script.cpp
+++ b/engines/saga/script.cpp
@@ -988,15 +988,19 @@ void Script::opSpeak(SCRIPTOP_PARAMS) {
// now data contains last string index
+#if 0
if (_vm->getFeatures() & GF_OLD_ITE_DOS) { // special ITE dos
if ((_vm->_scene->currentSceneNumber() == ITE_DEFAULT_SCENE) &&
(iparam1 >= 288) && (iparam1 <= (RID_SCENE1_VOICE_END - RID_SCENE1_VOICE_START + 288))) {
sampleResourceId = RID_SCENE1_VOICE_START + iparam1 - 288;
}
} else {
+#endif
if (thread->_voiceLUT->voicesCount > first)
sampleResourceId = thread->_voiceLUT->voices[first];
+#if 0
}
+#endif
if (sampleResourceId < 0 || sampleResourceId > 4000)
sampleResourceId = -1;