diff options
Diffstat (limited to 'engines/bladerunner/bladerunner.cpp')
-rw-r--r-- | engines/bladerunner/bladerunner.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index 911a46ad83..2752baa393 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -1693,6 +1693,22 @@ void BladeRunnerEngine::loopActorSpeaking() { playerGainsControl(); } +/** +* To be used only for when there is a chance an ongoing dialogue in a dialogue queue +* might be interrupted AND that is unwanted behavior (sometimes, it's intended that the dialogue +* can be interrupted without necessarily being finished). +*/ +void BladeRunnerEngine::loopQueuedDialogueStillPlaying() { + if (_actorDialogueQueue->isEmpty()) { + return; + } + + do { + gameTick(); + } while (_gameIsRunning && !_actorDialogueQueue->isEmpty()); + +} + void BladeRunnerEngine::outtakePlay(int id, bool noLocalization, int container) { Common::String name = _gameInfo->getOuttake(id); |