diff options
author | Max Horn | 2010-01-22 14:11:33 +0000 |
---|---|---|
committer | Max Horn | 2010-01-22 14:11:33 +0000 |
commit | 7ab85cd0353cd8cd1bd41e1a34853c1a2d8012d9 (patch) | |
tree | 830acd1bc4364746c5adc49cfd26b000cbc26fbd | |
parent | 6bbca6ee24438e65004dc41df0d0bbbd5b93e69c (diff) | |
download | scummvm-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
-rw-r--r-- | engines/scumm/imuse_digi/dimuse.cpp | 19 | ||||
-rw-r--r-- | engines/scumm/imuse_digi/dimuse.h | 1 | ||||
-rw-r--r-- | engines/scumm/imuse_digi/dimuse_track.cpp | 13 | ||||
-rw-r--r-- | engines/scumm/imuse_digi/dimuse_track.h | 10 |
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 |