Opened 10 years ago

Last modified 4 months ago

#4129 new defect

MI2: Waterfall sound breaks up

Reported by: SF/noizje Owned by:
Priority: low Component: Engine: SCUMM
Keywords: original Cc:
Game: Monkey Island 2


Win32 ScummVM 0.13.0pre (Jan 29 2009 09:47:39)

On Phatt Island at the Waterfall, the water sound breaks up after a second of playing.

I've included a savegame.

Ticket imported from: #2545447. Ticket imported from: bugs/4129.

Attachments (1)

monkey2.s01 (40.7 KB) - added by SF/noizje 10 years ago.

Download all attachments as: .zip

Change History (11)

Changed 10 years ago by SF/noizje

Attachment: monkey2.s01 added

comment:1 Changed 10 years ago by fingolfin

Summary: MONKEY2: Waterfall sound breaks upMI2: Waterfall sound breaks up

comment:2 Changed 10 years ago by sev-

This bug is nice to get fixed before the release. Raising priority for keeping the track.

comment:3 Changed 10 years ago by sev-

Priority: normalhigh

comment:4 Changed 10 years ago by eriktorbjorn

I think what happens here is simply that there are a limited number of voices available. The sound of rushing water has a low priority, so when something with a higher priority comes along, it gets evicted. If I comment out the priority check (definitely not the right way of fixing it) from MidiDriver_ADLIB::allocate_voice(), the rushing water sound continued indefinitely.

There could of course be a bug in the way it handles priorities, but it might also be that we're simply running into the limitations of AdLib itself. (Random idea: Right now, we use one FM_OPL object to generate the samples. What would happen if we used two, and split the voices fairly between them? Though even if it works, it sounds too invasive for this release.)

comment:5 Changed 10 years ago by eriktorbjorn

According to the comments in bug report #728417 ("MI2: Waterfall-sound stop playing") the problem happens with the original interpreter as well, so I guess ScummVM does handle priorities correctly. Or at least close enough.

(I still like the idea of trying to get two emulated sound cards working in parallel though, so I might experiment with that. From what I remember, there are cases where notes get cut off noticeably when the music gets complicated, probably for the very same reason, and this might help.)

comment:6 Changed 10 years ago by eriktorbjorn

Component: Engine: SCUMM
Game: Monkey Island 2

comment:7 Changed 10 years ago by eriktorbjorn

Since it's reported to happen in the original interpreter too, it's no longer a priority for 1.0.0.

comment:8 Changed 10 years ago by eriktorbjorn

Priority: highnormal

comment:9 Changed 4 months ago by digitall

Keywords: original added
Priority: normallow

comment:10 Changed 4 months ago by digitall is a experimental patch for using two FM_OPL objects to address this issue...

Note: See TracTickets for help on using tickets.