mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-05 01:38:36 +00:00
temporary fix for bug #771562, I am working on a proper one now
svn-id: r9044
This commit is contained in:
parent
f60e8ff53e
commit
83a3afab42
@ -562,7 +562,17 @@ void Sound::processSfxQueues() {
|
||||
|
||||
if (_scumm->VAR(_scumm->VAR_TALK_ACTOR)) { //_sfxMode & 2) {
|
||||
act = _scumm->VAR(_scumm->VAR_TALK_ACTOR);
|
||||
finished = !_talkChannelHandle;
|
||||
|
||||
// FIXME: This was changed in the process of my COMI fixes.
|
||||
// Problem is, 'finished' used to indicate if speech had
|
||||
// been running but now is finished. But now, it'll be set
|
||||
// even if there never has been any speech running (i.e. in
|
||||
// all games which don't even use speech). This will have
|
||||
// to be fixed properly! For now I am just disabling
|
||||
// this for V2 games. A better fix would be to introduce a second
|
||||
// variable which is set whenever speech is initiated, and reset
|
||||
// when it stops (i.e. when _talkChannelHandle is 0).
|
||||
finished = !_talkChannelHandle && (_scumm->_version > 2);
|
||||
|
||||
if (act != 0 && (uint) act < 0x80 && !_scumm->_string[0].no_talk_anim) {
|
||||
a = _scumm->derefActor(act, "processSfxQueues");
|
||||
|
Loading…
x
Reference in New Issue
Block a user