Each engine now only has to provide a single configure.engine file
adding the engine into the configure script, which then produces the
required other files automatically.
This is the third and final commit enabling fully pluggable engines.
Now providing an engine folder contains a configure.engine, engine.mk
and engine-plugin.h file, it will be picked up automatically by the
configure script.
This is the second part of allowing engines to be added dynamically.
Each folder in engines/ which must contain a file named "engine.mk"
containing the make definitions for that engine.
This is the first part of allowing engines to be added dynamically.
They are placed into a folder in engines/ which must contain a file
named "configure.engine" to add the engine, which is pulled into the
top level configure script automatically.
This affects the Console / debugger classes of multiple engines.
An alternative solution would have been to remove the unused _vm
member vars. However, it seems likely that in the future, the _vm
member could be useful for methods added to the console. So instead,
we add a simple assert(_vm) to silence the clang warning.
This fixes a channel assignment issue in opcode 119. This also implements
opcode 120, which is basically a stereo channel swapped version of 119
(o1_playSample).
This affects the Amiga and AtariST versions. I put a TODO to check the DOS
version here.
This works around a regression from 92df76fbb3802bf28819c2684d188251c249cdbb.
This should resolve the remaining issues of bug #3565362
"CINE: Savegame loading broken in FW".
Traced with gdb to sound.cpp:792 i.e. _fadeOutTimer infinite loop.
This bug was introduced by the addition of the MT-32 output driver for
Future Wars and associated mutex changes.
The _fadeOutTimer increment is done by the timer callback occuring
during the load method call, but this was excluded by the mutex.
Fixed by moving the mutex in the load method.
Since the cine engine's support for Operation Stealth is still
incomplete with significant GFX glitches, this should be marked
as "ADGF_UNSTABLE" to warn users and prevent invalid bug reports.
However, it should be noted that the game is completable.