[Scummvm-cvs-logs] scummvm master -> 6f3716ae749829b5f7b446f4a97eb244570a7961

wjp wjp at usecode.org
Sat Apr 6 20:33:48 CEST 2013


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:
18feefbe40 SCI: Notify scripts of completed fade when aborting it
6f3716ae74 SCI: Re-initialize more of MusicEntry on play


Commit: 18feefbe40c06143e27fe45fbe8c5e05455a0294
    https://github.com/scummvm/scummvm/commit/18feefbe40c06143e27fe45fbe8c5e05455a0294
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2013-04-06T11:31:34-07:00

Commit Message:
SCI: Notify scripts of completed fade when aborting it

This tweaks a fix/workaround (commit 96540686) for bugs #3266480 and #3041738.
Also add CHECKME to verify the accuracy of this workaround further.

This fixes the regressions #3291115, #3555404, #3596335 and #3610063.

Changed paths:
    engines/sci/sound/music.cpp



diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp
index a8a65d2..913ba32 100644
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -485,6 +485,8 @@ void SciMusic::soundPlay(MusicEntry *pSnd) {
 				// Stop any in progress music fading, as that will reset the
 				// volume of the sound channels that the faded song occupies..
 				// Fixes bug #3266480 and partially fixes bug #3041738.
+				// CHECKME: Is this the right thing to do? Are these
+				// overlapping channels not a deeper underlying problem?
 				for (uint i = 0; i < playListCount; i++) {
 					// Is another MIDI song being faded down? If yes, stop it
 					// immediately instead
@@ -495,6 +497,7 @@ void SciMusic::soundPlay(MusicEntry *pSnd) {
 						_playList[i]->pMidiParser->stop();
 						freeChannels(_playList[i]);
 						_playList[i]->fadeStep = 0;
+						_playList[i]->fadeCompleted = true;
 					}
 				}
 			}


Commit: 6f3716ae749829b5f7b446f4a97eb244570a7961
    https://github.com/scummvm/scummvm/commit/6f3716ae749829b5f7b446f4a97eb244570a7961
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2013-04-06T11:31:34-07:00

Commit Message:
SCI: Re-initialize more of MusicEntry on play

This fixes bug #3267956.

Changed paths:
    engines/sci/sound/soundcmd.cpp



diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp
index d03e084..737a130 100644
--- a/engines/sci/sound/soundcmd.cpp
+++ b/engines/sci/sound/soundcmd.cpp
@@ -201,6 +201,10 @@ void SoundCommandParser::processPlaySound(reg_t obj) {
 			resourceId, musicSlot->loop, musicSlot->priority, musicSlot->volume);
 
 	_music->soundPlay(musicSlot);
+
+	// Reset any left-over signals
+	musicSlot->signal = 0;
+	musicSlot->fadeStep = 0;
 }
 
 reg_t SoundCommandParser::kDoSoundRestore(int argc, reg_t *argv, reg_t acc) {






More information about the Scummvm-git-logs mailing list