[Scummvm-cvs-logs] scummvm master -> 6fe9bdf6c6f63320e351c348970c2864af708c42
Strangerke
Strangerke at scummvm.org
Sat Dec 27 16:08:38 CET 2014
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
6fe9bdf6c6 ACCESS: Fix speech
Commit: 6fe9bdf6c6f63320e351c348970c2864af708c42
https://github.com/scummvm/scummvm/commit/6fe9bdf6c6f63320e351c348970c2864af708c42
Author: Strangerke (strangerke at scummvm.org)
Date: 2014-12-27T16:06:32+01:00
Commit Message:
ACCESS: Fix speech
Changed paths:
engines/access/access.cpp
engines/access/sound.cpp
engines/access/sound.h
diff --git a/engines/access/access.cpp b/engines/access/access.cpp
index 67255ff..080a8ef 100644
--- a/engines/access/access.cpp
+++ b/engines/access/access.cpp
@@ -227,7 +227,8 @@ void AccessEngine::speakText(ASurface *s, const Common::String &msg) {
_sound->playSound(0);
_scripts->cmdFreeSound();
- _events->pollEvents();
+ while(_sound->isSFXPlaying() && !shouldQuit())
+ _events->pollEvents();
if (_events->isKeyMousePressed()) {
_sndSubFile += soundsLeft;
@@ -258,7 +259,8 @@ void AccessEngine::speakText(ASurface *s, const Common::String &msg) {
_sound->playSound(0);
_scripts->cmdFreeSound();
- _events->pollEvents();
+ while(_sound->isSFXPlaying() && !shouldQuit())
+ _events->pollEvents();
if (_events->_leftButton) {
_events->debounceLeft();
diff --git a/engines/access/sound.cpp b/engines/access/sound.cpp
index 82199a8..cfc8b7a 100644
--- a/engines/access/sound.cpp
+++ b/engines/access/sound.cpp
@@ -162,6 +162,10 @@ void SoundManager::checkSoundQueue() {
DisposeAfterUse::YES);
}
+bool SoundManager::isSFXPlaying() {
+ return _mixer->isSoundHandleActive(_effectsHandle);
+}
+
void SoundManager::loadSounds(Common::Array<RoomInfo::SoundIdent> &sounds) {
debugC(1, kDebugSound, "loadSounds");
diff --git a/engines/access/sound.h b/engines/access/sound.h
index c276648..3646c2c 100644
--- a/engines/access/sound.h
+++ b/engines/access/sound.h
@@ -66,6 +66,7 @@ public:
void playSound(int soundIndex);
void checkSoundQueue();
+ bool isSFXPlaying();
Resource *loadSound(int fileNum, int subfile);
void loadSounds(Common::Array<RoomInfo::SoundIdent> &sounds);
More information about the Scummvm-git-logs
mailing list