[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