Some of the game videos have alpha levels, which are lost if the surfaces
are converted to 16-bit. This adds better support for creating 32-bit
video surfaces, so the information won't be lost
Until now, the configure script was unable to detect mingw64
as a platform that supports building plugins.
I tested this with MSYS2/mingw64 and was able to build all
engines dynamically. I opted not to use any wildcards for this
entry, because I don't know which variants are possible here.
We have translations enabled for the warning created
by advancedDetector.cpp, so I think it would be neat
to have translations enabled here too.
This also enables the message about the "Lite" version
of Putt-Putt Saves the Zoo being unsupported to the
translation database.
This changeset also removes unnecessary direct modifications to
Munt code to ease future updates. To update Munt in the future:
1. Replace all source files in the `softsynth/mt32` directory with
new files from the upstream `mt32emu/src` directory;
2. Update `config.h` with the correct version number for the new
version of Munt;
3. Update `module.mk` to match the list of sources given in
`mt32emu/CMakeLists.txt libmt32emu_SOURCES`.
Unlike SCI16 games, the location of data within SCI32 patch files
is calculated on a per-resource-type basis by the game engine,
instead of by reading byte 1 of the patch file.
1. pushi opcode now displays decimal value and selector value (if
one exists) in-line
2. lofsa, lofss, and super opcodes now display resolved
object/class names
3. Opcode arguments are visually aligned
Silently returning zero values can cause games to break. e.g.
Shivers 1 room 35170 has a script bug where vJoystick::handleEvent
makes a super call which causes doVerb to be called a second time
with no arguments. In the original game this happened to work
because the value already on the stack happened to be 1. In ScummVM
this silently (unless VM debug messages were enabled) failed
because the uninitialised read value was forced to 0.