This fixes some slowdowns in Kyra2 with the OpenGL backend for me. Most of the
updateScreen calls saved were introduced by us implementing the original
behavior of hiding the mouse before drawing onto the screen and showing it
again afterwards, since the mouse cursor is not drawn on the game screen in our
implementation (and unlike in the original) this is not necessary.
This is a regression from 86a817beb5.
Formerly Kyra always queried the render_mode and initializes its Screen
functionality accordingly, even when the game actually only supported VGA.
While in the "Edit game..." options only VGA was selectable, the global options
still allowed for example EGA to be selected and thus messing up the internal
state. I only check the render_mode setting for EoB 1 and 2 now, which are
the only games which support the setting inside Screen.
KYRA 1 PC-98 supports both modes in the same target. The desired mode can now be selected in the rendering options. We did have good support for the 16 colors mode of KYRA 1 already. This mode could not really be selected though (except by manually modifying the config file or the code).
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'
This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
On some systems, passing signed chars to macros like isspace() etc. lead
to a runtime error. Hence, mark these macros as forbidden by default,
and introduce otherwise equivalent alternatives for them.
- The initial import of original save files will now use the next free available slots instead of moving the original files to the top of the save file list
- add error check to loading routine for original saves
- also limit debug console command to main menu, since it causes issues when used during the game or during character generation
The engine will try to import original save game files once per target (especially the "Quick Start Party").
Afterwards the user can manually import save files with the debug console.