An Alpha build of a 3.6.0, for public test.
Editor:
- Added "UseOldKeyboardHandling" option to the General Settings, which lets select between classic key press handling and new one meant for easier unicode chars support in scripts.
- Select script editor's font in the editor's Preferences.
- Fixed some editor's panes do not update previews on property changes (regression).
Compiler:
- Support for the unicode character literals.
Script API:
- Expanded
on_key_press
callback, now supports two parameters: key code and key modifier flags. - In the new key handling mode
on_key_press
is called for each actual key press; e.g. combinations like Ctrl+Z will result in twoon_key_press
calls, one with eKeyCtrlLeft and second with eKeyZ. - Implemented new
on_text_input(int ch)
callback which is called when the engine receives a printable character. This callback is essential for handling unicode chars in script. - Similarily, expanded
dialog_options_key_press
with the thirdmod
argument, and implementeddialog_options_text_input
callback for receiving unicode chars during the custom dialog options state. - Added eKeyMod enum for key modifiers constants.
- String.AppendChar, ReplaceChar and Chars[] property are now working with the unicode characters.
- String.Format("%c") specifier will now be able to print unicode characters.
Engine:
- Update engine's sound config to match new SDL2 backend, allow to choose specific sound driver.
- Allow to choose output graphics driver for software mode in config.
- Fixed engine was handling buffered key presses one at a game frame, could cause delayed reaction to the key input (regression in 3.6.0).
- Fixed engine switching to ASCII mode when changing to default translation, even if the game is compiled in unicode mode.
Please refer to the OPTIONS.md for the current engine config.