Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#582 closed defect (fixed)

FOA: No music with adlib

Reported by: fingolfin Owned by: SF/jamieson630
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Indiana Jones 4

Description

With latest CVS, I don't get any music in Indy 4
anymore. For example with a complete new game, playing
through the intro, I get tons of warnings like these:

IMuseInternal::findTag completely failed finding sound 150
IMuseInternal::findTag completely failed finding sound 150
WARNING: SE::start_sound failed: Couldn't find sound 150!
Loading room 0
Loading room 4
IMuseInternal::findTag completely failed finding sound 21
IMuseInternal::findTag completely failed finding sound 21
WARNING: SE::start_sound failed: Couldn't find sound 21!
IMuseInternal::findTag completely failed finding sound 197
IMuseInternal::findTag completely failed finding sound 197
WARNING: SE::start_sound failed: Couldn't find sound 197!

This apparently happens because the adlib driver is
selected by default. If I switch to the CoreAudio midi
driver (-ecore), then music plays normally.

Ticket imported from: #640903. Ticket imported from: bugs/582.

Change History (7)

comment:1 by SF/jamieson630, 17 years ago

Just tried it; Adlib plays nice and loud for me. No warning
messages being spit out. This sounds like a freak occurence,
especially considering we've done no mods to the Adlib side
of the house that would affect resource parsing. Can anybody
else recreate this?

Fingolfin, try it over the next day or so, in separate boot
sessions, and keep me advised.

comment:2 by SF/ender, 17 years ago

Problem is completely unreproducable on any platform, (I've tried
Mac, PocketPC, Windows, Linux, FreeBSD, Linux on a Sparc, and
Playstation. That's all I have accessable right now :)

Tested with FOA english talkie, FOA english floppy and FOA
german floppy. None of these three have any problem like the
one you are describing.

Considering nobody (apart from you) has came even close to to
touching any code related to adlib in over two weeks, I'm slightly
more inclined to assume that something in your use_adlib
changes didn't revert cleanly locally in your local tree? Maybe
you should try a clean checkout.

comment:3 by fingolfin, 17 years ago

Not only is my checkout completly clean (just did a 'cvs up
-A' to verify it), but I can also reproduce the problme on
another machine which has a checkout from a couple of days
ago, i.e. before I did touch any of the adlib stuff.

Some more info:
* this is an US version of FOA
* the problem does not occur with my german FOA version
* I start ScummVM like this: ./scummvm -eadlib atlantis

In fact, it is the mac version of FOA. My guess: this
version of FOA simply has no adlib version of the
effects/music (why should it after all...)

So I guess for now we can't fix it, but on the long run, it
would be nice if we could change ScummVM to first check
whether the data files contain any adlib (or any MIDI) music
before defaulting to adlib (or MIDI) playback.

comment:4 by SF/jamieson630, 17 years ago

The *Mac* version of FOA, you say?? Now *this* in intriguing.
Fingolfin, can you pull up the resource file in ScummRev and
tell me what exactly you *do* find in the SOUN resources?
I've seen evidence of some sort of Mac tracks in the
resource.cpp code, but I've never actually seen one. If you
have Mac tracks in your resource file, I would very much like
to get my hands on them and see what's inside.

Up until now, I have paid no attention whatsoever to how (or
whether) we process Mac music tracks, because I didn't even
know in what games they appeared.

As far as "auto-detecting" music types, I suspect we just
need to get the Mac music header into the prioritization
scheme in the same manner as we did the GMD and ROL
tracks -- if an ADL track can't be found, the GM (or related)
tracks can be substituted with emulation. (In fact, that's an
easy fix. Just committed it.)

comment:5 by fingolfin, 17 years ago

Regarding your change, that seems to work (although it
sounds really crappy compared to MIDI), so feel free to
close this.

FYI, I think the only LucasArts adventures for which there
is no mac version are Zak and CMI :-)

We do support various Mac sound formats (all of the ones we
support were added by me). In this particular case, look at
resource.cpp, line 622. The 'MAC ' sub type of 'SOU ' is
just like GMD, ROL, etc. a midi type format. I can only
guess that it maybe has some instruments different (same for
SPK - I think I added this one, too but am not quite sure
how it differs from the others - treating it as GMD seems to
work well enough for now).

There are also two other formats, Mac0 and Mac1, we only
support Mac1, and both are apparently only used in Monkey
Island/Mac.

Can somebody tell me what SBL tracks are and why we give
them top priority in all cases?

comment:6 by SF/jamieson630, 17 years ago

Closing. Fingolfin, I'd still like a copy of some MAC
resources, if you don't mind extracting those and sending
them to me...?

comment:7 by SF/jamieson630, 17 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.