diff options
author | Max Horn | 2003-12-27 15:22:59 +0000 |
---|---|---|
committer | Max Horn | 2003-12-27 15:22:59 +0000 |
commit | 17c189d1f9c40e79ccddcea1a1d972b2642abe99 (patch) | |
tree | 95c851577a1acbffd338c447a85a47c7c76c48cb /scumm/sound.cpp | |
parent | a567b741e7f0711909bbcaf001b4adaa7ebc54b6 (diff) | |
download | scummvm-rg350-17c189d1f9c40e79ccddcea1a1d972b2642abe99.tar.gz scummvm-rg350-17c189d1f9c40e79ccddcea1a1d972b2642abe99.tar.bz2 scummvm-rg350-17c189d1f9c40e79ccddcea1a1d972b2642abe99.zip |
get rid of _noSubtitles, use ConfigManager directly instead; clean up some IMuseDigital oddities
svn-id: r11966
Diffstat (limited to 'scumm/sound.cpp')
-rw-r--r-- | scumm/sound.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/scumm/sound.cpp b/scumm/sound.cpp index 13fa9cb31f..9b0abe5185 100644 --- a/scumm/sound.cpp +++ b/scumm/sound.cpp @@ -559,7 +559,8 @@ void Sound::startTalkSound(uint32 offset, uint32 b, int mode, PlayingSoundHandle _mouthSyncMode = true; } - startSfxSound(_sfxFile, size, handle, id); + if (!_soundsPaused && _scumm->_mixer->isReady()) + startSfxSound(_sfxFile, size, handle, id); } void Sound::stopTalkSound() { @@ -794,9 +795,6 @@ void Sound::pauseSounds(bool pause) { void Sound::startSfxSound(File *file, int file_size, PlayingSoundHandle *handle, int id) { - if (_soundsPaused || !_scumm->_mixer->isReady()) - return; - if (file_size > 0) { if (_vorbis_mode) { #ifdef USE_VORBIS @@ -815,9 +813,7 @@ void Sound::startSfxSound(File *file, int file_size, PlayingSoundHandle *handle, byte *data = loadVOCFile(_sfxFile, size, rate); if (_scumm->_imuseDigital) { - _scumm->_imuseDigital->setVocVoice(data, size, rate); - _scumm->_imuseDigital->startSound(kTalkSoundID); - free(data); + _scumm->_imuseDigital->startSound(kTalkSoundID, data, size, rate); } else { _scumm->_mixer->playRaw(handle, data, size, rate, SoundMixer::FLAG_AUTOFREE | SoundMixer::FLAG_UNSIGNED, id); } @@ -832,7 +828,8 @@ File *Sound::openSfxFile() { * same directory */ offset_table = NULL; - // for now until better streaming will be, ft voice can't not be compressed + // FIXME / TODO / HACK: for FT voice can only be loaded from original .sou + // files, not .so3 or .sog. This will be so until IMuseDigital gets fixed. if (_scumm->_imuseDigital) { sprintf(buf, "%s.sou", _scumm->getGameName()); if (!file->open(buf, _scumm->getGameDataPath())) { |