diff options
| -rw-r--r-- | engines/hopkins/sound.cpp | 14 | 
1 files changed, 9 insertions, 5 deletions
diff --git a/engines/hopkins/sound.cpp b/engines/hopkins/sound.cpp index 4fc20540f5..ffb19a9aa2 100644 --- a/engines/hopkins/sound.cpp +++ b/engines/hopkins/sound.cpp @@ -357,12 +357,16 @@ void SoundManager::checkMusic() {  			return;  		mwavIndex = Music._mwavIndexes[Music._currentIndex]; -		if (mwavIndex != -1) { -			int volume = MUSICVOL * 255 / 16; +		if (mwavIndex == -1) { +			Music._currentIndex = 0; +			mwavIndex = Music._mwavIndexes[Music._currentIndex]; +		}			 -			_vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &Mwav[mwavIndex]._soundHandle,  -				Mwav[mwavIndex]._audioStream, -1, volume, 0, DisposeAfterUse::NO); -		} +		int volume = MUSICVOL * 255 / 16; + +		Mwav[mwavIndex]._audioStream->rewind(); +		_vm->_mixer->playStream(Audio::Mixer::kSFXSoundType, &Mwav[mwavIndex]._soundHandle,  +			Mwav[mwavIndex]._audioStream, -1, volume, 0, DisposeAfterUse::NO);  	}  }  | 
