aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/draci/game.cpp11
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;
}