This class manages a buffer where all data usually stored in detection
plugin will get copied before unloading the plugin and starting the
game.
This class expects that two functions are present in every
GameDescription: sizeBuffer which calculates how many bytes we will need
to store the entry in RAM and toBuffer which copies the data in the
buffer and fix the pointers in the class.
At the end, it is expected that an ADDynamicGameDescription doesn't
depend anymore on data stored in the detection plugin.
The AD_GAME_DESCRIPTION_HELPERS macro allow to implement these functions
in all GameDescription which don't have any pointer except those in
ADGameDescription.
(Game Crash after getting Paulson's key in Mines l.4)
It its possible to still have Lora in the party when meeting
Paulson which the game is not prepared for. There is no
mechanism to handle a new party member when there
are already 3 members present. The game simply expects
that the scripts handle this flawlessly by removing a certain
member before adding a new one. I have now added a
workaround to remove Lora from the group if she is still
there when Paulson is supposed to join.
(for fireball, ice storm, lightning bolt, cone of cold, etc)
The current code seems to misbehave on platforms with
slow graphics updates (whether related to our backend,
to SDL or the actual graphics drivers or hardware). This
patch allows frame drops if necessary.
(the Chinese version has a version string of its own hard
coded onto the bitmap. We have to move our scummvm
version string a bit to the right to avoid printing over the
other text.
Trying to make this code a bit less ugly. It has been
hacked up by basically every Japanese and Chinese
version in different ways. This is a start to revert some
of the hacks.