Since audio maps change when game speech is localised, it makes
sense to limit audio map skips by language until it turns out that
the same problem exists in more than one language release, so we
do not accidentally skip a map that is bad in one language, but OK
in another language.
Originally, changing the SFX volume from ScummVM was disabled
because the game itself only allowed adjustment of music volume,
so adjusting the SFX volume would indirectly affect the music
volume. On reflection, allowing the adjustment of SFX volume even
though this also changes the music volume seems preferable to not
allowing any adjustment of the SFX/speech volumes.
This was happening in games with game scripts that control the
master volume themselves by applying the master volume to each
channel sent to the kernel, instead of relying on the kernel to
manage the master volume for them.
The MaitreD was rendered using frame 0 from c386.avi, but with a
corrupted right and bottom edge. Ironically, the MaitreD object
isn't used at all, since hiding him revealed he's part of the
background as well. From the video, it seems like he was meant
to have an idle wiggle animation that didn't end up being used.
It turns out that GOG.com version of Phantasmagoria needs the
37.MAP patch file because for some reason the 37.MAP in RESSCI.000
is empty (36 bytes, versus the correct file which is ~1kB).
Fortunately, this file is the same across all CDs in the original
US release, so hopefully unblocking this patch will not cause any
problems for any of the CD releases either.
Fixes Trac#10161.
Audio mixer is supporting fading and pan animation
Added support for skipping speech by pressing Return
Added proper support for ambient sounds
Added more code to the dialogue menu
Added tooltips to the Spinner
Fixed calculation of volume and pan of walk steps
Code cleanup & formatting
All users of BitStream were in fact using a specific, hardcoded variant,
so we can hardcode that variant, removing the need for virtual calls,
and enabling inlining.
I reduced the header includes a lot in Titanic.h and forward
declared when I could. Titanic.h was including a lot and
a lot of functions that were including it were not using its
API. This will help make it more clear which implementation
files are using which class since they will just need to include
which ones they need.
I also moved the debug related items in Titanic.h into the debugger
header.
I also reordered several of the the header includes to be local to
global.
The original had a bug that didn't dispense chickens as cold when
the yellow fuse was removed from the fusebox. Too many walkthroughs
suggest removing it though, so I'm disabling fix to avoid confusion.