diff options
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/sound_midi.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/engines/kyra/sound_midi.cpp b/engines/kyra/sound_midi.cpp index 449e88c13f..7ff47af3cc 100644 --- a/engines/kyra/sound_midi.cpp +++ b/engines/kyra/sound_midi.cpp @@ -551,12 +551,13 @@ void SoundMidiPC::loadSoundFile(Common::String file) { file += _useC55 ? ".C55" : ".XMI"; file.toUppercase(); - if (!_vm->resource()->exists(file.c_str())) - return; if (_mFileName == file) return; + if (!_vm->resource()->exists(file.c_str())) + return; + // When loading a new file we stopp all notes // still running on our own, just to prevent // glitches @@ -592,12 +593,13 @@ void SoundMidiPC::loadSfxFile(Common::String file) { file += _useC55 ? ".C55" : ".XMI"; file.toUppercase(); - if (!_vm->resource()->exists(file.c_str())) - return; if (_sFileName == file) return; + if (!_vm->resource()->exists(file.c_str())) + return; + delete[] _sfxFile; uint32 fileSize = 0; |