diff options
| -rw-r--r-- | engines/scumm/imuse/imuse.cpp | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/scumm/imuse/imuse.cpp b/engines/scumm/imuse/imuse.cpp index 78fd821f30..b7b72ba181 100644 --- a/engines/scumm/imuse/imuse.cpp +++ b/engines/scumm/imuse/imuse.cpp @@ -696,6 +696,23 @@ bool IMuseInternal::startSound_internal(int sound, int offset) {  	if (_game_id == GID_MONKEY2 && (sound == 100) && (getSoundStatus_internal(107, true) == 1))  		IMuseInternal::stopSound_internal(107); +	// Workaround for monkey2 bug #1410 / Booty Island +	// +	// Tunes involved +	// 100 - Captain Dread's map +	// 113 - Guard Kiosk / Mardi Grass  +	// 115 - Map of Booty Island / Ville de la Booty +	// 118 - Ville de la Booty +	// +	// When you enter the Guard Kiosk tune 113 is added as trigger on song +	// 115. Then if you leave, 113 is stopped and 115 is started again. +	// If you leave quickly enough, the trigger occurs on the map and tune +	// 113 will not stop. +	// We kill 113 on entry of one of the other locations (Captain Dread +	// or Ville de la Booty) because tune 115 is not always started. +	if (_game_id == GID_MONKEY2 && (sound == 100 || sound == 115 || sound == 118) && (getSoundStatus_internal(113, true) == 1)) +		IMuseInternal::stopSound_internal(113); +  	player->clear();  	player->setOffsetNote(offset);  	return player->startSound(sound, driver);  | 
