From d46e0d8ab0d93102cea0d3573e54e8bfa00fcffe Mon Sep 17 00:00:00 2001 From: Thierry Crozat Date: Wed, 29 Mar 2017 22:02:34 +0100 Subject: DRASCULA: Add option to pause speech using space or pause key --- engines/drascula/talk.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'engines') 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; -- cgit v1.2.3