From 069f1079d8c9a253e019380c6074dc711f8953d2 Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Fri, 4 Jan 2013 14:21:34 +0100 Subject: DRASCULA: Respond quicker to aborting the von Braun song This also fixes a palette glitch when trying to interrupt during a fade. (The old image would flash before the room changed. It's possible other such glitches still exist here, but if so they're much less obvious than that one was.) --- engines/drascula/animation.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'engines') diff --git a/engines/drascula/animation.cpp b/engines/drascula/animation.cpp index 43799f7944..969d06f2ef 100644 --- a/engines/drascula/animation.cpp +++ b/engines/drascula/animation.cpp @@ -798,17 +798,22 @@ void DrasculaEngine::animation_16_2() { return; } - delay(3000); + uint32 now = _system->getMillis(); + while (_system->getMillis() - now < 3000 * 2) { + delay(50); + if (getScan() != 0) { + asco(); + return; + } + } if (i < 4) { fadeToBlack(1); - + clearRoom(); if (getScan() != 0) { asco(); return; } - - clearRoom(); } } @@ -818,6 +823,7 @@ void DrasculaEngine::animation_16_2() { for (int l = 1; l < 200; l++) { copyBackground(0, 0, 0, l, 320, 200 - l, drawSurface3, screenSurface); copyBackground(0, 200 - l, 0, 0, 320, l, bgSurface, screenSurface); + delay(10); updateScreen(); if (getScan() != 0) { asco(); -- cgit v1.2.3