[Scummvm-cvs-logs] scummvm branch-1-8 -> 68d8d7cbf3568dd646f4efc0e57b734dbc385c02
bluegr
bluegr at gmail.com
Tue May 17 10:30:30 CEST 2016
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
7be865881e LAB: Fix waiting for sounds embedded in animations
68d8d7cbf3 NEWS: Mention the lock-up fix for in-game animations in lab
Commit: 7be865881eb98db02d65278c50046479faffcea8
https://github.com/scummvm/scummvm/commit/7be865881eb98db02d65278c50046479faffcea8
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2016-05-17T11:30:07+03:00
Commit Message:
LAB: Fix waiting for sounds embedded in animations
A regression of 75d1385c8d1ba61b5740a0b43966d3c2f111440d
Changed paths:
engines/lab/anim.cpp
engines/lab/processroom.cpp
diff --git a/engines/lab/anim.cpp b/engines/lab/anim.cpp
index f2e6992..c319561 100644
--- a/engines/lab/anim.cpp
+++ b/engines/lab/anim.cpp
@@ -206,6 +206,8 @@ void Anim::diffNextFrame(bool onlyDiffData) {
_vm->updateEvents();
_vm->waitTOF();
}
+
+ _waitForEffect = false;
}
_size -= 8;
@@ -215,7 +217,9 @@ void Anim::diffNextFrame(bool onlyDiffData) {
_diffFile->skip(2);
// Sound effects embedded in animations are started here. These are
- // usually animation-specific, like door opening sounds, and are not looped
+ // usually animation-specific, like door opening sounds, and are not looped.
+ // The engine should wait for all such sounds to end.
+ _waitForEffect = true;
_vm->_music->playSoundEffect(_sampleSpeed, _size, false, _diffFile);
break;
@@ -231,6 +235,8 @@ void Anim::diffNextFrame(bool onlyDiffData) {
if (drawOnScreen)
didTOF = true;
}
+
+ _waitForEffect = false;
}
_isPlaying = false;
diff --git a/engines/lab/processroom.cpp b/engines/lab/processroom.cpp
index 5093e8e..68e6e63 100644
--- a/engines/lab/processroom.cpp
+++ b/engines/lab/processroom.cpp
@@ -254,16 +254,9 @@ void LabEngine::doActions(const ActionList &actionList) {
_music->loadSoundEffect(action->_messages[0], true, false);
break;
- case kActionShowDiff: {
- bool curWait = _anim->_waitForEffect;
- // Pause the engine until the sound is finished
- _anim->_waitForEffect = true;
+ case kActionShowDiff:
_graphics->readPict(action->_messages[0], true);
-
- // Restore the previous value of _waitForEffect
- _anim->_waitForEffect = curWait;
break;
- }
case kActionShowDiffLooping: // used in scene 44 (heart of the labyrinth, minotaur)
_graphics->readPict(action->_messages[0], false);
Commit: 68d8d7cbf3568dd646f4efc0e57b734dbc385c02
https://github.com/scummvm/scummvm/commit/68d8d7cbf3568dd646f4efc0e57b734dbc385c02
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2016-05-17T11:30:08+03:00
Commit Message:
NEWS: Mention the lock-up fix for in-game animations in lab
Changed paths:
NEWS
diff --git a/NEWS b/NEWS
index cc6ddc9..041e73c 100644
--- a/NEWS
+++ b/NEWS
@@ -39,6 +39,7 @@ For a more comprehensive changelog of the latest experimental code, see:
Lab:
- Fixed lock-up during ending sequence.
- Improved internal game controls.
+ - Fixed lock-up during some in-game animations.
SAGA:
- Fixed user interface colors in the French and German versions of I Have No
More information about the Scummvm-git-logs
mailing list