Opened 17 years ago

Closed 7 years ago

Last modified 20 months ago

#7299 closed enhancement (fixed)

MI2 (MAC): Incorrect Wiping Sound at Barkeeper's

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


ScummVM version: July 21 2003 0.5.0pre-cvs snapshot (bug also present in 0.4.1 stable release) Platform: Mac OS X Game: Monkey Island 2, Mac version Bug:

In Part I, the barkeeper standing behind the counter is wiping a mug. When running the game in OS X Classic mode, there is a "wiping" sound effect associated with this action. While running the game in ScummVM, a dissonant orchestral chord is played in place of the wiping sound.

In ScummVM 0.4.1, several other sound effects in MI2 were not properly working, but these seem to be fixed in the current cvs snapshot. For example, the hammering of the woodsmith, which can more or less be properly heard in the current cvs snapshot, was replaced by a percussion instrument in 0.4.1. Perhaps someone has been fixing these sound effect bugs, but missed the barkeeper bug.

Ticket imported from: #776686. Ticket imported from: feature-requests/115.

Attachments (2)

monkey2-mac-47.txt (2.7 KB ) - added by fingolfin 15 years ago.
monkey2-pc-47.txt (3.0 KB ) - added by fingolfin 15 years ago.

Download all attachments as: .zip

Change History (26)

comment:1 by SF/mfuhrer, 17 years ago

Summary: Incorrect Wiping Sound at Barkeeper'sMI2: Incorrect Wiping Sound at Barkeeper's

comment:2 by fingolfin, 17 years ago

Which midi driver are you using? QT; or Core?

When you say "OS X Classic mode", I assume you really mean "MacOS 9 in Classic mode in OS X"? I.e. running the game with the original engine

comment:3 by fingolfin, 17 years ago

Owner: set to SF/jamieson630

comment:4 by eriktorbjorn, 17 years ago

Does the --multi-midi command line option make any difference for you?

comment:5 by SF/mfuhrer, 17 years ago

I am using the Core midi driver. (After fingolfin's post, I tried QT, and the sound bug exists there as well.)

The wiping sound plays properly when running the game with the original engine under MacOS 9 in Classic mode in OS X (sorry for the previous ambiguity).

Running ScummVM with the --multi-midi command line option makes no difference.

comment:6 by SF/jamieson630, 17 years ago

You're using the Mac version of MI2, correct? (As opposed to some other version, any of which would probably run fine on ScummVM, even on a Mac.) If that's the case, I suspect the issue has to do with Mac tracks that include unsupported custom instrumentation data. I've yet to see what all data is included in the Mac versions of any SCUMM games, and until I do, I can't recommend a fix.

If you run the game using -eadlib, does everything sound kosher? If so, as an interim solution, you might try changing line 741 of scumm/resource.cpp to set the priority for 'MAC ' tracks to -1 instead of 2. That will ditch any MAC tracks and possibly cause the Adlib versions of those sound effects to play instead. As to whether that causes the rest of the musical passages to revert to Adlib as well, I don't know. Let me know how that change behaves for you.

Lowering priority. This is a nuisance, but does not interfere with gameplay.

comment:7 by SF/jamieson630, 17 years ago

Priority: normallow

comment:8 by SF/mfuhrer, 17 years ago

Yes, I'm using the Mac version of MI2. I tried using adlib sound as you suggested, but the problem still persists. Recompiling with the priority for MAC tracker set to -1 didn't quite work either (this seems to turn off almost all sound effects and music, including the wiping effect).

Indeed, gameplay seems to work fine otherwise, and several similar sound bugs (eg. hammering/sawing at the woodsmith and squeaking of mouse by the laundry guy) in the Mac version of MI2 seem to have been fixed since the ScummVM 0.4.1 stable release.

comment:9 by SF/jamieson630, 17 years ago

Summary: MI2: Incorrect Wiping Sound at Barkeeper'sMI2 (MAC): Incorrect Wiping Sound at Barkeeper's

comment:10 by SF/jamieson630, 17 years ago

Got my hands on Mac MI2. I hear what your saying, along with several other sounds. My first impression is that certain SFX actually have 'MAC ' tracks along with 'ADL ' (Adlib) tracks. Unless you specify -eadlib, though 'MAC ' tracks would take priority because they are higher quality (or are supposed to be, if they were implemented correctly in ScummVM). Other SFX may not have 'MAC ' tracks, so the [proper sounding] 'ADL ' tracks are used instead.

I'll look at the sound resources more closely ATP.

by fingolfin, 15 years ago

Attachment: monkey2-mac-47.txt added

comment:11 by fingolfin, 15 years ago

for reference: The sound of the "swishing" is number 47. Some other sounds seem wrong in the bar, too (like I hear 'barking' noise or however I should describe it). Attached you find a dump of the PC and the MAC resource.

I wonder about the unhandled MDpg header in the mac version..

by fingolfin, 15 years ago

Attachment: monkey2-pc-47.txt added

comment:12 by fingolfin, 15 years ago

And before I forget: just using the MT32 mapping code might not be sufficient; maybe we need an additional instrument mapping table for the mac "midi" format.

comment:13 by fingolfin, 15 years ago

Maybe this is unrelated, but I also noticed that we are not handling several chunks which occur in the MAC music data, in particular the MDpg chunk (which occurs in sound 47, the 'swishing' sound), and the MDst chunk (which occurs in sound 11, the 'spitting' sound).

comment:14 by fingolfin, 15 years ago

Owner: SF/jamieson630 removed

comment:15 by fingolfin, 15 years ago

Some more observations: * The MI2 mac version has a file "iMuse Setups" in which all instruments are stored in (Macintosh) 'snd ' resources. It contains samples for various MIDI instruments, as well as a few 'special' sounds, e.g. for the spitting contest (not: the music 11 which is the 'spitting' sound is used both in the bar, for the barkeeper, and also for the spitting contest). There really isn't any good way for us to access those resources, short of using the same hack as is used in MacResExtractor for HE games (that is, ask the user to provide a MacBinary encoded file, or a dump of the resource fork into the data fork of a new file.

* I have tested with the originial mac engine. No spitting is audible in the bar; the sweeping/swishing in the bar sounds more like a door hinge in need of oiling, IMHO :-)

