Prevent The Dig from overlapping talk sounds

svn-id: r5201
This commit is contained in:
James Brown 2002-10-20 16:25:43 +00:00
parent abf1cf2f13
commit f9c94f476a

View File

@ -2549,6 +2549,10 @@ void Scumm::o6_talkActor()
}
pointer[j] = 0;
// Stop any talking that's still going on
if (_sound->_talkChannel > -1)
_mixer->stop(_sound->_talkChannel);
_sound->_talkChannel = _sound->playBundleSound(pointer);
_messagePtr = (byte*)&transText;
setStringVars(0);
@ -2577,6 +2581,10 @@ void Scumm::o6_talkEgo()
}
pointer[j] = 0;
// Stop any talking that's still going on
if (_sound->_talkChannel > -1)
_mixer->stop(_sound->_talkChannel);
_sound->_talkChannel = _sound->playBundleSound(pointer);
_messagePtr = (byte*)&transText;
setStringVars(0);
@ -3191,7 +3199,12 @@ void Scumm::decodeParseString2(int m, int n)
}
pointer[j] = 0;
// Stop any talking that's still going on
if (_sound->_talkChannel > -1)
_mixer->stop(_sound->_talkChannel);
_sound->_talkChannel = _sound->playBundleSound(pointer);
printf("Talkchannel for %s is %d\n", transText, _sound->_talkChannel);
_messagePtr = (byte*)&transText;
switch (m) {