Opened 16 years ago

Closed 7 years ago

Last modified 13 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 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, 16 years ago

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

comment:2 by fingolfin, 16 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, 16 years ago

Owner: set to SF/jamieson630

comment:4 by eriktorbjorn, 16 years ago

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

comment:5 by SF/mfuhrer, 16 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, 16 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, 16 years ago

Priority: normallow

comment:8 by SF/mfuhrer, 16 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, 16 years ago

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

comment:10 by SF/jamieson630, 16 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-, 13 years ago

What is the status of this item?

comment:18 by SF/mfuhrer, 13 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, 13 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, 12 years ago

Component: Engine: SCUMM
Game: Monkey Island 2

comment:21 by fingolfin, 12 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, 13 months ago

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