A hack for bug #770581. This makes the sound much closer to the

original, but I think to make it completely right a bigger change to
the adlib backend would be necessary.

svn-id: r10251
This commit is contained in:
Jochen Hoenicke 2003-09-14 15:03:12 +00:00
parent f36473e25b
commit c902282a05

View file

@ -1247,6 +1247,9 @@ void Scumm::convertADResource(int type, int idx, byte *src_ptr, int size) {
if (ch < 0 || ch > 15)
continue;
if (instr[i*16 + 13])
warning("Sound %d instrument %d uses percussion", idx, i);
debug(4, "Sound %d: instrument %d on channel %d.",
idx, i, ch);
@ -1488,7 +1491,6 @@ void Scumm::convertADResource(int type, int idx, byte *src_ptr, int size) {
delay = mintime - curtime;
curtime = mintime;
{
delay = convert_extraflags(ptr + 30 + 22, src_ptr + 1);
delay2 = convert_extraflags(ptr + 30 + 40, src_ptr + 6);
@ -1512,6 +1514,8 @@ void Scumm::convertADResource(int type, int idx, byte *src_ptr, int size) {
{
int freq = ((current_instr[ch][1] & 3) << 8)
| current_instr[ch][0];
if (!freq)
freq = 0x80;
freq <<= ((current_instr[ch][1] >> 2) & 7) + 1;
int note = -11;
while (freq >= 0x100) {