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.