Keybinds are now both saved and read in portable form
and only converted to native one for display purposes, fixing
them not being read correctly when certain languages are set.
Also get rid of qPrintable() due to it using the system 8-bit codepage
instead of UTF-8, and some unnecessary QString ↔ C string conversions
Co-Authored-by: Cacodemon345 <wahil1976@outlook.com>
It seems that Ctrl+End was used on non-Win32 platforms because
WxWidgets couldn’t use non-modifier keys as a keyboard sequence. Qt
can, and F8+F12 interferes with the operation of software a lot less
than Ctrl+End does (try doing some text editing!).
86Box hasn’t used WxWidgets for quite some time and this platform
limitation hack has long outlived its necessity.
* plat_vidapi() accepts char pointer, which never gets modifed
later on. Mark it as const.
* In src/config.c, va_name is initialized as NULL, however,
plat_vidapi_name() never returns a NULL pointer, nor it was
initialized under a condition branch. Removing NULL, might
save one instruction, which requires zeroing the register
before setting its initial value.
Now takes constants with human-readable names instead of
Win32 string table IDs, language.h is no longer needed
ui_msgbox*() no longer accepts string IDs as arguments directly,
plat_get_string() must be explicitly called to retrieve the string
Remove functions no longer defined or used on any plat/UI
Remove the old non-multi-monitor-aware plat_resize() and rename
plat_resize_monitor() to plat_resize()
* OpenAL backend is enabled by default on Haiku
* bswap include now makes use of builtins if they exist
* Use a local fgetws method for Haiku to avoid crashes
* OpenGL renderers are completely disabled on Haiku (they do not work)
* Software renderer is a widget, not a window on Haiku (fixes blank screen)
* Add option to disable System MIDI at compile time