diff options
-rw-r--r-- | engines/draci/game.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp index 9965c9c4b1..9e18eb5f3c 100644 --- a/engines/draci/game.cpp +++ b/engines/draci/game.cpp @@ -330,9 +330,16 @@ void Game::loop() { uint speechDuration = kBaseSpeechDuration + speechFrame->getLength() * kSpeechTimeUnit / (128 / 16 + 1); - - if ((_vm->_system->getMillis() - _speechTick) >= speechDuration) { + + // If the current speech text has expired or the user clicked a mouse button, + // advance to the next line of text + if (_vm->_mouse->lButtonPressed() || + _vm->_mouse->rButtonPressed() || + (_vm->_system->getMillis() - _speechTick) >= speechDuration) { + _shouldExitLoop = true; + _vm->_mouse->lButtonSet(false); + _vm->_mouse->rButtonSet(false); } else { _shouldExitLoop = false; } |