Support for repeated input for symbols and extended ASCII keys
Also keypad return works now just like the Enter key, and SHIFT+key when spammed results in the correct key being repeated.
Added space, backspace and latin letters and numbers (for save game screen)
Space can also be spammed with a visible result in-game (ie. not only in KIA save screen)
Also slightly update the cases for canSaveGameStateCurrently()
The game has its own autosave mechanism (at the start of each new Act). Also currently the label for the ScummVM autosave can be in the wrong language (since it is in the ScummVM's GUI language, but not necessarily in the game's own GUI language) and in KIA it could appear illegible as "?????? ??????" for non Latin languages.
The autosave refactoring that was done in
7adad5aaf5 used g_engine for identifying the
autosave slot. This worked for in-game save/load, but doesn't fit when
called from the launcher.
Fix by passing MetaEngine to SaveStateDescriptor ctor and using it for this
query.
Amends 7adad5aaf5.
Also restore dual skip funtionality for Esc and Return keys down (video and spoken non-queued dialogue)
Previous behavior restored as a quality of life feature, that is quite practical on eg. Android port (easy access to "Esc", not so easy to "Return"). The issues that led to reverting previous to the original behavior (only Esc key for video, only Return key for dialogue) should be resolved now by the intermediate commits.
Also only use Esc key to skip video cutscenes
This is replicating the original's behavior and at least for the dialogue skipping, it fixes a few glitches (KIA screen blinking if skipping the last dialogue line with Esc key, and Zuben throwing the soup leading to a dead end, if user presses Esc fast during that sequence).
Should resolve ticket #11407https://bugs.scummvm.org/ticket/11407
However, in our commons/events.h currently there are TODO notes about implementing support for repeated firing of keyboard keys so this could be revisited in the future to use that functionality when implemented
After the initial changes just to scummvm/gui for u32, this commit includes the whole project
- Widget creations now always have u32 descriptions, labels, or tooltips
- Message dialogs make use of default arguments instead of providing the same argument explicitly
- encode String::format properly before passing on as argument where necessary
- Modify hugo utils (yesNoBox and notify box) to use u32
- Also provide fake constructors for the above which redirect to the u32 constructor
- Convert all keymap descriptions to u32 across all engines
- showConfirmationDialog in mohawk now uses u32
- showScummVMDialog also uses u32
- Scumm engine has dialogs now which use u32
- General fixes and wrapping convertToU32String for setLabels and related functions
- Add a fake constructor to MesssageDialog which redirects to the u32 constructor
This refers to the Audio tab's "Music Device" set to "No Music" setting
Default ("Auto") and any other setting will result to music. Only the explicit No Music is respected now (it wasn't before).
As I note in the comments, these two first dropdowns in the Audio tab are largely irrelevant for Blade Runner
and ideally they should not appear for it (and similar engines). Maybe they could just be replaced
with a checkbox for toggling Music as enabled/disabled (which is the logic that this fix essentially follows)
KIA screen should be skipped when save games exist, but a valid boot param has been specified
The boot param validation uses existing code in the debugger to ensure valid combination of chapter, set and scene
This prevents a "hack" that was discovered by players to boot into KIA directly even when no saved games exist
We will provide in a future commit, the option to start into KIA even upon launching the game without any saved games, but that should be properly implemented to prevent bugs/ side-effects (that the current "hack" causes).