This reduces the code duplication in all client code, which formerly duplicated
the querying of the plugin, game id etc. and now simply calls the newly added
method runModalWithCurrentTarget() on a SaveLoadChooser object.
We already pass the title and process button name to the constructor of
SaveLoadChooser and then do not offer any way of changing it, thus changing
the edit mode of the chooser is kind of pointless and was never actually used.
Instead we pass the mode on SaveLoadChooser construction now.
This is the third and final part of the patch supplied by Ignaz Forster
on bug #3423955 ("CRUISE: Slow / unresponsive game behaviour") for
avoiding blocking graphical updates during user wait loops.
The removal of the continue statement fixes the update of background
animations while waiting for user to respond i.e. try opening a locked
door on the upper deck of the boat and check the sea background
animation, but it also has the side effect of allowing hotspots to
respond during this period if the user clicks fast enough.
However, this bug was also present in the original interpreter, and
a workaround has been added to inhibit this.
This is the second part of the patch supplied by Ignaz Forster on
bug #3423955 ("CRUISE: Slow / unresponsive game behaviour") for
avoiding blocking graphical updates during user wait loops.
This removes the check for fastMode from the cursor update code and
other code in this "idle" loop, and moves it down to qualifying
only a few of the function calls.
This is the first part of the patch supplied by Ignaz Forster on
bug #3423955 ("CRUISE: Slow / unresponsive game behaviour") for
avoiding blocking graphical updates during user wait loops.
Hotspots passed during the idle loop do _not_ give any user feedback
without this patch.
The original patch has been split to allow for better understanding of
the changes and to allow fine grained bisection if this introduces any
regressions.
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)
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
This unifies the engine names in MetaEngine::getName() and the
credits. In particular drop "Engine" or "engine" from the names when
it was present and use expanded names in credits when the
MetaEngine uses it (e.g. "Beneath a Steel Sky" instead of "BASS").