aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/drascula/talk.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/drascula/talk.cpp b/engines/drascula/talk.cpp
index 7ae06c9cf8..eb4f543532 100644
--- a/engines/drascula/talk.cpp
+++ b/engines/drascula/talk.cpp
@@ -39,7 +39,15 @@ bool DrasculaEngine::isTalkFinished() {
return true;
}
- if (getScan() != 0)
+ Common::KeyCode key = getScan();
+ if (key == Common::KEYCODE_SPACE || key == Common::KEYCODE_PAUSE) {
+ // Pause speech until space is pressed again
+ // Note: an alternative is to implement a PauseDialog as is done in engines/scumm/dialogs.cpp
+ do {
+ pause(10);
+ key = getScan();
+ } while (key != Common::KEYCODE_SPACE && key != Common::KEYCODE_PAUSE && !shouldQuit());
+ } else if (key != 0)
stopSound();
if (soundIsActive())
return false;