Opened 19 months ago
Closed 16 months ago
#12857 closed defect (fixed)
SAGA: IHNM: Fatal "Missing AdLib SAMPLE files" error with default settings
|Reported by:||dwatteau||Owned by:||sev-|
|Version:||Keywords:||audio, adlib, adlib sample, default audio|
|Cc:||Game:||I Have No Mouth|
ScummVM 2.4.0git19-g91f9742d00 on macOS Catalina (x64), but also happens with the same version on a Windows XP VM, so it doesn't look system dependent.
- Buy "I Have No Mouth and I Must Scream" from GOG.
- Download the game from it (I tested the DOS/English and DOS/French versions).
- Add it to ScummVM. Don't change any setting, just use the defaults.
- Start it: you immediately obtain a fatal "ERROR: Could not find AdLib instrument definition files SAMPLE.AD and SAMPLE.OPL"
If I manually change its audio settings to use the Apple DLS Software Synthesizer, it'll run.
But I'd expect it to use a working audio setting by default. It should work out of the box after adding it.
Change History (8)
comment:1 by , 19 months ago
comment:2 by , 19 months ago
I could have sworn that I saw a corresponding bug report for Inherit the Earth, but since I can't find that now I'll post this here instead.
Some versions of Inherit the Earth has the same problem:
My Wyrmkeep Windows CD uses standalone MIDI files for the music. It does not include INSTR.AD or INSTR.OPL, and will crash when starting the game with AdLib music.
My Wyrmkeep Linux CD uses digitized music in the form of a music.rsc file. It does not include INSTR.AD or INSTR.OPL, and will crash when starting the game with AdLib music.
My Wyrmkeep Windows/Mac/Linux CD uses digitized music in the form of a music.rsc file. It does not include INSTR.AD or INSTR.OPL, yet will not crash when starting the game with AdLib music.
My GOG version appears to be identical to the Windows/Mac/Linux CD, but the files are organized differently. It does not include INSTR.AD or INSTR.OPL, yet will not crash when starting the game with AdLib music.
My pre-Wyrmkeep CD includes both INSTR.AD and INSTR.OPL, and will not crash when starting the game with AdLib music.
So I guess it's only the more obscure versions that crash on AdLib music (in the case of the Linux CD version, there is probably no reason for it to), but hopefully they will be fixed automatically along with IHNM?
comment:3 by , 19 months ago
This is the matter of the thing which I never understood: "which files do I need for the game?" As my preferred reply is "All of them". We used to not load these files for the default audio device. Later we implemented Miles Sound System which uses samples, and thus, provides a superior experience. But Night Dave Studio, being lazy, just repackaged ScummVM and put on sale, without much checking or looking.
I contacted them and provided the info. Have no idea, whether it will be taken into account or silently ignored.
I will see how to enforce non-MSS Adlib for this GOG release, but plainly speaking, it is broken and is missing two required files.
comment:4 by , 18 months ago
This bug also occurs with the Steam version of the game. I just tested, with latest master 2.6.0git and also with a release build for 2.5.0.
comment:5 by , 18 months ago
I've added some info about these files and why they are required for Adlib support on our wiki page for the game. It's the "Important note" at the bottom of the Required Data files section.
If/when we close this ticket, we should update that text too.
comment:6 by , 18 months ago
The most worrying ones are probably the releases of Inherit the Earth that don't include the files, but where ScummVM still expects them.
comment:7 by , 18 months ago
The issue should now be fixed by NMIError's commit:
The engine will now display a warning if the required SAMPLE files for accurate music playback are not found and will then fall back to the generic GM-compatible instrument definitions of the Adlib driver.
comment:8 by , 16 months ago
|Status:||new → closed|
The SAMPLE.AD and SAMPLE.OPL files (needed only for AdLib music?) are in the DRIVERS folder on the original CD, but I guess GOG didn't bother to include that.
So I guess ScummVM needs some sort of graceful fallback solution here?