aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorMax Horn2010-01-22 14:11:33 +0000
committerMax Horn2010-01-22 14:11:33 +0000
commit7ab85cd0353cd8cd1bd41e1a34853c1a2d8012d9 (patch)
tree830acd1bc4364746c5adc49cfd26b000cbc26fbd /engines/scumm
parent6bbca6ee24438e65004dc41df0d0bbbd5b93e69c (diff)
downloadscummvm-rg350-7ab85cd0353cd8cd1bd41e1a34853c1a2d8012d9.tar.gz
scummvm-rg350-7ab85cd0353cd8cd1bd41e1a34853c1a2d8012d9.tar.bz2
scummvm-rg350-7ab85cd0353cd8cd1bd41e1a34853c1a2d8012d9.zip
SCUMM: Get rid of some redundant enum vals in iMuse digitial
svn-id: r47436
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/imuse_digi/dimuse.cpp19
-rw-r--r--engines/scumm/imuse_digi/dimuse.h1
-rw-r--r--engines/scumm/imuse_digi/dimuse_track.cpp13
-rw-r--r--engines/scumm/imuse_digi/dimuse_track.h10
4 files changed, 15 insertions, 28 deletions
diff --git a/engines/scumm/imuse_digi/dimuse.cpp b/engines/scumm/imuse_digi/dimuse.cpp
index 55fc66f058..d087347211 100644
--- a/engines/scumm/imuse_digi/dimuse.cpp
+++ b/engines/scumm/imuse_digi/dimuse.cpp
@@ -76,14 +76,18 @@ IMuseDigital::~IMuseDigital() {
free(_audioNames);
}
-int32 IMuseDigital::makeMixerFlags(int32 flags) {
+static int32 makeMixerFlags(Track *track) {
+ const int32 flags = track->mixerFlags;
int32 mixerFlags = 0;
if (flags & kFlagUnsigned)
mixerFlags |= Audio::FLAG_UNSIGNED;
if (flags & kFlag16Bits)
mixerFlags |= Audio::FLAG_16BITS;
- if (flags & kFlagLittleEndian)
+
+#ifdef SCUMM_LITTLE_ENDIAN
+ if (track->sndDataExtComp)
mixerFlags |= Audio::FLAG_LITTLE_ENDIAN;
+#endif
if (flags & kFlagStereo)
mixerFlags |= Audio::FLAG_STEREO;
return mixerFlags;
@@ -186,7 +190,7 @@ void IMuseDigital::saveOrLoad(Serializer *ser) {
track->feedSize = freq * channels;
track->mixerFlags = 0;
if (channels == 2)
- track->mixerFlags = kFlagStereo | kFlagReverseStereo;
+ track->mixerFlags = kFlagStereo;
if ((bits == 12) || (bits == 16)) {
track->mixerFlags |= kFlag16Bits;
@@ -196,15 +200,10 @@ void IMuseDigital::saveOrLoad(Serializer *ser) {
} else
error("IMuseDigital::saveOrLoad(): Can't handle %d bit samples", bits);
-#ifdef SCUMM_LITTLE_ENDIAN
- if (track->sndDataExtComp)
- track->mixerFlags |= kFlagLittleEndian;
-#endif
-
track->stream = Audio::makeQueuingAudioStream(freq, (track->mixerFlags & kFlagStereo) != 0);
_mixer->playInputStream(track->getType(), &track->mixChanHandle, track->stream, -1, track->getVol(), track->getPan(),
- DisposeAfterUse::YES, false, (track->mixerFlags & kFlagReverseStereo) != 0);
+ DisposeAfterUse::YES, false, (track->mixerFlags & kFlagStereo) != 0);
_mixer->pauseHandle(track->mixChanHandle, true);
}
}
@@ -344,7 +343,7 @@ void IMuseDigital::callback() {
curFeedSize = feedSize;
if (_mixer->isReady()) {
- track->stream->queueBuffer(tmpSndBufferPtr, curFeedSize, DisposeAfterUse::YES, makeMixerFlags(track->mixerFlags));
+ track->stream->queueBuffer(tmpSndBufferPtr, curFeedSize, DisposeAfterUse::YES, makeMixerFlags(track));
track->regionOffset += curFeedSize;
} else
free(tmpSndBufferPtr);
diff --git a/engines/scumm/imuse_digi/dimuse.h b/engines/scumm/imuse_digi/dimuse.h
index 76fb8483ac..bf5feeb08f 100644
--- a/engines/scumm/imuse_digi/dimuse.h
+++ b/engines/scumm/imuse_digi/dimuse.h
@@ -87,7 +87,6 @@ private:
int _stopingSequence;
bool _radioChatterSFX;
- int32 makeMixerFlags(int32 flags);
static void timer_handler(void *refConf);
void callback();
void switchToNextRegion(Track *track);
diff --git a/engines/scumm/imuse_digi/dimuse_track.cpp b/engines/scumm/imuse_digi/dimuse_track.cpp
index dd68181cc9..e56864548e 100644
--- a/engines/scumm/imuse_digi/dimuse_track.cpp
+++ b/engines/scumm/imuse_digi/dimuse_track.cpp
@@ -113,7 +113,7 @@ void IMuseDigital::startSound(int soundId, const char *soundName, int soundType,
if (track->souStreamUsed) {
_mixer->playInputStream(track->getType(), &track->mixChanHandle, input, -1, track->getVol(), track->getPan(),
- DisposeAfterUse::YES, false, (track->mixerFlags & kFlagReverseStereo) != 0);
+ DisposeAfterUse::YES, false, (track->mixerFlags & kFlagStereo) != 0);
} else {
strcpy(track->soundName, soundName);
track->soundDesc = _sound->openSound(soundId, soundName, soundType, volGroupId, -1);
@@ -151,7 +151,7 @@ void IMuseDigital::startSound(int soundId, const char *soundName, int soundType,
track->feedSize = freq * channels;
if (channels == 2)
- track->mixerFlags = kFlagStereo | kFlagReverseStereo;
+ track->mixerFlags = kFlagStereo;
if ((bits == 12) || (bits == 16)) {
track->mixerFlags |= kFlag16Bits;
@@ -161,11 +161,6 @@ void IMuseDigital::startSound(int soundId, const char *soundName, int soundType,
} else
error("IMuseDigital::startSound(): Can't handle %d bit samples", bits);
-#ifdef SCUMM_LITTLE_ENDIAN
- if (track->sndDataExtComp)
- track->mixerFlags |= kFlagLittleEndian;
-#endif
-
if (otherTrack && otherTrack->used && !otherTrack->toBeRemoved) {
track->curRegion = otherTrack->curRegion;
track->dataOffset = otherTrack->dataOffset;
@@ -175,7 +170,7 @@ void IMuseDigital::startSound(int soundId, const char *soundName, int soundType,
track->stream = Audio::makeQueuingAudioStream(freq, track->mixerFlags & kFlagStereo);
_mixer->playInputStream(track->getType(), &track->mixChanHandle, track->stream, -1, track->getVol(), track->getPan(),
- DisposeAfterUse::YES, false, (track->mixerFlags & kFlagReverseStereo) != 0);
+ DisposeAfterUse::YES, false, (track->mixerFlags & kFlagStereo) != 0);
}
track->used = true;
@@ -376,7 +371,7 @@ Track *IMuseDigital::cloneToFadeOutTrack(Track *track, int fadeDelay) {
// Create an appendable output buffer
fadeTrack->stream = Audio::makeQueuingAudioStream(_sound->getFreq(fadeTrack->soundDesc), track->mixerFlags & kFlagStereo);
_mixer->playInputStream(track->getType(), &fadeTrack->mixChanHandle, fadeTrack->stream, -1, fadeTrack->getVol(), fadeTrack->getPan(),
- DisposeAfterUse::YES, false, (track->mixerFlags & kFlagReverseStereo) != 0);
+ DisposeAfterUse::YES, false, (track->mixerFlags & kFlagStereo) != 0);
fadeTrack->used = true;
debug(5, "cloneToFadeOutTrack() - end of func, soundId %d, fade soundId %d", track->soundId, fadeTrack->soundId);
diff --git a/engines/scumm/imuse_digi/dimuse_track.h b/engines/scumm/imuse_digi/dimuse_track.h
index e3daf37b8b..8c6625cad1 100644
--- a/engines/scumm/imuse_digi/dimuse_track.h
+++ b/engines/scumm/imuse_digi/dimuse_track.h
@@ -38,13 +38,7 @@ namespace Scumm {
enum {
kFlagUnsigned = 1 << 0,
kFlag16Bits = 1 << 1,
- kFlagLittleEndian = 1 << 2,
- kFlagStereo = 1 << 3,
- kFlagReverseStereo = 1 << 4
-
- // Not used by Digital iMUSE
- // kFlagAutoFree = 1 << 5,
- // kFlagLoop = 1 << 6
+ kFlagStereo = 1 << 3
};
struct Track {
@@ -72,7 +66,7 @@ struct Track {
int32 soundType; // type of sound data (kSpeechSoundType, kSFXSoundType, kMusicSoundType)
int32 feedSize; // size of sound data needed to be filled at each callback iteration
int32 dataMod12Bit; // value used between all callback to align 12 bit source of data
- int32 mixerFlags; // flags for sound mixer's channel (kFlagStereo, kFlag16Bits, kFlagReverseStereo, kFlagUnsigned, kFlagLittleEndian)
+ int32 mixerFlags; // flags for sound mixer's channel (kFlagStereo, kFlag16Bits, kFlagUnsigned)
ImuseDigiSndMgr::SoundDesc *soundDesc; // sound handle used by iMuse sound manager
Audio::SoundHandle mixChanHandle; // sound mixer's channel handle