aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorStrangerke2015-11-30 14:12:06 +0100
committerWillem Jan Palenstijn2015-12-23 21:33:44 +0100
commit8dbdc70de4b7819186620079bbb6a175d058f5e8 (patch)
tree5330d57fb550d0b49b619049f4d1ea3f25f51197 /engines
parent4a90aba77af7de91f03dc51a7180637eb843ca95 (diff)
downloadscummvm-rg350-8dbdc70de4b7819186620079bbb6a175d058f5e8.tar.gz
scummvm-rg350-8dbdc70de4b7819186620079bbb6a175d058f5e8.tar.bz2
scummvm-rg350-8dbdc70de4b7819186620079bbb6a175d058f5e8.zip
LAB: Fix stopDiffEnd. This fixes the intro (between others)
Diffstat (limited to 'engines')
-rw-r--r--engines/lab/readdiff.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/lab/readdiff.cpp b/engines/lab/readdiff.cpp
index 926ef359f9..bfe574a378 100644
--- a/engines/lab/readdiff.cpp
+++ b/engines/lab/readdiff.cpp
@@ -36,6 +36,8 @@
namespace Lab {
static bool PlayOnce = false;
+static bool StopPlayingEnd = false;
+
static uint32 header, size, WaitSec = 0L, WaitMicros = 0L, DelayMicros = 0L;
static uint16 CurBit = 0, framenumber = 0, samplespeed, numchunks = 1;
static byte *Buffer, temp[5];
@@ -249,7 +251,7 @@ void LabEngine::diffNextFrame() {
break;
}
case 65535L:
- if ((framenumber == 1) || PlayOnce) {
+ if ((framenumber == 1) || PlayOnce || StopPlayingEnd) {
int didTOF = 0;
if (waitForEffect) {
@@ -294,6 +296,7 @@ void playDiff() {
framenumber = 0;
numchunks = 1;
donepal = false;
+ StopPlayingEnd = false;
difffile = &storagefordifffile;
IsPlaying = true;
@@ -385,13 +388,12 @@ void stopDiff() {
}
}
-
-
/*****************************************************************************/
/* Stops an animation from running. */
/*****************************************************************************/
void stopDiffEnd() {
if (IsPlaying) {
+ StopPlayingEnd = true;
while (IsPlaying) {
g_lab->_music->updateMusic();
g_lab->diffNextFrame();