diff options
author | Paul Gilbert | 2015-03-14 18:34:26 -0400 |
---|---|---|
committer | Paul Gilbert | 2015-03-14 18:34:26 -0400 |
commit | 9eb342615c4cdbc1f38374b9a7808dc54bfb7ad9 (patch) | |
tree | f45511cb510c09cfff0b00fdd97fb2775e07515e /engines/mads/nebular | |
parent | fa7dfc396a2ca33e01a0151f63857dd64406502c (diff) | |
download | scummvm-rg350-9eb342615c4cdbc1f38374b9a7808dc54bfb7ad9.tar.gz scummvm-rg350-9eb342615c4cdbc1f38374b9a7808dc54bfb7ad9.tar.bz2 scummvm-rg350-9eb342615c4cdbc1f38374b9a7808dc54bfb7ad9.zip |
MADS: Fix frequently getting endless wait cursor after doctor hits you
Diffstat (limited to 'engines/mads/nebular')
-rw-r--r-- | engines/mads/nebular/nebular_scenes3.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/mads/nebular/nebular_scenes3.cpp b/engines/mads/nebular/nebular_scenes3.cpp index 383f5b509f..4e7781e7a2 100644 --- a/engines/mads/nebular/nebular_scenes3.cpp +++ b/engines/mads/nebular/nebular_scenes3.cpp @@ -3313,7 +3313,7 @@ void Scene319::step() { switch (_game._trigger) { case 70: - case 71: + case 71: { _animMode = 1; _nextAction1 = _nextAction2; _animFrame = 0; @@ -3336,7 +3336,14 @@ void Scene319::step() { _scene->_sequences.updateTimeout(_globals._sequenceIndexes[i], oldIdx); } _scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_EXPIRE, 0, 74); + + // WORKAROUND: This fixes the game sometimes going into an endless waiting + // loop even after the doctor has finished hitting Rex. Note sure if it's due + // to a bug in room script or in the engine, but this at least fixes it + int seqIndex = _scene->_sequences.findByTrigger(2); + _scene->_sequences[seqIndex]._doneFlag = false; break; + } case 72: _vm->_palette->setColorFlags(0xFF, 0, 0); |