aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/ui
diff options
context:
space:
mode:
authorThanasis Antoniou2019-09-16 11:59:52 +0300
committerThanasis Antoniou2019-09-16 12:00:25 +0300
commit7c20b07ffb3b9260d3b9f250a7d6041769ad7b5f (patch)
tree8ef5fae30b13914b910eab989e069637e315ec77 /engines/bladerunner/ui
parent5453653a4cfb3098e098df0e753b4d302edc896b (diff)
downloadscummvm-rg350-7c20b07ffb3b9260d3b9f250a7d6041769ad7b5f.tar.gz
scummvm-rg350-7c20b07ffb3b9260d3b9f250a7d6041769ad7b5f.tar.bz2
scummvm-rg350-7c20b07ffb3b9260d3b9f250a7d6041769ad7b5f.zip
BLADERUNNER: Add engine gui option to avoid use of delayMillis()
Diffstat (limited to 'engines/bladerunner/ui')
-rw-r--r--engines/bladerunner/ui/kia.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/bladerunner/ui/kia.cpp b/engines/bladerunner/ui/kia.cpp
index 32704fc7d2..65e3e84c40 100644
--- a/engines/bladerunner/ui/kia.cpp
+++ b/engines/bladerunner/ui/kia.cpp
@@ -666,8 +666,14 @@ void KIA::mouseDownCallback(int buttonId, void *callbackData) {
int endTrackId = self->_vm->_audioPlayer->playAud(self->_vm->_gameInfo->getSfxTrack(kSfxSHUTDOWN), 70, 0, 0, 50, 0);
if (endTrackId != -1) {
// wait until the full clip has played (similar to the original)
+ uint32 timeNow = self->_vm->_time->currentSystem();
+ uint32 waittime = 16;
while (self->_vm->_audioPlayer->isActive(endTrackId)) {
- self->_vm->_system->delayMillis(16);
+ if (self->_vm->_noDelayMillisFramelimiter) {
+ while (self->_vm->_time->currentSystem() - timeNow < waittime) { }
+ } else {
+ self->_vm->_system->delayMillis(waittime);
+ }
}
}
}