* The PC version of sound 47 (swishing) is of type ADL, i.e. adlib format; of course the mac version has no direct equivalent of that, AFAIK. It's just a 'MAC ' type resource, although with that special MDpg header...

* Regarding the MDpg chunk, the other sounds from the spitting contest (11-14) also have it, with the exact same data in it (0x0130).

comment:16 by fingolfin, 15 years ago

One last remark: the wiping sound is MIDI instrument 48. Indeed, listening to the 'snd ' resource 1048, this seems to be exactly what the original enigne plays. They called it 'Violin Ens "harmonics"', but it indeed sounds more like a boiling tea kettle (it sounds quite metallic, too). Maybe we can simply find a MIDI instrument which fits this role better and add a mapping for it?

comment:17 by sev-, 14 years ago

What is the status of this item?

comment:18 by SF/mfuhrer, 14 years ago

I can confirm that the bug still persists with yesterday's SVN ScummVM snapshot and the Mac version of MI2.

comment:19 by fingolfin, 14 years ago

Yup, and unlikely to be "properly" fixed (the effort just isn't worth it, I'd say). As described below, we could try to implement a workaround by finding a different mapping for instrument 48, but I don't think there is a good one available. Or we could try to detect that particular sound/track, and replace it with something else...

So, we should leave this open, hoping that one day somebody feels like looking into this more deeply, but otherwise ignore it.

comment:20 by fingolfin, 13 years ago

Component: Engine: SCUMM
Game: Monkey Island 2

comment:21 by fingolfin, 13 years ago

Moving this to "feature requests", as it's not really a bug, just missing support for a peculiar property of the mac port of MI2.

comment:22 by lordhoto, 7 years ago

Owner: set to lordhoto
Resolution: fixed
Status: newclosed

comment:23 by lordhoto, 7 years ago

This has been fixed when we added support for the MI2 Mac sound resources. The merge should be 4522d182d44134d48ed0de86863f21a128f5f593. Thus closing this one now.

comment:24 by digitall, 20 months ago

Component: Engine: SCUMM
Game: Monkey Island 2
Note: See TracTickets for help on using tickets.