diff options
Diffstat (limited to 'engines/gob/sound')
-rw-r--r-- | engines/gob/sound/adlib.cpp | 6 | ||||
-rw-r--r-- | engines/gob/sound/sound.cpp | 2 | ||||
-rw-r--r-- | engines/gob/sound/soundblaster.cpp | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/engines/gob/sound/adlib.cpp b/engines/gob/sound/adlib.cpp index d9fc362547..2bf7f266a1 100644 --- a/engines/gob/sound/adlib.cpp +++ b/engines/gob/sound/adlib.cpp @@ -375,8 +375,10 @@ void AdLib::setVoiceTimbre(uint8 voice, const uint16 *params) { const int voicePerc = voice - kVoiceBaseDrum; if (!isPercussionMode() || (voice < kVoiceBaseDrum)) { - setOperatorParams(kVoiceMelodyOperator[0][voice], params0, waves[0]); - setOperatorParams(kVoiceMelodyOperator[1][voice], params1, waves[1]); + if (voice < kMelodyVoiceCount) { + setOperatorParams(kVoiceMelodyOperator[0][voice], params0, waves[0]); + setOperatorParams(kVoiceMelodyOperator[1][voice], params1, waves[1]); + } } else if (voice == kVoiceBaseDrum) { setOperatorParams(kVoicePercussionOperator[0][voicePerc], params0, waves[0]); setOperatorParams(kVoicePercussionOperator[1][voicePerc], params1, waves[1]); diff --git a/engines/gob/sound/sound.cpp b/engines/gob/sound/sound.cpp index 63af6aeef4..a4c74642dd 100644 --- a/engines/gob/sound/sound.cpp +++ b/engines/gob/sound/sound.cpp @@ -119,7 +119,7 @@ bool Sound::sampleLoad(SoundDesc *sndDesc, SoundType type, const char *fileName) byte *data = _vm->_dataIO->getFile(fileName, size); if (!data || !sndDesc->load(type, data, size)) { - delete data; + delete[] data; warning("Sound::sampleLoad(): Failed to load sound \"%s\"", fileName); return false; diff --git a/engines/gob/sound/soundblaster.cpp b/engines/gob/sound/soundblaster.cpp index f267eee32d..4d6f6f0bf7 100644 --- a/engines/gob/sound/soundblaster.cpp +++ b/engines/gob/sound/soundblaster.cpp @@ -98,7 +98,7 @@ void SoundBlaster::playComposition(const int16 *composition, int16 freqVal, do { i++; _composition[i] = composition[i]; - } while ((i < 50) && (composition[i] != -1)); + } while ((i < 49) && (composition[i] != -1)); _compositionPos = -1; nextCompositionPos(); |