diff options
author | Paweł Kołodziejski | 2004-02-13 06:43:10 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2004-02-13 06:43:10 +0000 |
commit | d474ccf7569ae1e660e9af0474671a25f9fcb6ad (patch) | |
tree | a11b40894633feb9b4fb28cebba01b4249ad784e /scumm/imuse_digi | |
parent | e5d9adea0248ec2d96e6dd9808db997bb23dc1b9 (diff) | |
download | scummvm-rg350-d474ccf7569ae1e660e9af0474671a25f9fcb6ad.tar.gz scummvm-rg350-d474ccf7569ae1e660e9af0474671a25f9fcb6ad.tar.bz2 scummvm-rg350-d474ccf7569ae1e660e9af0474671a25f9fcb6ad.zip |
proper usage actor talkVolume
svn-id: r12841
Diffstat (limited to 'scumm/imuse_digi')
-rw-r--r-- | scumm/imuse_digi/dimuse.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/scumm/imuse_digi/dimuse.cpp b/scumm/imuse_digi/dimuse.cpp index 611790376d..5a4203d644 100644 --- a/scumm/imuse_digi/dimuse.cpp +++ b/scumm/imuse_digi/dimuse.cpp @@ -282,7 +282,16 @@ void IMuseDigital::startSound(int soundId, const char *soundName, int soundType, bits = _sound->getBits(_track[l].soundHandle); channels = _sound->getChannels(_track[l].soundHandle); freq = _sound->getFreq(_track[l].soundHandle); - + + if ((soundId == kTalkSoundID) && (soundType == IMUSE_BUNDLE)) { + if (_vm->_actorToPrintStrFor != 0xFF && _vm->_actorToPrintStrFor != 0) { + Actor *a = _vm->derefActor(_vm->_actorToPrintStrFor, "IMuseDigital::startSound"); + freq = (freq * a->talkFrequency) / 256; + _track[l].pan = a->talkPan; + _track[l].vol = a->talkVolume * 1000; + } + } + assert(bits == 8 || bits == 12 || bits == 16); assert(channels == 1 || channels == 2); assert(0 < freq && freq <= 65535); |