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:
parent
f36473e25b
commit
c902282a05
1 changed files with 7 additions and 3 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue