Opened 16 years ago

Closed 7 years ago

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

Description

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 14 years ago.
monkey2-pc-47.txt (3.0 KB) - added by fingolfin 14 years ago.

Download all attachments as: .zip

Change History (26)

comment:1 Changed 16 years ago by SF/mfuhrer

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

comment:2 Changed 16 years ago by fingolfin

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 Changed 16 years ago by fingolfin

Owner: set to SF/jamieson630

comment:4 Changed 16 years ago by eriktorbjorn

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

comment:5 Changed 16 years ago by SF/mfuhrer

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 Changed 16 years ago by SF/jamieson630

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 Changed 16 years ago by SF/jamieson630

Priority: normallow

comment:8 Changed 16 years ago by SF/mfuhrer

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 Changed 16 years ago by SF/jamieson630

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

comment:10 Changed 16 years ago by SF/jamieson630

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.

Changed 14 years ago by fingolfin

Attachment: monkey2-mac-47.txt added

comment:11 Changed 14 years ago by fingolfin

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..

Changed 14 years ago by fingolfin

Attachment: monkey2-pc-47.txt added

comment:12 Changed 14 years ago by fingolfin

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 Changed 14 years ago by fingolfin

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 Changed 14 years ago by fingolfin

Owner: SF/jamieson630 deleted

comment:15 Changed 14 years ago by fingolfin

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 Changed 14 years ago by fingolfin

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 Changed 13 years ago by sev-

What is the status of this item?

comment:18 Changed 13 years ago by SF/mfuhrer

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

comment:19 Changed 13 years ago by fingolfin

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 Changed 12 years ago by fingolfin

Component: Engine: SCUMM
Game: Monkey Island 2

comment:21 Changed 12 years ago by fingolfin

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 Changed 7 years ago by lordhoto

Owner: set to lordhoto
Resolution: fixed
Status: newclosed

comment:23 Changed 7 years ago by lordhoto

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 Changed 10 months ago by digitall

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