aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/sound
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob/sound')
-rw-r--r--engines/gob/sound/adlib.cpp6
-rw-r--r--engines/gob/sound/sound.cpp2
-rw-r--r--engines/gob/sound/soundblaster.cpp2
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();