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.
The error occurred when the save game was saved early in the game
before all the sound handles had been used. The unused handles only had
the handle type initialised (as kFreeHandle) so all the other fields had
random values. After loading the game the sound engine could erroneously
try to play one of these sound handle resulting in an error.
The regression was introduced by commit e6ba26ff0d which wrote
coordinates of a rect as unsigned int when they were before written
as signed int. Since the load code was not modified it still expected
signed int. They are now again written as signed int. Any gamed saved
between commit e6ba26ff0d and this commit will therefore be corrupted.
- Rename collectRenderQueue to preRender
- Only do forceRefresh() in Panel::setColor() and Text::setText() if the new values are different
- Move child object resorting from RenderObject::render() into RenderObject::preRender()
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.