aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2010-01-23 15:01:17 +0000
committerFilippos Karapetis2010-01-23 15:01:17 +0000
commit27b37ed97e4a47200f9940c800cd913e006dba10 (patch)
treedefb2df6a522b5aa583fd0f01ba2c8cdc8c03c4e /engines
parente488e0f7d5da43263ca373c60222e66d66852767 (diff)
downloadscummvm-rg350-27b37ed97e4a47200f9940c800cd913e006dba10.tar.gz
scummvm-rg350-27b37ed97e4a47200f9940c800cd913e006dba10.tar.bz2
scummvm-rg350-27b37ed97e4a47200f9940c800cd913e006dba10.zip
Amiga SCI1 games had signed sound data. Fixes PQ3 Amiga
svn-id: r47477
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/sound/music.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp
index a917e36ab3..13be36b488 100644
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -180,7 +180,11 @@ void SciMusic::soundInitSnd(MusicEntry *pSnd) {
if (track->digitalChannelNr != -1) {
byte *channelData = track->channels[track->digitalChannelNr].data;
delete pSnd->pStreamAud;
- pSnd->pStreamAud = Audio::makeRawMemoryStream(channelData, track->digitalSampleSize, DisposeAfterUse::NO, track->digitalSampleRate, Audio::FLAG_UNSIGNED);
+ byte flags = Audio::FLAG_UNSIGNED;
+ // Amiga SCI1 games had signed sound data
+ if (_soundVersion >= SCI_VERSION_1_EARLY && ((SciEngine *)g_engine)->getPlatform() == Common::kPlatformAmiga)
+ flags = 0;
+ pSnd->pStreamAud = Audio::makeRawMemoryStream(channelData, track->digitalSampleSize, DisposeAfterUse::NO, track->digitalSampleRate, flags);
delete pSnd->pLoopStream;
pSnd->pLoopStream = 0;
pSnd->soundType = Audio::Mixer::kSFXSoundType;