diff options
Diffstat (limited to 'engines/agi/sound_midi.cpp')
-rw-r--r-- | engines/agi/sound_midi.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/engines/agi/sound_midi.cpp b/engines/agi/sound_midi.cpp index 35dc896789..f5c48b3b21 100644 --- a/engines/agi/sound_midi.cpp +++ b/engines/agi/sound_midi.cpp @@ -153,9 +153,15 @@ unsigned char instr[] = {50, 51, 19}; static void writeDelta(Common::MemoryWriteStreamDynamic *st, int32 delta) { int32 i; - i = delta >> 21; if (i > 0) st->writeByte((i & 127) | 128); - i = delta >> 14; if (i > 0) st->writeByte((i & 127) | 128); - i = delta >> 7; if (i > 0) st->writeByte((i & 127) | 128); + i = delta >> 21; + if (i > 0) + st->writeByte((i & 127) | 128); + i = delta >> 14; + if (i > 0) + st->writeByte((i & 127) | 128); + i = delta >> 7; + if (i > 0) + st->writeByte((i & 127) | 128); st->writeByte(delta & 127); } @@ -190,7 +196,7 @@ static uint32 convertSND2MIDI(byte *snddata, byte **data) { for (pos = start; pos < end; pos += 5) { uint16 freq, dur; dur = (snddata[pos + 0] | (snddata[pos + 1] << 8)) * SPEED_FACTOR; - freq = ((snddata[pos + 2] & 0x3F) << 4) + (snddata[pos + 3] & 0x0F); + freq = ((snddata[pos + 2] & 0x3F) << 4) + (snddata[pos + 3] & 0x0F); if (snddata[pos + 2] > 0) { double fr; int note; |