- EMSCRIPTEN/OPENAL: Make openal default audio driver
- INPUT: Combo hold + 'enable_hotkey' correction. Fixed issue with having menu toggle hold combo in different button than 'enable_hotkey', which caused 'enable_hotkey' to also act as menu toggle if held long enough, and simplified and unified duplicate code in start+select holds to a single function.
- INPUT: input_keyboard_event: Don't check hotkey binds when device is RETRO_DEVICE_POINTER
- INPUT: Add input_keymaps_translate_rk_to_ascii() for correct character input to input_keyboard_event
- INPUT: input_overlay_poll: Delay clearing INPUT_OVERLAY_BLOCKED flag until there is no overlay input (Avoids stray input after osk_toggle)
- INPUT: Send keyboard events for modifiers before other keys (for correct modifier+key input if hitboxes overlap)
- INPUT: Remember currently set keyboard mapping bits during same config read, because otherwise customized keybinds can get cleared out of the bits on the next iteration, causing keyboard events to get passed to the core when they should get blocked.
- INPUT/LINUX/UDEV: Log mouse devices in info level
- INPUT/LINUX/UDEV: First working version of udev driver with touchscreen support and gestures.
- INPUT/WAYLAND: Add wayland to input driver list
- INPUT/MENU: move port X binds into retropad binds submenu and add appropriate help text and sublabels to discourage people from messing around in there unnecessarily
- INPUT/MENU: Add menu icons to 'RetroPad Binds'
- INPUT/OVERLAY: Add overlay parameter to control x/y separation in auto-scale mode
and osk_toggle hotkey. Use overlay caching for osk_toggle.
- INPUT/OVERLAY: Overlay Caching. Adds overlay_cache_ptr to keep a disabled overlay in memory when it's expected to be shown again.
Most input_overlay_deinit calls are replaced with input_overlay_unload, which caches the overlay unless initing/deiniting core or disabling overlays.
Loading a cached overlay is done as a swap, intended for osk_toggle.
- INPUT/OVERLAY: Add input_overlay_check_mouse_cursor() to preserve show/hide mouse behavior
- INPUT/OVERLAY: Don't apply input_overlay_show_mouse_cursor in windowed mode (controlled by mouse grab only)
- INPUT/REMAPPING: Stop always reseting to defaults on remap delete
- INPUT/SDL: Fix rumble on PS4/PS5 controllers connected via bluetooth
- IOS: JIT support in iOS
- IOS: Use AltKit to try to enable JIT on iOS
- IOS: Fix thumbnails in history on iOS
- IOS: Enable option to rumble iOS device instead of controller
- IOS: Fix including audio/video filters on iOS
- IOS: Haptic feedback for overlay on iOS
- IOS: On iOS, stop/start audio on interruptions
- IOS: Add accelerometer and gyroscope sensors to iOS
- IOS: iOS needs to targets 13 due to some keyboard emulation, but tvOS does not
- IOS/TVOS: When updating playlist with detected core path, used resolved core path
- IOS/TVOS: Implement memory queries on iOS/tvOS
- IOS/TVOS: Netplay discovery through bonjour/mdns
- IOS/TVOS: Improve some log formatting on iOS/tvOS
- IOS/TVOS: Preliminary MetricKit support on iOS/tvOS
- TVOS: Fix analog stick handling after adding Siri remote tap support
- TVOS: Also handle tap events on tvOS
- TVOS: Back up retroarch.cfg to NSUserDefaults on tvOS.
- TVOS: tvOS has its own beautiful screensavers and I would like them
- TVOS: tvOS Siri remote handling
It's not really usable as a game controller, but it is good for going
through the menu as a simple LRUD.
This also adds better support for names of mFI controllers, as well as
being able to do the expected tvOS behavior of "backing out" of the app.
- TVOS: AltKit support for tvOS
- LANGEXTRA: Enable language autodetect for all builds with LANGEXTRA
- LIBRETRO: Add new context hardware render enums - enables autodetection of DX12 for PS2 core
- LIBRETRO: Add API to check JIT availability on iOS
- LIBRETRO: Allow RETRO_ENVIRONMENT_SET_MEMORY_MAPS also after core startup. Change the comment in libretro.h about the removed limit and handle the environment call during core runtime in RetroArch.
- LIBRETRO/MICROPHONE: Add new API for microphone support.
- LINUX: Input driver fix 8+ joypads. It was reported that controllers beyond 8 worked only partially (analogs yes, but not buttons), and the found fix was also confirmed.
- MENU: Start directory browsing from current value
- MENU: Fix menu toggle combo hold with same 'enable_hotkey'
- MENU: Add menu scroll home+end actions
- MENU: Menu navigation acceleration adjustments
- MENU: Show playlist history/favorites icons by default
- MENU: Remove advanced option flag from video rotation + orientation
- MENU: Combine audio resampler menu with audio output menu
- MENU: Microphone menu cleanup
- MENU: Add missing menu visibility option for content dir override
- MENU: Fix menu refresh in action_ok_network
- MENU: Video settings menu cleanup
- MENU: Try to declutter Quick Menu
- MENU: Change network port menu options to 'allow_input' mode
- MOBILE: On mobile in portrait mode, don't override custom viewport
- NETWORKING: Enhance netpacket interface
- NETWORKING/NETPLAY: Enable core host to refuse connecting new players to limit the number of connected players
- NETWORKING/NETPLAY: Enable a core to flush outgoing packets and read incoming packets without waiting for the next frame (can be used for lower latency or blocking reads)
- OPENDINGUX/RG350: Enable networking for RG350
- OPENGL/WAYLAND: Add frame callback after egl_swap_buffers to improve latency when max_swapchain <= 2
- OSD/STATISTICS: Show current video + audio drivers in statistics
- OSD/STATISTICS: Ensure statistics text is aligned left
- OSX/MACOS: Fix steam OSX core path
- OSX/MACOS: Add HAVE_STDIN_CMD support
- OSX/MACOS: fix mouse grab in windowed mode
- OSX/MACOS/IOS/TVOS: Enable SSL in macos/ios/tvos builds
- PS3/PSL1GHT: Add overlay support
- RUNLOOP: Don't count frames while paused
- SERENITYOS: Add SerenityOS to the list of supported operating systems
- SCANNER: Improve scanner console output
- SCANNER: More scanner console output coloring
- SCANNER: Improve CLI scan console output
- SCANNER: Add content import/scan via CLI
- SCANNER/PS1: Serial extraction is now considered a failure if PSX.EXE is found, allowing CRC fallback and actually fixing the game scanning
- VIDEO: Correct rotated core provided aspect ratio
- VIDEO: Minor adjustments to refresh rate switch behavior
- VIDEO: Fix windowed viewport with libretro rotation
- VIDEO/SDL2: Use "nearest" scaling in menus
- TASKS: Fix corrupt task progress percentage
- XVIDEO/MENU: Add menu support to xvideo gfx driver, making it usable
- VULKAN: Ignore Fast-Forward Frameskip option
- VULKAN/KHR_DISPLAY: Support screen refresh rate with Vulkan KHR_Display context