Opened 11 years ago

Last modified 12 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

Description

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 11 years ago.

Download all attachments as: .zip

Change History (11)

by SF/noizje, 11 years ago

Attachment: monkey2.s01 added

comment:1 by fingolfin, 10 years ago

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

comment:2 by sev-, 10 years ago

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

comment:3 by sev-, 10 years ago

Priority: normalhigh

comment:4 by eriktorbjorn, 10 years ago

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 by eriktorbjorn, 10 years ago

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 by eriktorbjorn, 10 years ago

Component: Engine: SCUMM
Game: Monkey Island 2

comment:7 by eriktorbjorn, 10 years ago

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

comment:8 by eriktorbjorn, 10 years ago

Priority: highnormal

comment:9 by digitall, 12 months ago

Keywords: original added
Priority: normallow

comment:10 by digitall, 12 months ago

https://bugs.scummvm.org/ticket/9058 is a experimental patch for using two FM_OPL objects to address this issue...

Note: See TracTickets for help on using tickets.